From e4b773b5936ec1fa3747fd3d35b85799773d5f39 Mon Sep 17 00:00:00 2001
From: liding <756868258@qq.com>
Date: 星期四, 02 四月 2026 14:51:39 +0800
Subject: [PATCH] first commit
---
__MACOSX/src/views/sms/smsConfig/._index.vue | 0
src/layout/index.vue | 127
src/api/vehicle.js | 155
src/views/mobile/components/WriteOff.vue | 150
__MACOSX/src/components/ThemePicker/._index.vue | 0
__MACOSX/src/filters/._commFilter.js | 0
__MACOSX/src/views/login/._index.vue | 0
__MACOSX/src/assets/401_images/._401.gif | 0
__MACOSX/plop-templates/._component | 0
src/icons/svg/wechat.svg | 1
src/icons/svg/theme.svg | 1
__MACOSX/src/icons/svg/._skill.svg | 0
src/components/uploadPicture/internal.js | 80
__MACOSX/src/components/FormGenerator/components/parser/example/._Index.vue | 0
__MACOSX/src/icons/._index.js | 0
__MACOSX/src/components/Tinymce/._components | 0
public/static/tinymce4.7.5/skins/lightgray/skin.min.css.map | 1
__MACOSX/src/components/._Upload | 0
yarn.lock | 13212 +++++++++++++++
src/components/TopNav/index.vue | 5
__MACOSX/src/api/._vehicle.js | 0
__MACOSX/._LICENSE | 0
src/views/vehicle/registration/index.vue | 784
__MACOSX/src/components/FormGenerator/components/render/._render.js | 0
__MACOSX/src/views/sms/smsConfig/components/._forgetPassword.vue | 0
__MACOSX/src/components/FormGenerator/styles/._mixin.scss | 0
__MACOSX/src/components/._uploadPicture | 0
src/views/mobile/orderCancellation/index.vue | 169
__MACOSX/src/icons/svg/._icon.svg | 0
__MACOSX/._tests | 0
__MACOSX/src/views/login/._mixins.js | 0
__MACOSX/build/._index.js | 0
__MACOSX/src/libs/._modal-icon.js | 0
public/static/tinymce4.7.5/skins/lightgray/fonts/tinymce.eot | 0
__MACOSX/src/components/FormGenerator/styles/._home.scss | 0
public/index.html | 23
__MACOSX/src/icons/svg/._link.svg | 0
__MACOSX/src/components/._echartsNew | 0
__MACOSX/src/libs/._modal-coupon.js | 0
__MACOSX/tests/unit/utils/._formatTime.spec.js | 0
__MACOSX/src/components/FormGenerator/components/render/._slots | 0
__MACOSX/public/static/tinymce4.7.5/._tinymce.min.js | 0
__MACOSX/public/static/tinymce4.7.5/skins/lightgray/fonts/._tinymce-small.ttf | 0
src/utils/constants.js | 103
__MACOSX/src/layout/components/Settings/._index.vue | 0
src/assets/imgs/wechat_h5.png | 0
src/api/configApi.js | 111
src/views/login/auth-redirect.vue | 18
__MACOSX/src/components/FormGenerator/utils/._index.js | 0
src/views/systemSetting/administratorAuthority/adminList/edit.vue | 323
src/plugins/download.js | 73
__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-wink.gif | 0
__MACOSX/src/assets/imgs/._wutu.png | 0
__MACOSX/src/utils/._settingMer.js | 0
__MACOSX/src/components/._TopNav | 0
__MACOSX/src/icons/svg/._message.svg | 0
__MACOSX/src/api/._wxApi.js | 0
__MACOSX/src/assets/404_images/._404_cloud.png | 0
__MACOSX/src/views/._mobile | 0
src/icons/svg/dashboard.svg | 1
__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-surprised.gif | 0
__MACOSX/src/components/FormGenerator/components/render/slots/._el-checkbox-group.js | 0
__MACOSX/src/components/ErrorLog/._index.vue | 0
__MACOSX/src/router/modules/._mobile.js | 0
__MACOSX/src/views/sms/._index.vue | 0
__MACOSX/src/layout/._.DS_Store | 0
__MACOSX/src/views/mobile/._orderCancellation | 0
__MACOSX/public/static/tinymce4.7.5/plugins/visualblocks/css/._visualblocks.css | 0
__MACOSX/src/._assets | 0
__MACOSX/src/api/._systemFormConfig.js | 0
__MACOSX/src/components/FormGenerator/components/parser/._index.js | 0
__MACOSX/src/layout/components/._TagsView | 0
__MACOSX/src/views/systemSetting/administratorAuthority/._identityManager | 0
__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-sealed.gif | 0
__MACOSX/src/layout/components/Sidebar/._SidebarItem.vue | 0
src/icons/svg/guide.svg | 1
__MACOSX/src/components/._ThemePicker | 0
__MACOSX/src/components/Tinymce/._plugins.js | 0
__MACOSX/src/components/._SvgIcon | 0
__MACOSX/src/assets/js/._media_750.js | 0
__MACOSX/src/views/._vehicle | 0
__MACOSX/plop-templates/component/._prompt.js | 0
__MACOSX/src/icons/svg/._qq.svg | 0
__MACOSX/src/icons/svg/._chart.svg | 0
__MACOSX/public/static/tinymce4.7.5/._plugins | 0
__MACOSX/src/assets/custom-theme/._index.css | 0
src/assets/custom-theme/fonts/element-icons.ttf | 0
src/styles/mixin.scss | 66
__MACOSX/src/assets/imgs/._pc.png | 0
__MACOSX/src/components/uploadPicture/._internal.js | 0
postcss.config.js | 5
__MACOSX/src/assets/._404_images | 0
src/api/systemFormConfig.js | 147
src/components/FormGenerator/components/tinymce/index.vue | 93
src/api/role.js | 120
src/views/mobile/components/Loading.vue | 30
public/static/tinymce4.7.5/plugins/emoticons/img/smiley-smile.gif | 0
src/components/FormGenerator/index/index.vue | 22
__MACOSX/._vue.config.js | 0
__MACOSX/public/static/tinymce4.7.5/plugins/codesample/css/._prism.css | 0
src/assets/iconfont/iconfont.js | 1
__MACOSX/src/layout/._mixin | 0
src/views/maintain/user/index.vue | 164
__MACOSX/src/views/systemSetting/._notification | 0
__MACOSX/public/._static | 0
__MACOSX/src/components/FormGenerator/components/render/slots/._el-button.js | 0
src/components/uploadPicture/index.vue | 938 +
__MACOSX/src/views/mobile/orderCancellation/._index.vue | 0
src/components/HeaderSearch/index.vue | 185
src/components/RightPanel/index.vue | 149
src/views/systemSetting/setting/index.vue | 196
public/static/tinymce4.7.5/plugins/emoticons/img/smiley-yell.gif | 0
package.json | 119
src/config/settings.js | 10
src/assets/imgs/app.png | 0
src/views/mobile/orderCancellation/hexiaoInfo.vue | 429
__MACOSX/src/assets/imgs/._app.png | 0
__MACOSX/._public | 0
tests/unit/utils/validate.spec.js | 28
__MACOSX/src/components/._Tinymce | 0
public/static/tinymce4.7.5/plugins/emoticons/img/smiley-laughing.gif | 0
src/store/modules/settings.js | 45
__MACOSX/src/components/RightPanel/._index.vue | 0
public/static/tinymce4.7.5/langs/zh_CN.js | 230
__MACOSX/src/components/TopNav/._index.vue | 0
__MACOSX/src/assets/._js | 0
__MACOSX/src/filters/._wx.js | 0
__MACOSX/src/views/._error-page | 0
__MACOSX/src/components/._echarts | 0
src/icons/svg/people.svg | 1
src/store/modules/user.js | 185
src/icons/svg/bug.svg | 1
src/icons/svg/form.svg | 1
__MACOSX/src/icons/svg/._password.svg | 0
__MACOSX/src/views/maintain/devconfig/._combineEdit.vue | 0
src/layout/components/Sidebar/Link.vue | 36
src/components/FormGenerator/utils/loadMonaco.js | 42
__MACOSX/src/._libs | 0
__MACOSX/src/icons/svg/._example.svg | 0
src/components/ParentView/index.vue | 3
__MACOSX/plop-templates/view/._index.hbs | 0
__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-money-mouth.gif | 0
src/plugins/index.js | 17
tests/unit/components/SvgIcon.spec.js | 22
src/utils/index.js | 433
src/icons/svg/component.svg | 1
public/static/tinymce4.7.5/plugins/codesample/css/prism.css | 138
__MACOSX/src/assets/js/._canvas-nest.min.js | 0
__MACOSX/src/icons/svg/._clipboard.svg | 0
src/views/systemSetting/administratorAuthority/index.vue | 15
__MACOSX/src/assets/imgs/._mobilefoot.png | 0
__MACOSX/src/views/error-log/._components | 0
__MACOSX/src/assets/imgs/._weixin.png | 0
__MACOSX/src/components/HeaderSearch/._index.vue | 0
src/components/FormGenerator/utils/db.js | 67
__MACOSX/src/views/sms/smsConfig/components/._tableList.vue | 0
__MACOSX/src/layout/components/Sidebar/._Link.vue | 0
src/directive/index.js | 33
__MACOSX/plop-templates/view/._prompt.js | 0
__MACOSX/src/views/vehicle/queuing/._index.vue | 0
public/static/tinymce4.7.5/plugins/emoticons/img/smiley-innocent.gif | 0
__MACOSX/src/plugins/._auth.js | 0
src/utils/newToExcel.js | 34
__MACOSX/src/directive/permission/._hasPermi.js | 0
public/static/tinymce4.7.5/skins/lightgray/fonts/tinymce.ttf | 0
__MACOSX/src/layout/components/._index.js | 0
src/icons/svg/fullscreen.svg | 1
src/icons/svg/email.svg | 1
src/assets/iconfont/iconfont.svg | 713
__MACOSX/src/views/maintain/user/._index.vue | 0
__MACOSX/src/components/Tinymce/._toolbar.js | 0
src/icons/svg/search.svg | 1
__MACOSX/src/utils/._utils.js | 0
__MACOSX/src/components/._iconFrom | 0
src/components/FormGenerator/index/JsonDrawer.vue | 158
src/icons/svg/zip.svg | 1
__MACOSX/src/directive/dialog/._drag.js | 0
__MACOSX/src/utils/._ZBKJIutil.js | 0
__MACOSX/plop-templates/._utils.js | 0
__MACOSX/public/static/tinymce4.7.5/skins/._lightgray | 0
__MACOSX/src/views/maintain/devconfig/._configCategotyEdit.vue | 0
src/icons/svg/star.svg | 1
__MACOSX/src/views/._login | 0
public/favicon.ico | 0
src/components/FormGenerator/preview/main.js | 59
public/static/tinymce4.7.5/plugins/emoticons/img/smiley-embarassed.gif | 0
src/libs/public.js | 59
src/utils/get-page-title.js | 20
__MACOSX/src/icons/svg/._pdf.svg | 0
src/permission.js | 77
__MACOSX/src/._App.vue | 0
src/utils/scroll-to.js | 68
src/utils/aes.js | 30
__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-cool.gif | 0
__MACOSX/src/vendor/._Export1Excel.js | 0
__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-foot-in-mouth.gif | 0
src/plugins/modal.js | 75
__MACOSX/src/icons/svg/._fullscreen.svg | 0
src/main.js | 219
tests/unit/utils/parseTime.spec.js | 32
__MACOSX/src/icons/svg/._shopping.svg | 0
__MACOSX/src/views/maintain/._index.vue | 0
src/layout/components/index.js | 5
src/components/Tinymce/dynamicLoadScript.js | 59
__MACOSX/src/assets/imgs/._scan.gif | 0
__MACOSX/src/views/mobile/orderCancellation/._hexiao.vue | 0
src/layout/components/Navbar.vue | 240
__MACOSX/src/styles/._mixin.scss | 0
__MACOSX/public/static/tinymce4.7.5/skins/lightgray/fonts/._tinymce.svg | 0
__MACOSX/src/components/._Sticky | 0
__MACOSX/src/icons/svg/._table.svg | 0
__MACOSX/src/api/._configApi.js | 0
__MACOSX/src/views/systemSetting/administratorAuthority/identityManager/._edit.vue | 0
__MACOSX/src/components/._Screenfull | 0
__MACOSX/tests/unit/utils/._parseTime.spec.js | 0
__MACOSX/src/api/._role.js | 0
jest.config.js | 24
src/views/mobile/orderCancellation/hexiao.vue | 137
src/api/roleApi.js | 32
src/layout/components/Sidebar/SidebarItem.vue | 94
src/assets/imgs/line.jpg | 0
__MACOSX/src/router/modules/._maintain.js | 0
__MACOSX/src/icons/svg/._404.svg | 0
src/assets/imgs/over.svg | 5
__MACOSX/src/views/sms/._smsConfig | 0
src/store/modules/permission.js | 107
src/utils/validate.js | 176
src/utils/permission.js | 61
src/directive/permission/hasRole.js | 33
__MACOSX/src/components/echartsNew/._index.vue | 0
__MACOSX/src/utils/._permission.js | 0
__MACOSX/src/components/FormGenerator/components/._SvgIcon | 0
src/assets/iconfont/iconfont.eot | 0
src/api/authInformation.js | 41
src/components/echartsNew/index.vue | 71
__MACOSX/src/components/uploadPicture/._index.vue | 0
public/static/tinymce4.7.5/plugins/emoticons/img/smiley-cool.gif | 0
__MACOSX/src/components/Share/._DropdownMenu.vue | 0
__MACOSX/src/components/._PanThumb | 0
README.ZBKJ.md | 18
__MACOSX/src/icons/svg/._edit.svg | 0
src/assets/iconfont/iconfont.woff2 | 0
__MACOSX/tests/unit/utils/._validate.spec.js | 0
src/api/sms.js | 215
src/icons/svg/edit.svg | 1
src/components/FormGenerator/components/generator/css.js | 18
__MACOSX/src/icons/svg/._education.svg | 0
src/libs/timeOptions.js | 56
__MACOSX/src/views/sms/._smsMessage | 0
src/components/FormGenerator/components/parser/example/Index.vue | 264
src/settings.js | 50
__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-yell.gif | 0
src/utils/error-log.js | 44
public/static/tinymce4.7.5/skins/lightgray/skin.min.css | 1
src/filters/index.js | 83
__MACOSX/tests/._unit | 0
__MACOSX/src/._styles | 0
src/icons/svg/drag.svg | 1
src/views/maintain/devconfig/combineEdit.vue | 136
src/components/Share/DropdownMenu.vue | 103
src/components/ErrorLog/index.vue | 78
__MACOSX/src/assets/iconfont/._iconfont.svg | 0
__MACOSX/src/assets/imgs/._wechat_h5.png | 0
src/components/Sticky/index.vue | 91
__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-kiss.gif | 0
tests/unit/.eslintrc.js | 5
__MACOSX/src/components/._qrcode | 0
__MACOSX/src/plugins/._index.js | 0
__MACOSX/src/components/FormGenerator/components/generator/._config.js | 0
__MACOSX/src/icons/svg/._drag.svg | 0
jsconfig.json | 9
src/components/FormGenerator/utils/loadTinymce.js | 26
__MACOSX/public/static/tinymce4.7.5/skins/lightgray/fonts/._tinymce.ttf | 0
src/components/UploadExcel/index.vue | 138
public/static/tinymce4.7.5/skins/lightgray/img/object.gif | 0
__MACOSX/src/icons/svg/._tree-table.svg | 0
src/directive/dialog/drag.js | 64
src/components/FormGenerator/components/generator/ruleTrigger.js | 19
__MACOSX/public/static/tinymce4.7.5/skins/lightgray/img/._loader.gif | 0
src/views/error-log/index.vue | 33
src/layout/mixin/ResizeHandler.js | 55
__MACOSX/src/._vendor | 0
__MACOSX/src/components/._TimeSelect | 0
babel.config.js | 10
src/components/Upload/uploadFile.vue | 69
__MACOSX/src/router/modules/._operation.js | 0
__MACOSX/src/views/systemSetting/administratorAuthority/._adminList | 0
src/vendor/Export2Excel.js | 230
src/icons/svg/list.svg | 1
src/plugins/auth.js | 44
__MACOSX/src/icons/svg/._language.svg | 0
__MACOSX/src/views/maintain/devconfig/._combinedDataEdit.vue | 0
__MACOSX/src/utils/._request.js | 0
__MACOSX/src/views/systemLog/._index.vue | 0
src/icons/svg/chart.svg | 1
__MACOSX/src/views/error-page/._404.vue | 0
src/styles/element-variables.scss | 31
__MACOSX/src/._components | 0
public/static/tinymce4.7.5/plugins/emoticons/img/smiley-tongue-out.gif | 0
public/static/tinymce4.7.5/skins/lightgray/fonts/tinymce-small.eot | 0
__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-laughing.gif | 0
src/views/vehicle/queuing/edit.vue | 111
__MACOSX/src/._settings.js | 0
__MACOSX/src/api/._systemGroup.js | 0
__MACOSX/src/views/redirect/._index.vue | 0
src/components/Tinymce/components/EditorImage.vue | 47
__MACOSX/src/directive/._dialog | 0
__MACOSX/src/filters/._index.js | 0
src/components/FormGenerator/components/render/slots/el-checkbox-group.js | 13
src/assets/imgs/bg.jpg | 0
__MACOSX/src/views/error-log/._index.vue | 0
src/utils/ZBKJIutil.js | 111
src/api/user.js | 390
src/assets/custom-theme/index.css | 1
src/icons/svg/size.svg | 1
src/router/index.js | 141
__MACOSX/src/components/uploadPicture/forGenrator/._index.vue | 0
src/views/vehicle/registration/edit.vue | 586
__MACOSX/src/utils/._error-log.js | 0
__MACOSX/src/components/FormGenerator/components/parser/._README.md | 0
__MACOSX/src/icons/svg/._people.svg | 0
src/assets/404_images/404.png | 0
__MACOSX/src/utils/._scroll-to.js | 0
__MACOSX/src/components/FormGenerator/components/render/slots/._el-radio-group.js | 0
public/static/tinymce4.7.5/plugins/emoticons/img/smiley-sealed.gif | 0
__MACOSX/src/assets/._401_images | 0
src/styles/btn.scss | 99
src/components/FormGenerator/utils/icon.json | 1
src/vendor/Blob.js | 188
__MACOSX/src/components/userList/._index.vue | 0
__MACOSX/public/static/._tinymce4.7.5 | 0
src/assets/imgs/mobilehead.png | 0
__MACOSX/src/icons/svg/._guide.svg | 0
__MACOSX/src/views/._maintain | 0
public/static/tinymce4.7.5/plugins/emoticons/img/smiley-undecided.gif | 0
__MACOSX/src/components/Tinymce/._dynamicLoadScript.js | 0
__MACOSX/src/components/UploadExcel/._index.vue | 0
src/components/FormGenerator/components/SvgIcon/index.vue | 73
public/static/tinymce4.7.5/skins/lightgray/fonts/tinymce.svg | 131
src/views/sms/smsConfig/components/forgetPassword.vue | 238
__MACOSX/src/components/Screenfull/._index.vue | 0
src/assets/404_images/404_cloud.png | 0
__MACOSX/src/components/FormGenerator/._utils | 0
__MACOSX/src/views/maintain/._devconfig | 0
__MACOSX/src/vendor/._Blob.js | 0
__MACOSX/src/utils/._auth.js | 0
src/libs/loading.js | 48
__MACOSX/src/libs/._modal-attr.js | 0
__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-cry.gif | 0
__MACOSX/src/assets/imgs/._mobilehead.png | 0
__MACOSX/src/components/FormGenerator/components/SvgIcon/._index.vue | 0
src/App.vue | 11
__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-tongue-out.gif | 0
__MACOSX/src/layout/components/TagsView/._ScrollPane.vue | 0
src/assets/imgs/scanCode.png | 0
__MACOSX/src/views/systemSetting/administratorAuthority/adminList/._index.vue | 0
__MACOSX/src/components/FormGenerator/index/._FormDrawer.vue | 0
src/icons/svg/nested.svg | 1
__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-embarassed.gif | 0
__MACOSX/src/components/FormGenerator/utils/._icon.json | 0
__MACOSX/src/styles/._index.scss | 0
src/components/FormGenerator/components/generator/drawingDefalut.js | 37
__MACOSX/._build | 0
src/styles/sidebar.scss | 211
__MACOSX/src/components/FormGenerator/components/tinymce/._index.js | 0
src/components/FormGenerator/components/tinymce/index.js | 3
src/components/html5qrcode/index.vue | 96
__MACOSX/src/._filters | 0
__MACOSX/public/static/tinymce4.7.5/plugins/._emoticons | 0
src/api/systemConfig.js | 121
src/assets/imgs/routine.png | 0
src/components/FormGenerator/index/CodeTypeDialog.vue | 110
src/filters/wx.js | 39
__MACOSX/src/components/Tinymce/components/._EditorImage.vue | 0
src/components/userList/index.vue | 157
src/icons/svg/pdf.svg | 1
__MACOSX/src/assets/imgs/._over.svg | 0
__MACOSX/src/styles/._element-ui.scss | 0
src/icons/svg/excel.svg | 1
__MACOSX/src/directive/dialog/._dragHeight.js | 0
src/views/maintain/devconfig/combinedData.vue | 188
__MACOSX/tests/unit/._utils | 0
src/views/sms/smsPay/index.vue | 305
src/icons/svg/table.svg | 1
__MACOSX/src/components/FormGenerator/components/generator/._js.js | 0
src/views/sms/smsConfig/components/register.vue | 225
__MACOSX/src/utils/._open-window.js | 0
src/icons/svg/eye.svg | 1
__MACOSX/._yarn.lock | 0
__MACOSX/._babel.config.js | 0
__MACOSX/public/static/tinymce4.7.5/skins/lightgray/._img | 0
src/components/FormGenerator/components/parser/README.md | 17
__MACOSX/src/assets/iconfont/._iconfont.woff | 0
__MACOSX/src/components/._html5qrcode | 0
src/components/uploadPicture/forGenrator/index.vue | 149
__MACOSX/src/api/._roleApi.js | 0
src/utils/clipboard.js | 42
__MACOSX/public/static/tinymce4.7.5/._skins | 0
__MACOSX/src/assets/custom-theme/._fonts | 0
src/views/sms/smsConfig/index.vue | 329
__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-undecided.gif | 0
__MACOSX/src/components/._RightPanel | 0
__MACOSX/src/assets/._imgs | 0
__MACOSX/src/api/._systemadmin.js | 0
__MACOSX/src/assets/iconfont/._iconfont.woff2 | 0
src/libs/modal-coupon.js | 46
__MACOSX/src/views/maintain/devconfig/._combineDataList.vue | 0
__MACOSX/public/static/tinymce4.7.5/skins/lightgray/fonts/._tinymce.eot | 0
__MACOSX/src/icons/svg/._international.svg | 0
src/api/req.js | 33
src/components/Tinymce/index.vue | 230
__MACOSX/src/api/._user.js | 0
src/components/FormGenerator/index/RightPanel.vue | 1033 +
__MACOSX/src/components/FormGenerator/components/._generator | 0
src/assets/imgs/pc.png | 0
build/index.js | 35
__MACOSX/src/views/maintain/formConfig/._index.vue | 0
src/icons/svg/eye-open.svg | 1
src/layout/components/AppMain.vue | 93
__MACOSX/src/api/._categoryApi.js | 0
__MACOSX/src/views/error-log/components/._ErrorTestB.vue | 0
__MACOSX/src/components/FormGenerator/components/parser/._Parser.vue | 0
__MACOSX/src/views/._systemLog | 0
src/components/FormGenerator/utils/loadBeautifier.js | 26
src/components/uploadPicture/uploadFrom/index.js | 24
__MACOSX/src/components/iconFrom/._index.vue | 0
__MACOSX/src/components/FormGenerator/components/generator/._drawingDefalut.js | 0
public/static/tinymce4.7.5/skins/lightgray/fonts/tinymce.woff | 0
__MACOSX/src/components/FormGenerator/components/tinymce/._config.js | 0
__MACOSX/src/utils/._validate.js | 0
__MACOSX/src/components/TimeSelect/._index.vue | 0
src/icons/svg/lock.svg | 1
src/store/getters.js | 28
__MACOSX/src/assets/imgs/._line.jpg | 0
__MACOSX/src/components/._customerInfo | 0
public/static/tinymce4.7.5/plugins/emoticons/img/smiley-foot-in-mouth.gif | 0
src/views/systemSetting/administratorAuthority/adminList/index.vue | 372
__MACOSX/plop-templates/store/._index.hbs | 0
__MACOSX/src/components/uploadPicture/uploadFrom/._index.vue | 0
__MACOSX/src/icons/svg/._size.svg | 0
public/static/tinymce4.7.5/skins/lightgray/fonts/tinymce-small.ttf | 0
src/components/uploadPicture/uploadFrom/index.vue | 50
__MACOSX/src/utils/._get-page-title.js | 0
src/layout/components/Sidebar/Item.vue | 30
__MACOSX/src/directive/._.DS_Store | 0
__MACOSX/._README.md | 0
__MACOSX/src/icons/svg/._nested.svg | 0
__MACOSX/src/styles/._btn.scss | 0
src/components/TimeSelect/index.vue | 57
__MACOSX/src/styles/._styles.scss | 0
src/components/qrcode/index.vue | 79
__MACOSX/src/api/._systemConfig.js | 0
__MACOSX/src/views/systemSetting/setting/._index.vue | 0
__MACOSX/src/components/FormGenerator/components/._tinymce | 0
__MACOSX/src/components/FormGenerator/components/._render | 0
src/icons/index.js | 9
__MACOSX/src/components/FormGenerator/utils/._loadMonaco.js | 0
__MACOSX/src/icons/svg/._list.svg | 0
__MACOSX/src/views/systemSetting/administratorAuthority/._index.vue | 0
__MACOSX/public/static/tinymce4.7.5/plugins/._codesample | 0
src/components/FormGenerator/styles/index.scss | 137
__MACOSX/src/plugins/._modal.js | 0
__MACOSX/src/icons/svg/._lock.svg | 0
src/vendor/Export2Zip.js | 24
src/views/error-page/401.vue | 99
__MACOSX/src/api/._system.js | 0
__MACOSX/src/views/._sms | 0
__MACOSX/src/views/error-log/components/._ErrorTestA.vue | 0
__MACOSX/src/views/._error-log | 0
src/assets/custom-theme/fonts/element-icons.woff | 0
__MACOSX/src/libs/._timeOptions.js | 0
__MACOSX/public/static/tinymce4.7.5/skins/lightgray/._fonts | 0
__MACOSX/src/components/Sticky/._index.vue | 0
__MACOSX/src/layout/components/Sidebar/._Item.vue | 0
__MACOSX/src/utils/._constants.js | 0
__MACOSX/src/layout/._index.vue | 0
src/assets/imgs/user_bg.png | 0
__MACOSX/src/router/._modules | 0
__MACOSX/._plop-templates | 0
__MACOSX/src/._views | 0
__MACOSX/src/layout/mixin/._ResizeHandler.js | 0
src/api/system.js | 57
__MACOSX/src/components/customerInfo/._index.vue | 0
__MACOSX/src/icons/svg/._zip.svg | 0
src/components/cards/index.vue | 106
src/views/systemSetting/notification/index.vue | 292
__MACOSX/src/views/systemSetting/._administratorAuthority | 0
__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-frown.gif | 0
public/static/tinymce4.7.5/skins/lightgray/fonts/tinymce-small.woff | 0
src/components/FormGenerator/components/generator/js.js | 253
__MACOSX/tests/unit/components/._Hamburger.spec.js | 0
__MACOSX/src/._config | 0
public/static/tinymce4.7.5/skins/lightgray/content.min.css | 1
src/components/FormGenerator/components/parser/ZBParser.vue | 74
src/components/FormGenerator/styles/home.scss | 271
__MACOSX/src/views/maintain/picture/._index.vue | 0
__MACOSX/src/components/FormGenerator/components/._parser | 0
__MACOSX/src/styles/._element-variables.scss | 0
__MACOSX/src/._plugins | 0
__MACOSX/src/components/._.DS_Store | 0
public/static/tinymce4.7.5/plugins/emoticons/img/smiley-cry.gif | 0
__MACOSX/src/views/sms/smsConfig/._components | 0
__MACOSX/src/views/maintain/devconfig/._configCategroy.vue | 0
public/static/tinymce4.7.5/plugins/emoticons/img/smiley-money-mouth.gif | 0
src/components/echarts/index.vue | 195
src/assets/401_images/401.gif | 0
__MACOSX/src/icons/svg/._money.svg | 0
__MACOSX/src/components/FormGenerator/index/._TreeNodeDialog.vue | 0
__MACOSX/src/views/error-page/._401.vue | 0
__MACOSX/tests/unit/._.eslintrc.js | 0
__MACOSX/src/assets/imgs/._expressi.jpg | 0
__MACOSX/src/components/FormGenerator/components/render/slots/._el-input.js | 0
__MACOSX/src/components/html5qrcode/._index.vue | 0
src/icons/svg/education.svg | 1
__MACOSX/src/views/vehicle/queuing/._edit.vue | 0
src/directive/permission/hasPermi.js | 41
src/components/FormGenerator/components/render/slots/el-upload.js | 17
__MACOSX/src/components/uploadPicture/._uploadFrom | 0
__MACOSX/src/layout/components/Sidebar/._FixiOSBug.js | 0
__MACOSX/src/filters/._user.js | 0
__MACOSX/src/components/FormGenerator/index/._CodeTypeDialog.vue | 0
__MACOSX/src/views/sms/smsConfig/components/._loginFrom.vue | 0
__MACOSX/src/components/uploadPicture/._forGenrator | 0
src/icons/svgo.yml | 22
__MACOSX/public/static/tinymce4.7.5/skins/lightgray/img/._trans.gif | 0
__MACOSX/src/icons/svg/._email.svg | 0
src/components/iconFrom/element-icons.js | 3
__MACOSX/public/static/tinymce4.7.5/skins/lightgray/._skin.min.css.map | 0
__MACOSX/src/components/._UploadExcel | 0
src/components/FormGenerator/index/IconsDialog.vue | 123
__MACOSX/src/layout/components/._Settings | 0
__MACOSX/src/directive/._copy | 0
__MACOSX/src/views/._.DS_Store | 0
__MACOSX/src/store/modules/._tagsView.js | 0
src/utils/settingMer.js | 23
__MACOSX/src/views/vehicle/registration/._printCss.js | 0
src/components/FormGenerator/components/parser/package.json | 25
src/views/maintain/picture/index.vue | 25
__MACOSX/src/views/vehicle/registration/._edit.vue | 0
__MACOSX/src/utils/._newToExcel.js | 0
__MACOSX/src/store/modules/._app.js | 0
__MACOSX/src/views/vehicle/._queuing | 0
src/views/maintain/devconfig/configCategotyEdit.vue | 151
__MACOSX/src/assets/custom-theme/fonts/._element-icons.ttf | 0
__MACOSX/src/components/._HeaderSearch | 0
__MACOSX/src/._main.js | 0
src/components/FormGenerator/components/render/render.js | 59
src/views/systemLog/index.vue | 202
__MACOSX/src/components/iconFrom/._element-icons.js | 0
__MACOSX/tests/._.DS_Store | 0
src/api/wxApi.js | 401
src/components/FormGenerator/components/parser/Parser.vue | 280
__MACOSX/src/components/Hamburger/._index.vue | 0
src/icons/svg/icon.svg | 1
src/libs/modal-icon.js | 40
plop-templates/component/prompt.js | 55
__MACOSX/src/components/FormGenerator/index/._IconsDialog.vue | 0
__MACOSX/src/assets/imgs/._head.gif | 0
__MACOSX/src/views/sms/._smsTemplate | 0
__MACOSX/public/static/tinymce4.7.5/skins/lightgray/fonts/._tinymce-small.svg | 0
__MACOSX/src/icons/svg/._bug.svg | 0
__MACOSX/src/layout/components/Sidebar/._index.vue | 0
__MACOSX/src/views/maintain/._user | 0
src/layout/components/Sidebar/Logo.vue | 101
LICENSE | 21
__MACOSX/src/components/FormGenerator/components/parser/._example | 0
__MACOSX/src/layout/components/Sidebar/._Logo.vue | 0
__MACOSX/tests/unit/components/._SvgIcon.spec.js | 0
src/icons/svg/link.svg | 1
__MACOSX/src/components/FormGenerator/components/tinymce/._zh_CN.js | 0
src/components/FormGenerator/index/ResourceDialog.vue | 114
src/views/systemSetting/administratorAuthority/identityManager/edit.vue | 234
src/views/maintain/devconfig/combineDataList.vue | 186
__MACOSX/._plopfile.js | 0
__MACOSX/src/components/FormGenerator/utils/._loadTinymce.js | 0
__MACOSX/src/store/modules/._permission.js | 0
src/assets/imgs/vehicleTopHeader.png | 0
src/views/error-page/404.vue | 237
src/components/FormGenerator/utils/loadScript.js | 60
src/assets/iconfont/iconfont.woff | 0
src/components/FormGenerator/components/render/package.json | 19
src/api/systemGroupData.js | 65
__MACOSX/src/router/._index.js | 0
__MACOSX/src/vendor/._Export2Excel.js | 0
plop-templates/store/prompt.js | 62
__MACOSX/src/icons/svg/._excel.svg | 0
__MACOSX/public/static/tinymce4.7.5/skins/lightgray/._content.min.css | 0
__MACOSX/src/components/FormGenerator/components/render/._package.json | 0
__MACOSX/src/components/._userList | 0
__MACOSX/src/utils/._index.js | 0
src/views/sms/smsConfig/components/forgetPhone.vue | 220
src/styles/transition.scss | 48
__MACOSX/src/components/FormGenerator/utils/._db.js | 0
__MACOSX/src/views/maintain/authCRMEB/._index.vue | 0
__MACOSX/src/icons/svg/._search.svg | 0
public/static/tinymce4.7.5/plugins/emoticons/img/smiley-frown.gif | 0
__MACOSX/src/assets/iconfont/._iconfont.json | 0
__MACOSX/src/layout/._components | 0
src/views/vehicle/registration/printCss.js | 92
__MACOSX/src/components/FormGenerator/index/._ResourceDialog.vue | 0
__MACOSX/tests/unit/._.DS_Store | 0
src/views/maintain/devconfig/configList.vue | 23
vue.config.js | 133
__MACOSX/plop-templates/._store | 0
src/libs/modal-attr.js | 44
src/assets/iconfont/iconfont.css | 1082 +
src/icons/svg/skill.svg | 1
src/filters/order.js | 52
__MACOSX/tests/unit/._components | 0
src/views/maintain/devconfig/configCategroy.vue | 202
src/api/systemSetting.js | 118
__MACOSX/src/views/sms/smsTemplate/._index.vue | 0
__MACOSX/src/icons/svg/._form.svg | 0
__MACOSX/src/views/sms/smsConfig/components/._forgetPhone.vue | 0
src/icons/svg/exit-fullscreen.svg | 1
__MACOSX/src/views/mobile/components/._WriteOff.vue | 0
src/store/index.js | 34
src/icons/svg/qq.svg | 1
__MACOSX/plop-templates/._view | 0
__MACOSX/src/assets/imgs/._vehicleTopHeader.png | 0
src/icons/svg/documentation.svg | 1
__MACOSX/src/views/login/._auth-redirect.vue | 0
__MACOSX/src/assets/._.DS_Store | 0
src/components/Tinymce/toolbar.js | 6
src/components/FormGenerator/components/tinymce/config.js | 8
src/views/error-log/components/ErrorTestB.vue | 11
src/libs/wechat.js | 184
tests/unit/utils/formatTime.spec.js | 29
__MACOSX/src/icons/svg/._component.svg | 0
src/icons/svg/shopping.svg | 1
__MACOSX/src/views/maintain/._formConfig | 0
__MACOSX/public/static/tinymce4.7.5/plugins/._visualblocks | 0
src/utils/open-window.js | 35
__MACOSX/._README.ZBKJ.md | 0
__MACOSX/src/components/FormGenerator/._preview | 0
__MACOSX/src/utils/._parsing.js | 0
__MACOSX/src/store/modules/._user.js | 0
__MACOSX/src/views/mobile/._components | 0
src/views/vehicle/queuing/index.vue | 836
src/layout/components/Sidebar/index.vue | 65
__MACOSX/._jest.config.js | 0
src/styles/index.scss | 211
__MACOSX/src/components/FormGenerator/index/._DraggableItem.vue | 0
plop-templates/view/index.hbs | 26
src/icons/svg/language.svg | 1
__MACOSX/src/assets/iconfont/._iconfont.eot | 0
__MACOSX/src/styles/._sidebar.scss | 0
src/icons/svg/clipboard.svg | 1
__MACOSX/src/components/FormGenerator/._index | 0
src/assets/imgs/mobilefoot.png | 0
__MACOSX/src/components/FormGenerator/index/._Home.vue | 0
src/components/Screenfull/index.vue | 61
__MACOSX/src/components/._ParentView | 0
src/icons/svg/example.svg | 1
__MACOSX/src/assets/._custom-theme | 0
tests/unit/components/Hamburger.spec.js | 18
src/icons/svg/tree.svg | 1
__MACOSX/src/components/PanThumb/._index.vue | 0
__MACOSX/src/components/FormGenerator/components/generator/._css.js | 0
__MACOSX/src/views/mobile/orderCancellation/._queryResult.vue | 0
src/store/modules/errorLog.js | 38
src/icons/svg/password.svg | 1
__MACOSX/src/components/FormGenerator/index/._index.vue | 0
src/assets/iconfont/iconfont.json | 1619 +
src/components/PanThumb/index.vue | 142
__MACOSX/public/static/tinymce4.7.5/._langs | 0
__MACOSX/src/icons/._svgo.yml | 0
__MACOSX/src/router/modules/._custom.js | 0
__MACOSX/src/views/mobile/._auth-send | 0
__MACOSX/src/assets/imgs/._scanCode.png | 0
__MACOSX/src/._api | 0
src/components/FormGenerator/styles/mixin.scss | 33
src/layout/components/TagsView/ScrollPane.vue | 85
__MACOSX/src/config/._settings.js | 0
__MACOSX/src/views/systemSetting/notification/._index.vue | 0
__MACOSX/src/styles/._variables.scss | 0
__MACOSX/src/icons/svg/._eye.svg | 0
__MACOSX/src/components/FormGenerator/utils/._loadScript.js | 0
__MACOSX/src/views/systemSetting/administratorAuthority/identityManager/._index.vue | 0
__MACOSX/src/views/mobile/components/._Loading.vue | 0
src/components/FormGenerator/index/TreeNodeDialog.vue | 158
__MACOSX/public/._index.html | 0
__MACOSX/public/static/tinymce4.7.5/skins/lightgray/._skin.min.css | 0
plop-templates/component/index.hbs | 26
__MACOSX/src/icons/svg/._documentation.svg | 0
__MACOSX/plop-templates/component/._index.hbs | 0
__MACOSX/src/assets/custom-theme/fonts/._element-icons.woff | 0
__MACOSX/src/icons/svg/._exit-fullscreen.svg | 0
src/router/modules/maintain.js | 88
__MACOSX/src/components/FormGenerator/components/render/slots/._el-select.js | 0
__MACOSX/._src | 0
src/utils/utils.js | 78
__MACOSX/src/icons/svg/._star.svg | 0
src/api/systemGroup.js | 152
__MACOSX/src/utils/._clipboard.js | 0
src/components/Tinymce/plugins.js | 7
__MACOSX/src/views/sms/smsMessage/._index.vue | 0
src/assets/iconfont/iconfont.ttf | 0
src/icons/svg/message.svg | 1
public/static/tinymce4.7.5/skins/lightgray/img/anchor.gif | 0
public/static/tinymce4.7.5/skins/lightgray/content.inline.min.css | 1
plop-templates/store/index.hbs | 16
__MACOSX/src/views/._systemSetting | 0
src/views/login/mixins.js | 11
__MACOSX/src/icons/svg/._theme.svg | 0
__MACOSX/src/components/FormGenerator/._components | 0
src/views/sms/smsMessage/index.vue | 74
__MACOSX/public/._preview.html | 0
__MACOSX/src/api/._systemSetting.js | 0
src/views/maintain/index.vue | 15
__MACOSX/src/store/modules/._errorLog.js | 0
public/static/tinymce4.7.5/tinymce.min.js | 2
src/icons/svg/international.svg | 1
__MACOSX/public/static/tinymce4.7.5/plugins/visualblocks/._css | 0
__MACOSX/src/components/FormGenerator/styles/._index.scss | 0
src/assets/js/canvas-nest.min.js | 85
src/views/maintain/formConfig/edit.vue | 56
__MACOSX/src/store/._index.js | 0
__MACOSX/public/static/tinymce4.7.5/skins/lightgray/fonts/._tinymce-mobile.woff | 0
src/styles/variables.scss | 59
src/views/sms/index.vue | 13
__MACOSX/src/assets/imgs/._bg.jpg | 0
src/assets/imgs/pricetitle.jpg | 0
src/components/iconFrom/index.vue | 106
src/directive/dialog/dragHeight.js | 34
__MACOSX/src/layout/components/TagsView/._index.vue | 0
__MACOSX/src/views/maintain/devconfig/._configList.vue | 0
__MACOSX/src/views/maintain/formConfig/._edit.vue | 0
src/components/Breadcrumb/index.vue | 82
src/store/modules/tagsView.js | 170
__MACOSX/src/utils/._aes.js | 0
src/components/FormGenerator/components/render/slots/el-radio-group.js | 13
__MACOSX/src/components/Tinymce/._index.vue | 0
__MACOSX/src/assets/imgs/._pricetitle.jpg | 0
__MACOSX/src/components/._ErrorLog | 0
src/icons/svg/tab.svg | 1
__MACOSX/src/components/._Share | 0
src/views/login/index.vue | 656
__MACOSX/src/assets/iconfont/._iconfont.js | 0
__MACOSX/src/libs/._dialog.js | 0
src/components/FormGenerator/components/generator/config.js | 708
__MACOSX/src/icons/svg/._tree.svg | 0
public/preview.html | 38
__MACOSX/src/assets/imgs/._user_bg.png | 0
__MACOSX/src/views/vehicle/registration/._index.vue | 0
src/router/modules/mobile.js | 54
src/filters/user.js | 50
__MACOSX/src/api/._systemGroupData.js | 0
__MACOSX/src/views/sms/smsPay/._index.vue | 0
public/static/tinymce4.7.5/plugins/emoticons/img/smiley-surprised.gif | 0
src/icons/svg/tree-table.svg | 1
__MACOSX/src/._utils | 0
src/assets/imgs/no.png | 0
src/icons/svg/peoples.svg | 1
__MACOSX/src/icons/svg/._tab.svg | 0
__MACOSX/src/layout/components/._Navbar.vue | 0
src/components/ThemePicker/index.vue | 174
__MACOSX/src/plugins/._cache.js | 0
src/assets/js/media_750.js | 62
__MACOSX/src/views/systemSetting/administratorAuthority/adminList/._edit.vue | 0
__MACOSX/src/views/systemSetting/administratorAuthority/._permissionRules | 0
__MACOSX/._jsconfig.json | 0
__MACOSX/src/assets/iconfont/._iconfont.ttf | 0
__MACOSX/src/._permission.js | 0
__MACOSX/src/icons/svg/._user.svg | 0
src/components/FormGenerator/index/Home.vue | 494
__MACOSX/src/components/FormGenerator/preview/._main.js | 0
__MACOSX/public/static/tinymce4.7.5/langs/._zh_CN.js | 0
__MACOSX/src/directive/permission/._hasRole.js | 0
public/static/tinymce4.7.5/skins/lightgray/img/trans.gif | 0
src/components/FormGenerator/components/tinymce/zh_CN.js | 420
src/views/sms/smsConfig/components/loginFrom.vue | 188
__MACOSX/src/views/._redirect | 0
__MACOSX/src/._store | 0
__MACOSX/src/views/systemSetting/._setting | 0
__MACOSX/src/assets/iconfont/._iconfont.css | 0
__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-smile.gif | 0
__MACOSX/src/views/sms/._smsPay | 0
public/static/tinymce4.7.5/plugins/emoticons/img/smiley-wink.gif | 0
__MACOSX/src/directive/copy/._copy.js | 0
src/components/FormGenerator/index/DraggableItem.vue | 128
__MACOSX/src/components/qrcode/._index.vue | 0
__MACOSX/src/icons/svg/._wechat.svg | 0
src/api/categoryApi.js | 160
plop-templates/view/prompt.js | 55
src/icons/svg/404.svg | 1
__MACOSX/src/._router | 0
src/layout/components/Sidebar/FixiOSBug.js | 26
__MACOSX/src/assets/404_images/._404.png | 0
public/static/tinymce4.7.5/plugins/visualblocks/css/visualblocks.css | 154
__MACOSX/src/components/uploadPicture/uploadFrom/._index.js | 0
src/icons/svg/user.svg | 1
src/views/error-log/components/ErrorTestA.vue | 13
__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/._img | 0
src/assets/imgs/wutu.png | 0
__MACOSX/src/views/maintain/._authCRMEB | 0
__MACOSX/src/components/FormGenerator/components/tinymce/._index.vue | 0
__MACOSX/src/icons/svg/._dashboard.svg | 0
__MACOSX/src/components/FormGenerator/._styles | 0
src/views/redirect/index.vue | 12
__MACOSX/src/assets/._iconfont | 0
__MACOSX/src/components/._FormGenerator | 0
__MACOSX/src/plugins/._download.js | 0
src/styles/reset.css | 126
src/views/systemSetting/administratorAuthority/identityManager/index.vue | 148
__MACOSX/src/components/Upload/._uploadFile.vue | 0
__MACOSX/src/store/._getters.js | 0
__MACOSX/src/components/FormGenerator/components/render/slots/._el-upload.js | 0
public/static/tinymce4.7.5/skins/lightgray/fonts/tinymce-mobile.woff | 0
__MACOSX/src/components/FormGenerator/components/parser/._ZBParser.vue | 0
__MACOSX/src/store/modules/._settings.js | 0
src/components/SvgIcon/index.vue | 62
src/assets/imgs/moren.jpg | 0
__MACOSX/src/._.DS_Store | 0
src/views/sms/smsTemplate/index.vue | 208
__MACOSX/src/directive/._permission | 0
src/views/systemSetting/administratorAuthority/permissionRules/index.vue | 427
__MACOSX/src/._directive | 0
__MACOSX/public/._favicon.ico | 0
__MACOSX/src/components/ParentView/._index.vue | 0
__MACOSX/src/api/._authInformation.js | 0
src/api/systemadmin.js | 197
__MACOSX/._package.json | 0
__MACOSX/src/views/systemSetting/administratorAuthority/permissionRules/._index.vue | 0
public/static/tinymce4.7.5/skins/lightgray/img/loader.gif | 0
__MACOSX/src/components/FormGenerator/components/generator/._ruleTrigger.js | 0
__MACOSX/src/assets/imgs/._mobileHeadbj.png | 0
__MACOSX/src/vendor/._Export2Zip.js | 0
src/filters/commFilter.js | 248
__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-innocent.gif | 0
src/components/FormGenerator/components/generator/html.js | 432
__MACOSX/src/styles/._transition.scss | 0
__MACOSX/src/assets/imgs/._routine.png | 0
src/assets/imgs/mobileHeadbj.png | 0
__MACOSX/src/assets/imgs/._no.png | 0
public/static/tinymce4.7.5/skins/lightgray/fonts/tinymce-small.svg | 63
__MACOSX/src/icons/._svg | 0
src/components/Hamburger/index.vue | 44
src/vendor/Export1Excel.js | 147
__MACOSX/public/static/tinymce4.7.5/skins/lightgray/fonts/._tinymce-small.woff | 0
__MACOSX/src/api/._sms.js | 0
__MACOSX/src/directive/._index.js | 0
src/components/FormGenerator/components/parser/index.js | 3
__MACOSX/src/components/FormGenerator/components/parser/._package.json | 0
plopfile.js | 9
src/components/FormGenerator/components/render/slots/el-select.js | 9
__MACOSX/src/filters/._order.js | 0
__MACOSX/plop-templates/store/._prompt.js | 0
src/views/mobile/auth-send/index.vue | 61
src/utils/parsing.js | 220
__MACOSX/public/static/tinymce4.7.5/skins/lightgray/fonts/._tinymce-small.eot | 0
src/directive/dialog/dragWidth.js | 30
__MACOSX/src/icons/svg/._eye-open.svg | 0
src/assets/imgs/head.gif | 0
src/store/modules/app.js | 66
__MACOSX/src/components/._Hamburger | 0
__MACOSX/public/static/tinymce4.7.5/skins/lightgray/img/._object.gif | 0
__MACOSX/src/styles/._reset.css | 0
__MACOSX/public/static/tinymce4.7.5/skins/lightgray/fonts/._tinymce.woff | 0
__MACOSX/public/static/tinymce4.7.5/skins/lightgray/._content.inline.min.css | 0
src/layout/components/TagsView/index.vue | 299
src/views/maintain/formConfig/index.vue | 140
src/styles/element-ui.scss | 87
__MACOSX/src/components/FormGenerator/index/._JsonDrawer.vue | 0
src/utils/request.js | 81
__MACOSX/src/views/mobile/orderCancellation/._hexiaoInfo.vue | 0
src/assets/imgs/writeOffBg.jpg | 0
__MACOSX/._postcss.config.js | 0
__MACOSX/src/components/._cards | 0
__MACOSX/src/components/FormGenerator/index/._RightPanel.vue | 0
__MACOSX/src/store/._modules | 0
__MACOSX/public/static/tinymce4.7.5/plugins/codesample/._css | 0
__MACOSX/src/views/sms/smsConfig/components/._register.vue | 0
__MACOSX/src/views/mobile/auth-send/._index.vue | 0
__MACOSX/src/components/._Breadcrumb | 0
src/utils/auth.js | 25
__MACOSX/src/components/cards/._index.vue | 0
__MACOSX/src/assets/imgs/._writeOffBg.jpg | 0
__MACOSX/src/views/maintain/._picture | 0
src/assets/imgs/expressi.jpg | 0
src/directive/copy/copy.js | 74
src/views/maintain/authCRMEB/index.vue | 139
__MACOSX/src/icons/svg/._peoples.svg | 0
src/assets/imgs/scan.gif | 0
src/components/FormGenerator/utils/index.js | 102
src/libs/dialog.js | 67
__MACOSX/src/directive/dialog/._dragWidth.js | 0
src/styles/styles.scss | 440
src/components/customerInfo/index.vue | 205
src/router/modules/custom.js | 35
__MACOSX/src/assets/imgs/._orderIndex.png | 0
__MACOSX/src/components/echarts/._index.vue | 0
src/components/FormGenerator/components/render/slots/el-input.js | 8
__MACOSX/src/._icons | 0
public/static/tinymce4.7.5/plugins/emoticons/img/smiley-kiss.gif | 0
src/layout/components/Settings/index.vue | 188
src/components/FormGenerator/components/render/slots/el-button.js | 5
__MACOSX/src/libs/._wechat.js | 0
__MACOSX/src/layout/components/._AppMain.vue | 0
__MACOSX/public/static/tinymce4.7.5/skins/lightgray/img/._anchor.gif | 0
src/views/maintain/devconfig/combinedDataEdit.vue | 109
__MACOSX/src/libs/._public.js | 0
__MACOSX/src/components/FormGenerator/components/generator/._html.js | 0
__MACOSX/src/components/Breadcrumb/._index.vue | 0
src/views/mobile/orderCancellation/queryResult.vue | 365
src/icons/svg/money.svg | 1
__MACOSX/src/api/._req.js | 0
__MACOSX/src/views/maintain/devconfig/._combinedData.vue | 0
__MACOSX/src/._layout | 0
src/assets/imgs/orderIndex.png | 0
plop-templates/utils.js | 9
__MACOSX/plop-templates/._.DS_Store | 0
__MACOSX/src/libs/._loading.js | 0
__MACOSX/src/components/SvgIcon/._index.vue | 0
__MACOSX/src/api/._configTabApi.js | 0
__MACOSX/src/components/FormGenerator/utils/._loadBeautifier.js | 0
__MACOSX/src/layout/components/._Sidebar | 0
__MACOSX/src/assets/imgs/._moren.jpg | 0
__MACOSX/src/views/vehicle/._registration | 0
src/components/FormGenerator/index/FormDrawer.vue | 332
src/plugins/cache.js | 109
src/router/modules/operation.js | 113
src/api/configTabApi.js | 105
src/assets/imgs/weixin.png | 0
src/views/sms/smsConfig/components/tableList.vue | 692
925 files changed, 50,627 insertions(+), 0 deletions(-)
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..6151575
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,21 @@
+MIT License
+
+Copyright (c) 2017-present PanJiaChen
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is
+furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
diff --git a/README.ZBKJ.md b/README.ZBKJ.md
new file mode 100644
index 0000000..8b29efc
--- /dev/null
+++ b/README.ZBKJ.md
@@ -0,0 +1,18 @@
+鍏敤缁勪欢
+鏃犻檺鏋佸垎绫荤粍浠� src/components/Category
+浣跨敤鑼冨洿锛氳彍鍗曪紝鏂囩珷绛夊悇绉嶅垎绫婚厤缃暟鎹�
+
+琛ㄥ崟鐢熸垚缁勪欢
+https://github.com/JakHuang/form-generator
+
+json娓叉煋琛ㄥ崟浠ュ強鏄惁闇�瑕佺紪杈戞暟鎹洖濉殑鍔熻兘浠ヤ笅涓轰緥
+绀轰緥锛歴rc/views/maintain/devconfig/combineEdit.vue
+
+
+<parser v-if="formConf.fields.length > 0" :isEdit="isCreate === 1" :form-conf="formConf" :formEditData="editData" @submit="handlerSubmit" />
+娉ㄦ剰锛氳缃崟閫夋寜閽殑鍊兼椂闇�瑕佸甫涓婂崟寮曞彿锛岃涓嶆覆鏌撳緟缂栬緫鏁版嵁鏃朵笉浼氳嚜鍔ㄩ�変腑
+
+鎻愮ず:濡傛灉涓嶉渶瑕佹瘡娆″埛鏂伴〉闈㈤兘寮瑰嚭浜岀淮鐮侊紝璇峰湪src/layout/index.vue涓敞閲婃垨鑰呭垹闄�15琛屼唬鐮併��
+```
+<div class="open-image" @click="clear" v-if="openImage"><img src="@/assets/imgs/pc1.png" alt=""></div>
+```
\ No newline at end of file
diff --git a/__MACOSX/._LICENSE b/__MACOSX/._LICENSE
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/._LICENSE
Binary files differ
diff --git a/__MACOSX/._README.ZBKJ.md b/__MACOSX/._README.ZBKJ.md
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/._README.ZBKJ.md
Binary files differ
diff --git a/__MACOSX/._README.md b/__MACOSX/._README.md
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/._README.md
Binary files differ
diff --git a/__MACOSX/._babel.config.js b/__MACOSX/._babel.config.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/._babel.config.js
Binary files differ
diff --git a/__MACOSX/._build b/__MACOSX/._build
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/._build
Binary files differ
diff --git a/__MACOSX/._jest.config.js b/__MACOSX/._jest.config.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/._jest.config.js
Binary files differ
diff --git a/__MACOSX/._jsconfig.json b/__MACOSX/._jsconfig.json
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/._jsconfig.json
Binary files differ
diff --git a/__MACOSX/._package.json b/__MACOSX/._package.json
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/._package.json
Binary files differ
diff --git a/__MACOSX/._plop-templates b/__MACOSX/._plop-templates
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/._plop-templates
Binary files differ
diff --git a/__MACOSX/._plopfile.js b/__MACOSX/._plopfile.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/._plopfile.js
Binary files differ
diff --git a/__MACOSX/._postcss.config.js b/__MACOSX/._postcss.config.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/._postcss.config.js
Binary files differ
diff --git a/__MACOSX/._public b/__MACOSX/._public
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/._public
Binary files differ
diff --git a/__MACOSX/._src b/__MACOSX/._src
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/._src
Binary files differ
diff --git a/__MACOSX/._tests b/__MACOSX/._tests
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/._tests
Binary files differ
diff --git a/__MACOSX/._vue.config.js b/__MACOSX/._vue.config.js
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/._vue.config.js
Binary files differ
diff --git a/__MACOSX/._yarn.lock b/__MACOSX/._yarn.lock
new file mode 100644
index 0000000..f6167ef
--- /dev/null
+++ b/__MACOSX/._yarn.lock
Binary files differ
diff --git a/__MACOSX/build/._index.js b/__MACOSX/build/._index.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/build/._index.js
Binary files differ
diff --git a/__MACOSX/plop-templates/._.DS_Store b/__MACOSX/plop-templates/._.DS_Store
new file mode 100644
index 0000000..a5b28df
--- /dev/null
+++ b/__MACOSX/plop-templates/._.DS_Store
Binary files differ
diff --git a/__MACOSX/plop-templates/._component b/__MACOSX/plop-templates/._component
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/plop-templates/._component
Binary files differ
diff --git a/__MACOSX/plop-templates/._store b/__MACOSX/plop-templates/._store
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/plop-templates/._store
Binary files differ
diff --git a/__MACOSX/plop-templates/._utils.js b/__MACOSX/plop-templates/._utils.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/plop-templates/._utils.js
Binary files differ
diff --git a/__MACOSX/plop-templates/._view b/__MACOSX/plop-templates/._view
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/plop-templates/._view
Binary files differ
diff --git a/__MACOSX/plop-templates/component/._index.hbs b/__MACOSX/plop-templates/component/._index.hbs
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/plop-templates/component/._index.hbs
Binary files differ
diff --git a/__MACOSX/plop-templates/component/._prompt.js b/__MACOSX/plop-templates/component/._prompt.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/plop-templates/component/._prompt.js
Binary files differ
diff --git a/__MACOSX/plop-templates/store/._index.hbs b/__MACOSX/plop-templates/store/._index.hbs
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/plop-templates/store/._index.hbs
Binary files differ
diff --git a/__MACOSX/plop-templates/store/._prompt.js b/__MACOSX/plop-templates/store/._prompt.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/plop-templates/store/._prompt.js
Binary files differ
diff --git a/__MACOSX/plop-templates/view/._index.hbs b/__MACOSX/plop-templates/view/._index.hbs
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/plop-templates/view/._index.hbs
Binary files differ
diff --git a/__MACOSX/plop-templates/view/._prompt.js b/__MACOSX/plop-templates/view/._prompt.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/plop-templates/view/._prompt.js
Binary files differ
diff --git a/__MACOSX/public/._favicon.ico b/__MACOSX/public/._favicon.ico
new file mode 100644
index 0000000..f6167ef
--- /dev/null
+++ b/__MACOSX/public/._favicon.ico
Binary files differ
diff --git a/__MACOSX/public/._index.html b/__MACOSX/public/._index.html
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/public/._index.html
Binary files differ
diff --git a/__MACOSX/public/._preview.html b/__MACOSX/public/._preview.html
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/public/._preview.html
Binary files differ
diff --git a/__MACOSX/public/._static b/__MACOSX/public/._static
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/public/._static
Binary files differ
diff --git a/__MACOSX/public/static/._tinymce4.7.5 b/__MACOSX/public/static/._tinymce4.7.5
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/public/static/._tinymce4.7.5
Binary files differ
diff --git a/__MACOSX/public/static/tinymce4.7.5/._langs b/__MACOSX/public/static/tinymce4.7.5/._langs
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/public/static/tinymce4.7.5/._langs
Binary files differ
diff --git a/__MACOSX/public/static/tinymce4.7.5/._plugins b/__MACOSX/public/static/tinymce4.7.5/._plugins
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/public/static/tinymce4.7.5/._plugins
Binary files differ
diff --git a/__MACOSX/public/static/tinymce4.7.5/._skins b/__MACOSX/public/static/tinymce4.7.5/._skins
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/public/static/tinymce4.7.5/._skins
Binary files differ
diff --git a/__MACOSX/public/static/tinymce4.7.5/._tinymce.min.js b/__MACOSX/public/static/tinymce4.7.5/._tinymce.min.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/public/static/tinymce4.7.5/._tinymce.min.js
Binary files differ
diff --git a/__MACOSX/public/static/tinymce4.7.5/langs/._zh_CN.js b/__MACOSX/public/static/tinymce4.7.5/langs/._zh_CN.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/public/static/tinymce4.7.5/langs/._zh_CN.js
Binary files differ
diff --git a/__MACOSX/public/static/tinymce4.7.5/plugins/._codesample b/__MACOSX/public/static/tinymce4.7.5/plugins/._codesample
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/public/static/tinymce4.7.5/plugins/._codesample
Binary files differ
diff --git a/__MACOSX/public/static/tinymce4.7.5/plugins/._emoticons b/__MACOSX/public/static/tinymce4.7.5/plugins/._emoticons
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/public/static/tinymce4.7.5/plugins/._emoticons
Binary files differ
diff --git a/__MACOSX/public/static/tinymce4.7.5/plugins/._visualblocks b/__MACOSX/public/static/tinymce4.7.5/plugins/._visualblocks
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/public/static/tinymce4.7.5/plugins/._visualblocks
Binary files differ
diff --git a/__MACOSX/public/static/tinymce4.7.5/plugins/codesample/._css b/__MACOSX/public/static/tinymce4.7.5/plugins/codesample/._css
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/public/static/tinymce4.7.5/plugins/codesample/._css
Binary files differ
diff --git a/__MACOSX/public/static/tinymce4.7.5/plugins/codesample/css/._prism.css b/__MACOSX/public/static/tinymce4.7.5/plugins/codesample/css/._prism.css
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/public/static/tinymce4.7.5/plugins/codesample/css/._prism.css
Binary files differ
diff --git a/__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/._img b/__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/._img
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/._img
Binary files differ
diff --git a/__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-cool.gif b/__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-cool.gif
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-cool.gif
Binary files differ
diff --git a/__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-cry.gif b/__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-cry.gif
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-cry.gif
Binary files differ
diff --git a/__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-embarassed.gif b/__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-embarassed.gif
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-embarassed.gif
Binary files differ
diff --git a/__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-foot-in-mouth.gif b/__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-foot-in-mouth.gif
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-foot-in-mouth.gif
Binary files differ
diff --git a/__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-frown.gif b/__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-frown.gif
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-frown.gif
Binary files differ
diff --git a/__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-innocent.gif b/__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-innocent.gif
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-innocent.gif
Binary files differ
diff --git a/__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-kiss.gif b/__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-kiss.gif
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-kiss.gif
Binary files differ
diff --git a/__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-laughing.gif b/__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-laughing.gif
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-laughing.gif
Binary files differ
diff --git a/__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-money-mouth.gif b/__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-money-mouth.gif
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-money-mouth.gif
Binary files differ
diff --git a/__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-sealed.gif b/__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-sealed.gif
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-sealed.gif
Binary files differ
diff --git a/__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-smile.gif b/__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-smile.gif
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-smile.gif
Binary files differ
diff --git a/__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-surprised.gif b/__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-surprised.gif
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-surprised.gif
Binary files differ
diff --git a/__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-tongue-out.gif b/__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-tongue-out.gif
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-tongue-out.gif
Binary files differ
diff --git a/__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-undecided.gif b/__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-undecided.gif
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-undecided.gif
Binary files differ
diff --git a/__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-wink.gif b/__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-wink.gif
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-wink.gif
Binary files differ
diff --git a/__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-yell.gif b/__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-yell.gif
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/public/static/tinymce4.7.5/plugins/emoticons/img/._smiley-yell.gif
Binary files differ
diff --git a/__MACOSX/public/static/tinymce4.7.5/plugins/visualblocks/._css b/__MACOSX/public/static/tinymce4.7.5/plugins/visualblocks/._css
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/public/static/tinymce4.7.5/plugins/visualblocks/._css
Binary files differ
diff --git a/__MACOSX/public/static/tinymce4.7.5/plugins/visualblocks/css/._visualblocks.css b/__MACOSX/public/static/tinymce4.7.5/plugins/visualblocks/css/._visualblocks.css
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/public/static/tinymce4.7.5/plugins/visualblocks/css/._visualblocks.css
Binary files differ
diff --git a/__MACOSX/public/static/tinymce4.7.5/skins/._lightgray b/__MACOSX/public/static/tinymce4.7.5/skins/._lightgray
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/public/static/tinymce4.7.5/skins/._lightgray
Binary files differ
diff --git a/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/._content.inline.min.css b/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/._content.inline.min.css
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/._content.inline.min.css
Binary files differ
diff --git a/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/._content.min.css b/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/._content.min.css
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/._content.min.css
Binary files differ
diff --git a/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/._fonts b/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/._fonts
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/._fonts
Binary files differ
diff --git a/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/._img b/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/._img
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/._img
Binary files differ
diff --git a/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/._skin.min.css b/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/._skin.min.css
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/._skin.min.css
Binary files differ
diff --git a/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/._skin.min.css.map b/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/._skin.min.css.map
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/._skin.min.css.map
Binary files differ
diff --git a/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/fonts/._tinymce-mobile.woff b/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/fonts/._tinymce-mobile.woff
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/fonts/._tinymce-mobile.woff
Binary files differ
diff --git a/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/fonts/._tinymce-small.eot b/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/fonts/._tinymce-small.eot
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/fonts/._tinymce-small.eot
Binary files differ
diff --git a/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/fonts/._tinymce-small.svg b/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/fonts/._tinymce-small.svg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/fonts/._tinymce-small.svg
Binary files differ
diff --git a/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/fonts/._tinymce-small.ttf b/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/fonts/._tinymce-small.ttf
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/fonts/._tinymce-small.ttf
Binary files differ
diff --git a/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/fonts/._tinymce-small.woff b/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/fonts/._tinymce-small.woff
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/fonts/._tinymce-small.woff
Binary files differ
diff --git a/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/fonts/._tinymce.eot b/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/fonts/._tinymce.eot
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/fonts/._tinymce.eot
Binary files differ
diff --git a/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/fonts/._tinymce.svg b/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/fonts/._tinymce.svg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/fonts/._tinymce.svg
Binary files differ
diff --git a/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/fonts/._tinymce.ttf b/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/fonts/._tinymce.ttf
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/fonts/._tinymce.ttf
Binary files differ
diff --git a/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/fonts/._tinymce.woff b/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/fonts/._tinymce.woff
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/fonts/._tinymce.woff
Binary files differ
diff --git a/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/img/._anchor.gif b/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/img/._anchor.gif
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/img/._anchor.gif
Binary files differ
diff --git a/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/img/._loader.gif b/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/img/._loader.gif
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/img/._loader.gif
Binary files differ
diff --git a/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/img/._object.gif b/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/img/._object.gif
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/img/._object.gif
Binary files differ
diff --git a/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/img/._trans.gif b/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/img/._trans.gif
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/public/static/tinymce4.7.5/skins/lightgray/img/._trans.gif
Binary files differ
diff --git a/__MACOSX/src/._.DS_Store b/__MACOSX/src/._.DS_Store
new file mode 100644
index 0000000..a5b28df
--- /dev/null
+++ b/__MACOSX/src/._.DS_Store
Binary files differ
diff --git a/__MACOSX/src/._App.vue b/__MACOSX/src/._App.vue
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/._App.vue
Binary files differ
diff --git a/__MACOSX/src/._api b/__MACOSX/src/._api
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/._api
Binary files differ
diff --git a/__MACOSX/src/._assets b/__MACOSX/src/._assets
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/._assets
Binary files differ
diff --git a/__MACOSX/src/._components b/__MACOSX/src/._components
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/._components
Binary files differ
diff --git a/__MACOSX/src/._config b/__MACOSX/src/._config
new file mode 100644
index 0000000..2567d47
--- /dev/null
+++ b/__MACOSX/src/._config
Binary files differ
diff --git a/__MACOSX/src/._directive b/__MACOSX/src/._directive
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/._directive
Binary files differ
diff --git a/__MACOSX/src/._filters b/__MACOSX/src/._filters
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/._filters
Binary files differ
diff --git a/__MACOSX/src/._icons b/__MACOSX/src/._icons
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/._icons
Binary files differ
diff --git a/__MACOSX/src/._layout b/__MACOSX/src/._layout
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/._layout
Binary files differ
diff --git a/__MACOSX/src/._libs b/__MACOSX/src/._libs
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/._libs
Binary files differ
diff --git a/__MACOSX/src/._main.js b/__MACOSX/src/._main.js
new file mode 100644
index 0000000..0a6bb9f
--- /dev/null
+++ b/__MACOSX/src/._main.js
Binary files differ
diff --git a/__MACOSX/src/._permission.js b/__MACOSX/src/._permission.js
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/._permission.js
Binary files differ
diff --git a/__MACOSX/src/._plugins b/__MACOSX/src/._plugins
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/._plugins
Binary files differ
diff --git a/__MACOSX/src/._router b/__MACOSX/src/._router
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/._router
Binary files differ
diff --git a/__MACOSX/src/._settings.js b/__MACOSX/src/._settings.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/._settings.js
Binary files differ
diff --git a/__MACOSX/src/._store b/__MACOSX/src/._store
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/._store
Binary files differ
diff --git a/__MACOSX/src/._styles b/__MACOSX/src/._styles
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/._styles
Binary files differ
diff --git a/__MACOSX/src/._utils b/__MACOSX/src/._utils
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/._utils
Binary files differ
diff --git a/__MACOSX/src/._vendor b/__MACOSX/src/._vendor
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/._vendor
Binary files differ
diff --git a/__MACOSX/src/._views b/__MACOSX/src/._views
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/._views
Binary files differ
diff --git a/__MACOSX/src/api/._authInformation.js b/__MACOSX/src/api/._authInformation.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/api/._authInformation.js
Binary files differ
diff --git a/__MACOSX/src/api/._categoryApi.js b/__MACOSX/src/api/._categoryApi.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/api/._categoryApi.js
Binary files differ
diff --git a/__MACOSX/src/api/._configApi.js b/__MACOSX/src/api/._configApi.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/api/._configApi.js
Binary files differ
diff --git a/__MACOSX/src/api/._configTabApi.js b/__MACOSX/src/api/._configTabApi.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/api/._configTabApi.js
Binary files differ
diff --git a/__MACOSX/src/api/._req.js b/__MACOSX/src/api/._req.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/api/._req.js
Binary files differ
diff --git a/__MACOSX/src/api/._role.js b/__MACOSX/src/api/._role.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/api/._role.js
Binary files differ
diff --git a/__MACOSX/src/api/._roleApi.js b/__MACOSX/src/api/._roleApi.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/api/._roleApi.js
Binary files differ
diff --git a/__MACOSX/src/api/._sms.js b/__MACOSX/src/api/._sms.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/api/._sms.js
Binary files differ
diff --git a/__MACOSX/src/api/._system.js b/__MACOSX/src/api/._system.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/api/._system.js
Binary files differ
diff --git a/__MACOSX/src/api/._systemConfig.js b/__MACOSX/src/api/._systemConfig.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/api/._systemConfig.js
Binary files differ
diff --git a/__MACOSX/src/api/._systemFormConfig.js b/__MACOSX/src/api/._systemFormConfig.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/api/._systemFormConfig.js
Binary files differ
diff --git a/__MACOSX/src/api/._systemGroup.js b/__MACOSX/src/api/._systemGroup.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/api/._systemGroup.js
Binary files differ
diff --git a/__MACOSX/src/api/._systemGroupData.js b/__MACOSX/src/api/._systemGroupData.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/api/._systemGroupData.js
Binary files differ
diff --git a/__MACOSX/src/api/._systemSetting.js b/__MACOSX/src/api/._systemSetting.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/api/._systemSetting.js
Binary files differ
diff --git a/__MACOSX/src/api/._systemadmin.js b/__MACOSX/src/api/._systemadmin.js
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/api/._systemadmin.js
Binary files differ
diff --git a/__MACOSX/src/api/._user.js b/__MACOSX/src/api/._user.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/api/._user.js
Binary files differ
diff --git a/__MACOSX/src/api/._vehicle.js b/__MACOSX/src/api/._vehicle.js
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/api/._vehicle.js
Binary files differ
diff --git a/__MACOSX/src/api/._wxApi.js b/__MACOSX/src/api/._wxApi.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/api/._wxApi.js
Binary files differ
diff --git a/__MACOSX/src/assets/._.DS_Store b/__MACOSX/src/assets/._.DS_Store
new file mode 100644
index 0000000..a5b28df
--- /dev/null
+++ b/__MACOSX/src/assets/._.DS_Store
Binary files differ
diff --git a/__MACOSX/src/assets/._401_images b/__MACOSX/src/assets/._401_images
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/assets/._401_images
Binary files differ
diff --git a/__MACOSX/src/assets/._404_images b/__MACOSX/src/assets/._404_images
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/assets/._404_images
Binary files differ
diff --git a/__MACOSX/src/assets/._custom-theme b/__MACOSX/src/assets/._custom-theme
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/assets/._custom-theme
Binary files differ
diff --git a/__MACOSX/src/assets/._iconfont b/__MACOSX/src/assets/._iconfont
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/assets/._iconfont
Binary files differ
diff --git a/__MACOSX/src/assets/._imgs b/__MACOSX/src/assets/._imgs
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/assets/._imgs
Binary files differ
diff --git a/__MACOSX/src/assets/._js b/__MACOSX/src/assets/._js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/assets/._js
Binary files differ
diff --git a/__MACOSX/src/assets/401_images/._401.gif b/__MACOSX/src/assets/401_images/._401.gif
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/assets/401_images/._401.gif
Binary files differ
diff --git a/__MACOSX/src/assets/404_images/._404.png b/__MACOSX/src/assets/404_images/._404.png
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/assets/404_images/._404.png
Binary files differ
diff --git a/__MACOSX/src/assets/404_images/._404_cloud.png b/__MACOSX/src/assets/404_images/._404_cloud.png
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/assets/404_images/._404_cloud.png
Binary files differ
diff --git a/__MACOSX/src/assets/custom-theme/._fonts b/__MACOSX/src/assets/custom-theme/._fonts
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/assets/custom-theme/._fonts
Binary files differ
diff --git a/__MACOSX/src/assets/custom-theme/._index.css b/__MACOSX/src/assets/custom-theme/._index.css
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/assets/custom-theme/._index.css
Binary files differ
diff --git a/__MACOSX/src/assets/custom-theme/fonts/._element-icons.ttf b/__MACOSX/src/assets/custom-theme/fonts/._element-icons.ttf
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/assets/custom-theme/fonts/._element-icons.ttf
Binary files differ
diff --git a/__MACOSX/src/assets/custom-theme/fonts/._element-icons.woff b/__MACOSX/src/assets/custom-theme/fonts/._element-icons.woff
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/assets/custom-theme/fonts/._element-icons.woff
Binary files differ
diff --git a/__MACOSX/src/assets/iconfont/._iconfont.css b/__MACOSX/src/assets/iconfont/._iconfont.css
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/assets/iconfont/._iconfont.css
Binary files differ
diff --git a/__MACOSX/src/assets/iconfont/._iconfont.eot b/__MACOSX/src/assets/iconfont/._iconfont.eot
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/assets/iconfont/._iconfont.eot
Binary files differ
diff --git a/__MACOSX/src/assets/iconfont/._iconfont.js b/__MACOSX/src/assets/iconfont/._iconfont.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/assets/iconfont/._iconfont.js
Binary files differ
diff --git a/__MACOSX/src/assets/iconfont/._iconfont.json b/__MACOSX/src/assets/iconfont/._iconfont.json
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/assets/iconfont/._iconfont.json
Binary files differ
diff --git a/__MACOSX/src/assets/iconfont/._iconfont.svg b/__MACOSX/src/assets/iconfont/._iconfont.svg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/assets/iconfont/._iconfont.svg
Binary files differ
diff --git a/__MACOSX/src/assets/iconfont/._iconfont.ttf b/__MACOSX/src/assets/iconfont/._iconfont.ttf
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/assets/iconfont/._iconfont.ttf
Binary files differ
diff --git a/__MACOSX/src/assets/iconfont/._iconfont.woff b/__MACOSX/src/assets/iconfont/._iconfont.woff
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/assets/iconfont/._iconfont.woff
Binary files differ
diff --git a/__MACOSX/src/assets/iconfont/._iconfont.woff2 b/__MACOSX/src/assets/iconfont/._iconfont.woff2
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/assets/iconfont/._iconfont.woff2
Binary files differ
diff --git a/__MACOSX/src/assets/imgs/._app.png b/__MACOSX/src/assets/imgs/._app.png
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/assets/imgs/._app.png
Binary files differ
diff --git a/__MACOSX/src/assets/imgs/._bg.jpg b/__MACOSX/src/assets/imgs/._bg.jpg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/assets/imgs/._bg.jpg
Binary files differ
diff --git a/__MACOSX/src/assets/imgs/._expressi.jpg b/__MACOSX/src/assets/imgs/._expressi.jpg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/assets/imgs/._expressi.jpg
Binary files differ
diff --git a/__MACOSX/src/assets/imgs/._head.gif b/__MACOSX/src/assets/imgs/._head.gif
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/assets/imgs/._head.gif
Binary files differ
diff --git a/__MACOSX/src/assets/imgs/._line.jpg b/__MACOSX/src/assets/imgs/._line.jpg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/assets/imgs/._line.jpg
Binary files differ
diff --git a/__MACOSX/src/assets/imgs/._mobileHeadbj.png b/__MACOSX/src/assets/imgs/._mobileHeadbj.png
new file mode 100644
index 0000000..b1e5890
--- /dev/null
+++ b/__MACOSX/src/assets/imgs/._mobileHeadbj.png
Binary files differ
diff --git a/__MACOSX/src/assets/imgs/._mobilefoot.png b/__MACOSX/src/assets/imgs/._mobilefoot.png
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/assets/imgs/._mobilefoot.png
Binary files differ
diff --git a/__MACOSX/src/assets/imgs/._mobilehead.png b/__MACOSX/src/assets/imgs/._mobilehead.png
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/assets/imgs/._mobilehead.png
Binary files differ
diff --git a/__MACOSX/src/assets/imgs/._moren.jpg b/__MACOSX/src/assets/imgs/._moren.jpg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/assets/imgs/._moren.jpg
Binary files differ
diff --git a/__MACOSX/src/assets/imgs/._no.png b/__MACOSX/src/assets/imgs/._no.png
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/assets/imgs/._no.png
Binary files differ
diff --git a/__MACOSX/src/assets/imgs/._orderIndex.png b/__MACOSX/src/assets/imgs/._orderIndex.png
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/assets/imgs/._orderIndex.png
Binary files differ
diff --git a/__MACOSX/src/assets/imgs/._over.svg b/__MACOSX/src/assets/imgs/._over.svg
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/assets/imgs/._over.svg
Binary files differ
diff --git a/__MACOSX/src/assets/imgs/._pc.png b/__MACOSX/src/assets/imgs/._pc.png
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/assets/imgs/._pc.png
Binary files differ
diff --git a/__MACOSX/src/assets/imgs/._pricetitle.jpg b/__MACOSX/src/assets/imgs/._pricetitle.jpg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/assets/imgs/._pricetitle.jpg
Binary files differ
diff --git a/__MACOSX/src/assets/imgs/._routine.png b/__MACOSX/src/assets/imgs/._routine.png
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/assets/imgs/._routine.png
Binary files differ
diff --git a/__MACOSX/src/assets/imgs/._scan.gif b/__MACOSX/src/assets/imgs/._scan.gif
new file mode 100644
index 0000000..b1e5890
--- /dev/null
+++ b/__MACOSX/src/assets/imgs/._scan.gif
Binary files differ
diff --git a/__MACOSX/src/assets/imgs/._scanCode.png b/__MACOSX/src/assets/imgs/._scanCode.png
new file mode 100644
index 0000000..b1e5890
--- /dev/null
+++ b/__MACOSX/src/assets/imgs/._scanCode.png
Binary files differ
diff --git a/__MACOSX/src/assets/imgs/._user_bg.png b/__MACOSX/src/assets/imgs/._user_bg.png
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/assets/imgs/._user_bg.png
Binary files differ
diff --git a/__MACOSX/src/assets/imgs/._vehicleTopHeader.png b/__MACOSX/src/assets/imgs/._vehicleTopHeader.png
new file mode 100644
index 0000000..b1e5890
--- /dev/null
+++ b/__MACOSX/src/assets/imgs/._vehicleTopHeader.png
Binary files differ
diff --git a/__MACOSX/src/assets/imgs/._wechat_h5.png b/__MACOSX/src/assets/imgs/._wechat_h5.png
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/assets/imgs/._wechat_h5.png
Binary files differ
diff --git a/__MACOSX/src/assets/imgs/._weixin.png b/__MACOSX/src/assets/imgs/._weixin.png
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/assets/imgs/._weixin.png
Binary files differ
diff --git a/__MACOSX/src/assets/imgs/._writeOffBg.jpg b/__MACOSX/src/assets/imgs/._writeOffBg.jpg
new file mode 100644
index 0000000..b1e5890
--- /dev/null
+++ b/__MACOSX/src/assets/imgs/._writeOffBg.jpg
Binary files differ
diff --git a/__MACOSX/src/assets/imgs/._wutu.png b/__MACOSX/src/assets/imgs/._wutu.png
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/assets/imgs/._wutu.png
Binary files differ
diff --git a/__MACOSX/src/assets/js/._canvas-nest.min.js b/__MACOSX/src/assets/js/._canvas-nest.min.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/assets/js/._canvas-nest.min.js
Binary files differ
diff --git a/__MACOSX/src/assets/js/._media_750.js b/__MACOSX/src/assets/js/._media_750.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/assets/js/._media_750.js
Binary files differ
diff --git a/__MACOSX/src/components/._.DS_Store b/__MACOSX/src/components/._.DS_Store
new file mode 100644
index 0000000..a5b28df
--- /dev/null
+++ b/__MACOSX/src/components/._.DS_Store
Binary files differ
diff --git a/__MACOSX/src/components/._Breadcrumb b/__MACOSX/src/components/._Breadcrumb
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/._Breadcrumb
Binary files differ
diff --git a/__MACOSX/src/components/._ErrorLog b/__MACOSX/src/components/._ErrorLog
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/._ErrorLog
Binary files differ
diff --git a/__MACOSX/src/components/._FormGenerator b/__MACOSX/src/components/._FormGenerator
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/._FormGenerator
Binary files differ
diff --git a/__MACOSX/src/components/._Hamburger b/__MACOSX/src/components/._Hamburger
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/._Hamburger
Binary files differ
diff --git a/__MACOSX/src/components/._HeaderSearch b/__MACOSX/src/components/._HeaderSearch
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/._HeaderSearch
Binary files differ
diff --git a/__MACOSX/src/components/._PanThumb b/__MACOSX/src/components/._PanThumb
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/._PanThumb
Binary files differ
diff --git a/__MACOSX/src/components/._ParentView b/__MACOSX/src/components/._ParentView
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/._ParentView
Binary files differ
diff --git a/__MACOSX/src/components/._RightPanel b/__MACOSX/src/components/._RightPanel
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/._RightPanel
Binary files differ
diff --git a/__MACOSX/src/components/._Screenfull b/__MACOSX/src/components/._Screenfull
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/._Screenfull
Binary files differ
diff --git a/__MACOSX/src/components/._Share b/__MACOSX/src/components/._Share
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/._Share
Binary files differ
diff --git a/__MACOSX/src/components/._Sticky b/__MACOSX/src/components/._Sticky
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/._Sticky
Binary files differ
diff --git a/__MACOSX/src/components/._SvgIcon b/__MACOSX/src/components/._SvgIcon
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/._SvgIcon
Binary files differ
diff --git a/__MACOSX/src/components/._ThemePicker b/__MACOSX/src/components/._ThemePicker
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/._ThemePicker
Binary files differ
diff --git a/__MACOSX/src/components/._TimeSelect b/__MACOSX/src/components/._TimeSelect
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/._TimeSelect
Binary files differ
diff --git a/__MACOSX/src/components/._Tinymce b/__MACOSX/src/components/._Tinymce
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/._Tinymce
Binary files differ
diff --git a/__MACOSX/src/components/._TopNav b/__MACOSX/src/components/._TopNav
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/._TopNav
Binary files differ
diff --git a/__MACOSX/src/components/._Upload b/__MACOSX/src/components/._Upload
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/._Upload
Binary files differ
diff --git a/__MACOSX/src/components/._UploadExcel b/__MACOSX/src/components/._UploadExcel
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/._UploadExcel
Binary files differ
diff --git a/__MACOSX/src/components/._cards b/__MACOSX/src/components/._cards
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/._cards
Binary files differ
diff --git a/__MACOSX/src/components/._customerInfo b/__MACOSX/src/components/._customerInfo
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/._customerInfo
Binary files differ
diff --git a/__MACOSX/src/components/._echarts b/__MACOSX/src/components/._echarts
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/._echarts
Binary files differ
diff --git a/__MACOSX/src/components/._echartsNew b/__MACOSX/src/components/._echartsNew
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/._echartsNew
Binary files differ
diff --git a/__MACOSX/src/components/._html5qrcode b/__MACOSX/src/components/._html5qrcode
new file mode 100644
index 0000000..2567d47
--- /dev/null
+++ b/__MACOSX/src/components/._html5qrcode
Binary files differ
diff --git a/__MACOSX/src/components/._iconFrom b/__MACOSX/src/components/._iconFrom
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/._iconFrom
Binary files differ
diff --git a/__MACOSX/src/components/._qrcode b/__MACOSX/src/components/._qrcode
new file mode 100644
index 0000000..2567d47
--- /dev/null
+++ b/__MACOSX/src/components/._qrcode
Binary files differ
diff --git a/__MACOSX/src/components/._uploadPicture b/__MACOSX/src/components/._uploadPicture
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/._uploadPicture
Binary files differ
diff --git a/__MACOSX/src/components/._userList b/__MACOSX/src/components/._userList
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/._userList
Binary files differ
diff --git a/__MACOSX/src/components/Breadcrumb/._index.vue b/__MACOSX/src/components/Breadcrumb/._index.vue
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/components/Breadcrumb/._index.vue
Binary files differ
diff --git a/__MACOSX/src/components/ErrorLog/._index.vue b/__MACOSX/src/components/ErrorLog/._index.vue
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/ErrorLog/._index.vue
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/._components b/__MACOSX/src/components/FormGenerator/._components
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/._components
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/._index b/__MACOSX/src/components/FormGenerator/._index
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/._index
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/._preview b/__MACOSX/src/components/FormGenerator/._preview
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/._preview
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/._styles b/__MACOSX/src/components/FormGenerator/._styles
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/._styles
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/._utils b/__MACOSX/src/components/FormGenerator/._utils
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/._utils
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/components/._SvgIcon b/__MACOSX/src/components/FormGenerator/components/._SvgIcon
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/components/._SvgIcon
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/components/._generator b/__MACOSX/src/components/FormGenerator/components/._generator
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/components/._generator
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/components/._parser b/__MACOSX/src/components/FormGenerator/components/._parser
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/components/._parser
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/components/._render b/__MACOSX/src/components/FormGenerator/components/._render
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/components/._render
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/components/._tinymce b/__MACOSX/src/components/FormGenerator/components/._tinymce
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/components/._tinymce
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/components/SvgIcon/._index.vue b/__MACOSX/src/components/FormGenerator/components/SvgIcon/._index.vue
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/components/SvgIcon/._index.vue
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/components/generator/._config.js b/__MACOSX/src/components/FormGenerator/components/generator/._config.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/components/generator/._config.js
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/components/generator/._css.js b/__MACOSX/src/components/FormGenerator/components/generator/._css.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/components/generator/._css.js
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/components/generator/._drawingDefalut.js b/__MACOSX/src/components/FormGenerator/components/generator/._drawingDefalut.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/components/generator/._drawingDefalut.js
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/components/generator/._html.js b/__MACOSX/src/components/FormGenerator/components/generator/._html.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/components/generator/._html.js
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/components/generator/._js.js b/__MACOSX/src/components/FormGenerator/components/generator/._js.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/components/generator/._js.js
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/components/generator/._ruleTrigger.js b/__MACOSX/src/components/FormGenerator/components/generator/._ruleTrigger.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/components/generator/._ruleTrigger.js
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/components/parser/._Parser.vue b/__MACOSX/src/components/FormGenerator/components/parser/._Parser.vue
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/components/parser/._Parser.vue
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/components/parser/._README.md b/__MACOSX/src/components/FormGenerator/components/parser/._README.md
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/components/parser/._README.md
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/components/parser/._ZBParser.vue b/__MACOSX/src/components/FormGenerator/components/parser/._ZBParser.vue
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/components/parser/._ZBParser.vue
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/components/parser/._example b/__MACOSX/src/components/FormGenerator/components/parser/._example
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/components/parser/._example
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/components/parser/._index.js b/__MACOSX/src/components/FormGenerator/components/parser/._index.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/components/parser/._index.js
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/components/parser/._package.json b/__MACOSX/src/components/FormGenerator/components/parser/._package.json
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/components/parser/._package.json
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/components/parser/example/._Index.vue b/__MACOSX/src/components/FormGenerator/components/parser/example/._Index.vue
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/components/parser/example/._Index.vue
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/components/render/._package.json b/__MACOSX/src/components/FormGenerator/components/render/._package.json
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/components/render/._package.json
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/components/render/._render.js b/__MACOSX/src/components/FormGenerator/components/render/._render.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/components/render/._render.js
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/components/render/._slots b/__MACOSX/src/components/FormGenerator/components/render/._slots
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/components/render/._slots
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/components/render/slots/._el-button.js b/__MACOSX/src/components/FormGenerator/components/render/slots/._el-button.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/components/render/slots/._el-button.js
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/components/render/slots/._el-checkbox-group.js b/__MACOSX/src/components/FormGenerator/components/render/slots/._el-checkbox-group.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/components/render/slots/._el-checkbox-group.js
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/components/render/slots/._el-input.js b/__MACOSX/src/components/FormGenerator/components/render/slots/._el-input.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/components/render/slots/._el-input.js
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/components/render/slots/._el-radio-group.js b/__MACOSX/src/components/FormGenerator/components/render/slots/._el-radio-group.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/components/render/slots/._el-radio-group.js
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/components/render/slots/._el-select.js b/__MACOSX/src/components/FormGenerator/components/render/slots/._el-select.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/components/render/slots/._el-select.js
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/components/render/slots/._el-upload.js b/__MACOSX/src/components/FormGenerator/components/render/slots/._el-upload.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/components/render/slots/._el-upload.js
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/components/tinymce/._config.js b/__MACOSX/src/components/FormGenerator/components/tinymce/._config.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/components/tinymce/._config.js
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/components/tinymce/._index.js b/__MACOSX/src/components/FormGenerator/components/tinymce/._index.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/components/tinymce/._index.js
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/components/tinymce/._index.vue b/__MACOSX/src/components/FormGenerator/components/tinymce/._index.vue
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/components/tinymce/._index.vue
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/components/tinymce/._zh_CN.js b/__MACOSX/src/components/FormGenerator/components/tinymce/._zh_CN.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/components/tinymce/._zh_CN.js
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/index/._CodeTypeDialog.vue b/__MACOSX/src/components/FormGenerator/index/._CodeTypeDialog.vue
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/index/._CodeTypeDialog.vue
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/index/._DraggableItem.vue b/__MACOSX/src/components/FormGenerator/index/._DraggableItem.vue
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/index/._DraggableItem.vue
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/index/._FormDrawer.vue b/__MACOSX/src/components/FormGenerator/index/._FormDrawer.vue
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/index/._FormDrawer.vue
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/index/._Home.vue b/__MACOSX/src/components/FormGenerator/index/._Home.vue
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/index/._Home.vue
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/index/._IconsDialog.vue b/__MACOSX/src/components/FormGenerator/index/._IconsDialog.vue
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/index/._IconsDialog.vue
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/index/._JsonDrawer.vue b/__MACOSX/src/components/FormGenerator/index/._JsonDrawer.vue
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/index/._JsonDrawer.vue
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/index/._ResourceDialog.vue b/__MACOSX/src/components/FormGenerator/index/._ResourceDialog.vue
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/index/._ResourceDialog.vue
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/index/._RightPanel.vue b/__MACOSX/src/components/FormGenerator/index/._RightPanel.vue
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/index/._RightPanel.vue
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/index/._TreeNodeDialog.vue b/__MACOSX/src/components/FormGenerator/index/._TreeNodeDialog.vue
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/index/._TreeNodeDialog.vue
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/index/._index.vue b/__MACOSX/src/components/FormGenerator/index/._index.vue
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/index/._index.vue
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/preview/._main.js b/__MACOSX/src/components/FormGenerator/preview/._main.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/preview/._main.js
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/styles/._home.scss b/__MACOSX/src/components/FormGenerator/styles/._home.scss
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/styles/._home.scss
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/styles/._index.scss b/__MACOSX/src/components/FormGenerator/styles/._index.scss
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/styles/._index.scss
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/styles/._mixin.scss b/__MACOSX/src/components/FormGenerator/styles/._mixin.scss
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/styles/._mixin.scss
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/utils/._db.js b/__MACOSX/src/components/FormGenerator/utils/._db.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/utils/._db.js
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/utils/._icon.json b/__MACOSX/src/components/FormGenerator/utils/._icon.json
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/utils/._icon.json
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/utils/._index.js b/__MACOSX/src/components/FormGenerator/utils/._index.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/utils/._index.js
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/utils/._loadBeautifier.js b/__MACOSX/src/components/FormGenerator/utils/._loadBeautifier.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/utils/._loadBeautifier.js
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/utils/._loadMonaco.js b/__MACOSX/src/components/FormGenerator/utils/._loadMonaco.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/utils/._loadMonaco.js
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/utils/._loadScript.js b/__MACOSX/src/components/FormGenerator/utils/._loadScript.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/utils/._loadScript.js
Binary files differ
diff --git a/__MACOSX/src/components/FormGenerator/utils/._loadTinymce.js b/__MACOSX/src/components/FormGenerator/utils/._loadTinymce.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/FormGenerator/utils/._loadTinymce.js
Binary files differ
diff --git a/__MACOSX/src/components/Hamburger/._index.vue b/__MACOSX/src/components/Hamburger/._index.vue
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/Hamburger/._index.vue
Binary files differ
diff --git a/__MACOSX/src/components/HeaderSearch/._index.vue b/__MACOSX/src/components/HeaderSearch/._index.vue
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/HeaderSearch/._index.vue
Binary files differ
diff --git a/__MACOSX/src/components/PanThumb/._index.vue b/__MACOSX/src/components/PanThumb/._index.vue
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/PanThumb/._index.vue
Binary files differ
diff --git a/__MACOSX/src/components/ParentView/._index.vue b/__MACOSX/src/components/ParentView/._index.vue
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/ParentView/._index.vue
Binary files differ
diff --git a/__MACOSX/src/components/RightPanel/._index.vue b/__MACOSX/src/components/RightPanel/._index.vue
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/RightPanel/._index.vue
Binary files differ
diff --git a/__MACOSX/src/components/Screenfull/._index.vue b/__MACOSX/src/components/Screenfull/._index.vue
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/Screenfull/._index.vue
Binary files differ
diff --git a/__MACOSX/src/components/Share/._DropdownMenu.vue b/__MACOSX/src/components/Share/._DropdownMenu.vue
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/Share/._DropdownMenu.vue
Binary files differ
diff --git a/__MACOSX/src/components/Sticky/._index.vue b/__MACOSX/src/components/Sticky/._index.vue
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/Sticky/._index.vue
Binary files differ
diff --git a/__MACOSX/src/components/SvgIcon/._index.vue b/__MACOSX/src/components/SvgIcon/._index.vue
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/SvgIcon/._index.vue
Binary files differ
diff --git a/__MACOSX/src/components/ThemePicker/._index.vue b/__MACOSX/src/components/ThemePicker/._index.vue
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/ThemePicker/._index.vue
Binary files differ
diff --git a/__MACOSX/src/components/TimeSelect/._index.vue b/__MACOSX/src/components/TimeSelect/._index.vue
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/TimeSelect/._index.vue
Binary files differ
diff --git a/__MACOSX/src/components/Tinymce/._components b/__MACOSX/src/components/Tinymce/._components
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/Tinymce/._components
Binary files differ
diff --git a/__MACOSX/src/components/Tinymce/._dynamicLoadScript.js b/__MACOSX/src/components/Tinymce/._dynamicLoadScript.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/Tinymce/._dynamicLoadScript.js
Binary files differ
diff --git a/__MACOSX/src/components/Tinymce/._index.vue b/__MACOSX/src/components/Tinymce/._index.vue
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/Tinymce/._index.vue
Binary files differ
diff --git a/__MACOSX/src/components/Tinymce/._plugins.js b/__MACOSX/src/components/Tinymce/._plugins.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/Tinymce/._plugins.js
Binary files differ
diff --git a/__MACOSX/src/components/Tinymce/._toolbar.js b/__MACOSX/src/components/Tinymce/._toolbar.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/Tinymce/._toolbar.js
Binary files differ
diff --git a/__MACOSX/src/components/Tinymce/components/._EditorImage.vue b/__MACOSX/src/components/Tinymce/components/._EditorImage.vue
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/Tinymce/components/._EditorImage.vue
Binary files differ
diff --git a/__MACOSX/src/components/TopNav/._index.vue b/__MACOSX/src/components/TopNav/._index.vue
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/TopNav/._index.vue
Binary files differ
diff --git a/__MACOSX/src/components/Upload/._uploadFile.vue b/__MACOSX/src/components/Upload/._uploadFile.vue
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/Upload/._uploadFile.vue
Binary files differ
diff --git a/__MACOSX/src/components/UploadExcel/._index.vue b/__MACOSX/src/components/UploadExcel/._index.vue
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/UploadExcel/._index.vue
Binary files differ
diff --git a/__MACOSX/src/components/cards/._index.vue b/__MACOSX/src/components/cards/._index.vue
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/cards/._index.vue
Binary files differ
diff --git a/__MACOSX/src/components/customerInfo/._index.vue b/__MACOSX/src/components/customerInfo/._index.vue
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/customerInfo/._index.vue
Binary files differ
diff --git a/__MACOSX/src/components/echarts/._index.vue b/__MACOSX/src/components/echarts/._index.vue
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/echarts/._index.vue
Binary files differ
diff --git a/__MACOSX/src/components/echartsNew/._index.vue b/__MACOSX/src/components/echartsNew/._index.vue
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/echartsNew/._index.vue
Binary files differ
diff --git a/__MACOSX/src/components/html5qrcode/._index.vue b/__MACOSX/src/components/html5qrcode/._index.vue
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/components/html5qrcode/._index.vue
Binary files differ
diff --git a/__MACOSX/src/components/iconFrom/._element-icons.js b/__MACOSX/src/components/iconFrom/._element-icons.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/iconFrom/._element-icons.js
Binary files differ
diff --git a/__MACOSX/src/components/iconFrom/._index.vue b/__MACOSX/src/components/iconFrom/._index.vue
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/iconFrom/._index.vue
Binary files differ
diff --git a/__MACOSX/src/components/qrcode/._index.vue b/__MACOSX/src/components/qrcode/._index.vue
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/components/qrcode/._index.vue
Binary files differ
diff --git a/__MACOSX/src/components/uploadPicture/._forGenrator b/__MACOSX/src/components/uploadPicture/._forGenrator
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/uploadPicture/._forGenrator
Binary files differ
diff --git a/__MACOSX/src/components/uploadPicture/._index.vue b/__MACOSX/src/components/uploadPicture/._index.vue
new file mode 100644
index 0000000..b241a03
--- /dev/null
+++ b/__MACOSX/src/components/uploadPicture/._index.vue
Binary files differ
diff --git a/__MACOSX/src/components/uploadPicture/._internal.js b/__MACOSX/src/components/uploadPicture/._internal.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/uploadPicture/._internal.js
Binary files differ
diff --git a/__MACOSX/src/components/uploadPicture/._uploadFrom b/__MACOSX/src/components/uploadPicture/._uploadFrom
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/uploadPicture/._uploadFrom
Binary files differ
diff --git a/__MACOSX/src/components/uploadPicture/forGenrator/._index.vue b/__MACOSX/src/components/uploadPicture/forGenrator/._index.vue
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/uploadPicture/forGenrator/._index.vue
Binary files differ
diff --git a/__MACOSX/src/components/uploadPicture/uploadFrom/._index.js b/__MACOSX/src/components/uploadPicture/uploadFrom/._index.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/uploadPicture/uploadFrom/._index.js
Binary files differ
diff --git a/__MACOSX/src/components/uploadPicture/uploadFrom/._index.vue b/__MACOSX/src/components/uploadPicture/uploadFrom/._index.vue
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/uploadPicture/uploadFrom/._index.vue
Binary files differ
diff --git a/__MACOSX/src/components/userList/._index.vue b/__MACOSX/src/components/userList/._index.vue
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/components/userList/._index.vue
Binary files differ
diff --git a/__MACOSX/src/config/._settings.js b/__MACOSX/src/config/._settings.js
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/config/._settings.js
Binary files differ
diff --git a/__MACOSX/src/directive/._.DS_Store b/__MACOSX/src/directive/._.DS_Store
new file mode 100644
index 0000000..a5b28df
--- /dev/null
+++ b/__MACOSX/src/directive/._.DS_Store
Binary files differ
diff --git a/__MACOSX/src/directive/._copy b/__MACOSX/src/directive/._copy
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/directive/._copy
Binary files differ
diff --git a/__MACOSX/src/directive/._dialog b/__MACOSX/src/directive/._dialog
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/directive/._dialog
Binary files differ
diff --git a/__MACOSX/src/directive/._index.js b/__MACOSX/src/directive/._index.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/directive/._index.js
Binary files differ
diff --git a/__MACOSX/src/directive/._permission b/__MACOSX/src/directive/._permission
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/directive/._permission
Binary files differ
diff --git a/__MACOSX/src/directive/copy/._copy.js b/__MACOSX/src/directive/copy/._copy.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/directive/copy/._copy.js
Binary files differ
diff --git a/__MACOSX/src/directive/dialog/._drag.js b/__MACOSX/src/directive/dialog/._drag.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/directive/dialog/._drag.js
Binary files differ
diff --git a/__MACOSX/src/directive/dialog/._dragHeight.js b/__MACOSX/src/directive/dialog/._dragHeight.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/directive/dialog/._dragHeight.js
Binary files differ
diff --git a/__MACOSX/src/directive/dialog/._dragWidth.js b/__MACOSX/src/directive/dialog/._dragWidth.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/directive/dialog/._dragWidth.js
Binary files differ
diff --git a/__MACOSX/src/directive/permission/._hasPermi.js b/__MACOSX/src/directive/permission/._hasPermi.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/directive/permission/._hasPermi.js
Binary files differ
diff --git a/__MACOSX/src/directive/permission/._hasRole.js b/__MACOSX/src/directive/permission/._hasRole.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/directive/permission/._hasRole.js
Binary files differ
diff --git a/__MACOSX/src/filters/._commFilter.js b/__MACOSX/src/filters/._commFilter.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/filters/._commFilter.js
Binary files differ
diff --git a/__MACOSX/src/filters/._index.js b/__MACOSX/src/filters/._index.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/filters/._index.js
Binary files differ
diff --git a/__MACOSX/src/filters/._order.js b/__MACOSX/src/filters/._order.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/filters/._order.js
Binary files differ
diff --git a/__MACOSX/src/filters/._user.js b/__MACOSX/src/filters/._user.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/filters/._user.js
Binary files differ
diff --git a/__MACOSX/src/filters/._wx.js b/__MACOSX/src/filters/._wx.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/filters/._wx.js
Binary files differ
diff --git a/__MACOSX/src/icons/._index.js b/__MACOSX/src/icons/._index.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/icons/._index.js
Binary files differ
diff --git a/__MACOSX/src/icons/._svg b/__MACOSX/src/icons/._svg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/icons/._svg
Binary files differ
diff --git a/__MACOSX/src/icons/._svgo.yml b/__MACOSX/src/icons/._svgo.yml
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/icons/._svgo.yml
Binary files differ
diff --git a/__MACOSX/src/icons/svg/._404.svg b/__MACOSX/src/icons/svg/._404.svg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/icons/svg/._404.svg
Binary files differ
diff --git a/__MACOSX/src/icons/svg/._bug.svg b/__MACOSX/src/icons/svg/._bug.svg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/icons/svg/._bug.svg
Binary files differ
diff --git a/__MACOSX/src/icons/svg/._chart.svg b/__MACOSX/src/icons/svg/._chart.svg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/icons/svg/._chart.svg
Binary files differ
diff --git a/__MACOSX/src/icons/svg/._clipboard.svg b/__MACOSX/src/icons/svg/._clipboard.svg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/icons/svg/._clipboard.svg
Binary files differ
diff --git a/__MACOSX/src/icons/svg/._component.svg b/__MACOSX/src/icons/svg/._component.svg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/icons/svg/._component.svg
Binary files differ
diff --git a/__MACOSX/src/icons/svg/._dashboard.svg b/__MACOSX/src/icons/svg/._dashboard.svg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/icons/svg/._dashboard.svg
Binary files differ
diff --git a/__MACOSX/src/icons/svg/._documentation.svg b/__MACOSX/src/icons/svg/._documentation.svg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/icons/svg/._documentation.svg
Binary files differ
diff --git a/__MACOSX/src/icons/svg/._drag.svg b/__MACOSX/src/icons/svg/._drag.svg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/icons/svg/._drag.svg
Binary files differ
diff --git a/__MACOSX/src/icons/svg/._edit.svg b/__MACOSX/src/icons/svg/._edit.svg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/icons/svg/._edit.svg
Binary files differ
diff --git a/__MACOSX/src/icons/svg/._education.svg b/__MACOSX/src/icons/svg/._education.svg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/icons/svg/._education.svg
Binary files differ
diff --git a/__MACOSX/src/icons/svg/._email.svg b/__MACOSX/src/icons/svg/._email.svg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/icons/svg/._email.svg
Binary files differ
diff --git a/__MACOSX/src/icons/svg/._example.svg b/__MACOSX/src/icons/svg/._example.svg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/icons/svg/._example.svg
Binary files differ
diff --git a/__MACOSX/src/icons/svg/._excel.svg b/__MACOSX/src/icons/svg/._excel.svg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/icons/svg/._excel.svg
Binary files differ
diff --git a/__MACOSX/src/icons/svg/._exit-fullscreen.svg b/__MACOSX/src/icons/svg/._exit-fullscreen.svg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/icons/svg/._exit-fullscreen.svg
Binary files differ
diff --git a/__MACOSX/src/icons/svg/._eye-open.svg b/__MACOSX/src/icons/svg/._eye-open.svg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/icons/svg/._eye-open.svg
Binary files differ
diff --git a/__MACOSX/src/icons/svg/._eye.svg b/__MACOSX/src/icons/svg/._eye.svg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/icons/svg/._eye.svg
Binary files differ
diff --git a/__MACOSX/src/icons/svg/._form.svg b/__MACOSX/src/icons/svg/._form.svg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/icons/svg/._form.svg
Binary files differ
diff --git a/__MACOSX/src/icons/svg/._fullscreen.svg b/__MACOSX/src/icons/svg/._fullscreen.svg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/icons/svg/._fullscreen.svg
Binary files differ
diff --git a/__MACOSX/src/icons/svg/._guide.svg b/__MACOSX/src/icons/svg/._guide.svg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/icons/svg/._guide.svg
Binary files differ
diff --git a/__MACOSX/src/icons/svg/._icon.svg b/__MACOSX/src/icons/svg/._icon.svg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/icons/svg/._icon.svg
Binary files differ
diff --git a/__MACOSX/src/icons/svg/._international.svg b/__MACOSX/src/icons/svg/._international.svg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/icons/svg/._international.svg
Binary files differ
diff --git a/__MACOSX/src/icons/svg/._language.svg b/__MACOSX/src/icons/svg/._language.svg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/icons/svg/._language.svg
Binary files differ
diff --git a/__MACOSX/src/icons/svg/._link.svg b/__MACOSX/src/icons/svg/._link.svg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/icons/svg/._link.svg
Binary files differ
diff --git a/__MACOSX/src/icons/svg/._list.svg b/__MACOSX/src/icons/svg/._list.svg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/icons/svg/._list.svg
Binary files differ
diff --git a/__MACOSX/src/icons/svg/._lock.svg b/__MACOSX/src/icons/svg/._lock.svg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/icons/svg/._lock.svg
Binary files differ
diff --git a/__MACOSX/src/icons/svg/._message.svg b/__MACOSX/src/icons/svg/._message.svg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/icons/svg/._message.svg
Binary files differ
diff --git a/__MACOSX/src/icons/svg/._money.svg b/__MACOSX/src/icons/svg/._money.svg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/icons/svg/._money.svg
Binary files differ
diff --git a/__MACOSX/src/icons/svg/._nested.svg b/__MACOSX/src/icons/svg/._nested.svg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/icons/svg/._nested.svg
Binary files differ
diff --git a/__MACOSX/src/icons/svg/._password.svg b/__MACOSX/src/icons/svg/._password.svg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/icons/svg/._password.svg
Binary files differ
diff --git a/__MACOSX/src/icons/svg/._pdf.svg b/__MACOSX/src/icons/svg/._pdf.svg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/icons/svg/._pdf.svg
Binary files differ
diff --git a/__MACOSX/src/icons/svg/._people.svg b/__MACOSX/src/icons/svg/._people.svg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/icons/svg/._people.svg
Binary files differ
diff --git a/__MACOSX/src/icons/svg/._peoples.svg b/__MACOSX/src/icons/svg/._peoples.svg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/icons/svg/._peoples.svg
Binary files differ
diff --git a/__MACOSX/src/icons/svg/._qq.svg b/__MACOSX/src/icons/svg/._qq.svg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/icons/svg/._qq.svg
Binary files differ
diff --git a/__MACOSX/src/icons/svg/._search.svg b/__MACOSX/src/icons/svg/._search.svg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/icons/svg/._search.svg
Binary files differ
diff --git a/__MACOSX/src/icons/svg/._shopping.svg b/__MACOSX/src/icons/svg/._shopping.svg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/icons/svg/._shopping.svg
Binary files differ
diff --git a/__MACOSX/src/icons/svg/._size.svg b/__MACOSX/src/icons/svg/._size.svg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/icons/svg/._size.svg
Binary files differ
diff --git a/__MACOSX/src/icons/svg/._skill.svg b/__MACOSX/src/icons/svg/._skill.svg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/icons/svg/._skill.svg
Binary files differ
diff --git a/__MACOSX/src/icons/svg/._star.svg b/__MACOSX/src/icons/svg/._star.svg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/icons/svg/._star.svg
Binary files differ
diff --git a/__MACOSX/src/icons/svg/._tab.svg b/__MACOSX/src/icons/svg/._tab.svg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/icons/svg/._tab.svg
Binary files differ
diff --git a/__MACOSX/src/icons/svg/._table.svg b/__MACOSX/src/icons/svg/._table.svg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/icons/svg/._table.svg
Binary files differ
diff --git a/__MACOSX/src/icons/svg/._theme.svg b/__MACOSX/src/icons/svg/._theme.svg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/icons/svg/._theme.svg
Binary files differ
diff --git a/__MACOSX/src/icons/svg/._tree-table.svg b/__MACOSX/src/icons/svg/._tree-table.svg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/icons/svg/._tree-table.svg
Binary files differ
diff --git a/__MACOSX/src/icons/svg/._tree.svg b/__MACOSX/src/icons/svg/._tree.svg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/icons/svg/._tree.svg
Binary files differ
diff --git a/__MACOSX/src/icons/svg/._user.svg b/__MACOSX/src/icons/svg/._user.svg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/icons/svg/._user.svg
Binary files differ
diff --git a/__MACOSX/src/icons/svg/._wechat.svg b/__MACOSX/src/icons/svg/._wechat.svg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/icons/svg/._wechat.svg
Binary files differ
diff --git a/__MACOSX/src/icons/svg/._zip.svg b/__MACOSX/src/icons/svg/._zip.svg
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/icons/svg/._zip.svg
Binary files differ
diff --git a/__MACOSX/src/layout/._.DS_Store b/__MACOSX/src/layout/._.DS_Store
new file mode 100644
index 0000000..a5b28df
--- /dev/null
+++ b/__MACOSX/src/layout/._.DS_Store
Binary files differ
diff --git a/__MACOSX/src/layout/._components b/__MACOSX/src/layout/._components
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/layout/._components
Binary files differ
diff --git a/__MACOSX/src/layout/._index.vue b/__MACOSX/src/layout/._index.vue
new file mode 100644
index 0000000..0a6bb9f
--- /dev/null
+++ b/__MACOSX/src/layout/._index.vue
Binary files differ
diff --git a/__MACOSX/src/layout/._mixin b/__MACOSX/src/layout/._mixin
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/layout/._mixin
Binary files differ
diff --git a/__MACOSX/src/layout/components/._AppMain.vue b/__MACOSX/src/layout/components/._AppMain.vue
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/layout/components/._AppMain.vue
Binary files differ
diff --git a/__MACOSX/src/layout/components/._Navbar.vue b/__MACOSX/src/layout/components/._Navbar.vue
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/layout/components/._Navbar.vue
Binary files differ
diff --git a/__MACOSX/src/layout/components/._Settings b/__MACOSX/src/layout/components/._Settings
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/layout/components/._Settings
Binary files differ
diff --git a/__MACOSX/src/layout/components/._Sidebar b/__MACOSX/src/layout/components/._Sidebar
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/layout/components/._Sidebar
Binary files differ
diff --git a/__MACOSX/src/layout/components/._TagsView b/__MACOSX/src/layout/components/._TagsView
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/layout/components/._TagsView
Binary files differ
diff --git a/__MACOSX/src/layout/components/._index.js b/__MACOSX/src/layout/components/._index.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/layout/components/._index.js
Binary files differ
diff --git a/__MACOSX/src/layout/components/Settings/._index.vue b/__MACOSX/src/layout/components/Settings/._index.vue
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/layout/components/Settings/._index.vue
Binary files differ
diff --git a/__MACOSX/src/layout/components/Sidebar/._FixiOSBug.js b/__MACOSX/src/layout/components/Sidebar/._FixiOSBug.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/layout/components/Sidebar/._FixiOSBug.js
Binary files differ
diff --git a/__MACOSX/src/layout/components/Sidebar/._Item.vue b/__MACOSX/src/layout/components/Sidebar/._Item.vue
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/layout/components/Sidebar/._Item.vue
Binary files differ
diff --git a/__MACOSX/src/layout/components/Sidebar/._Link.vue b/__MACOSX/src/layout/components/Sidebar/._Link.vue
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/layout/components/Sidebar/._Link.vue
Binary files differ
diff --git a/__MACOSX/src/layout/components/Sidebar/._Logo.vue b/__MACOSX/src/layout/components/Sidebar/._Logo.vue
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/layout/components/Sidebar/._Logo.vue
Binary files differ
diff --git a/__MACOSX/src/layout/components/Sidebar/._SidebarItem.vue b/__MACOSX/src/layout/components/Sidebar/._SidebarItem.vue
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/layout/components/Sidebar/._SidebarItem.vue
Binary files differ
diff --git a/__MACOSX/src/layout/components/Sidebar/._index.vue b/__MACOSX/src/layout/components/Sidebar/._index.vue
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/layout/components/Sidebar/._index.vue
Binary files differ
diff --git a/__MACOSX/src/layout/components/TagsView/._ScrollPane.vue b/__MACOSX/src/layout/components/TagsView/._ScrollPane.vue
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/layout/components/TagsView/._ScrollPane.vue
Binary files differ
diff --git a/__MACOSX/src/layout/components/TagsView/._index.vue b/__MACOSX/src/layout/components/TagsView/._index.vue
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/layout/components/TagsView/._index.vue
Binary files differ
diff --git a/__MACOSX/src/layout/mixin/._ResizeHandler.js b/__MACOSX/src/layout/mixin/._ResizeHandler.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/layout/mixin/._ResizeHandler.js
Binary files differ
diff --git a/__MACOSX/src/libs/._dialog.js b/__MACOSX/src/libs/._dialog.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/libs/._dialog.js
Binary files differ
diff --git a/__MACOSX/src/libs/._loading.js b/__MACOSX/src/libs/._loading.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/libs/._loading.js
Binary files differ
diff --git a/__MACOSX/src/libs/._modal-attr.js b/__MACOSX/src/libs/._modal-attr.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/libs/._modal-attr.js
Binary files differ
diff --git a/__MACOSX/src/libs/._modal-coupon.js b/__MACOSX/src/libs/._modal-coupon.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/libs/._modal-coupon.js
Binary files differ
diff --git a/__MACOSX/src/libs/._modal-icon.js b/__MACOSX/src/libs/._modal-icon.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/libs/._modal-icon.js
Binary files differ
diff --git a/__MACOSX/src/libs/._public.js b/__MACOSX/src/libs/._public.js
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/libs/._public.js
Binary files differ
diff --git a/__MACOSX/src/libs/._timeOptions.js b/__MACOSX/src/libs/._timeOptions.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/libs/._timeOptions.js
Binary files differ
diff --git a/__MACOSX/src/libs/._wechat.js b/__MACOSX/src/libs/._wechat.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/libs/._wechat.js
Binary files differ
diff --git a/__MACOSX/src/plugins/._auth.js b/__MACOSX/src/plugins/._auth.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/plugins/._auth.js
Binary files differ
diff --git a/__MACOSX/src/plugins/._cache.js b/__MACOSX/src/plugins/._cache.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/plugins/._cache.js
Binary files differ
diff --git a/__MACOSX/src/plugins/._download.js b/__MACOSX/src/plugins/._download.js
new file mode 100644
index 0000000..b241a03
--- /dev/null
+++ b/__MACOSX/src/plugins/._download.js
Binary files differ
diff --git a/__MACOSX/src/plugins/._index.js b/__MACOSX/src/plugins/._index.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/plugins/._index.js
Binary files differ
diff --git a/__MACOSX/src/plugins/._modal.js b/__MACOSX/src/plugins/._modal.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/plugins/._modal.js
Binary files differ
diff --git a/__MACOSX/src/router/._index.js b/__MACOSX/src/router/._index.js
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/router/._index.js
Binary files differ
diff --git a/__MACOSX/src/router/._modules b/__MACOSX/src/router/._modules
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/router/._modules
Binary files differ
diff --git a/__MACOSX/src/router/modules/._custom.js b/__MACOSX/src/router/modules/._custom.js
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/router/modules/._custom.js
Binary files differ
diff --git a/__MACOSX/src/router/modules/._maintain.js b/__MACOSX/src/router/modules/._maintain.js
new file mode 100644
index 0000000..0a6bb9f
--- /dev/null
+++ b/__MACOSX/src/router/modules/._maintain.js
Binary files differ
diff --git a/__MACOSX/src/router/modules/._mobile.js b/__MACOSX/src/router/modules/._mobile.js
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/router/modules/._mobile.js
Binary files differ
diff --git a/__MACOSX/src/router/modules/._operation.js b/__MACOSX/src/router/modules/._operation.js
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/router/modules/._operation.js
Binary files differ
diff --git a/__MACOSX/src/store/._getters.js b/__MACOSX/src/store/._getters.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/store/._getters.js
Binary files differ
diff --git a/__MACOSX/src/store/._index.js b/__MACOSX/src/store/._index.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/store/._index.js
Binary files differ
diff --git a/__MACOSX/src/store/._modules b/__MACOSX/src/store/._modules
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/store/._modules
Binary files differ
diff --git a/__MACOSX/src/store/modules/._app.js b/__MACOSX/src/store/modules/._app.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/store/modules/._app.js
Binary files differ
diff --git a/__MACOSX/src/store/modules/._errorLog.js b/__MACOSX/src/store/modules/._errorLog.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/store/modules/._errorLog.js
Binary files differ
diff --git a/__MACOSX/src/store/modules/._permission.js b/__MACOSX/src/store/modules/._permission.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/store/modules/._permission.js
Binary files differ
diff --git a/__MACOSX/src/store/modules/._settings.js b/__MACOSX/src/store/modules/._settings.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/store/modules/._settings.js
Binary files differ
diff --git a/__MACOSX/src/store/modules/._tagsView.js b/__MACOSX/src/store/modules/._tagsView.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/store/modules/._tagsView.js
Binary files differ
diff --git a/__MACOSX/src/store/modules/._user.js b/__MACOSX/src/store/modules/._user.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/store/modules/._user.js
Binary files differ
diff --git a/__MACOSX/src/styles/._btn.scss b/__MACOSX/src/styles/._btn.scss
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/styles/._btn.scss
Binary files differ
diff --git a/__MACOSX/src/styles/._element-ui.scss b/__MACOSX/src/styles/._element-ui.scss
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/styles/._element-ui.scss
Binary files differ
diff --git a/__MACOSX/src/styles/._element-variables.scss b/__MACOSX/src/styles/._element-variables.scss
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/styles/._element-variables.scss
Binary files differ
diff --git a/__MACOSX/src/styles/._index.scss b/__MACOSX/src/styles/._index.scss
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/styles/._index.scss
Binary files differ
diff --git a/__MACOSX/src/styles/._mixin.scss b/__MACOSX/src/styles/._mixin.scss
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/styles/._mixin.scss
Binary files differ
diff --git a/__MACOSX/src/styles/._reset.css b/__MACOSX/src/styles/._reset.css
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/styles/._reset.css
Binary files differ
diff --git a/__MACOSX/src/styles/._sidebar.scss b/__MACOSX/src/styles/._sidebar.scss
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/styles/._sidebar.scss
Binary files differ
diff --git a/__MACOSX/src/styles/._styles.scss b/__MACOSX/src/styles/._styles.scss
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/styles/._styles.scss
Binary files differ
diff --git a/__MACOSX/src/styles/._transition.scss b/__MACOSX/src/styles/._transition.scss
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/styles/._transition.scss
Binary files differ
diff --git a/__MACOSX/src/styles/._variables.scss b/__MACOSX/src/styles/._variables.scss
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/styles/._variables.scss
Binary files differ
diff --git a/__MACOSX/src/utils/._ZBKJIutil.js b/__MACOSX/src/utils/._ZBKJIutil.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/utils/._ZBKJIutil.js
Binary files differ
diff --git a/__MACOSX/src/utils/._aes.js b/__MACOSX/src/utils/._aes.js
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/utils/._aes.js
Binary files differ
diff --git a/__MACOSX/src/utils/._auth.js b/__MACOSX/src/utils/._auth.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/utils/._auth.js
Binary files differ
diff --git a/__MACOSX/src/utils/._clipboard.js b/__MACOSX/src/utils/._clipboard.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/utils/._clipboard.js
Binary files differ
diff --git a/__MACOSX/src/utils/._constants.js b/__MACOSX/src/utils/._constants.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/utils/._constants.js
Binary files differ
diff --git a/__MACOSX/src/utils/._error-log.js b/__MACOSX/src/utils/._error-log.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/utils/._error-log.js
Binary files differ
diff --git a/__MACOSX/src/utils/._get-page-title.js b/__MACOSX/src/utils/._get-page-title.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/utils/._get-page-title.js
Binary files differ
diff --git a/__MACOSX/src/utils/._index.js b/__MACOSX/src/utils/._index.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/utils/._index.js
Binary files differ
diff --git a/__MACOSX/src/utils/._newToExcel.js b/__MACOSX/src/utils/._newToExcel.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/utils/._newToExcel.js
Binary files differ
diff --git a/__MACOSX/src/utils/._open-window.js b/__MACOSX/src/utils/._open-window.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/utils/._open-window.js
Binary files differ
diff --git a/__MACOSX/src/utils/._parsing.js b/__MACOSX/src/utils/._parsing.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/utils/._parsing.js
Binary files differ
diff --git a/__MACOSX/src/utils/._permission.js b/__MACOSX/src/utils/._permission.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/utils/._permission.js
Binary files differ
diff --git a/__MACOSX/src/utils/._request.js b/__MACOSX/src/utils/._request.js
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/utils/._request.js
Binary files differ
diff --git a/__MACOSX/src/utils/._scroll-to.js b/__MACOSX/src/utils/._scroll-to.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/utils/._scroll-to.js
Binary files differ
diff --git a/__MACOSX/src/utils/._settingMer.js b/__MACOSX/src/utils/._settingMer.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/utils/._settingMer.js
Binary files differ
diff --git a/__MACOSX/src/utils/._utils.js b/__MACOSX/src/utils/._utils.js
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/utils/._utils.js
Binary files differ
diff --git a/__MACOSX/src/utils/._validate.js b/__MACOSX/src/utils/._validate.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/utils/._validate.js
Binary files differ
diff --git a/__MACOSX/src/vendor/._Blob.js b/__MACOSX/src/vendor/._Blob.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/vendor/._Blob.js
Binary files differ
diff --git a/__MACOSX/src/vendor/._Export1Excel.js b/__MACOSX/src/vendor/._Export1Excel.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/vendor/._Export1Excel.js
Binary files differ
diff --git a/__MACOSX/src/vendor/._Export2Excel.js b/__MACOSX/src/vendor/._Export2Excel.js
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/vendor/._Export2Excel.js
Binary files differ
diff --git a/__MACOSX/src/vendor/._Export2Zip.js b/__MACOSX/src/vendor/._Export2Zip.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/vendor/._Export2Zip.js
Binary files differ
diff --git a/__MACOSX/src/views/._.DS_Store b/__MACOSX/src/views/._.DS_Store
new file mode 100644
index 0000000..67d1422
--- /dev/null
+++ b/__MACOSX/src/views/._.DS_Store
Binary files differ
diff --git a/__MACOSX/src/views/._error-log b/__MACOSX/src/views/._error-log
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/views/._error-log
Binary files differ
diff --git a/__MACOSX/src/views/._error-page b/__MACOSX/src/views/._error-page
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/views/._error-page
Binary files differ
diff --git a/__MACOSX/src/views/._login b/__MACOSX/src/views/._login
new file mode 100644
index 0000000..2567d47
--- /dev/null
+++ b/__MACOSX/src/views/._login
Binary files differ
diff --git a/__MACOSX/src/views/._maintain b/__MACOSX/src/views/._maintain
new file mode 100644
index 0000000..2567d47
--- /dev/null
+++ b/__MACOSX/src/views/._maintain
Binary files differ
diff --git a/__MACOSX/src/views/._mobile b/__MACOSX/src/views/._mobile
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/views/._mobile
Binary files differ
diff --git a/__MACOSX/src/views/._redirect b/__MACOSX/src/views/._redirect
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/views/._redirect
Binary files differ
diff --git a/__MACOSX/src/views/._sms b/__MACOSX/src/views/._sms
new file mode 100644
index 0000000..2567d47
--- /dev/null
+++ b/__MACOSX/src/views/._sms
Binary files differ
diff --git a/__MACOSX/src/views/._systemLog b/__MACOSX/src/views/._systemLog
new file mode 100644
index 0000000..2567d47
--- /dev/null
+++ b/__MACOSX/src/views/._systemLog
Binary files differ
diff --git a/__MACOSX/src/views/._systemSetting b/__MACOSX/src/views/._systemSetting
new file mode 100644
index 0000000..2567d47
--- /dev/null
+++ b/__MACOSX/src/views/._systemSetting
Binary files differ
diff --git a/__MACOSX/src/views/._vehicle b/__MACOSX/src/views/._vehicle
new file mode 100644
index 0000000..2567d47
--- /dev/null
+++ b/__MACOSX/src/views/._vehicle
Binary files differ
diff --git a/__MACOSX/src/views/error-log/._components b/__MACOSX/src/views/error-log/._components
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/views/error-log/._components
Binary files differ
diff --git a/__MACOSX/src/views/error-log/._index.vue b/__MACOSX/src/views/error-log/._index.vue
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/views/error-log/._index.vue
Binary files differ
diff --git a/__MACOSX/src/views/error-log/components/._ErrorTestA.vue b/__MACOSX/src/views/error-log/components/._ErrorTestA.vue
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/views/error-log/components/._ErrorTestA.vue
Binary files differ
diff --git a/__MACOSX/src/views/error-log/components/._ErrorTestB.vue b/__MACOSX/src/views/error-log/components/._ErrorTestB.vue
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/views/error-log/components/._ErrorTestB.vue
Binary files differ
diff --git a/__MACOSX/src/views/error-page/._401.vue b/__MACOSX/src/views/error-page/._401.vue
new file mode 100644
index 0000000..a1855f9
--- /dev/null
+++ b/__MACOSX/src/views/error-page/._401.vue
Binary files differ
diff --git a/__MACOSX/src/views/error-page/._404.vue b/__MACOSX/src/views/error-page/._404.vue
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/views/error-page/._404.vue
Binary files differ
diff --git a/__MACOSX/src/views/login/._auth-redirect.vue b/__MACOSX/src/views/login/._auth-redirect.vue
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/views/login/._auth-redirect.vue
Binary files differ
diff --git a/__MACOSX/src/views/login/._index.vue b/__MACOSX/src/views/login/._index.vue
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/views/login/._index.vue
Binary files differ
diff --git a/__MACOSX/src/views/login/._mixins.js b/__MACOSX/src/views/login/._mixins.js
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/views/login/._mixins.js
Binary files differ
diff --git a/__MACOSX/src/views/maintain/._authCRMEB b/__MACOSX/src/views/maintain/._authCRMEB
new file mode 100644
index 0000000..2567d47
--- /dev/null
+++ b/__MACOSX/src/views/maintain/._authCRMEB
Binary files differ
diff --git a/__MACOSX/src/views/maintain/._devconfig b/__MACOSX/src/views/maintain/._devconfig
new file mode 100644
index 0000000..2567d47
--- /dev/null
+++ b/__MACOSX/src/views/maintain/._devconfig
Binary files differ
diff --git a/__MACOSX/src/views/maintain/._formConfig b/__MACOSX/src/views/maintain/._formConfig
new file mode 100644
index 0000000..2567d47
--- /dev/null
+++ b/__MACOSX/src/views/maintain/._formConfig
Binary files differ
diff --git a/__MACOSX/src/views/maintain/._index.vue b/__MACOSX/src/views/maintain/._index.vue
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/views/maintain/._index.vue
Binary files differ
diff --git a/__MACOSX/src/views/maintain/._picture b/__MACOSX/src/views/maintain/._picture
new file mode 100644
index 0000000..2567d47
--- /dev/null
+++ b/__MACOSX/src/views/maintain/._picture
Binary files differ
diff --git a/__MACOSX/src/views/maintain/._user b/__MACOSX/src/views/maintain/._user
new file mode 100644
index 0000000..2567d47
--- /dev/null
+++ b/__MACOSX/src/views/maintain/._user
Binary files differ
diff --git a/__MACOSX/src/views/maintain/authCRMEB/._index.vue b/__MACOSX/src/views/maintain/authCRMEB/._index.vue
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/views/maintain/authCRMEB/._index.vue
Binary files differ
diff --git a/__MACOSX/src/views/maintain/devconfig/._combineDataList.vue b/__MACOSX/src/views/maintain/devconfig/._combineDataList.vue
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/views/maintain/devconfig/._combineDataList.vue
Binary files differ
diff --git a/__MACOSX/src/views/maintain/devconfig/._combineEdit.vue b/__MACOSX/src/views/maintain/devconfig/._combineEdit.vue
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/views/maintain/devconfig/._combineEdit.vue
Binary files differ
diff --git a/__MACOSX/src/views/maintain/devconfig/._combinedData.vue b/__MACOSX/src/views/maintain/devconfig/._combinedData.vue
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/views/maintain/devconfig/._combinedData.vue
Binary files differ
diff --git a/__MACOSX/src/views/maintain/devconfig/._combinedDataEdit.vue b/__MACOSX/src/views/maintain/devconfig/._combinedDataEdit.vue
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/views/maintain/devconfig/._combinedDataEdit.vue
Binary files differ
diff --git a/__MACOSX/src/views/maintain/devconfig/._configCategotyEdit.vue b/__MACOSX/src/views/maintain/devconfig/._configCategotyEdit.vue
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/views/maintain/devconfig/._configCategotyEdit.vue
Binary files differ
diff --git a/__MACOSX/src/views/maintain/devconfig/._configCategroy.vue b/__MACOSX/src/views/maintain/devconfig/._configCategroy.vue
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/views/maintain/devconfig/._configCategroy.vue
Binary files differ
diff --git a/__MACOSX/src/views/maintain/devconfig/._configList.vue b/__MACOSX/src/views/maintain/devconfig/._configList.vue
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/views/maintain/devconfig/._configList.vue
Binary files differ
diff --git a/__MACOSX/src/views/maintain/formConfig/._edit.vue b/__MACOSX/src/views/maintain/formConfig/._edit.vue
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/views/maintain/formConfig/._edit.vue
Binary files differ
diff --git a/__MACOSX/src/views/maintain/formConfig/._index.vue b/__MACOSX/src/views/maintain/formConfig/._index.vue
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/views/maintain/formConfig/._index.vue
Binary files differ
diff --git a/__MACOSX/src/views/maintain/picture/._index.vue b/__MACOSX/src/views/maintain/picture/._index.vue
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/views/maintain/picture/._index.vue
Binary files differ
diff --git a/__MACOSX/src/views/maintain/user/._index.vue b/__MACOSX/src/views/maintain/user/._index.vue
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/views/maintain/user/._index.vue
Binary files differ
diff --git a/__MACOSX/src/views/mobile/._auth-send b/__MACOSX/src/views/mobile/._auth-send
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/views/mobile/._auth-send
Binary files differ
diff --git a/__MACOSX/src/views/mobile/._components b/__MACOSX/src/views/mobile/._components
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/views/mobile/._components
Binary files differ
diff --git a/__MACOSX/src/views/mobile/._orderCancellation b/__MACOSX/src/views/mobile/._orderCancellation
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/views/mobile/._orderCancellation
Binary files differ
diff --git a/__MACOSX/src/views/mobile/auth-send/._index.vue b/__MACOSX/src/views/mobile/auth-send/._index.vue
new file mode 100644
index 0000000..0a6bb9f
--- /dev/null
+++ b/__MACOSX/src/views/mobile/auth-send/._index.vue
Binary files differ
diff --git a/__MACOSX/src/views/mobile/components/._Loading.vue b/__MACOSX/src/views/mobile/components/._Loading.vue
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/views/mobile/components/._Loading.vue
Binary files differ
diff --git a/__MACOSX/src/views/mobile/components/._WriteOff.vue b/__MACOSX/src/views/mobile/components/._WriteOff.vue
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/views/mobile/components/._WriteOff.vue
Binary files differ
diff --git a/__MACOSX/src/views/mobile/orderCancellation/._hexiao.vue b/__MACOSX/src/views/mobile/orderCancellation/._hexiao.vue
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/views/mobile/orderCancellation/._hexiao.vue
Binary files differ
diff --git a/__MACOSX/src/views/mobile/orderCancellation/._hexiaoInfo.vue b/__MACOSX/src/views/mobile/orderCancellation/._hexiaoInfo.vue
new file mode 100644
index 0000000..0a6bb9f
--- /dev/null
+++ b/__MACOSX/src/views/mobile/orderCancellation/._hexiaoInfo.vue
Binary files differ
diff --git a/__MACOSX/src/views/mobile/orderCancellation/._index.vue b/__MACOSX/src/views/mobile/orderCancellation/._index.vue
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/views/mobile/orderCancellation/._index.vue
Binary files differ
diff --git a/__MACOSX/src/views/mobile/orderCancellation/._queryResult.vue b/__MACOSX/src/views/mobile/orderCancellation/._queryResult.vue
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/views/mobile/orderCancellation/._queryResult.vue
Binary files differ
diff --git a/__MACOSX/src/views/redirect/._index.vue b/__MACOSX/src/views/redirect/._index.vue
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/src/views/redirect/._index.vue
Binary files differ
diff --git a/__MACOSX/src/views/sms/._index.vue b/__MACOSX/src/views/sms/._index.vue
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/views/sms/._index.vue
Binary files differ
diff --git a/__MACOSX/src/views/sms/._smsConfig b/__MACOSX/src/views/sms/._smsConfig
new file mode 100644
index 0000000..2567d47
--- /dev/null
+++ b/__MACOSX/src/views/sms/._smsConfig
Binary files differ
diff --git a/__MACOSX/src/views/sms/._smsMessage b/__MACOSX/src/views/sms/._smsMessage
new file mode 100644
index 0000000..2567d47
--- /dev/null
+++ b/__MACOSX/src/views/sms/._smsMessage
Binary files differ
diff --git a/__MACOSX/src/views/sms/._smsPay b/__MACOSX/src/views/sms/._smsPay
new file mode 100644
index 0000000..2567d47
--- /dev/null
+++ b/__MACOSX/src/views/sms/._smsPay
Binary files differ
diff --git a/__MACOSX/src/views/sms/._smsTemplate b/__MACOSX/src/views/sms/._smsTemplate
new file mode 100644
index 0000000..2567d47
--- /dev/null
+++ b/__MACOSX/src/views/sms/._smsTemplate
Binary files differ
diff --git a/__MACOSX/src/views/sms/smsConfig/._components b/__MACOSX/src/views/sms/smsConfig/._components
new file mode 100644
index 0000000..2567d47
--- /dev/null
+++ b/__MACOSX/src/views/sms/smsConfig/._components
Binary files differ
diff --git a/__MACOSX/src/views/sms/smsConfig/._index.vue b/__MACOSX/src/views/sms/smsConfig/._index.vue
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/views/sms/smsConfig/._index.vue
Binary files differ
diff --git a/__MACOSX/src/views/sms/smsConfig/components/._forgetPassword.vue b/__MACOSX/src/views/sms/smsConfig/components/._forgetPassword.vue
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/views/sms/smsConfig/components/._forgetPassword.vue
Binary files differ
diff --git a/__MACOSX/src/views/sms/smsConfig/components/._forgetPhone.vue b/__MACOSX/src/views/sms/smsConfig/components/._forgetPhone.vue
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/views/sms/smsConfig/components/._forgetPhone.vue
Binary files differ
diff --git a/__MACOSX/src/views/sms/smsConfig/components/._loginFrom.vue b/__MACOSX/src/views/sms/smsConfig/components/._loginFrom.vue
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/views/sms/smsConfig/components/._loginFrom.vue
Binary files differ
diff --git a/__MACOSX/src/views/sms/smsConfig/components/._register.vue b/__MACOSX/src/views/sms/smsConfig/components/._register.vue
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/views/sms/smsConfig/components/._register.vue
Binary files differ
diff --git a/__MACOSX/src/views/sms/smsConfig/components/._tableList.vue b/__MACOSX/src/views/sms/smsConfig/components/._tableList.vue
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/views/sms/smsConfig/components/._tableList.vue
Binary files differ
diff --git a/__MACOSX/src/views/sms/smsMessage/._index.vue b/__MACOSX/src/views/sms/smsMessage/._index.vue
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/views/sms/smsMessage/._index.vue
Binary files differ
diff --git a/__MACOSX/src/views/sms/smsPay/._index.vue b/__MACOSX/src/views/sms/smsPay/._index.vue
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/views/sms/smsPay/._index.vue
Binary files differ
diff --git a/__MACOSX/src/views/sms/smsTemplate/._index.vue b/__MACOSX/src/views/sms/smsTemplate/._index.vue
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/views/sms/smsTemplate/._index.vue
Binary files differ
diff --git a/__MACOSX/src/views/systemLog/._index.vue b/__MACOSX/src/views/systemLog/._index.vue
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/views/systemLog/._index.vue
Binary files differ
diff --git a/__MACOSX/src/views/systemSetting/._administratorAuthority b/__MACOSX/src/views/systemSetting/._administratorAuthority
new file mode 100644
index 0000000..2567d47
--- /dev/null
+++ b/__MACOSX/src/views/systemSetting/._administratorAuthority
Binary files differ
diff --git a/__MACOSX/src/views/systemSetting/._notification b/__MACOSX/src/views/systemSetting/._notification
new file mode 100644
index 0000000..2567d47
--- /dev/null
+++ b/__MACOSX/src/views/systemSetting/._notification
Binary files differ
diff --git a/__MACOSX/src/views/systemSetting/._setting b/__MACOSX/src/views/systemSetting/._setting
new file mode 100644
index 0000000..2567d47
--- /dev/null
+++ b/__MACOSX/src/views/systemSetting/._setting
Binary files differ
diff --git a/__MACOSX/src/views/systemSetting/administratorAuthority/._adminList b/__MACOSX/src/views/systemSetting/administratorAuthority/._adminList
new file mode 100644
index 0000000..2567d47
--- /dev/null
+++ b/__MACOSX/src/views/systemSetting/administratorAuthority/._adminList
Binary files differ
diff --git a/__MACOSX/src/views/systemSetting/administratorAuthority/._identityManager b/__MACOSX/src/views/systemSetting/administratorAuthority/._identityManager
new file mode 100644
index 0000000..2567d47
--- /dev/null
+++ b/__MACOSX/src/views/systemSetting/administratorAuthority/._identityManager
Binary files differ
diff --git a/__MACOSX/src/views/systemSetting/administratorAuthority/._index.vue b/__MACOSX/src/views/systemSetting/administratorAuthority/._index.vue
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/views/systemSetting/administratorAuthority/._index.vue
Binary files differ
diff --git a/__MACOSX/src/views/systemSetting/administratorAuthority/._permissionRules b/__MACOSX/src/views/systemSetting/administratorAuthority/._permissionRules
new file mode 100644
index 0000000..2567d47
--- /dev/null
+++ b/__MACOSX/src/views/systemSetting/administratorAuthority/._permissionRules
Binary files differ
diff --git a/__MACOSX/src/views/systemSetting/administratorAuthority/adminList/._edit.vue b/__MACOSX/src/views/systemSetting/administratorAuthority/adminList/._edit.vue
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/views/systemSetting/administratorAuthority/adminList/._edit.vue
Binary files differ
diff --git a/__MACOSX/src/views/systemSetting/administratorAuthority/adminList/._index.vue b/__MACOSX/src/views/systemSetting/administratorAuthority/adminList/._index.vue
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/views/systemSetting/administratorAuthority/adminList/._index.vue
Binary files differ
diff --git a/__MACOSX/src/views/systemSetting/administratorAuthority/identityManager/._edit.vue b/__MACOSX/src/views/systemSetting/administratorAuthority/identityManager/._edit.vue
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/views/systemSetting/administratorAuthority/identityManager/._edit.vue
Binary files differ
diff --git a/__MACOSX/src/views/systemSetting/administratorAuthority/identityManager/._index.vue b/__MACOSX/src/views/systemSetting/administratorAuthority/identityManager/._index.vue
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/views/systemSetting/administratorAuthority/identityManager/._index.vue
Binary files differ
diff --git a/__MACOSX/src/views/systemSetting/administratorAuthority/permissionRules/._index.vue b/__MACOSX/src/views/systemSetting/administratorAuthority/permissionRules/._index.vue
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/views/systemSetting/administratorAuthority/permissionRules/._index.vue
Binary files differ
diff --git a/__MACOSX/src/views/systemSetting/notification/._index.vue b/__MACOSX/src/views/systemSetting/notification/._index.vue
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/views/systemSetting/notification/._index.vue
Binary files differ
diff --git a/__MACOSX/src/views/systemSetting/setting/._index.vue b/__MACOSX/src/views/systemSetting/setting/._index.vue
new file mode 100644
index 0000000..37ec8c6
--- /dev/null
+++ b/__MACOSX/src/views/systemSetting/setting/._index.vue
Binary files differ
diff --git a/__MACOSX/src/views/vehicle/._queuing b/__MACOSX/src/views/vehicle/._queuing
new file mode 100644
index 0000000..2567d47
--- /dev/null
+++ b/__MACOSX/src/views/vehicle/._queuing
Binary files differ
diff --git a/__MACOSX/src/views/vehicle/._registration b/__MACOSX/src/views/vehicle/._registration
new file mode 100644
index 0000000..2567d47
--- /dev/null
+++ b/__MACOSX/src/views/vehicle/._registration
Binary files differ
diff --git a/__MACOSX/src/views/vehicle/queuing/._edit.vue b/__MACOSX/src/views/vehicle/queuing/._edit.vue
new file mode 100644
index 0000000..0a6bb9f
--- /dev/null
+++ b/__MACOSX/src/views/vehicle/queuing/._edit.vue
Binary files differ
diff --git a/__MACOSX/src/views/vehicle/queuing/._index.vue b/__MACOSX/src/views/vehicle/queuing/._index.vue
new file mode 100644
index 0000000..0a6bb9f
--- /dev/null
+++ b/__MACOSX/src/views/vehicle/queuing/._index.vue
Binary files differ
diff --git a/__MACOSX/src/views/vehicle/registration/._edit.vue b/__MACOSX/src/views/vehicle/registration/._edit.vue
new file mode 100644
index 0000000..0a6bb9f
--- /dev/null
+++ b/__MACOSX/src/views/vehicle/registration/._edit.vue
Binary files differ
diff --git a/__MACOSX/src/views/vehicle/registration/._index.vue b/__MACOSX/src/views/vehicle/registration/._index.vue
new file mode 100644
index 0000000..0a6bb9f
--- /dev/null
+++ b/__MACOSX/src/views/vehicle/registration/._index.vue
Binary files differ
diff --git a/__MACOSX/src/views/vehicle/registration/._printCss.js b/__MACOSX/src/views/vehicle/registration/._printCss.js
new file mode 100644
index 0000000..0a6bb9f
--- /dev/null
+++ b/__MACOSX/src/views/vehicle/registration/._printCss.js
Binary files differ
diff --git a/__MACOSX/tests/._.DS_Store b/__MACOSX/tests/._.DS_Store
new file mode 100644
index 0000000..a5b28df
--- /dev/null
+++ b/__MACOSX/tests/._.DS_Store
Binary files differ
diff --git a/__MACOSX/tests/._unit b/__MACOSX/tests/._unit
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/tests/._unit
Binary files differ
diff --git a/__MACOSX/tests/unit/._.DS_Store b/__MACOSX/tests/unit/._.DS_Store
new file mode 100644
index 0000000..a5b28df
--- /dev/null
+++ b/__MACOSX/tests/unit/._.DS_Store
Binary files differ
diff --git a/__MACOSX/tests/unit/._.eslintrc.js b/__MACOSX/tests/unit/._.eslintrc.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/tests/unit/._.eslintrc.js
Binary files differ
diff --git a/__MACOSX/tests/unit/._components b/__MACOSX/tests/unit/._components
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/tests/unit/._components
Binary files differ
diff --git a/__MACOSX/tests/unit/._utils b/__MACOSX/tests/unit/._utils
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/tests/unit/._utils
Binary files differ
diff --git a/__MACOSX/tests/unit/components/._Hamburger.spec.js b/__MACOSX/tests/unit/components/._Hamburger.spec.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/tests/unit/components/._Hamburger.spec.js
Binary files differ
diff --git a/__MACOSX/tests/unit/components/._SvgIcon.spec.js b/__MACOSX/tests/unit/components/._SvgIcon.spec.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/tests/unit/components/._SvgIcon.spec.js
Binary files differ
diff --git a/__MACOSX/tests/unit/utils/._formatTime.spec.js b/__MACOSX/tests/unit/utils/._formatTime.spec.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/tests/unit/utils/._formatTime.spec.js
Binary files differ
diff --git a/__MACOSX/tests/unit/utils/._parseTime.spec.js b/__MACOSX/tests/unit/utils/._parseTime.spec.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/tests/unit/utils/._parseTime.spec.js
Binary files differ
diff --git a/__MACOSX/tests/unit/utils/._validate.spec.js b/__MACOSX/tests/unit/utils/._validate.spec.js
new file mode 100644
index 0000000..51fcd84
--- /dev/null
+++ b/__MACOSX/tests/unit/utils/._validate.spec.js
Binary files differ
diff --git a/babel.config.js b/babel.config.js
new file mode 100644
index 0000000..5072fb2
--- /dev/null
+++ b/babel.config.js
@@ -0,0 +1,10 @@
+module.exports = {
+ presets: [
+ ['@vue/app',
+ {
+ 'useBuiltIns': 'entry',
+ polyfills: ['es6.promise', 'es6.symbol']
+ }
+ ]
+ ]
+}
diff --git a/build/index.js b/build/index.js
new file mode 100644
index 0000000..0c57de2
--- /dev/null
+++ b/build/index.js
@@ -0,0 +1,35 @@
+const { run } = require('runjs')
+const chalk = require('chalk')
+const config = require('../vue.config.js')
+const rawArgv = process.argv.slice(2)
+const args = rawArgv.join(' ')
+
+if (process.env.npm_config_preview || rawArgv.includes('--preview')) {
+ const report = rawArgv.includes('--report')
+
+ run(`vue-cli-service build ${args}`)
+
+ const port = 9526
+ const publicPath = config.publicPath
+
+ var connect = require('connect')
+ var serveStatic = require('serve-static')
+ const app = connect()
+
+ app.use(
+ publicPath,
+ serveStatic('./dist', {
+ index: ['index.html', '/']
+ })
+ )
+
+ app.listen(port, function () {
+ console.log(chalk.green(`> Preview at http://localhost:${port}${publicPath}`))
+ if (report) {
+ console.log(chalk.green(`> Report at http://localhost:${port}${publicPath}report.html`))
+ }
+
+ })
+} else {
+ run(`vue-cli-service build ${args}`)
+}
diff --git a/jest.config.js b/jest.config.js
new file mode 100644
index 0000000..143cdc8
--- /dev/null
+++ b/jest.config.js
@@ -0,0 +1,24 @@
+module.exports = {
+ moduleFileExtensions: ['js', 'jsx', 'json', 'vue'],
+ transform: {
+ '^.+\\.vue$': 'vue-jest',
+ '.+\\.(css|styl|less|sass|scss|svg|png|jpg|ttf|woff|woff2)$':
+ 'jest-transform-stub',
+ '^.+\\.jsx?$': 'babel-jest'
+ },
+ moduleNameMapper: {
+ '^@/(.*)$': '<rootDir>/src/$1'
+ },
+ snapshotSerializers: ['jest-serializer-vue'],
+ testMatch: [
+ '**/tests/unit/**/*.spec.(js|jsx|ts|tsx)|**/__tests__/*.(js|jsx|ts|tsx)'
+ ],
+ collectCoverageFrom: ['src/utils/**/*.{js,vue}', '!src/utils/auth.js', '!src/utils/request.js', 'src/components/**/*.{js,vue}'],
+ coverageDirectory: '<rootDir>/tests/unit/coverage',
+ // 'collectCoverage': true,
+ 'coverageReporters': [
+ 'lcov',
+ 'text-summary'
+ ],
+ testURL: 'http://localhost/'
+}
diff --git a/jsconfig.json b/jsconfig.json
new file mode 100644
index 0000000..958df04
--- /dev/null
+++ b/jsconfig.json
@@ -0,0 +1,9 @@
+{
+ "compilerOptions": {
+ "baseUrl": "./",
+ "paths": {
+ "@/*": ["src/*"]
+ }
+ },
+ "exclude": ["node_modules", "dist"]
+}
\ No newline at end of file
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..5a32098
--- /dev/null
+++ b/package.json
@@ -0,0 +1,119 @@
+{
+ "name": "CMS-java-webpc-admin",
+ "version": "4.2.1",
+ "description": "Java mall free open source CMS mall JAVA version, SpringBoot + Maven + Swagger + Mybatis Plus + Redis + Uniapp +Vue+elementUI Including mobile terminal, applet, PC background, Api interface; products, users, shopping carts, orders, points, Modules such as coupons, marketing, balance, permissions, roles, system settings, combined data, and drag-and-drop forms have greatly reduced the cost of second-opening.",
+ "author": "CMS",
+ "license": "MIT",
+ "scripts": {
+ "dev": "set NODE_OPTIONS=--openssl-legacy-provider && vue-cli-service serve",
+ "build": "vue-cli-service build",
+ "build:stage": "vue-cli-service build --mode staging",
+ "preview": "node build/index.js --preview",
+ "lint": "eslint --fix --ext .js,.vue src",
+ "test:unit": "jest --clearCache && vue-cli-service test:unit",
+ "test:ci": "npm run lint && npm run test:unit",
+ "svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml",
+ "new": "plop",
+ "upload": "node jcrUpload.js",
+ "deploy": "npm run build && npm run upload"
+ },
+ "husky": {
+ "hooks": {
+ "pre-commit": "lint-staged"
+ }
+ },
+ "lint-staged": {
+ "src/**/*.{js,vue}": [
+ "eslint --fix",
+ "git add"
+ ]
+ },
+ "keywords": [
+ "CMS Java"
+ ],
+ "repository": {
+ "type": "gitee",
+ "url": "https://gitee.com/ZhongBangKeJi/CMS_java"
+ },
+ "bugs": {
+ "url": "https://gitee.com/ZhongBangKeJi/CMS_java/issues"
+ },
+ "dependencies": {
+ "@babel/parser": "^7.9.6",
+ "@riophae/vue-treeselect": "0.4.0",
+ "async-validator": "^1.11.2",
+ "axios": "^0.24.0",
+ "babel-polyfill": "^6.26.0",
+ "clipboard": "^2.0.4",
+ "core-js": "^2.6.11",
+ "crypto-js": "^4.1.1",
+ "echarts": "4.2.1",
+ "element-ui": "2.13.0",
+ "file-saver": "2.0.1",
+ "fuse.js": "3.4.4",
+ "html5-qrcode": "^2.3.4",
+ "js-cookie": "2.2.0",
+ "jsonlint": "1.6.3",
+ "jszip": "3.2.1",
+ "mpvue-calendar": "^2.3.7",
+ "normalize.css": "7.0.0",
+ "nprogress": "0.2.0",
+ "path-to-regexp": "2.4.0",
+ "print-js": "^1.6.0",
+ "printjs": "^1.1.0",
+ "qrcodejs2": "^0.0.2",
+ "sass": "1.26.2",
+ "sass-loader": "^7.2.0",
+ "screenfull": "4.2.0",
+ "script-loader": "0.7.2",
+ "throttle-debounce": "^2.1.0",
+ "vconsole": "^3.15.1",
+ "vue": "2.6.10",
+ "vue-awesome-swiper": "^3.1.3",
+ "vue-echarts": "^4.0.3",
+ "vue-router": "3.0.2",
+ "vue-ydui": "^1.2.6",
+ "vuedraggable": "^2.20.0",
+ "vuex": "3.1.0",
+ "wechat-jssdk": "^5.0.4",
+ "xlsx": "0.14.1"
+ },
+ "devDependencies": {
+ "@babel/core": "7.0.0",
+ "@babel/register": "7.0.0",
+ "@vue/cli-plugin-babel": "3.5.3",
+ "@vue/cli-plugin-eslint": "^3.9.1",
+ "@vue/cli-plugin-unit-jest": "3.5.3",
+ "@vue/cli-service": "3.5.3",
+ "@vue/test-utils": "1.0.0-beta.29",
+ "babel-core": "7.0.0-bridge.0",
+ "babel-jest": "23.6.0",
+ "chalk": "2.4.2",
+ "chokidar": "^3.1.1",
+ "connect": "3.6.6",
+ "eslint": "5.15.3",
+ "eslint-plugin-vue": "5.2.2",
+ "html-webpack-plugin": "3.2.0",
+ "husky": "1.3.1",
+ "lint-staged": "8.1.5",
+ "mockjs": "1.0.1-beta3",
+ "plop": "2.3.0",
+ "runjs": "^4.3.2",
+ "scp2": "^0.5.0",
+ "script-ext-html-webpack-plugin": "2.1.3",
+ "script-loader": "^0.7.2",
+ "serve-static": "^1.13.2",
+ "svg-sprite-loader": "4.1.3",
+ "svgo": "1.2.0",
+ "vue-lazyload": "^1.3.3",
+ "vue-template-compiler": "2.6.10"
+ },
+ "engines": {
+ "node": ">=8.9",
+ "npm": ">= 3.0.0"
+ },
+ "browserslist": [
+ "> 1%",
+ "last 2 versions"
+ ]
+}
diff --git a/plop-templates/component/index.hbs b/plop-templates/component/index.hbs
new file mode 100644
index 0000000..7661055
--- /dev/null
+++ b/plop-templates/component/index.hbs
@@ -0,0 +1,26 @@
+{{#if template}}
+<template>
+ <div />
+</template>
+{{/if}}
+
+{{#if script}}
+<script>
+export default {
+ name: '{{ properCase name }}',
+ props: {},
+ data() {
+ return {}
+ },
+ created() {},
+ mounted() {},
+ methods: {}
+}
+</script>
+{{/if}}
+
+{{#if style}}
+<style lang="scss" scoped>
+
+</style>
+{{/if}}
diff --git a/plop-templates/component/prompt.js b/plop-templates/component/prompt.js
new file mode 100644
index 0000000..9f346ed
--- /dev/null
+++ b/plop-templates/component/prompt.js
@@ -0,0 +1,55 @@
+const { notEmpty } = require('../utils.js')
+
+module.exports = {
+ description: 'generate vue component',
+ prompts: [{
+ type: 'input',
+ name: 'name',
+ message: 'component name please',
+ validate: notEmpty('name')
+ },
+ {
+ type: 'checkbox',
+ name: 'blocks',
+ message: 'Blocks:',
+ choices: [{
+ name: '<wxTemplate>',
+ value: 'template',
+ checked: true
+ },
+ {
+ name: '<script>',
+ value: 'script',
+ checked: true
+ },
+ {
+ name: 'style',
+ value: 'style',
+ checked: true
+ }
+ ],
+ validate(value) {
+ if (value.indexOf('script') === -1 && value.indexOf('template') === -1) {
+ return 'Components require at least a <script> or <wxTemplate> tag.'
+ }
+ return true
+ }
+ }
+ ],
+ actions: data => {
+ const name = '{{properCase name}}'
+ const actions = [{
+ type: 'add',
+ path: `src/components/${name}/index.vue`,
+ templateFile: 'plop-templates/component/index.hbs',
+ data: {
+ name: name,
+ template: data.blocks.includes('template'),
+ script: data.blocks.includes('script'),
+ style: data.blocks.includes('style')
+ }
+ }]
+
+ return actions
+ }
+}
diff --git a/plop-templates/store/index.hbs b/plop-templates/store/index.hbs
new file mode 100644
index 0000000..4f8e2dc
--- /dev/null
+++ b/plop-templates/store/index.hbs
@@ -0,0 +1,16 @@
+{{#if state}}
+const state = {}
+{{/if}}
+
+{{#if mutations}}
+const mutations = {}
+{{/if}}
+
+{{#if actions}}
+const actions = {}
+{{/if}}
+
+export default {
+ namespaced: true,
+ {{options}}
+}
diff --git a/plop-templates/store/prompt.js b/plop-templates/store/prompt.js
new file mode 100644
index 0000000..bcbc11d
--- /dev/null
+++ b/plop-templates/store/prompt.js
@@ -0,0 +1,62 @@
+const { notEmpty } = require('../utils.js')
+
+module.exports = {
+ description: 'generate store',
+ prompts: [{
+ type: 'input',
+ name: 'name',
+ message: 'store name please',
+ validate: notEmpty('name')
+ },
+ {
+ type: 'checkbox',
+ name: 'blocks',
+ message: 'Blocks:',
+ choices: [{
+ name: 'state',
+ value: 'state',
+ checked: true
+ },
+ {
+ name: 'mutations',
+ value: 'mutations',
+ checked: true
+ },
+ {
+ name: 'actions',
+ value: 'actions',
+ checked: true
+ }
+ ],
+ validate(value) {
+ if (!value.includes('state') || !value.includes('mutations')) {
+ return 'store require at least state and mutations'
+ }
+ return true
+ }
+ }
+ ],
+ actions(data) {
+ const name = '{{name}}'
+ const { blocks } = data
+ const options = ['state', 'mutations']
+ const joinFlag = `,
+ `
+ if (blocks.length === 3) {
+ options.push('actions')
+ }
+
+ const actions = [{
+ type: 'add',
+ path: `src/store/modules/${name}.js`,
+ templateFile: 'plop-templates/store/index.hbs',
+ data: {
+ options: options.join(joinFlag),
+ state: blocks.includes('state'),
+ mutations: blocks.includes('mutations'),
+ actions: blocks.includes('actions')
+ }
+ }]
+ return actions
+ }
+}
diff --git a/plop-templates/utils.js b/plop-templates/utils.js
new file mode 100644
index 0000000..0310ca0
--- /dev/null
+++ b/plop-templates/utils.js
@@ -0,0 +1,9 @@
+exports.notEmpty = name => {
+ return v => {
+ if (!v || v.trim === '') {
+ return `${name} is required`
+ } else {
+ return true
+ }
+ }
+}
diff --git a/plop-templates/view/index.hbs b/plop-templates/view/index.hbs
new file mode 100644
index 0000000..7661055
--- /dev/null
+++ b/plop-templates/view/index.hbs
@@ -0,0 +1,26 @@
+{{#if template}}
+<template>
+ <div />
+</template>
+{{/if}}
+
+{{#if script}}
+<script>
+export default {
+ name: '{{ properCase name }}',
+ props: {},
+ data() {
+ return {}
+ },
+ created() {},
+ mounted() {},
+ methods: {}
+}
+</script>
+{{/if}}
+
+{{#if style}}
+<style lang="scss" scoped>
+
+</style>
+{{/if}}
diff --git a/plop-templates/view/prompt.js b/plop-templates/view/prompt.js
new file mode 100644
index 0000000..10e00d5
--- /dev/null
+++ b/plop-templates/view/prompt.js
@@ -0,0 +1,55 @@
+const { notEmpty } = require('../utils.js')
+
+module.exports = {
+ description: 'generate a view',
+ prompts: [{
+ type: 'input',
+ name: 'name',
+ message: 'view name please',
+ validate: notEmpty('name')
+ },
+ {
+ type: 'checkbox',
+ name: 'blocks',
+ message: 'Blocks:',
+ choices: [{
+ name: '<wxTemplate>',
+ value: 'template',
+ checked: true
+ },
+ {
+ name: '<script>',
+ value: 'script',
+ checked: true
+ },
+ {
+ name: 'style',
+ value: 'style',
+ checked: true
+ }
+ ],
+ validate(value) {
+ if (value.indexOf('script') === -1 && value.indexOf('template') === -1) {
+ return 'View require at least a <script> or <wxTemplate> tag.'
+ }
+ return true
+ }
+ }
+ ],
+ actions: data => {
+ const name = '{{name}}'
+ const actions = [{
+ type: 'add',
+ path: `src/views/${name}/index.vue`,
+ templateFile: 'plop-templates/view/index.hbs',
+ data: {
+ name: name,
+ template: data.blocks.includes('template'),
+ script: data.blocks.includes('script'),
+ style: data.blocks.includes('style')
+ }
+ }]
+
+ return actions
+ }
+}
diff --git a/plopfile.js b/plopfile.js
new file mode 100644
index 0000000..57387bf
--- /dev/null
+++ b/plopfile.js
@@ -0,0 +1,9 @@
+const viewGenerator = require('./plop-templates/view/prompt')
+const componentGenerator = require('./plop-templates/component/prompt')
+const storeGenerator = require('./plop-templates/store/prompt.js')
+
+module.exports = function(plop) {
+ plop.setGenerator('view', viewGenerator)
+ plop.setGenerator('component', componentGenerator)
+ plop.setGenerator('store', storeGenerator)
+}
diff --git a/postcss.config.js b/postcss.config.js
new file mode 100644
index 0000000..961986e
--- /dev/null
+++ b/postcss.config.js
@@ -0,0 +1,5 @@
+module.exports = {
+ plugins: {
+ autoprefixer: {}
+ }
+}
diff --git a/public/favicon.ico b/public/favicon.ico
new file mode 100644
index 0000000..d0ed06b
--- /dev/null
+++ b/public/favicon.ico
Binary files differ
diff --git a/public/index.html b/public/index.html
new file mode 100644
index 0000000..ba34e91
--- /dev/null
+++ b/public/index.html
@@ -0,0 +1,23 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
+ <meta name="renderer" content="webkit">
+ <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
+ <meta name="author" content="CMS! Team and CMS UI Team" />
+ <meta name="copyright" content="2001-2013 CMS Inc." />
+ <link rel="icon" href="<%= BASE_URL %>favicon.ico">
+ <title><%= webpackConfig.name %></title>
+ </head>
+ <body>
+ <script src="<%= BASE_URL %>static/tinymce4.7.5/tinymce.min.js"></script>
+ <div id="app"></div>
+ <!-- built files will be auto injected -->
+ <div class="pre-loader" id="pre-loader">
+ <div class="inner one"></div>
+ <div class="inner two"></div>
+ <div class="inner three"></div>
+ </div>
+ </body>
+</html>
diff --git a/public/preview.html b/public/preview.html
new file mode 100644
index 0000000..8e43983
--- /dev/null
+++ b/public/preview.html
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html lang="zh">
+ <head>
+ <meta charset="utf-8">
+ <meta http-equiv="X-UA-Compatible" content="IE=edge">
+ <meta name="viewport" content="width=device-width,initial-scale=1.0">
+ <link rel="icon" href="<%= BASE_URL %>favicon.ico">
+ <title>form-generator-preview</title>
+ <link href="https://cdn.bootcss.com/element-ui/2.12.0/theme-chalk/index.css" rel="stylesheet">
+ <script src="https://cdn.bootcss.com/vue/2.6.10/vue.min.js"></script>
+ <script src="https://cdn.bootcss.com/vue-router/3.1.3/vue-router.min.js"></script>
+ <!-- <script src="https://cdn.bootcss.com/axios/0.19.0/axios.min.js"></script> -->
+ <script src="https://cdn.bootcss.com/element-ui/2.12.0/index.js"></script>
+ <style>
+ body{
+ margin: 0;
+ padding: 0;
+ overflow-x: hidden;
+ -moz-osx-font-smoothing: grayscale;
+ -webkit-font-smoothing: antialiased;
+ text-rendering: optimizeLegibility;
+ height: calc(100vh - 33px);
+ padding: 12px;
+ box-sizing: border-box;
+ font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;
+ }
+ input, textarea{
+ font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;
+ }
+ </style>
+ </head>
+ <body>
+ <noscript>
+ <strong>鎶辨瓑锛宩avascript琚鐢紝璇峰紑鍚悗閲嶈瘯銆�</strong>
+ </noscript>
+ <div id="previewApp"></div>
+ </body>
+</html>
\ No newline at end of file
diff --git a/public/static/tinymce4.7.5/langs/zh_CN.js b/public/static/tinymce4.7.5/langs/zh_CN.js
new file mode 100644
index 0000000..e11f322
--- /dev/null
+++ b/public/static/tinymce4.7.5/langs/zh_CN.js
@@ -0,0 +1,230 @@
+tinymce.addI18n('zh_CN',{
+"Cut": "\u526a\u5207",
+"Heading 5": "\u6807\u98985",
+"Header 2": "\u6807\u98982",
+"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",
+"Heading 4": "\u6807\u98984",
+"Div": "Div\u533a\u5757",
+"Heading 2": "\u6807\u98982",
+"Paste": "\u7c98\u8d34",
+"Close": "\u5173\u95ed",
+"Font Family": "\u5b57\u4f53",
+"Pre": "\u9884\u683c\u5f0f\u6587\u672c",
+"Align right": "\u53f3\u5bf9\u9f50",
+"New document": "\u65b0\u6587\u6863",
+"Blockquote": "\u5f15\u7528",
+"Numbered list": "\u7f16\u53f7\u5217\u8868",
+"Heading 1": "\u6807\u98981",
+"Headings": "\u6807\u9898",
+"Increase indent": "\u589e\u52a0\u7f29\u8fdb",
+"Formats": "\u683c\u5f0f",
+"Headers": "\u6807\u9898",
+"Select all": "\u5168\u9009",
+"Header 3": "\u6807\u98983",
+"Blocks": "\u533a\u5757",
+"Undo": "\u64a4\u6d88",
+"Strikethrough": "\u5220\u9664\u7ebf",
+"Bullet list": "\u9879\u76ee\u7b26\u53f7",
+"Header 1": "\u6807\u98981",
+"Superscript": "\u4e0a\u6807",
+"Clear formatting": "\u6e05\u9664\u683c\u5f0f",
+"Font Sizes": "\u5b57\u53f7",
+"Subscript": "\u4e0b\u6807",
+"Header 6": "\u6807\u98986",
+"Redo": "\u91cd\u590d",
+"Paragraph": "\u6bb5\u843d",
+"Ok": "\u786e\u5b9a",
+"Bold": "\u7c97\u4f53",
+"Code": "\u4ee3\u7801",
+"Italic": "\u659c\u4f53",
+"Align center": "\u5c45\u4e2d",
+"Header 5": "\u6807\u98985",
+"Heading 6": "\u6807\u98986",
+"Heading 3": "\u6807\u98983",
+"Decrease indent": "\u51cf\u5c11\u7f29\u8fdb",
+"Header 4": "\u6807\u98984",
+"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",
+"Underline": "\u4e0b\u5212\u7ebf",
+"Cancel": "\u53d6\u6d88",
+"Justify": "\u4e24\u7aef\u5bf9\u9f50",
+"Inline": "\u6587\u672c",
+"Copy": "\u590d\u5236",
+"Align left": "\u5de6\u5bf9\u9f50",
+"Visual aids": "\u7f51\u683c\u7ebf",
+"Lower Greek": "\u5c0f\u5199\u5e0c\u814a\u5b57\u6bcd",
+"Square": "\u65b9\u5757",
+"Default": "\u9ed8\u8ba4",
+"Lower Alpha": "\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd",
+"Circle": "\u7a7a\u5fc3\u5706",
+"Disc": "\u5b9e\u5fc3\u5706",
+"Upper Alpha": "\u5927\u5199\u82f1\u6587\u5b57\u6bcd",
+"Upper Roman": "\u5927\u5199\u7f57\u9a6c\u5b57\u6bcd",
+"Lower Roman": "\u5c0f\u5199\u7f57\u9a6c\u5b57\u6bcd",
+"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",
+"Name": "\u540d\u79f0",
+"Anchor": "\u951a\u70b9",
+"Id": "\u6807\u8bc6\u7b26",
+"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",
+"Language": "\u8bed\u8a00",
+"Insert\/Edit code sample": "\u63d2\u5165\/\u7f16\u8f91\u4ee3\u7801\u793a\u4f8b",
+"B": "B",
+"R": "R",
+"G": "G",
+"Color": "\u989c\u8272",
+"Right to left": "\u4ece\u53f3\u5230\u5de6",
+"Left to right": "\u4ece\u5de6\u5230\u53f3",
+"Emoticons": "\u8868\u60c5",
+"Robots": "\u673a\u5668\u4eba",
+"Document properties": "\u6587\u6863\u5c5e\u6027",
+"Title": "\u6807\u9898",
+"Keywords": "\u5173\u952e\u8bcd",
+"Encoding": "\u7f16\u7801",
+"Description": "\u63cf\u8ff0",
+"Author": "\u4f5c\u8005",
+"Fullscreen": "\u5168\u5c4f",
+"Horizontal line": "\u6c34\u5e73\u5206\u5272\u7ebf",
+"Horizontal space": "\u6c34\u5e73\u8fb9\u8ddd",
+"Insert\/edit image": "\u63d2\u5165\/\u7f16\u8f91\u56fe\u7247",
+"General": "\u666e\u901a",
+"Advanced": "\u9ad8\u7ea7",
+"Source": "\u5730\u5740",
+"Border": "\u8fb9\u6846",
+"Constrain proportions": "\u4fdd\u6301\u7eb5\u6a2a\u6bd4",
+"Vertical space": "\u5782\u76f4\u8fb9\u8ddd",
+"Image description": "\u56fe\u7247\u63cf\u8ff0",
+"Style": "\u6837\u5f0f",
+"Dimensions": "\u5927\u5c0f",
+"Insert image": "\u63d2\u5165\u56fe\u7247",
+"Image": "\u56fe\u7247",
+"Zoom in": "\u653e\u5927",
+"Contrast": "\u5bf9\u6bd4\u5ea6",
+"Back": "\u540e\u9000",
+"Gamma": "\u4f3d\u9a6c\u503c",
+"Flip horizontally": "\u6c34\u5e73\u7ffb\u8f6c",
+"Resize": "\u8c03\u6574\u5927\u5c0f",
+"Sharpen": "\u9510\u5316",
+"Zoom out": "\u7f29\u5c0f",
+"Image options": "\u56fe\u7247\u9009\u9879",
+"Apply": "\u5e94\u7528",
+"Brightness": "\u4eae\u5ea6",
+"Rotate clockwise": "\u987a\u65f6\u9488\u65cb\u8f6c",
+"Rotate counterclockwise": "\u9006\u65f6\u9488\u65cb\u8f6c",
+"Edit image": "\u7f16\u8f91\u56fe\u7247",
+"Color levels": "\u989c\u8272\u5c42\u6b21",
+"Crop": "\u88c1\u526a",
+"Orientation": "\u65b9\u5411",
+"Flip vertically": "\u5782\u76f4\u7ffb\u8f6c",
+"Invert": "\u53cd\u8f6c",
+"Date\/time": "\u65e5\u671f\/\u65f6\u95f4",
+"Insert date\/time": "\u63d2\u5165\u65e5\u671f\/\u65f6\u95f4",
+"Remove link": "\u5220\u9664\u94fe\u63a5",
+"Url": "\u5730\u5740",
+"Text to display": "\u663e\u793a\u6587\u5b57",
+"Anchors": "\u951a\u70b9",
+"Insert link": "\u63d2\u5165\u94fe\u63a5",
+"Link": "\u94fe\u63a5",
+"New window": "\u5728\u65b0\u7a97\u53e3\u6253\u5f00",
+"None": "\u65e0",
+"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",
+"Paste or type a link": "\u7c98\u8d34\u6216\u8f93\u5165\u94fe\u63a5",
+"Target": "\u6253\u5f00\u65b9\u5f0f",
+"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",
+"Insert\/edit link": "\u63d2\u5165\/\u7f16\u8f91\u94fe\u63a5",
+"Insert\/edit video": "\u63d2\u5165\/\u7f16\u8f91\u89c6\u9891",
+"Media": "\u5a92\u4f53",
+"Alternative source": "\u955c\u50cf",
+"Paste your embed code below:": "\u5c06\u5185\u5d4c\u4ee3\u7801\u7c98\u8d34\u5728\u4e0b\u9762:",
+"Insert video": "\u63d2\u5165\u89c6\u9891",
+"Poster": "\u5c01\u9762",
+"Insert\/edit media": "\u63d2\u5165\/\u7f16\u8f91\u5a92\u4f53",
+"Embed": "\u5185\u5d4c",
+"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",
+"Could not find the specified string.": "\u672a\u627e\u5230\u641c\u7d22\u5185\u5bb9.",
+"Replace": "\u66ff\u6362",
+"Next": "\u4e0b\u4e00\u4e2a",
+"Whole words": "\u5168\u5b57\u5339\u914d",
+"Find and replace": "\u67e5\u627e\u548c\u66ff\u6362",
+"Replace with": "\u66ff\u6362\u4e3a",
+"Find": "\u67e5\u627e",
+"Replace all": "\u5168\u90e8\u66ff\u6362",
+"Match case": "\u533a\u5206\u5927\u5c0f\u5199",
+"Prev": "\u4e0a\u4e00\u4e2a",
+"Spellcheck": "\u62fc\u5199\u68c0\u67e5",
+"Finish": "\u5b8c\u6210",
+"Ignore all": "\u5168\u90e8\u5ffd\u7565",
+"Ignore": "\u5ffd\u7565",
+"Add to Dictionary": "\u6dfb\u52a0\u5230\u5b57\u5178",
+"Insert row before": "\u5728\u4e0a\u65b9\u63d2\u5165",
+"Rows": "\u884c",
+"Height": "\u9ad8",
+"Paste row after": "\u7c98\u8d34\u5230\u4e0b\u65b9",
+"Alignment": "\u5bf9\u9f50\u65b9\u5f0f",
+"Border color": "\u8fb9\u6846\u989c\u8272",
+"Column group": "\u5217\u7ec4",
+"Row": "\u884c",
+"Insert column before": "\u5728\u5de6\u4fa7\u63d2\u5165",
+"Split cell": "\u62c6\u5206\u5355\u5143\u683c",
+"Cell padding": "\u5355\u5143\u683c\u5185\u8fb9\u8ddd",
+"Cell spacing": "\u5355\u5143\u683c\u5916\u95f4\u8ddd",
+"Row type": "\u884c\u7c7b\u578b",
+"Insert table": "\u63d2\u5165\u8868\u683c",
+"Body": "\u8868\u4f53",
+"Caption": "\u6807\u9898",
+"Footer": "\u8868\u5c3e",
+"Delete row": "\u5220\u9664\u884c",
+"Paste row before": "\u7c98\u8d34\u5230\u4e0a\u65b9",
+"Scope": "\u8303\u56f4",
+"Delete table": "\u5220\u9664\u8868\u683c",
+"H Align": "\u6c34\u5e73\u5bf9\u9f50",
+"Top": "\u9876\u90e8\u5bf9\u9f50",
+"Header cell": "\u8868\u5934\u5355\u5143\u683c",
+"Column": "\u5217",
+"Row group": "\u884c\u7ec4",
+"Cell": "\u5355\u5143\u683c",
+"Middle": "\u5782\u76f4\u5c45\u4e2d",
+"Cell type": "\u5355\u5143\u683c\u7c7b\u578b",
+"Copy row": "\u590d\u5236\u884c",
+"Row properties": "\u884c\u5c5e\u6027",
+"Table properties": "\u8868\u683c\u5c5e\u6027",
+"Bottom": "\u5e95\u90e8\u5bf9\u9f50",
+"V Align": "\u5782\u76f4\u5bf9\u9f50",
+"Header": "\u8868\u5934",
+"Right": "\u53f3\u5bf9\u9f50",
+"Insert column after": "\u5728\u53f3\u4fa7\u63d2\u5165",
+"Cols": "\u5217",
+"Insert row after": "\u5728\u4e0b\u65b9\u63d2\u5165",
+"Width": "\u5bbd",
+"Cell properties": "\u5355\u5143\u683c\u5c5e\u6027",
+"Left": "\u5de6\u5bf9\u9f50",
+"Cut row": "\u526a\u5207\u884c",
+"Delete column": "\u5220\u9664\u5217",
+"Center": "\u5c45\u4e2d",
+"Merge cells": "\u5408\u5e76\u5355\u5143\u683c",
+"Insert template": "\u63d2\u5165\u6a21\u677f",
+"Templates": "\u6a21\u677f",
+"Background color": "\u80cc\u666f\u8272",
+"Custom...": "\u81ea\u5b9a\u4e49...",
+"Custom color": "\u81ea\u5b9a\u4e49\u989c\u8272",
+"No color": "\u65e0",
+"Text color": "\u6587\u5b57\u989c\u8272",
+"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}",
+"Insert": "\u63d2\u5165",
+"File": "\u6587\u4ef6",
+"Edit": "\u7f16\u8f91",
+"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",
+"Tools": "\u5de5\u5177",
+"View": "\u89c6\u56fe",
+"Table": "\u8868\u683c",
+"Format": "\u683c\u5f0f"
+});
\ No newline at end of file
diff --git a/public/static/tinymce4.7.5/plugins/codesample/css/prism.css b/public/static/tinymce4.7.5/plugins/codesample/css/prism.css
new file mode 100644
index 0000000..128237f
--- /dev/null
+++ b/public/static/tinymce4.7.5/plugins/codesample/css/prism.css
@@ -0,0 +1,138 @@
+/* http://prismjs.com/download.html?themes=prism&languages=markup+css+clike+javascript */
+/**
+ * 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;
+ 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;
+ -o-tab-size: 4;
+ tab-size: 4;
+
+ -webkit-hyphens: none;
+ -moz-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: #f5f2f0;
+}
+
+/* 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: hsla(0, 0%, 100%, .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;
+}
+
diff --git a/public/static/tinymce4.7.5/plugins/emoticons/img/smiley-cool.gif b/public/static/tinymce4.7.5/plugins/emoticons/img/smiley-cool.gif
new file mode 100644
index 0000000..ba90cc3
--- /dev/null
+++ b/public/static/tinymce4.7.5/plugins/emoticons/img/smiley-cool.gif
Binary files differ
diff --git a/public/static/tinymce4.7.5/plugins/emoticons/img/smiley-cry.gif b/public/static/tinymce4.7.5/plugins/emoticons/img/smiley-cry.gif
new file mode 100644
index 0000000..74d897a
--- /dev/null
+++ b/public/static/tinymce4.7.5/plugins/emoticons/img/smiley-cry.gif
Binary files differ
diff --git a/public/static/tinymce4.7.5/plugins/emoticons/img/smiley-embarassed.gif b/public/static/tinymce4.7.5/plugins/emoticons/img/smiley-embarassed.gif
new file mode 100644
index 0000000..963a96b
--- /dev/null
+++ b/public/static/tinymce4.7.5/plugins/emoticons/img/smiley-embarassed.gif
Binary files differ
diff --git a/public/static/tinymce4.7.5/plugins/emoticons/img/smiley-foot-in-mouth.gif b/public/static/tinymce4.7.5/plugins/emoticons/img/smiley-foot-in-mouth.gif
new file mode 100644
index 0000000..c7cf101
--- /dev/null
+++ b/public/static/tinymce4.7.5/plugins/emoticons/img/smiley-foot-in-mouth.gif
Binary files differ
diff --git a/public/static/tinymce4.7.5/plugins/emoticons/img/smiley-frown.gif b/public/static/tinymce4.7.5/plugins/emoticons/img/smiley-frown.gif
new file mode 100644
index 0000000..716f55e
--- /dev/null
+++ b/public/static/tinymce4.7.5/plugins/emoticons/img/smiley-frown.gif
Binary files differ
diff --git a/public/static/tinymce4.7.5/plugins/emoticons/img/smiley-innocent.gif b/public/static/tinymce4.7.5/plugins/emoticons/img/smiley-innocent.gif
new file mode 100644
index 0000000..334d49e
--- /dev/null
+++ b/public/static/tinymce4.7.5/plugins/emoticons/img/smiley-innocent.gif
Binary files differ
diff --git a/public/static/tinymce4.7.5/plugins/emoticons/img/smiley-kiss.gif b/public/static/tinymce4.7.5/plugins/emoticons/img/smiley-kiss.gif
new file mode 100644
index 0000000..4efd549
--- /dev/null
+++ b/public/static/tinymce4.7.5/plugins/emoticons/img/smiley-kiss.gif
Binary files differ
diff --git a/public/static/tinymce4.7.5/plugins/emoticons/img/smiley-laughing.gif b/public/static/tinymce4.7.5/plugins/emoticons/img/smiley-laughing.gif
new file mode 100644
index 0000000..82c5b18
--- /dev/null
+++ b/public/static/tinymce4.7.5/plugins/emoticons/img/smiley-laughing.gif
Binary files differ
diff --git a/public/static/tinymce4.7.5/plugins/emoticons/img/smiley-money-mouth.gif b/public/static/tinymce4.7.5/plugins/emoticons/img/smiley-money-mouth.gif
new file mode 100644
index 0000000..ca2451e
--- /dev/null
+++ b/public/static/tinymce4.7.5/plugins/emoticons/img/smiley-money-mouth.gif
Binary files differ
diff --git a/public/static/tinymce4.7.5/plugins/emoticons/img/smiley-sealed.gif b/public/static/tinymce4.7.5/plugins/emoticons/img/smiley-sealed.gif
new file mode 100644
index 0000000..fe66220
--- /dev/null
+++ b/public/static/tinymce4.7.5/plugins/emoticons/img/smiley-sealed.gif
Binary files differ
diff --git a/public/static/tinymce4.7.5/plugins/emoticons/img/smiley-smile.gif b/public/static/tinymce4.7.5/plugins/emoticons/img/smiley-smile.gif
new file mode 100644
index 0000000..fd27edf
--- /dev/null
+++ b/public/static/tinymce4.7.5/plugins/emoticons/img/smiley-smile.gif
Binary files differ
diff --git a/public/static/tinymce4.7.5/plugins/emoticons/img/smiley-surprised.gif b/public/static/tinymce4.7.5/plugins/emoticons/img/smiley-surprised.gif
new file mode 100644
index 0000000..0cc9bb7
--- /dev/null
+++ b/public/static/tinymce4.7.5/plugins/emoticons/img/smiley-surprised.gif
Binary files differ
diff --git a/public/static/tinymce4.7.5/plugins/emoticons/img/smiley-tongue-out.gif b/public/static/tinymce4.7.5/plugins/emoticons/img/smiley-tongue-out.gif
new file mode 100644
index 0000000..2075dc1
--- /dev/null
+++ b/public/static/tinymce4.7.5/plugins/emoticons/img/smiley-tongue-out.gif
Binary files differ
diff --git a/public/static/tinymce4.7.5/plugins/emoticons/img/smiley-undecided.gif b/public/static/tinymce4.7.5/plugins/emoticons/img/smiley-undecided.gif
new file mode 100644
index 0000000..bef7e25
--- /dev/null
+++ b/public/static/tinymce4.7.5/plugins/emoticons/img/smiley-undecided.gif
Binary files differ
diff --git a/public/static/tinymce4.7.5/plugins/emoticons/img/smiley-wink.gif b/public/static/tinymce4.7.5/plugins/emoticons/img/smiley-wink.gif
new file mode 100644
index 0000000..0631c76
--- /dev/null
+++ b/public/static/tinymce4.7.5/plugins/emoticons/img/smiley-wink.gif
Binary files differ
diff --git a/public/static/tinymce4.7.5/plugins/emoticons/img/smiley-yell.gif b/public/static/tinymce4.7.5/plugins/emoticons/img/smiley-yell.gif
new file mode 100644
index 0000000..648e6e8
--- /dev/null
+++ b/public/static/tinymce4.7.5/plugins/emoticons/img/smiley-yell.gif
Binary files differ
diff --git a/public/static/tinymce4.7.5/plugins/visualblocks/css/visualblocks.css b/public/static/tinymce4.7.5/plugins/visualblocks/css/visualblocks.css
new file mode 100644
index 0000000..96e4d7c
--- /dev/null
+++ b/public/static/tinymce4.7.5/plugins/visualblocks/css/visualblocks.css
@@ -0,0 +1,154 @@
+.mce-visualblocks p {
+ padding-top: 10px;
+ border: 1px dashed #BBB;
+ margin-left: 3px;
+ background-image: url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7);
+ background-repeat: no-repeat;
+}
+
+.mce-visualblocks h1 {
+ padding-top: 10px;
+ border: 1px dashed #BBB;
+ margin-left: 3px;
+ background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==);
+ background-repeat: no-repeat;
+}
+
+.mce-visualblocks h2 {
+ padding-top: 10px;
+ border: 1px dashed #BBB;
+ margin-left: 3px;
+ background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==);
+ background-repeat: no-repeat;
+}
+
+.mce-visualblocks h3 {
+ padding-top: 10px;
+ border: 1px dashed #BBB;
+ margin-left: 3px;
+ background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7);
+ background-repeat: no-repeat;
+}
+
+.mce-visualblocks h4 {
+ padding-top: 10px;
+ border: 1px dashed #BBB;
+ margin-left: 3px;
+ background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==);
+ background-repeat: no-repeat;
+}
+
+.mce-visualblocks h5 {
+ padding-top: 10px;
+ border: 1px dashed #BBB;
+ margin-left: 3px;
+ background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==);
+ background-repeat: no-repeat;
+}
+
+.mce-visualblocks h6 {
+ padding-top: 10px;
+ border: 1px dashed #BBB;
+ margin-left: 3px;
+ background-image: url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==);
+ background-repeat: no-repeat;
+}
+
+.mce-visualblocks div:not([data-mce-bogus]) {
+ padding-top: 10px;
+ border: 1px dashed #BBB;
+ margin-left: 3px;
+ background-image: url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7);
+ background-repeat: no-repeat;
+}
+
+.mce-visualblocks section {
+ padding-top: 10px;
+ border: 1px dashed #BBB;
+ margin: 0 0 1em 3px;
+ background-image: url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=);
+ background-repeat: no-repeat;
+}
+
+.mce-visualblocks article {
+ padding-top: 10px;
+ border: 1px dashed #BBB;
+ margin: 0 0 1em 3px;
+ background-image: url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7);
+ background-repeat: no-repeat;
+}
+
+.mce-visualblocks blockquote {
+ padding-top: 10px;
+ border: 1px dashed #BBB;
+ background-image: url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7);
+ background-repeat: no-repeat;
+}
+
+.mce-visualblocks address {
+ padding-top: 10px;
+ border: 1px dashed #BBB;
+ margin: 0 0 1em 3px;
+ background-image: url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=);
+ background-repeat: no-repeat;
+}
+
+.mce-visualblocks pre {
+ padding-top: 10px;
+ border: 1px dashed #BBB;
+ margin-left: 3px;
+ background-image: url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==);
+ background-repeat: no-repeat;
+}
+
+.mce-visualblocks figure {
+ padding-top: 10px;
+ border: 1px dashed #BBB;
+ margin: 0 0 1em 3px;
+ background-image: url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7);
+ background-repeat: no-repeat;
+}
+
+.mce-visualblocks hgroup {
+ padding-top: 10px;
+ border: 1px dashed #BBB;
+ margin: 0 0 1em 3px;
+ background-image: url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7);
+ background-repeat: no-repeat;
+}
+
+.mce-visualblocks aside {
+ padding-top: 10px;
+ border: 1px dashed #BBB;
+ margin: 0 0 1em 3px;
+ background-image: url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=);
+ background-repeat: no-repeat;
+}
+
+.mce-visualblocks figcaption {
+ border: 1px dashed #BBB;
+}
+
+.mce-visualblocks ul {
+ padding-top: 10px;
+ border: 1px dashed #BBB;
+ margin: 0 0 1em 3px;
+ background-image: url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==);
+ background-repeat: no-repeat;
+}
+
+.mce-visualblocks ol {
+ padding-top: 10px;
+ border: 1px dashed #BBB;
+ margin: 0 0 1em 3px;
+ background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==);
+ background-repeat: no-repeat;
+}
+
+.mce-visualblocks dl {
+ padding-top: 10px;
+ border: 1px dashed #BBB;
+ margin: 0 0 1em 3px;
+ background-image: url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==);
+ background-repeat: no-repeat;
+}
diff --git a/public/static/tinymce4.7.5/skins/lightgray/content.inline.min.css b/public/static/tinymce4.7.5/skins/lightgray/content.inline.min.css
new file mode 100644
index 0000000..7b45d33
--- /dev/null
+++ b/public/static/tinymce4.7.5/skins/lightgray/content.inline.min.css
@@ -0,0 +1 @@
+.word-wrap{word-wrap:break-word;-ms-word-break:break-all;word-break:break-all;word-break:break-word;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto}.mce-content-body .mce-reset{margin:0;padding:0;border:0;outline:0;vertical-align:top;background:transparent;text-decoration:none;color:black;font-family:Arial;font-size:11px;text-shadow:none;float:none;position:static;width:auto;height:auto;white-space:nowrap;cursor:inherit;line-height:normal;font-weight:normal;text-align:left;-webkit-tap-highlight-color:transparent;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;direction:ltr;max-width:none}.mce-object{border:1px dotted #3A3A3A;background:#D5D5D5 url(img/object.gif) no-repeat center}.mce-preview-object{display:inline-block;position:relative;margin:0 2px 0 2px;line-height:0;border:1px solid gray}.mce-preview-object[data-mce-selected="2"] .mce-shim{display:none}.mce-preview-object .mce-shim{position:absolute;top:0;left:0;width:100%;height:100%;background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)}figure.align-left{float:left}figure.align-right{float:right}figure.image.align-center{display:table;margin-left:auto;margin-right:auto}figure.image{display:inline-block;border:1px solid gray;margin:0 2px 0 1px;background:#f5f2f0}figure.image img{margin:8px 8px 0 8px}figure.image figcaption{margin:6px 8px 6px 8px;text-align:center}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc li{list-style-type:none}.mce-pagebreak{cursor:default;display:block;border:0;width:100%;height:5px;border:1px dashed #666;margin-top:15px;page-break-before:always}@media print{.mce-pagebreak{border:0}}.mce-item-anchor{cursor:default;display:inline-block;-webkit-user-select:all;-webkit-user-modify:read-only;-moz-user-select:all;-moz-user-modify:read-only;user-select:all;user-modify:read-only;width:9px !important;height:9px !important;border:1px dotted #3A3A3A;background:#D5D5D5 url(img/anchor.gif) no-repeat center}.mce-nbsp,.mce-shy{background:#AAA}.mce-shy::after{content:'-'}.mce-match-marker{background:#AAA;color:#fff}.mce-match-marker-selected{background:#3399ff;color:#fff}.mce-spellchecker-word{border-bottom:2px solid rgba(208,2,27,0.5);cursor:default}.mce-spellchecker-grammar{border-bottom:2px solid #008000;cursor:default}.mce-item-table,.mce-item-table td,.mce-item-table th,.mce-item-table caption{border:1px dashed #BBB}td[data-mce-selected],th[data-mce-selected]{background-color:#2276d2 !important}.mce-edit-focus{outline:1px dotted #333}.mce-content-body *[contentEditable=false] *[contentEditable=true]:focus{outline:2px solid #2276d2}.mce-content-body *[contentEditable=false] *[contentEditable=true]:hover{outline:2px solid #2276d2}.mce-content-body *[contentEditable=false][data-mce-selected]{outline:2px solid #2276d2}.mce-content-body *[data-mce-selected="inline-boundary"]{background:#bfe6ff}.mce-content-body .mce-item-anchor[data-mce-selected]{background:#D5D5D5 url(img/anchor.gif) no-repeat center}.mce-content-body hr{cursor:default}.ephox-snooker-resizer-bar{background-color:#2276d2;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:.2}.mce-content-body{line-height:1.3}
\ No newline at end of file
diff --git a/public/static/tinymce4.7.5/skins/lightgray/content.min.css b/public/static/tinymce4.7.5/skins/lightgray/content.min.css
new file mode 100644
index 0000000..bad168c
--- /dev/null
+++ b/public/static/tinymce4.7.5/skins/lightgray/content.min.css
@@ -0,0 +1 @@
+body{background-color:#FFFFFF;color:#000000;font-family:Verdana,Arial,Helvetica,sans-serif;font-size:14px;line-height:1.3;scrollbar-3dlight-color:#F0F0EE;scrollbar-arrow-color:#676662;scrollbar-base-color:#F0F0EE;scrollbar-darkshadow-color:#DDDDDD;scrollbar-face-color:#E0E0DD;scrollbar-highlight-color:#F0F0EE;scrollbar-shadow-color:#F0F0EE;scrollbar-track-color:#F5F5F5}td,th{font-family:Verdana,Arial,Helvetica,sans-serif;font-size:14px}.word-wrap{word-wrap:break-word;-ms-word-break:break-all;word-break:break-all;word-break:break-word;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto}.mce-content-body .mce-reset{margin:0;padding:0;border:0;outline:0;vertical-align:top;background:transparent;text-decoration:none;color:black;font-family:Arial;font-size:11px;text-shadow:none;float:none;position:static;width:auto;height:auto;white-space:nowrap;cursor:inherit;line-height:normal;font-weight:normal;text-align:left;-webkit-tap-highlight-color:transparent;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;direction:ltr;max-width:none}.mce-object{border:1px dotted #3A3A3A;background:#D5D5D5 url(img/object.gif) no-repeat center}.mce-preview-object{display:inline-block;position:relative;margin:0 2px 0 2px;line-height:0;border:1px solid gray}.mce-preview-object[data-mce-selected="2"] .mce-shim{display:none}.mce-preview-object .mce-shim{position:absolute;top:0;left:0;width:100%;height:100%;background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7)}figure.align-left{float:left}figure.align-right{float:right}figure.image.align-center{display:table;margin-left:auto;margin-right:auto}figure.image{display:inline-block;border:1px solid gray;margin:0 2px 0 1px;background:#f5f2f0}figure.image img{margin:8px 8px 0 8px}figure.image figcaption{margin:6px 8px 6px 8px;text-align:center}.mce-toc{border:1px solid gray}.mce-toc h2{margin:4px}.mce-toc li{list-style-type:none}.mce-pagebreak{cursor:default;display:block;border:0;width:100%;height:5px;border:1px dashed #666;margin-top:15px;page-break-before:always}@media print{.mce-pagebreak{border:0}}.mce-item-anchor{cursor:default;display:inline-block;-webkit-user-select:all;-webkit-user-modify:read-only;-moz-user-select:all;-moz-user-modify:read-only;user-select:all;user-modify:read-only;width:9px !important;height:9px !important;border:1px dotted #3A3A3A;background:#D5D5D5 url(img/anchor.gif) no-repeat center}.mce-nbsp,.mce-shy{background:#AAA}.mce-shy::after{content:'-'}.mce-match-marker{background:#AAA;color:#fff}.mce-match-marker-selected{background:#3399ff;color:#fff}.mce-spellchecker-word{border-bottom:2px solid rgba(208,2,27,0.5);cursor:default}.mce-spellchecker-grammar{border-bottom:2px solid #008000;cursor:default}.mce-item-table,.mce-item-table td,.mce-item-table th,.mce-item-table caption{border:1px dashed #BBB}td[data-mce-selected],th[data-mce-selected]{background-color:#2276d2 !important}.mce-edit-focus{outline:1px dotted #333}.mce-content-body *[contentEditable=false] *[contentEditable=true]:focus{outline:2px solid #2276d2}.mce-content-body *[contentEditable=false] *[contentEditable=true]:hover{outline:2px solid #2276d2}.mce-content-body *[contentEditable=false][data-mce-selected]{outline:2px solid #2276d2}.mce-content-body *[data-mce-selected="inline-boundary"]{background:#bfe6ff}.mce-content-body .mce-item-anchor[data-mce-selected]{background:#D5D5D5 url(img/anchor.gif) no-repeat center}.mce-content-body hr{cursor:default}.ephox-snooker-resizer-bar{background-color:#2276d2;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:.2} a {color: #1478F0;}
diff --git a/public/static/tinymce4.7.5/skins/lightgray/fonts/tinymce-mobile.woff b/public/static/tinymce4.7.5/skins/lightgray/fonts/tinymce-mobile.woff
new file mode 100644
index 0000000..1e3be03
--- /dev/null
+++ b/public/static/tinymce4.7.5/skins/lightgray/fonts/tinymce-mobile.woff
Binary files differ
diff --git a/public/static/tinymce4.7.5/skins/lightgray/fonts/tinymce-small.eot b/public/static/tinymce4.7.5/skins/lightgray/fonts/tinymce-small.eot
new file mode 100644
index 0000000..b144ba0
--- /dev/null
+++ b/public/static/tinymce4.7.5/skins/lightgray/fonts/tinymce-small.eot
Binary files differ
diff --git a/public/static/tinymce4.7.5/skins/lightgray/fonts/tinymce-small.svg b/public/static/tinymce4.7.5/skins/lightgray/fonts/tinymce-small.svg
new file mode 100644
index 0000000..b4ee6f4
--- /dev/null
+++ b/public/static/tinymce4.7.5/skins/lightgray/fonts/tinymce-small.svg
@@ -0,0 +1,63 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg xmlns="http://www.w3.org/2000/svg">
+<metadata>Generated by IcoMoon</metadata>
+<defs>
+<font id="tinymce-small" horiz-adv-x="1024">
+<font-face units-per-em="1024" ascent="960" descent="-64" />
+<missing-glyph horiz-adv-x="1024" />
+<glyph unicode=" " horiz-adv-x="512" d="" />
+<glyph unicode="" glyph-name="save" d="M960 80v591.938l-223.938 224.062h-592.062c-44.182 0-80-35.816-80-80v-736c0-44.184 35.818-80 80-80h736c44.184 0 80 35.816 80 80zM576 768h64v-192h-64v192zM704 128h-384v255.882c0.034 0.042 0.076 0.082 0.116 0.118h383.77c0.040-0.036 0.082-0.076 0.116-0.118l-0.002-255.882zM832 128h-64v256c0 35.2-28.8 64-64 64h-384c-35.2 0-64-28.8-64-64v-256h-64v640h64v-192c0-35.2 28.8-64 64-64h320c35.2 0 64 28.8 64 64v171.010l128-128.072v-490.938z" />
+<glyph unicode="" glyph-name="newdocument" d="M850.746 717.254l-133.492 133.49c-24.888 24.892-74.054 45.256-109.254 45.256h-416c-35.2 0-64-28.8-64-64v-768c0-35.2 28.8-64 64-64h640c35.2 0 64 28.8 64 64v544c0 35.2-20.366 84.364-45.254 109.254zM805.49 672.002c6.792-6.796 13.792-19.162 18.894-32.002h-184.384v184.386c12.84-5.1 25.204-12.1 32-18.896l133.49-133.488zM831.884 64h-639.77c-0.040 0.034-0.082 0.076-0.114 0.116v767.77c0.034 0.040 0.076 0.082 0.114 0.114h383.886v-256h256v-511.884c-0.034-0.040-0.076-0.082-0.116-0.116z" />
+<glyph unicode="" glyph-name="fullpage" d="M1024 367.542v160.916l-159.144 15.914c-8.186 30.042-20.088 58.548-35.21 84.98l104.596 127.838-113.052 113.050-127.836-104.596c-26.434 15.124-54.942 27.026-84.982 35.208l-15.914 159.148h-160.916l-15.914-159.146c-30.042-8.186-58.548-20.086-84.98-35.208l-127.838 104.594-113.050-113.050 104.596-127.836c-15.124-26.432-27.026-54.94-35.21-84.98l-159.146-15.916v-160.916l159.146-15.914c8.186-30.042 20.086-58.548 35.21-84.982l-104.596-127.836 113.048-113.048 127.838 104.596c26.432-15.124 54.94-27.028 84.98-35.21l15.916-159.148h160.916l15.914 159.144c30.042 8.186 58.548 20.088 84.982 35.21l127.836-104.596 113.048 113.048-104.596 127.836c15.124 26.434 27.028 54.942 35.21 84.98l159.148 15.92zM704 384l-128-128h-128l-128 128v128l128 128h128l128-128v-128z" />
+<glyph unicode="" glyph-name="alignleft" d="M64 768h896v-128h-896zM64 384h896v-128h-896zM64 576h576v-128h-576zM64 192h576v-128h-576z" />
+<glyph unicode="" glyph-name="aligncenter" d="M64 768h896v-128h-896zM64 384h896v-128h-896zM256 576h512v-128h-512zM256 192h512v-128h-512z" />
+<glyph unicode="" glyph-name="alignright" d="M64 768h896v-128h-896zM64 384h896v-128h-896zM384 576h576v-128h-576zM384 192h576v-128h-576z" />
+<glyph unicode="" glyph-name="alignjustify" d="M64 768h896v-128h-896zM64 384h896v-128h-896zM64 576h896v-128h-896zM64 192h896v-128h-896z" />
+<glyph unicode="" glyph-name="cut" d="M864.408 289.868c-46.47 46.47-106.938 68.004-161.082 62.806l-63.326 63.326 192 192c0 0 128 128 0 256l-320-320-320 320c-128-128 0-256 0-256l192-192-63.326-63.326c-54.144 5.198-114.61-16.338-161.080-62.806-74.98-74.98-85.112-186.418-22.626-248.9 62.482-62.482 173.92-52.354 248.9 22.626 46.47 46.468 68.002 106.938 62.806 161.080l63.326 63.326 63.328-63.328c-5.196-54.144 16.336-114.61 62.806-161.078 74.978-74.98 186.418-85.112 248.898-22.626 62.488 62.482 52.356 173.918-22.624 248.9zM353.124 201.422c-2.212-24.332-15.020-49.826-35.14-69.946-22.212-22.214-51.080-35.476-77.218-35.476-10.524 0-25.298 2.228-35.916 12.848-21.406 21.404-17.376 73.132 22.626 113.136 22.212 22.214 51.080 35.476 77.218 35.476 10.524 0 25.298-2.228 35.916-12.848 13.112-13.11 13.47-32.688 12.514-43.19zM512 352c-35.346 0-64 28.654-64 64s28.654 64 64 64 64-28.654 64-64-28.654-64-64-64zM819.152 108.848c-10.62-10.62-25.392-12.848-35.916-12.848-26.138 0-55.006 13.262-77.218 35.476-20.122 20.12-32.928 45.614-35.138 69.946-0.958 10.502-0.6 30.080 12.514 43.192 10.618 10.622 25.39 12.848 35.916 12.848 26.136 0 55.006-13.262 77.216-35.474 40.004-40.008 44.032-91.736 22.626-113.14z" />
+<glyph unicode="" glyph-name="paste" d="M704 576v160c0 17.6-14.4 32-32 32h-160v64c0 35.2-28.8 64-64 64h-128c-35.204 0-64-28.8-64-64v-64h-160c-17.602 0-32-14.4-32-32v-512c0-17.6 14.398-32 32-32h224v-192h384l192 192v384h-192zM320 831.886c0.034 0.038 0.072 0.078 0.114 0.114h127.768c0.042-0.036 0.082-0.076 0.118-0.114v-63.886h-128v63.886zM192 640v64h384v-64h-384zM704 90.51v101.49h101.49l-101.49-101.49zM832 256h-192v-192h-256v448h448v-256z" />
+<glyph unicode="" glyph-name="searchreplace" d="M888 576h-56v256h64v64h-320v-64h64v-256h-256v256h64v64h-320v-64h64v-256h-56c-39.6 0-72-32.4-72-72v-432c0-39.6 32.4-72 72-72h240c39.6 0 72 32.4 72 72v312h128v-312c0-39.6 32.4-72 72-72h240c39.6 0 72 32.4 72 72v432c0 39.6-32.4 72-72 72zM348 64h-184c-19.8 0-36 14.4-36 32s16.2 32 36 32h184c19.8 0 36-14.4 36-32s-16.2-32-36-32zM544 448h-64c-17.6 0-32 14.4-32 32s14.4 32 32 32h64c17.6 0 32-14.4 32-32s-14.4-32-32-32zM860 64h-184c-19.8 0-36 14.4-36 32s16.2 32 36 32h184c19.8 0 36-14.4 36-32s-16.2-32-36-32z" />
+<glyph unicode="" glyph-name="bullist" d="M384 832h576v-128h-576zM384 512h576v-128h-576zM384 192h576v-128h-576zM128 768c0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64s-64-28.654-64-64zM128 448c0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64s-64-28.654-64-64zM128 128c0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64s-64-28.654-64-64z" />
+<glyph unicode="" glyph-name="numlist" d="M384 832h576v-128h-576zM384 512h576v-128h-576zM384 192h576v-128h-576zM320 430v146h-64v320h-128v-64h64v-256h-64v-64h128v-50l-128-60v-146h128v-64h-128v-64h128v-64h-128v-64h192v320h-128v50z" />
+<glyph unicode="" glyph-name="indent" d="M64 768h896v-128h-896zM384 384h576v-128h-576zM384 576h576v-128h-576zM64 192h896v-128h-896zM64 576l224-160-224-160z" />
+<glyph unicode="" glyph-name="outdent" d="M64 768h896v-128h-896zM64 384h576v-128h-576zM64 576h576v-128h-576zM64 192h896v-128h-896zM960 576l-224-160 224-160z" />
+<glyph unicode="" glyph-name="blockquote" d="M256.428 535.274c105.8 0 191.572-91.17 191.572-203.638 0-112.464-85.772-203.636-191.572-203.636-105.802 0-191.572 91.17-191.572 203.636l-0.856 29.092c0 224.93 171.54 407.272 383.144 407.272v-116.364c-73.1 0-141.826-30.26-193.516-85.204-9.954-10.578-19.034-21.834-27.224-33.656 9.784 1.64 19.806 2.498 30.024 2.498zM768.428 535.274c105.8 0 191.572-91.17 191.572-203.638 0-112.464-85.772-203.636-191.572-203.636-105.802 0-191.572 91.17-191.572 203.636l-0.856 29.092c0 224.93 171.54 407.272 383.144 407.272v-116.364c-73.1 0-141.826-30.26-193.516-85.204-9.956-10.578-19.036-21.834-27.224-33.656 9.784 1.64 19.806 2.498 30.024 2.498z" />
+<glyph unicode="" glyph-name="undo" d="M704 0c59 199 134.906 455.266-256 446.096v-222.096l-336.002 336 336.002 336v-217.326c468.092 12.2 544-358.674 256-678.674z" />
+<glyph unicode="" glyph-name="redo" d="M576 678.674v217.326l336.002-336-336.002-336v222.096c-390.906 9.17-315-247.096-256-446.096-288 320-212.092 690.874 256 678.674z" />
+<glyph unicode="" glyph-name="unlink" d="M927.274 729.784l-133.49 133.488c-21.104 21.104-49.232 32.728-79.198 32.728s-58.094-11.624-79.196-32.726l-165.492-165.49c-43.668-43.668-43.668-114.724 0-158.392l2.746-2.746 67.882 67.882-2.746 2.746c-6.132 6.132-6.132 16.494 0 22.626l165.492 165.492c4.010 4.008 8.808 4.608 11.312 4.608s7.302-0.598 11.312-4.61l133.49-133.488c6.132-6.134 6.132-16.498 0.002-22.628l-165.494-165.494c-4.008-4.008-8.806-4.608-11.31-4.608s-7.302 0.6-11.312 4.612l-2.746 2.746-67.88-67.884 2.742-2.742c21.106-21.108 49.23-32.728 79.2-32.728s58.094 11.624 79.196 32.726l165.494 165.492c43.662 43.666 43.662 114.72-0.004 158.39zM551.356 359.356l-67.882-67.882 2.746-2.746c4.008-4.008 4.61-8.806 4.61-11.31 0-2.506-0.598-7.302-4.606-11.314l-165.494-165.49c-4.010-4.010-8.81-4.61-11.314-4.61s-7.304 0.6-11.314 4.61l-133.492 133.486c-4.010 4.010-4.61 8.81-4.61 11.314s0.598 7.3 4.61 11.312l165.49 165.488c4.010 4.012 8.81 4.612 11.314 4.612s7.304-0.6 11.314-4.612l2.746-2.742 67.882 67.88-2.746 2.746c-21.104 21.104-49.23 32.726-79.196 32.726s-58.092-11.624-79.196-32.726l-165.488-165.486c-21.106-21.104-32.73-49.234-32.73-79.198s11.624-58.094 32.726-79.198l133.49-133.49c21.106-21.102 49.232-32.726 79.198-32.726s58.092 11.624 79.196 32.726l165.494 165.492c21.104 21.104 32.722 49.23 32.722 79.196s-11.624 58.094-32.726 79.196l-2.744 2.746zM352 250c-9.724 0-19.45 3.71-26.87 11.128-14.84 14.84-14.84 38.898 0 53.738l320 320c14.84 14.84 38.896 14.84 53.736 0 14.844-14.84 14.844-38.9 0-53.74l-320-320c-7.416-7.416-17.142-11.126-26.866-11.126z" />
+<glyph unicode="" glyph-name="link" d="M927.274 729.784l-133.49 133.488c-21.104 21.104-49.232 32.728-79.198 32.728s-58.094-11.624-79.196-32.726l-165.492-165.49c-43.668-43.668-43.668-114.724 0-158.392l2.746-2.746 67.882 67.882-2.746 2.746c-6.132 6.132-6.132 16.494 0 22.626l165.492 165.492c4.010 4.008 8.808 4.608 11.312 4.608s7.302-0.598 11.312-4.61l133.49-133.488c6.132-6.134 6.132-16.498 0.002-22.628l-165.494-165.494c-4.008-4.008-8.806-4.608-11.31-4.608s-7.302 0.6-11.312 4.612l-2.746 2.746-67.88-67.884 2.742-2.742c21.106-21.108 49.23-32.728 79.2-32.728s58.094 11.624 79.196 32.726l165.494 165.492c43.662 43.666 43.662 114.72-0.004 158.39zM551.356 359.356l-67.882-67.882 2.746-2.746c4.008-4.008 4.61-8.806 4.61-11.31 0-2.506-0.598-7.302-4.606-11.314l-165.494-165.49c-4.010-4.010-8.81-4.61-11.314-4.61s-7.304 0.6-11.314 4.61l-133.492 133.486c-4.010 4.010-4.61 8.81-4.61 11.314s0.598 7.3 4.61 11.312l165.49 165.488c4.010 4.012 8.81 4.612 11.314 4.612s7.304-0.6 11.314-4.612l2.746-2.742 67.882 67.88-2.746 2.746c-21.104 21.104-49.23 32.726-79.196 32.726s-58.092-11.624-79.196-32.726l-165.488-165.486c-21.106-21.104-32.73-49.234-32.73-79.198s11.624-58.094 32.726-79.198l133.49-133.49c21.106-21.102 49.232-32.726 79.198-32.726s58.092 11.624 79.196 32.726l165.494 165.492c21.104 21.104 32.722 49.23 32.722 79.196s-11.624 58.094-32.726 79.196l-2.744 2.746zM800 122c-9.724 0-19.45 3.708-26.87 11.13l-128 127.998c-14.844 14.84-14.844 38.898 0 53.738 14.84 14.844 38.896 14.844 53.736 0l128-128c14.844-14.84 14.844-38.896 0-53.736-7.416-7.422-17.142-11.13-26.866-11.13zM608 0c-17.674 0-32 14.326-32 32v128c0 17.674 14.326 32 32 32s32-14.326 32-32v-128c0-17.674-14.326-32-32-32zM928 320h-128c-17.674 0-32 14.326-32 32s14.326 32 32 32h128c17.674 0 32-14.326 32-32s-14.326-32-32-32zM224 774c9.724 0 19.45-3.708 26.87-11.13l128-128c14.842-14.84 14.842-38.898 0-53.738-14.84-14.844-38.898-14.844-53.738 0l-128 128c-14.842 14.84-14.842 38.898 0 53.738 7.418 7.422 17.144 11.13 26.868 11.13zM416 896c17.674 0 32-14.326 32-32v-128c0-17.674-14.326-32-32-32s-32 14.326-32 32v128c0 17.674 14.326 32 32 32zM96 576h128c17.674 0 32-14.326 32-32s-14.326-32-32-32h-128c-17.674 0-32 14.326-32 32s14.326 32 32 32z" />
+<glyph unicode="" glyph-name="bookmark" d="M256 896v-896l256 256 256-256v896h-512zM704 170.51l-192 192-192-192v661.49h384v-661.49z" />
+<glyph unicode="" glyph-name="image" d="M896 832h-768c-35.2 0-64-28.8-64-64v-640c0-35.2 28.8-64 64-64h768c35.2 0 64 28.8 64 64v640c0 35.2-28.8 64-64 64zM896 128.116c-0.012-0.014-0.030-0.028-0.042-0.042l-191.958 319.926-160-128-224 288-191.968-479.916c-0.010 0.010-0.022 0.022-0.032 0.032v639.77c0.034 0.040 0.076 0.082 0.114 0.114h767.77c0.040-0.034 0.082-0.076 0.116-0.116v-639.768zM640 608c0-53.019 42.981-96 96-96s96 42.981 96 96c0 53.019-42.981 96-96 96s-96-42.981-96-96z" />
+<glyph unicode="" glyph-name="media" d="M896 832h-768c-35.2 0-64-28.8-64-64v-640c0-35.2 28.8-64 64-64h768c35.2 0 64 28.8 64 64v640c0 35.2-28.8 64-64 64zM256 128h-128v128h128v-128zM256 384h-128v128h128v-128zM256 640h-128v128h128v-128zM704 128h-384v640h384v-640zM896 128h-128v128h128v-128zM896 384h-128v128h128v-128zM896 640h-128v128h128v-128zM384 640v-384l288 192z" />
+<glyph unicode="" glyph-name="help" d="M448 256h128v-128h-128v128zM704 704c35.346 0 64-28.654 64-64v-166l-228-154h-92v64l192 128v64h-320v128h384zM512 896c-119.666 0-232.166-46.6-316.784-131.216-84.614-84.618-131.216-197.118-131.216-316.784 0-119.664 46.602-232.168 131.216-316.784 84.618-84.616 197.118-131.216 316.784-131.216 119.664 0 232.168 46.6 316.784 131.216s131.216 197.12 131.216 316.784c0 119.666-46.6 232.166-131.216 316.784-84.616 84.616-197.12 131.216-316.784 131.216z" />
+<glyph unicode="" glyph-name="code" d="M416 256l-192 192 192 192-64 64-256-256 256-256zM672 704l-64-64 192-192-192-192 64-64 256 256z" />
+<glyph unicode="" glyph-name="insertdatetime" d="M77.798 655.376l81.414-50.882c50.802 81.114 128.788 143.454 221.208 174.246l-30.366 91.094c-113.748-37.898-209.728-114.626-272.256-214.458zM673.946 869.834l-30.366-91.094c92.422-30.792 170.404-93.132 221.208-174.248l81.412 50.882c-62.526 99.834-158.506 176.562-272.254 214.46zM607.974 255.992c-4.808 0-9.692 1.090-14.286 3.386l-145.688 72.844v211.778c0 17.672 14.328 32 32 32s32-14.328 32-32v-172.222l110.31-55.156c15.806-7.902 22.214-27.124 14.31-42.932-5.604-11.214-16.908-17.696-28.646-17.698zM512 768c-212.078 0-384-171.922-384-384s171.922-384 384-384c212.078 0 384 171.922 384 384s-171.922 384-384 384zM512 96c-159.058 0-288 128.942-288 288s128.942 288 288 288c159.058 0 288-128.942 288-288s-128.942-288-288-288z" />
+<glyph unicode="" glyph-name="preview" d="M64 504.254c45.318 49.92 97.162 92.36 153.272 125.124 90.332 52.744 192.246 80.622 294.728 80.622 102.48 0 204.396-27.878 294.726-80.624 56.112-32.764 107.956-75.204 153.274-125.124v117.432c-33.010 28.118-68.124 53.14-104.868 74.594-105.006 61.314-223.658 93.722-343.132 93.722s-238.128-32.408-343.134-93.72c-36.742-21.454-71.856-46.478-104.866-74.596v-117.43zM512 640c-183.196 0-345.838-100.556-448-256 102.162-155.448 264.804-256 448-256s345.838 100.552 448 256c-102.162 155.444-264.804 256-448 256zM512 448c0-35.346-28.654-64-64-64s-64 28.654-64 64c0 35.348 28.654 64 64 64s64-28.652 64-64zM728.066 263.338c-67.434-39.374-140.128-59.338-216.066-59.338s-148.632 19.964-216.066 59.338c-51.554 30.104-98.616 71.31-138.114 120.662 39.498 49.35 86.56 90.558 138.116 120.66 13.276 7.752 26.758 14.74 40.426 20.982-10.512-23.742-16.362-50.008-16.362-77.642 0-106.040 85.962-192 192-192 106.040 0 192 85.96 192 192 0 27.634-5.85 53.9-16.36 77.642 13.668-6.244 27.15-13.23 40.426-20.982 51.554-30.102 98.616-71.31 138.116-120.66-39.498-49.352-86.56-90.558-138.116-120.662z" />
+<glyph unicode="" glyph-name="forecolor" d="M651.168 676.166c-24.612 81.962-28.876 91.834-107.168 91.834h-64c-79.618 0-82.664-10.152-108.418-96 0-0.002 0-0.002-0.002-0.004l-143.998-479.996h113.636l57.6 192h226.366l57.6-192h113.63l-145.246 484.166zM437.218 512l38.4 136c10.086 33.618 36.38 30 36.38 30s26.294 3.618 36.38-30h0.004l38.4-136h-149.564z" />
+<glyph unicode="" glyph-name="table" d="M64 768v-704h896v704h-896zM384 320v128h256v-128h-256zM640 256v-128h-256v128h256zM640 640v-128h-256v128h256zM320 640v-128h-192v128h192zM128 448h192v-128h-192v128zM704 448h192v-128h-192v128zM704 512v128h192v-128h-192zM128 256h192v-128h-192v128zM704 128v128h192v-128h-192z" />
+<glyph unicode="" glyph-name="hr" d="M64 512h896v-128h-896z" />
+<glyph unicode="" glyph-name="removeformat" d="M64 192h512v-128h-512v128zM768 768h-220.558l-183.766-512h-132.288l183.762 512h-223.15v128h576v-128zM929.774 64l-129.774 129.774-129.774-129.774-62.226 62.226 129.774 129.774-129.774 129.774 62.226 62.226 129.774-129.774 129.774 129.774 62.226-62.226-129.774-129.774 129.774-129.774-62.226-62.226z" />
+<glyph unicode="" glyph-name="subscript" d="M768 50v-50h128v-64h-192v146l128 60v50h-128v64h192v-146zM676 704h-136l-188-188-188 188h-136l256-256-256-256h136l188 188 188-188h136l-256 256z" />
+<glyph unicode="" glyph-name="superscript" d="M768 754v-50h128v-64h-192v146l128 60v50h-128v64h192v-146zM676 704h-136l-188-188-188 188h-136l256-256-256-256h136l188 188 188-188h136l-256 256z" />
+<glyph unicode="" glyph-name="charmap" d="M704 128v37.004c151.348 61.628 256 193.82 256 346.996 0 212.078-200.576 384-448 384s-448-171.922-448-384c0-153.176 104.654-285.368 256-346.996v-37.004h-192l-64 96v-224h320v222.812c-100.9 51.362-170.666 161.54-170.666 289.188 0 176.732 133.718 320 298.666 320s298.666-143.268 298.666-320c0-127.648-69.766-237.826-170.666-289.188v-222.812h320v224l-64-96h-192z" />
+<glyph unicode="" glyph-name="emoticons" d="M512 820c99.366 0 192.782-38.694 263.042-108.956s108.958-163.678 108.958-263.044-38.696-192.782-108.958-263.042-163.676-108.958-263.042-108.958-192.782 38.696-263.044 108.958-108.956 163.676-108.956 263.042 38.694 192.782 108.956 263.044 163.678 108.956 263.044 108.956zM512 896c-247.424 0-448-200.576-448-448s200.576-448 448-448 448 200.576 448 448-200.576 448-448 448v0zM320 576c0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64s-64-28.654-64-64zM576 576c0-35.346 28.654-64 64-64s64 28.654 64 64c0 35.346-28.654 64-64 64s-64-28.654-64-64zM512 304c-101.84 0-192.56 36.874-251.166 94.328 23.126-117.608 126.778-206.328 251.166-206.328s228.040 88.72 251.168 206.328c-58.608-57.454-149.328-94.328-251.168-94.328z" />
+<glyph unicode="" glyph-name="print" d="M256 832h512v-128h-512v128zM896 640h-768c-35.2 0-64-28.8-64-64v-256c0-35.2 28.796-64 64-64h128v-192h512v192h128c35.2 0 64 28.8 64 64v256c0 35.2-28.8 64-64 64zM704 128h-384v256h384v-256zM910.4 544c0-25.626-20.774-46.4-46.398-46.4s-46.402 20.774-46.402 46.4 20.778 46.4 46.402 46.4c25.626 0 46.398-20.774 46.398-46.4z" />
+<glyph unicode="" glyph-name="fullscreen" d="M480 576l-192 192 128 128h-352v-352l128 128 192-192zM640 480l192 192 128-128v352h-352l128-128-192-192zM544 320l192-192-128-128h352v352l-128-128-192 192zM384 416l-192-192-128 128v-352h352l-128 128 192 192z" />
+<glyph unicode="" glyph-name="spellcheck" d="M960 832v64h-192c-35.202 0-64-28.8-64-64v-320c0-15.856 5.858-30.402 15.496-41.614l-303.496-260.386-142 148-82-70 224-288 416 448h128v64h-192v320h192zM256 448h64v384c0 35.2-28.8 64-64 64h-128c-35.2 0-64-28.8-64-64v-384h64v192h128v-192zM128 704v128h128v-128h-128zM640 512v96c0 35.2-8.8 64-44 64 35.2 0 44 28.8 44 64v96c0 35.2-28.8 64-64 64h-192v-448h192c35.2 0 64 28.8 64 64zM448 832h128v-128h-128v128zM448 640h128v-128h-128v128z" />
+<glyph unicode="" glyph-name="nonbreaking" d="M448 448h-128v128h128v128h128v-128h128v-128h-128v-128h-128v128zM960 384v-320h-896v320h128v-192h640v192h128z" />
+<glyph unicode="" glyph-name="template" d="M512 576h128v-64h-128zM512 192h128v-64h-128zM576 384h128v-64h-128zM768 384v-192h-64v-64h128v256zM384 384h128v-64h-128zM320 192h128v-64h-128zM320 576h128v-64h-128zM192 768v-256h64v192h64v64zM704 512h128v256h-64v-192h-64zM64 896v-896h896v896h-896zM896 64h-768v768h768v-768zM192 384v-256h64v192h64v64zM576 768h128v-64h-128zM384 768h128v-64h-128z" />
+<glyph unicode="" glyph-name="pagebreak" d="M816 896l16-384h-640l16 384h32l16-320h512l16 320h32zM208 0l-16 320h640l-16-320h-32l-16 256h-512l-16-256h-32zM64 448h128v-64h-128zM256 448h128v-64h-128zM448 448h128v-64h-128zM640 448h128v-64h-128zM832 448h128v-64h-128z" />
+<glyph unicode="" glyph-name="restoredraft" d="M576 896c247.424 0 448-200.576 448-448s-200.576-448-448-448v96c94.024 0 182.418 36.614 248.902 103.098s103.098 154.878 103.098 248.902c0 94.022-36.614 182.418-103.098 248.902s-154.878 103.098-248.902 103.098c-94.022 0-182.418-36.614-248.902-103.098-51.14-51.138-84.582-115.246-97.306-184.902h186.208l-224-256-224 256h164.57c31.060 217.102 217.738 384 443.43 384zM768 512v-128h-256v320h128v-192z" />
+<glyph unicode="" glyph-name="bold" d="M625.442 465.818c48.074 38.15 78.558 94.856 78.558 158.182 0 114.876-100.29 208-224 208h-224v-768h288c123.712 0 224 93.124 224 208 0 88.196-59.118 163.562-142.558 193.818zM384 656c0 26.51 21.49 48 48 48h67.204c42.414 0 76.796-42.98 76.796-96s-34.382-96-76.796-96h-115.204v144zM547.2 192h-115.2c-26.51 0-48 21.49-48 48v144h163.2c42.418 0 76.8-42.98 76.8-96s-34.382-96-76.8-96z" />
+<glyph unicode="" glyph-name="italic" d="M832 832v-64h-144l-256-640h144v-64h-448v64h144l256 640h-144v64h448z" />
+<glyph unicode="" glyph-name="underline" d="M192 128h576v-64h-576v64zM640 832v-384c0-31.312-14.7-61.624-41.39-85.352-30.942-27.502-73.068-42.648-118.61-42.648-45.544 0-87.668 15.146-118.608 42.648-26.692 23.728-41.392 54.040-41.392 85.352v384h-128v-384c0-141.382 128.942-256 288-256s288 114.618 288 256v384h-128z" />
+<glyph unicode="" glyph-name="strikethrough" d="M960 448h-265.876c-50.078 35.42-114.43 54.86-182.124 54.86-89.206 0-164.572 50.242-164.572 109.712s75.366 109.714 164.572 109.714c75.058 0 140.308-35.576 159.12-82.286h113.016c-7.93 50.644-37.58 97.968-84.058 132.826-50.88 38.16-117.676 59.174-188.078 59.174-70.404 0-137.196-21.014-188.074-59.174-54.788-41.090-86.212-99.502-86.212-160.254s31.424-119.164 86.212-160.254c1.956-1.466 3.942-2.898 5.946-4.316h-265.872v-64h512.532c58.208-17.106 100.042-56.27 100.042-100.572 0-59.468-75.368-109.71-164.572-109.71-75.060 0-140.308 35.574-159.118 82.286h-113.016c7.93-50.64 37.582-97.968 84.060-132.826 50.876-38.164 117.668-59.18 188.072-59.18 70.402 0 137.198 21.016 188.074 59.174 54.79 41.090 86.208 99.502 86.208 160.254 0 35.298-10.654 69.792-30.294 100.572h204.012v64z" />
+<glyph unicode="" glyph-name="visualchars" d="M384 832c-123.712 0-224-100.288-224-224s100.288-224 224-224v-320h128v640h64v-640h128v640h128v128h-448z" />
+<glyph unicode="" glyph-name="ltr" d="M448 832c-123.712 0-224-100.288-224-224s100.288-224 224-224v-320h128v640h64v-640h128v640h128v128h-448zM64 64l224 192-224 192z" />
+<glyph unicode="" glyph-name="rtl" d="M320 832c-123.712 0-224-100.288-224-224s100.288-224 224-224v-320h128v640h64v-640h128v640h128v128h-448zM960 448l-224-192 224-192z" />
+<glyph unicode="" glyph-name="copy" d="M832 640h-192v64l-192 192h-384v-704h384v-192h576v448l-192 192zM832 549.49l101.49-101.49h-101.49v101.49zM448 805.49l101.49-101.49h-101.49v101.49zM128 832h256v-192h192v-384h-448v576zM960 64h-448v128h128v384h128v-192h192v-320z" />
+<glyph unicode="" glyph-name="resize" d="M768 704h64v-64h-64zM640 576h64v-64h-64zM640 448h64v-64h-64zM640 320h64v-64h-64zM512 448h64v-64h-64zM512 320h64v-64h-64zM384 320h64v-64h-64zM768 576h64v-64h-64zM768 448h64v-64h-64zM768 320h64v-64h-64zM768 192h64v-64h-64zM640 192h64v-64h-64zM512 192h64v-64h-64zM384 192h64v-64h-64zM256 192h64v-64h-64z" />
+<glyph unicode="" glyph-name="browse" d="M928 832h-416l-32 64h-352l-64-128h896zM840.34 256h87.66l32 448h-896l64-640h356.080c-104.882 37.776-180.080 138.266-180.080 256 0 149.982 122.018 272 272 272 149.98 0 272-122.018 272-272 0-21.678-2.622-43.15-7.66-64zM874.996 110.25l-134.496 110.692c17.454 28.922 27.5 62.814 27.5 99.058 0 106.040-85.96 192-192 192s-192-85.96-192-192 85.96-192 192-192c36.244 0 70.138 10.046 99.058 27.5l110.692-134.496c22.962-26.678 62.118-28.14 87.006-3.252l5.492 5.492c24.888 24.888 23.426 64.044-3.252 87.006zM576 196c-68.484 0-124 55.516-124 124s55.516 124 124 124 124-55.516 124-124-55.516-124-124-124z" />
+<glyph unicode="" glyph-name="pastetext" d="M704 576v160c0 17.6-14.4 32-32 32h-160v64c0 35.2-28.8 64-64 64h-128c-35.204 0-64-28.8-64-64v-64h-160c-17.602 0-32-14.4-32-32v-512c0-17.6 14.398-32 32-32h224v-192h576v576h-192zM320 831.886c0.034 0.038 0.072 0.078 0.114 0.114h127.768c0.042-0.036 0.082-0.076 0.118-0.114v-63.886h-128v63.886zM192 640v64h384v-64h-384zM832 64h-448v448h448v-448zM448 448v-128h32l32 64h64v-192h-48v-64h160v64h-48v192h64l32-64h32v128z" />
+<glyph unicode="" glyph-name="codesample" d="M200.015 577.994v103.994c0 43.077 34.919 77.997 77.997 77.997h26v103.994h-26c-100.51 0-181.991-81.481-181.991-181.991v-103.994c0-43.077-34.919-77.997-77.997-77.997h-26v-103.994h26c43.077 0 77.997-34.919 77.997-77.997v-103.994c0-100.509 81.481-181.991 181.991-181.991h26v103.994h-26c-43.077 0-77.997 34.919-77.997 77.997v103.994c0 50.927-20.928 96.961-54.642 129.994 33.714 33.032 54.642 79.065 54.642 129.994zM823.985 577.994v103.994c0 43.077-34.919 77.997-77.997 77.997h-26v103.994h26c100.509 0 181.991-81.481 181.991-181.991v-103.994c0-43.077 34.919-77.997 77.997-77.997h26v-103.994h-26c-43.077 0-77.997-34.919-77.997-77.997v-103.994c0-100.509-81.482-181.991-181.991-181.991h-26v103.994h26c43.077 0 77.997 34.919 77.997 77.997v103.994c0 50.927 20.928 96.961 54.642 129.994-33.714 33.032-54.642 79.065-54.642 129.994zM615.997 603.277c0-57.435-46.56-103.994-103.994-103.994s-103.994 46.56-103.994 103.994c0 57.435 46.56 103.994 103.994 103.994s103.994-46.56 103.994-103.994zM512 448.717c-57.435 0-103.994-46.56-103.994-103.994 0-55.841 26-100.107 105.747-103.875-23.715-33.413-59.437-46.608-105.747-50.94v-61.747c0 0 207.991-18.144 207.991 216.561-0.202 57.437-46.56 103.996-103.994 103.996z" />
+</font></defs></svg>
\ No newline at end of file
diff --git a/public/static/tinymce4.7.5/skins/lightgray/fonts/tinymce-small.ttf b/public/static/tinymce4.7.5/skins/lightgray/fonts/tinymce-small.ttf
new file mode 100644
index 0000000..a983e2d
--- /dev/null
+++ b/public/static/tinymce4.7.5/skins/lightgray/fonts/tinymce-small.ttf
Binary files differ
diff --git a/public/static/tinymce4.7.5/skins/lightgray/fonts/tinymce-small.woff b/public/static/tinymce4.7.5/skins/lightgray/fonts/tinymce-small.woff
new file mode 100644
index 0000000..d8962df
--- /dev/null
+++ b/public/static/tinymce4.7.5/skins/lightgray/fonts/tinymce-small.woff
Binary files differ
diff --git a/public/static/tinymce4.7.5/skins/lightgray/fonts/tinymce.eot b/public/static/tinymce4.7.5/skins/lightgray/fonts/tinymce.eot
new file mode 100644
index 0000000..5336c38
--- /dev/null
+++ b/public/static/tinymce4.7.5/skins/lightgray/fonts/tinymce.eot
Binary files differ
diff --git a/public/static/tinymce4.7.5/skins/lightgray/fonts/tinymce.svg b/public/static/tinymce4.7.5/skins/lightgray/fonts/tinymce.svg
new file mode 100644
index 0000000..9fa215f
--- /dev/null
+++ b/public/static/tinymce4.7.5/skins/lightgray/fonts/tinymce.svg
@@ -0,0 +1,131 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg xmlns="http://www.w3.org/2000/svg">
+<metadata>Generated by IcoMoon</metadata>
+<defs>
+<font id="tinymce" horiz-adv-x="1024">
+<font-face units-per-em="1024" ascent="960" descent="-64" />
+<missing-glyph horiz-adv-x="1024" />
+<glyph unicode=" " horiz-adv-x="512" d="" />
+<glyph unicode="" glyph-name="save" d="M896 960h-896v-1024h1024v896l-128 128zM512 832h128v-256h-128v256zM896 64h-768v768h64v-320h576v320h74.978l53.022-53.018v-714.982z" />
+<glyph unicode="" glyph-name="newdocument" d="M903.432 760.57l-142.864 142.862c-31.112 31.112-92.568 56.568-136.568 56.568h-480c-44 0-80-36-80-80v-864c0-44 36-80 80-80h736c44 0 80 36 80 80v608c0 44-25.456 105.458-56.568 136.57zM858.178 715.314c3.13-3.13 6.25-6.974 9.28-11.314h-163.458v163.456c4.34-3.030 8.184-6.15 11.314-9.28l142.864-142.862zM896 16c0-8.672-7.328-16-16-16h-736c-8.672 0-16 7.328-16 16v864c0 8.672 7.328 16 16 16h480c4.832 0 10.254-0.61 16-1.704v-254.296h254.296c1.094-5.746 1.704-11.166 1.704-16v-608z" />
+<glyph unicode="" glyph-name="fullpage" d="M1024 367.542v160.916l-159.144 15.914c-8.186 30.042-20.088 58.548-35.21 84.98l104.596 127.838-113.052 113.050-127.836-104.596c-26.434 15.124-54.942 27.026-84.982 35.208l-15.914 159.148h-160.916l-15.914-159.146c-30.042-8.186-58.548-20.086-84.98-35.208l-127.838 104.594-113.050-113.050 104.596-127.836c-15.124-26.432-27.026-54.94-35.21-84.98l-159.146-15.916v-160.916l159.146-15.914c8.186-30.042 20.086-58.548 35.21-84.982l-104.596-127.836 113.048-113.048 127.838 104.596c26.432-15.124 54.94-27.028 84.98-35.21l15.916-159.148h160.916l15.914 159.144c30.042 8.186 58.548 20.088 84.982 35.21l127.836-104.596 113.048 113.048-104.596 127.836c15.124 26.434 27.028 54.942 35.21 84.98l159.148 15.92zM704 384l-128-128h-128l-128 128v128l128 128h128l128-128v-128z" />
+<glyph unicode="" glyph-name="alignleft" d="M0 896h1024v-128h-1024zM0 704h640v-128h-640zM0 320h640v-128h-640zM0 512h1024v-128h-1024zM0 128h1024v-128h-1024z" />
+<glyph unicode="" glyph-name="aligncenter" d="M0 896h1024v-128h-1024zM192 704h640v-128h-640zM192 320h640v-128h-640zM0 512h1024v-128h-1024zM0 128h1024v-128h-1024z" />
+<glyph unicode="" glyph-name="alignright" d="M0 896h1024v-128h-1024zM384 704h640v-128h-640zM384 320h640v-128h-640zM0 512h1024v-128h-1024zM0 128h1024v-128h-1024z" />
+<glyph unicode="" glyph-name="alignjustify" d="M0 896h1024v-128h-1024zM0 704h1024v-128h-1024zM0 512h1024v-128h-1024zM0 320h1024v-128h-1024zM0 128h1024v-128h-1024z" />
+<glyph unicode="" glyph-name="cut" d="M890.774 250.846c-45.654 45.556-103.728 69.072-157.946 69.072h-29.112l-63.904 64.008 255.62 256.038c63.904 64.010 63.904 192.028 0 256.038l-383.43-384.056-383.432 384.054c-63.904-64.008-63.904-192.028 0-256.038l255.622-256.034-63.906-64.008h-29.114c-54.22 0-112.292-23.518-157.948-69.076-81.622-81.442-92.65-202.484-24.63-270.35 29.97-29.902 70.288-44.494 112.996-44.494 54.216 0 112.29 23.514 157.946 69.072 53.584 53.464 76.742 124 67.084 185.348l65.384 65.488 65.376-65.488c-9.656-61.348 13.506-131.882 67.084-185.348 45.662-45.558 103.732-69.072 157.948-69.072 42.708 0 83.024 14.592 112.994 44.496 68.020 67.866 56.988 188.908-24.632 270.35zM353.024 114.462c-7.698-17.882-19.010-34.346-33.626-48.926-14.636-14.604-31.172-25.918-49.148-33.624-16.132-6.916-32.96-10.568-48.662-10.568-15.146 0-36.612 3.402-52.862 19.612-16.136 16.104-19.52 37.318-19.52 52.288 0 15.542 3.642 32.21 10.526 48.212 7.7 17.884 19.014 34.346 33.626 48.926 14.634 14.606 31.172 25.914 49.15 33.624 16.134 6.914 32.96 10.568 48.664 10.568 15.146 0 36.612-3.4 52.858-19.614 16.134-16.098 19.522-37.316 19.522-52.284 0.002-15.542-3.638-32.216-10.528-48.214zM512.004 293.404c-49.914 0-90.376 40.532-90.376 90.526 0 49.992 40.462 90.52 90.376 90.52s90.372-40.528 90.372-90.52c0-49.998-40.46-90.526-90.372-90.526zM855.272 40.958c-16.248-16.208-37.712-19.612-52.86-19.612-15.704 0-32.53 3.652-48.666 10.568-17.972 7.706-34.508 19.020-49.142 33.624-14.614 14.58-25.926 31.042-33.626 48.926-6.886 15.998-10.526 32.672-10.526 48.212 0 14.966 3.384 36.188 19.52 52.286 16.246 16.208 37.712 19.614 52.86 19.614 15.7 0 32.53-3.654 48.66-10.568 17.978-7.708 34.516-19.018 49.15-33.624 14.61-14.58 25.924-31.042 33.626-48.926 6.884-15.998 10.526-32.67 10.526-48.212-0.002-14.97-3.39-36.186-19.522-52.288z" />
+<glyph unicode="" glyph-name="paste" d="M832 640v160c0 17.6-14.4 32-32 32h-224v64c0 35.2-28.8 64-64 64h-128c-35.204 0-64-28.8-64-64v-64h-224c-17.602 0-32-14.4-32-32v-640c0-17.6 14.398-32 32-32h288v-192h448l192 192v512h-192zM384 895.886c0.034 0.038 0.072 0.078 0.114 0.114h127.768c0.042-0.036 0.082-0.076 0.118-0.114v-63.886h-128v63.886zM192 704v64h512v-64h-512zM832 26.51v101.49h101.49l-101.49-101.49zM960 192h-192v-192h-320v576h512v-384z" />
+<glyph unicode="" glyph-name="searchreplace" d="M64 960h384v-64h-384zM576 960h384v-64h-384zM952 640h-56v256h-256v-256h-256v256h-256v-256h-56c-39.6 0-72-32.4-72-72v-560c0-39.6 32.4-72 72-72h304c39.6 0 72 32.4 72 72v376h128v-376c0-39.6 32.4-72 72-72h304c39.6 0 72 32.4 72 72v560c0 39.6-32.4 72-72 72zM348 0h-248c-19.8 0-36 14.4-36 32s16.2 32 36 32h248c19.8 0 36-14.4 36-32s-16.2-32-36-32zM544 448h-64c-17.6 0-32 14.4-32 32s14.4 32 32 32h64c17.6 0 32-14.4 32-32s-14.4-32-32-32zM924 0h-248c-19.8 0-36 14.4-36 32s16.2 32 36 32h248c19.8 0 36-14.4 36-32s-16.2-32-36-32z" />
+<glyph unicode="" glyph-name="bullist" d="M384 896h640v-128h-640v128zM384 512h640v-128h-640v128zM384 128h640v-128h-640v128zM0 832c0 70.692 57.308 128 128 128s128-57.308 128-128c0-70.692-57.308-128-128-128s-128 57.308-128 128zM0 448c0 70.692 57.308 128 128 128s128-57.308 128-128c0-70.692-57.308-128-128-128s-128 57.308-128 128zM0 64c0 70.692 57.308 128 128 128s128-57.308 128-128c0-70.692-57.308-128-128-128s-128 57.308-128 128z" />
+<glyph unicode="" glyph-name="numlist" d="M384 128h640v-128h-640zM384 512h640v-128h-640zM384 896h640v-128h-640zM192 960v-256h-64v192h-64v64zM128 434v-50h128v-64h-192v146l128 60v50h-128v64h192v-146zM256 256v-320h-192v64h128v64h-128v64h128v64h-128v64z" />
+<glyph unicode="" glyph-name="indent" d="M0 896h1024v-128h-1024zM384 704h640v-128h-640zM384 512h640v-128h-640zM384 320h640v-128h-640zM0 128h1024v-128h-1024zM0 256v384l256-192z" />
+<glyph unicode="" glyph-name="outdent" d="M0 896h1024v-128h-1024zM384 704h640v-128h-640zM384 512h640v-128h-640zM384 320h640v-128h-640zM0 128h1024v-128h-1024zM256 640v-384l-256 192z" />
+<glyph unicode="" glyph-name="blockquote" d="M225 512c123.712 0 224-100.29 224-224 0-123.712-100.288-224-224-224s-224 100.288-224 224l-1 32c0 247.424 200.576 448 448 448v-128c-85.474 0-165.834-33.286-226.274-93.726-11.634-11.636-22.252-24.016-31.83-37.020 11.438 1.8 23.16 2.746 35.104 2.746zM801 512c123.71 0 224-100.29 224-224 0-123.712-100.29-224-224-224s-224 100.288-224 224l-1 32c0 247.424 200.576 448 448 448v-128c-85.474 0-165.834-33.286-226.274-93.726-11.636-11.636-22.254-24.016-31.832-37.020 11.44 1.8 23.16 2.746 35.106 2.746z" />
+<glyph unicode="" glyph-name="undo" d="M761.862-64c113.726 206.032 132.888 520.306-313.862 509.824v-253.824l-384 384 384 384v-248.372c534.962 13.942 594.57-472.214 313.862-775.628z" />
+<glyph unicode="" glyph-name="redo" d="M576 711.628v248.372l384-384-384-384v253.824c-446.75 10.482-427.588-303.792-313.86-509.824-280.712 303.414-221.1 789.57 313.86 775.628z" />
+<glyph unicode="" glyph-name="link" d="M320 256c17.6-17.6 47.274-16.726 65.942 1.942l316.118 316.116c18.668 18.668 19.54 48.342 1.94 65.942s-47.274 16.726-65.942-1.942l-316.116-316.116c-18.668-18.668-19.542-48.342-1.942-65.942zM476.888 284.888c4.56-9.050 6.99-19.16 6.99-29.696 0-17.616-6.744-34.060-18.992-46.308l-163.382-163.382c-12.248-12.248-28.694-18.992-46.308-18.992s-34.060 6.744-46.308 18.992l-99.382 99.382c-12.248 12.248-18.992 28.694-18.992 46.308s6.744 34.060 18.992 46.308l163.382 163.382c12.248 12.248 28.694 18.994 46.308 18.994 10.536 0 20.644-2.43 29.696-6.99l65.338 65.338c-27.87 21.41-61.44 32.16-95.034 32.16-39.986 0-79.972-15.166-110.308-45.502l-163.382-163.382c-60.67-60.67-60.67-159.948 0-220.618l99.382-99.382c30.334-30.332 70.32-45.5 110.306-45.5 39.988 0 79.974 15.168 110.308 45.502l163.382 163.382c55.82 55.82 60.238 144.298 13.344 205.344l-65.34-65.34zM978.498 815.116l-99.382 99.382c-30.334 30.336-70.32 45.502-110.308 45.502-39.986 0-79.972-15.166-110.308-45.502l-163.382-163.382c-55.82-55.82-60.238-144.298-13.342-205.342l65.338 65.34c-4.558 9.050-6.988 19.16-6.988 29.694 0 17.616 6.744 34.060 18.992 46.308l163.382 163.382c12.248 12.248 28.694 18.994 46.308 18.994s34.060-6.746 46.308-18.994l99.382-99.382c12.248-12.248 18.992-28.694 18.992-46.308s-6.744-34.060-18.992-46.308l-163.382-163.382c-12.248-12.248-28.694-18.992-46.308-18.992-10.536 0-20.644 2.43-29.696 6.99l-65.338-65.338c27.872-21.41 61.44-32.16 95.034-32.16 39.988 0 79.974 15.168 110.308 45.502l163.382 163.382c60.67 60.666 60.67 159.944 0 220.614z" />
+<glyph unicode="" glyph-name="unlink" d="M476.888 284.886c4.56-9.048 6.99-19.158 6.99-29.696 0-17.616-6.744-34.058-18.992-46.308l-163.38-163.38c-12.248-12.248-28.696-18.992-46.308-18.992s-34.060 6.744-46.308 18.992l-99.38 99.38c-12.248 12.25-18.992 28.696-18.992 46.308s6.744 34.060 18.992 46.308l163.38 163.382c12.248 12.246 28.696 18.992 46.308 18.992 10.538 0 20.644-2.43 29.696-6.988l65.338 65.336c-27.87 21.41-61.44 32.16-95.034 32.16-39.986 0-79.972-15.166-110.308-45.502l-163.38-163.382c-60.67-60.67-60.67-159.95 0-220.618l99.38-99.382c30.334-30.332 70.32-45.5 110.306-45.5 39.988 0 79.974 15.168 110.308 45.502l163.38 163.38c55.82 55.82 60.238 144.298 13.344 205.346l-65.34-65.338zM978.496 815.116l-99.38 99.382c-30.334 30.336-70.32 45.502-110.308 45.502-39.986 0-79.97-15.166-110.306-45.502l-163.382-163.382c-55.82-55.82-60.238-144.298-13.342-205.342l65.338 65.34c-4.558 9.050-6.988 19.16-6.988 29.694 0 17.616 6.744 34.060 18.992 46.308l163.382 163.382c12.246 12.248 28.694 18.994 46.306 18.994 17.616 0 34.060-6.746 46.308-18.994l99.38-99.382c12.248-12.248 18.992-28.694 18.992-46.308s-6.744-34.060-18.992-46.308l-163.38-163.382c-12.248-12.248-28.694-18.992-46.308-18.992-10.536 0-20.644 2.43-29.696 6.99l-65.338-65.338c27.872-21.41 61.44-32.16 95.034-32.16 39.988 0 79.974 15.168 110.308 45.504l163.38 163.38c60.672 60.666 60.672 159.944 0 220.614zM233.368 681.376l-191.994 191.994 45.256 45.256 191.994-191.994zM384 960h64v-192h-64zM0 576h192v-64h-192zM790.632 214.624l191.996-191.996-45.256-45.256-191.996 191.996zM576 128h64v-192h-64zM832 384h192v-64h-192z" />
+<glyph unicode="" glyph-name="anchor" d="M192 960v-1024l320 320 320-320v1024h-640zM768 90.51l-256 256-256-256v805.49h512v-805.49z" />
+<glyph unicode="" glyph-name="image" d="M0 832v-832h1024v832h-1024zM960 64h-896v704h896v-704zM704 608c0 53.019 42.981 96 96 96s96-42.981 96-96c0-53.019-42.981-96-96-96s-96 42.981-96 96zM896 128h-768l192 512 256-320 128 96z" />
+<glyph unicode="" glyph-name="media" d="M0 832v-768h1024v768h-1024zM192 128h-128v128h128v-128zM192 384h-128v128h128v-128zM192 640h-128v128h128v-128zM768 128h-512v640h512v-640zM960 128h-128v128h128v-128zM960 384h-128v128h128v-128zM960 640h-128v128h128v-128zM384 640v-384l256 192z" />
+<glyph unicode="" glyph-name="help" d="M448 256h128v-128h-128zM704 704c35.346 0 64-28.654 64-64v-192l-192-128h-128v64l192 128v64h-320v128h384zM512 864c-111.118 0-215.584-43.272-294.156-121.844s-121.844-183.038-121.844-294.156c0-111.118 43.272-215.584 121.844-294.156s183.038-121.844 294.156-121.844c111.118 0 215.584 43.272 294.156 121.844s121.844 183.038 121.844 294.156c0 111.118-43.272 215.584-121.844 294.156s-183.038 121.844-294.156 121.844zM512 960v0c282.77 0 512-229.23 512-512s-229.23-512-512-512c-282.77 0-512 229.23-512 512s229.23 512 512 512z" />
+<glyph unicode="" glyph-name="code" d="M320 704l-256-256 256-256h128l-256 256 256 256zM704 704h-128l256-256-256-256h128l256 256z" />
+<glyph unicode="" glyph-name="inserttime" d="M512 768c-212.076 0-384-171.922-384-384s171.922-384 384-384c212.074 0 384 171.922 384 384s-171.926 384-384 384zM715.644 180.354c-54.392-54.396-126.716-84.354-203.644-84.354s-149.25 29.958-203.646 84.354c-54.396 54.394-84.354 126.718-84.354 203.646s29.958 149.25 84.354 203.646c54.396 54.396 126.718 84.354 203.646 84.354s149.252-29.958 203.642-84.354c54.402-54.396 84.358-126.718 84.358-203.646s-29.958-149.252-84.356-203.646zM325.93 756.138l-42.94 85.878c-98.874-49.536-179.47-130.132-229.006-229.008l85.876-42.94c40.248 80.336 105.732 145.822 186.070 186.070zM884.134 570.070l85.878 42.938c-49.532 98.876-130.126 179.472-229.004 229.008l-42.944-85.878c80.338-40.248 145.824-105.732 186.070-186.068zM512 576h-64v-192c0-10.11 4.7-19.11 12.022-24.972l-0.012-0.016 160-128 39.976 49.976-147.986 118.39v176.622z" />
+<glyph unicode="" glyph-name="preview" d="M512 640c-209.368 0-395.244-100.556-512-256 116.756-155.446 302.632-256 512-256s395.244 100.554 512 256c-116.756 155.444-302.632 256-512 256zM448 512c35.346 0 64-28.654 64-64s-28.654-64-64-64-64 28.654-64 64 28.654 64 64 64zM773.616 254.704c-39.648-20.258-81.652-35.862-124.846-46.376-44.488-10.836-90.502-16.328-136.77-16.328-46.266 0-92.282 5.492-136.768 16.324-43.194 10.518-85.198 26.122-124.846 46.376-63.020 32.202-120.222 76.41-167.64 129.298 47.418 52.888 104.62 97.1 167.64 129.298 32.336 16.522 66.242 29.946 101.082 40.040-19.888-30.242-31.468-66.434-31.468-105.336 0-106.040 85.962-192 192-192s192 85.96 192 192c0 38.902-11.582 75.094-31.466 105.34 34.838-10.096 68.744-23.52 101.082-40.042 63.022-32.198 120.218-76.408 167.638-129.298-47.42-52.886-104.618-97.1-167.638-129.296zM860.918 716.278c-108.72 55.554-226.112 83.722-348.918 83.722s-240.198-28.168-348.918-83.722c-58.772-30.032-113.732-67.904-163.082-112.076v-109.206c55.338 58.566 120.694 107.754 192.194 144.29 99.62 50.904 207.218 76.714 319.806 76.714s220.186-25.81 319.804-76.716c71.502-36.536 136.858-85.724 192.196-144.29v109.206c-49.35 44.174-104.308 82.046-163.082 112.078z" />
+<glyph unicode="" glyph-name="forecolor" d="M322.018 128l57.6 192h264.764l57.6-192h113.632l-191.996 640h-223.236l-192-640h113.636zM475.618 640h72.764l57.6-192h-187.964l57.6 192z" />
+<glyph unicode="" glyph-name="table" d="M0 896v-896h1024v896h-1024zM384 320v192h256v-192h-256zM640 256v-192h-256v192h256zM640 768v-192h-256v192h256zM320 768v-192h-256v192h256zM64 512h256v-192h-256v192zM704 512h256v-192h-256v192zM704 576v192h256v-192h-256zM64 256h256v-192h-256v192zM704 64v192h256v-192h-256z" />
+<glyph unicode="" glyph-name="hr" d="M0 512h1024v-128h-1024z" />
+<glyph unicode="" glyph-name="removeformat" d="M0 64h576v-128h-576zM192 960h704v-128h-704zM277.388 128l204.688 784.164 123.85-32.328-196.25-751.836zM929.774-64l-129.774 129.774-129.774-129.774-62.226 62.226 129.774 129.774-129.774 129.774 62.226 62.226 129.774-129.774 129.774 129.774 62.226-62.226-129.774-129.774 129.774-129.774z" />
+<glyph unicode="" glyph-name="sub" d="M768 50v-50h128v-64h-192v146l128 60v50h-128v64h192v-146zM676 704h-136l-188-188-188 188h-136l256-256-256-256h136l188 188 188-188h136l-256 256z" />
+<glyph unicode="" glyph-name="sup" d="M768 754v-50h128v-64h-192v146l128 60v50h-128v64h192v-146zM676 704h-136l-188-188-188 188h-136l256-256-256-256h136l188 188 188-188h136l-256 256z" />
+<glyph unicode="" glyph-name="charmap" d="M704 64h256l64 128v-256h-384v214.214c131.112 56.484 224 197.162 224 361.786 0 214.432-157.598 382.266-352 382.266-194.406 0-352-167.832-352-382.266 0-164.624 92.886-305.302 224-361.786v-214.214h-384v256l64-128h256v32.59c-187.63 66.46-320 227.402-320 415.41 0 247.424 229.23 448 512 448s512-200.576 512-448c0-188.008-132.37-348.95-320-415.41v-32.59z" />
+<glyph unicode="" glyph-name="emoticons" d="M512 960c-282.77 0-512-229.228-512-512 0-282.77 229.228-512 512-512 282.77 0 512 229.23 512 512 0 282.772-229.23 512-512 512zM512 16c-238.586 0-432 193.412-432 432 0 238.586 193.414 432 432 432 238.59 0 432-193.414 432-432 0-238.588-193.41-432-432-432zM384 640c0-35.346-28.654-64-64-64s-64 28.654-64 64 28.654 64 64 64 64-28.654 64-64zM768 640c0-35.346-28.652-64-64-64s-64 28.654-64 64 28.652 64 64 64 64-28.654 64-64zM512 308c141.074 0 262.688 57.532 318.462 123.192-20.872-171.22-156.288-303.192-318.462-303.192-162.118 0-297.498 132.026-318.444 303.168 55.786-65.646 177.386-123.168 318.444-123.168z" />
+<glyph unicode="" glyph-name="print" d="M256 896h512v-128h-512zM960 704h-896c-35.2 0-64-28.8-64-64v-320c0-35.2 28.796-64 64-64h192v-256h512v256h192c35.2 0 64 28.8 64 64v320c0 35.2-28.8 64-64 64zM704 64h-384v320h384v-320zM974.4 608c0-25.626-20.774-46.4-46.398-46.4-25.626 0-46.402 20.774-46.402 46.4s20.776 46.4 46.402 46.4c25.626 0 46.398-20.774 46.398-46.4z" />
+<glyph unicode="" glyph-name="fullscreen" d="M1024 960v-384l-138.26 138.26-212-212-107.48 107.48 212 212-138.26 138.26zM245.74 821.74l212-212-107.48-107.48-212 212-138.26-138.26v384h384zM885.74 181.74l138.26 138.26v-384h-384l138.26 138.26-212 212 107.48 107.48zM457.74 286.26l-212-212 138.26-138.26h-384v384l138.26-138.26 212 212z" />
+<glyph unicode="" glyph-name="spellchecker" d="M128 704h128v-192h64v384c0 35.2-28.8 64-64 64h-128c-35.2 0-64-28.8-64-64v-384h64v192zM128 896h128v-128h-128v128zM960 896v64h-192c-35.202 0-64-28.8-64-64v-320c0-35.2 28.798-64 64-64h192v64h-192v320h192zM640 800v96c0 35.2-28.8 64-64 64h-192v-448h192c35.2 0 64 28.8 64 64v96c0 35.2-8.8 64-44 64 35.2 0 44 28.8 44 64zM576 576h-128v128h128v-128zM576 768h-128v128h128v-128zM832 384l-416-448-224 288 82 70 142-148 352 302z" />
+<glyph unicode="" glyph-name="nonbreaking" d="M448 384h-192v128h192v192h128v-192h192v-128h-192v-192h-128zM1024 320v-384h-1024v384h128v-256h768v256z" />
+<glyph unicode="" glyph-name="template" d="M384 768h128v-64h-128zM576 768h128v-64h-128zM896 768v-256h-192v64h128v128h-64v64zM320 576h128v-64h-128zM512 576h128v-64h-128zM192 704v-128h64v-64h-128v256h192v-64zM384 384h128v-64h-128zM576 384h128v-64h-128zM896 384v-256h-192v64h128v128h-64v64zM320 192h128v-64h-128zM512 192h128v-64h-128zM192 320v-128h64v-64h-128v256h192v-64zM960 896h-896v-896h896v896zM1024 960v0-1024h-1024v1024h1024z" />
+<glyph unicode="" glyph-name="pagebreak" d="M0 448h128v-64h-128zM192 448h192v-64h-192zM448 448h128v-64h-128zM640 448h192v-64h-192zM896 448h128v-64h-128zM880 960l16-448h-768l16 448h32l16-384h640l16 384zM144-64l-16 384h768l-16-384h-32l-16 320h-640l-16-320z" />
+<glyph unicode="" glyph-name="restoredraft" d="M576 896c247.424 0 448-200.576 448-448s-200.576-448-448-448v96c94.024 0 182.418 36.614 248.902 103.098s103.098 154.878 103.098 248.902c0 94.022-36.614 182.418-103.098 248.902s-154.878 103.098-248.902 103.098c-94.022 0-182.418-36.614-248.902-103.098-51.14-51.138-84.582-115.246-97.306-184.902h186.208l-224-256-224 256h164.57c31.060 217.102 217.738 384 443.43 384zM768 512v-128h-256v320h128v-192z" />
+<glyph unicode="" glyph-name="bold" d="M707.88 475.348c37.498 44.542 60.12 102.008 60.12 164.652 0 141.16-114.842 256-256 256h-320v-896h384c141.158 0 256 114.842 256 256 0 92.956-49.798 174.496-124.12 219.348zM384 768h101.5c55.968 0 101.5-57.42 101.5-128s-45.532-128-101.5-128h-101.5v256zM543 128h-159v256h159c58.45 0 106-57.42 106-128s-47.55-128-106-128z" />
+<glyph unicode="" glyph-name="italic" d="M896 896v-64h-128l-320-768h128v-64h-448v64h128l320 768h-128v64z" />
+<glyph unicode="" glyph-name="underline" d="M704 896h128v-416c0-159.058-143.268-288-320-288-176.73 0-320 128.942-320 288v416h128v-416c0-40.166 18.238-78.704 51.354-108.506 36.896-33.204 86.846-51.494 140.646-51.494s103.75 18.29 140.646 51.494c33.116 29.802 51.354 68.34 51.354 108.506v416zM192 128h640v-128h-640z" />
+<glyph unicode="" glyph-name="strikethrough" d="M731.42 442.964c63.92-47.938 100.58-116.086 100.58-186.964s-36.66-139.026-100.58-186.964c-59.358-44.518-137.284-69.036-219.42-69.036-82.138 0-160.062 24.518-219.42 69.036-63.92 47.938-100.58 116.086-100.58 186.964h128c0-69.382 87.926-128 192-128s192 58.618 192 128c0 69.382-87.926 128-192 128-82.138 0-160.062 24.518-219.42 69.036-63.92 47.94-100.58 116.086-100.58 186.964s36.66 139.024 100.58 186.964c59.358 44.518 137.282 69.036 219.42 69.036 82.136 0 160.062-24.518 219.42-69.036 63.92-47.94 100.58-116.086 100.58-186.964h-128c0 69.382-87.926 128-192 128s-192-58.618-192-128c0-69.382 87.926-128 192-128 82.136 0 160.062-24.518 219.42-69.036zM0 448h1024v-64h-1024z" />
+<glyph unicode="" glyph-name="visualchars" d="M384 896h512v-128h-128v-768h-128v768h-128v-768h-128v448c-123.712 0-224 100.288-224 224s100.288 224 224 224z" />
+<glyph unicode="" glyph-name="ltr" d="M448 896h512v-128h-128v-768h-128v768h-128v-768h-128v448c-123.712 0-224 100.288-224 224s100.288 224 224 224zM64 512l256-224-256-224z" />
+<glyph unicode="" glyph-name="rtl" d="M256 896h512v-128h-128v-768h-128v768h-128v-768h-128v448c-123.712 0-224 100.288-224 224s100.288 224 224 224zM960 64l-256 224 256 224z" />
+<glyph unicode="" glyph-name="copy" d="M832 704h-192v64l-192 192h-448v-768h384v-256h640v576l-192 192zM832 613.49l101.49-101.49h-101.49v101.49zM448 869.49l101.49-101.49h-101.49v101.49zM64 896h320v-192h192v-448h-512v640zM960 0h-512v192h192v448h128v-192h192v-448z" />
+<glyph unicode="" glyph-name="resize" d="M768 704h64v-64h-64zM640 576h64v-64h-64zM640 448h64v-64h-64zM640 320h64v-64h-64zM512 448h64v-64h-64zM512 320h64v-64h-64zM384 320h64v-64h-64zM768 576h64v-64h-64zM768 448h64v-64h-64zM768 320h64v-64h-64zM768 192h64v-64h-64zM640 192h64v-64h-64zM512 192h64v-64h-64zM384 192h64v-64h-64zM256 192h64v-64h-64z" />
+<glyph unicode="" glyph-name="checkbox" d="M128 416l288-288 480 480-128 128-352-352-160 160z" />
+<glyph unicode="" glyph-name="browse" d="M928 832h-416l-32 64h-352l-64-128h896zM904.34 256h74.86l44.8 448h-1024l64-640h484.080c-104.882 37.776-180.080 138.266-180.080 256 0 149.982 122.018 272 272 272 149.98 0 272-122.018 272-272 0-21.678-2.622-43.15-7.66-64zM1002.996 46.25l-198.496 174.692c17.454 28.92 27.5 62.814 27.5 99.058 0 106.040-85.96 192-192 192s-192-85.96-192-192 85.96-192 192-192c36.244 0 70.138 10.046 99.058 27.5l174.692-198.496c22.962-26.678 62.118-28.14 87.006-3.252l5.492 5.492c24.888 24.888 23.426 64.044-3.252 87.006zM640 196c-68.484 0-124 55.516-124 124s55.516 124 124 124 124-55.516 124-124-55.516-124-124-124z" />
+<glyph unicode="" glyph-name="pastetext" d="M512 448v-128h32l32 64h64v-256h-48v-64h224v64h-48v256h64l32-64h32v128zM832 640v160c0 17.6-14.4 32-32 32h-224v64c0 35.2-28.8 64-64 64h-128c-35.204 0-64-28.8-64-64v-64h-224c-17.602 0-32-14.4-32-32v-640c0-17.6 14.398-32 32-32h288v-192h640v704h-192zM384 895.886c0.034 0.038 0.072 0.078 0.114 0.114h127.768c0.042-0.036 0.082-0.076 0.118-0.114v-63.886h-128v63.886zM192 704v64h512v-64h-512zM960 0h-512v576h512v-576z" />
+<glyph unicode="" glyph-name="gamma" d="M483.2 320l-147.2 336c-9.6 25.6-19.2 44.8-25.6 54.4s-16 12.8-25.6 12.8c-16 0-25.6-3.2-28.8-3.2v70.4c9.6 6.4 25.6 6.4 38.4 9.6 32 0 57.6-6.4 73.6-22.4 6.4-6.4 12.8-16 19.2-25.6 6.4-12.8 12.8-25.6 16-41.6l121.6-291.2 150.4 371.2h92.8l-198.4-470.4v-224h-86.4v224zM0 960v-1024h1024v1024h-1024zM960 0h-896v896h896v-896z" />
+<glyph unicode="" glyph-name="orientation" d="M627.2 80h-579.2v396.8h579.2v-396.8zM553.6 406.4h-435.2v-256h435.2v256zM259.2 732.8c176 176 457.6 176 633.6 0s176-457.6 0-633.6c-121.6-121.6-297.6-160-454.4-108.8 121.6-28.8 262.4 9.6 361.6 108.8 150.4 150.4 160 384 22.4 521.6-121.6 121.6-320 128-470.4 19.2l86.4-86.4-294.4-22.4 22.4 294.4 92.8-92.8z" />
+<glyph unicode="" glyph-name="invert" d="M892.8-22.4l-89.6 89.6c-70.4-80-172.8-131.2-288-131.2-208 0-380.8 166.4-384 377.6 0 0 0 0 0 0 0 3.2 0 3.2 0 6.4s0 3.2 0 6.4v0c0 0 0 0 0 3.2 0 0 0 3.2 0 3.2 3.2 105.6 48 211.2 105.6 304l-192 192 44.8 44.8 182.4-182.4c0 0 0 0 0 0l569.6-569.6c0 0 0 0 0 0l99.2-99.2-48-44.8zM896 326.4c0 0 0 0 0 0 0 3.2 0 6.4 0 6.4-9.6 316.8-384 627.2-384 627.2s-108.8-89.6-208-220.8l70.4-70.4c6.4 9.6 16 22.4 22.4 32 41.6 51.2 83.2 96 115.2 128v0c32-32 73.6-76.8 115.2-128 108.8-137.6 169.6-265.6 172.8-371.2 0 0 0-3.2 0-3.2v0 0c0-3.2 0-3.2 0-6.4s0-3.2 0-3.2v0 0c0-22.4-3.2-41.6-9.6-64l76.8-76.8c16 41.6 28.8 89.6 28.8 137.6 0 0 0 0 0 0 0 3.2 0 3.2 0 6.4s0 3.2 0 6.4z" />
+<glyph unicode="" glyph-name="codesample" d="M199.995 578.002v104.002c0 43.078 34.923 78.001 78.001 78.001h26v104.002h-26c-100.518 0-182.003-81.485-182.003-182.003v-104.002c0-43.078-34.923-78.001-78.001-78.001h-26v-104.002h26c43.078 0 78.001-34.923 78.001-78.001v-104.002c0-100.515 81.485-182.003 182.003-182.003h26v104.002h-26c-43.078 0-78.001 34.923-78.001 78.001v104.002c0 50.931-20.928 96.966-54.646 130.002 33.716 33.036 54.646 79.072 54.646 130.002zM824.005 578.002v104.002c0 43.078-34.923 78.001-78.001 78.001h-26v104.002h26c100.515 0 182.003-81.485 182.003-182.003v-104.002c0-43.078 34.923-78.001 78.001-78.001h26v-104.002h-26c-43.078 0-78.001-34.923-78.001-78.001v-104.002c0-100.515-81.488-182.003-182.003-182.003h-26v104.002h26c43.078 0 78.001 34.923 78.001 78.001v104.002c0 50.931 20.928 96.966 54.646 130.002-33.716 33.036-54.646 79.072-54.646 130.002zM616.002 603.285c0-57.439-46.562-104.002-104.002-104.002s-104.002 46.562-104.002 104.002c0 57.439 46.562 104.002 104.002 104.002s104.002-46.562 104.002-104.002zM512 448.717c-57.439 0-104.002-46.562-104.002-104.002 0-55.845 26-100.115 105.752-103.88-23.719-33.417-59.441-46.612-105.752-50.944v-61.751c0 0 208.003-18.144 208.003 216.577-0.202 57.441-46.56 104.004-104.002 104.004z" />
+<glyph unicode="" glyph-name="tablerowprops" d="M0 896v-896h1024v896h-1024zM640 256v-192h-256v192h256zM640 768v-192h-256v192h256zM320 768v-192h-256v192h256zM704 576v192h256v-192h-256zM64 256h256v-192h-256v192zM704 64v192h256v-192h-256z" />
+<glyph unicode="" glyph-name="tablecellprops" d="M0 896v-896h1024v896h-1024zM640 256v-192h-256v192h256zM640 768v-192h-256v192h256zM320 768v-192h-256v192h256zM64 512h256v-192h-256v192zM704 512h256v-192h-256v192zM704 576v192h256v-192h-256zM64 256h256v-192h-256v192zM704 64v192h256v-192h-256z" />
+<glyph unicode="" glyph-name="table2" d="M0 896v-832h1024v832h-1024zM320 128h-256v192h256v-192zM320 384h-256v192h256v-192zM640 128h-256v192h256v-192zM640 384h-256v192h256v-192zM960 128h-256v192h256v-192zM960 384h-256v192h256v-192zM960 640h-896v192h896v-192z" />
+<glyph unicode="" glyph-name="tablemergecells" d="M0 896v-896h1024v896h-1024zM384 64v448h576v-448h-576zM640 768v-192h-256v192h256zM320 768v-192h-256v192h256zM64 512h256v-192h-256v192zM704 576v192h256v-192h-256zM64 256h256v-192h-256v192z" />
+<glyph unicode="" glyph-name="tableinsertcolbefore" d="M320 188.8v182.4h-182.4v89.6h182.4v182.4h86.4v-182.4h185.6v-89.6h-185.6v-182.4zM0 896v-896h1024v896h-1024zM640 64h-576v704h576v-704zM960 64h-256v192h256v-192zM960 320h-256v192h256v-192zM960 576h-256v192h256v-192z" />
+<glyph unicode="" glyph-name="tableinsertcolafter" d="M704 643.2v-182.4h182.4v-89.6h-182.4v-182.4h-86.4v182.4h-185.6v89.6h185.6v182.4zM0 896v-896h1024v896h-1024zM320 64h-256v192h256v-192zM320 320h-256v192h256v-192zM320 576h-256v192h256v-192zM960 64h-576v704h576v-704z" />
+<glyph unicode="" glyph-name="tableinsertrowbefore" d="M691.2 508.8h-144v-144h-70.4v144h-144v67.2h144v144h70.4v-144h144zM0 896v-896h1024v896h-1024zM320 64h-256v192h256v-192zM640 64h-256v192h256v-192zM960 64h-256v192h256v-192zM960 316.8h-896v451.2h896v-451.2z" />
+<glyph unicode="" glyph-name="tableinsertrowafter" d="M332.8 323.2h144v144h70.4v-144h144v-67.2h-144v-144h-70.4v144h-144zM0 896v-896h1024v896h-1024zM384 768h256v-192h-256v192zM64 768h256v-192h-256v192zM960 64h-896v451.2h896v-451.2zM960 576h-256v192h256v-192z" />
+<glyph unicode="" glyph-name="tablesplitcells" d="M0 896v-896h1024v896h-1024zM384 768h256v-192h-256v192zM320 64h-256v192h256v-192zM320 320h-256v192h256v-192zM320 576h-256v192h256v-192zM960 64h-576v448h576v-448zM960 576h-256v192h256v-192zM864 156.8l-60.8-60.8-131.2 131.2-131.2-131.2-60.8 60.8 131.2 131.2-131.2 131.2 60.8 60.8 131.2-131.2 131.2 131.2 60.8-60.8-131.2-131.2z" />
+<glyph unicode="" glyph-name="tabledelete" d="M0 896h1024v-896h-1024v896zM60.8 768v-704h899.2v704h-899.2zM809.6 211.2l-96-96-204.8 204.8-204.8-204.8-96 96 204.8 204.8-204.8 204.8 96 96 204.8-204.8 204.8 204.8 96-96-204.8-204.8z" />
+<glyph unicode="" glyph-name="tableleftheader" d="M0 896v-832h1024v832h-1024zM640 128h-256v192h256v-192zM640 384h-256v192h256v-192zM640 640h-256v192h256v-192zM960 128h-256v192h256v-192zM960 384h-256v192h256v-192zM960 640h-256v192h256v-192z" />
+<glyph unicode="" glyph-name="tabletopheader" d="M0 896v-832h1024v832h-1024zM320 128h-256v192h256v-192zM320 384h-256v192h256v-192zM640 128h-256v192h256v-192zM640 384h-256v192h256v-192zM960 128h-256v192h256v-192zM960 384h-256v192h256v-192z" />
+<glyph unicode="" glyph-name="tabledeleterow" d="M886.4 572.8l-156.8-156.8 160-160-76.8-76.8-160 160-156.8-156.8-76.8 73.6 160 160-163.2 163.2 76.8 76.8 163.2-163.2 156.8 156.8 73.6-76.8zM0 896v-896h1024v896h-1024zM960 576h-22.4l-64-64h86.4v-192h-89.6l64-64h25.6v-192h-896v192h310.4l64 64h-374.4v192h371.2l-64 64h-307.2v192h896v-192z" />
+<glyph unicode="" glyph-name="tabledeletecol" d="M320 499.2l64-64v-12.8l-64-64v140.8zM640 422.4l64-64v137.6l-64-64v-9.6zM1024 896v-896h-1024v896h1024zM960 768h-256v-51.2l-12.8 12.8-51.2-51.2v89.6h-256v-89.6l-51.2 51.2-12.8-12.8v51.2h-256v-704h256v118.4l35.2-35.2 28.8 28.8v-115.2h256v115.2l48-48 16 16v-83.2h256v707.2zM672 662.4l-156.8-156.8-163.2 163.2-76.8-76.8 163.2-163.2-156.8-156.8 76.8-76.8 156.8 156.8 160-160 76.8 76.8-160 160 156.8 156.8-76.8 76.8z" />
+<glyph unicode="" glyph-name="a11y" d="M960 704v64l-448-128-448 128v-64l320-128v-256l-128-448h64l192 448 192-448h64l-128 448v256zM416 800q0 40 28 68t68 28 68-28 28-68-28-68-68-28-68 28-28 68z" />
+<glyph unicode="" glyph-name="toc" d="M0 896h128v-128h-128v128zM192 896h832v-128h-832v128zM0 512h128v-128h-128v128zM192 512h832v-128h-832v128zM0 128h128v-128h-128v128zM192 128h832v-128h-832v128zM192 704h128v-128h-128v128zM384 704h640v-128h-640v128zM192 320h128v-128h-128v128zM384 320h640v-128h-640v128z" />
+<glyph unicode="" glyph-name="fill" d="M521.6 915.2l-67.2-67.2-86.4 86.4-86.4-86.4 86.4-86.4-368-368 432-432 518.4 518.4-428.8 435.2zM435.2 134.4l-262.4 262.4 35.2 35.2 576 51.2-348.8-348.8zM953.6 409.6c-6.4-6.4-16-16-28.8-32-28.8-32-41.6-64-41.6-89.6v0 0 0 0 0 0 0c0-16 6.4-35.2 22.4-48 12.8-12.8 32-22.4 48-22.4s35.2 6.4 48 22.4 22.4 32 22.4 48v0 0 0 0 0 0 0c0 25.6-12.8 54.4-41.6 89.6-9.6 16-22.4 25.6-28.8 32v0z" />
+<glyph unicode="" glyph-name="borderwidth" d="M0 265.6h1024v-128h-1024v128zM0 32h1024v-64h-1024v64zM0 566.4h1024v-192h-1024v192zM0 928h1024v-256h-1024v256z" />
+<glyph unicode="" glyph-name="line" d="M739.2 627.2l-502.4-502.4h-185.6v185.6l502.4 502.4 185.6-185.6zM803.2 688l-185.6 185.6 67.2 67.2c22.4 22.4 54.4 22.4 76.8 0l108.8-108.8c22.4-22.4 22.4-54.4 0-76.8l-67.2-67.2zM41.6 48h940.8v-112h-940.8v112z" />
+<glyph unicode="" glyph-name="count" d="M0 480h1024v-64h-1024v64zM304 912v-339.2h-67.2v272h-67.2v67.2zM444.8 694.4v-54.4h134.4v-67.2h-201.6v153.6l134.4 64v54.4h-134.4v67.2h201.6v-153.6zM854.4 912v-339.2h-204.8v67.2h137.6v67.2h-137.6v70.4h137.6v67.2h-137.6v67.2zM115.2 166.4c3.2 57.6 38.4 83.2 108.8 83.2 38.4 0 67.2-9.6 86.4-25.6s25.6-35.2 25.6-70.4v-112c0-25.6 0-28.8 9.6-41.6h-73.6c-3.2 9.6-3.2 9.6-6.4 19.2-22.4-19.2-41.6-25.6-70.4-25.6-54.4 0-89.6 32-89.6 76.8s28.8 70.4 99.2 80l38.4 6.4c16 3.2 22.4 6.4 22.4 16 0 12.8-12.8 22.4-38.4 22.4s-41.6-9.6-44.8-28.8h-67.2zM262.4 115.2c-6.4-3.2-12.8-6.4-25.6-6.4l-25.6-6.4c-25.6-6.4-38.4-16-38.4-28.8 0-16 12.8-25.6 35.2-25.6s41.6 9.6 54.4 32v35.2zM390.4 336h73.6v-112c22.4 16 41.6 22.4 67.2 22.4 64 0 105.6-51.2 105.6-124.8 0-76.8-44.8-134.4-108.8-134.4-32 0-48 9.6-67.2 35.2v-28.8h-70.4v342.4zM460.8 121.6c0-41.6 22.4-70.4 51.2-70.4s51.2 28.8 51.2 70.4c0 44.8-19.2 70.4-51.2 70.4-28.8 0-51.2-28.8-51.2-70.4zM851.2 153.6c-3.2 22.4-19.2 35.2-44.8 35.2-32 0-51.2-25.6-51.2-70.4 0-48 19.2-73.6 51.2-73.6 25.6 0 41.6 12.8 44.8 41.6l70.4-3.2c-9.6-60.8-54.4-96-118.4-96-73.6 0-121.6 51.2-121.6 128 0 80 48 131.2 124.8 131.2 64 0 108.8-35.2 112-96h-67.2z" />
+<glyph unicode="" glyph-name="reload" d="M889.68 793.68c-93.608 102.216-228.154 166.32-377.68 166.32-282.77 0-512-229.23-512-512h96c0 229.75 186.25 416 416 416 123.020 0 233.542-53.418 309.696-138.306l-149.696-149.694h352v352l-134.32-134.32zM928 448c0-229.75-186.25-416-416-416-123.020 0-233.542 53.418-309.694 138.306l149.694 149.694h-352v-352l134.32 134.32c93.608-102.216 228.154-166.32 377.68-166.32 282.77 0 512 229.23 512 512h-96z" />
+<glyph unicode="" glyph-name="translate" d="M553.6 304l-118.4 118.4c80 89.6 137.6 195.2 172.8 304h137.6v92.8h-326.4v92.8h-92.8v-92.8h-326.4v-92.8h518.4c-32-89.6-80-176-147.2-249.6-44.8 48-80 99.2-108.8 156.8h-92.8c35.2-76.8 80-147.2 137.6-211.2l-236.8-233.6 67.2-67.2 233.6 233.6 144-144c3.2 0 38.4 92.8 38.4 92.8zM816 540.8h-92.8l-208-560h92.8l51.2 140.8h220.8l51.2-140.8h92.8l-208 560zM691.2 214.4l76.8 201.6 76.8-201.6h-153.6z" />
+<glyph unicode="" glyph-name="drag" d="M576 896h128v-128h-128v128zM576 640h128v-128h-128v128zM320 640h128v-128h-128v128zM576 384h128v-128h-128v128zM320 384h128v-128h-128v128zM320 128h128v-128h-128v128zM576 128h128v-128h-128v128zM320 896h128v-128h-128v128z" />
+<glyph unicode="" glyph-name="home" d="M1024 369.556l-512 397.426-512-397.428v162.038l512 397.426 512-397.428zM896 384v-384h-256v256h-256v-256h-256v384l384 288z" />
+<glyph unicode="" glyph-name="books" d="M576.234 670.73l242.712 81.432 203.584-606.784-242.712-81.432zM0 64h256v704h-256v-704zM64 640h128v-64h-128v64zM320 64h256v704h-256v-704zM384 640h128v-64h-128v64z" />
+<glyph unicode="" glyph-name="upload" d="M839.432 760.57c27.492-27.492 50.554-78.672 55.552-120.57h-318.984v318.984c41.898-4.998 93.076-28.060 120.568-55.552l142.864-142.862zM512 576v384h-368c-44 0-80-36-80-80v-864c0-44 36-80 80-80h672c44 0 80 36 80 80v560h-384zM576 192v-192h-192v192h-160l256 256 256-256h-160z" />
+<glyph unicode="" glyph-name="editimage" d="M768 416v-352h-640v640h352l128 128h-512c-52.8 0-96-43.2-96-96v-704c0-52.8 43.2-96 96-96h704c52.798 0 96 43.2 96 96v512l-128-128zM864 960l-608-608v-160h160l608 608c0 96-64 160-160 160zM416 320l-48 48 480 480 48-48-480-480z" />
+<glyph unicode="" glyph-name="bubble" d="M928 896h-832c-52.8 0-96-43.2-96-96v-512c0-52.8 43.2-96 96-96h160v-256l307.2 256h364.8c52.8 0 96 43.2 96 96v512c0 52.8-43.2 96-96 96zM896 320h-379.142l-196.858-174.714v174.714h-192v448h768v-448z" />
+<glyph unicode="" glyph-name="user" d="M622.826 257.264c-22.11 3.518-22.614 64.314-22.614 64.314s64.968 64.316 79.128 150.802c38.090 0 61.618 91.946 23.522 124.296 1.59 34.054 48.96 267.324-190.862 267.324s-192.45-233.27-190.864-267.324c-38.094-32.35-14.57-124.296 23.522-124.296 14.158-86.486 79.128-150.802 79.128-150.802s-0.504-60.796-22.614-64.314c-71.22-11.332-337.172-128.634-337.172-257.264h896c0 128.63-265.952 245.932-337.174 257.264z" />
+<glyph unicode="" glyph-name="lock" d="M592 512h-16v192c0 105.87-86.13 192-192 192h-128c-105.87 0-192-86.13-192-192v-192h-16c-26.4 0-48-21.6-48-48v-480c0-26.4 21.6-48 48-48h544c26.4 0 48 21.6 48 48v480c0 26.4-21.6 48-48 48zM192 704c0 35.29 28.71 64 64 64h128c35.29 0 64-28.71 64-64v-192h-256v192z" />
+<glyph unicode="" glyph-name="unlock" d="M768 896c105.87 0 192-86.13 192-192v-192h-128v192c0 35.29-28.71 64-64 64h-128c-35.29 0-64-28.71-64-64v-192h16c26.4 0 48-21.6 48-48v-480c0-26.4-21.6-48-48-48h-544c-26.4 0-48 21.6-48 48v480c0 26.4 21.6 48 48 48h400v192c0 105.87 86.13 192 192 192h128z" />
+<glyph unicode="" glyph-name="settings" d="M448 832v16c0 26.4-21.6 48-48 48h-160c-26.4 0-48-21.6-48-48v-16h-192v-128h192v-16c0-26.4 21.6-48 48-48h160c26.4 0 48 21.6 48 48v16h576v128h-576zM256 704v128h128v-128h-128zM832 528c0 26.4-21.6 48-48 48h-160c-26.4 0-48-21.6-48-48v-16h-576v-128h576v-16c0-26.4 21.6-48 48-48h160c26.4 0 48 21.6 48 48v16h192v128h-192v16zM640 384v128h128v-128h-128zM448 208c0 26.4-21.6 48-48 48h-160c-26.4 0-48-21.6-48-48v-16h-192v-128h192v-16c0-26.4 21.6-48 48-48h160c26.4 0 48 21.6 48 48v16h576v128h-576v16zM256 64v128h128v-128h-128z" />
+<glyph unicode="" glyph-name="remove2" d="M192-64h640l64 704h-768zM640 832v128h-256v-128h-320v-192l64 64h768l64-64v192h-320zM576 832h-128v64h128v-64z" />
+<glyph unicode="" glyph-name="menu" d="M384 896h256v-256h-256zM384 576h256v-256h-256zM384 256h256v-256h-256z" />
+<glyph unicode="" glyph-name="warning" d="M1009.956 44.24l-437.074 871.112c-16.742 29.766-38.812 44.648-60.882 44.648s-44.14-14.882-60.884-44.648l-437.074-871.112c-33.486-59.532-5-108.24 63.304-108.24h869.308c68.302 0 96.792 48.708 63.302 108.24zM512 64c-35.346 0-64 28.654-64 64 0 35.348 28.654 64 64 64 35.348 0 64-28.652 64-64 0-35.346-28.652-64-64-64zM556 256h-88l-20 256c0 35.346 28.654 64 64 64s64-28.654 64-64l-20-256z" />
+<glyph unicode="" glyph-name="question" d="M448 256h128v-128h-128zM704 704c35.346 0 64-28.654 64-64v-192l-192-128h-128v64l192 128v64h-320v128h384zM512 864c-111.118 0-215.584-43.272-294.156-121.844s-121.844-183.038-121.844-294.156c0-111.118 43.272-215.584 121.844-294.156s183.038-121.844 294.156-121.844c111.118 0 215.584 43.272 294.156 121.844s121.844 183.038 121.844 294.156c0 111.118-43.272 215.584-121.844 294.156s-183.038 121.844-294.156 121.844zM512 960v0c282.77 0 512-229.23 512-512s-229.23-512-512-512c-282.77 0-512 229.23-512 512s229.23 512 512 512z" />
+<glyph unicode="" glyph-name="pluscircle" d="M512 960c-282.77 0-512-229.23-512-512s229.23-512 512-512 512 229.23 512 512-229.23 512-512 512zM512 64c-212.078 0-384 171.922-384 384s171.922 384 384 384c212.078 0 384-171.922 384-384s-171.922-384-384-384zM768 384h-192v-192h-128v192h-192v128h192v192h128v-192h192z" />
+<glyph unicode="" glyph-name="info" d="M512 960c-282.77 0-512-229.23-512-512s229.23-512 512-512 512 229.23 512 512-229.23 512-512 512zM448 768h128v-128h-128v128zM640 128h-256v64h64v256h-64v64h192v-320h64v-64z" />
+<glyph unicode="" glyph-name="notice" d="M1024 224l-288 736h-448l-288-288v-448l288-288h448l288 288v448l-288 288zM576 128h-128v128h128v-128zM576 384h-128v384h128v-384z" />
+<glyph unicode="" glyph-name="drop" d="M864.626 486.838c-65.754 183.44-205.11 348.15-352.626 473.162-147.516-125.012-286.87-289.722-352.626-473.162-40.664-113.436-44.682-236.562 12.584-345.4 65.846-125.14 198.632-205.438 340.042-205.438s274.196 80.298 340.040 205.44c57.27 108.838 53.25 231.962 12.586 345.398zM738.764 201.044c-43.802-83.252-132.812-137.044-226.764-137.044-55.12 0-108.524 18.536-152.112 50.652 13.242-1.724 26.632-2.652 40.112-2.652 117.426 0 228.668 67.214 283.402 171.242 44.878 85.292 40.978 173.848 23.882 244.338 14.558-28.15 26.906-56.198 36.848-83.932 22.606-63.062 40.024-156.34-5.368-242.604z" />
+<glyph unicode="" glyph-name="minus" d="M0 544v-192c0-17.672 14.328-32 32-32h960c17.672 0 32 14.328 32 32v192c0 17.672-14.328 32-32 32h-960c-17.672 0-32-14.328-32-32z" />
+<glyph unicode="" glyph-name="plus" d="M992 576h-352v352c0 17.672-14.328 32-32 32h-192c-17.672 0-32-14.328-32-32v-352h-352c-17.672 0-32-14.328-32-32v-192c0-17.672 14.328-32 32-32h352v-352c0-17.672 14.328-32 32-32h192c17.672 0 32 14.328 32 32v352h352c17.672 0 32 14.328 32 32v192c0 17.672-14.328 32-32 32z" />
+<glyph unicode="" glyph-name="arrowup" d="M0 320l192-192 320 320 320-320 192 192-511.998 512z" />
+<glyph unicode="" glyph-name="arrowright" d="M384 960l-192-192 320-320-320-320 192-192 512 512z" />
+<glyph unicode="" glyph-name="arrowdown" d="M1024 576l-192 192-320-320-320 320-192-192 512-511.998z" />
+<glyph unicode="" glyph-name="arrowup2" d="M768 320l-256 256-256-256z" />
+<glyph unicode="" glyph-name="arrowdown2" d="M256 576l256-256 256 256z" />
+<glyph unicode="" glyph-name="menu2" d="M256 704l256-256 256 256zM255.996 384.004l256-256 256 256z" />
+<glyph unicode="" glyph-name="newtab" d="M704 384l128 128v-512h-768v768h512l-128-128h-256v-512h512zM960 896v-352l-130.744 130.744-354.746-354.744h-90.51v90.512l354.744 354.744-130.744 130.744z" />
+<glyph unicode="" glyph-name="rotateleft" d="M607.998 831.986c-212.070 0-383.986-171.916-383.986-383.986h-191.994l246.848-246.848 246.848 246.848h-191.994c0 151.478 122.798 274.276 274.276 274.276 151.48 0 274.276-122.798 274.276-274.276 0-151.48-122.796-274.276-274.276-274.276v-109.71c212.070 0 383.986 171.916 383.986 383.986s-171.916 383.986-383.986 383.986z" />
+<glyph unicode="" glyph-name="rotateright" d="M416.002 831.986c212.070 0 383.986-171.916 383.986-383.986h191.994l-246.848-246.848-246.848 246.848h191.994c0 151.478-122.798 274.276-274.276 274.276-151.48 0-274.276-122.798-274.276-274.276 0-151.48 122.796-274.276 274.276-274.276v-109.71c-212.070 0-383.986 171.916-383.986 383.986s171.916 383.986 383.986 383.986z" />
+<glyph unicode="" glyph-name="flipv" d="M0 576h1024v384zM1024 0v384h-1024z" />
+<glyph unicode="" glyph-name="fliph" d="M576 960v-1024h384zM0-64h384v1024z" />
+<glyph unicode="" glyph-name="zoomin" d="M992.262 88.604l-242.552 206.294c-25.074 22.566-51.89 32.926-73.552 31.926 57.256 67.068 91.842 154.078 91.842 249.176 0 212.078-171.922 384-384 384-212.076 0-384-171.922-384-384s171.922-384 384-384c95.098 0 182.108 34.586 249.176 91.844-1-21.662 9.36-48.478 31.926-73.552l206.294-242.552c35.322-39.246 93.022-42.554 128.22-7.356s31.892 92.898-7.354 128.22zM384 320c-141.384 0-256 114.616-256 256s114.616 256 256 256 256-114.616 256-256-114.614-256-256-256zM448 768h-128v-128h-128v-128h128v-128h128v128h128v128h-128z" />
+<glyph unicode="" glyph-name="zoomout" d="M992.262 88.604l-242.552 206.294c-25.074 22.566-51.89 32.926-73.552 31.926 57.256 67.068 91.842 154.078 91.842 249.176 0 212.078-171.922 384-384 384-212.076 0-384-171.922-384-384s171.922-384 384-384c95.098 0 182.108 34.586 249.176 91.844-1-21.662 9.36-48.478 31.926-73.552l206.294-242.552c35.322-39.246 93.022-42.554 128.22-7.356s31.892 92.898-7.354 128.22zM384 320c-141.384 0-256 114.616-256 256s114.616 256 256 256 256-114.616 256-256-114.614-256-256-256zM192 640h384v-128h-384z" />
+<glyph unicode="" glyph-name="sharpen" d="M768 832h-512l-256-256 512-576 512 576-256 256zM512 181.334v2.666h-2.37l-14.222 16h16.592v16h-30.814l-14.222 16h45.036v16h-59.258l-14.222 16h73.48v16h-87.704l-14.222 16h101.926v16h-116.148l-14.222 16h130.37v16h-144.592l-14.222 16h158.814v16h-173.038l-14.222 16h187.26v16h-201.482l-14.222 16h215.704v16h-229.926l-14.222 16h244.148v16h-258.372l-14.222 16h272.594v16h-286.816l-14.222 16h301.038v16h-315.26l-14.222 16h329.482v16h-343.706l-7.344 8.262 139.072 139.072h211.978v-3.334h215.314l16-16h-231.314v-16h247.314l16-16h-263.314v-16h279.314l16-16h-295.314v-16h311.314l16-16h-327.314v-16h343.312l7.738-7.738-351.050-394.928z" />
+<glyph unicode="" glyph-name="options" d="M64 768h896v-192h-896zM64 512h896v-192h-896zM64 256h896v-192h-896z" />
+<glyph unicode="" glyph-name="sun" d="M512 128c35.346 0 64-28.654 64-64v-64c0-35.346-28.654-64-64-64s-64 28.654-64 64v64c0 35.346 28.654 64 64 64zM512 768c-35.346 0-64 28.654-64 64v64c0 35.346 28.654 64 64 64s64-28.654 64-64v-64c0-35.346-28.654-64-64-64zM960 512c35.346 0 64-28.654 64-64s-28.654-64-64-64h-64c-35.348 0-64 28.654-64 64s28.652 64 64 64h64zM192 448c0-35.346-28.654-64-64-64h-64c-35.346 0-64 28.654-64 64s28.654 64 64 64h64c35.346 0 64-28.654 64-64zM828.784 221.726l45.256-45.258c24.992-24.99 24.992-65.516 0-90.508-24.994-24.992-65.518-24.992-90.51 0l-45.256 45.256c-24.992 24.99-24.992 65.516 0 90.51 24.994 24.992 65.518 24.992 90.51 0zM195.216 674.274l-45.256 45.256c-24.994 24.994-24.994 65.516 0 90.51s65.516 24.994 90.51 0l45.256-45.256c24.994-24.994 24.994-65.516 0-90.51s-65.516-24.994-90.51 0zM828.784 674.274c-24.992-24.992-65.516-24.992-90.51 0-24.992 24.994-24.992 65.516 0 90.51l45.256 45.254c24.992 24.994 65.516 24.994 90.51 0 24.992-24.994 24.992-65.516 0-90.51l-45.256-45.254zM195.216 221.726c24.992 24.992 65.518 24.992 90.508 0 24.994-24.994 24.994-65.52 0-90.51l-45.254-45.256c-24.994-24.992-65.516-24.992-90.51 0s-24.994 65.518 0 90.508l45.256 45.258zM512 704c-141.384 0-256-114.616-256-256 0-141.382 114.616-256 256-256 141.382 0 256 114.618 256 256 0 141.384-114.616 256-256 256zM512 288c-88.366 0-160 71.634-160 160s71.634 160 160 160 160-71.634 160-160-71.634-160-160-160z" />
+<glyph unicode="" glyph-name="moon" d="M715.812 895.52c-60.25 34.784-124.618 55.904-189.572 64.48 122.936-160.082 144.768-384.762 37.574-570.42-107.2-185.67-312.688-279.112-512.788-252.68 39.898-51.958 90.376-97.146 150.628-131.934 245.908-141.974 560.37-57.72 702.344 188.198 141.988 245.924 57.732 560.372-188.186 702.356z" />
+<glyph unicode="" glyph-name="contrast" d="M512 960c-282.77 0-512-229.23-512-512s229.23-512 512-512 512 229.23 512 512-229.23 512-512 512zM128 448c0 212.078 171.922 384 384 384v-768c-212.078 0-384 171.922-384 384z" />
+<glyph unicode="" glyph-name="remove22" d="M893.254 738.746l-90.508 90.508-290.746-290.744-290.746 290.744-90.508-90.506 290.746-290.748-290.746-290.746 90.508-90.508 290.746 290.746 290.746-290.746 90.508 90.51-290.744 290.744z" />
+<glyph unicode="" glyph-name="arrowleft" d="M672-64l192 192-320 320 320 320-192 192-512-512z" />
+<glyph unicode="" glyph-name="resize2" d="M0 896v-384c0-35.346 28.654-64 64-64s64 28.654 64 64v229.488l677.488-677.488h-229.488c-35.346 0-64-28.652-64-64 0-35.346 28.654-64 64-64h384c35.346 0 64 28.654 64 64v384c0 35.348-28.654 64-64 64s-64-28.652-64-64v-229.488l-677.488 677.488h229.488c35.346 0 64 28.654 64 64s-28.652 64-64 64h-384c-35.346 0-64-28.654-64-64z" />
+<glyph unicode="" glyph-name="crop" d="M832 704l192 192-64 64-192-192h-448v192h-128v-192h-192v-128h192v-512h512v-192h128v192h192v128h-192v448zM320 640h320l-320-320v320zM384 256l320 320v-320h-320z" />
+</font></defs></svg>
\ No newline at end of file
diff --git a/public/static/tinymce4.7.5/skins/lightgray/fonts/tinymce.ttf b/public/static/tinymce4.7.5/skins/lightgray/fonts/tinymce.ttf
new file mode 100644
index 0000000..61a48a5
--- /dev/null
+++ b/public/static/tinymce4.7.5/skins/lightgray/fonts/tinymce.ttf
Binary files differ
diff --git a/public/static/tinymce4.7.5/skins/lightgray/fonts/tinymce.woff b/public/static/tinymce4.7.5/skins/lightgray/fonts/tinymce.woff
new file mode 100644
index 0000000..aace5d9
--- /dev/null
+++ b/public/static/tinymce4.7.5/skins/lightgray/fonts/tinymce.woff
Binary files differ
diff --git a/public/static/tinymce4.7.5/skins/lightgray/img/anchor.gif b/public/static/tinymce4.7.5/skins/lightgray/img/anchor.gif
new file mode 100644
index 0000000..606348c
--- /dev/null
+++ b/public/static/tinymce4.7.5/skins/lightgray/img/anchor.gif
Binary files differ
diff --git a/public/static/tinymce4.7.5/skins/lightgray/img/loader.gif b/public/static/tinymce4.7.5/skins/lightgray/img/loader.gif
new file mode 100644
index 0000000..c69e937
--- /dev/null
+++ b/public/static/tinymce4.7.5/skins/lightgray/img/loader.gif
Binary files differ
diff --git a/public/static/tinymce4.7.5/skins/lightgray/img/object.gif b/public/static/tinymce4.7.5/skins/lightgray/img/object.gif
new file mode 100644
index 0000000..cccd7f0
--- /dev/null
+++ b/public/static/tinymce4.7.5/skins/lightgray/img/object.gif
Binary files differ
diff --git a/public/static/tinymce4.7.5/skins/lightgray/img/trans.gif b/public/static/tinymce4.7.5/skins/lightgray/img/trans.gif
new file mode 100644
index 0000000..3884865
--- /dev/null
+++ b/public/static/tinymce4.7.5/skins/lightgray/img/trans.gif
Binary files differ
diff --git a/public/static/tinymce4.7.5/skins/lightgray/skin.min.css b/public/static/tinymce4.7.5/skins/lightgray/skin.min.css
new file mode 100644
index 0000000..4ad815b
--- /dev/null
+++ b/public/static/tinymce4.7.5/skins/lightgray/skin.min.css
@@ -0,0 +1 @@
+.mce-container,.mce-container *,.mce-widget,.mce-widget *,.mce-reset{margin:0;padding:0;border:0;outline:0;vertical-align:top;background:transparent;text-decoration:none;color:#595959;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;text-shadow:none;float:none;position:static;width:auto;height:auto;white-space:nowrap;cursor:inherit;-webkit-tap-highlight-color:transparent;line-height:normal;font-weight:normal;text-align:left;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box;direction:ltr;max-width:none}.mce-widget button{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.mce-container *[unselectable]{-moz-user-select:none;-webkit-user-select:none;-o-user-select:none;user-select:none}.word-wrap{word-wrap:break-word;-ms-word-break:break-all;word-break:break-all;word-break:break-word;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto}.mce-fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.mce-fade.mce-in{opacity:1}.mce-tinymce{visibility:inherit !important;position:relative}.mce-fullscreen{border:0;padding:0;margin:0;overflow:hidden;height:100%;z-index:100}div.mce-fullscreen{position:fixed;top:0;left:0;width:100%;height:auto}.mce-tinymce{display:block;-webkit-box-shadow:0 1px 2px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 1px 2px rgba(0, 0, 0, 0.2);box-shadow:0 1px 2px rgba(0, 0, 0, 0.2)}.mce-statusbar>.mce-container-body{display:flex;padding-right:16px}.mce-statusbar>.mce-container-body .mce-path{flex:1}.mce-wordcount{font-size:inherit;text-transform:uppercase;padding:8px 0}div.mce-edit-area{background:#FFF;filter:none}.mce-statusbar{position:relative}.mce-statusbar .mce-container-body{position:relative;font-size:11px}.mce-fullscreen .mce-resizehandle{display:none}.mce-statusbar .mce-flow-layout-item{margin:0}.mce-charmap{border-collapse:collapse}.mce-charmap td{cursor:default;border:1px solid #c5c5c5;width:20px;height:20px;line-height:20px;text-align:center;vertical-align:middle;padding:2px}.mce-charmap td div{text-align:center}.mce-charmap td:hover{background:white}.mce-grid td.mce-grid-cell div{border:1px solid #c5c5c5;width:15px;height:15px;margin:0;cursor:pointer}.mce-grid td.mce-grid-cell div:focus{border-color:#91bbe9}.mce-grid td.mce-grid-cell div[disabled]{cursor:not-allowed}.mce-grid{border-spacing:2px;border-collapse:separate}.mce-grid a{display:block;border:1px solid transparent}.mce-grid a:hover,.mce-grid a:focus{border-color:#91bbe9}.mce-grid-border{margin:0 4px 0 4px}.mce-grid-border a{border-color:#c5c5c5;width:13px;height:13px}.mce-grid-border a:hover,.mce-grid-border a.mce-active{border-color:#91bbe9;background:#bdd6f2}.mce-text-center{text-align:center}div.mce-tinymce-inline{width:100%}.mce-colorbtn-trans div{text-align:center;vertical-align:middle;font-weight:bold;font-size:20px;line-height:16px;color:#8b8b8b}.mce-monospace{font-family:"Courier New",Courier,monospace}.mce-toolbar-grp .mce-flow-layout-item{margin-bottom:0}.mce-container b{font-weight:bold}.mce-container p{margin-bottom:5px}.mce-container a{cursor:pointer;color:#2276d2}.mce-container a:hover{text-decoration:underline}.mce-container ul{margin-left:15px}.mce-container .mce-table-striped{border-collapse:collapse;margin:10px}.mce-container .mce-table-striped thead>tr{background-color:#fafafa}.mce-container .mce-table-striped thead>tr th{font-weight:bold}.mce-container .mce-table-striped td,.mce-container .mce-table-striped th{padding:5px}.mce-container .mce-table-striped tr:nth-child(even){background-color:#fafafa}.mce-container .mce-table-striped tbody>tr:hover{background-color:#e1e1e1}.mce-branding{font-size:inherit;text-transform:uppercase;white-space:pre;padding:8px 0}.mce-branding a{font-size:inherit;color:inherit}.mce-top-part{position:relative}.mce-top-part::before{content:'';position:absolute;-webkit-box-shadow:0 1px 2px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 1px 2px rgba(0, 0, 0, 0.2);box-shadow:0 1px 2px rgba(0, 0, 0, 0.2);top:0;right:0;bottom:0;left:0;pointer-events:none}.mce-rtl .mce-wordcount{left:0;right:auto}.mce-rtl .mce-statusbar>.mce-container-body>*:last-child{padding-right:0;padding-left:10px}.mce-rtl .mce-path{text-align:right;padding-right:16px}.mce-croprect-container{position:absolute;top:0;left:0}.mce-croprect-handle{position:absolute;top:0;left:0;width:20px;height:20px;border:2px solid white}.mce-croprect-handle-nw{border-width:2px 0 0 2px;margin:-2px 0 0 -2px;cursor:nw-resize;top:100px;left:100px}.mce-croprect-handle-ne{border-width:2px 2px 0 0;margin:-2px 0 0 -20px;cursor:ne-resize;top:100px;left:200px}.mce-croprect-handle-sw{border-width:0 0 2px 2px;margin:-20px 2px 0 -2px;cursor:sw-resize;top:200px;left:100px}.mce-croprect-handle-se{border-width:0 2px 2px 0;margin:-20px 0 0 -20px;cursor:se-resize;top:200px;left:200px}.mce-croprect-handle-move{position:absolute;cursor:move;border:0}.mce-croprect-block{opacity:.5;filter:alpha(opacity=50);zoom:1;position:absolute;background:black}.mce-croprect-handle:focus{border-color:#2276d2}.mce-croprect-handle-move:focus{outline:1px solid #2276d2}.mce-imagepanel{overflow:auto;background:black}.mce-imagepanel-bg{position:absolute;background:url('data:image/gif;base64,R0lGODdhDAAMAIABAMzMzP///ywAAAAADAAMAAACFoQfqYeabNyDMkBQb81Uat85nxguUAEAOw==')}.mce-imagepanel img{position:absolute}.mce-imagetool.mce-btn .mce-ico{display:block;width:20px;height:20px;text-align:center;line-height:20px;font-size:20px;padding:5px}.mce-arrow-up{margin-top:12px}.mce-arrow-down{margin-top:-12px}.mce-arrow:before,.mce-arrow:after{position:absolute;left:50%;display:block;width:0;height:0;border-style:solid;border-color:transparent;content:""}.mce-arrow.mce-arrow-up:before{top:-9px;border-bottom-color:#c5c5c5;border-width:0 9px 9px;margin-left:-9px}.mce-arrow.mce-arrow-down:before{bottom:-9px;border-top-color:#c5c5c5;border-width:9px 9px 0;margin-left:-9px}.mce-arrow.mce-arrow-up:after{top:-8px;border-bottom-color:#fff;border-width:0 8px 8px;margin-left:-8px}.mce-arrow.mce-arrow-down:after{bottom:-8px;border-top-color:#fff;border-width:8px 8px 0;margin-left:-8px}.mce-arrow.mce-arrow-left:before,.mce-arrow.mce-arrow-left:after{margin:0}.mce-arrow.mce-arrow-left:before{left:8px}.mce-arrow.mce-arrow-left:after{left:9px}.mce-arrow.mce-arrow-right:before,.mce-arrow.mce-arrow-right:after{left:auto;margin:0}.mce-arrow.mce-arrow-right:before{right:8px}.mce-arrow.mce-arrow-right:after{right:9px}.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-left:before{left:-9px;top:50%;border-right-color:#c5c5c5;border-width:9px 9px 9px 0;margin-top:-9px}.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-left:after{left:-8px;top:50%;border-right-color:#fff;border-width:8px 8px 8px 0;margin-top:-8px}.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-left{margin-left:12px}.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-right:before{right:-9px;top:50%;border-left-color:#c5c5c5;border-width:9px 0 9px 9px;margin-top:-9px}.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-right:after{right:-8px;top:50%;border-left-color:#fff;border-width:8px 0 8px 8px;margin-top:-8px}.mce-arrow.mce-arrow-center.mce-arrow.mce-arrow-right{margin-left:-14px}.mce-edit-aria-container>.mce-container-body{display:flex}.mce-edit-aria-container>.mce-container-body .mce-edit-area{flex:1}.mce-edit-aria-container>.mce-container-body .mce-sidebar>.mce-container-body{display:flex;align-items:stretch;height:100%}.mce-edit-aria-container>.mce-container-body .mce-sidebar-panel{min-width:250px;max-width:250px;position:relative}.mce-edit-aria-container>.mce-container-body .mce-sidebar-panel>.mce-container-body{position:absolute;width:100%;height:100%;overflow:auto;top:0;left:0}.mce-sidebar-toolbar{border:0 solid #c5c5c5;border-left-width:1px}.mce-sidebar-toolbar .mce-btn{border-left:0;border-right:0}.mce-sidebar-toolbar .mce-btn.mce-active,.mce-sidebar-toolbar .mce-btn.mce-active:hover{background-color:#555c66}.mce-sidebar-toolbar .mce-btn.mce-active button,.mce-sidebar-toolbar .mce-btn.mce-active:hover button,.mce-sidebar-toolbar .mce-btn.mce-active button i,.mce-sidebar-toolbar .mce-btn.mce-active:hover button i{color:white;text-shadow:1px 1px none}.mce-sidebar-panel{border:0 solid #c5c5c5;border-left-width:1px}.mce-container,.mce-container-body{display:block}.mce-autoscroll{overflow:hidden}.mce-scrollbar{position:absolute;width:7px;height:100%;top:2px;right:2px;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-scrollbar-h{top:auto;right:auto;left:2px;bottom:2px;width:100%;height:7px}.mce-scrollbar-thumb{position:absolute;background-color:#000;border:1px solid #888;border-color:rgba(85,85,85,0.6);width:5px;height:100%}.mce-scrollbar-h .mce-scrollbar-thumb{width:100%;height:5px}.mce-scrollbar:hover,.mce-scrollbar.mce-active{background-color:#AAA;opacity:.6;filter:alpha(opacity=60);zoom:1}.mce-scroll{position:relative}.mce-panel{border:0 solid #f3f3f3;border:0 solid #c5c5c5;background-color:#fff}.mce-floatpanel{position:absolute;-webkit-box-shadow:0 1px 2px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 1px 2px rgba(0, 0, 0, 0.2);box-shadow:0 1px 2px rgba(0, 0, 0, 0.2)}.mce-floatpanel.mce-fixed{position:fixed}.mce-floatpanel .mce-arrow,.mce-floatpanel .mce-arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.mce-floatpanel .mce-arrow{border-width:11px}.mce-floatpanel .mce-arrow:after{border-width:10px;content:""}.mce-floatpanel.mce-popover{filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;-webkit-box-shadow:0 1px 2px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 1px 2px rgba(0, 0, 0, 0.2);box-shadow:0 1px 2px rgba(0, 0, 0, 0.2);top:0;left:0;background:#FFF;border:1px solid #c5c5c5;border:1px solid rgba(0,0,0,0.25)}.mce-floatpanel.mce-popover.mce-bottom{margin-top:10px;*margin-top:0}.mce-floatpanel.mce-popover.mce-bottom>.mce-arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#c5c5c5;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.mce-floatpanel.mce-popover.mce-bottom>.mce-arrow:after{top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#FFF}.mce-floatpanel.mce-popover.mce-bottom.mce-start{margin-left:-22px}.mce-floatpanel.mce-popover.mce-bottom.mce-start>.mce-arrow{left:20px}.mce-floatpanel.mce-popover.mce-bottom.mce-end{margin-left:22px}.mce-floatpanel.mce-popover.mce-bottom.mce-end>.mce-arrow{right:10px;left:auto}.mce-fullscreen{border:0;padding:0;margin:0;overflow:hidden;height:100%}div.mce-fullscreen{position:fixed;top:0;left:0}#mce-modal-block{opacity:0;filter:alpha(opacity=0);zoom:1;position:fixed;left:0;top:0;width:100%;height:100%;background:#FFF}#mce-modal-block.mce-in{opacity:.5;filter:alpha(opacity=50);zoom:1}.mce-window-move{cursor:move}.mce-window{-webkit-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);-moz-box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);box-shadow:0 3px 7px rgba(0, 0, 0, 0.3);filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;background:#FFF;position:fixed;top:0;left:0;opacity:0;transform:scale(.1);transition:transform 100ms ease-in,opacity 150ms ease-in}.mce-window.mce-in{transform:scale(1);opacity:1}.mce-window-head{padding:9px 15px;border-bottom:1px solid #c5c5c5;position:relative}.mce-window-head .mce-close{position:absolute;right:0;top:0;height:38px;width:38px;text-align:center;cursor:pointer}.mce-window-head .mce-close i{color:#9b9b9b}.mce-close:hover i{color:#bdbdbd}.mce-window-head .mce-title{line-height:20px;font-size:20px;font-weight:bold;text-rendering:optimizelegibility;padding-right:20px}.mce-window .mce-container-body{display:block}.mce-foot{display:block;background-color:#FFF;border-top:1px solid #c5c5c5}.mce-window-head .mce-dragh{position:absolute;top:0;left:0;cursor:move;width:90%;height:100%}.mce-window iframe{width:100%;height:100%}.mce-window-body .mce-listbox{border-color:#e2e4e7}.mce-window .mce-btn:hover{border-color:#c5c5c5}.mce-window .mce-btn:focus{border-color:#2276d2}.mce-window-body .mce-btn,.mce-foot .mce-btn{border-color:#c5c5c5}.mce-foot .mce-btn.mce-primary{border-color:transparent}.mce-rtl .mce-window-head .mce-close{position:absolute;right:auto;left:15px}.mce-rtl .mce-window-head .mce-dragh{left:auto;right:0}.mce-rtl .mce-window-head .mce-title{direction:rtl;text-align:right}.mce-tooltip{position:absolute;padding:5px;opacity:.8;filter:alpha(opacity=80);zoom:1;margin-top:1px}.mce-tooltip-inner{font-size:11px;background-color:#000;color:white;max-width:200px;padding:5px 8px 4px 8px;text-align:center;white-space:normal}.mce-tooltip-inner{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.mce-tooltip-arrow{position:absolute;width:0;height:0;line-height:0;border:5px dashed #000}.mce-tooltip-arrow-n{border-bottom-color:#000}.mce-tooltip-arrow-s{border-top-color:#000}.mce-tooltip-arrow-e{border-left-color:#000}.mce-tooltip-arrow-w{border-right-color:#000}.mce-tooltip-nw,.mce-tooltip-sw{margin-left:-14px}.mce-tooltip-ne,.mce-tooltip-se{margin-left:14px}.mce-tooltip-n .mce-tooltip-arrow{top:0;left:50%;margin-left:-5px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-nw .mce-tooltip-arrow{top:0;left:10px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-ne .mce-tooltip-arrow{top:0;right:10px;border-bottom-style:solid;border-top:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-s .mce-tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-sw .mce-tooltip-arrow{bottom:0;left:10px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-se .mce-tooltip-arrow{bottom:0;right:10px;border-top-style:solid;border-bottom:none;border-left-color:transparent;border-right-color:transparent}.mce-tooltip-e .mce-tooltip-arrow{right:0;top:50%;margin-top:-5px;border-left-style:solid;border-right:none;border-top-color:transparent;border-bottom-color:transparent}.mce-tooltip-w .mce-tooltip-arrow{left:0;top:50%;margin-top:-5px;border-right-style:solid;border-left:none;border-top-color:transparent;border-bottom-color:transparent}.mce-progress{display:inline-block;position:relative;height:20px}.mce-progress .mce-bar-container{display:inline-block;width:100px;height:100%;margin-right:8px;border:1px solid #ccc;overflow:hidden}.mce-progress .mce-text{display:inline-block;margin-top:auto;margin-bottom:auto;font-size:14px;width:40px;color:#595959}.mce-bar{display:block;width:0;height:100%;background-color:#dfdfdf;-webkit-transition:width .2s ease;transition:width .2s ease}.mce-notification{position:absolute;background-color:#fff;padding:5px;margin-top:5px;border-width:1px;border-style:solid;border-color:#c5c5c5;transition:transform 100ms ease-in,opacity 150ms ease-in;opacity:0;box-sizing:border-box}.mce-notification.mce-in{opacity:1}.mce-notification-success{background-color:#dff0d8;border-color:#d6e9c6}.mce-notification-info{background-color:#d9edf7;border-color:#779ECB}.mce-notification-warning{background-color:#fcf8e3;border-color:#faebcc}.mce-notification-error{background-color:#f2dede;border-color:#ebccd1}.mce-notification.mce-has-close{padding-right:15px}.mce-notification .mce-ico{margin-top:5px}.mce-notification-inner{word-wrap:break-word;-ms-word-break:break-all;word-break:break-all;word-break:break-word;-ms-hyphens:auto;-moz-hyphens:auto;-webkit-hyphens:auto;hyphens:auto;display:inline-block;font-size:14px;margin:5px 8px 4px 8px;text-align:center;white-space:normal;color:#31708f}.mce-notification-inner a{text-decoration:underline;cursor:pointer}.mce-notification .mce-progress{margin-right:8px}.mce-notification .mce-progress .mce-text{margin-top:5px}.mce-notification *,.mce-notification .mce-progress .mce-text{color:#595959}.mce-notification .mce-progress .mce-bar-container{border-color:#c5c5c5}.mce-notification .mce-progress .mce-bar-container .mce-bar{background-color:#595959}.mce-notification-success *,.mce-notification-success .mce-progress .mce-text{color:#3c763d}.mce-notification-success .mce-progress .mce-bar-container{border-color:#d6e9c6}.mce-notification-success .mce-progress .mce-bar-container .mce-bar{background-color:#3c763d}.mce-notification-info *,.mce-notification-info .mce-progress .mce-text{color:#31708f}.mce-notification-info .mce-progress .mce-bar-container{border-color:#779ECB}.mce-notification-info .mce-progress .mce-bar-container .mce-bar{background-color:#31708f}.mce-notification-warning *,.mce-notification-warning .mce-progress .mce-text{color:#8a6d3b}.mce-notification-warning .mce-progress .mce-bar-container{border-color:#faebcc}.mce-notification-warning .mce-progress .mce-bar-container .mce-bar{background-color:#8a6d3b}.mce-notification-error *,.mce-notification-error .mce-progress .mce-text{color:#a94442}.mce-notification-error .mce-progress .mce-bar-container{border-color:#ebccd1}.mce-notification-error .mce-progress .mce-bar-container .mce-bar{background-color:#a94442}.mce-notification .mce-close{position:absolute;top:6px;right:8px;font-size:20px;font-weight:bold;line-height:20px;color:#9b9b9b;cursor:pointer}.mce-abs-layout{position:relative}body .mce-abs-layout-item,.mce-abs-end{position:absolute}.mce-abs-end{width:1px;height:1px}.mce-container-body.mce-abs-layout{overflow:hidden}.mce-btn{border:1px solid #b3b3b3;border-color:transparent transparent transparent transparent;position:relative;text-shadow:0 1px 1px rgba(255,255,255,0.75);background:white;display:inline-block;*display:inline;*zoom:1;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.mce-btn:hover,.mce-btn:active{background:white;color:#595959;border-color:#e2e4e7}.mce-btn:focus{background:white;color:#595959;border-color:#e2e4e7}.mce-btn.mce-disabled button,.mce-btn.mce-disabled:hover button{cursor:default;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-btn.mce-active,.mce-btn.mce-active:hover,.mce-btn.mce-active:focus,.mce-btn.mce-active:active{-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;background:#555c66;color:white;border-color:transparent}.mce-btn.mce-active button,.mce-btn.mce-active:hover button,.mce-btn.mce-active i,.mce-btn.mce-active:hover i{color:white}.mce-btn:hover .mce-caret{border-top-color:#b5bcc2}.mce-btn.mce-active .mce-caret,.mce-btn.mce-active:hover .mce-caret{border-top-color:white}.mce-btn button{padding:4px 6px;font-size:14px;line-height:20px;*line-height:16px;cursor:pointer;color:#595959;text-align:center;overflow:visible;-webkit-appearance:none}.mce-btn button::-moz-focus-inner{border:0;padding:0}.mce-btn i{text-shadow:1px 1px none}.mce-primary.mce-btn-has-text{min-width:50px}.mce-primary{color:white;border:1px solid transparent;border-color:transparent;background-color:#2276d2}.mce-primary:hover,.mce-primary:focus{background-color:#1e6abc;border-color:transparent}.mce-primary.mce-disabled button,.mce-primary.mce-disabled:hover button{cursor:default;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-primary.mce-active,.mce-primary.mce-active:hover,.mce-primary:not(.mce-disabled):active{background-color:#1e6abc;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.mce-primary button,.mce-primary button i{color:white;text-shadow:1px 1px none}.mce-btn .mce-txt{font-size:inherit;line-height:inherit;color:inherit}.mce-btn-large button{padding:9px 14px;font-size:16px;line-height:normal}.mce-btn-large i{margin-top:2px}.mce-btn-small button{padding:1px 5px;font-size:12px;*padding-bottom:2px}.mce-btn-small i{line-height:20px;vertical-align:top;*line-height:18px}.mce-btn .mce-caret{margin-top:8px;margin-left:0}.mce-btn-small .mce-caret{margin-top:8px;margin-left:0}.mce-caret{display:inline-block;*display:inline;*zoom:1;width:0;height:0;vertical-align:top;border-top:4px solid #b5bcc2;border-right:4px solid transparent;border-left:4px solid transparent;content:""}.mce-disabled .mce-caret{border-top-color:#aaa}.mce-caret.mce-up{border-bottom:4px solid #b5bcc2;border-top:0}.mce-btn-flat{border:0;background:transparent;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;filter:none}.mce-btn-flat:hover,.mce-btn-flat.mce-active,.mce-btn-flat:focus,.mce-btn-flat:active{border:0;background:#e6e6e6;filter:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.mce-btn-has-text .mce-ico{padding-right:5px}.mce-rtl .mce-btn button{direction:rtl}.mce-toolbar .mce-btn-group{margin:0;padding:2px 0}.mce-btn-group .mce-btn{border-width:1px;margin:0;margin-left:2px}.mce-btn-group:not(:first-child){border-left:1px solid #d9d9d9;padding-left:0;margin-left:2px}.mce-btn-group{margin-left:2px}.mce-btn-group .mce-btn.mce-flow-layout-item{margin:0}.mce-rtl .mce-btn-group .mce-btn{margin-left:0;margin-right:2px}.mce-rtl .mce-btn-group .mce-first{margin-right:0}.mce-rtl .mce-btn-group:not(:first-child){border-left:none;border-right:1px solid #d9d9d9;padding-right:4px;margin-right:4px}.mce-checkbox{cursor:pointer}i.mce-i-checkbox{margin:0 3px 0 0;border:1px solid #c5c5c5;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;background-color:white;text-indent:-10em;overflow:hidden}.mce-checked i.mce-i-checkbox{color:#595959;font-size:16px;line-height:16px;text-indent:0}.mce-checkbox:focus i.mce-i-checkbox,.mce-checkbox.mce-focus i.mce-i-checkbox{border:1px solid #2276d2;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.mce-checkbox.mce-disabled .mce-label,.mce-checkbox.mce-disabled i.mce-i-checkbox{color:#bdbdbd}.mce-checkbox .mce-label{vertical-align:middle}.mce-rtl .mce-checkbox{direction:rtl;text-align:right}.mce-rtl i.mce-i-checkbox{margin:0 0 0 3px}.mce-combobox{position:relative;display:inline-block;*display:inline;*zoom:1;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;*height:32px}.mce-combobox input{border:1px solid #c5c5c5;border-right-color:#c5c5c5;height:28px}.mce-combobox.mce-disabled input{color:#bdbdbd}.mce-combobox .mce-btn{border:1px solid #c5c5c5;border-left:0;margin:0}.mce-combobox button{padding-right:8px;padding-left:8px}.mce-combobox.mce-disabled .mce-btn button{cursor:default;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-combobox .mce-status{position:absolute;right:2px;top:50%;line-height:16px;margin-top:-8px;font-size:12px;width:15px;height:15px;text-align:center;cursor:pointer}.mce-combobox.mce-has-status input{padding-right:20px}.mce-combobox.mce-has-open .mce-status{right:37px}.mce-combobox .mce-status.mce-i-warning{color:#c09853}.mce-combobox .mce-status.mce-i-checkmark{color:#468847}.mce-menu.mce-combobox-menu{border-top:0;margin-top:0;max-height:200px}.mce-menu.mce-combobox-menu .mce-menu-item{padding:4px 6px 4px 4px;font-size:11px}.mce-menu.mce-combobox-menu .mce-menu-item-sep{padding:0}.mce-menu.mce-combobox-menu .mce-text{font-size:11px}.mce-menu.mce-combobox-menu .mce-menu-item-link,.mce-menu.mce-combobox-menu .mce-menu-item-link b{font-size:11px}.mce-menu.mce-combobox-menu .mce-text b{font-size:11px}.mce-colorbox i{border:1px solid #c5c5c5;width:14px;height:14px}.mce-colorbutton .mce-ico{position:relative}.mce-colorbutton-grid{margin:4px}.mce-colorbutton .mce-preview{padding-right:3px;display:block;position:absolute;left:50%;top:50%;margin-left:-17px;margin-top:7px;background:gray;width:13px;height:2px;overflow:hidden}.mce-colorbutton.mce-btn-small .mce-preview{margin-left:-16px;padding-right:0;width:16px}.mce-rtl .mce-colorbutton{direction:rtl}.mce-rtl .mce-colorbutton .mce-preview{margin-left:0;padding-right:0;padding-left:3px}.mce-rtl .mce-colorbutton.mce-btn-small .mce-preview{margin-left:0;padding-right:0;padding-left:2px}.mce-rtl .mce-colorbutton .mce-open{padding-left:4px;padding-right:4px;border-left:0}.mce-colorpicker{position:relative;width:250px;height:220px}.mce-colorpicker-sv{position:absolute;top:0;left:0;width:90%;height:100%;border:1px solid #c5c5c5;cursor:crosshair;overflow:hidden}.mce-colorpicker-h-chunk{width:100%}.mce-colorpicker-overlay1,.mce-colorpicker-overlay2{width:100%;height:100%;position:absolute;top:0;left:0}.mce-colorpicker-overlay1{filter:progid:DXImageTransform.Microsoft.gradient(GradientType=1, startColorstr='#ffffff', endColorstr='#00ffffff');-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType=1,startColorstr='#ffffff', endColorstr='#00ffffff')";background:linear-gradient(to right, #fff, rgba(255,255,255,0))}.mce-colorpicker-overlay2{filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0, startColorstr='#00000000', endColorstr='#000000');-ms-filter:"progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr='#00000000', endColorstr='#000000')";background:linear-gradient(to bottom, rgba(0,0,0,0), #000)}.mce-colorpicker-selector1{background:none;position:absolute;width:12px;height:12px;margin:-8px 0 0 -8px;border:1px solid black;border-radius:50%}.mce-colorpicker-selector2{position:absolute;width:10px;height:10px;border:1px solid white;border-radius:50%}.mce-colorpicker-h{position:absolute;top:0;right:0;width:6.5%;height:100%;border:1px solid #c5c5c5;cursor:crosshair}.mce-colorpicker-h-marker{margin-top:-4px;position:absolute;top:0;left:-1px;width:100%;border:1px solid black;background:white;height:4px;z-index:100}.mce-path{display:inline-block;*display:inline;*zoom:1;padding:8px;white-space:normal;font-size:inherit}.mce-path .mce-txt{display:inline-block;padding-right:3px}.mce-path .mce-path-body{display:inline-block}.mce-path-item{display:inline-block;*display:inline;*zoom:1;cursor:pointer;color:#595959;font-size:inherit;text-transform:uppercase}.mce-path-item:hover{text-decoration:underline}.mce-path-item:focus{background:#555c66;color:white}.mce-path .mce-divider{display:inline;font-size:inherit}.mce-disabled .mce-path-item{color:#aaa}.mce-rtl .mce-path{direction:rtl}.mce-fieldset{border:0 solid #9E9E9E}.mce-fieldset>.mce-container-body{margin-top:-15px}.mce-fieldset-title{margin-left:5px;padding:0 5px 0 5px}.mce-fit-layout{display:inline-block;*display:inline;*zoom:1}.mce-fit-layout-item{position:absolute}.mce-flow-layout-item{display:inline-block;*display:inline;*zoom:1}.mce-flow-layout-item{margin:2px 0 2px 2px}.mce-flow-layout-item.mce-last{margin-right:2px}.mce-flow-layout{white-space:normal}.mce-tinymce-inline .mce-flow-layout{white-space:nowrap}.mce-rtl .mce-flow-layout{text-align:right;direction:rtl}.mce-rtl .mce-flow-layout-item{margin:2px 2px 2px 0}.mce-rtl .mce-flow-layout-item.mce-last{margin-left:2px}.mce-iframe{border:0 solid #c5c5c5;width:100%;height:100%}.mce-infobox{display:inline-block;*display:inline;*zoom:1;text-shadow:0 1px 1px rgba(255,255,255,0.75);overflow:hidden;border:1px solid red}.mce-infobox div{display:block;margin:5px}.mce-infobox div button{position:absolute;top:50%;right:4px;cursor:pointer;margin-top:-8px;display:none}.mce-infobox div button:focus{outline:2px solid #e2e4e7}.mce-infobox.mce-has-help div{margin-right:25px}.mce-infobox.mce-has-help button{display:block}.mce-infobox.mce-success{background:#dff0d8;border-color:#d6e9c6}.mce-infobox.mce-success div{color:#3c763d}.mce-infobox.mce-warning{background:#fcf8e3;border-color:#faebcc}.mce-infobox.mce-warning div{color:#8a6d3b}.mce-infobox.mce-error{background:#f2dede;border-color:#ebccd1}.mce-infobox.mce-error div{color:#a94442}.mce-rtl .mce-infobox div{text-align:right;direction:rtl}.mce-label{display:inline-block;*display:inline;*zoom:1;text-shadow:0 1px 1px rgba(255,255,255,0.75);overflow:hidden}.mce-label.mce-autoscroll{overflow:auto}.mce-label.mce-disabled{color:#aaa}.mce-label.mce-multiline{white-space:pre-wrap}.mce-label.mce-success{color:#468847}.mce-label.mce-warning{color:#c09853}.mce-label.mce-error{color:#b94a48}.mce-rtl .mce-label{text-align:right;direction:rtl}.mce-menubar{border:1px solid #e2e4e7}.mce-menubar .mce-menubtn{border-color:transparent;background:transparent;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;filter:none}.mce-menubar .mce-menubtn button span{color:#595959}.mce-menubar .mce-caret{border-top-color:#b5bcc2}.mce-menubar .mce-active .mce-caret,.mce-menubar .mce-menubtn:hover .mce-caret{border-top-color:#b5bcc2}.mce-menubar .mce-menubtn:hover,.mce-menubar .mce-menubtn.mce-active,.mce-menubar .mce-menubtn:focus{border-color:#e2e4e7;background:white;filter:none;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.mce-menubar .mce-menubtn.mce-active{border-bottom:none;z-index:65537}div.mce-menubtn.mce-opened{border-bottom-color:white;z-index:65537}.mce-menubtn button{color:#595959}.mce-menubtn.mce-btn-small span{font-size:12px}.mce-menubtn.mce-fixed-width span{display:inline-block;overflow-x:hidden;text-overflow:ellipsis;width:90px}.mce-menubtn.mce-fixed-width.mce-btn-small span{width:70px}.mce-menubtn .mce-caret{*margin-top:6px}.mce-rtl .mce-menubtn button{direction:rtl;text-align:right}.mce-rtl .mce-menubtn.mce-fixed-width span{direction:rtl;text-align:right}.mce-menu-item{display:block;padding:6px 4px 6px 4px;clear:both;font-weight:normal;line-height:20px;color:#595959;white-space:nowrap;cursor:pointer;line-height:normal;border-left:4px solid transparent;margin-bottom:1px}.mce-menu-item .mce-caret{margin-top:4px;margin-right:6px;border-top:4px solid transparent;border-bottom:4px solid transparent;border-left:4px solid #595959}.mce-menu-item .mce-menu-shortcut{display:inline-block;padding:0 10px 0 20px;color:#aaa}.mce-menu-item .mce-ico{padding-right:4px}.mce-menu-item:hover,.mce-menu-item:focus{background:#ededee}.mce-menu-item:hover .mce-menu-shortcut,.mce-menu-item:focus .mce-menu-shortcut{color:#aaa}.mce-menu-item:hover .mce-text,.mce-menu-item:focus .mce-text,.mce-menu-item:hover .mce-ico,.mce-menu-item:focus .mce-ico{color:#595959}.mce-menu-item.mce-selected{background:#ededee}.mce-menu-item.mce-selected .mce-text,.mce-menu-item.mce-selected .mce-ico{color:#595959}.mce-menu-item.mce-active.mce-menu-item-normal{background:#555c66}.mce-menu-item.mce-active.mce-menu-item-normal .mce-text,.mce-menu-item.mce-active.mce-menu-item-normal .mce-ico{color:white}.mce-menu-item.mce-active.mce-menu-item-checkbox .mce-ico{visibility:visible}.mce-menu-item.mce-disabled,.mce-menu-item.mce-disabled:hover{background:white}.mce-menu-item.mce-disabled:focus,.mce-menu-item.mce-disabled:hover:focus{background:#ededee}.mce-menu-item.mce-disabled .mce-text,.mce-menu-item.mce-disabled:hover .mce-text,.mce-menu-item.mce-disabled .mce-ico,.mce-menu-item.mce-disabled:hover .mce-ico{color:#aaa}.mce-menu-item.mce-menu-item-preview.mce-active{border-left:5px solid #555c66;background:white}.mce-menu-item.mce-menu-item-preview.mce-active .mce-text,.mce-menu-item.mce-menu-item-preview.mce-active .mce-ico{color:#595959}.mce-menu-item.mce-menu-item-preview.mce-active:hover{background:#ededee}.mce-menu-item-link{color:#093;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mce-menu-item-link b{color:#093}.mce-menu-item-ellipsis{display:block;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mce-menu-item:hover *,.mce-menu-item.mce-selected *,.mce-menu-item:focus *{color:#595959}div.mce-menu .mce-menu-item-sep,.mce-menu-item-sep:hover{border:0;padding:0;height:1px;margin:9px 1px;overflow:hidden;background:transparent;border-bottom:1px solid rgba(0,0,0,0.1);cursor:default;filter:none}div.mce-menu .mce-menu-item b{font-weight:bold}.mce-menu-item-indent-1{padding-left:20px}.mce-menu-item-indent-2{padding-left:35px}.mce-menu-item-indent-2{padding-left:35px}.mce-menu-item-indent-3{padding-left:40px}.mce-menu-item-indent-4{padding-left:45px}.mce-menu-item-indent-5{padding-left:50px}.mce-menu-item-indent-6{padding-left:55px}.mce-menu.mce-rtl{direction:rtl}.mce-rtl .mce-menu-item{text-align:right;direction:rtl;padding:6px 12px 6px 15px}.mce-rtl .mce-menu-item .mce-caret{margin-left:6px;margin-right:0;border-right:4px solid #595959;border-left:0}.mce-rtl .mce-menu-item.mce-selected .mce-caret,.mce-rtl .mce-menu-item:focus .mce-caret,.mce-rtl .mce-menu-item:hover .mce-caret{border-left-color:transparent;border-right-color:#595959}.mce-rtl .mce-menu-item .mce-ico{padding-right:0;padding-left:4px}.mce-throbber{position:absolute;top:0;left:0;width:100%;height:100%;opacity:.6;filter:alpha(opacity=60);zoom:1;background:#fff url('img/loader.gif') no-repeat center center}.mce-throbber-inline{position:static;height:50px}.mce-menu .mce-throbber-inline{height:25px;background-size:contain}.mce-menu{position:absolute;left:0;top:0;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);background:transparent;z-index:1000;padding:5px 0 5px 0;margin:-1px 0 0;min-width:180px;background:white;border:1px solid #c5c9cf;border:1px solid #e2e4e7;z-index:1002;-webkit-box-shadow:0 1px 2px rgba(0, 0, 0, 0.2);-moz-box-shadow:0 1px 2px rgba(0, 0, 0, 0.2);box-shadow:0 1px 2px rgba(0, 0, 0, 0.2);max-height:500px;overflow:auto;overflow-x:hidden}.mce-menu.mce-animate{opacity:.01;transform:rotateY(10deg) rotateX(-10deg);transform-origin:left top}.mce-menu.mce-menu-align .mce-menu-shortcut,.mce-menu.mce-menu-align .mce-caret{position:absolute;right:0}.mce-menu i{display:none}.mce-menu-has-icons i{display:inline-block}.mce-menu.mce-in.mce-animate{opacity:1;transform:rotateY(0) rotateX(0);transition:opacity .075s ease,transform .1s ease}.mce-menu-sub-tr-tl{margin:-6px 0 0 -1px}.mce-menu-sub-br-bl{margin:6px 0 0 -1px}.mce-menu-sub-tl-tr{margin:-6px 0 0 1px}.mce-menu-sub-bl-br{margin:6px 0 0 1px}.mce-rtl .mce-menu-item .mce-ico{padding-right:0;padding-left:4px}.mce-rtl.mce-menu-align .mce-caret,.mce-rtl .mce-menu-shortcut{right:auto;left:0}.mce-listbox button{text-align:left;padding-right:20px;position:relative}.mce-listbox .mce-caret{position:absolute;margin-top:-2px;right:8px;top:50%}.mce-rtl .mce-listbox .mce-caret{right:auto;left:8px}.mce-rtl .mce-listbox button{padding-right:10px;padding-left:20px}.mce-container-body .mce-resizehandle{position:absolute;right:0;bottom:0;width:16px;height:16px;visibility:visible;cursor:s-resize;margin:0}.mce-container-body .mce-resizehandle-both{cursor:se-resize}i.mce-i-resize{color:#595959}.mce-selectbox{background:#fff;border:1px solid #c5c5c5}.mce-slider{border:1px solid #c5c5c5;background:#fff;width:100px;height:10px;position:relative;display:block}.mce-slider.mce-vertical{width:10px;height:100px}.mce-slider-handle{border:1px solid #c5c5c5;background:#e6e6e6;display:block;width:13px;height:13px;position:absolute;top:0;left:0;margin-left:-1px;margin-top:-2px}.mce-slider-handle:focus{border-color:#2276d2}.mce-spacer{visibility:hidden}.mce-splitbtn:hover .mce-open{border-left:1px solid #e2e4e7}.mce-splitbtn .mce-open{border-left:1px solid transparent;padding-right:4px;padding-left:4px}.mce-splitbtn .mce-open:focus{border-left:1px solid #e2e4e7}.mce-splitbtn .mce-open:hover,.mce-splitbtn .mce-open:active{border-left:1px solid #e2e4e7}.mce-splitbtn.mce-active:hover .mce-open{border-left:1px solid white}.mce-splitbtn.mce-opened{border-color:#e2e4e7}.mce-splitbtn.mce-btn-small .mce-open{padding:0 3px 0 3px}.mce-rtl .mce-splitbtn{direction:rtl;text-align:right}.mce-rtl .mce-splitbtn button{padding-right:4px;padding-left:4px}.mce-rtl .mce-splitbtn .mce-open{border-left:0}.mce-stack-layout-item{display:block}.mce-tabs{display:block;border-bottom:1px solid #c5c5c5}.mce-tabs,.mce-tabs+.mce-container-body{background:#fff}.mce-tab{display:inline-block;*display:inline;*zoom:1;border:1px solid #c5c5c5;border-width:0 1px 0 0;background:#fff;padding:8px 15px;text-shadow:0 1px 1px rgba(255,255,255,0.75);height:13px;cursor:pointer}.mce-tab:hover{background:#FDFDFD}.mce-tab.mce-active{background:#FDFDFD;border-bottom-color:transparent;margin-bottom:-1px;height:14px}.mce-tab:focus{color:#2276d2}.mce-rtl .mce-tabs{text-align:right;direction:rtl}.mce-rtl .mce-tab{border-width:0 0 0 1px}.mce-textbox{background:#fff;border:1px solid #c5c5c5;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none;display:inline-block;-webkit-transition:border linear .2s, box-shadow linear .2s;transition:border linear .2s, box-shadow linear .2s;height:28px;resize:none;padding:0 4px 0 4px;white-space:pre-wrap;*white-space:pre;color:#595959}.mce-textbox:focus,.mce-textbox.mce-focus{border-color:#2276d2;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.mce-placeholder .mce-textbox{color:#aaa}.mce-textbox.mce-multiline{padding:4px;height:auto}.mce-textbox.mce-disabled{color:#bdbdbd}.mce-rtl .mce-textbox{text-align:right;direction:rtl}.mce-dropzone{border:3px dashed gray;text-align:center}.mce-dropzone span{text-transform:uppercase;display:inline-block;vertical-align:middle}.mce-dropzone:after{content:"";height:100%;display:inline-block;vertical-align:middle}.mce-dropzone.mce-disabled{opacity:.4;filter:alpha(opacity=40);zoom:1}.mce-dropzone.mce-disabled.mce-dragenter{cursor:not-allowed}.mce-browsebutton{position:relative;overflow:hidden}.mce-browsebutton button{position:relative;z-index:1}.mce-browsebutton input{opacity:0;filter:alpha(opacity=0);zoom:1;position:absolute;top:0;left:0;width:100%;height:100%;z-index:0}@font-face{font-family:'tinymce';src:url('fonts/tinymce.eot');src:url('fonts/tinymce.eot?#iefix') format('embedded-opentype'),url('fonts/tinymce.woff') format('woff'),url('fonts/tinymce.ttf') format('truetype'),url('fonts/tinymce.svg#tinymce') format('svg');font-weight:normal;font-style:normal}@font-face{font-family:'tinymce-small';src:url('fonts/tinymce-small.eot');src:url('fonts/tinymce-small.eot?#iefix') format('embedded-opentype'),url('fonts/tinymce-small.woff') format('woff'),url('fonts/tinymce-small.ttf') format('truetype'),url('fonts/tinymce-small.svg#tinymce') format('svg');font-weight:normal;font-style:normal}.mce-ico{font-family:'tinymce',Arial;font-style:normal;font-weight:normal;font-variant:normal;font-size:16px;line-height:16px;speak:none;vertical-align:text-top;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;display:inline-block;background:transparent center center;background-size:cover;width:16px;height:16px;color:#595959}.mce-btn-small .mce-ico{font-family:'tinymce-small',Arial}.mce-i-save:before{content:"\e000"}.mce-i-newdocument:before{content:"\e001"}.mce-i-fullpage:before{content:"\e002"}.mce-i-alignleft:before{content:"\e003"}.mce-i-aligncenter:before{content:"\e004"}.mce-i-alignright:before{content:"\e005"}.mce-i-alignjustify:before{content:"\e006"}.mce-i-alignnone:before{content:"\e003"}.mce-i-cut:before{content:"\e007"}.mce-i-paste:before{content:"\e008"}.mce-i-searchreplace:before{content:"\e009"}.mce-i-bullist:before{content:"\e00a"}.mce-i-numlist:before{content:"\e00b"}.mce-i-indent:before{content:"\e00c"}.mce-i-outdent:before{content:"\e00d"}.mce-i-blockquote:before{content:"\e00e"}.mce-i-undo:before{content:"\e00f"}.mce-i-redo:before{content:"\e010"}.mce-i-link:before{content:"\e011"}.mce-i-unlink:before{content:"\e012"}.mce-i-anchor:before{content:"\e013"}.mce-i-image:before{content:"\e014"}.mce-i-media:before{content:"\e015"}.mce-i-help:before{content:"\e016"}.mce-i-code:before{content:"\e017"}.mce-i-insertdatetime:before{content:"\e018"}.mce-i-preview:before{content:"\e019"}.mce-i-forecolor:before{content:"\e01a"}.mce-i-backcolor:before{content:"\e01a"}.mce-i-table:before{content:"\e01b"}.mce-i-hr:before{content:"\e01c"}.mce-i-removeformat:before{content:"\e01d"}.mce-i-subscript:before{content:"\e01e"}.mce-i-superscript:before{content:"\e01f"}.mce-i-charmap:before{content:"\e020"}.mce-i-emoticons:before{content:"\e021"}.mce-i-print:before{content:"\e022"}.mce-i-fullscreen:before{content:"\e023"}.mce-i-spellchecker:before{content:"\e024"}.mce-i-nonbreaking:before{content:"\e025"}.mce-i-template:before{content:"\e026"}.mce-i-pagebreak:before{content:"\e027"}.mce-i-restoredraft:before{content:"\e028"}.mce-i-bold:before{content:"\e02a"}.mce-i-italic:before{content:"\e02b"}.mce-i-underline:before{content:"\e02c"}.mce-i-strikethrough:before{content:"\e02d"}.mce-i-visualchars:before{content:"\e02e"}.mce-i-visualblocks:before{content:"\e02e"}.mce-i-ltr:before{content:"\e02f"}.mce-i-rtl:before{content:"\e030"}.mce-i-copy:before{content:"\e031"}.mce-i-resize:before{content:"\e032"}.mce-i-browse:before{content:"\e034"}.mce-i-pastetext:before{content:"\e035"}.mce-i-rotateleft:before{content:"\eaa8"}.mce-i-rotateright:before{content:"\eaa9"}.mce-i-crop:before{content:"\ee78"}.mce-i-editimage:before{content:"\e915"}.mce-i-options:before{content:"\ec6a"}.mce-i-flipv:before{content:"\eaaa"}.mce-i-fliph:before{content:"\eaac"}.mce-i-zoomin:before{content:"\eb35"}.mce-i-zoomout:before{content:"\eb36"}.mce-i-sun:before{content:"\eccc"}.mce-i-moon:before{content:"\eccd"}.mce-i-arrowleft:before{content:"\edc0"}.mce-i-arrowright:before{content:"\e93c"}.mce-i-drop:before{content:"\e935"}.mce-i-contrast:before{content:"\ecd4"}.mce-i-sharpen:before{content:"\eba7"}.mce-i-resize2:before{content:"\edf9"}.mce-i-orientation:before{content:"\e601"}.mce-i-invert:before{content:"\e602"}.mce-i-gamma:before{content:"\e600"}.mce-i-remove:before{content:"\ed6a"}.mce-i-tablerowprops:before{content:"\e604"}.mce-i-tablecellprops:before{content:"\e605"}.mce-i-table2:before{content:"\e606"}.mce-i-tablemergecells:before{content:"\e607"}.mce-i-tableinsertcolbefore:before{content:"\e608"}.mce-i-tableinsertcolafter:before{content:"\e609"}.mce-i-tableinsertrowbefore:before{content:"\e60a"}.mce-i-tableinsertrowafter:before{content:"\e60b"}.mce-i-tablesplitcells:before{content:"\e60d"}.mce-i-tabledelete:before{content:"\e60e"}.mce-i-tableleftheader:before{content:"\e62a"}.mce-i-tabletopheader:before{content:"\e62b"}.mce-i-tabledeleterow:before{content:"\e800"}.mce-i-tabledeletecol:before{content:"\e801"}.mce-i-codesample:before{content:"\e603"}.mce-i-fill:before{content:"\e902"}.mce-i-borderwidth:before{content:"\e903"}.mce-i-line:before{content:"\e904"}.mce-i-count:before{content:"\e905"}.mce-i-translate:before{content:"\e907"}.mce-i-drag:before{content:"\e908"}.mce-i-home:before{content:"\e90b"}.mce-i-upload:before{content:"\e914"}.mce-i-bubble:before{content:"\e91c"}.mce-i-user:before{content:"\e91d"}.mce-i-lock:before{content:"\e926"}.mce-i-unlock:before{content:"\e927"}.mce-i-settings:before{content:"\e928"}.mce-i-remove2:before{content:"\e92a"}.mce-i-menu:before{content:"\e92d"}.mce-i-warning:before{content:"\e930"}.mce-i-question:before{content:"\e931"}.mce-i-pluscircle:before{content:"\e932"}.mce-i-info:before{content:"\e933"}.mce-i-notice:before{content:"\e934"}.mce-i-arrowup:before{content:"\e93b"}.mce-i-arrowdown:before{content:"\e93d"}.mce-i-arrowup2:before{content:"\e93f"}.mce-i-arrowdown2:before{content:"\e940"}.mce-i-menu2:before{content:"\e941"}.mce-i-newtab:before{content:"\e961"}.mce-i-a11y:before{content:"\e900"}.mce-i-plus:before{content:"\e93a"}.mce-i-insert:before{content:"\e93a"}.mce-i-minus:before{content:"\e939"}.mce-i-books:before{content:"\e911"}.mce-i-reload:before{content:"\e906"}.mce-i-toc:before{content:"\e901"}.mce-i-checkmark:before{content:"\e033"}.mce-i-checkbox:before,.mce-i-selected:before{content:"\e033"}.mce-i-insert{font-size:14px}.mce-i-selected{visibility:hidden}i.mce-i-backcolor{text-shadow:none;background:#BBB}.mce-rtl .mce-filepicker input{direction:ltr}/*# sourceMappingURL=skin.min.css.map */
\ No newline at end of file
diff --git a/public/static/tinymce4.7.5/skins/lightgray/skin.min.css.map b/public/static/tinymce4.7.5/skins/lightgray/skin.min.css.map
new file mode 100644
index 0000000..c8763dc
--- /dev/null
+++ b/public/static/tinymce4.7.5/skins/lightgray/skin.min.css.map
@@ -0,0 +1 @@
+{"version":3,"sources":["./src/skins/lightgray/main/less/desktop/Reset.less","./src/skins/lightgray/main/less/desktop/Variables.less","./src/skins/lightgray/main/less/desktop/Mixins.less","./src/skins/lightgray/main/less/desktop/Animations.less","./src/skins/lightgray/main/less/desktop/TinyMCE.less","./src/skins/lightgray/main/less/desktop/CropRect.less","./src/skins/lightgray/main/less/desktop/ImagePanel.less","./src/skins/lightgray/main/less/desktop/Arrows.less","./src/skins/lightgray/main/less/desktop/Sidebar.less","./src/skins/lightgray/main/less/desktop/Container.less","./src/skins/lightgray/main/less/desktop/Scrollable.less","./src/skins/lightgray/main/less/desktop/Panel.less","./src/skins/lightgray/main/less/desktop/FloatPanel.less","./src/skins/lightgray/main/less/desktop/Window.less","./src/skins/lightgray/main/less/desktop/ToolTip.less","./src/skins/lightgray/main/less/desktop/Progress.less","./src/skins/lightgray/main/less/desktop/Notification.less","./src/skins/lightgray/main/less/desktop/AbsoluteLayout.less","./src/skins/lightgray/main/less/desktop/Button.less","./src/skins/lightgray/main/less/desktop/ButtonGroup.less","./src/skins/lightgray/main/less/desktop/Checkbox.less","./src/skins/lightgray/main/less/desktop/ComboBox.less","./src/skins/lightgray/main/less/desktop/ColorBox.less","./src/skins/lightgray/main/less/desktop/ColorButton.less","./src/skins/lightgray/main/less/desktop/ColorPicker.less","./src/skins/lightgray/main/less/desktop/Path.less","./src/skins/lightgray/main/less/desktop/FieldSet.less","./src/skins/lightgray/main/less/desktop/FitLayout.less","./src/skins/lightgray/main/less/desktop/FlowLayout.less","./src/skins/lightgray/main/less/desktop/Iframe.less","./src/skins/lightgray/main/less/desktop/InfoBox.less","./src/skins/lightgray/main/less/desktop/Label.less","./src/skins/lightgray/main/less/desktop/MenuBar.less","./src/skins/lightgray/main/less/desktop/MenuButton.less","./src/skins/lightgray/main/less/desktop/MenuItem.less","./src/skins/lightgray/main/less/desktop/Throbber.less","./src/skins/lightgray/main/less/desktop/Menu.less","./src/skins/lightgray/main/less/desktop/ListBox.less","./src/skins/lightgray/main/less/desktop/ResizeHandle.less","./src/skins/lightgray/main/less/desktop/SelectBox.less","./src/skins/lightgray/main/less/desktop/Slider.less","./src/skins/lightgray/main/less/desktop/Spacer.less","./src/skins/lightgray/main/less/desktop/SplitButton.less","./src/skins/lightgray/main/less/desktop/StackLayout.less","./src/skins/lightgray/main/less/desktop/TabPanel.less","./src/skins/lightgray/main/less/desktop/TextBox.less","./src/skins/lightgray/main/less/desktop/DropZone.less","./src/skins/lightgray/main/less/desktop/BrowseButton.less","./src/skins/lightgray/main/less/desktop/Icons.less","./src/skins/lightgray/main/less/desktop/FilePicker.less"],"names":[],"mappings":"AAEA,CAAC,GAAS,WAAY,CAAC,GAAS,UAAW,GAAG,CAAC,GAAS,QAAS,CAAC,GAAS,OAAQ,GAAG,CAAC,GAAS,OAC9F,QAAA,CAAW,SAAA,CAAY,QAAA,CAAW,SAAA,CAClC,kBAAA,CAAqB,sBAAA,CACrB,oBAAA,CAAuB,aAAA,CACvB,YCU+B,2CDV/B,CACA,cAAA,CAAuB,gBAAA,CAAmB,UAAA,CAC1C,eAAA,CAAkB,UAAA,CAAa,WAAA,CAC/B,kBAAA,CAAqB,cAAA,CACrB,uCAAA,CACA,kBAAA,CAAqB,kBAAA,CACrB,eAAA,CACA,2BAAA,CACA,8BAAA,CACA,sBAAA,CACA,aAAA,CACA,eAGF,CAAC,GAAS,OAAQ,QAChB,0BAAA,CACA,6BAAA,CACA,sBAGF,CAAC,GAAS,UAAW,EAAC,eACpB,qBAAA,CACA,wBAAA,CACA,mBAAA,CACA,iBEyBF,WACE,oBAAA,CACA,wBAAA,CACA,oBAAA,CACA,qBAAA,CACA,gBAAA,CACA,iBAAA,CACA,oBAAA,CACA,aC7DF,CAAC,GAAS,MACR,SAAA,CDqCA,sCAAA,CACA,+BCnCA,CAJD,GAAS,KAIP,CAAC,GAAS,IACT,UCPJ,CAAC,GAAS,SAER,kBAAA,YACA,kBAGF,CAAC,GAAS,YACR,QAAA,CAAW,SAAA,CAAY,QAAA,CACvB,eAAA,CACA,WAAA,CACA,YAGF,GAAG,CAAC,GAAS,YACX,cAAA,CACA,KAAA,CAAQ,MAAA,CACR,UAAA,CACA,YAGF,CAAC,GAAS,SACR,aAAA,CFaA,+CAAA,CACA,4CAAA,CACA,wCEVF,CAAC,GAAS,UAAW,EAAG,GAAS,gBAC/B,YAAA,CACA,mBAFF,CAAC,GAAS,UAAW,EAAG,GAAS,eAI/B,EAAC,GAAS,MACR,OAIJ,CAAC,GAAS,WACR,iBAAA,CACA,wBAAA,CACA,cAGF,GAAG,CAAC,GAAS,WACX,eAAA,CACA,YAGF,CAAC,GAAS,WACR,kBAGF,CAAC,GAAS,UAAW,EAAC,GAAS,gBAC7B,iBAAA,CACA,eAGF,CAAC,GAAS,WAAY,EAAC,GAAS,cAC9B,aAGF,CAAC,GAAS,UAAW,EAAC,GAAS,kBAC7B,SAKF,CAAC,GAAS,SACR,yBAGF,CAAC,GAAS,QAAS,IACjB,cAAA,CACA,wBAAA,CACA,UAAA,CACA,WAAA,CACA,gBAAA,CACA,iBAAA,CACA,qBAAA,CACA,YAGF,CAAC,GAAS,QAAS,GAAG,KACpB,kBAGF,CAAC,GAAS,QAAS,GAAE,OACnB,iBAGF,CAAC,GAAS,KAAM,GAAE,CAAC,GAAS,UAAW,KACrC,wBAAA,CACA,UAAA,CAAa,WAAA,CACb,QAAA,CACA,eAEA,CAND,GAAS,KAAM,GAAE,CAAC,GAAS,UAAW,IAMpC,OACC,qBAGF,CAVD,GAAS,KAAM,GAAE,CAAC,GAAS,UAAW,IAUpC,WACC,mBAIJ,CAAC,GAAS,MACR,kBAAA,CACA,yBAFF,CAAC,GAAS,KAIR,GACE,aAAA,CACA,6BAEA,CARH,GAAS,KAIR,EAIG,OAAQ,CARZ,GAAS,KAIR,EAIY,OACR,qBAKN,CAAC,GAAS,aACR,mBADF,CAAC,GAAS,YAGR,GACE,oBAAA,CACA,UAAA,CAAa,YALjB,CAAC,GAAS,YAQR,EAAC,OARH,CAAC,GAAS,YAQC,EAAC,CAAC,GAAS,QAClB,oBAAA,CACA,mBAIJ,CAAC,GAAS,aACR,kBAGF,GAAG,CAAC,GAAS,gBACX,WAGF,CAAC,GAAS,eAAgB,KACxB,iBAAA,CACA,qBAAA,CACA,gBAAA,CACA,cAAA,CACA,gBAAA,CACA,cAGF,CAAC,GAAS,WACR,YAAa,gCASf,CAAC,GAAS,YAAa,EAAC,GAAS,kBAC/B,gBAKF,CAAC,GAAS,UAAW,GACnB,iBAGF,CAAC,GAAS,UAAW,GACnB,kBAGF,CAAC,GAAS,UAAW,GACnB,cAAA,CACA,cACA,CAHD,GAAS,UAAW,EAGlB,OACC,0BAIJ,CAAC,GAAS,UAAW,IACnB,iBAGF,CAAC,GAAS,UAAW,EAAC,GAAS,eAC7B,wBAAA,CACA,YAFF,CAAC,GAAS,UAAW,EAAC,GAAS,cAG7B,MAAM,IACJ,yBAJJ,CAAC,GAAS,UAAW,EAAC,GAAS,cAG7B,MAAM,GAEJ,IACE,iBANN,CAAC,GAAS,UAAW,EAAC,GAAS,cAS7B,IATF,CAAC,GAAS,UAAW,EAAC,GAAS,cASzB,IACF,YAVJ,CAAC,GAAS,UAAW,EAAC,GAAS,cAY7B,GAAE,UAAU,OACV,yBAbJ,CAAC,GAAS,UAAW,EAAC,GAAS,cAe7B,MAAM,GAAI,OACR,yBAIJ,CAAC,GAAS,UACR,iBAAA,CACA,wBAAA,CACA,eAAA,CACA,cAJF,CAAC,GAAS,SAMR,GACE,iBAAA,CACA,cAIJ,CAAC,GAAS,UACR,kBAGF,CAAC,GAAS,SAAS,SAEjB,QAAS,EAAT,CACA,iBAAA,CF7LA,+CAAA,CACA,4CAAA,CACA,uCAAA,CE6LA,KAAA,CACA,OAAA,CACA,QAAA,CACA,MAAA,CACA,oBAKF,CAAC,GAAS,IAAK,EAAC,GAAS,WACvB,MAAA,CACA,WAGF,CAAC,GAAS,IACR,EAAC,GAAS,UAAW,EAAG,GAAS,eAC/B,EAAG,YACD,eAAA,CACA,kBAJN,CAAC,GAAS,IAQR,EAAC,GAAS,MACR,gBAAA,CACA,mBCvPJ,CAAC,GAAS,oBACR,iBAAA,CACA,KAAA,CACA,OAGF,CAAC,GAAS,iBACR,iBAAA,CACA,KAAA,CAAQ,MAAA,CACR,UAAA,CAAa,WAAA,CACb,uBAGF,CAAC,GAAS,oBACR,wBAAA,CACA,oBAAA,CACA,gBAAA,CACA,SAAA,CAAY,WAGd,CAAC,GAAS,oBACR,wBAAA,CACA,qBAAA,CACA,gBAAA,CACA,SAAA,CAAY,WAGd,CAAC,GAAS,oBACR,wBAAA,CACA,uBAAA,CACA,gBAAA,CACA,SAAA,CAAY,WAGd,CAAC,GAAS,oBACR,wBAAA,CACA,sBAAA,CACA,gBAAA,CACA,SAAA,CAAY,WAGd,CAAC,GAAS,sBACR,iBAAA,CACA,WAAA,CACA,SAGF,CAAC,GAAS,gBH9CR,UAAA,CAEA,wBAAA,CACA,MAAA,CG6CA,iBAAA,CACA,iBAGF,CAAC,GAAS,gBAAgB,OACxB,qBAGF,CAAC,GAAS,qBAAqB,OAC7B,0BC1DF,CAAC,GAAS,YACR,aAAA,CACA,iBAGF,CAAC,GAAS,eACR,iBAAA,CACA,eAAgB,sGAGlB,CAAC,GAAS,WAAY,KACpB,kBAGF,CAAC,GAAS,UAAU,CAAC,GAAS,IAAK,EAAC,GAAS,KAC3C,aAAA,CACA,UAAA,CACA,WAAA,CACA,iBAAA,CACA,gBAAA,CACA,cAAA,CACA,YCrBF,CAAC,GAAS,UACR,gBAGF,CAAC,GAAS,YACR,iBAGF,CAAC,GAAS,MAAM,QAChB,CAAC,GAAS,MAAM,OACd,iBAAA,CACA,QAAA,CACA,aAAA,CACA,OAAA,CACA,QAAA,CACA,kBAAA,CACA,wBAAA,CACA,QAAS,GAGX,CAAC,GAAS,MAAM,CAAC,GAAS,SAAS,QACjC,QAAA,CACA,2BAAA,CACA,sBAAA,CACA,iBAGF,CAAC,GAAS,MAAM,CAAC,GAAS,WAAW,QACnC,WAAA,CACA,wBAAA,CACA,sBAAA,CACA,iBAGF,CAAC,GAAS,MAAM,CAAC,GAAS,SAAS,OACjC,QAAA,CACA,wBAAA,CACA,sBAAA,CACA,iBAGF,CAAC,GAAS,MAAM,CAAC,GAAS,WAAW,OACnC,WAAA,CACA,qBAAA,CACA,sBAAA,CACA,iBAGF,CAAC,GAAS,MAAM,CAAC,GAAS,WAAW,QACrC,CAAC,GAAS,MAAM,CAAC,GAAS,WAAW,OACnC,SAGF,CAAC,GAAS,MAAM,CAAC,GAAS,WAAW,QACnC,SAEF,CAAC,GAAS,MAAM,CAAC,GAAS,WAAW,OACnC,SAGF,CAAC,GAAS,MAAM,CAAC,GAAS,YAAY,QACtC,CAAC,GAAS,MAAM,CAAC,GAAS,YAAY,OACpC,SAAA,CACA,SAGF,CAAC,GAAS,MAAM,CAAC,GAAS,YAAY,QACpC,UAGF,CAAC,GAAS,MAAM,CAAC,GAAS,YAAY,OACpC,UAGF,CAAC,GAAS,MAAM,CAAC,GAAS,aAAa,CAAC,GAAS,MAAM,CAAC,GAAS,WAAW,QAC1E,SAAA,CACA,OAAA,CACA,0BAAA,CACA,0BAAA,CACA,gBAGF,CAAC,GAAS,MAAM,CAAC,GAAS,aAAa,CAAC,GAAS,MAAM,CAAC,GAAS,WAAW,OAC1E,SAAA,CACA,OAAA,CACA,uBAAA,CACA,0BAAA,CACA,gBAGF,CAAC,GAAS,MAAM,CAAC,GAAS,aAAa,CAAC,GAAS,MAAM,CAAC,GAAS,YAC/D,iBAGF,CAAC,GAAS,MAAM,CAAC,GAAS,aAAa,CAAC,GAAS,MAAM,CAAC,GAAS,YAAY,QAC3E,UAAA,CACA,OAAA,CACA,yBAAA,CACA,0BAAA,CACA,gBAGF,CAAC,GAAS,MAAM,CAAC,GAAS,aAAa,CAAC,GAAS,MAAM,CAAC,GAAS,YAAY,OAC3E,UAAA,CACA,OAAA,CACA,sBAAA,CACA,0BAAA,CACA,gBAGF,CAAC,GAAS,MAAM,CAAC,GAAS,aAAa,CAAC,GAAS,MAAM,CAAC,GAAS,aAC/D,kBC/GF,CAAC,GAAS,oBAAqB,EAAG,GAAS,gBACzC,aADF,CAAC,GAAS,oBAAqB,EAAG,GAAS,eAGzC,EAAC,GAAS,WACR,OAJJ,CAAC,GAAS,oBAAqB,EAAG,GAAS,eAOzC,EAAC,GAAS,QAAS,EAAG,GAAS,gBAC7B,YAAA,CACA,mBAAA,CACA,YAVJ,CAAC,GAAS,oBAAqB,EAAG,GAAS,eAazC,EAAC,GAAS,eACR,eAAA,CACA,eAAA,CACA,kBAhBJ,CAAC,GAAS,oBAAqB,EAAG,GAAS,eAazC,EAAC,GAAS,cAKR,EAAG,GAAS,gBACV,iBAAA,CACA,UAAA,CAAa,WAAA,CACb,aAAA,CACA,KAAA,CAAQ,OAKd,CAAC,GAAS,iBACR,sBAAA,CACA,sBAFF,CAAC,GAAS,gBAIR,EAAC,GAAS,KACR,aAAA,CACA,eANJ,CAAC,GAAS,gBASR,EAAC,GAAS,IAAI,CAAC,GAAS,QAT1B,CAAC,GAAS,gBASyB,EAAC,GAAS,IAAI,CAAC,GAAS,OAAO,OAC9D,yBAVJ,CAAC,GAAS,gBASR,EAAC,GAAS,IAAI,CAAC,GAAS,OAGtB,QAZJ,CAAC,GAAS,gBASyB,EAAC,GAAS,IAAI,CAAC,GAAS,OAAO,MAG9D,QAZJ,CAAC,GAAS,gBASR,EAAC,GAAS,IAAI,CAAC,GAAS,OAGd,OAAO,GAZnB,CAAC,GAAS,gBASyB,EAAC,GAAS,IAAI,CAAC,GAAS,OAAO,MAGtD,OAAO,GACb,WAAA,CACA,yBAKN,CAAC,GAAS,eACR,sBAAA,CACA,sBChDF,CAAC,GAAS,WAAY,CAAC,GAAS,gBAC9B,cAGF,CAAC,GAAS,YACR,gBCLF,CAAC,GAAS,WACR,iBAAA,CACA,SAAA,CACA,WAAA,CACA,OAAA,CACA,SAAA,CRJA,UAAA,CAEA,wBAAA,CACA,OQKF,CAAC,GAAS,aACR,QAAA,CACA,UAAA,CACA,QAAA,CACA,UAAA,CACA,UAAA,CACA,WAGF,CAAC,GAAS,iBACR,iBAAA,CACA,qBAAA,CACA,qBAAA,CACA,+BAAA,CACA,SAAA,CACA,YAIF,CAAC,GAAS,YAAa,EAAC,GAAS,iBAC/B,UAAA,CACA,WAGF,CAAC,GAAS,UAAU,OAAQ,CAAC,GAAS,UAAU,CAAC,GAAS,QACxD,qBAAA,CRjCA,UAAA,CAEA,wBAAA,CACA,OQmCF,CAAC,GAAS,QACR,kBCxCF,CAAC,GAAS,OACR,sBAAA,CACA,sBAAA,CACA,sBCHF,CAAC,GAAS,YACR,iBAAA,CV+BA,+CAAA,CACA,4CAAA,CACA,wCU7BF,CAAC,GAAS,WAAW,CAAC,GAAS,OAC7B,eAKF,CAAC,GAAS,WAAY,EAAC,GAAS,OAChC,CAAC,GAAS,WAAY,EAAC,GAAS,MAAM,OACpC,iBAAA,CACA,aAAA,CACA,OAAA,CACA,QAAA,CACA,wBAAA,CACA,mBAGF,CAAC,GAAS,WAAY,EAAC,GAAS,OAC9B,kBAGF,CAAC,GAAS,WAAY,EAAC,GAAS,MAAM,OACpC,iBAAA,CACA,QAAS,GAGX,CAAC,GAAS,WAAW,CAAC,GAAS,SVmB7B,OAAQ,2DAAR,CACA,sBAAA,CAlBA,+CAAA,CACA,4CAAA,CACA,uCAAA,CUAA,KAAA,CACA,MAAA,CACA,eAAA,CACA,wBAAA,CACA,kCAEA,CAVD,GAAS,WAAW,CAAC,GAAS,QAU5B,CAAC,GAAS,QACT,eAAA,CACA,cAEA,CAdH,GAAS,WAAW,CAAC,GAAS,QAU5B,CAAC,GAAS,OAIP,EAAG,GAAS,OACZ,QAAA,CACA,iBAAA,CACA,kBAAA,CACA,2BAAA,CACA,oCAAA,CACA,UAEA,CAtBL,GAAS,WAAW,CAAC,GAAS,QAU5B,CAAC,GAAS,OAIP,EAAG,GAAS,MAQX,OACC,OAAA,CACA,iBAAA,CACA,kBAAA,CACA,yBAIJ,CA9BH,GAAS,WAAW,CAAC,GAAS,QAU5B,CAAC,GAAS,OAoBR,CAAC,GAAS,OAAS,kBACpB,CA/BH,GAAS,WAAW,CAAC,GAAS,QAU5B,CAAC,GAAS,OAqBR,CAAC,GAAS,MAAO,EAAG,GAAS,OAAS,UAEvC,CAjCH,GAAS,WAAW,CAAC,GAAS,QAU5B,CAAC,GAAS,OAuBR,CAAC,GAAS,KAAO,iBAClB,CAlCH,GAAS,WAAW,CAAC,GAAS,QAU5B,CAAC,GAAS,OAwBR,CAAC,GAAS,IAAK,EAAG,GAAS,OAAS,UAAA,CAAa,UChEtD,CAAC,GAAS,YACR,QAAA,CAAW,SAAA,CAAY,QAAA,CACvB,eAAA,CACA,YAGF,GAAG,CAAC,GAAS,YACX,cAAA,CACA,KAAA,CAAQ,OAGV,CAAC,GAAS,aXVR,SAAA,CAEA,uBAAA,CACA,MAAA,CWSA,cAAA,CACA,MAAA,CAAS,KAAA,CACT,UAAA,CAAa,WAAA,CACb,gBAGF,CAAC,GAAS,YAAY,CAAC,GAAS,IXlB9B,UAAA,CAEA,wBAAA,CACA,OWmBF,CAAC,GAAS,aACR,YAGF,CAAC,GAAS,QXKR,+CAAA,CACA,4CAAA,CACA,uCAAA,CAeA,OAAQ,2DAAR,CACA,sBAAA,CWnBA,eAAA,CACA,cAAA,CACA,KAAA,CAAQ,MAAA,CACR,SAAA,CACA,UAAW,SAAX,CACA,yDAGF,CAAC,GAAS,OAAO,CAAC,GAAS,IACzB,UAAW,QAAX,CACA,UAGF,CAAC,GAAS,aACR,gBAAA,CACA,+BAAA,CACA,kBAGF,CAAC,GAAS,YAAa,EAAC,GAAS,OAC/B,iBAAA,CACA,OAAA,CACA,KAAA,CACA,WAAA,CACA,UAAA,CACA,iBAAA,CACA,eAPF,CAAC,GAAS,YAAa,EAAC,GAAS,MAS/B,GACE,cAIJ,CAAC,GAAS,MAAM,MAAO,GACrB,cAGF,CAAC,GAAS,YAAa,EAAC,GAAS,OAC/B,gBAAA,CACA,cAAA,CACA,gBAAA,CACA,iCAAA,CACA,mBAGF,CAAC,GAAS,OAAQ,EAAC,GAAS,gBAC1B,cAGF,CAAC,GAAS,MACR,aAAA,CACA,qBAAA,CACA,6BAIF,CAAC,GAAS,YAAa,EAAC,GAAS,OAC/B,iBAAA,CACA,KAAA,CAAQ,MAAA,CACR,WAAA,CACA,SAAA,CACA,YAGF,CAAC,GAAS,OAAQ,QAChB,UAAA,CACA,YAOF,CAAC,GAAS,YAAa,EAAC,GAAS,SAC/B,qBAGF,CAAC,GAAS,OACR,EAAC,GAAS,IAAI,OACZ,qBAFJ,CAAC,GAAS,OAKR,EAAC,GAAS,IAAI,OACZ,qBAIJ,CAAC,GAAS,YAAa,EAAC,GAAS,KAAM,CAAC,GAAS,KAAM,EAAC,GAAS,KAC/D,qBAGF,CAAC,GAAS,KAAM,EAAC,GAAS,IAAI,CAAC,GAAS,SACtC,yBAKF,CAAC,GAAS,IAAK,EAAC,GAAS,YAAa,EAAC,GAAS,OAC9C,iBAAA,CACA,UAAA,CACA,UAGF,CAAC,GAAS,IAAK,EAAC,GAAS,YAAa,EAAC,GAAS,OAC9C,SAAA,CACA,QAGF,CAAC,GAAS,IAAK,EAAC,GAAS,YAAa,EAAC,GAAS,OAC9C,aAAA,CACA,iBC7IF,CAAC,GAAS,SACR,iBAAA,CACA,WAAA,CZDA,UAAA,CAEA,wBAAA,CACA,MAAA,CYAA,eAGF,CAAC,GAAS,eACR,cAAA,CACA,qBAAA,CACA,WAAA,CACA,eAAA,CACA,uBAAA,CACA,iBAAA,CACA,mBAOF,CAAC,GAAS,eZWR,uBAAA,CACA,oBAAA,CACA,gBYTF,CAAC,GAAS,eACR,iBAAA,CACA,OAAA,CACA,QAAA,CACA,aAAA,CACA,uBAGF,CAAC,GAAS,iBACR,yBAGF,CAAC,GAAS,iBACR,sBAGF,CAAC,GAAS,iBACR,uBAGF,CAAC,GAAS,iBACR,wBAGF,CAAC,GAAS,YAAa,CAAC,GAAS,YAC/B,kBAGF,CAAC,GAAS,YAAa,CAAC,GAAS,YAC/B,iBAGF,CAAC,GAAS,UAAW,EAAC,GAAS,eAC7B,KAAA,CACA,QAAA,CACA,gBAAA,CACA,yBAAA,CACA,eAAA,CACA,6BAAA,CACA,+BAGF,CAAC,GAAS,WAAY,EAAC,GAAS,eAC9B,KAAA,CACA,SAAA,CACA,yBAAA,CACA,eAAA,CACA,6BAAA,CACA,+BAGF,CAAC,GAAS,WAAY,EAAC,GAAS,eAC9B,KAAA,CACA,UAAA,CACA,yBAAA,CACA,eAAA,CACA,6BAAA,CACA,+BAGF,CAAC,GAAS,UAAW,EAAC,GAAS,eAC7B,QAAA,CACA,QAAA,CACA,gBAAA,CACA,sBAAA,CACA,kBAAA,CACA,6BAAA,CACA,+BAGF,CAAC,GAAS,WAAY,EAAC,GAAS,eAC9B,QAAA,CACA,SAAA,CACA,sBAAA,CACA,kBAAA,CACA,6BAAA,CACA,+BAGF,CAAC,GAAS,WAAY,EAAC,GAAS,eAC9B,QAAA,CACA,UAAA,CACA,sBAAA,CACA,kBAAA,CACA,6BAAA,CACA,+BAGF,CAAC,GAAS,UAAW,EAAC,GAAS,eAC7B,OAAA,CACA,OAAA,CACA,eAAA,CACA,uBAAA,CACA,iBAAA,CACA,4BAAA,CACA,gCAGF,CAAC,GAAS,UAAW,EAAC,GAAS,eAC7B,MAAA,CACA,OAAA,CACA,eAAA,CACA,wBAAA,CACA,gBAAA,CACA,4BAAA,CACA,gCClIF,CAAC,GAAS,UACR,oBAAA,CACA,iBAAA,CACA,YAGF,CAAC,GAAS,SAAU,EAAC,GAAS,eAC5B,oBAAA,CACA,WAAA,CACA,WAAA,CACA,gBAAA,CACA,qBAAA,CACA,gBAIF,CAAC,GAAS,SAAU,EAAC,GAAS,MAC5B,oBAAA,CACA,eAAA,CACA,kBAAA,CACA,cAAA,CACA,UAAA,CACA,cAGF,CAAC,GAAS,KACR,aAAA,CACA,OAAA,CACA,WAAA,CACA,wBAAA,CbSA,iCAAA,CACA,0BcvCF,CAAC,GAAS,cACR,iBAAA,CACA,qBAAA,CACA,WAAA,CACA,cAAA,CACA,gBAAA,CACA,kBAAA,CACA,oBAAA,CACA,wDAAA,CACA,SAAA,CACA,sBAGF,CAAC,GAAS,aAAa,CAAC,GAAS,IAC/B,UAGF,CAAC,GAAS,sBACR,wBAAA,CACA,qBAGF,CAAC,GAAS,mBACR,wBAAA,CACA,qBAGF,CAAC,GAAS,sBACR,wBAAA,CACA,qBAGF,CAAC,GAAS,oBACR,wBAAA,CACA,qBAGF,CAAC,GAAS,aAAa,CAAC,GAAS,WAC/B,mBAGF,CAAC,GAAS,aAAc,EAAC,GAAS,KAChC,eAGF,CAAC,GAAS,oBdSR,oBAAA,CACA,wBAAA,CACA,oBAAA,CACA,qBAAA,CACA,gBAAA,CACA,iBAAA,CACA,oBAAA,CACA,YAAA,CcdA,oBAAA,CACA,cAAA,CACA,sBAAA,CACA,iBAAA,CACA,kBAAA,CACA,cAGF,CAAC,GAAS,mBAAoB,GAC5B,yBAAA,CACA,eAGF,CAAC,GAAS,aAAc,EAAC,GAAS,UAChC,iBAGF,CAAC,GAAS,aAAc,EAAC,GAAS,SAAU,EAAC,GAAS,MACpD,eAGF,CAAC,GAAS,aAAc,GAAG,CAAC,GAAS,aAAc,EAAC,GAAS,SAAU,EAAC,GAAS,MAC/E,cAGF,CAAC,GAAS,aAAc,EAAC,GAAS,SAAU,EAAC,GAAS,eACpD,qBAGF,CAAC,GAAS,aAAc,EAAC,GAAS,SAAU,EAAC,GAAS,cAAe,EAAC,GAAS,KAC7E,yBAGF,CAAC,GAAS,qBAAsB,GAAG,CAAC,GAAS,qBAAsB,EAAC,GAAS,SAAU,EAAC,GAAS,MAC/F,cAGF,CAAC,GAAS,qBAAsB,EAAC,GAAS,SAAU,EAAC,GAAS,eAC5D,qBAGF,CAAC,GAAS,qBAAsB,EAAC,GAAS,SAAU,EAAC,GAAS,cAAe,EAAC,GAAS,KACrF,yBAGF,CAAC,GAAS,kBAAmB,GAAG,CAAC,GAAS,kBAAmB,EAAC,GAAS,SAAU,EAAC,GAAS,MACzF,cAGF,CAAC,GAAS,kBAAmB,EAAC,GAAS,SAAU,EAAC,GAAS,eACzD,qBAGF,CAAC,GAAS,kBAAmB,EAAC,GAAS,SAAU,EAAC,GAAS,cAAe,EAAC,GAAS,KAClF,yBAGF,CAAC,GAAS,qBAAsB,GAAG,CAAC,GAAS,qBAAsB,EAAC,GAAS,SAAU,EAAC,GAAS,MAC/F,cAGF,CAAC,GAAS,qBAAsB,EAAC,GAAS,SAAU,EAAC,GAAS,eAC5D,qBAGF,CAAC,GAAS,qBAAsB,EAAC,GAAS,SAAU,EAAC,GAAS,cAAe,EAAC,GAAS,KACrF,yBAGF,CAAC,GAAS,mBAAoB,GAAG,CAAC,GAAS,mBAAoB,EAAC,GAAS,SAAU,EAAC,GAAS,MAC3F,cAGF,CAAC,GAAS,mBAAoB,EAAC,GAAS,SAAU,EAAC,GAAS,eAC1D,qBAGF,CAAC,GAAS,mBAAoB,EAAC,GAAS,SAAU,EAAC,GAAS,cAAe,EAAC,GAAS,KACnF,yBAGF,CAAC,GAAS,aAAc,EAAC,GAAS,OAChC,iBAAA,CACA,OAAA,CACA,SAAA,CACA,cAAA,CACA,gBAAA,CACA,gBAAA,CACA,aAAA,CACA,eCxIF,CAAC,GAAS,YACR,kBAGF,IAAK,EAAC,GAAS,iBAAkB,CAAC,GAAS,SACzC,kBAGF,CAAC,GAAS,SACR,SAAA,CAAY,WAGd,CAAC,GAAS,eAAe,CAAC,GAAS,YACjC,gBCbF,CAAC,GAAS,KACR,wBAAA,CACA,4DAAA,CACA,iBAAA,CACA,4CAAA,CACA,gBAAA,ChBsCA,oBAAA,CACA,eAAA,CACA,OAAA,CAbA,uBAAA,CACA,oBAAA,CACA,gBgBvBA,CAXD,GAAS,IAWP,OAAQ,CAXV,GAAS,IAWE,QACR,gBAAA,CACA,aAAA,CACA,qBAGF,CAjBD,GAAS,IAiBP,OACC,gBAAA,CACA,aAAA,CACA,qBAGF,CAvBD,GAAS,IAuBP,CAAC,GAAS,SAAU,QAAQ,CAvB9B,GAAS,IAuBsB,CAAC,GAAS,SAAS,MAAO,QACtD,cAAA,ChBQF,uBAAA,CACA,oBAAA,CACA,eAAA,CAjCA,UAAA,CAEA,wBAAA,CACA,OgByBA,CA7BD,GAAS,IA6BP,CAAC,GAAS,QACX,CA9BD,GAAS,IA8BP,CAAC,GAAS,OAAO,OAClB,CA/BD,GAAS,IA+BP,CAAC,GAAS,OAAO,OAClB,CAhCD,GAAS,IAgCP,CAAC,GAAS,OAAO,QhBAlB,uBAAA,CACA,oBAAA,CACA,eAAA,CgBAE,kBAAA,CACA,WAAA,CACA,yBAGF,CAvCD,GAAS,IAuCP,CAAC,GAAS,OAAQ,QAAQ,CAvC5B,GAAS,IAuCoB,CAAC,GAAS,OAAO,MAAO,QACpD,CAxCD,GAAS,IAwCP,CAAC,GAAS,OAAQ,GAAG,CAxCvB,GAAS,IAwCe,CAAC,GAAS,OAAO,MAAO,GAC7C,YAGF,CA5CD,GAAS,IA4CP,MAAO,EAAC,GAAS,OAChB,yBAGF,CAhDD,GAAS,IAgDP,CAAC,GAAS,OAAQ,EAAC,GAAS,OAAQ,CAhDtC,GAAS,IAgD8B,CAAC,GAAS,OAAO,MAAO,EAAC,GAAS,OACtE,uBAIJ,CAAC,GAAS,IAAK,QACb,eAAA,CACA,cAAA,CACA,gBAAA,CACA,iBAAA,CACA,cAAA,CACA,aAAA,CACA,iBAAA,CAGA,gBAAA,CACA,wBACA,CAZD,GAAS,IAAK,OAYZ,mBACC,QAAA,CACA,UAIJ,CAAC,GAAS,IAAK,GACb,yBAGF,CAAC,GAAS,QAAQ,CAAC,GAAS,cAC1B,eAGF,CAAC,GAAS,SACR,WAAA,CACA,4BAAA,CACA,wBAAA,CACA,yBAEA,CAND,GAAS,QAMP,OAAQ,CANV,GAAS,QAME,OACR,wBAAA,CACA,yBAGF,CAXD,GAAS,QAWP,CAAC,GAAS,SAAU,QAAQ,CAX9B,GAAS,QAWsB,CAAC,GAAS,SAAS,MAAO,QACtD,cAAA,ChB3DF,uBAAA,CACA,oBAAA,CACA,eAAA,CAjCA,UAAA,CAEA,wBAAA,CACA,OgB4FA,CAjBD,GAAS,QAiBP,CAAC,GAAS,QAAS,CAjBrB,GAAS,QAiBa,CAAC,GAAS,OAAO,OAAQ,CAjB/C,GAAS,QAiBuC,IAAI,eAAqB,QACtE,wBAAA,ChBjEF,uBAAA,CACA,oBAAA,CACA,gBgBoEF,CAAC,GAAS,QAAS,QAAQ,CAAC,GAAS,QAAS,OAAO,GACnD,WAAA,CACA,yBAGF,CAAC,GAAS,IAAK,EAAC,GAAS,KACvB,iBAAA,CACA,mBAAA,CACA,cAGF,CAAC,GAAS,UAAW,QACnB,gBAAA,CACA,cAAA,CACA,mBAIF,CAAC,GAAS,UAAW,GACnB,eAGF,CAAC,GAAS,UAAW,QACnB,eAAA,CACA,cAAA,CACA,oBAGF,CAAC,GAAS,UAAW,GACnB,gBAAA,CACA,kBAAA,CACA,kBAGF,CAAC,GAAS,IAAK,EAAC,GAAS,OACvB,cAAA,CACA,cAGF,CAAC,GAAS,UAAW,EAAC,GAAS,OAC7B,cAAA,CACA,cAGF,CAAC,GAAS,OhBvGR,oBAAA,CACA,eAAA,CACA,OAAA,CgBuGA,OAAA,CAAU,QAAA,CACV,kBAAA,CACA,4BAAA,CACA,kCAAA,CACA,iCAAA,CACA,QAAS,GAGX,CAAC,GAAS,SAAU,EAAC,GAAS,OAC5B,sBAGF,CAAC,GAAS,MAAM,CAAC,GAAS,IACxB,+BAAA,CACA,aAGF,CAAC,GAAS,UACR,QAAA,CACA,sBAAA,ChBvIA,uBAAA,CACA,oBAAA,CACA,eAAA,CgBwIA,YAGF,CAAC,GAAS,SAAS,OAAQ,CAAC,GAAS,SAAS,CAAC,GAAS,QAAS,CAAC,GAAS,SAAS,OAAQ,CAAC,GAAS,SAAS,QAC7G,QAAA,CACA,kBAAA,CACA,WAAA,ChBhJA,uBAAA,CACA,oBAAA,CACA,gBgBkJF,CAAC,GAAS,aAAc,EAAC,GAAS,KAChC,kBAKF,CAAC,GAAS,IAAK,EAAC,GAAS,IAAK,QAC5B,cC3LF,CAAC,GAAS,QAAS,EAAC,GAAS,WAC3B,QAAA,CACA,cAWF,CAAC,GAAS,UAAW,EAAC,GAAS,KAC7B,gBAAA,CACA,QAAA,CAEA,gBAcF,CAAC,GAAS,UAAU,IAAI,eACtB,6BAAA,CACA,cAAA,CACA,gBAGF,CAAC,GAAS,WAGR,gBAYF,CAAC,GAAS,UAAW,EAAC,GAAS,IAAI,CAAC,GAAS,kBAC3C,SAKF,CAAC,GAAS,IAAK,EAAC,GAAS,UAAW,EAAC,GAAS,KAC5C,aAAA,CACA,iBAGF,CAAC,GAAS,IAAK,EAAC,GAAS,UAAW,EAAC,GAAS,OAC5C,eAGF,CAAC,GAAS,IAAK,EAAC,GAAS,UAAU,IAAI,eACrC,gBAAA,CACA,8BAAA,CACA,iBAAA,CACA,iBCvEF,CAAC,GAAS,UACR,eAGF,CAAC,CAAC,GAAS,YACT,gBAAA,CACA,wBAAA,ClB0BA,uBAAA,CACA,oBAAA,CACA,eAAA,CkBzBA,sBAAA,CACA,iBAAA,CACA,gBAGF,CAAC,GAAS,QAAS,EAAC,CAAC,GAAS,YAC5B,aAAA,CACA,cAAA,CACA,gBAAA,CACA,cAGF,CAAC,GAAS,SAAS,MAAO,EAAC,CAAC,GAAS,YAAa,CAAC,GAAS,SAAS,CAAC,GAAS,MAAO,EAAC,CAAC,GAAS,YAC/F,wBAAA,ClBUA,uBAAA,CACA,oBAAA,CACA,gBkBRF,CAAC,GAAS,SAAS,CAAC,GAAS,SAAU,EAAC,GAAS,OAAQ,CAAC,GAAS,SAAS,CAAC,GAAS,SAAU,EAAC,CAAC,GAAS,YACzG,cAGF,CAAC,GAAS,SAAU,EAAC,GAAS,OAC5B,sBAKF,CAAC,GAAS,IAAK,EAAC,GAAS,UACvB,aAAA,CACA,iBAGF,CAAC,GAAS,IAAK,EAAC,CAAC,GAAS,YACxB,iBC1CF,CAAC,GAAS,UACR,iBAAA,CnB0CA,oBAAA,CACA,eAAA,CACA,OAAA,CAbA,uBAAA,CACA,oBAAA,CACA,eAAA,CmB7BA,aAGF,CAAC,GAAS,SAAU,OAClB,wBAAA,CACA,0BAAA,CACA,YAGF,CAAC,GAAS,SAAS,CAAC,GAAS,SAAU,OACrC,cAOF,CAAC,GAAS,SAAU,EAAC,GAAS,KAC5B,wBAAA,CACA,aAAA,CAEA,SAGF,CAAC,GAAS,SAAU,QAClB,iBAAA,CACA,iBAGF,CAAC,GAAS,SAAS,CAAC,GAAS,SAAU,EAAC,GAAS,IAAK,QACpD,cAAA,CnBHA,uBAAA,CACA,oBAAA,CACA,eAAA,CAjCA,UAAA,CAEA,wBAAA,CACA,OmBoCF,CAAC,GAAS,SAAU,EAAC,GAAS,QAC5B,iBAAA,CACA,SAAA,CACA,OAAA,CACA,gBAAA,CACA,eAAA,CACA,cAAA,CACA,UAAA,CACA,WAAA,CACA,iBAAA,CACA,eAGF,CAAC,GAAS,SAAS,CAAC,GAAS,WAAY,OACvC,mBAGF,CAAC,GAAS,SAAS,CAAC,GAAS,SAAU,EAAC,GAAS,QAC/C,WAGF,CAAC,GAAS,SAAU,EAAC,GAAS,OAAO,CAAC,GAAS,WAC7C,cAGF,CAAC,GAAS,SAAU,EAAC,GAAS,OAAO,CAAC,GAAS,aAC7C,cAGF,CAAC,GAAS,KAAK,CAAC,GAAS,eACvB,YAAA,CACA,YAAA,CACA,iBAHF,CAAC,GAAS,KAAK,CAAC,GAAS,cAKvB,EAAC,GAAS,WACR,uBAAA,CACA,eAPJ,CAAC,GAAS,KAAK,CAAC,GAAS,cAUvB,EAAC,GAAS,eACR,UAXJ,CAAC,GAAS,KAAK,CAAC,GAAS,cAcvB,EAAC,GAAS,MACR,eAfJ,CAAC,GAAS,KAAK,CAAC,GAAS,cAkBvB,EAAC,GAAS,gBAlBZ,CAAC,GAAS,KAAK,CAAC,GAAS,cAkBI,EAAC,GAAS,eAAgB,GACnD,eAnBJ,CAAC,GAAS,KAAK,CAAC,GAAS,cAsBvB,EAAC,GAAS,KAAM,GACd,eC5FJ,CAAC,GAAS,SAAU,GAClB,wBAAA,CACA,UAAA,CAAa,YCFf,CAAC,GAAS,YAAa,EAAC,GAAS,KAC/B,kBAGF,CAAC,GAAS,kBACR,WAQF,CAAC,GAAS,YAAa,EAAC,GAAS,SAC/B,iBAAA,CACA,aAAA,CACA,iBAAA,CACA,QAAA,CACA,OAAA,CACA,iBAAA,CACA,cAAA,CACA,eAAA,CACA,UAAA,CACA,UAAA,CACA,gBAGF,CAAC,GAAS,YAAY,CAAC,GAAS,UAAW,EAAC,GAAS,SACnD,iBAAA,CACA,eAAA,CACA,WAmBF,CAAC,GAAS,IAAK,EAAC,GAAS,aACvB,cAGF,CAAC,GAAS,IAAK,EAAC,GAAS,YAAa,EAAC,GAAS,SAC9C,aAAA,CACA,eAAA,CACA,iBAGF,CAAC,GAAS,IAAK,EAAC,GAAS,YAAY,CAAC,GAAS,UAAW,EAAC,GAAS,SAClE,aAAA,CACA,eAAA,CACA,iBAGF,CAAC,GAAS,IAAK,EAAC,GAAS,YAAa,EAAC,GAAS,MAC9C,gBAAA,CACA,iBAAA,CACA,cCpEF,CAAC,GAAS,aACR,iBAAA,CACA,WAAA,CACA,aAGF,CAAC,GAAS,gBACR,iBAAA,CACA,KAAA,CAAQ,MAAA,CACR,SAAA,CACA,WAAA,CACA,wBAAA,CACA,gBAAA,CACA,gBAGF,CAAC,GAAS,qBACR,WAGF,CAAC,GAAS,sBAAuB,CAAC,GAAS,sBACzC,UAAA,CACA,WAAA,CACA,iBAAA,CACA,KAAA,CACA,OAGF,CAAC,GAAS,sBACR,OAAQ,yEAAwE,uBAAuB,YAAvG,CACA,WAAY,6GAAZ,CACA,WAAY,qDAGd,CAAC,GAAS,sBACR,OAAQ,yEAAwE,yBAAyB,UAAzG,CACA,WAAY,6GAAZ,CACA,WAAY,gDAGd,CAAC,GAAS,uBACR,eAAA,CACA,iBAAA,CACA,UAAA,CACA,WAAA,CACA,oBAAA,CACA,sBAAA,CACA,kBAGF,CAAC,GAAS,uBACR,iBAAA,CACA,UAAA,CACA,WAAA,CACA,sBAAA,CACA,kBAGF,CAAC,GAAS,eACR,iBAAA,CACA,KAAA,CAAQ,OAAA,CACR,UAAA,CACA,WAAA,CACA,wBAAA,CACA,iBAGF,CAAC,GAAS,sBACR,eAAA,CACA,iBAAA,CACA,KAAA,CACA,SAAA,CACA,UAAA,CACA,sBAAA,CACA,gBAAA,CACA,UAAA,CACA,YC5EF,CAAC,GAAS,MvB2CR,oBAAA,CACA,eAAA,CACA,OAAA,CuB3CA,WAAA,CACA,kBAAA,CACA,kBAGF,CAAC,GAAS,KAAM,EAAC,GAAS,KACxB,oBAAA,CACA,kBAGF,CAAC,GAAS,KAAM,EAAC,GAAS,WACxB,qBAGF,CAAC,GAAS,WvB2BR,oBAAA,CACA,eAAA,CACA,OAAA,CuB3BA,cAAA,CACA,aAAA,CACA,iBAAA,CACA,yBAGF,CAAC,GAAS,UAAU,OAClB,0BAGF,CAAC,GAAS,UAAU,OAClB,kBAAA,CACA,YAGF,CAAC,GAAS,KAAM,EAAC,GAAS,SACxB,cAAA,CACA,kBAGF,CAAC,GAAS,SAAU,EAAC,GAAS,WAC5B,WAKF,CAAC,GAAS,IAAK,EAAC,GAAS,MACvB,cC7CF,CAAC,GAAS,UACR,uBAIF,CAAC,GAAS,SAAU,EAAG,GAAS,gBAC9B,iBAGF,CAAC,GAAS,gBACR,eAAA,CACA,oBCXF,CAAC,GAAS,YzB2CR,oBAAA,CACA,eAAA,CACA,QyBzCF,CAAC,GAAS,iBACR,kBCLF,CAAC,GAAS,kB1B2CR,oBAAA,CACA,eAAA,CACA,Q0BzCF,CAAC,GAAS,kBACR,qBAGF,CAAC,GAAS,iBAAiB,CAAC,GAAS,MACnC,iBAGF,CAAC,GAAS,aACR,mBAGF,CAAC,GAAS,eAAgB,EAAC,GAAS,aAClC,mBAKF,CAAC,GAAS,IAAK,EAAC,GAAS,aACvB,gBAAA,CACA,cAGF,CAAC,GAAS,IAAK,EAAC,GAAS,kBACvB,qBAGF,CAAC,GAAS,IAAK,EAAC,GAAS,iBAAiB,CAAC,GAAS,MAClD,gBChCF,CAAC,GAAS,QACR,sBAAA,CACA,UAAA,CAAa,YCFf,CAAC,GAAS,S5B2CR,oBAAA,CACA,eAAA,CACA,OAAA,C4B3CA,4CAAA,CACA,eAAA,CACA,qBAJF,CAAC,GAAS,QAMR,KACE,aAAA,CACA,WARJ,CAAC,GAAS,QAMR,IAIE,QACE,iBAAA,CACA,OAAA,CAAU,SAAA,CACV,cAAA,CACA,eAAA,CACA,aAfN,CAAC,GAAS,QAMR,IAYE,OAAM,OACJ,0BAKN,CAAC,GAAS,QAAQ,CAAC,GAAS,SAC1B,KACE,kBAFJ,CAAC,GAAS,QAAQ,CAAC,GAAS,SAK1B,QACE,cAIJ,CAAC,GAAS,QAAQ,CAAC,GAAS,SAC1B,kBAAA,CACA,qBAFF,CAAC,GAAS,QAAQ,CAAC,GAAS,QAI1B,KACE,cAIJ,CAAC,GAAS,QAAQ,CAAC,GAAS,SAC1B,kBAAA,CACA,qBAFF,CAAC,GAAS,QAAQ,CAAC,GAAS,QAI1B,KACE,cAIJ,CAAC,GAAS,QAAQ,CAAC,GAAS,OAC1B,kBAAA,CACA,qBAFF,CAAC,GAAS,QAAQ,CAAC,GAAS,MAI1B,KACE,cAMJ,CAAC,GAAS,IAAK,EAAC,GAAS,QACvB,KACE,gBAAA,CACA,cClEJ,CAAC,GAAS,O7B2CR,oBAAA,CACA,eAAA,CACA,OAAA,C6B3CA,4CAAA,CACA,gBAGF,CAAC,GAAS,MAAM,CAAC,GAAS,YACxB,cAGF,CAAC,GAAS,MAAM,CAAC,GAAS,UACxB,WAGF,CAAC,GAAS,MAAM,CAAC,GAAS,WACxB,qBAGF,CAAC,GAAS,MAAM,CAAC,GAAS,SACxB,cAGF,CAAC,GAAS,MAAM,CAAC,GAAS,SACxB,cAGF,CAAC,GAAS,MAAM,CAAC,GAAS,OACxB,cAKF,CAAC,GAAS,IAAK,EAAC,GAAS,OACvB,gBAAA,CACA,cClCF,CAAC,GAAS,SACR,yBAGF,CAAC,GAAS,QAAS,EAAC,GAAS,SAC3B,wBAAA,CACA,sBAAA,C9B0BA,uBAAA,CACA,oBAAA,CACA,eAAA,C8BzBA,YAGF,CAAC,GAAS,QAAS,EAAC,GAAS,QAAS,OAAO,MAC3C,cAGF,CAAC,GAAS,QAAS,EAAC,GAAS,OAC3B,yBAGF,CAAC,GAAS,QAAS,EAAC,GAAS,OAC3B,EAAC,GAAS,OAD0B,CAAC,GAAS,QAAS,EAAC,GAAS,QAAQ,MACzE,EAAC,GAAS,OACR,yBAIJ,CAAC,GAAS,QAAS,EAAC,GAAS,QAAQ,OAAQ,CAAC,GAAS,QAAS,EAAC,GAAS,QAAQ,CAAC,GAAS,QAAS,CAAC,GAAS,QAAS,EAAC,GAAS,QAAQ,OACxI,oBAAA,CACA,gBAAA,CACA,WAAA,C9BGA,uBAAA,CACA,oBAAA,CACA,gB8BDF,CAAC,GAAS,QAAS,EAAC,GAAS,QAAQ,CAAC,GAAS,QAC7C,kBAAA,CACA,cCnCF,GAAG,CAAC,GAAS,QAAQ,CAAC,GAAS,QAC7B,yBAAA,CACA,cAGF,CAAC,GAAS,QAAS,QACjB,cAGF,CAAC,GAAS,QAAQ,CAAC,GAAS,UAAW,MACrC,eAGF,CAAC,GAAS,QAAQ,CAAC,GAAS,YAAa,MACvC,oBAAA,CACA,iBAAA,CACA,sBAAA,CACA,WAGF,CAAC,GAAS,QAAQ,CAAC,GAAS,YAAY,CAAC,GAAS,UAAW,MAC3D,WAGF,CAAC,GAAS,QAAS,EAAC,GAAS,OAC3B,gBAKF,CAAC,GAAS,IACR,EAAC,GAAS,QAAS,QACjB,aAAA,CACA,iBAHJ,CAAC,GAAS,IAMR,EAAC,GAAS,QAAQ,CAAC,GAAS,YAAa,MACvC,aAAA,CACA,iBCtCJ,CAAC,GAAS,WACR,aAAA,CACA,uBAAA,CACA,UAAA,CACA,kBAAA,CACA,gBAAA,CACA,aAAA,CACA,kBAAA,CACA,cAAA,CACA,kBAAA,CACA,iCAAA,CACA,kBAXF,CAAC,GAAS,UAaR,EAAC,GAAS,OACR,cAAA,CACA,gBAAA,CACA,gCAAA,CACA,mCAAA,CACA,8BAlBJ,CAAC,GAAS,UAqBR,EAAC,GAAS,eACR,oBAAA,CACA,qBAAA,CACA,WAxBJ,CAAC,GAAS,UA2BR,EAAC,GAAS,KACR,kBAGF,CA/BD,GAAS,UA+BP,OAAQ,CA/BV,GAAS,UA+BE,OACR,mBADF,CA/BD,GAAS,UA+BP,MAGC,EAAC,GAAS,eAHH,CA/BV,GAAS,UA+BE,MAGR,EAAC,GAAS,eACR,WAJJ,CA/BD,GAAS,UA+BP,MAOC,EAAC,GAAS,MAPH,CA/BV,GAAS,UA+BE,MAOR,EAAC,GAAS,MAPZ,CA/BD,GAAS,UA+BP,MAOkB,EAAC,GAAS,KAPpB,CA/BV,GAAS,UA+BE,MAOS,EAAC,GAAS,KACzB,cAIJ,CA3CD,GAAS,UA2CP,CAAC,GAAS,UACT,mBADF,CA3CD,GAAS,UA2CP,CAAC,GAAS,SAGT,EAAC,GAAS,MAHZ,CA3CD,GAAS,UA2CP,CAAC,GAAS,SAGQ,EAAC,GAAS,KACzB,cAIJ,CAnDD,GAAS,UAmDP,CAAC,GAAS,OAAO,CAAC,GAAS,kBAC1B,mBADF,CAnDD,GAAS,UAmDP,CAAC,GAAS,OAAO,CAAC,GAAS,iBAG1B,EAAC,GAAS,MAHZ,CAnDD,GAAS,UAmDP,CAAC,GAAS,OAAO,CAAC,GAAS,iBAGT,EAAC,GAAS,KACzB,YAIJ,CA3DD,GAAS,UA2DP,CAAC,GAAS,OAAO,CAAC,GAAS,mBAC1B,EAAC,GAAS,KACR,mBAIJ,CAjED,GAAS,UAiEP,CAAC,GAAS,UAAW,CAjEvB,GAAS,UAiEe,CAAC,GAAS,SAAS,OACxC,iBAEA,CApEH,GAAS,UAiEP,CAAC,GAAS,SAGR,OAAD,CApEH,GAAS,UAiEe,CAAC,GAAS,SAAS,MAGvC,OACC,mBAJJ,CAjED,GAAS,UAiEP,CAAC,GAAS,SAOT,EAAC,GAAS,MAPU,CAjEvB,GAAS,UAiEe,CAAC,GAAS,SAAS,MAOxC,EAAC,GAAS,MAPZ,CAjED,GAAS,UAiEP,CAAC,GAAS,SAOQ,EAAC,GAAS,KAPP,CAjEvB,GAAS,UAiEe,CAAC,GAAS,SAAS,MAOvB,EAAC,GAAS,KACzB,WAIJ,CA7ED,GAAS,UA6EP,CAAC,GAAS,kBAAkB,CAAC,GAAS,QACrC,6BAAA,CACA,iBAFF,CA7ED,GAAS,UA6EP,CAAC,GAAS,kBAAkB,CAAC,GAAS,OAIrC,EAAC,GAAS,MAJZ,CA7ED,GAAS,UA6EP,CAAC,GAAS,kBAAkB,CAAC,GAAS,OAIpB,EAAC,GAAS,KACzB,cAGF,CArFH,GAAS,UA6EP,CAAC,GAAS,kBAAkB,CAAC,GAAS,OAQpC,OACC,mBAKN,CAAC,GAAS,gBACR,UAAA,CACA,eAAA,CACA,sBAAA,CACA,mBAJF,CAAC,GAAS,eAMR,GACE,WAIJ,CAAC,GAAS,oBACR,aAAA,CACA,sBAAA,CACA,kBAAA,CACA,gBAGF,CAAC,GAAS,UAAU,MAAO,GAAG,CAAC,GAAS,UAAU,CAAC,GAAS,SAAU,GAAG,CAAC,GAAS,UAAU,MAAO,GAClG,cAGF,GAAG,CAAC,GAAS,KAAM,EAAC,GAAS,eAAgB,CAAC,GAAS,cAAc,OACnE,QAAA,CACA,SAAA,CACA,UAAA,CACA,cAAA,CACA,eAAA,CACA,sBAAA,CACA,uCAAA,CACA,cAAA,CACA,YAGF,GAAG,CAAC,GAAS,KAAM,EAAC,GAAS,UAAW,GACtC,iBAGF,CAAC,GAAS,oBAAsB,kBAChC,CAAC,GAAS,oBAAsB,kBAChC,CAAC,GAAS,oBAAsB,kBAChC,CAAC,GAAS,oBAAsB,kBAChC,CAAC,GAAS,oBAAsB,kBAChC,CAAC,GAAS,oBAAsB,kBAChC,CAAC,GAAS,oBAAsB,kBAIhC,CAAC,GAAS,KAAK,CAAC,GAAS,KACvB,cAGF,CAAC,GAAS,IAAK,EAAC,GAAS,WACvB,gBAAA,CACA,aAAA,CACA,0BAGF,CAAC,GAAS,IAAK,EAAC,GAAS,UAAW,EAAC,GAAS,OAC5C,eAAA,CACA,cAAA,CACA,8BAAA,CACA,cAGF,CAAC,GAAS,IAAK,EAAC,GAAS,UAAU,CAAC,GAAS,SAAU,EAAC,GAAS,OAAQ,CAAC,GAAS,IAAK,EAAC,GAAS,UAAU,MAAO,EAAC,GAAS,OAAQ,CAAC,GAAS,IAAK,EAAC,GAAS,UAAU,MAAO,EAAC,GAAS,OACvL,6BAAA,CACA,2BAGF,CAAC,GAAS,IACR,EAAC,GAAS,UAAW,EAAC,GAAS,KAC7B,eAAA,CACA,iBCpKJ,CAAC,GAAS,UACR,iBAAA,CACA,KAAA,CAAQ,MAAA,CACR,UAAA,CAAa,WAAA,CjCFb,UAAA,CAEA,wBAAA,CACA,MAAA,CiCCA,oBlCyO6C,0CkCtO/C,CAAC,GAAS,iBACR,eAAA,CACA,YAGF,CAAC,GAAS,KAAM,EAAC,GAAS,iBACxB,WAAA,CACA,wBCfF,CAAC,GAAS,MACR,iBAAA,CACA,MAAA,CAAS,KAAA,ClC+CT,OAAQ,2DAAR,CACA,sBAAA,CkC9CA,YAAA,CACA,mBAAA,CACA,eAAA,CACA,eAAA,CACA,gBAAA,CACA,wBAAA,CACA,wBAAA,CACA,YAAA,ClCqBA,+CAAA,CACA,4CAAA,CACA,uCAAA,CkCpBA,gBAAA,CACA,aAAA,CACA,kBAEA,CAlBD,GAAS,KAkBP,CAAC,GAAS,SACT,WAAA,CACA,UAAW,eAAe,eAA1B,CACA,0BAGF,CAxBD,GAAS,KAwBP,CAAC,GAAS,WACT,EAAC,GAAS,eADZ,CAxBD,GAAS,KAwBP,CAAC,GAAS,WACiB,EAAC,GAAS,OAClC,iBAAA,CACA,QAKN,CAAC,GAAS,KAAM,GACd,aAGF,CAAC,GAAS,eAAgB,GACxB,qBAIA,CADD,GAAS,KAAK,CAAC,GAAS,GACtB,CAAC,GAAS,SACT,SAAA,CACA,UAAW,WAAW,UAAtB,CACA,iDAIJ,CAAC,GAAS,gBAAkB,qBAC5B,CAAC,GAAS,gBAAkB,oBAC5B,CAAC,GAAS,gBAAkB,oBAC5B,CAAC,GAAS,gBAAkB,mBAI5B,CAAC,GAAS,IACR,EAAC,GAAS,UAAW,EAAC,GAAS,KAC7B,eAAA,CACA,iBAGF,CAND,GAAS,IAMP,CAAC,GAAS,WAAY,EAAC,GAAS,OANnC,CAAC,GAAS,IAMiC,EAAC,GAAS,eACjD,UAAA,CACA,OC/DJ,CAAC,GAAS,QAAS,QACjB,eAAA,CACA,kBAAA,CACA,kBAGF,CAAC,GAAS,QAAS,EAAC,GAAS,OAC3B,iBAAA,CACA,eAAA,CACA,SAAA,CACA,QAKF,CAAC,GAAS,IAAK,EAAC,GAAS,QAAS,EAAC,GAAS,OAC1C,UAAA,CACA,SAGF,CAAC,GAAS,IAAK,EAAC,GAAS,QAAS,QAChC,kBAAA,CACA,kBCxBF,CAAC,GAAS,eAAgB,EAAC,GAAS,cAClC,iBAAA,CACA,OAAA,CACA,QAAA,CACA,UAAA,CACA,WAAA,CACA,kBAAA,CACA,eAAA,CACA,SAGF,CAAC,GAAS,eAAgB,EAAC,GAAS,mBAClC,iBAGF,CAAC,CAAC,GAAS,UACT,cCdF,CAAC,GAAS,WACR,eAAA,CACA,yBCFF,CAAC,GAAS,QAER,wBAAA,CACA,eAAA,CACA,WAAA,CACA,WAAA,CACA,iBAAA,CACA,cAGF,CAAC,GAAS,OAAO,CAAC,GAAS,UACzB,UAAA,CACA,aAGF,CAAC,GAAS,eAER,wBAAA,CACA,kBAAA,CACA,aAAA,CACA,UAAA,CACA,WAAA,CACA,iBAAA,CACA,KAAA,CAAQ,MAAA,CACR,gBAAA,CACA,gBAGF,CAAC,GAAS,cAAc,OACtB,qBC7BF,CAAC,GAAS,QACR,kBCAA,CADD,GAAS,SACP,MAAO,EAAC,GAAS,MAChB,8BAFJ,CAAC,GAAS,SAKR,EAAC,GAAS,MACR,iCAAA,CACA,iBAAA,CACA,iBARJ,CAAC,GAAS,SAWR,EAAC,GAAS,KAAK,OACb,8BAZJ,CAAC,GAAS,SAeR,EAAC,GAAS,KAAK,OAfjB,CAAC,GAAS,SAee,EAAC,GAAS,KAAK,QACpC,8BAGF,CAnBD,GAAS,SAmBP,CAAC,GAAS,OAAO,MAAO,EAAC,GAAS,MACjC,4BAGF,CAvBD,GAAS,SAuBP,CAAC,GAAS,QACT,qBAIJ,CAAC,GAAS,SAAS,CAAC,GAAS,UAAW,EAAC,GAAS,MAChD,oBAKF,CAAC,GAAS,IAAK,EAAC,GAAS,UACvB,aAAA,CACA,iBAGF,CAAC,GAAS,IAAK,EAAC,GAAS,SAAU,QACjC,iBAAA,CACA,iBAGF,CAAC,GAAS,IAAK,EAAC,GAAS,SAAU,EAAC,GAAS,MAC3C,cC7CF,CAAC,GAAS,mBACR,cCDF,CAAC,GAAS,MACR,aAAA,CACA,gCAGF,CAAC,GAAS,MACV,CAAC,GAAS,KAAM,EAAG,GAAS,gBAC1B,gBAGF,CAAC,GAAS,K1CiCR,oBAAA,CACA,eAAA,CACA,OAAA,C0CjCA,wBAAA,CACA,sBAAA,CACA,eAAA,CACA,gBAAA,CACA,4CAAA,CACA,WAAA,CACA,eAGF,CAAC,GAAS,IAAI,OACZ,mBAGF,CAAC,GAAS,IAAI,CAAC,GAAS,QACtB,kBAAA,CACA,+BAAA,CACA,kBAAA,CACA,YAIF,CAAC,GAAS,IAAI,OACZ,cAKF,CAAC,GAAS,IAAK,EAAC,GAAS,MACvB,gBAAA,CACA,cAGF,CAAC,GAAS,IAAK,EAAC,GAAS,KACvB,uBC7CF,CAAC,GAAS,SACR,eAAA,CACA,wBAAA,C3C8BA,uBAAA,CACA,oBAAA,CACA,eAAA,C2C7BA,oBAAA,C3CiCA,2DAAA,CACA,mDAAA,C2ChCA,WAAA,CACA,WAAA,CACA,mBAAA,CACA,oBAAA,CACA,gBAAA,CACA,cAGF,CAAC,GAAS,QAAQ,OAAQ,CAAC,GAAS,QAAQ,CAAC,GAAS,OACpD,oBAAA,C3CgBA,uBAAA,CACA,oBAAA,CACA,gB2CdF,CAAC,GAAS,YAAa,EAAC,GAAS,SAC/B,WAGF,CAAC,GAAS,QAAQ,CAAC,GAAS,WAC1B,WAAA,CACA,YAGF,CAAC,GAAS,QAAQ,CAAC,GAAS,UAC1B,cAKF,CAAC,GAAS,IAAK,EAAC,GAAS,SACvB,gBAAA,CACA,cCrCF,CAAC,GAAS,UACR,sBAAA,CACA,kBAEA,CAJD,GAAS,SAIN,MACA,wBAAA,CACA,oBAAA,CACA,sBAGF,CAVD,GAAS,SAUP,OACC,QAAQ,EAAR,CACA,WAAA,CACA,oBAAA,CACA,sBAGF,CAjBD,GAAS,SAiBP,CAAC,GAAS,U5ChBX,UAAA,CAEA,wBAAA,CACA,O4CgBE,CApBH,GAAS,SAiBP,CAAC,GAAS,SAGR,CAAC,GAAS,WACT,mBCrBN,CAAC,GAAS,cACR,iBAAA,CACA,gBAEA,CAJD,GAAS,aAIN,QACA,iBAAA,CACA,UAGF,CATD,GAAS,aASN,O7CRF,SAAA,CAEA,uBAAA,CACA,MAAA,C6COE,iBAAA,CACA,KAAA,CACA,MAAA,CACA,UAAA,CACA,WAAA,CACA,UChBJ,WACE,YAAa,SAAb,CACA,QAAQ,oBAAR,CACA,QAAQ,4BAA4B,OAAO,yBACrC,sBAAsB,OAAO,YAC7B,qBAAqB,OAAO,gBAC5B,6BAA6B,OAAO,MAH1C,CAIA,kBAAA,CACA,kBAGF,WACE,YAAa,eAAb,CACA,QAAQ,0BAAR,CACA,QAAQ,kCAAkC,OAAO,yBAC3C,4BAA4B,OAAO,YACnC,2BAA2B,OAAO,gBAClC,mCAAmC,OAAO,MAHhD,CAIA,kBAAA,CACA,kBAGF,CAAC,GAAS,KACR,YAAa,eAAb,CACA,iBAAA,CACA,kBAAA,CACA,mBAAA,CACA,cAAA,CACA,gBAAA,CACA,UAAA,CACA,uBAAA,CACA,kCAAA,CACA,iCAAA,CAEA,oBAAA,CACA,oCAAA,CACA,qBAAA,CACA,UAAA,CACA,WAAA,CACA,cAGF,CAAC,GAAS,UAAW,EAAC,GAAS,KAC7B,YAAa,sBAGf,CAAC,GAAS,OAAO,QAA0B,QAAS,QACpD,CAAC,GAAS,cAAc,QAAmB,QAAS,QACpD,CAAC,GAAS,WAAW,QAAsB,QAAS,QACpD,CAAC,GAAS,YAAY,QAAqB,QAAS,QACpD,CAAC,GAAS,cAAc,QAAmB,QAAS,QACpD,CAAC,GAAS,aAAa,QAAoB,QAAS,QACpD,CAAC,GAAS,eAAe,QAAkB,QAAS,QACpD,CAAC,GAAS,YAAY,QAAqB,QAAS,QACpD,CAAC,GAAS,MAAM,QAA2B,QAAS,QACpD,CAAC,GAAS,QAAQ,QAAyB,QAAS,QACpD,CAAC,GAAS,gBAAgB,QAAiB,QAAS,QACpD,CAAC,GAAS,UAAU,QAAuB,QAAS,QACpD,CAAC,GAAS,UAAU,QAAuB,QAAS,QACpD,CAAC,GAAS,SAAS,QAAwB,QAAS,QACpD,CAAC,GAAS,UAAU,QAAuB,QAAS,QACpD,CAAC,GAAS,aAAa,QAAoB,QAAS,QACpD,CAAC,GAAS,OAAO,QAA0B,QAAS,QACpD,CAAC,GAAS,OAAO,QAA0B,QAAS,QACpD,CAAC,GAAS,OAAO,QAA0B,QAAS,QACpD,CAAC,GAAS,SAAS,QAAwB,QAAS,QACpD,CAAC,GAAS,SAAS,QAAwB,QAAS,QACpD,CAAC,GAAS,QAAQ,QAAyB,QAAS,QACpD,CAAC,GAAS,QAAQ,QAAyB,QAAS,QACpD,CAAC,GAAS,OAAO,QAA0B,QAAS,QACpD,CAAC,GAAS,OAAO,QAA0B,QAAS,QACpD,CAAC,GAAS,iBAAiB,QAAgB,QAAS,QACpD,CAAC,GAAS,UAAU,QAAuB,QAAS,QACpD,CAAC,GAAS,YAAY,QAAqB,QAAS,QACpD,CAAC,GAAS,YAAY,QAAqB,QAAS,QACpD,CAAC,GAAS,QAAQ,QAAyB,QAAS,QACpD,CAAC,GAAS,KAAK,QAA4B,QAAS,QACpD,CAAC,GAAS,eAAe,QAAkB,QAAS,QACpD,CAAC,GAAS,YAAY,QAAqB,QAAS,QACpD,CAAC,GAAS,cAAc,QAAmB,QAAS,QACpD,CAAC,GAAS,UAAU,QAAuB,QAAS,QACpD,CAAC,GAAS,YAAY,QAAqB,QAAS,QACpD,CAAC,GAAS,QAAQ,QAAyB,QAAS,QACpD,CAAC,GAAS,aAAa,QAAoB,QAAS,QACpD,CAAC,GAAS,eAAe,QAAkB,QAAS,QACpD,CAAC,GAAS,cAAc,QAAmB,QAAS,QACpD,CAAC,GAAS,WAAW,QAAsB,QAAS,QACpD,CAAC,GAAS,YAAY,QAAqB,QAAS,QACpD,CAAC,GAAS,eAAe,QAAkB,QAAS,QACpD,CAAC,GAAS,OAAO,QAA0B,QAAS,QACpD,CAAC,GAAS,SAAS,QAAwB,QAAS,QACpD,CAAC,GAAS,YAAY,QAAqB,QAAS,QACpD,CAAC,GAAS,gBAAgB,QAAiB,QAAS,QACpD,CAAC,GAAS,cAAc,QAAmB,QAAS,QACpD,CAAC,GAAS,eAAe,QAAkB,QAAS,QACpD,CAAC,GAAS,MAAM,QAA2B,QAAS,QACpD,CAAC,GAAS,MAAM,QAA2B,QAAS,QACpD,CAAC,GAAS,OAAO,QAA0B,QAAS,QACpD,CAAC,GAAS,SAAS,QAAwB,QAAS,QACpD,CAAC,GAAS,SAAS,QAAwB,QAAS,QACpD,CAAC,GAAS,YAAY,QAAqB,QAAS,QACpD,CAAC,GAAS,aAAa,QAAoB,QAAS,QACpD,CAAC,GAAS,cAAc,QAAmB,QAAS,QACpD,CAAC,GAAS,OAAO,QAA0B,QAAS,QACpD,CAAC,GAAS,YAAY,QAAqB,QAAS,QACpD,CAAC,GAAS,UAAU,QAAuB,QAAS,QACpD,CAAC,GAAS,QAAQ,QAAyB,QAAS,QACpD,CAAC,GAAS,QAAQ,QAAyB,QAAS,QACpD,CAAC,GAAS,SAAS,QAAwB,QAAS,QACpD,CAAC,GAAS,UAAU,QAAuB,QAAS,QACpD,CAAC,GAAS,MAAM,QAA2B,QAAS,QACpD,CAAC,GAAS,OAAO,QAA0B,QAAS,QACpD,CAAC,GAAS,YAAY,QAAqB,QAAS,QACpD,CAAC,GAAS,aAAa,QAAoB,QAAS,QACpD,CAAC,GAAS,OAAO,QAA0B,QAAS,QACpD,CAAC,GAAS,WAAW,QAAsB,QAAS,QACpD,CAAC,GAAS,UAAU,QAAuB,QAAS,QACpD,CAAC,GAAS,UAAU,QAAuB,QAAS,QACpD,CAAC,GAAS,cAAc,QAAmB,QAAS,QACpD,CAAC,GAAS,SAAS,QAAwB,QAAS,QACpD,CAAC,GAAS,QAAQ,QAAyB,QAAS,QACpD,CAAC,GAAS,SAAS,QAAwB,QAAS,QACpD,CAAC,GAAS,gBAAgB,QAAiB,QAAS,QACpD,CAAC,GAAS,iBAAiB,QAAgB,QAAS,QACpD,CAAC,GAAS,SAAS,QAAwB,QAAS,QACpD,CAAC,GAAS,kBAAkB,QAAe,QAAS,QACpD,CAAC,GAAS,uBAAuB,QAAU,QAAS,QACpD,CAAC,GAAS,sBAAsB,QAAW,QAAS,QACpD,CAAC,GAAS,uBAAuB,QAAU,QAAS,QACpD,CAAC,GAAS,sBAAsB,QAAW,QAAS,QACpD,CAAC,GAAS,kBAAkB,QAAe,QAAS,QACpD,CAAC,GAAS,cAAc,QAAmB,QAAS,QACpD,CAAC,GAAS,kBAAkB,QAAe,QAAS,QACpD,CAAC,GAAS,iBAAiB,QAAgB,QAAS,QACpD,CAAC,GAAS,iBAAiB,QAAgB,QAAS,QACpD,CAAC,GAAS,iBAAiB,QAAgB,QAAS,QACpD,CAAC,GAAS,aAAa,QAAoB,QAAS,QACpD,CAAC,GAAS,OAAO,QAA0B,QAAS,QACpD,CAAC,GAAS,cAAc,QAAmB,QAAS,QACpD,CAAC,GAAS,OAAO,QAA0B,QAAS,QACpD,CAAC,GAAS,QAAQ,QAAyB,QAAS,QACpD,CAAC,GAAS,YAAY,QAAqB,QAAS,QACpD,CAAC,GAAS,OAAO,QAA0B,QAAS,QACpD,CAAC,GAAS,OAAO,QAA0B,QAAS,QACpD,CAAC,GAAS,SAAS,QAAwB,QAAS,QACpD,CAAC,GAAS,SAAS,QAAwB,QAAS,QACpD,CAAC,GAAS,OAAO,QAA0B,QAAS,QACpD,CAAC,GAAS,OAAO,QAA0B,QAAS,QACpD,CAAC,GAAS,SAAS,QAAwB,QAAS,QACpD,CAAC,GAAS,WAAW,QAAsB,QAAS,QACpD,CAAC,GAAS,UAAU,QAAuB,QAAS,QACpD,CAAC,GAAS,OAAO,QAA0B,QAAS,QACpD,CAAC,GAAS,UAAU,QAAuB,QAAS,QACpD,CAAC,GAAS,WAAW,QAAsB,QAAS,QACpD,CAAC,GAAS,aAAa,QAAoB,QAAS,QACpD,CAAC,GAAS,OAAO,QAA0B,QAAS,QACpD,CAAC,GAAS,SAAS,QAAwB,QAAS,QACpD,CAAC,GAAS,UAAU,QAAuB,QAAS,QACpD,CAAC,GAAS,YAAY,QAAqB,QAAS,QACpD,CAAC,GAAS,WAAW,QAAsB,QAAS,QACpD,CAAC,GAAS,aAAa,QAAoB,QAAS,QACpD,CAAC,GAAS,QAAQ,QAAyB,QAAS,QACpD,CAAC,GAAS,SAAS,QAAwB,QAAS,QACpD,CAAC,GAAS,OAAO,QAA0B,QAAS,QACpD,CAAC,GAAS,OAAO,QAA0B,QAAS,QACpD,CAAC,GAAS,SAAS,QAAwB,QAAS,QACpD,CAAC,GAAS,QAAQ,QAAyB,QAAS,QACpD,CAAC,GAAS,QAAQ,QAAyB,QAAS,QACpD,CAAC,GAAS,SAAS,QAAwB,QAAS,QACpD,CAAC,GAAS,MAAM,QAA2B,QAAS,QACpD,CAAC,GAAS,YAAY,QAAqB,QAAS,QACpD,CAAC,GAAS,WAAW,QAAS,CAAC,GAAS,WAAW,QACjD,QAAS,QAGX,CAAC,GAAS,UAA2B,eACrC,CAAC,GAAS,YAA2B,kBACrC,CAAC,CAAC,GAAS,aAA0B,gBAAA,CAAmB,gBCjLxD,CAAC,GAAS,IAAK,EAAC,GAAS,WAAY,OACnC"}
\ No newline at end of file
diff --git a/public/static/tinymce4.7.5/tinymce.min.js b/public/static/tinymce4.7.5/tinymce.min.js
new file mode 100644
index 0000000..d7fcac8
--- /dev/null
+++ b/public/static/tinymce4.7.5/tinymce.min.js
@@ -0,0 +1,2 @@
+// 4.7.5 (2018-01-22)
+!function(){"use strict";var e,t,n,r,o,i,a,s,u,c,l,f,d,m,p,g,h,v=function(e){return function(){return e}},y={noop:function(){},noarg:function(e){return function(){return e()}},compose:function(e,t){return function(){return e(t.apply(null,arguments))}},constant:v,identity:function(e){return e},tripleEquals:function(e,t){return e===t},curry:function(e){for(var t=new Array(arguments.length-1),n=1;n<arguments.length;n++)t[n-1]=arguments[n];return function(){for(var n=new Array(arguments.length),r=0;r<n.length;r++)n[r]=arguments[r];var o=t.concat(n);return e.apply(null,o)}},not:function(e){return function(){return!e.apply(null,arguments)}},die:function(e){return function(){throw new Error(e)}},apply:function(e){return e()},call:function(e){e()},never:v(!1),always:v(!0)},b=y.never,C=y.always,x=function(){return w},w=(r={fold:function(e,t){return e()},is:b,isSome:b,isNone:C,getOr:n=function(e){return e},getOrThunk:t=function(e){return e()},getOrDie:function(e){throw new Error(e||"error: getOrDie called on none.")},or:n,orThunk:t,map:x,ap:x,each:function(){},bind:x,flatten:x,exists:b,forall:C,filter:x,equals:e=function(e){return e.isNone()},equals_:e,toArray:function(){return[]},toString:y.constant("none()")},Object.freeze&&Object.freeze(r),r),N=function(e){var t=function(){return e},n=function(){return o},r=function(t){return t(e)},o={fold:function(t,n){return n(e)},is:function(t){return e===t},isSome:C,isNone:b,getOr:t,getOrThunk:t,getOrDie:t,or:n,orThunk:n,map:function(t){return N(t(e))},ap:function(t){return t.fold(x,function(t){return N(t(e))})},each:function(t){t(e)},bind:r,flatten:t,exists:r,forall:r,filter:function(t){return t(e)?o:w},equals:function(t){return t.is(e)},equals_:function(t,n){return t.fold(b,function(t){return n(e,t)})},toArray:function(){return[e]},toString:function(){return"some("+e+")"}};return o},E={some:N,none:x,from:function(e){return null===e||e===undefined?w:N(e)}},S=(o=Array.prototype.indexOf)===undefined?function(e,t){return D(e,t)}:function(e,t){return o.call(e,t)},k=function(e,t){return S(e,t)>-1},T=function(e,t){for(var n=e.length,r=new Array(n),o=0;o<n;o++){var i=e[o];r[o]=t(i,o,e)}return r},A=function(e,t){for(var n=0,r=e.length;n<r;n++)t(e[n],n,e)},_=function(e,t){for(var n=e.length-1;n>=0;n--)t(e[n],n,e)},B=function(e,t){for(var n=[],r=0,o=e.length;r<o;r++){var i=e[r];t(i,r,e)&&n.push(i)}return n},R=function(e,t){for(var n=0,r=e.length;n<r;n++)if(t(e[n],n,e))return E.some(n);return E.none()},D=function(e,t){for(var n=0,r=e.length;n<r;++n)if(e[n]===t)return n;return-1},O=Array.prototype.push,P=function(e){for(var t=[],n=0,r=e.length;n<r;++n){if(!Array.prototype.isPrototypeOf(e[n]))throw new Error("Arr.flatten item "+n+" was not an array, input: "+e);O.apply(t,e[n])}return t},I=function(e,t){for(var n=0,r=e.length;n<r;++n)if(!0!==t(e[n],n,e))return!1;return!0},L=Array.prototype.slice,M={map:T,each:A,eachr:_,partition:function(e,t){for(var n=[],r=[],o=0,i=e.length;o<i;o++){var a=e[o];(t(a,o,e)?n:r).push(a)}return{pass:n,fail:r}},filter:B,groupBy:function(e,t){if(0===e.length)return[];for(var n=t(e[0]),r=[],o=[],i=0,a=e.length;i<a;i++){var s=e[i],u=t(s);u!==n&&(r.push(o),o=[]),n=u,o.push(s)}return 0!==o.length&&r.push(o),r},indexOf:function(e,t){var n=S(e,t);return-1===n?E.none():E.some(n)},foldr:function(e,t,n){return _(e,function(e){n=t(n,e)}),n},foldl:function(e,t,n){return A(e,function(e){n=t(n,e)}),n},find:function(e,t){for(var n=0,r=e.length;n<r;n++){var o=e[n];if(t(o,n,e))return E.some(o)}return E.none()},findIndex:R,flatten:P,bind:function(e,t){var n=T(e,t);return P(n)},forall:I,exists:function(e,t){return R(e,t).isSome()},contains:k,equal:function(e,t){return e.length===t.length&&I(e,function(e,n){return e===t[n]})},reverse:function(e){var t=L.call(e,0);return t.reverse(),t},chunk:function(e,t){for(var n=[],r=0;r<e.length;r+=t){var o=e.slice(r,r+t);n.push(o)}return n},difference:function(e,t){return B(e,function(e){return!k(t,e)})},mapToObject:function(e,t){for(var n={},r=0,o=e.length;r<o;r++){var i=e[r];n[String(i)]=t(i,r)}return n},pure:function(e){return[e]},sort:function(e,t){var n=L.call(e,0);return n.sort(t),n},range:function(e,t){for(var n=[],r=0;r<e;r++)n.push(t(r));return n},head:function(e){return 0===e.length?E.none():E.some(e[0])},last:function(e){return 0===e.length?E.none():E.some(e[e.length-1])}},F="undefined"!=typeof window?window:Function("return this;")(),z=function(e,t){for(var n=t!==undefined&&null!==t?t:F,r=0;r<e.length&&n!==undefined&&null!==n;++r)n=n[e[r]];return n},U=function(e,t){var n=e.split(".");return z(n,t)},V=function(e,t){var n=U(e,t);if(n===undefined||null===n)throw e+" not available on this browser";return n},H=function(){return V("URL")},q=function(e){return H().createObjectURL(e)},j=function(e){H().revokeObjectURL(e)},$=navigator,W=$.userAgent,K=function(e){return"matchMedia"in window&&matchMedia(e).matches};d=/Android/.test(W),a=(a=!(i=/WebKit/.test(W))&&/MSIE/gi.test(W)&&/Explorer/gi.test($.appName))&&/MSIE (\w+)\./.exec(W)[1],s=-1!==W.indexOf("Trident/")&&(-1!==W.indexOf("rv:")||-1!==$.appName.indexOf("Netscape"))&&11,u=-1!==W.indexOf("Edge/")&&!a&&!s&&12,a=a||s||u,c=!i&&!s&&/Gecko/.test(W),l=-1!==W.indexOf("Mac"),f=/(iPad|iPhone)/.test(W),m="FormData"in window&&"FileReader"in window&&"URL"in window&&!!q,p=K("only screen and (max-device-width: 480px)")&&(d||f),g=K("only screen and (min-width: 800px)")&&(d||f),h=-1!==W.indexOf("Windows Phone"),u&&(i=!1);var X,Y,G,J,Q,Z,ee,te,ne,re,oe,ie,ae,se,ue,ce,le,fe,de,me={opera:!1,webkit:i,ie:a,gecko:c,mac:l,iOS:f,android:d,contentEditable:!f||m||parseInt(W.match(/AppleWebKit\/(\d*)/)[1],10)>=534,transparentSrc:"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",caretAfter:8!==a,range:window.getSelection&&"Range"in window,documentMode:a&&!u?document.documentMode||7:10,fileApi:m,ceFalse:!1===a||a>8,cacheSuffix:"",container:null,overrideViewPort:null,experimentalShadowDom:!1,canHaveCSP:!1===a||a>11,desktop:!p&&!g,windowsPhone:h},pe=window.Promise?window.Promise:function(){function e(e,t){return function(){e.apply(t,arguments)}}var t=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)},n=function(t){if("object"!=typeof this)throw new TypeError("Promises must be constructed via new");if("function"!=typeof t)throw new TypeError("not a function");this._state=null,this._value=null,this._deferreds=[],u(t,e(i,this),e(a,this))},r=n.immediateFn||"function"==typeof setImmediate&&setImmediate||function(e){setTimeout(e,1)};function o(e){var t=this;null!==this._state?r(function(){var n=t._state?e.onFulfilled:e.onRejected;if(null!==n){var r;try{r=n(t._value)}catch(o){return void e.reject(o)}e.resolve(r)}else(t._state?e.resolve:e.reject)(t._value)}):this._deferreds.push(e)}function i(t){try{if(t===this)throw new TypeError("A promise cannot be resolved with itself.");if(t&&("object"==typeof t||"function"==typeof t)){var n=t.then;if("function"==typeof n)return void u(e(n,t),e(i,this),e(a,this))}this._state=!0,this._value=t,s.call(this)}catch(r){a.call(this,r)}}function a(e){this._state=!1,this._value=e,s.call(this)}function s(){for(var e=0,t=this._deferreds.length;e<t;e++)o.call(this,this._deferreds[e]);this._deferreds=null}function u(e,t,n){var r=!1;try{e(function(e){r||(r=!0,t(e))},function(e){r||(r=!0,n(e))})}catch(o){if(r)return;r=!0,n(o)}}return n.prototype["catch"]=function(e){return this.then(null,e)},n.prototype.then=function(e,t){var r=this;return new n(function(n,i){o.call(r,new function(e,t,n,r){this.onFulfilled="function"==typeof e?e:null,this.onRejected="function"==typeof t?t:null,this.resolve=n,this.reject=r}(e,t,n,i))})},n.all=function(){var e=Array.prototype.slice.call(1===arguments.length&&t(arguments[0])?arguments[0]:arguments);return new n(function(t,n){if(0===e.length)return t([]);var r=e.length;function o(i,a){try{if(a&&("object"==typeof a||"function"==typeof a)){var s=a.then;if("function"==typeof s)return void s.call(a,function(e){o(i,e)},n)}e[i]=a,0==--r&&t(e)}catch(u){n(u)}}for(var i=0;i<e.length;i++)o(i,e[i])})},n.resolve=function(e){return e&&"object"==typeof e&&e.constructor===n?e:new n(function(t){t(e)})},n.reject=function(e){return new n(function(t,n){n(e)})},n.race=function(e){return new n(function(t,n){for(var r=0,o=e.length;r<o;r++)e[r].then(t,n)})},n}(),ge=function(e,t){return"number"!=typeof t&&(t=0),setTimeout(e,t)},he=function(e,t){return"number"!=typeof t&&(t=1),setInterval(e,t)},ve=function(e,t){var n,r;return(r=function(){var r=arguments;clearTimeout(n),n=ge(function(){e.apply(this,r)},t)}).stop=function(){clearTimeout(n)},r},ye={requestAnimationFrame:function(e,t){X?X.then(e):X=new pe(function(e){t||(t=document.body),function(e,t){var n,r=window.requestAnimationFrame,o=["ms","moz","webkit"];for(n=0;n<o.length&&!r;n++)r=window[o[n]+"RequestAnimationFrame"];r||(r=function(e){window.setTimeout(e,0)}),r(e,t)}(e,t)}).then(e)},setTimeout:ge,setInterval:he,setEditorTimeout:function(e,t,n){return ge(function(){e.removed||t()},n)},setEditorInterval:function(e,t,n){var r;return r=he(function(){e.removed?clearInterval(r):t()},n)},debounce:ve,throttle:ve,clearInterval:function(e){return clearInterval(e)},clearTimeout:function(e){return clearTimeout(e)}},be=/^(?:mouse|contextmenu)|click/,Ce={keyLocation:1,layerX:1,layerY:1,returnValue:1,webkitMovementX:1,webkitMovementY:1,keyIdentifier:1},xe=function(){return!1},we=function(){return!0},Ne=function(e,t,n,r){e.addEventListener?e.addEventListener(t,n,r||!1):e.attachEvent&&e.attachEvent("on"+t,n)},Ee=function(e,t,n,r){e.removeEventListener?e.removeEventListener(t,n,r||!1):e.detachEvent&&e.detachEvent("on"+t,n)},Se=function(e,t){var n,r,o,i,a,s,u=t||{};for(n in e)Ce[n]||(u[n]=e[n]);if(u.target||(u.target=u.srcElement||document),me.experimentalShadowDom&&(u.target=(r=e,o=u.target,a=o,(i=r.path)&&i.length>0&&(a=i[0]),r.deepPath&&(i=r.deepPath())&&i.length>0&&(a=i[0]),a)),e&&be.test(e.type)&&e.pageX===undefined&&e.clientX!==undefined){var c=u.target.ownerDocument||document,l=c.documentElement,f=c.body;u.pageX=e.clientX+(l&&l.scrollLeft||f&&f.scrollLeft||0)-(l&&l.clientLeft||f&&f.clientLeft||0),u.pageY=e.clientY+(l&&l.scrollTop||f&&f.scrollTop||0)-(l&&l.clientTop||f&&f.clientTop||0)}return u.preventDefault=function(){u.isDefaultPrevented=we,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},u.stopPropagation=function(){u.isPropagationStopped=we,e&&(e.stopPropagation?e.stopPropagation():e.cancelBubble=!0)},u.stopImmediatePropagation=function(){u.isImmediatePropagationStopped=we,u.stopPropagation()},0==((s=u).isDefaultPrevented===we||s.isDefaultPrevented===xe)&&(u.isDefaultPrevented=xe,u.isPropagationStopped=xe,u.isImmediatePropagationStopped=xe),"undefined"==typeof u.metaKey&&(u.metaKey=!1),u},ke=function(e,t,n){var r=e.document,o={type:"ready"};if(n.domLoaded)t(o);else{var i=function(){return"complete"===r.readyState||"interactive"===r.readyState&&r.body},a=function(){n.domLoaded||(n.domLoaded=!0,t(o))},s=function(){i()&&(Ee(r,"readystatechange",s),a())},u=function(){try{r.documentElement.doScroll("left")}catch(e){return void ye.setTimeout(u)}a()};!r.addEventListener||me.ie&&me.ie<11?(Ne(r,"readystatechange",s),r.documentElement.doScroll&&e.self===e.top&&u()):i()?a():Ne(e,"DOMContentLoaded",a),Ne(e,"load",a)}},Te=function(){var e,t,n,r,o,i=this,a={};t="mce-data-"+(+new Date).toString(32),r="onmouseenter"in document.documentElement,n="onfocusin"in document.documentElement,o={mouseenter:"mouseover",mouseleave:"mouseout"},e=1,i.domLoaded=!1,i.events=a;var s=function(e,t){var n,r,o,i,s=a[t];if(n=s&&s[e.type])for(r=0,o=n.length;r<o;r++)if((i=n[r])&&!1===i.func.call(i.scope,e)&&e.preventDefault(),e.isImmediatePropagationStopped())return};i.bind=function(u,c,l,f){var d,m,p,g,h,v,y,b=window,C=function(e){s(Se(e||b.event),d)};if(u&&3!==u.nodeType&&8!==u.nodeType){for(u[t]?d=u[t]:(d=e++,u[t]=d,a[d]={}),f=f||u,p=(c=c.split(" ")).length;p--;)v=C,h=y=!1,"DOMContentLoaded"===(g=c[p])&&(g="ready"),i.domLoaded&&"ready"===g&&"complete"===u.readyState?l.call(f,Se({type:g})):(r||(h=o[g])&&(v=function(e){var t,n;if(t=e.currentTarget,(n=e.relatedTarget)&&t.contains)n=t.contains(n);else for(;n&&n!==t;)n=n.parentNode;n||((e=Se(e||b.event)).type="mouseout"===e.type?"mouseleave":"mouseenter",e.target=t,s(e,d))}),n||"focusin"!==g&&"focusout"!==g||(y=!0,h="focusin"===g?"focus":"blur",v=function(e){(e=Se(e||b.event)).type="focus"===e.type?"focusin":"focusout",s(e,d)}),(m=a[d][g])?"ready"===g&&i.domLoaded?l({type:g}):m.push({func:l,scope:f}):(a[d][g]=m=[{func:l,scope:f}],m.fakeName=h,m.capture=y,m.nativeHandler=v,"ready"===g?ke(u,v,i):Ne(u,h||g,v,y)));return u=m=0,l}},i.unbind=function(e,n,r){var o,s,u,c,l,f;if(!e||3===e.nodeType||8===e.nodeType)return i;if(o=e[t]){if(f=a[o],n){for(u=(n=n.split(" ")).length;u--;)if(s=f[l=n[u]]){if(r)for(c=s.length;c--;)if(s[c].func===r){var d=s.nativeHandler,m=s.fakeName,p=s.capture;(s=s.slice(0,c).concat(s.slice(c+1))).nativeHandler=d,s.fakeName=m,s.capture=p,f[l]=s}r&&0!==s.length||(delete f[l],Ee(e,s.fakeName||l,s.nativeHandler,s.capture))}}else{for(l in f)s=f[l],Ee(e,s.fakeName||l,s.nativeHandler,s.capture);f={}}for(l in f)return i;delete a[o];try{delete e[t]}catch(g){e[t]=null}}return i},i.fire=function(e,n,r){var o;if(!e||3===e.nodeType||8===e.nodeType)return i;(r=Se(null,r)).type=n,r.target=e;do{(o=e[t])&&s(r,o),e=e.parentNode||e.ownerDocument||e.defaultView||e.parentWindow}while(e&&!r.isPropagationStopped());return i},i.clean=function(e){var n,r,o=i.unbind;if(!e||3===e.nodeType||8===e.nodeType)return i;if(e[t]&&o(e),e.getElementsByTagName||(e=e.document),e&&e.getElementsByTagName)for(o(e),n=(r=e.getElementsByTagName("*")).length;n--;)(e=r[n])[t]&&o(e);return i},i.destroy=function(){a={}},i.cancel=function(e){return e&&(e.preventDefault(),e.stopImmediatePropagation()),!1}};(Te.Event=new Te).bind(window,"ready",function(){});var Ae="sizzle"+-new Date,_e=window.document,Be=0,Re=0,De=ft(),Oe=ft(),Pe=ft(),Ie=function(e,t){return e===t&&(ie=!0),0},Le=typeof undefined,Me=1<<31,Fe={}.hasOwnProperty,ze=[],Ue=ze.pop,Ve=ze.push,He=ze.push,qe=ze.slice,je=ze.indexOf||function(e){for(var t=0,n=this.length;t<n;t++)if(this[t]===e)return t;return-1},$e="[\\x20\\t\\r\\n\\f]",We="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",Ke="\\["+$e+"*("+We+")(?:"+$e+"*([*^$|!~]?=)"+$e+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+We+"))|)"+$e+"*\\]",Xe=":("+We+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+Ke+")*)|.*)\\)|)",Ye=new RegExp("^"+$e+"+|((?:^|[^\\\\])(?:\\\\.)*)"+$e+"+$","g"),Ge=new RegExp("^"+$e+"*,"+$e+"*"),Je=new RegExp("^"+$e+"*([>+~]|"+$e+")"+$e+"*"),Qe=new RegExp("="+$e+"*([^\\]'\"]*?)"+$e+"*\\]","g"),Ze=new RegExp(Xe),et=new RegExp("^"+We+"$"),tt={ID:new RegExp("^#("+We+")"),CLASS:new RegExp("^\\.("+We+")"),TAG:new RegExp("^("+We+"|[*])"),ATTR:new RegExp("^"+Ke),PSEUDO:new RegExp("^"+Xe),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+$e+"*(even|odd|(([+-]|)(\\d*)n|)"+$e+"*(?:([+-]|)"+$e+"*(\\d+)|))"+$e+"*\\)|)","i"),bool:new RegExp("^(?:checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped)$","i"),needsContext:new RegExp("^"+$e+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+$e+"*((?:-\\d)?\\d*)"+$e+"*\\)|)(?=[^-]|$)","i")},nt=/^(?:input|select|textarea|button)$/i,rt=/^h\d$/i,ot=/^[^{]+\{\s*\[native \w/,it=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,at=/[+~]/,st=/'|\\/g,ut=new RegExp("\\\\([\\da-f]{1,6}"+$e+"?|("+$e+")|.)","ig"),ct=function(e,t,n){var r="0x"+t-65536;return r!=r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)};try{He.apply(ze=qe.call(_e.childNodes),_e.childNodes),ze[_e.childNodes.length].nodeType}catch(yC){He={apply:ze.length?function(e,t){Ve.apply(e,qe.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}var lt=function(e,t,n,r){var o,i,a,s,u,c,l,f,d,m;if((t?t.ownerDocument||t:_e)!==se&&ae(t),t=t||se,n=n||[],!e||"string"!=typeof e)return n;if(1!==(s=t.nodeType)&&9!==s)return[];if(ce&&!r){if(o=it.exec(e))if(a=o[1]){if(9===s){if(!(i=t.getElementById(a))||!i.parentNode)return n;if(i.id===a)return n.push(i),n}else if(t.ownerDocument&&(i=t.ownerDocument.getElementById(a))&&de(t,i)&&i.id===a)return n.push(i),n}else{if(o[2])return He.apply(n,t.getElementsByTagName(e)),n;if((a=o[3])&&G.getElementsByClassName)return He.apply(n,t.getElementsByClassName(a)),n}if(G.qsa&&(!le||!le.test(e))){if(f=l=Ae,d=t,m=9===s&&e,1===s&&"object"!==t.nodeName.toLowerCase()){for(c=ee(e),(l=t.getAttribute("id"))?f=l.replace(st,"\\$&"):t.setAttribute("id",f),f="[id='"+f+"'] ",u=c.length;u--;)c[u]=f+bt(c[u]);d=at.test(e)&&vt(t.parentNode)||t,m=c.join(",")}if(m)try{return He.apply(n,d.querySelectorAll(m)),n}catch(p){}finally{l||t.removeAttribute("id")}}}return ne(e.replace(Ye,"$1"),t,n,r)};function ft(){var e=[];return function t(n,r){return e.push(n+" ")>J.cacheLength&&delete t[e.shift()],t[n+" "]=r}}function dt(e){return e[Ae]=!0,e}function mt(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||Me)-(~e.sourceIndex||Me);if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function pt(e){return function(t){return"input"===t.nodeName.toLowerCase()&&t.type===e}}function gt(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function ht(e){return dt(function(t){return t=+t,dt(function(n,r){for(var o,i=e([],n.length,t),a=i.length;a--;)n[o=i[a]]&&(n[o]=!(r[o]=n[o]))})})}function vt(e){return e&&typeof e.getElementsByTagName!==Le&&e}for(Y in G=lt.support={},Z=lt.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},ae=lt.setDocument=function(e){var t,n=e?e.ownerDocument||e:_e,r=n.defaultView;return n!==se&&9===n.nodeType&&n.documentElement?(se=n,ue=n.documentElement,ce=!Z(n),r&&r!==function(e){try{return e.top}catch(t){}return null}(r)&&(r.addEventListener?r.addEventListener("unload",function(){ae()},!1):r.attachEvent&&r.attachEvent("onunload",function(){ae()})),G.attributes=!0,G.getElementsByTagName=!0,G.getElementsByClassName=ot.test(n.getElementsByClassName),G.getById=!0,J.find.ID=function(e,t){if(typeof t.getElementById!==Le&&ce){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},J.filter.ID=function(e){var t=e.replace(ut,ct);return function(e){return e.getAttribute("id")===t}},J.find.TAG=G.getElementsByTagName?function(e,t){if(typeof t.getElementsByTagName!==Le)return t.getElementsByTagName(e)}:function(e,t){var n,r=[],o=0,i=t.getElementsByTagName(e);if("*"===e){for(;n=i[o++];)1===n.nodeType&&r.push(n);return r}return i},J.find.CLASS=G.getElementsByClassName&&function(e,t){if(ce)return t.getElementsByClassName(e)},fe=[],le=[],G.disconnectedMatch=!0,le=le.length&&new RegExp(le.join("|")),fe=fe.length&&new RegExp(fe.join("|")),t=ot.test(ue.compareDocumentPosition),de=t||ot.test(ue.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},Ie=t?function(e,t){if(e===t)return ie=!0,0;var r=!e.compareDocumentPosition-!t.compareDocumentPosition;return r||(1&(r=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!G.sortDetached&&t.compareDocumentPosition(e)===r?e===n||e.ownerDocument===_e&&de(_e,e)?-1:t===n||t.ownerDocument===_e&&de(_e,t)?1:oe?je.call(oe,e)-je.call(oe,t):0:4&r?-1:1)}:function(e,t){if(e===t)return ie=!0,0;var r,o=0,i=e.parentNode,a=t.parentNode,s=[e],u=[t];if(!i||!a)return e===n?-1:t===n?1:i?-1:a?1:oe?je.call(oe,e)-je.call(oe,t):0;if(i===a)return mt(e,t);for(r=e;r=r.parentNode;)s.unshift(r);for(r=t;r=r.parentNode;)u.unshift(r);for(;s[o]===u[o];)o++;return o?mt(s[o],u[o]):s[o]===_e?-1:u[o]===_e?1:0},n):se},lt.matches=function(e,t){return lt(e,null,null,t)},lt.matchesSelector=function(e,t){if((e.ownerDocument||e)!==se&&ae(e),t=t.replace(Qe,"='$1']"),G.matchesSelector&&ce&&(!fe||!fe.test(t))&&(!le||!le.test(t)))try{var n=(void 0).call(e,t);if(n||G.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(yC){}return lt(t,se,null,[e]).length>0},lt.contains=function(e,t){return(e.ownerDocument||e)!==se&&ae(e),de(e,t)},lt.attr=function(e,t){(e.ownerDocument||e)!==se&&ae(e);var n=J.attrHandle[t.toLowerCase()],r=n&&Fe.call(J.attrHandle,t.toLowerCase())?n(e,t,!ce):undefined;return r!==undefined?r:G.attributes||!ce?e.getAttribute(t):(r=e.getAttributeNode(t))&&r.specified?r.value:null},lt.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},lt.uniqueSort=function(e){var t,n=[],r=0,o=0;if(ie=!G.detectDuplicates,oe=!G.sortStable&&e.slice(0),e.sort(Ie),ie){for(;t=e[o++];)t===e[o]&&(r=n.push(o));for(;r--;)e.splice(n[r],1)}return oe=null,e},Q=lt.getText=function(e){var t,n="",r=0,o=e.nodeType;if(o){if(1===o||9===o||11===o){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=Q(e)}else if(3===o||4===o)return e.nodeValue}else for(;t=e[r++];)n+=Q(t);return n},(J=lt.selectors={cacheLength:50,createPseudo:dt,match:tt,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(ut,ct),e[3]=(e[3]||e[4]||e[5]||"").replace(ut,ct),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||lt.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&<.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return tt.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&Ze.test(n)&&(t=ee(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(ut,ct).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=De[e+" "];return t||(t=new RegExp("(^|"+$e+")"+e+"("+$e+"|$)"))&&De(e,function(e){return t.test("string"==typeof e.className&&e.className||typeof e.getAttribute!==Le&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r){var o=lt.attr(r,e);return null==o?"!="===t:!t||(o+="","="===t?o===n:"!="===t?o!==n:"^="===t?n&&0===o.indexOf(n):"*="===t?n&&o.indexOf(n)>-1:"$="===t?n&&o.slice(-n.length)===n:"~="===t?(" "+o+" ").indexOf(n)>-1:"|="===t&&(o===n||o.slice(0,n.length+1)===n+"-"))}},CHILD:function(e,t,n,r,o){var i="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===o?function(e){return!!e.parentNode}:function(t,n,u){var c,l,f,d,m,p,g=i!==a?"nextSibling":"previousSibling",h=t.parentNode,v=s&&t.nodeName.toLowerCase(),y=!u&&!s;if(h){if(i){for(;g;){for(f=t;f=f[g];)if(s?f.nodeName.toLowerCase()===v:1===f.nodeType)return!1;p=g="only"===e&&!p&&"nextSibling"}return!0}if(p=[a?h.firstChild:h.lastChild],a&&y){for(m=(c=(l=h[Ae]||(h[Ae]={}))[e]||[])[0]===Be&&c[1],d=c[0]===Be&&c[2],f=m&&h.childNodes[m];f=++m&&f&&f[g]||(d=m=0)||p.pop();)if(1===f.nodeType&&++d&&f===t){l[e]=[Be,m,d];break}}else if(y&&(c=(t[Ae]||(t[Ae]={}))[e])&&c[0]===Be)d=c[1];else for(;(f=++m&&f&&f[g]||(d=m=0)||p.pop())&&((s?f.nodeName.toLowerCase()!==v:1!==f.nodeType)||!++d||(y&&((f[Ae]||(f[Ae]={}))[e]=[Be,d]),f!==t)););return(d-=o)===r||d%r==0&&d/r>=0}}},PSEUDO:function(e,t){var n,r=J.pseudos[e]||J.setFilters[e.toLowerCase()]||lt.error("unsupported pseudo: "+e);return r[Ae]?r(t):r.length>1?(n=[e,e,"",t],J.setFilters.hasOwnProperty(e.toLowerCase())?dt(function(e,n){for(var o,i=r(e,t),a=i.length;a--;)e[o=je.call(e,i[a])]=!(n[o]=i[a])}):function(e){return r(e,0,n)}):r}},pseudos:{not:dt(function(e){var t=[],n=[],r=te(e.replace(Ye,"$1"));return r[Ae]?dt(function(e,t,n,o){for(var i,a=r(e,null,o,[]),s=e.length;s--;)(i=a[s])&&(e[s]=!(t[s]=i))}):function(e,o,i){return t[0]=e,r(t,null,i,n),!n.pop()}}),has:dt(function(e){return function(t){return lt(e,t).length>0}}),contains:dt(function(e){return e=e.replace(ut,ct),function(t){return(t.textContent||t.innerText||Q(t)).indexOf(e)>-1}}),lang:dt(function(e){return et.test(e||"")||lt.error("unsupported lang: "+e),e=e.replace(ut,ct).toLowerCase(),function(t){var n;do{if(n=ce?t.lang:t.getAttribute("xml:lang")||t.getAttribute("lang"))return(n=n.toLowerCase())===e||0===n.indexOf(e+"-")}while((t=t.parentNode)&&1===t.nodeType);return!1}}),target:function(e){var t=window.location&&window.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===ue},focus:function(e){return e===se.activeElement&&(!se.hasFocus||se.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return!1===e.disabled},disabled:function(e){return!0===e.disabled},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!J.pseudos.empty(e)},header:function(e){return rt.test(e.nodeName)},input:function(e){return nt.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:ht(function(){return[0]}),last:ht(function(e,t){return[t-1]}),eq:ht(function(e,t,n){return[n<0?n+t:n]}),even:ht(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:ht(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:ht(function(e,t,n){for(var r=n<0?n+t:n;--r>=0;)e.push(r);return e}),gt:ht(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=J.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})J.pseudos[Y]=pt(Y);for(Y in{submit:!0,reset:!0})J.pseudos[Y]=gt(Y);function yt(){}function bt(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function Ct(e,t,n){var r=t.dir,o=n&&"parentNode"===r,i=Re++;return t.first?function(t,n,i){for(;t=t[r];)if(1===t.nodeType||o)return e(t,n,i)}:function(t,n,a){var s,u,c=[Be,i];if(a){for(;t=t[r];)if((1===t.nodeType||o)&&e(t,n,a))return!0}else for(;t=t[r];)if(1===t.nodeType||o){if((s=(u=t[Ae]||(t[Ae]={}))[r])&&s[0]===Be&&s[1]===i)return c[2]=s[2];if(u[r]=c,c[2]=e(t,n,a))return!0}}}function xt(e){return e.length>1?function(t,n,r){for(var o=e.length;o--;)if(!e[o](t,n,r))return!1;return!0}:e[0]}function wt(e,t,n,r,o){for(var i,a=[],s=0,u=e.length,c=null!=t;s<u;s++)(i=e[s])&&(n&&!n(i,r,o)||(a.push(i),c&&t.push(s)));return a}function Nt(e,t,n,r,o,i){return r&&!r[Ae]&&(r=Nt(r)),o&&!o[Ae]&&(o=Nt(o,i)),dt(function(i,a,s,u){var c,l,f,d=[],m=[],p=a.length,g=i||function(e,t,n){for(var r=0,o=t.length;r<o;r++)lt(e,t[r],n);return n}(t||"*",s.nodeType?[s]:s,[]),h=!e||!i&&t?g:wt(g,d,e,s,u),v=n?o||(i?e:p||r)?[]:a:h;if(n&&n(h,v,s,u),r)for(c=wt(v,m),r(c,[],s,u),l=c.length;l--;)(f=c[l])&&(v[m[l]]=!(h[m[l]]=f));if(i){if(o||e){if(o){for(c=[],l=v.length;l--;)(f=v[l])&&c.push(h[l]=f);o(null,v=[],c,u)}for(l=v.length;l--;)(f=v[l])&&(c=o?je.call(i,f):d[l])>-1&&(i[c]=!(a[c]=f))}}else v=wt(v===a?v.splice(p,v.length):v),o?o(null,a,v,u):He.apply(a,v)})}function Et(e){for(var t,n,r,o=e.length,i=J.relative[e[0].type],a=i||J.relative[" "],s=i?1:0,u=Ct(function(e){return e===t},a,!0),c=Ct(function(e){return je.call(t,e)>-1},a,!0),l=[function(e,n,r){return!i&&(r||n!==re)||((t=n).nodeType?u(e,n,r):c(e,n,r))}];s<o;s++)if(n=J.relative[e[s].type])l=[Ct(xt(l),n)];else{if((n=J.filter[e[s].type].apply(null,e[s].matches))[Ae]){for(r=++s;r<o&&!J.relative[e[r].type];r++);return Nt(s>1&&xt(l),s>1&&bt(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(Ye,"$1"),n,s<r&&Et(e.slice(s,r)),r<o&&Et(e=e.slice(r)),r<o&&bt(e))}l.push(n)}return xt(l)}yt.prototype=J.filters=J.pseudos,J.setFilters=new yt,ee=lt.tokenize=function(e,t){var n,r,o,i,a,s,u,c=Oe[e+" "];if(c)return t?0:c.slice(0);for(a=e,s=[],u=J.preFilter;a;){for(i in n&&!(r=Ge.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(o=[])),n=!1,(r=Je.exec(a))&&(n=r.shift(),o.push({value:n,type:r[0].replace(Ye," ")}),a=a.slice(n.length)),J.filter)!(r=tt[i].exec(a))||u[i]&&!(r=u[i](r))||(n=r.shift(),o.push({value:n,type:i,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?lt.error(e):Oe(e,s).slice(0)},te=lt.compile=function(e,t){var n,r,o,i,a,s,u=[],c=[],l=Pe[e+" "];if(!l){for(t||(t=ee(e)),n=t.length;n--;)(l=Et(t[n]))[Ae]?u.push(l):c.push(l);(l=Pe(e,(r=c,i=(o=u).length>0,a=r.length>0,s=function(e,t,n,s,u){var c,l,f,d=0,m="0",p=e&&[],g=[],h=re,v=e||a&&J.find.TAG("*",u),y=Be+=null==h?1:Math.random()||.1,b=v.length;for(u&&(re=t!==se&&t);m!==b&&null!=(c=v[m]);m++){if(a&&c){for(l=0;f=r[l++];)if(f(c,t,n)){s.push(c);break}u&&(Be=y)}i&&((c=!f&&c)&&d--,e&&p.push(c))}if(d+=m,i&&m!==d){for(l=0;f=o[l++];)f(p,g,t,n);if(e){if(d>0)for(;m--;)p[m]||g[m]||(g[m]=Ue.call(s));g=wt(g)}He.apply(s,g),u&&!e&&g.length>0&&d+o.length>1&<.uniqueSort(s)}return u&&(Be=y,re=h),p},i?dt(s):s))).selector=e}return l},ne=lt.select=function(e,t,n,r){var o,i,a,s,u,c="function"==typeof e&&e,l=!r&&ee(e=c.selector||e);if(n=n||[],1===l.length){if((i=l[0]=l[0].slice(0)).length>2&&"ID"===(a=i[0]).type&&G.getById&&9===t.nodeType&&ce&&J.relative[i[1].type]){if(!(t=(J.find.ID(a.matches[0].replace(ut,ct),t)||[])[0]))return n;c&&(t=t.parentNode),e=e.slice(i.shift().value.length)}for(o=tt.needsContext.test(e)?0:i.length;o--&&(a=i[o],!J.relative[s=a.type]);)if((u=J.find[s])&&(r=u(a.matches[0].replace(ut,ct),at.test(i[0].type)&&vt(t.parentNode)||t))){if(i.splice(o,1),!(e=r.length&&bt(i)))return He.apply(n,r),n;break}}return(c||te(e,l))(r,t,!ce,n,at.test(e)&&vt(t.parentNode)||t),n},G.sortStable=Ae.split("").sort(Ie).join("")===Ae,G.detectDuplicates=!!ie,ae(),G.sortDetached=!0;var St=Array.isArray||function(e){return"[object Array]"===Object.prototype.toString.call(e)},kt=function(e,t,n){var r,o;if(!e)return 0;if(n=n||e,e.length!==undefined){for(r=0,o=e.length;r<o;r++)if(!1===t.call(n,e[r],r,e))return 0}else for(r in e)if(e.hasOwnProperty(r)&&!1===t.call(n,e[r],r,e))return 0;return 1},Tt=function(e,t,n){var r,o;for(r=0,o=e.length;r<o;r++)if(t.call(n,e[r],r,e))return r;return-1},At={isArray:St,toArray:function(e){var t,n,r=e;if(!St(e))for(r=[],t=0,n=e.length;t<n;t++)r[t]=e[t];return r},each:kt,map:function(e,t){var n=[];return kt(e,function(r,o){n.push(t(r,o,e))}),n},filter:function(e,t){var n=[];return kt(e,function(r,o){t&&!t(r,o,e)||n.push(r)}),n},indexOf:function(e,t){var n,r;if(e)for(n=0,r=e.length;n<r;n++)if(e[n]===t)return n;return-1},reduce:function(e,t,n,r){var o=0;for(arguments.length<3&&(n=e[0]);o<e.length;o++)n=t.call(r,n,e[o],o);return n},findIndex:Tt,find:function(e,t,n){var r=Tt(e,t,n);return-1!==r?e[r]:undefined},last:function(e){return e[e.length-1]}},_t=/^\s*|\s*$/g,Bt=function(e){return null===e||e===undefined?"":(""+e).replace(_t,"")},Rt=function(e,t){return t?!("array"!==t||!At.isArray(e))||typeof e===t:e!==undefined},Dt=function(e,t,n,r){r=r||this,e&&(n&&(e=e[n]),At.each(e,function(e,o){if(!1===t.call(r,e,o,n))return!1;Dt(e,t,n,r)}))},Ot={trim:Bt,isArray:At.isArray,is:Rt,toArray:At.toArray,makeMap:function(e,t,n){var r;for(e=e||[],t=t||",","string"==typeof e&&(e=e.split(t)),n=n||{},r=e.length;r--;)n[e[r]]={};return n},each:At.each,map:At.map,grep:At.filter,inArray:At.indexOf,hasOwn:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},extend:function(e,t){for(var n,r,o,i=[],a=2;a<arguments.length;a++)i[a-2]=arguments[a];var s,u=arguments;for(n=1,r=u.length;n<r;n++)for(o in t=u[n])t.hasOwnProperty(o)&&(s=t[o])!==undefined&&(e[o]=s);return e},create:function(e,t,n){var r,o,i,a,s,u=this,c=0;if(e=/^((static) )?([\w.]+)(:([\w.]+))?/.exec(e),i=e[3].match(/(^|\.)(\w+)$/i)[2],!(o=u.createNS(e[3].replace(/\.\w+$/,""),n))[i]){if("static"===e[2])return o[i]=t,void(this.onCreate&&this.onCreate(e[2],e[3],o[i]));t[i]||(t[i]=function(){},c=1),o[i]=t[i],u.extend(o[i].prototype,t),e[5]&&(r=u.resolve(e[5]).prototype,a=e[5].match(/\.(\w+)$/i)[1],s=o[i],o[i]=c?function(){return r[a].apply(this,arguments)}:function(){return this.parent=r[a],s.apply(this,arguments)},o[i].prototype[i]=o[i],u.each(r,function(e,t){o[i].prototype[t]=r[t]}),u.each(t,function(e,t){r[t]?o[i].prototype[t]=function(){return this.parent=r[t],e.apply(this,arguments)}:t!==i&&(o[i].prototype[t]=e)})),u.each(t["static"],function(e,t){o[i][t]=e})}},walk:Dt,createNS:function(e,t){var n,r;for(t=t||window,e=e.split("."),n=0;n<e.length;n++)t[r=e[n]]||(t[r]={}),t=t[r];return t},resolve:function(e,t){var n,r;for(t=t||window,n=0,r=(e=e.split(".")).length;n<r&&(t=t[e[n]]);n++);return t},explode:function(e,t){return!e||Rt(e,"array")?e:At.map(e.split(t||","),Bt)},_addCacheSuffix:function(e){var t=me.cacheSuffix;return t&&(e+=(-1===e.indexOf("?")?"?":"&")+t),e}},Pt=document,It=Array.prototype.push,Lt=Array.prototype.slice,Mt=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,Ft=Te.Event,zt=Ot.makeMap("children,contents,next,prev"),Ut=function(e){return void 0!==e},Vt=function(e){return"string"==typeof e},Ht=function(e,t){var n,r,o;for(o=(t=t||Pt).createElement("div"),n=t.createDocumentFragment(),o.innerHTML=e;r=o.firstChild;)n.appendChild(r);return n},qt=function(e,t,n,r){var o;if(Vt(t))t=Ht(t,rn(e[0]));else if(t.length&&!t.nodeType){if(t=Qt.makeArray(t),r)for(o=t.length-1;o>=0;o--)qt(e,t[o],n,r);else for(o=0;o<t.length;o++)qt(e,t[o],n,r);return e}if(t.nodeType)for(o=e.length;o--;)n.call(e[o],t);return e},jt=function(e,t){return e&&t&&-1!==(" "+e.className+" ").indexOf(" "+t+" ")},$t=function(e,t,n){var r,o;return t=Qt(t)[0],e.each(function(){var e=this;n&&r===e.parentNode?o.appendChild(e):(r=e.parentNode,o=t.cloneNode(!1),e.parentNode.insertBefore(o,e),o.appendChild(e))}),e},Wt=Ot.makeMap("fillOpacity fontWeight lineHeight opacity orphans widows zIndex zoom"," "),Kt=Ot.makeMap("checked compact declare defer disabled ismap multiple nohref noshade nowrap readonly selected"," "),Xt={"for":"htmlFor","class":"className",readonly:"readOnly"},Yt={"float":"cssFloat"},Gt={},Jt={},Qt=function(e,t){return new Qt.fn.init(e,t)},Zt=/^\s*|\s*$/g,en=function(e){return null===e||e===undefined?"":(""+e).replace(Zt,"")},tn=function(e,t){var n,r,o,i;if(e)if((n=e.length)===undefined){for(r in e)if(e.hasOwnProperty(r)&&(i=e[r],!1===t.call(i,r,i)))break}else for(o=0;o<n&&(i=e[o],!1!==t.call(i,o,i));o++);return e},nn=function(e,t){var n=[];return tn(e,function(e,r){t(r,e)&&n.push(r)}),n},rn=function(e){return e?9===e.nodeType?e:e.ownerDocument:Pt};Qt.fn=Qt.prototype={constructor:Qt,selector:"",context:null,length:0,init:function(e,t){var n,r,o=this;if(!e)return o;if(e.nodeType)return o.context=o[0]=e,o.length=1,o;if(t&&t.nodeType)o.context=t;else{if(t)return Qt(e).attr(t);o.context=t=document}if(Vt(e)){if(o.selector=e,!(n="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:Mt.exec(e)))return Qt(t).find(e);if(n[1])for(r=Ht(e,rn(t)).firstChild;r;)It.call(o,r),r=r.nextSibling;else{if(!(r=rn(t).getElementById(n[2])))return o;if(r.id!==n[2])return o.find(e);o.length=1,o[0]=r}}else this.add(e,!1);return o},toArray:function(){return Ot.toArray(this)},add:function(e,t){var n,r,o=this;if(Vt(e))return o.add(Qt(e));if(!1!==t)for(n=Qt.unique(o.toArray().concat(Qt.makeArray(e))),o.length=n.length,r=0;r<n.length;r++)o[r]=n[r];else It.apply(o,Qt.makeArray(e));return o},attr:function(e,t){var n,r=this;if("object"==typeof e)tn(e,function(e,t){r.attr(e,t)});else{if(!Ut(t)){if(r[0]&&1===r[0].nodeType){if((n=Gt[e])&&n.get)return n.get(r[0],e);if(Kt[e])return r.prop(e)?e:undefined;null===(t=r[0].getAttribute(e,2))&&(t=undefined)}return t}this.each(function(){var n;if(1===this.nodeType){if((n=Gt[e])&&n.set)return void n.set(this,t);null===t?this.removeAttribute(e,2):this.setAttribute(e,t,2)}})}return r},removeAttr:function(e){return this.attr(e,null)},prop:function(e,t){var n=this;if("object"==typeof(e=Xt[e]||e))tn(e,function(e,t){n.prop(e,t)});else{if(!Ut(t))return n[0]&&n[0].nodeType&&e in n[0]?n[0][e]:t;this.each(function(){1===this.nodeType&&(this[e]=t)})}return n},css:function(e,t){var n,r,o=this,i=function(e){return e.replace(/-(\D)/g,function(e,t){return t.toUpperCase()})},a=function(e){return e.replace(/[A-Z]/g,function(e){return"-"+e})};if("object"==typeof e)tn(e,function(e,t){o.css(e,t)});else if(Ut(t))e=i(e),"number"!=typeof t||Wt[e]||(t=t.toString()+"px"),o.each(function(){var n=this.style;if((r=Jt[e])&&r.set)r.set(this,t);else{try{this.style[Yt[e]||e]=t}catch(o){}null!==t&&""!==t||(n.removeProperty?n.removeProperty(a(e)):n.removeAttribute(e))}});else{if(n=o[0],(r=Jt[e])&&r.get)return r.get(n);if(n.ownerDocument.defaultView)try{return n.ownerDocument.defaultView.getComputedStyle(n,null).getPropertyValue(a(e))}catch(s){return undefined}else if(n.currentStyle)return n.currentStyle[i(e)]}return o},remove:function(){for(var e,t=this.length;t--;)e=this[t],Ft.clean(e),e.parentNode&&e.parentNode.removeChild(e);return this},empty:function(){for(var e,t=this.length;t--;)for(e=this[t];e.firstChild;)e.removeChild(e.firstChild);return this},html:function(e){var t,n=this;if(Ut(e)){t=n.length;try{for(;t--;)n[t].innerHTML=e}catch(r){Qt(n[t]).empty().append(e)}return n}return n[0]?n[0].innerHTML:""},text:function(e){var t,n=this;if(Ut(e)){for(t=n.length;t--;)"innerText"in n[t]?n[t].innerText=e:n[0].textContent=e;return n}return n[0]?n[0].innerText||n[0].textContent:""},append:function(){return qt(this,arguments,function(e){(1===this.nodeType||this.host&&1===this.host.nodeType)&&this.appendChild(e)})},prepend:function(){return qt(this,arguments,function(e){(1===this.nodeType||this.host&&1===this.host.nodeType)&&this.insertBefore(e,this.firstChild)},!0)},before:function(){return this[0]&&this[0].parentNode?qt(this,arguments,function(e){this.parentNode.insertBefore(e,this)}):this},after:function(){return this[0]&&this[0].parentNode?qt(this,arguments,function(e){this.parentNode.insertBefore(e,this.nextSibling)},!0):this},appendTo:function(e){return Qt(e).append(this),this},prependTo:function(e){return Qt(e).prepend(this),this},replaceWith:function(e){return this.before(e).remove()},wrap:function(e){return $t(this,e)},wrapAll:function(e){return $t(this,e,!0)},wrapInner:function(e){return this.each(function(){Qt(this).contents().wrapAll(e)}),this},unwrap:function(){return this.parent().each(function(){Qt(this).replaceWith(this.childNodes)})},clone:function(){var e=[];return this.each(function(){e.push(this.cloneNode(!0))}),Qt(e)},addClass:function(e){return this.toggleClass(e,!0)},removeClass:function(e){return this.toggleClass(e,!1)},toggleClass:function(e,t){var n=this;return"string"!=typeof e?n:(-1!==e.indexOf(" ")?tn(e.split(" "),function(){n.toggleClass(this,t)}):n.each(function(n,r){var o,i;(i=jt(r,e))!==t&&(o=r.className,i?r.className=en((" "+o+" ").replace(" "+e+" "," ")):r.className+=o?" "+e:e)}),n)},hasClass:function(e){return jt(this[0],e)},each:function(e){return tn(this,e)},on:function(e,t){return this.each(function(){Ft.bind(this,e,t)})},off:function(e,t){return this.each(function(){Ft.unbind(this,e,t)})},trigger:function(e){return this.each(function(){"object"==typeof e?Ft.fire(this,e.type,e):Ft.fire(this,e)})},show:function(){return this.css("display","")},hide:function(){return this.css("display","none")},slice:function(){return new Qt(Lt.apply(this,arguments))},eq:function(e){return-1===e?this.slice(e):this.slice(e,+e+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},find:function(e){var t,n,r=[];for(t=0,n=this.length;t<n;t++)Qt.find(e,this[t],r);return Qt(r)},filter:function(e){return Qt("function"==typeof e?nn(this.toArray(),function(t,n){return e(n,t)}):Qt.filter(e,this.toArray()))},closest:function(e){var t=[];return e instanceof Qt&&(e=e[0]),this.each(function(n,r){for(;r;){if("string"==typeof e&&Qt(r).is(e)){t.push(r);break}if(r===e){t.push(r);break}r=r.parentNode}}),Qt(t)},offset:function(e){var t,n,r,o,i=0,a=0;return e?this.css(e):((t=this[0])&&(r=(n=t.ownerDocument).documentElement,t.getBoundingClientRect&&(i=(o=t.getBoundingClientRect()).left+(r.scrollLeft||n.body.scrollLeft)-r.clientLeft,a=o.top+(r.scrollTop||n.body.scrollTop)-r.clientTop)),{left:i,top:a})},push:It,sort:[].sort,splice:[].splice},Ot.extend(Qt,{extend:Ot.extend,makeArray:function(e){return(t=e)&&t===t.window||e.nodeType?[e]:Ot.toArray(e);var t},inArray:function(e,t){var n;if(t.indexOf)return t.indexOf(e);for(n=t.length;n--;)if(t[n]===e)return n;return-1},isArray:Ot.isArray,each:tn,trim:en,grep:nn,find:lt,expr:lt.selectors,unique:lt.uniqueSort,text:lt.getText,contains:lt.contains,filter:function(e,t,n){var r=t.length;for(n&&(e=":not("+e+")");r--;)1!==t[r].nodeType&&t.splice(r,1);return t=1===t.length?Qt.find.matchesSelector(t[0],e)?[t[0]]:[]:Qt.find.matches(e,t)}});var on=function(e,t,n){var r=[],o=e[t];for("string"!=typeof n&&n instanceof Qt&&(n=n[0]);o&&9!==o.nodeType;){if(n!==undefined){if(o===n)break;if("string"==typeof n&&Qt(o).is(n))break}1===o.nodeType&&r.push(o),o=o[t]}return r},an=function(e,t,n,r){var o=[];for(r instanceof Qt&&(r=r[0]);e;e=e[t])if(!n||e.nodeType===n){if(r!==undefined){if(e===r)break;if("string"==typeof r&&Qt(e).is(r))break}o.push(e)}return o},sn=function(e,t,n){for(e=e[t];e;e=e[t])if(e.nodeType===n)return e;return null};tn({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return on(e,"parentNode")},next:function(e){return sn(e,"nextSibling",1)},prev:function(e){return sn(e,"previousSibling",1)},children:function(e){return an(e.firstChild,"nextSibling",1)},contents:function(e){return Ot.toArray(("iframe"===e.nodeName?e.contentDocument||e.contentWindow.document:e).childNodes)}},function(e,t){Qt.fn[e]=function(n){var r=[];return this.each(function(){var e=t.call(r,this,n,r);e&&(Qt.isArray(e)?r.push.apply(r,e):r.push(e))}),this.length>1&&(zt[e]||(r=Qt.unique(r)),0===e.indexOf("parents")&&(r=r.reverse())),r=Qt(r),n?r.filter(n):r}}),tn({parentsUntil:function(e,t){return on(e,"parentNode",t)},nextUntil:function(e,t){return an(e,"nextSibling",1,t).slice(1)},prevUntil:function(e,t){return an(e,"previousSibling",1,t).slice(1)}},function(e,t){Qt.fn[e]=function(n,r){var o=[];return this.each(function(){var e=t.call(o,this,n,o);e&&(Qt.isArray(e)?o.push.apply(o,e):o.push(e))}),this.length>1&&(o=Qt.unique(o),0!==e.indexOf("parents")&&"prevUntil"!==e||(o=o.reverse())),o=Qt(o),r?o.filter(r):o}}),Qt.fn.is=function(e){return!!e&&this.filter(e).length>0},Qt.fn.init.prototype=Qt.fn,Qt.overrideDefaults=function(e){var t,n=function(r,o){return t=t||e(),0===arguments.length&&(r=t.element),o||(o=t.context),new n.fn.init(r,o)};return Qt.extend(n,this),n};var un=function(e,t,n){tn(n,function(n,r){e[n]=e[n]||{},e[n][t]=r})};me.ie&&me.ie<8&&(un(Gt,"get",{maxlength:function(e){var t=e.maxLength;return 2147483647===t?undefined:t},size:function(e){var t=e.size;return 20===t?undefined:t},"class":function(e){return e.className},style:function(e){var t=e.style.cssText;return 0===t.length?undefined:t}}),un(Gt,"set",{"class":function(e,t){e.className=t},style:function(e,t){e.style.cssText=t}})),me.ie&&me.ie<9&&(Yt["float"]="styleFloat",un(Jt,"set",{opacity:function(e,t){var n=e.style;null===t||""===t?n.removeAttribute("filter"):(n.zoom=1,n.filter="alpha(opacity="+100*t+")")}})),Qt.attrHooks=Gt,Qt.cssHooks=Jt;var cn,ln,fn,dn,mn=function(e){var t,n=!1;return function(){return n||(n=!0,t=e.apply(null,arguments)),t}},pn=function(e,t){var n=function(e,t){for(var n=0;n<e.length;n++){var r=e[n];if(r.test(t))return r}return undefined}(e,t);if(!n)return{major:0,minor:0};var r=function(e){return Number(t.replace(n,"$"+e))};return hn(r(1),r(2))},gn=function(){return hn(0,0)},hn=function(e,t){return{major:e,minor:t}},vn={nu:hn,detect:function(e,t){var n=String(t).toLowerCase();return 0===e.length?gn():pn(e,n)},unknown:gn},yn="Firefox",bn=function(e,t){return function(){return t===e}},Cn=function(e){var t=e.current;return{current:t,version:e.version,isEdge:bn("Edge",t),isChrome:bn("Chrome",t),isIE:bn("IE",t),isOpera:bn("Opera",t),isFirefox:bn(yn,t),isSafari:bn("Safari",t)}},xn={unknown:function(){return Cn({current:undefined,version:vn.unknown()})},nu:Cn,edge:y.constant("Edge"),chrome:y.constant("Chrome"),ie:y.constant("IE"),opera:y.constant("Opera"),firefox:y.constant(yn),safari:y.constant("Safari")},wn="Windows",Nn="Android",En="Solaris",Sn="FreeBSD",kn=function(e,t){return function(){return t===e}},Tn=function(e){var t=e.current;return{current:t,version:e.version,isWindows:kn(wn,t),isiOS:kn("iOS",t),isAndroid:kn(Nn,t),isOSX:kn("OSX",t),isLinux:kn("Linux",t),isSolaris:kn(En,t),isFreeBSD:kn(Sn,t)}},An={unknown:function(){return Tn({current:undefined,version:vn.unknown()})},nu:Tn,windows:y.constant(wn),ios:y.constant("iOS"),android:y.constant(Nn),linux:y.constant("Linux"),osx:y.constant("OSX"),solaris:y.constant(En),freebsd:y.constant(Sn)},_n=function(e,t){var n=String(t).toLowerCase();return M.find(e,function(e){return e.search(n)})},Bn=function(e,t){return _n(e,t).map(function(e){var n=vn.detect(e.versionRegexes,t);return{current:e.name,version:n}})},Rn=function(e,t){return _n(e,t).map(function(e){var n=vn.detect(e.versionRegexes,t);return{current:e.name,version:n}})},Dn=function(e,t){return-1!==e.indexOf(t)},On=function(e){return e.replace(/^\s+|\s+$/g,"")},Pn=/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,In=function(e){return function(t){return Dn(t,e)}},Ln=[{name:"Edge",versionRegexes:[/.*?edge\/ ?([0-9]+)\.([0-9]+)$/],search:function(e){return Dn(e,"edge/")&&Dn(e,"chrome")&&Dn(e,"safari")&&Dn(e,"applewebkit")}},{name:"Chrome",versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/,Pn],search:function(e){return Dn(e,"chrome")&&!Dn(e,"chromeframe")}},{name:"IE",versionRegexes:[/.*?msie\ ?([0-9]+)\.([0-9]+).*/,/.*?rv:([0-9]+)\.([0-9]+).*/],search:function(e){return Dn(e,"msie")||Dn(e,"trident")}},{name:"Opera",versionRegexes:[Pn,/.*?opera\/([0-9]+)\.([0-9]+).*/],search:In("opera")},{name:"Firefox",versionRegexes:[/.*?firefox\/\ ?([0-9]+)\.([0-9]+).*/],search:In("firefox")},{name:"Safari",versionRegexes:[Pn,/.*?cpu os ([0-9]+)_([0-9]+).*/],search:function(e){return(Dn(e,"safari")||Dn(e,"mobile/"))&&Dn(e,"applewebkit")}}],Mn=[{name:"Windows",search:In("win"),versionRegexes:[/.*?windows\ nt\ ?([0-9]+)\.([0-9]+).*/]},{name:"iOS",search:function(e){return Dn(e,"iphone")||Dn(e,"ipad")},versionRegexes:[/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,/.*cpu os ([0-9]+)_([0-9]+).*/,/.*cpu iphone os ([0-9]+)_([0-9]+).*/]},{name:"Android",search:In("android"),versionRegexes:[/.*?android\ ?([0-9]+)\.([0-9]+).*/]},{name:"OSX",search:In("os x"),versionRegexes:[/.*?os\ x\ ?([0-9]+)_([0-9]+).*/]},{name:"Linux",search:In("linux"),versionRegexes:[]},{name:"Solaris",search:In("sunos"),versionRegexes:[]},{name:"FreeBSD",search:In("freebsd"),versionRegexes:[]}],Fn={browsers:y.constant(Ln),oses:y.constant(Mn)},zn=function(e){var t,n,r,o,i,a,s,u,c,l,f,d=Fn.browsers(),m=Fn.oses(),p=Bn(d,e).fold(xn.unknown,xn.nu),g=Rn(m,e).fold(An.unknown,An.nu);return{browser:p,os:g,deviceType:(n=p,r=e,o=(t=g).isiOS()&&!0===/ipad/i.test(r),i=t.isiOS()&&!o,a=t.isAndroid()&&3===t.version.major,s=t.isAndroid()&&4===t.version.major,u=o||a||s&&!0===/mobile/i.test(r),c=t.isiOS()||t.isAndroid(),l=c&&!u,f=n.isSafari()&&t.isiOS()&&!1===/safari/i.test(r),{isiPad:y.constant(o),isiPhone:y.constant(i),isTablet:y.constant(u),isPhone:y.constant(l),isTouch:y.constant(c),isAndroid:t.isAndroid,isiOS:t.isiOS,isWebView:y.constant(f)})}},Un={detect:mn(function(){var e=navigator.userAgent;return zn(e)})},Vn=function(e){if(null===e||e===undefined)throw new Error("Node cannot be null or undefined");return{dom:y.constant(e)}},Hn={fromHtml:function(e,t){var n=(t||document).createElement("div");if(n.innerHTML=e,!n.hasChildNodes()||n.childNodes.length>1)throw console.error("HTML does not have a single root node",e),"HTML must have a single root node";return Vn(n.childNodes[0])},fromTag:function(e,t){var n=(t||document).createElement(e);return Vn(n)},fromText:function(e,t){var n=(t||document).createTextNode(e);return Vn(n)},fromDom:Vn,fromPoint:function(e,t,n){return E.from(e.dom().elementFromPoint(t,n)).map(Vn)}},qn=8,jn=9,$n=1,Wn=3,Kn=function(e){return e.dom().nodeName.toLowerCase()},Xn=function(e){return e.dom().nodeType},Yn=function(e){return function(t){return Xn(t)===e}},Gn=Yn($n),Jn=Yn(Wn),Qn=Yn(jn),Zn={name:Kn,type:Xn,value:function(e){return e.dom().nodeValue},isElement:Gn,isText:Jn,isDocument:Qn,isComment:function(e){return Xn(e)===qn||"#comment"===Kn(e)}},er=function(e){return function(t){return function(e){if(null===e)return"null";var t=typeof e;return"object"===t&&Array.prototype.isPrototypeOf(e)?"array":"object"===t&&String.prototype.isPrototypeOf(e)?"string":t}(t)===e}},tr={isString:er("string"),isObject:er("object"),isArray:er("array"),isNull:er("null"),isBoolean:er("boolean"),isUndefined:er("undefined"),isFunction:er("function"),isNumber:er("number")},nr=(cn=Object.keys)===undefined?function(e){var t=[];for(var n in e)e.hasOwnProperty(n)&&t.push(n);return t}:cn,rr=function(e,t){for(var n=nr(e),r=0,o=n.length;r<o;r++){var i=n[r];t(e[i],i,e)}},or=function(e,t){var n={};return rr(e,function(r,o){var i=t(r,o,e);n[i.k]=i.v}),n},ir=function(e,t){var n=[];return rr(e,function(e,r){n.push(t(e,r))}),n},ar=function(e){return ir(e,function(e){return e})},sr={bifilter:function(e,t){var n={},r={};return rr(e,function(e,o){(t(e,o)?n:r)[o]=e}),{t:n,f:r}},each:rr,map:function(e,t){return or(e,function(e,n,r){return{k:n,v:t(e,n,r)}})},mapToArray:ir,tupleMap:or,find:function(e,t){for(var n=nr(e),r=0,o=n.length;r<o;r++){var i=n[r],a=e[i];if(t(a,i,e))return E.some(a)}return E.none()},keys:nr,values:ar,size:function(e){return ar(e).length}},ur=function(e,t,n){if(!(tr.isString(n)||tr.isBoolean(n)||tr.isNumber(n)))throw console.error("Invalid call to Attr.set. Key ",t,":: Value ",n,":: Element ",e),new Error("Attribute value was not simple");e.setAttribute(t,n+"")},cr=function(e,t,n){ur(e.dom(),t,n)},lr=function(e,t){var n=e.dom().getAttribute(t);return null===n?undefined:n},fr=function(e,t){var n=e.dom();return!(!n||!n.hasAttribute)&&n.hasAttribute(t)},dr={clone:function(e){return M.foldl(e.dom().attributes,function(e,t){return e[t.name]=t.value,e},{})},set:cr,setAll:function(e,t){var n=e.dom();sr.each(t,function(e,t){ur(n,t,e)})},get:lr,has:fr,remove:function(e,t){e.dom().removeAttribute(t)},hasNone:function(e){var t=e.dom().attributes;return t===undefined||null===t||0===t.length},transfer:function(e,t,n){Zn.isElement(e)&&Zn.isElement(t)&&M.each(n,function(n){var r,o,i;o=t,fr(r=e,i=n)&&!fr(o,i)&&cr(o,i,lr(r,i))})}},mr=mn(function(){return pr(Hn.fromDom(document))}),pr=function(e){var t=e.dom().body;if(null===t||t===undefined)throw"Body is not available yet";return Hn.fromDom(t)},gr={body:mr,getBody:pr,inBody:function(e){var t=Zn.isText(e)?e.dom().parentNode:e.dom();return t!==undefined&&null!==t&&t.ownerDocument.body.contains(t)}},hr=function(e){return e.style!==undefined},vr=function(e,t,n){if(!tr.isString(n))throw console.error("Invalid call to CSS.set. Property ",t,":: Value ",n,":: Element ",e),new Error("CSS value must be a string: "+n);hr(e)&&e.style.setProperty(t,n)},yr=function(e,t){return hr(e)?e.style.getPropertyValue(t):""},br=function(e,t){var n=e.dom();sr.each(t,function(e,t){vr(n,t,e)})},Cr=function(e,t){var n=e.dom(),r=window.getComputedStyle(n).getPropertyValue(t),o=""!==r||gr.inBody(e)?r:yr(n,t);return null===o?undefined:o},xr=function(){var e=arguments;return function(){for(var t=new Array(arguments.length),n=0;n<t.length;n++)t[n]=arguments[n];if(e.length!==t.length)throw new Error('Wrong number of arguments to struct. Expected "['+e.length+']", got '+t.length+" arguments");var r={};return M.each(e,function(e,n){r[e]=y.constant(t[n])}),r}},wr=function(e,t){var n=[],r=function(e){return n.push(e),t(e)},o=t(e);do{o=o.bind(r)}while(o.isSome());return n},Nr=function(){return V("Node")},Er=function(e,t,n){return 0!=(e.compareDocumentPosition(t)&n)},Sr=function(e,t){return Er(e,t,Nr().DOCUMENT_POSITION_CONTAINED_BY)},kr=$n,Tr=jn,Ar=function(e){return e.nodeType!==kr&&e.nodeType!==Tr||0===e.childElementCount},_r={all:function(e,t){var n=t===undefined?document:t.dom();return Ar(n)?[]:M.map(n.querySelectorAll(e),Hn.fromDom)},is:function(e,t){var n=e.dom();if(n.nodeType!==kr)return!1;if(n.matches!==undefined)return n.matches(t);if(n.msMatchesSelector!==undefined)return n.msMatchesSelector(t);if(n.webkitMatchesSelector!==undefined)return n.webkitMatchesSelector(t);if(n.mozMatchesSelector!==undefined)return n.mozMatchesSelector(t);throw new Error("Browser lacks native selectors")},one:function(e,t){var n=t===undefined?document:t.dom();return Ar(n)?E.none():E.from(n.querySelector(e)).map(Hn.fromDom)}},Br=function(e,t){return e.dom()===t.dom()},Rr=Un.detect().browser.isIE()?function(e,t){return Sr(e.dom(),t.dom())}:function(e,t){var n=e.dom(),r=t.dom();return n!==r&&n.contains(r)},Dr={eq:Br,isEqualNode:function(e,t){return e.dom().isEqualNode(t.dom())},member:function(e,t){return M.exists(t,y.curry(Br,e))},contains:Rr,is:_r.is},Or=function(e){return Hn.fromDom(e.dom().ownerDocument)},Pr=function(e){var t=e.dom();return E.from(t.parentNode).map(Hn.fromDom)},Ir=function(e){var t=e.dom();return E.from(t.previousSibling).map(Hn.fromDom)},Lr=function(e){var t=e.dom();return E.from(t.nextSibling).map(Hn.fromDom)},Mr=function(e){var t=e.dom();return M.map(t.childNodes,Hn.fromDom)},Fr=function(e,t){var n=e.dom().childNodes;return E.from(n[t]).map(Hn.fromDom)},zr=xr("element","offset"),Ur={owner:Or,defaultView:function(e){var t=e.dom().ownerDocument.defaultView;return Hn.fromDom(t)},documentElement:function(e){var t=Or(e);return Hn.fromDom(t.dom().documentElement)},parent:Pr,findIndex:function(e){return Pr(e).bind(function(t){var n=Mr(t);return M.findIndex(n,function(t){return Dr.eq(e,t)})})},parents:function(e,t){for(var n=tr.isFunction(t)?t:y.constant(!1),r=e.dom(),o=[];null!==r.parentNode&&r.parentNode!==undefined;){var i=r.parentNode,a=Hn.fromDom(i);if(o.push(a),!0===n(a))break;r=i}return o},siblings:function(e){return Pr(e).map(Mr).map(function(t){return M.filter(t,function(t){return!Dr.eq(e,t)})}).getOr([])},prevSibling:Ir,offsetParent:function(e){var t=e.dom();return E.from(t.offsetParent).map(Hn.fromDom)},prevSiblings:function(e){return M.reverse(wr(e,Ir))},nextSibling:Lr,nextSiblings:function(e){return wr(e,Lr)},children:Mr,child:Fr,firstChild:function(e){return Fr(e,0)},lastChild:function(e){return Fr(e,e.dom().childNodes.length-1)},childNodesCount:function(e){return e.dom().childNodes.length},hasChildNodes:function(e){return e.dom().hasChildNodes()},leaf:function(e,t){var n=Mr(e);return n.length>0&&t<n.length?zr(n[t],0):zr(e,t)}},Vr=Un.detect().browser,Hr=function(e){return M.find(e,Zn.isElement)},qr=function(e,t,n){var r,o,i,a=0,s=0,u=e.ownerDocument;if(n=n||e,t){if(n===e&&t.getBoundingClientRect&&"static"===Cr(Hn.fromDom(e),"position"))return{x:a=(o=t.getBoundingClientRect()).left+(u.documentElement.scrollLeft||e.scrollLeft)-u.documentElement.clientLeft,y:s=o.top+(u.documentElement.scrollTop||e.scrollTop)-u.documentElement.clientTop};for(r=t;r&&r!==n&&r.nodeType;)a+=r.offsetLeft||0,s+=r.offsetTop||0,r=r.offsetParent;for(r=t.parentNode;r&&r!==n&&r.nodeType;)a-=r.scrollLeft||0,s-=r.scrollTop||0,r=r.parentNode;s+=(i=Hn.fromDom(t),Vr.isFirefox()&&"table"===Zn.name(i)?Hr(Ur.children(i)).filter(function(e){return"caption"===Zn.name(e)}).bind(function(e){return Hr(Ur.nextSiblings(e)).map(function(t){var n=t.dom().offsetTop,r=e.dom().offsetTop,o=e.dom().offsetHeight;return n<=r?-o:0})}).getOr(0):0)}return{x:a,y:s}},jr=function(e){var t=E.none(),n=[],r=function(e){o()?a(e):n.push(e)},o=function(){return t.isSome()},i=function(e){M.each(e,a)},a=function(e){t.each(function(t){setTimeout(function(){e(t)},0)})};return e(function(e){t=E.some(e),i(n),n=[]}),{get:r,map:function(e){return jr(function(t){r(function(n){t(e(n))})})},isReady:o}},$r={nu:jr,pure:function(e){return jr(function(t){t(e)})}},Wr=function(e){return function(){var t=Array.prototype.slice.call(arguments),n=this;setTimeout(function(){e.apply(n,t)},0)}},Kr=function(e){var t=function(t){e(Wr(t))};return{map:function(e){return Kr(function(n){t(function(t){var r=e(t);n(r)})})},bind:function(e){return Kr(function(n){t(function(t){e(t).get(n)})})},anonBind:function(e){return Kr(function(n){t(function(t){e.get(n)})})},toLazy:function(){return $r.nu(t)},get:t}},Xr={nu:Kr,pure:function(e){return Kr(function(t){t(e)})}},Yr=function(e,t){return t(function(t){var n=[],r=0;0===e.length?t([]):M.each(e,function(o,i){var a;o.get((a=i,function(o){n[a]=o,++r>=e.length&&t(n)}))})})},Gr=function(e){return Yr(e,Xr.nu)},Jr=Gr,Qr=function(e){return{is:function(t){return e===t},isValue:y.constant(!0),isError:y.constant(!1),getOr:y.constant(e),getOrThunk:y.constant(e),getOrDie:y.constant(e),or:function(t){return Qr(e)},orThunk:function(t){return Qr(e)},fold:function(t,n){return n(e)},map:function(t){return Qr(t(e))},each:function(t){t(e)},bind:function(t){return t(e)},exists:function(t){return t(e)},forall:function(t){return t(e)},toOption:function(){return E.some(e)}}},Zr=function(e){return{is:y.constant(!1),isValue:y.constant(!1),isError:y.constant(!0),getOr:y.identity,getOrThunk:function(e){return e()},getOrDie:function(){return y.die(e)()},or:function(e){return e},orThunk:function(e){return e()},fold:function(t,n){return t(e)},map:function(t){return Zr(e)},each:y.noop,bind:function(t){return Zr(e)},exists:y.constant(!1),forall:y.constant(!0),toOption:E.none}},eo={value:Qr,error:Zr},to=function(e,t){var n=e,r=function(e,n,r,o){var i,a;if(e){if(!o&&e[n])return e[n];if(e!==t){if(i=e[r])return i;for(a=e.parentNode;a&&a!==t;a=a.parentNode)if(i=a[r])return i}}};this.current=function(){return n},this.next=function(e){return n=r(n,"firstChild","nextSibling",e)},this.prev=function(e){return n=r(n,"lastChild","previousSibling",e)},this.prev2=function(e){return n=function(e,n,r,o){var i,a,s;if(e){if(i=e[r],t&&i===t)return;if(i){if(!o)for(s=i[n];s;s=s[n])if(!s[n])return s;return i}if((a=e.parentNode)&&a!==t)return a}}(n,"lastChild","previousSibling",e)}},no=function(e){var t;return function(n){return(t=t||M.mapToObject(e,y.constant(!0))).hasOwnProperty(Zn.name(n))}},ro=no(["h1","h2","h3","h4","h5","h6"]),oo=no(["article","aside","details","div","dt","figcaption","footer","form","fieldset","header","hgroup","html","main","nav","section","summary","body","p","dl","multicol","dd","figure","address","center","blockquote","h1","h2","h3","h4","h5","h6","listing","xmp","pre","plaintext","menu","dir","ul","ol","li","hr","table","tbody","thead","tfoot","th","tr","td","caption"]),io={isBlock:oo,isInline:function(e){return Zn.isElement(e)&&!oo(e)},isHeading:ro,isTextBlock:no(["h1","h2","h3","h4","h5","h6","p","div","address","pre","form","blockquote","center","dir","fieldset","header","footer","article","section","hgroup","aside","nav","figure"]),isList:no(["ul","ol","dl"]),isListItem:no(["li","dd","dt"]),isVoid:no(["area","base","basefont","br","col","frame","hr","img","input","isindex","link","meta","param","embed","source","wbr","track"]),isTableSection:no(["thead","tbody","tfoot"]),isTableCell:no(["td","th"]),isBr:function(e){return Zn.isElement(e)&&"br"===Zn.name(e)}},ao=function(e){return function(t){return!!t&&t.nodeType===e}},so=ao(1),uo=function(e){var t=e.toLowerCase().split(" ");return function(e){var n,r;if(e&&e.nodeType)for(r=e.nodeName.toLowerCase(),n=0;n<t.length;n++)if(r===t[n])return!0;return!1}},co=function(e){return function(t){if(so(t)){if(t.contentEditable===e)return!0;if(t.getAttribute("data-mce-contenteditable")===e)return!0}return!1}},lo=ao(3),fo=ao(8),mo=ao(9),po=uo("br"),go=co("true"),ho=co("false"),vo={isText:lo,isElement:so,isComment:fo,isDocument:mo,isBr:po,isContentEditableTrue:go,isContentEditableFalse:ho,matchNodeNames:uo,hasPropValue:function(e,t){return function(n){return so(n)&&n[e]===t}},hasAttribute:function(e,t){return function(t){return so(t)&&t.hasAttribute(e)}},hasAttributeValue:function(e,t){return function(n){return so(n)&&n.getAttribute(e)===t}},matchStyleValues:function(e,t){var n=t.toLowerCase().split(" ");return function(t){var r;if(so(t))for(r=0;r<n.length;r++)if(t.ownerDocument.defaultView.getComputedStyle(t,null).getPropertyValue(e)===n[r])return!0;return!1}},isBogus:function(e){return so(e)&&e.hasAttribute("data-mce-bogus")}},yo=function(e){return e&&"SPAN"===e.tagName&&"bookmark"===e.getAttribute("data-mce-type")},bo=function(e,t){var n,r=t.childNodes;if(!vo.isElement(t)||!yo(t)){for(n=r.length-1;n>=0;n--)bo(e,r[n]);if(!1===vo.isDocument(t)){if(vo.isText(t)&&t.nodeValue.length>0){var o=Ot.trim(t.nodeValue).length;if(e.isBlock(t.parentNode)||o>0)return;if(0===o&&(a=(i=t).previousSibling&&"SPAN"===i.previousSibling.nodeName,s=i.nextSibling&&"SPAN"===i.nextSibling.nodeName,a&&s))return}else if(vo.isElement(t)&&(1===(r=t.childNodes).length&&yo(r[0])&&t.parentNode.insertBefore(r[0],t),r.length||io.isVoid(Hn.fromDom(t))))return;e.remove(t)}var i,a,s;return t}},Co={trimNode:bo},xo=Ot.makeMap,wo=/[&<>\"\u0060\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,No=/[<>&\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Eo=/[<>&\"\']/g,So=/&#([a-z0-9]+);?|&([a-z0-9]+);/gi,ko={128:"\u20ac",130:"\u201a",131:"\u0192",132:"\u201e",133:"\u2026",134:"\u2020",135:"\u2021",136:"\u02c6",137:"\u2030",138:"\u0160",139:"\u2039",140:"\u0152",142:"\u017d",145:"\u2018",146:"\u2019",147:"\u201c",148:"\u201d",149:"\u2022",150:"\u2013",151:"\u2014",152:"\u02dc",153:"\u2122",154:"\u0161",155:"\u203a",156:"\u0153",158:"\u017e",159:"\u0178"};fn={'"':""","'":"'","<":"<",">":">","&":"&","`":"`"},dn={"<":"<",">":">","&":"&",""":'"',"'":"'"};var To=function(e,t){var n,r,o,i={};if(e){for(e=e.split(","),t=t||10,n=0;n<e.length;n+=2)r=String.fromCharCode(parseInt(e[n],t)),fn[r]||(o="&"+e[n+1]+";",i[r]=o,i[o]=r);return i}};ln=To("50,nbsp,51,iexcl,52,cent,53,pound,54,curren,55,yen,56,brvbar,57,sect,58,uml,59,copy,5a,ordf,5b,laquo,5c,not,5d,shy,5e,reg,5f,macr,5g,deg,5h,plusmn,5i,sup2,5j,sup3,5k,acute,5l,micro,5m,para,5n,middot,5o,cedil,5p,sup1,5q,ordm,5r,raquo,5s,frac14,5t,frac12,5u,frac34,5v,iquest,60,Agrave,61,Aacute,62,Acirc,63,Atilde,64,Auml,65,Aring,66,AElig,67,Ccedil,68,Egrave,69,Eacute,6a,Ecirc,6b,Euml,6c,Igrave,6d,Iacute,6e,Icirc,6f,Iuml,6g,ETH,6h,Ntilde,6i,Ograve,6j,Oacute,6k,Ocirc,6l,Otilde,6m,Ouml,6n,times,6o,Oslash,6p,Ugrave,6q,Uacute,6r,Ucirc,6s,Uuml,6t,Yacute,6u,THORN,6v,szlig,70,agrave,71,aacute,72,acirc,73,atilde,74,auml,75,aring,76,aelig,77,ccedil,78,egrave,79,eacute,7a,ecirc,7b,euml,7c,igrave,7d,iacute,7e,icirc,7f,iuml,7g,eth,7h,ntilde,7i,ograve,7j,oacute,7k,ocirc,7l,otilde,7m,ouml,7n,divide,7o,oslash,7p,ugrave,7q,uacute,7r,ucirc,7s,uuml,7t,yacute,7u,thorn,7v,yuml,ci,fnof,sh,Alpha,si,Beta,sj,Gamma,sk,Delta,sl,Epsilon,sm,Zeta,sn,Eta,so,Theta,sp,Iota,sq,Kappa,sr,Lambda,ss,Mu,st,Nu,su,Xi,sv,Omicron,t0,Pi,t1,Rho,t3,Sigma,t4,Tau,t5,Upsilon,t6,Phi,t7,Chi,t8,Psi,t9,Omega,th,alpha,ti,beta,tj,gamma,tk,delta,tl,epsilon,tm,zeta,tn,eta,to,theta,tp,iota,tq,kappa,tr,lambda,ts,mu,tt,nu,tu,xi,tv,omicron,u0,pi,u1,rho,u2,sigmaf,u3,sigma,u4,tau,u5,upsilon,u6,phi,u7,chi,u8,psi,u9,omega,uh,thetasym,ui,upsih,um,piv,812,bull,816,hellip,81i,prime,81j,Prime,81u,oline,824,frasl,88o,weierp,88h,image,88s,real,892,trade,89l,alefsym,8cg,larr,8ch,uarr,8ci,rarr,8cj,darr,8ck,harr,8dl,crarr,8eg,lArr,8eh,uArr,8ei,rArr,8ej,dArr,8ek,hArr,8g0,forall,8g2,part,8g3,exist,8g5,empty,8g7,nabla,8g8,isin,8g9,notin,8gb,ni,8gf,prod,8gh,sum,8gi,minus,8gn,lowast,8gq,radic,8gt,prop,8gu,infin,8h0,ang,8h7,and,8h8,or,8h9,cap,8ha,cup,8hb,int,8hk,there4,8hs,sim,8i5,cong,8i8,asymp,8j0,ne,8j1,equiv,8j4,le,8j5,ge,8k2,sub,8k3,sup,8k4,nsub,8k6,sube,8k7,supe,8kl,oplus,8kn,otimes,8l5,perp,8m5,sdot,8o8,lceil,8o9,rceil,8oa,lfloor,8ob,rfloor,8p9,lang,8pa,rang,9ea,loz,9j0,spades,9j3,clubs,9j5,hearts,9j6,diams,ai,OElig,aj,oelig,b0,Scaron,b1,scaron,bo,Yuml,m6,circ,ms,tilde,802,ensp,803,emsp,809,thinsp,80c,zwnj,80d,zwj,80e,lrm,80f,rlm,80j,ndash,80k,mdash,80o,lsquo,80p,rsquo,80q,sbquo,80s,ldquo,80t,rdquo,80u,bdquo,810,dagger,811,Dagger,81g,permil,81p,lsaquo,81q,rsaquo,85c,euro",32);var Ao={encodeRaw:function(e,t){return e.replace(t?wo:No,function(e){return fn[e]||e})},encodeAllRaw:function(e){return(""+e).replace(Eo,function(e){return fn[e]||e})},encodeNumeric:function(e,t){return e.replace(t?wo:No,function(e){return e.length>1?"&#"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+";":fn[e]||"&#"+e.charCodeAt(0)+";"})},encodeNamed:function(e,t,n){return n=n||ln,e.replace(t?wo:No,function(e){return fn[e]||n[e]||e})},getEncodeFunc:function(e,t){return t=To(t)||ln,(e=xo(e.replace(/\+/g,","))).named&&e.numeric?function(e,n){return e.replace(n?wo:No,function(e){return fn[e]!==undefined?fn[e]:t[e]!==undefined?t[e]:e.length>1?"&#"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+";":"&#"+e.charCodeAt(0)+";"})}:e.named?t?function(e,n){return Ao.encodeNamed(e,n,t)}:Ao.encodeNamed:e.numeric?Ao.encodeNumeric:Ao.encodeRaw},decode:function(e){return e.replace(So,function(e,t){return t?(t="x"===t.charAt(0).toLowerCase()?parseInt(t.substr(1),16):parseInt(t,10))>65535?(t-=65536,String.fromCharCode(55296+(t>>10),56320+(1023&t))):ko[t]||String.fromCharCode(t):dn[e]||ln[e]||(n=e,(r=Hn.fromTag("div").dom()).innerHTML=n,r.textContent||r.innerText||n);var n,r})}},_o={},Bo={},Ro=Ot.makeMap,Do=Ot.each,Oo=Ot.extend,Po=Ot.explode,Io=Ot.inArray,Lo=function(e,t){return(e=Ot.trim(e))?e.split(t||" "):[]},Mo=function(e,t){var n;return e&&(n={},"string"==typeof e&&(e={"*":e}),Do(e,function(e,r){n[r]=n[r.toUpperCase()]="map"===t?Ro(e,/[, ]/):Po(e,/[, ]/)})),n},Fo=function(e){var t,n,r,o,i,a,s,u,c,l,f,d,m,p,g,h,v,y,b,C,x,w,N,E={},S={},k={},T=[],A={},_={},B=function(t,n,r){var o=e[t];return o?o=Ro(o,/[, ]/,Ro(o.toUpperCase(),/[, ]/)):(o=_o[t])||(o=Ro(n," ",Ro(n.toUpperCase()," ")),o=Oo(o,r),_o[t]=o),o};p=(e=e||{}).schema,x={},w=function(e,t,n){var r,o,i,a=function(e,t){var n,r,o={};for(n=0,r=e.length;n<r;n++)o[e[n]]=t||{};return o};for(n=n||[],t=t||"","string"==typeof n&&(n=Lo(n)),r=(e=Lo(e)).length;r--;)i={attributes:a(o=Lo([g,t].join(" "))),attributesOrder:o,children:a(n,Bo)},x[e[r]]=i},N=function(e,t){var n,r,o,i;for(n=(e=Lo(e)).length,t=Lo(t);n--;)for(r=x[e[n]],o=0,i=t.length;o<i;o++)r.attributes[t[o]]={},r.attributesOrder.push(t[o])},r=_o[p]?_o[p]:(g="id accesskey class dir lang style tabindex title role",h="address blockquote div dl fieldset form h1 h2 h3 h4 h5 h6 hr menu ol p pre table ul",v="a abbr b bdo br button cite code del dfn em embed i iframe img input ins kbd label map noscript object q s samp script select small span strong sub sup textarea u var #text #comment","html4"!==p&&(g+=" contenteditable contextmenu draggable dropzone hidden spellcheck translate",h+=" article aside details dialog figure header footer hgroup section nav",v+=" audio canvas command datalist mark meter output picture progress time wbr video ruby bdi keygen"),"html5-strict"!==p&&(g+=" xml:lang",v=[v,C="acronym applet basefont big font strike tt"].join(" "),Do(Lo(C),function(e){w(e,"",v)}),h=[h,b="center dir isindex noframes"].join(" "),y=[h,v].join(" "),Do(Lo(b),function(e){w(e,"",y)})),y=y||[h,v].join(" "),w("html","manifest","head body"),w("head","","base command link meta noscript script style title"),w("title hr noscript br"),w("base","href target"),w("link","href rel media hreflang type sizes hreflang"),w("meta","name http-equiv content charset"),w("style","media type scoped"),w("script","src async defer type charset"),w("body","onafterprint onbeforeprint onbeforeunload onblur onerror onfocus onhashchange onload onmessage onoffline ononline onpagehide onpageshow onpopstate onresize onscroll onstorage onunload",y),w("address dt dd div caption","",y),w("h1 h2 h3 h4 h5 h6 pre p abbr code var samp kbd sub sup i b u bdo span legend em strong small s cite dfn","",v),w("blockquote","cite",y),w("ol","reversed start type","li"),w("ul","","li"),w("li","value",y),w("dl","","dt dd"),w("a","href target rel media hreflang type",v),w("q","cite",v),w("ins del","cite datetime",y),w("img","src sizes srcset alt usemap ismap width height"),w("iframe","src name width height",y),w("embed","src type width height"),w("object","data type typemustmatch name usemap form width height",[y,"param"].join(" ")),w("param","name value"),w("map","name",[y,"area"].join(" ")),w("area","alt coords shape href target rel media hreflang type"),w("table","border","caption colgroup thead tfoot tbody tr"+("html4"===p?" col":"")),w("colgroup","span","col"),w("col","span"),w("tbody thead tfoot","","tr"),w("tr","","td th"),w("td","colspan rowspan headers",y),w("th","colspan rowspan headers scope abbr",y),w("form","accept-charset action autocomplete enctype method name novalidate target",y),w("fieldset","disabled form name",[y,"legend"].join(" ")),w("label","form for",v),w("input","accept alt autocomplete checked dirname disabled form formaction formenctype formmethod formnovalidate formtarget height list max maxlength min multiple name pattern readonly required size src step type value width"),w("button","disabled form formaction formenctype formmethod formnovalidate formtarget name type value","html4"===p?y:v),w("select","disabled form multiple name required size","option optgroup"),w("optgroup","disabled label","option"),w("option","disabled label selected value"),w("textarea","cols dirname disabled form maxlength name readonly required rows wrap"),w("menu","type label",[y,"li"].join(" ")),w("noscript","",y),"html4"!==p&&(w("wbr"),w("ruby","",[v,"rt rp"].join(" ")),w("figcaption","",y),w("mark rt rp summary bdi","",v),w("canvas","width height",y),w("video","src crossorigin poster preload autoplay mediagroup loop muted controls width height buffered",[y,"track source"].join(" ")),w("audio","src crossorigin preload autoplay mediagroup loop muted controls buffered volume",[y,"track source"].join(" ")),w("picture","","img source"),w("source","src srcset type media sizes"),w("track","kind src srclang label default"),w("datalist","",[v,"option"].join(" ")),w("article section nav aside header footer","",y),w("hgroup","","h1 h2 h3 h4 h5 h6"),w("figure","",[y,"figcaption"].join(" ")),w("time","datetime",v),w("dialog","open",y),w("command","type label icon disabled checked radiogroup command"),w("output","for form name",v),w("progress","value max",v),w("meter","value min max low high optimum",v),w("details","open",[y,"summary"].join(" ")),w("keygen","autofocus challenge disabled form keytype name")),"html5-strict"!==p&&(N("script","language xml:space"),N("style","xml:space"),N("object","declare classid code codebase codetype archive standby align border hspace vspace"),N("embed","align name hspace vspace"),N("param","valuetype type"),N("a","charset name rev shape coords"),N("br","clear"),N("applet","codebase archive code object alt name width height align hspace vspace"),N("img","name longdesc align border hspace vspace"),N("iframe","longdesc frameborder marginwidth marginheight scrolling align"),N("font basefont","size color face"),N("input","usemap align"),N("select","onchange"),N("textarea"),N("h1 h2 h3 h4 h5 h6 div p legend caption","align"),N("ul","type compact"),N("li","type"),N("ol dl menu dir","compact"),N("pre","width xml:space"),N("hr","align noshade size width"),N("isindex","prompt"),N("table","summary width frame rules cellspacing cellpadding align bgcolor"),N("col","width align char charoff valign"),N("colgroup","width align char charoff valign"),N("thead","align char charoff valign"),N("tr","align char charoff valign bgcolor"),N("th","axis align char charoff valign nowrap bgcolor width height"),N("form","accept"),N("td","abbr axis scope align char charoff valign nowrap bgcolor width height"),N("tfoot","align char charoff valign"),N("tbody","align char charoff valign"),N("area","nohref"),N("body","background bgcolor text link vlink alink")),"html4"!==p&&(N("input button select textarea","autofocus"),N("input textarea","placeholder"),N("a","download"),N("link script img","crossorigin"),N("iframe","sandbox seamless allowfullscreen")),Do(Lo("a form meter progress dfn"),function(e){x[e]&&delete x[e].children[e]}),delete x.caption.children.table,delete x.script,_o[p]=x,x),!1===e.verify_html&&(e.valid_elements="*[*]"),t=Mo(e.valid_styles),n=Mo(e.invalid_styles,"map"),u=Mo(e.valid_classes,"map"),o=B("whitespace_elements","pre script noscript style textarea video audio iframe object code"),i=B("self_closing_elements","colgroup dd dt li option p td tfoot th thead tr"),a=B("short_ended_elements","area base basefont br col frame hr img input isindex link meta param embed source wbr track"),s=B("boolean_attributes","checked compact declare defer disabled ismap multiple nohref noresize noshade nowrap readonly selected autoplay loop controls"),l=B("non_empty_elements","td th iframe video audio object script pre code",a),f=B("move_caret_before_on_enter_elements","table",l),d=B("text_block_elements","h1 h2 h3 h4 h5 h6 p div address pre form blockquote center dir fieldset header footer article section hgroup aside nav figure"),c=B("block_elements","hr table tbody thead tfoot th tr td li ol ul caption dl dt dd noscript menu isindex option datalist select optgroup figcaption",d),m=B("text_inline_elements","span strong b em i font strike u var cite dfn code mark q sup sub samp"),Do((e.special||"script noscript noframes noembed title style textarea xmp").split(" "),function(e){_[e]=new RegExp("</"+e+"[^>]*>","gi")});var R=function(e){return new RegExp("^"+e.replace(/([?+*])/g,".$1")+"$")},D=function(e){var t,n,r,o,i,a,s,u,c,l,f,d,m,p,g,h,v,y,b,C=/^([#+\-])?([^\[!\/]+)(?:\/([^\[!]+))?(?:(!?)\[([^\]]+)\])?$/,x=/^([!\-])?(\w+[\\:]:\w+|[^=:<]+)?(?:([=:<])(.*))?$/,w=/[*?+]/;if(e)for(e=Lo(e,","),S["@"]&&(h=S["@"].attributes,v=S["@"].attributesOrder),t=0,n=e.length;t<n;t++)if(i=C.exec(e[t])){if(p=i[1],c=i[2],g=i[3],u=i[5],a={attributes:d={},attributesOrder:m=[]},"#"===p&&(a.paddEmpty=!0),"-"===p&&(a.removeEmpty=!0),"!"===i[4]&&(a.removeEmptyAttrs=!0),h){for(y in h)d[y]=h[y];m.push.apply(m,v)}if(u)for(r=0,o=(u=Lo(u,"|")).length;r<o;r++)if(i=x.exec(u[r])){if(s={},f=i[1],l=i[2].replace(/[\\:]:/g,":"),p=i[3],b=i[4],"!"===f&&(a.attributesRequired=a.attributesRequired||[],a.attributesRequired.push(l),s.required=!0),"-"===f){delete d[l],m.splice(Io(m,l),1);continue}p&&("="===p&&(a.attributesDefault=a.attributesDefault||[],a.attributesDefault.push({name:l,value:b}),s.defaultValue=b),":"===p&&(a.attributesForced=a.attributesForced||[],a.attributesForced.push({name:l,value:b}),s.forcedValue=b),"<"===p&&(s.validValues=Ro(b,"?"))),w.test(l)?(a.attributePatterns=a.attributePatterns||[],s.pattern=R(l),a.attributePatterns.push(s)):(d[l]||m.push(l),d[l]=s)}h||"@"!==c||(h=d,v=m),g&&(a.outputName=c,S[g]=a),w.test(c)?(a.pattern=R(c),T.push(a)):S[c]=a}},O=function(e){S={},T=[],D(e),Do(r,function(e,t){k[t]=e.children})},P=function(e){var t=/^(~)?(.+)$/;e&&(_o.text_block_elements=_o.block_elements=null,Do(Lo(e,","),function(e){var n=t.exec(e),r="~"===n[1],o=r?"span":"div",i=n[2];if(k[i]=k[o],A[i]=o,r||(c[i.toUpperCase()]={},c[i]={}),!S[i]){var a=S[o];delete(a=Oo({},a)).removeEmptyAttrs,delete a.removeEmpty,S[i]=a}Do(k,function(e,t){e[o]&&(k[t]=e=Oo({},k[t]),e[i]=e[o])})}))},I=function(t){var n=/^([+\-]?)(\w+)\[([^\]]+)\]$/;_o[e.schema]=null,t&&Do(Lo(t,","),function(e){var t,r,o=n.exec(e);o&&(r=o[1],t=r?k[o[2]]:k[o[2]]={"#comment":{}},t=k[o[2]],Do(Lo(o[3],"|"),function(e){"-"===r?delete t[e]:t[e]={}}))})},L=function(e){var t,n=S[e];if(n)return n;for(t=T.length;t--;)if((n=T[t]).pattern.test(e))return n};return e.valid_elements?O(e.valid_elements):(Do(r,function(e,t){S[t]={attributes:e.attributes,attributesOrder:e.attributesOrder},k[t]=e.children}),"html5"!==e.schema&&Do(Lo("strong/b em/i"),function(e){e=Lo(e,"/"),S[e[1]].outputName=e[0]}),Do(Lo("ol ul sub sup blockquote span font a table tbody tr strong em b i"),function(e){S[e]&&(S[e].removeEmpty=!0)}),Do(Lo("p h1 h2 h3 h4 h5 h6 th td pre div address caption li"),function(e){S[e].paddEmpty=!0}),Do(Lo("span"),function(e){S[e].removeEmptyAttrs=!0})),P(e.custom_elements),I(e.valid_children),D(e.extended_valid_elements),I("+ol[ul|ol],+ul[ul|ol]"),Do({dd:"dl",dt:"dl",li:"ul ol",td:"tr",th:"tr",tr:"tbody thead tfoot",tbody:"table",thead:"table",tfoot:"table",legend:"fieldset",area:"map",param:"video audio object"},function(e,t){S[t]&&(S[t].parentsRequired=Lo(e))}),e.invalid_elements&&Do(Po(e.invalid_elements),function(e){S[e]&&delete S[e]}),L("span")||D("span[!data-mce-type|*]"),E.children=k,E.getValidStyles=function(){return t},E.getInvalidStyles=function(){return n},E.getValidClasses=function(){return u},E.getBoolAttrs=function(){return s},E.getBlockElements=function(){return c},E.getTextBlockElements=function(){return d},E.getTextInlineElements=function(){return m},E.getShortEndedElements=function(){return a},E.getSelfClosingElements=function(){return i},E.getNonEmptyElements=function(){return l},E.getMoveCaretBeforeOnEnterElements=function(){return f},E.getWhiteSpaceElements=function(){return o},E.getSpecialElements=function(){return _},E.isValidChild=function(e,t){var n=k[e.toLowerCase()];return!(!n||!n[t.toLowerCase()])},E.isValid=function(e,t){var n,r,o=L(e);if(o){if(!t)return!0;if(o.attributes[t])return!0;if(n=o.attributePatterns)for(r=n.length;r--;)if(n[r].pattern.test(e))return!0}return!1},E.getElementRule=L,E.getCustomElements=function(){return A},E.addValidElements=D,E.setValidElements=O,E.addCustomElements=P,E.addValidChildren=I,E.elements=S,E},zo=function(e,t){var n,r,o,i,a=/rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)/gi,s=/(?:url(?:(?:\(\s*\"([^\"]+)\"\s*\))|(?:\(\s*\'([^\']+)\'\s*\))|(?:\(\s*([^)\s]+)\s*\))))|(?:\'([^\']+)\')|(?:\"([^\"]+)\")/gi,u=/\s*([^:]+):\s*([^;]+);?/g,c=/\s+$/,l={},f="\ufeff";for(e=e||{},t&&(o=t.getValidStyles(),i=t.getInvalidStyles()),r=("\\\" \\' \\; \\: ; : "+f).split(" "),n=0;n<r.length;n++)l[r[n]]=f+n,l[f+n]=r[n];var d=function(e,t,n,r){var o=function(e){return(e=parseInt(e,10).toString(16)).length>1?e:"0"+e};return"#"+o(t)+o(n)+o(r)};return{toHex:function(e){return e.replace(a,d)},parse:function(t){var r,o,i,m,p,g,h,v,y={},b=e.url_converter,C=e.url_converter_scope||this,x=function(e,t,r){var o,i,a,s;if((o=y[e+"-top"+t])&&(i=y[e+"-right"+t])&&(a=y[e+"-bottom"+t])&&(s=y[e+"-left"+t])){var u=[o,i,a,s];for(n=u.length-1;n--&&u[n]===u[n+1];);n>-1&&r||(y[e+t]=-1===n?u[0]:u.join(" "),delete y[e+"-top"+t],delete y[e+"-right"+t],delete y[e+"-bottom"+t],delete y[e+"-left"+t])}},w=function(e){var t,n=y[e];if(n){for(t=(n=n.split(" ")).length;t--;)if(n[t]!==n[0])return!1;return y[e]=n[0],!0}},N=function(e){return m=!0,l[e]},E=function(e,t){return m&&(e=e.replace(/\uFEFF[0-9]/g,function(e){return l[e]})),t||(e=e.replace(/\\([\'\";:])/g,"$1")),e},S=function(e){return String.fromCharCode(parseInt(e.slice(1),16))},k=function(e){return e.replace(/\\[0-9a-f]+/gi,S)},T=function(t,n,r,o,i,a){if(i=i||a)return"'"+(i=E(i)).replace(/\'/g,"\\'")+"'";if(n=E(n||r||o),!e.allow_script_urls){var s=n.replace(/[\s\r\n]+/g,"");if(/(java|vb)script:/i.test(s))return"";if(!e.allow_svg_data_urls&&/^data:image\/svg/i.test(s))return""}return b&&(n=b.call(C,n,"style")),"url('"+n.replace(/\'/g,"\\'")+"')"};if(t){for(t=(t=t.replace(/[\u0000-\u001F]/g,"")).replace(/\\[\"\';:\uFEFF]/g,N).replace(/\"[^\"]+\"|\'[^\']+\'/g,function(e){return e.replace(/[;:]/g,N)});r=u.exec(t);)if(u.lastIndex=r.index+r[0].length,o=r[1].replace(c,"").toLowerCase(),i=r[2].replace(c,""),o&&i){if(o=k(o),i=k(i),-1!==o.indexOf(f)||-1!==o.indexOf('"'))continue;if(!e.allow_script_urls&&("behavior"===o||/expression\s*\(|\/\*|\*\//.test(i)))continue;"font-weight"===o&&"700"===i?i="bold":"color"!==o&&"background-color"!==o||(i=i.toLowerCase()),i=(i=i.replace(a,d)).replace(s,T),y[o]=m?E(i,!0):i}x("border","",!0),x("border","-width"),x("border","-color"),x("border","-style"),x("padding",""),x("margin",""),p="border",h="border-style",v="border-color",w(g="border-width")&&w(h)&&w(v)&&(y[p]=y[g]+" "+y[h]+" "+y[v],delete y[g],delete y[h],delete y[v]),"medium none"===y.border&&delete y.border,"none"===y["border-image"]&&delete y["border-image"]}return y},serialize:function(e,t){var n,r,a,s,u,c="",l=function(t){var n,r,i,a;if(n=o[t])for(r=0,i=n.length;r<i;r++)t=n[r],(a=e[t])&&(c+=(c.length>0?" ":"")+t+": "+a+";")};if(t&&o)l("*"),l(t);else for(n in e)!(r=e[n])||i&&(a=n,s=t,u=void 0,(u=i["*"])&&u[a]||(u=i[s])&&u[a])||(c+=(c.length>0?" ":"")+n+": "+r+";");return c}}},Uo=Ot.each,Vo=Ot.is,Ho=Ot.grep,qo=me.ie,jo=/^([a-z0-9],?)+$/i,$o=/^[ \t\r\n]*$/,Wo=function(e,t){var n=t.attr("style");(n=e.serializeStyle(e.parseStyle(n),t[0].nodeName))||(n=null),t.attr("data-mce-style",n)},Ko=function(e,t){var n,r,o=0;if(e)for(n=e.nodeType,e=e.previousSibling;e;e=e.previousSibling)r=e.nodeType,(!t||3!==r||r!==n&&e.nodeValue.length)&&(o++,n=r);return o},Xo=function(e,t){var n,r,o,i,a,s,u=this;u.doc=e,u.win=window,u.files={},u.counter=0,u.stdMode=!qo||e.documentMode>=8,u.boxModel=!qo||"CSS1Compat"===e.compatMode||u.stdMode,u.styleSheetLoader=function(e,t){var n,r=0,o={};n=(t=t||{}).maxLoadTime||5e3;var i=function(t){e.getElementsByTagName("head")[0].appendChild(t)},a=function(t,a,s){var u,c,l,f,d=function(){for(var e=f.passed,t=e.length;t--;)e[t]();f.status=2,f.passed=[],f.failed=[]},m=function(){for(var e=f.failed,t=e.length;t--;)e[t]();f.status=3,f.passed=[],f.failed=[]},p=function(e,t){e()||((new Date).getTime()-l<n?ye.setTimeout(t):m())},g=function(){p(function(){for(var t,n,r=e.styleSheets,o=r.length;o--;)if((n=(t=r[o]).ownerNode?t.ownerNode:t.owningElement)&&n.id===u.id)return d(),!0},g)},h=function(){p(function(){try{var e=c.sheet.cssRules;return d(),!!e}catch(t){}},h)};if(t=Ot._addCacheSuffix(t),o[t]?f=o[t]:(f={passed:[],failed:[]},o[t]=f),a&&f.passed.push(a),s&&f.failed.push(s),1!==f.status)if(2!==f.status)if(3!==f.status){if(f.status=1,(u=e.createElement("link")).rel="stylesheet",u.type="text/css",u.id="u"+r++,u.async=!1,u.defer=!1,l=(new Date).getTime(),"onload"in u&&!((v=navigator.userAgent.match(/WebKit\/(\d*)/))&&parseInt(v[1],10)<536))u.onload=g,u.onerror=m;else{if(navigator.userAgent.indexOf("Firefox")>0)return(c=e.createElement("style")).textContent='@import "'+t+'"',h(),void i(c);g()}var v;i(u),u.href=t}else m();else d()},s=function(e){return Xr.nu(function(t){a(e,y.compose(t,y.constant(eo.value(e))),y.compose(t,y.constant(eo.error(e))))})},u=function(e){return e.fold(y.identity,y.identity)};return{load:a,loadAll:function(e,t,n){Jr(M.map(e,s)).get(function(e){var r=M.partition(e,function(e){return e.isValue()});r.fail.length>0?n(r.fail.map(u)):t(r.pass.map(u))})}}}(e),u.boundEvents=[],u.settings=t=t||{},u.schema=t.schema?t.schema:Fo({}),u.styles=zo({url_converter:t.url_converter,url_converter_scope:t.url_converter_scope},t.schema),u.fixDoc(e),u.events=t.ownEvents?new Te(t.proxy):Te.Event,u.attrHooks=(r=u,a={},s=(o=t).keep_values,i={set:function(e,t,n){o.url_converter&&(t=o.url_converter.call(o.url_converter_scope||r,t,n,e[0])),e.attr("data-mce-"+n,t).attr(n,t)},get:function(e,t){return e.attr("data-mce-"+t)||e.attr(t)}},a={style:{set:function(e,t){null===t||"object"!=typeof t?(s&&e.attr("data-mce-style",t),e.attr("style",t)):e.css(t)},get:function(e){var t=e.attr("data-mce-style")||e.attr("style");return t=r.serializeStyle(r.parseStyle(t),e[0].nodeName)}}},s&&(a.href=a.src=i),a),n=u.schema.getBlockElements(),u.$=Qt.overrideDefaults(function(){return{context:e,element:u.getRoot()}}),u.isBlock=function(e){if(!e)return!1;var t=e.nodeType;return t?!(1!==t||!n[e.nodeName]):!!n[e]}};Xo.prototype={$$:function(e){return"string"==typeof e&&(e=this.get(e)),this.$(e)},root:null,fixDoc:function(e){},clone:function(e,t){var n,r,o=this;return!qo||1!==e.nodeType||t?e.cloneNode(t):(r=o.doc,t?n.firstChild:(n=r.createElement(e.nodeName),Uo(o.getAttribs(e),function(t){o.setAttrib(n,t.nodeName,o.getAttrib(e,t.nodeName))}),n))},getRoot:function(){return this.settings.root_element||this.doc.body},getViewPort:function(e){var t,n;return t=(e=e||this.win).document,n=this.boxModel?t.documentElement:t.body,{x:e.pageXOffset||n.scrollLeft,y:e.pageYOffset||n.scrollTop,w:e.innerWidth||n.clientWidth,h:e.innerHeight||n.clientHeight}},getRect:function(e){var t,n;return e=this.get(e),t=this.getPos(e),n=this.getSize(e),{x:t.x,y:t.y,w:n.w,h:n.h}},getSize:function(e){var t,n;return e=this.get(e),t=this.getStyle(e,"width"),n=this.getStyle(e,"height"),-1===t.indexOf("px")&&(t=0),-1===n.indexOf("px")&&(n=0),{w:parseInt(t,10)||e.offsetWidth||e.clientWidth,h:parseInt(n,10)||e.offsetHeight||e.clientHeight}},getParent:function(e,t,n){return this.getParents(e,t,n,!1)},getParents:function(e,t,n,r){var o,i=this,a=[];for(e=i.get(e),r=r===undefined,n=n||("BODY"!==i.getRoot().nodeName?i.getRoot().parentNode:null),Vo(t,"string")&&(o=t,t="*"===t?function(e){return 1===e.nodeType}:function(e){return i.is(e,o)});e&&e!==n&&e.nodeType&&9!==e.nodeType;){if(!t||t(e)){if(!r)return e;a.push(e)}e=e.parentNode}return r?a:null},get:function(e){var t;return e&&this.doc&&"string"==typeof e&&(t=e,(e=this.doc.getElementById(e))&&e.id!==t)?this.doc.getElementsByName(t)[1]:e},getNext:function(e,t){return this._findSib(e,t,"nextSibling")},getPrev:function(e,t){return this._findSib(e,t,"previousSibling")},select:function(e,t){return lt(e,this.get(t)||this.settings.root_element||this.doc,[])},is:function(e,t){var n;if(!e)return!1;if(e.length===undefined){if("*"===t)return 1===e.nodeType;if(jo.test(t)){for(t=t.toLowerCase().split(/,/),e=e.nodeName.toLowerCase(),n=t.length-1;n>=0;n--)if(t[n]===e)return!0;return!1}}if(e.nodeType&&1!==e.nodeType)return!1;var r=e.nodeType?[e]:e;return lt(t,r[0].ownerDocument||r[0],null,r).length>0},add:function(e,t,n,r,o){var i=this;return this.run(e,function(e){var a;return a=Vo(t,"string")?i.doc.createElement(t):t,i.setAttribs(a,n),r&&(r.nodeType?a.appendChild(r):i.setHTML(a,r)),o?a:e.appendChild(a)})},create:function(e,t,n){return this.add(this.doc.createElement(e),e,t,n,1)},createHTML:function(e,t,n){var r,o="";for(r in o+="<"+e,t)t.hasOwnProperty(r)&&null!==t[r]&&"undefined"!=typeof t[r]&&(o+=" "+r+'="'+this.encode(t[r])+'"');return void 0!==n?o+">"+n+"</"+e+">":o+" />"},createFragment:function(e){var t,n,r,o=this.doc;for(r=o.createElement("div"),t=o.createDocumentFragment(),e&&(r.innerHTML=e);n=r.firstChild;)t.appendChild(n);return t},remove:function(e,t){return e=this.$$(e),t?e.each(function(){for(var e;e=this.firstChild;)3===e.nodeType&&0===e.data.length?this.removeChild(e):this.parentNode.insertBefore(e,this)}).remove():e.remove(),e.length>1?e.toArray():e[0]},setStyle:function(e,t,n){e=this.$$(e).css(t,n),this.settings.update_styles&&Wo(this,e)},getStyle:function(e,t,n){return e=this.$$(e),n?e.css(t):("float"===(t=t.replace(/-(\D)/g,function(e,t){return t.toUpperCase()}))&&(t=me.ie&&me.ie<12?"styleFloat":"cssFloat"),e[0]&&e[0].style?e[0].style[t]:undefined)},setStyles:function(e,t){e=this.$$(e).css(t),this.settings.update_styles&&Wo(this,e)},removeAllAttribs:function(e){return this.run(e,function(e){var t,n=e.attributes;for(t=n.length-1;t>=0;t--)e.removeAttributeNode(n.item(t))})},setAttrib:function(e,t,n){var r,o,i=this.settings;""===n&&(n=null),r=(e=this.$$(e)).attr(t),e.length&&((o=this.attrHooks[t])&&o.set?o.set(e,n,t):e.attr(t,n),r!==n&&i.onSetAttrib&&i.onSetAttrib({attrElm:e,attrName:t,attrValue:n}))},setAttribs:function(e,t){var n=this;n.$$(e).each(function(e,r){Uo(t,function(e,t){n.setAttrib(r,t,e)})})},getAttrib:function(e,t,n){var r,o;return(e=this.$$(e)).length&&(o=(r=this.attrHooks[t])&&r.get?r.get(e,t):e.attr(t)),void 0===o&&(o=n||""),o},getPos:function(e,t){return qr(this.doc.body,this.get(e),t)},parseStyle:function(e){return this.styles.parse(e)},serializeStyle:function(e,t){return this.styles.serialize(e,t)},addStyle:function(e){var t,n,r=this.doc;if(this!==Xo.DOM&&r===document){var o=Xo.DOM.addedStyles;if((o=o||[])[e])return;o[e]=!0,Xo.DOM.addedStyles=o}(n=r.getElementById("mceDefaultStyles"))||((n=r.createElement("style")).id="mceDefaultStyles",n.type="text/css",(t=r.getElementsByTagName("head")[0]).firstChild?t.insertBefore(n,t.firstChild):t.appendChild(n)),n.styleSheet?n.styleSheet.cssText+=e:n.appendChild(r.createTextNode(e))},loadCSS:function(e){var t,n=this,r=n.doc;n===Xo.DOM||r!==document?(e||(e=""),t=r.getElementsByTagName("head")[0],Uo(e.split(","),function(e){var o;e=Ot._addCacheSuffix(e),n.files[e]||(n.files[e]=!0,o=n.create("link",{rel:"stylesheet",href:e}),qo&&r.documentMode&&r.recalc&&(o.onload=function(){r.recalc&&r.recalc(),o.onload=null}),t.appendChild(o))})):Xo.DOM.loadCSS(e)},addClass:function(e,t){this.$$(e).addClass(t)},removeClass:function(e,t){this.toggleClass(e,t,!1)},hasClass:function(e,t){return this.$$(e).hasClass(t)},toggleClass:function(e,t,n){this.$$(e).toggleClass(t,n).each(function(){""===this.className&&Qt(this).attr("class",null)})},show:function(e){this.$$(e).show()},hide:function(e){this.$$(e).hide()},isHidden:function(e){return"none"===this.$$(e).css("display")},uniqueId:function(e){return(e||"mce_")+this.counter++},setHTML:function(e,t){e=this.$$(e),qo?e.each(function(e,n){if(!1!==n.canHaveHTML){for(;n.firstChild;)n.removeChild(n.firstChild);try{n.innerHTML="<br>"+t,n.removeChild(n.firstChild)}catch(r){Qt("<div></div>").html("<br>"+t).contents().slice(1).appendTo(n)}return t}}):e.html(t)},getOuterHTML:function(e){return 1===(e=this.get(e)).nodeType&&"outerHTML"in e?e.outerHTML:Qt("<div></div>").append(Qt(e).clone()).html()},setOuterHTML:function(e,t){var n=this;n.$$(e).each(function(){try{if("outerHTML"in this)return void(this.outerHTML=t)}catch(e){}n.remove(Qt(this).html(t),!0)})},decode:Ao.decode,encode:Ao.encodeAllRaw,insertAfter:function(e,t){return t=this.get(t),this.run(e,function(e){var n,r;return n=t.parentNode,(r=t.nextSibling)?n.insertBefore(e,r):n.appendChild(e),e})},replace:function(e,t,n){return this.run(t,function(t){return Vo(t,"array")&&(e=e.cloneNode(!0)),n&&Uo(Ho(t.childNodes),function(t){e.appendChild(t)}),t.parentNode.replaceChild(e,t)})},rename:function(e,t){var n,r=this;return e.nodeName!==t.toUpperCase()&&(n=r.create(t),Uo(r.getAttribs(e),function(t){r.setAttrib(n,t.nodeName,r.getAttrib(e,t.nodeName))}),r.replace(n,e,1)),n||e},findCommonAncestor:function(e,t){for(var n,r=e;r;){for(n=t;n&&r!==n;)n=n.parentNode;if(r===n)break;r=r.parentNode}return!r&&e.ownerDocument?e.ownerDocument.documentElement:r},toHex:function(e){return this.styles.toHex(Ot.trim(e))},run:function(e,t,n){var r,o=this;return"string"==typeof e&&(e=o.get(e)),!!e&&(n=n||this,e.nodeType||!e.length&&0!==e.length?t.call(n,e):(r=[],Uo(e,function(e,i){e&&("string"==typeof e&&(e=o.get(e)),r.push(t.call(n,e,i)))}),r))},getAttribs:function(e){var t;return(e=this.get(e))?qo?(t=[],"OBJECT"===e.nodeName?e.attributes:("OPTION"===e.nodeName&&this.getAttrib(e,"selected")&&t.push({specified:1,nodeName:"selected"}),e.cloneNode(!1).outerHTML.replace(/<\/?[\w:\-]+ ?|=[\"][^\"]+\"|=\'[^\']+\'|=[\w\-]+|>/gi,"").replace(/[\w:\-]+/gi,function(e){t.push({specified:1,nodeName:e})}),t)):e.attributes:[]},isEmpty:function(e,t){var n,r,o,i,a,s,u=0;if(e=e.firstChild){a=new to(e,e.parentNode),t=t||(this.schema?this.schema.getNonEmptyElements():null),i=this.schema?this.schema.getWhiteSpaceElements():{};do{if(1===(o=e.nodeType)){var c=e.getAttribute("data-mce-bogus");if(c){e=a.next("all"===c);continue}if(s=e.nodeName.toLowerCase(),t&&t[s]){if("br"===s){u++,e=a.next();continue}return!1}for(n=(r=this.getAttribs(e)).length;n--;)if("name"===(s=r[n].nodeName)||"data-mce-bookmark"===s)return!1}if(8===o)return!1;if(3===o&&!$o.test(e.nodeValue))return!1;if(3===o&&e.parentNode&&i[e.parentNode.nodeName]&&$o.test(e.nodeValue))return!1;e=a.next()}while(e)}return u<=1},createRng:function(){return this.doc.createRange()},nodeIndex:Ko,split:function(e,t,n){var r,o,i,a=this.createRng();if(e&&t)return a.setStart(e.parentNode,this.nodeIndex(e)),a.setEnd(t.parentNode,this.nodeIndex(t)),r=a.extractContents(),(a=this.createRng()).setStart(t.parentNode,this.nodeIndex(t)+1),a.setEnd(e.parentNode,this.nodeIndex(e)+1),o=a.extractContents(),(i=e.parentNode).insertBefore(Co.trimNode(this,r),e),n?i.insertBefore(n,e):i.insertBefore(t,e),i.insertBefore(Co.trimNode(this,o),e),this.remove(e),n||t},bind:function(e,t,n,r){if(Ot.isArray(e)){for(var o=e.length;o--;)e[o]=this.bind(e[o],t,n,r);return e}return!this.settings.collect||e!==this.doc&&e!==this.win||this.boundEvents.push([e,t,n,r]),this.events.bind(e,t,n,r||this)},unbind:function(e,t,n){var r;if(Ot.isArray(e)){for(r=e.length;r--;)e[r]=this.unbind(e[r],t,n);return e}if(this.boundEvents&&(e===this.doc||e===this.win))for(r=this.boundEvents.length;r--;){var o=this.boundEvents[r];e!==o[0]||t&&t!==o[1]||n&&n!==o[2]||this.events.unbind(o[0],o[1],o[2])}return this.events.unbind(e,t,n)},fire:function(e,t,n){return this.events.fire(e,t,n)},getContentEditable:function(e){var t;return e&&1===e.nodeType?(t=e.getAttribute("data-mce-contenteditable"))&&"inherit"!==t?t:"inherit"!==e.contentEditable?e.contentEditable:null:null},getContentEditableParent:function(e){for(var t=this.getRoot(),n=null;e&&e!==t&&null===(n=this.getContentEditable(e));e=e.parentNode);return n},destroy:function(){if(this.boundEvents){for(var e=this.boundEvents.length;e--;){var t=this.boundEvents[e];this.events.unbind(t[0],t[1],t[2])}this.boundEvents=null}lt.setDocument&<.setDocument(),this.win=this.doc=this.root=this.events=this.frag=null},isChildOf:function(e,t){for(;e;){if(t===e)return!0;e=e.parentNode}return!1},dumpRng:function(e){return"startContainer: "+e.startContainer.nodeName+", startOffset: "+e.startOffset+", endContainer: "+e.endContainer.nodeName+", endOffset: "+e.endOffset},_findSib:function(e,t,n){var r=this,o=t;if(e)for("string"==typeof o&&(o=function(e){return r.is(e,t)}),e=e[n];e;e=e[n])if(o(e))return e;return null}},Xo.DOM=new Xo(document),Xo.nodeIndex=Ko;var Yo=Xo.DOM,Go=Ot.each,Jo=Ot.grep,Qo=function(e){return"function"==typeof e},Zo=function(){var e={},t=[],n={},r=[],o=0;this.isDone=function(t){return 2===e[t]},this.markDone=function(t){e[t]=2},this.add=this.load=function(r,o,i,a){e[r]===undefined&&(t.push(r),e[r]=0),o&&(n[r]||(n[r]=[]),n[r].push({success:o,failure:a,scope:i||this}))},this.remove=function(t){delete e[t],delete n[t]},this.loadQueue=function(e,n,r){this.loadScripts(t,e,n,r)},this.loadScripts=function(t,i,a,s){var u,c=[],l=function(e,t){Go(n[t],function(t){Qo(t[e])&&t[e].call(t.scope)}),n[t]=undefined};r.push({success:i,failure:s,scope:a||this}),(u=function(){var n=Jo(t);if(t.length=0,Go(n,function(t){var n,r,i,a,s,f,d;2!==e[t]?3!==e[t]?1!==e[t]&&(e[t]=1,o++,n=t,r=function(){e[t]=2,o--,l("success",t),u()},i=function(){e[t]=3,o--,c.push(t),l("failure",t),u()},d=function(){f.remove(s),a&&(a.onreadystatechange=a.onload=a=null),r()},s=(f=Yo).uniqueId(),(a=document.createElement("script")).id=s,a.type="text/javascript",a.src=Ot._addCacheSuffix(n),"onreadystatechange"in a?a.onreadystatechange=function(){/loaded|complete/.test(a.readyState)&&d()}:a.onload=d,a.onerror=function(){Qo(i)?i():"undefined"!=typeof console&&console.log&&console.log("Failed to load script: "+n)},(document.getElementsByTagName("head")[0]||document.body).appendChild(a)):l("failure",t):l("success",t)}),!o){var i=r.slice(0);r.length=0,Go(i,function(e){0===c.length?Qo(e.success)&&e.success.call(e.scope):Qo(e.failure)&&e.failure.call(e.scope,c)})}})()}};Zo.ScriptLoader=new Zo;var ei=Ot.each,ti=function(){this.items=[],this.urls={},this.lookup={},this._listeners=[]};ti.prototype={get:function(e){return this.lookup[e]?this.lookup[e].instance:undefined},dependencies:function(e){var t;return this.lookup[e]&&(t=this.lookup[e].dependencies),t||[]},requireLangPack:function(e,t){var n=ti.language;if(n&&!1!==ti.languageLoad){if(t)if(-1!==(t=","+t+",").indexOf(","+n.substr(0,2)+","))n=n.substr(0,2);else if(-1===t.indexOf(","+n+","))return;Zo.ScriptLoader.add(this.urls[e]+"/langs/"+n+".js")}},add:function(e,t,n){this.items.push(t),this.lookup[e]={instance:t,dependencies:n};var r=M.partition(this._listeners,function(t){return t.name===e});return this._listeners=r.fail,ei(r.pass,function(e){e.callback()}),t},remove:function(e){delete this.urls[e],delete this.lookup[e]},createUrl:function(e,t){return"object"==typeof t?t:{prefix:e.prefix,resource:t,suffix:e.suffix}},addComponents:function(e,t){var n=this.urls[e];ei(t,function(e){Zo.ScriptLoader.add(n+"/"+e)})},load:function(e,t,n,r,o){var i=this,a=t,s=function(){var o=i.dependencies(e);ei(o,function(e){var n=i.createUrl(t,e);i.load(n.resource,n,undefined,undefined)}),n&&(r?n.call(r):n.call(Zo))};i.urls[e]||("object"==typeof t&&(a=t.prefix+t.resource+t.suffix),0!==a.indexOf("/")&&-1===a.indexOf("://")&&(a=ti.baseURL+"/"+a),i.urls[e]=a.substring(0,a.lastIndexOf("/")),i.lookup[e]?s():Zo.ScriptLoader.add(a,s,r,o))},waitFor:function(e,t){this.lookup.hasOwnProperty(e)?t():this._listeners.push({name:e,callback:t})}},ti.PluginManager=new ti,ti.ThemeManager=new ti;var ni="\ufeff",ri=function(e){return e===ni},oi=ni,ii=function(e){return e.replace(new RegExp(ni,"g"),"")},ai=vo.isElement,si=vo.isText,ui=function(e){return si(e)&&(e=e.parentNode),ai(e)&&e.hasAttribute("data-mce-caret")},ci=function(e){return si(e)&&ri(e.data)},li=function(e){return ui(e)||ci(e)},fi=function(e){return si(e)&&e.data[0]===oi},di=function(e){return si(e)&&e.data[e.data.length-1]===oi},mi={isCaretContainer:li,isCaretContainerBlock:ui,isCaretContainerInline:ci,showCaretContainerBlock:function(e){return e&&e.hasAttribute("data-mce-caret")?(t=e.getElementsByTagName("br"),n=t[t.length-1],vo.isBogus(n)&&n.parentNode.removeChild(n),e.removeAttribute("data-mce-caret"),e.removeAttribute("data-mce-bogus"),e.removeAttribute("style"),e.removeAttribute("_moz_abspos"),e):null;var t,n},insertInline:function(e,t){var n,r,o;if(r=e.ownerDocument.createTextNode(oi),o=e.parentNode,t){if(n=e.previousSibling,si(n)){if(li(n))return n;if(di(n))return n.splitText(n.data.length-1)}o.insertBefore(r,e)}else{if(n=e.nextSibling,si(n)){if(li(n))return n;if(fi(n))return n.splitText(1),n}e.nextSibling?o.insertBefore(r,e.nextSibling):o.appendChild(r)}return r},prependInline:function(e){if(vo.isText(e)){var t=e.data;return t.length>0&&t.charAt(0)!==oi&&e.insertData(0,oi),e}return null},appendInline:function(e){if(vo.isText(e)){var t=e.data;return t.length>0&&t.charAt(t.length-1)!==oi&&e.insertData(t.length,oi),e}return null},isBeforeInline:function(e){return e&&vo.isText(e.container())&&e.container().data.charAt(e.offset())===oi},isAfterInline:function(e){return e&&vo.isText(e.container())&&e.container().data.charAt(e.offset()-1)===oi},insertBlock:function(e,t,n){var r,o,i;return(r=t.ownerDocument.createElement(e)).setAttribute("data-mce-caret",n?"before":"after"),r.setAttribute("data-mce-bogus","all"),r.appendChild(((i=document.createElement("br")).setAttribute("data-mce-bogus","1"),i)),o=t.parentNode,n?o.insertBefore(r,t):t.nextSibling?o.insertBefore(r,t.nextSibling):o.appendChild(r),r},hasContent:function(e){return e.firstChild!==e.lastChild||!vo.isBr(e.firstChild)},startsWithCaretContainer:fi,endsWithCaretContainer:di},pi=vo.isContentEditableTrue,gi=vo.isContentEditableFalse,hi=vo.isBr,vi=vo.isText,yi=vo.matchNodeNames("script style textarea"),bi=vo.matchNodeNames("img input textarea hr iframe video audio object"),Ci=vo.matchNodeNames("table"),xi=mi.isCaretContainer,wi=function(e){return!xi(e)&&(vi(e)?!yi(e.parentNode):bi(e)||hi(e)||Ci(e)||gi(e))},Ni=function(e,t){for(e=e.parentNode;e&&e!==t;e=e.parentNode){if(gi(e))return!1;if(pi(e))return!0}return!0},Ei=wi,Si=function(e){return bi(e)||!!gi(t=e)&&!0!==At.reduce(t.getElementsByTagName("*"),function(e,t){return e||pi(t)},!1);var t},ki=function(e,t){return wi(e)&&Ni(e,t)},Ti=Math.round,Ai=function(e){return e?{left:Ti(e.left),top:Ti(e.top),bottom:Ti(e.bottom),right:Ti(e.right),width:Ti(e.width),height:Ti(e.height)}:{left:0,top:0,bottom:0,right:0,width:0,height:0}},_i=function(e,t,n){return e>=0&&e<=Math.min(t.height,n.height)/2},Bi=function(e,t){return e.bottom-e.height/2<t.top||!(e.top>t.bottom)&&_i(t.top-e.bottom,e,t)},Ri=function(e,t){return e.top>t.bottom||!(e.bottom<t.top)&&_i(t.bottom-e.top,e,t)},Di=Ai,Oi=function(e,t){return e=Ai(e),t?e.right=e.left:(e.left=e.left+e.width,e.right=e.left),e.width=0,e},Pi=function(e,t){return e.left===t.left&&e.top===t.top&&e.bottom===t.bottom&&e.right===t.right},Ii=Bi,Li=Ri,Mi=function(e,t,n){return t>=e.left&&t<=e.right&&n>=e.top&&n<=e.bottom},Fi=function(e){var t=e.startContainer,n=e.startOffset;return t.hasChildNodes()&&e.endOffset===n+1?t.childNodes[n]:null},zi=function(e,t){return 1===e.nodeType&&e.hasChildNodes()&&(t>=e.childNodes.length&&(t=e.childNodes.length-1),e=e.childNodes[t]),e},Ui=new RegExp("[\u0300-\u036f\u0483-\u0487\u0488-\u0489\u0591-\u05bd\u05bf\u05c1-\u05c2\u05c4-\u05c5\u05c7\u0610-\u061a\u064b-\u065f\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7-\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u08e3-\u0902\u093a\u093c\u0941-\u0948\u094d\u0951-\u0957\u0962-\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2-\u09e3\u0a01-\u0a02\u0a3c\u0a41-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a70-\u0a71\u0a75\u0a81-\u0a82\u0abc\u0ac1-\u0ac5\u0ac7-\u0ac8\u0acd\u0ae2-\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62-\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c00\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c62-\u0c63\u0c81\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc-\u0ccd\u0cd5-\u0cd6\u0ce2-\u0ce3\u0d01\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62-\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb-\u0ebc\u0ec8-\u0ecd\u0f18-\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86-\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039-\u103a\u103d-\u103e\u1058-\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085-\u1086\u108d\u109d\u135d-\u135f\u1712-\u1714\u1732-\u1734\u1752-\u1753\u1772-\u1773\u17b4-\u17b5\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927-\u1928\u1932\u1939-\u193b\u1a17-\u1a18\u1a1b\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1ab0-\u1abd\u1abe\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80-\u1b81\u1ba2-\u1ba5\u1ba8-\u1ba9\u1bab-\u1bad\u1be6\u1be8-\u1be9\u1bed\u1bef-\u1bf1\u1c2c-\u1c33\u1c36-\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1cf4\u1cf8-\u1cf9\u1dc0-\u1df5\u1dfc-\u1dff\u200c-\u200d\u20d0-\u20dc\u20dd-\u20e0\u20e1\u20e2-\u20e4\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302d\u302e-\u302f\u3099-\u309a\ua66f\ua670-\ua672\ua674-\ua67d\ua69e-\ua69f\ua6f0-\ua6f1\ua802\ua806\ua80b\ua825-\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\ua9e5\uaa29-\uaa2e\uaa31-\uaa32\uaa35-\uaa36\uaa43\uaa4c\uaa7c\uaab0\uaab2-\uaab4\uaab7-\uaab8\uaabe-\uaabf\uaac1\uaaec-\uaaed\uaaf6\uabe5\uabe8\uabed\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\uff9e-\uff9f]"),Vi=function(e){return"string"==typeof e&&e.charCodeAt(0)>=768&&Ui.test(e)},Hi=[].slice,qi=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];var r=Hi.call(arguments);return r.length-1>=e.length?e.apply(this,r.slice(1)):function(){var e=r.concat([].slice.call(arguments));return qi.apply(this,e)}},ji={constant:function(e){return function(){return e}},negate:function(e){return function(t){return!e(t)}},and:function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=Hi.call(arguments);return function(e){for(var t=0;t<n.length;t++)if(!n[t](e))return!1;return!0}},or:function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var n=Hi.call(arguments);return function(e){for(var t=0;t<n.length;t++)if(n[t](e))return!0;return!1}},curry:qi,compose:function(e,t){return function(n){return e(t(n))}},noop:function(){}},$i=vo.isElement,Wi=Ei,Ki=vo.matchStyleValues("display","block table"),Xi=vo.matchStyleValues("float","left right"),Yi=ji.and($i,Wi,ji.negate(Xi)),Gi=ji.negate(vo.matchStyleValues("white-space","pre pre-line pre-wrap")),Ji=vo.isText,Qi=vo.isBr,Zi=Xo.nodeIndex,ea=zi,ta=function(e){return"createRange"in e?e.createRange():Xo.DOM.createRng()},na=function(e){return e&&/[\r\n\t ]/.test(e)},ra=function(e){var t,n=e.startContainer,r=e.startOffset;return!!(na(e.toString())&&Gi(n.parentNode)&&(t=n.data,na(t[r-1])||na(t[r+1])))},oa=function(e){var t,n,r=[],o=function(e){var t,n,r,o,i,a,s,u;return t=(n=e.getClientRects()).length>0?Di(n[0]):Di(e.getBoundingClientRect()),Qi(e)&&0===t.left?(i=(r=e).ownerDocument,a=ta(i),s=i.createTextNode("\xa0"),(u=r.parentNode).insertBefore(s,r),a.setStart(s,0),a.setEnd(s,1),o=Di(a.getBoundingClientRect()),u.removeChild(s),o):t},i=function(e,t){return(e=Oi(e,t)).width=1,e.right=e.left+1,e},a=function(e){0!==e.height&&(r.length>0&&Pi(e,r[r.length-1])||r.push(e))},s=function(e,t){var n=ta(e.ownerDocument);if(t<e.data.length){if(Vi(e.data[t]))return r;if(Vi(e.data[t-1])&&(n.setStart(e,t),n.setEnd(e,t+1),!ra(n)))return a(i(o(n),!1)),r}t>0&&(n.setStart(e,t-1),n.setEnd(e,t),ra(n)||a(i(o(n),!1))),t<e.data.length&&(n.setStart(e,t),n.setEnd(e,t+1),ra(n)||a(i(o(n),!0)))};if(Ji(e.container()))return s(e.container(),e.offset()),r;if($i(e.container()))if(e.isAtEnd())n=ea(e.container(),e.offset()),Ji(n)&&s(n,n.data.length),Yi(n)&&!Qi(n)&&a(i(o(n),!1));else{if(n=ea(e.container(),e.offset()),Ji(n)&&s(n,0),Yi(n)&&e.isAtEnd())return a(i(o(n),!1)),r;t=ea(e.container(),e.offset()-1),Yi(t)&&!Qi(t)&&(Ki(t)||Ki(n)||!Yi(n))&&a(i(o(t),!1)),Yi(n)&&a(i(o(n),!0))}return r},ia=function(e,t,n){var r=function(){return n||(n=oa(new ia(e,t))),n};return{container:ji.constant(e),offset:ji.constant(t),toRange:function(){var n;return(n=ta(e.ownerDocument)).setStart(e,t),n.setEnd(e,t),n},getClientRects:r,isVisible:function(){return r().length>0},isAtStart:function(){return Ji(e),0===t},isAtEnd:function(){return Ji(e)?t>=e.data.length:t>=e.childNodes.length},isEqual:function(n){return n&&e===n.container()&&t===n.offset()},getNode:function(n){return ea(e,n?t-1:t)}}};ia.fromRangeStart=function(e){return new ia(e.startContainer,e.startOffset)},ia.fromRangeEnd=function(e){return new ia(e.endContainer,e.endOffset)},ia.after=function(e){return new ia(e.parentNode,Zi(e)+1)},ia.before=function(e){return new ia(e.parentNode,Zi(e))},ia.isAtStart=function(e){return!!e&&e.isAtStart()},ia.isAtEnd=function(e){return!!e&&e.isAtEnd()},ia.isTextPosition=function(e){return!!e&&vo.isText(e.container())};var aa,sa,ua,ca,la,fa=vo.isContentEditableTrue,da=vo.isContentEditableFalse,ma=vo.matchStyleValues("display","block table table-cell table-caption list-item"),pa=mi.isCaretContainer,ga=mi.isCaretContainerBlock,ha=ji.curry,va=vo.isElement,ya=Ei,ba=function(e){return e>0},Ca=function(e){return e<0},xa=function(e,t){for(var n;n=e(t);)if(!ga(n))return n;return null},wa=function(e,t){for(e=e.parentNode;e&&e!==t;e=e.parentNode)if(fa(e))return e;return t},Na=function(e,t){for(;e&&e!==t;){if(ma(e))return e;e=e.parentNode}return null},Ea=function(e,t){var n=t.ownerDocument.createRange();return e?(n.setStartBefore(t),n.setEndBefore(t)):(n.setStartAfter(t),n.setEndAfter(t)),n},Sa=function(e,t,n){var r,o,i,a;for(o=e?"previousSibling":"nextSibling";n&&n!==t;){if(r=n[o],pa(r)&&(r=r[o]),da(r)){if(a=n,Na(r,i=t)===Na(a,i))return r;break}if(ya(r))break;n=n.parentNode}return null},ka=ha(Ea,!0),Ta=ha(Ea,!1),Aa=function(e,t){return da((n=e,(r=t)?(o=r.container(),i=r.offset(),va(o)?o.childNodes[i+n]:null):null));var n,r,o,i},_a={isForwards:ba,isBackwards:Ca,findNode:function(e,t,n,r,o){var i=new to(e,r);if(Ca(t)){if((da(e)||ga(e))&&n(e=xa(i.prev,!0)))return e;for(;e=xa(i.prev,o);)if(n(e))return e}if(ba(t)){if((da(e)||ga(e))&&n(e=xa(i.next,!0)))return e;for(;e=xa(i.next,o);)if(n(e))return e}return null},getEditingHost:wa,getParentBlock:Na,isInSameBlock:function(e,t,n){return Na(e.container(),n)===Na(t.container(),n)},isInSameEditingHost:function(e,t,n){return wa(e.container(),n)===wa(t.container(),n)},isBeforeContentEditableFalse:ha(Aa,0),isAfterContentEditableFalse:ha(Aa,-1),normalizeRange:function(e,t,n){var r,o,i,a,s=ha(Sa,!0,t),u=ha(Sa,!1,t);if(o=n.startContainer,i=n.startOffset,mi.isCaretContainerBlock(o)){if(va(o)||(o=o.parentNode),"before"===(a=o.getAttribute("data-mce-caret"))&&(r=o.nextSibling,da(r)))return ka(r);if("after"===a&&(r=o.previousSibling,da(r)))return Ta(r)}if(!n.collapsed)return n;if(vo.isText(o)){if(pa(o)){if(1===e){if(r=u(o))return ka(r);if(r=s(o))return Ta(r)}if(-1===e){if(r=s(o))return Ta(r);if(r=u(o))return ka(r)}return n}if(mi.endsWithCaretContainer(o)&&i>=o.data.length-1)return 1===e&&(r=u(o))?ka(r):n;if(mi.startsWithCaretContainer(o)&&i<=1)return-1===e&&(r=s(o))?Ta(r):n;if(i===o.data.length)return(r=u(o))?ka(r):n;if(0===i)return(r=s(o))?Ta(r):n}return n}},Ba=vo.isContentEditableFalse,Ra=vo.isText,Da=vo.isElement,Oa=vo.isBr,Pa=_a.isForwards,Ia=_a.isBackwards,La=Ei,Ma=Si,Fa=ki,za=function(e,t){return e.hasChildNodes()&&t<e.childNodes.length?e.childNodes[t]:null},Ua=function(e,t){if(Pa(e)){if(La(t.previousSibling)&&!Ra(t.previousSibling))return ia.before(t);if(Ra(t))return ia(t,0)}if(Ia(e)){if(La(t.nextSibling)&&!Ra(t.nextSibling))return ia.after(t);if(Ra(t))return ia(t,t.data.length)}return Ia(e)?Oa(t)?ia.before(t):ia.after(t):ia.before(t)},Va=function(e,t,n){var r,o,i,a,s,u,c,l,f,d;if(!Da(n)||!t)return null;if(t.isEqual(ia.after(n))&&n.lastChild){if(c=ia.after(n.lastChild),Ia(e)&&La(n.lastChild)&&Da(n.lastChild))return Oa(n.lastChild)?ia.before(n.lastChild):c}else c=t;if(r=c.container(),o=c.offset(),Ra(r)){if(Ia(e)&&o>0)return ia(r,--o);if(Pa(e)&&o<r.length)return ia(r,++o);i=r}else{if(Ia(e)&&o>0&&(a=za(r,o-1),La(a)))return!Ma(a)&&(s=_a.findNode(a,e,Fa,a))?Ra(s)?ia(s,s.data.length):ia.after(s):Ra(a)?ia(a,a.data.length):ia.before(a);if(Pa(e)&&o<r.childNodes.length&&(a=za(r,o),La(a)))return l=a,f=n,vo.isBr(l)&&(d=Va(1,ia.after(l),f))&&!_a.isInSameBlock(ia.before(l),ia.before(d),f)?Va(e,ia.after(a),n):!Ma(a)&&(s=_a.findNode(a,e,Fa,a))?Ra(s)?ia(s,0):ia.before(s):Ra(a)?ia(a,0):ia.after(a);i=c.getNode()}return(Pa(e)&&c.isAtEnd()||Ia(e)&&c.isAtStart())&&(i=_a.findNode(i,e,ji.constant(!0),n,!0),Fa(i,n))?Ua(e,i):(a=_a.findNode(i,e,Fa,n),!(u=At.last(At.filter(function(e,t){for(var n=[];e&&e!==t;)n.push(e),e=e.parentNode;return n}(r,n),Ba)))||a&&u.contains(a)?a?Ua(e,a):null:c=Pa(e)?ia.after(u):ia.before(u))},Ha=function(e){return{next:function(t){return Va(1,t,e)},prev:function(t){return Va(-1,t,e)}}},qa=function(e){return Ot.grep(e.childNodes,function(e){return"LI"===e.nodeName})},ja=function(e){return e&&e.firstChild&&e.firstChild===e.lastChild&&("\xa0"===(t=e.firstChild).data||vo.isBr(t));var t},$a=function(e){return e.length>0&&(!(t=e[e.length-1]).firstChild||ja(t))?e.slice(0,-1):e;var t},Wa=function(e,t){var n=e.getParent(t,e.isBlock);return n&&"LI"===n.nodeName?n:null},Ka=function(e,t){var n=ia.after(e),r=Ha(t).prev(n);return r?r.toRange():null},Xa=function(e,t,n){var r,o,i,a,s=e.parentNode;return Ot.each(t,function(t){s.insertBefore(t,e)}),r=e,o=n,i=ia.before(r),(a=Ha(o).next(i))?a.toRange():null},Ya=function(e,t){var n,r,o,i,a,s,u=t.firstChild,c=t.lastChild;return u&&"meta"===u.name&&(u=u.next),c&&"mce_marker"===c.attr("id")&&(c=c.prev),r=c,s=(n=e).getNonEmptyElements(),r&&(r.isEmpty(s)||(o=r,n.getBlockElements()[o.name]&&(a=o).firstChild&&a.firstChild===a.lastChild&&("br"===(i=o.firstChild).name||"\xa0"===i.value)))&&(c=c.prev),!(!u||u!==c||"ul"!==u.name&&"ol"!==u.name)},Ga=function(e,t,n,r){var o,i,a,s,u,c,l,f,d,m,p,g,h,v,y,b,C,x,w,N=(o=t,i=r,c=e.serialize(i),l=o.createFragment(c),s=(a=l).firstChild,u=a.lastChild,s&&"META"===s.nodeName&&s.parentNode.removeChild(s),u&&"mce_marker"===u.id&&u.parentNode.removeChild(u),a),E=Wa(t,n.startContainer),S=$a(qa(N.firstChild)),k=t.getRoot(),T=function(e){var r=ia.fromRangeStart(n),o=Ha(t.getRoot()),i=1===e?o.prev(r):o.next(r);return!i||Wa(t,i.getNode())!==E};return T(1)?Xa(E,S,k):T(2)?(f=E,d=S,m=k,t.insertAfter(d.reverse(),f),Ka(d[0],m)):(g=S,h=k,v=p=E,b=(y=n).cloneRange(),C=y.cloneRange(),b.setStartBefore(v),C.setEndAfter(v),x=[b.cloneContents(),C.cloneContents()],(w=p.parentNode).insertBefore(x[0],p),Ot.each(g,function(e){w.insertBefore(e,p)}),w.insertBefore(x[1],p),w.removeChild(p),Ka(g[g.length-1],h))},Ja=function(e,t){return!!Wa(e,t)},Qa=vo.isText,Za=vo.isBogus,es=Xo.nodeIndex,ts=function(e){var t=e.parentNode;return Za(t)?ts(t):t},ns=function(e){return e?At.reduce(e.childNodes,function(e,t){return Za(t)&&"BR"!==t.nodeName?e=e.concat(ns(t)):e.push(t),e},[]):[]},rs=function(e){return function(t){return e===t}},os=function(e){var t,n,r,o;return(Qa(e)?"text()":e.nodeName.toLowerCase())+"["+(n=ns(ts(t=e)),r=At.findIndex(n,rs(t),t),n=n.slice(0,r+1),o=At.reduce(n,function(e,t,r){return Qa(t)&&Qa(n[r-1])&&e++,e},0),n=At.filter(n,vo.matchNodeNames(t.nodeName)),(r=At.findIndex(n,rs(t),t))-o)+"]"},is=function(e,t){var n,r,o,i,a,s=[];return n=t.container(),r=t.offset(),Qa(n)?o=function(e,t){for(;(e=e.previousSibling)&&Qa(e);)t+=e.data.length;return t}(n,r):(r>=(i=n.childNodes).length?(o="after",r=i.length-1):o="before",n=i[r]),s.push(os(n)),a=function(e,t,n){var r=[];for(t=t.parentNode;!(t===e||n&&n(t));t=t.parentNode)r.push(t);return r}(e,n),a=At.filter(a,ji.negate(vo.isBogus)),(s=s.concat(At.map(a,function(e){return os(e)}))).reverse().join("/")+","+o},as=function(e,t){var n,r,o;return t?(t=(n=t.split(","))[0].split("/"),o=n.length>1?n[1]:"before",(r=At.reduce(t,function(e,t){return(t=/([\w\-\(\)]+)\[([0-9]+)\]/.exec(t))?("text()"===t[1]&&(t[1]="#text"),n=e,r=t[1],o=parseInt(t[2],10),i=ns(n),i=At.filter(i,function(e,t){return!Qa(e)||!Qa(i[t-1])}),(i=At.filter(i,vo.matchNodeNames(r)))[o]):null;var n,r,o,i},e))?Qa(r)?function(e,t){for(var n,r=e,o=0;Qa(r);){if(n=r.data.length,t>=o&&t<=o+n){e=r,t-=o;break}if(!Qa(r.nextSibling)){e=r,t=n;break}o+=n,r=r.nextSibling}return t>e.data.length&&(t=e.data.length),new ia(e,t)}(r,parseInt(o,10)):(o="after"===o?es(r)+1:es(r),new ia(r.parentNode,o)):null):null},ss=vo.isContentEditableFalse,us=function(e,t,n,r,o){var i,a=r[o?"startContainer":"endContainer"],s=r[o?"startOffset":"endOffset"],u=[],c=0,l=e.getRoot();for(vo.isText(a)?u.push(n?function(e,t,n){var r,o;for(o=e(t.data.slice(0,n)).length,r=t.previousSibling;r&&vo.isText(r);r=r.previousSibling)o+=e(r.data).length;return o}(t,a,s):s):(s>=(i=a.childNodes).length&&i.length&&(c=1,s=Math.max(0,i.length-1)),u.push(e.nodeIndex(i[s],n)+c));a&&a!==l;a=a.parentNode)u.push(e.nodeIndex(a,n));return u},cs=function(e){vo.isText(e)&&0===e.data.length&&e.parentNode.removeChild(e)},ls=function(e,t,n){var r=0;return Ot.each(e.select(t),function(e){if("all"!==e.getAttribute("data-mce-bogus"))return e!==n&&void r++}),r},fs=function(e,t){var n,r,o,i=t?"start":"end";n=e[i+"Container"],r=e[i+"Offset"],vo.isElement(n)&&"TR"===n.nodeName&&(n=(o=n.childNodes)[Math.min(t?r:r-1,o.length-1)])&&(r=t?0:n.childNodes.length,e["set"+(t?"Start":"End")](n,r))},ds=function(e){return fs(e,!0),fs(e,!1),e},ms=function(e,t){var n;if(vo.isElement(e)&&(e=zi(e,t),ss(e)))return e;if(mi.isCaretContainer(e)){if(vo.isText(e)&&mi.isCaretContainerBlock(e)&&(e=e.parentNode),n=e.previousSibling,ss(n))return n;if(n=e.nextSibling,ss(n))return n}},ps=function(e,t,n){var r,o,i,a,s,u,c,l=n.getNode(),f=l?l.nodeName:null,d=n.getRng();return ss(l)||"IMG"===f?{name:f,index:ls(n.dom,f,l)}:(l=ms((r=d).startContainer,r.startOffset)||ms(r.endContainer,r.endOffset))?{name:f=l.tagName,index:ls(n.dom,f,l)}:(o=e,a=t,s=d,u=(i=n).dom,(c={}).start=us(u,o,a,s,!0),i.isCollapsed()||(c.end=us(u,o,a,s,!1)),c)},gs={getBookmark:function(e,t,n){return 2===t?ps(ii,n,e):3===t?(o=(r=e).getRng(),{start:is(r.dom.getRoot(),ia.fromRangeStart(o)),end:is(r.dom.getRoot(),ia.fromRangeEnd(o))}):t?{rng:e.getRng()}:function(e){var t=e.dom,n=e.getRng(),r=t.uniqueId(),o=e.isCollapsed(),i="overflow:hidden;line-height:0px",a=e.getNode(),s=a.nodeName;if("IMG"===s)return{name:s,index:ls(t,s,a)};var u=ds(n.cloneRange());if(!o){u.collapse(!1);var c=t.create("span",{"data-mce-type":"bookmark",id:r+"_end",style:i},"");u.insertNode(c),cs(c.nextSibling)}(n=ds(n)).collapse(!0);var l=t.create("span",{"data-mce-type":"bookmark",id:r+"_start",style:i},"");return n.insertNode(l),cs(l.previousSibling),e.moveToBookmark({id:r,keep:1}),{id:r}}(e);var r,o},getUndoBookmark:y.curry(ps,y.identity,!0)},hs=function(e,t){for(var n=[],r=0;r<e.length;r++){var o=e[r];if(!o.isSome())return E.none();n.push(o.getOrDie())}return E.some(t.apply(null,n))},vs=function(e,t){return!e.isBlock(t)||t.innerHTML||me.ie||(t.innerHTML='<br data-mce-bogus="1" />'),t},ys=function(e,t,n,r){var o,i,a,s,u=n[t?"start":"end"],c=e.getRoot();if(u){for(a=u[0],i=c,o=u.length-1;o>=1;o--){if(s=i.childNodes,u[o]>s.length-1)return;i=s[u[o]]}3===i.nodeType&&(a=Math.min(u[0],i.nodeValue.length)),1===i.nodeType&&(a=Math.min(u[0],i.childNodes.length)),t?r.setStart(i,a):r.setEnd(i,a)}return!0},bs=function(e,t,n){var r,o,i,a,s,u,c=e.get(n.id+"_"+t),l=n.keep;if(c){if(r=c.parentNode,l?(r=c.firstChild,o=1):o=e.nodeIndex(c),s=r,u=o,!l){for(a=c.previousSibling,i=c.nextSibling,Ot.each(Ot.grep(c.childNodes),function(e){vo.isText(e)&&(e.nodeValue=e.nodeValue.replace(/\uFEFF/g,""))});c=e.get(n.id+"_"+t);)e.remove(c,1);a&&i&&a.nodeType===i.nodeType&&vo.isText(a)&&!me.opera&&(o=a.nodeValue.length,a.appendData(i.nodeValue),e.remove(i),s=a,u=o)}return E.some(ia(s,u))}return E.none()},Cs=function(e,t){var n,r,o,i,a,s,u,c,l,f,d,m,p,g,h,v=e.dom;if(t){if(Ot.isArray(t.start))return g=t,h=(p=v).createRng(),ys(p,!0,g,h)&&ys(p,!1,g,h)?E.some(h):E.none();if("string"==typeof t.start)return E.some((f=t,d=(l=v).createRng(),m=as(l.getRoot(),f.start),d.setStart(m.container(),m.offset()),m=as(l.getRoot(),f.end),d.setEnd(m.container(),m.offset()),d));if(t.id)return u=bs(o=v,"start",i=t),c=bs(o,"end",i),hs([u,(a=c,s=u,a.isSome()?a:s)],function(e,t){var n=o.createRng();return n.setStart(vs(o,e.container()),e.offset()),n.setEnd(vs(o,t.container()),t.offset()),n});if(t.name)return n=v,r=t,E.from(n.select(r.name)[r.index]).map(function(e){var t=n.createRng();return t.selectNode(e),t});if(t.rng)return E.some(t.rng)}return E.none()},xs={getBookmark:function(e,t,n){return gs.getBookmark(e,t,n)},moveToBookmark:function(e,t){Cs(e,t).each(function(t){e.setRng(t)})},isBookmarkNode:function(e){return vo.isElement(e)&&"SPAN"===e.tagName&&"bookmark"===e.getAttribute("data-mce-type")}},ws=Ot.each,Ns=function(e){this.compare=function(t,n){if(t.nodeName!==n.nodeName)return!1;var r=function(t){var n={};return ws(e.getAttribs(t),function(r){var o=r.nodeName.toLowerCase();0!==o.indexOf("_")&&"style"!==o&&0!==o.indexOf("data-")&&(n[o]=e.getAttrib(t,o))}),n},o=function(e,t){var n,r;for(r in e)if(e.hasOwnProperty(r)){if(void 0===(n=t[r]))return!1;if(e[r]!==n)return!1;delete t[r]}for(r in t)if(t.hasOwnProperty(r))return!1;return!0};return!(!o(r(t),r(n))||!o(e.parseStyle(e.getAttrib(t,"style")),e.parseStyle(e.getAttrib(n,"style")))||xs.isBookmarkNode(t)||xs.isBookmarkNode(n))}},Es=function(e,t){Ur.parent(e).each(function(n){n.dom().insertBefore(t.dom(),e.dom())})},Ss=function(e,t){e.dom().appendChild(t.dom())},ks={before:Es,after:function(e,t){Ur.nextSibling(e).fold(function(){Ur.parent(e).each(function(e){Ss(e,t)})},function(e){Es(e,t)})},prepend:function(e,t){Ur.firstChild(e).fold(function(){Ss(e,t)},function(n){e.dom().insertBefore(t.dom(),n.dom())})},append:Ss,appendAt:function(e,t,n){Ur.child(e,n).fold(function(){Ss(e,t)},function(e){Es(e,t)})},wrap:function(e,t){Es(e,t),Ss(t,e)}},Ts=function(e,t){M.each(t,function(t){ks.before(e,t)})},As=function(e,t){M.each(t,function(t){ks.append(e,t)})},_s=function(e){var t=e.dom();null!==t.parentNode&&t.parentNode.removeChild(t)},Bs={empty:function(e){e.dom().textContent="",M.each(Ur.children(e),function(e){_s(e)})},remove:_s,unwrap:function(e){var t=Ur.children(e);t.length>0&&Ts(e,t),_s(e)}},Rs=(aa=Zn.isText,sa="text",ua=function(e){return aa(e)?E.from(e.dom().nodeValue):E.none()},ca=Un.detect().browser,{get:function(e){if(!aa(e))throw new Error("Can only get "+sa+" value of a "+sa+" node");return la(e).getOr("")},getOption:la=ca.isIE()&&10===ca.version.major?function(e){try{return ua(e)}catch(yC){return E.none()}}:ua,set:function(e,t){if(!aa(e))throw new Error("Can only set raw "+sa+" value of a "+sa+" node");e.dom().nodeValue=t}}),Ds=function(e){return Rs.get(e)},Os=function(e,t){return _r.all(t,e)},Ps=function(e){var t=Os(e,"br"),n=M.filter(function(e){for(var t=[],n=e.dom();n;)t.push(Hn.fromDom(n)),n=n.lastChild;return t}(e).slice(-1),io.isBr);t.length===n.length&&M.each(n,Bs.remove)},Is=function(e){Bs.empty(e),ks.append(e,Hn.fromHtml('<br data-mce-bogus="1">'))},Ls=function(e){Ur.lastChild(e).each(function(t){Ur.prevSibling(t).each(function(n){io.isBlock(e)&&io.isBr(t)&&io.isBlock(n)&&Bs.remove(t)})})},Ms=Ot.makeMap,Fs=function(e){var t,n,r,o,i,a=[];return t=(e=e||{}).indent,n=Ms(e.indent_before||""),r=Ms(e.indent_after||""),o=Ao.getEncodeFunc(e.entity_encoding||"raw",e.entities),i="html"===e.element_format,{start:function(e,s,u){var c,l,f,d;if(t&&n[e]&&a.length>0&&(d=a[a.length-1]).length>0&&"\n"!==d&&a.push("\n"),a.push("<",e),s)for(c=0,l=s.length;c<l;c++)f=s[c],a.push(" ",f.name,'="',o(f.value,!0),'"');a[a.length]=!u||i?">":" />",u&&t&&r[e]&&a.length>0&&(d=a[a.length-1]).length>0&&"\n"!==d&&a.push("\n")},end:function(e){var n;a.push("</",e,">"),t&&r[e]&&a.length>0&&(n=a[a.length-1]).length>0&&"\n"!==n&&a.push("\n")},text:function(e,t){e.length>0&&(a[a.length]=t?e:o(e))},cdata:function(e){a.push("<![CDATA[",e,"]]>")},comment:function(e){a.push("\x3c!--",e,"--\x3e")},pi:function(e,n){n?a.push("<?",e," ",o(n),"?>"):a.push("<?",e,"?>"),t&&a.push("\n")},doctype:function(e){a.push("<!DOCTYPE",e,">",t?"\n":"")},reset:function(){a.length=0},getContent:function(){return a.join("").replace(/\n$/,"")}}},zs=function(e,t){var n={},r=Fs(e);return(e=e||{}).validate=!("validate"in e)||e.validate,n.schema=t=t||Fo(),n.writer=r,n.serialize=function(n){var o,i;i=e.validate,o={3:function(e){r.text(e.value,e.raw)},8:function(e){r.comment(e.value)},7:function(e){r.pi(e.name,e.value)},10:function(e){r.doctype(e.value)},4:function(e){r.cdata(e.value)},11:function(e){if(e=e.firstChild)do{a(e)}while(e=e.next)}},r.reset();var a=function(e){var n,s,u,c,l,f,d,m,p,g=o[e.type];if(g)g(e);else{if(n=e.name,s=e.shortEnded,u=e.attributes,i&&u&&u.length>1&&((f=[]).map={},p=t.getElementRule(e.name))){for(d=0,m=p.attributesOrder.length;d<m;d++)(c=p.attributesOrder[d])in u.map&&(l=u.map[c],f.map[c]=l,f.push({name:c,value:l}));for(d=0,m=u.length;d<m;d++)(c=u[d].name)in f.map||(l=u.map[c],f.map[c]=l,f.push({name:c,value:l}));u=f}if(r.start(e.name,u,s),!s){if(e=e.firstChild)do{a(e)}while(e=e.next);r.end(n)}}};return 1!==n.type||e.inner?o[11](n):a(n),r.getContent()},n},Us=function(e){return ia.isTextPosition(e)?0===e.offset():Ei(e.getNode())},Vs=function(e){return ia.isTextPosition(e)?e.offset()===e.container().data.length:Ei(e.getNode(!0))},Hs=function(e,t){return!ia.isTextPosition(e)&&!ia.isTextPosition(t)&&e.getNode()===t.getNode(!0)},qs=function(e,t,n){return e?!Hs(t,n)&&(r=t,!(!ia.isTextPosition(r)&&vo.isBr(r.getNode())))&&Vs(t)&&Us(n):!Hs(n,t)&&Us(t)&&Vs(n);var r},js=function(e,t,n){var r=Ha(t);return E.from(e?r.next(n):r.prev(n))},$s=function(e,t){var n,r,o,i,a,s=e?t.firstChild:t.lastChild;return vo.isText(s)?E.some(new ia(s,e?0:s.data.length)):s?Ei(s)?E.some(e?ia.before(s):(a=s,vo.isBr(a)?ia.before(a):ia.after(a))):(r=t,o=s,i=(n=e)?ia.before(o):ia.after(o),js(n,r,i)):E.none()},Ws={fromPosition:js,nextPosition:y.curry(js,!0),prevPosition:y.curry(js,!1),navigate:function(e,t,n){return js(e,t,n).bind(function(r){return _a.isInSameBlock(n,r,t)&&qs(e,n,r)?js(e,t,r):E.some(r)})},positionIn:$s,firstPositionIn:y.curry($s,!0),lastPositionIn:y.curry($s,!1)},Ks=function(e){var t=ia.fromRangeStart(e),n=ia.fromRangeEnd(e),r=e.commonAncestorContainer;return Ws.fromPosition(!1,r,n).map(function(o){return!_a.isInSameBlock(t,n,r)&&_a.isInSameBlock(t,o,r)?(i=t.container(),a=t.offset(),s=o.container(),u=o.offset(),(c=document.createRange()).setStart(i,a),c.setEnd(s,u),c):e;var i,a,s,u,c}).getOr(e)},Xs=function(e){return(t=e).collapsed?t:Ks(t);var t},Ys=vo.matchNodeNames("td th"),Gs=function(e,t,n){var r,o,i,a,s,u,c,l,f,d,m,p,g=e.schema.getTextInlineElements(),h=e.selection,v=e.dom;if(/^ | $/.test(t)&&(t=function(e){var t,n,r;t=h.getRng(),n=t.startContainer,r=t.startOffset;var o=function(e){return n[e]&&3===n[e].nodeType};return 3===n.nodeType&&(r>0?e=e.replace(/^ /," "):o("previousSibling")||(e=e.replace(/^ /," ")),r<n.length?e=e.replace(/ (<br>|)$/," "):o("nextSibling")||(e=e.replace(/( | )(<br>|)$/," "))),e}(t)),r=e.parser,p=n.merge,o=zs({validate:e.settings.validate},e.schema),m='<span id="mce_marker" data-mce-type="bookmark">​</span>',u={content:t,format:"html",selection:!0,paste:n.paste},(u=e.fire("BeforeSetContent",u)).isDefaultPrevented())e.fire("SetContent",{content:u.content,format:"html",selection:!0,paste:n.paste});else{-1===(t=u.content).indexOf("{$caret}")&&(t+="{$caret}"),t=t.replace(/\{\$caret\}/,m);var y,b,C,x,w=(l=h.getRng()).startContainer||(l.parentElement?l.parentElement():null),N=e.getBody();w===N&&h.isCollapsed()&&v.isBlock(N.firstChild)&&(y=N.firstChild)&&!e.schema.getShortEndedElements()[y.nodeName]&&v.isEmpty(N.firstChild)&&((l=v.createRng()).setStart(N.firstChild,0),l.setEnd(N.firstChild,0),h.setRng(l)),h.isCollapsed()||(e.selection.setRng(Xs(e.selection.getRng())),e.getDoc().execCommand("Delete",!1,null),C=(b=h.getRng()).startContainer,x=b.startOffset,3===C.nodeType&&b.collapsed&&("\xa0"===C.data[x]?(C.deleteData(x,1),/[\u00a0| ]$/.test(t)||(t+=" ")):"\xa0"===C.data[x-1]&&(C.deleteData(x-1,1),/[\u00a0| ]$/.test(t)||(t=" "+t))));var S,k,T,A={context:(i=h.getNode()).nodeName.toLowerCase(),data:n.data,insert:!0};if(s=r.parse(t,A),!0===n.paste&&Ya(e.schema,s)&&Ja(v,i))return l=Ga(o,v,e.selection.getRng(!0),s),e.selection.setRng(l),void e.fire("SetContent",u);if(function(e){for(var t=e;t=t.walk();)1===t.type&&t.attr("data-mce-fragment","1")}(s),"mce_marker"===(f=s.lastChild).attr("id"))for(c=f,f=f.prev;f;f=f.walk(!0))if(3===f.type||!v.isBlock(f.name)){e.schema.isValidChild(f.parent.name,"span")&&f.parent.insert(c,f,"br"===f.name);break}if(e._selectionOverrides.showBlockCaretContainer(i),A.invalid){for(h.setContent(m),i=h.getNode(),a=e.getBody(),9===i.nodeType?i=f=a:f=i;f!==a;)i=f,f=f.parentNode;t=i===a?a.innerHTML:v.getOuterHTML(i),t=o.serialize(r.parse(t.replace(/<span (id="mce_marker"|id=mce_marker).+?<\/span>/i,function(){return o.serialize(s)}))),i===a?v.setHTML(a,t):v.setOuterHTML(i,t)}else t=o.serialize(s),function(e,t,n){if("all"===n.getAttribute("data-mce-bogus"))n.parentNode.insertBefore(e.dom.createFragment(t),n);else{var r=n.firstChild,o=n.lastChild;!r||r===o&&"BR"===r.nodeName?e.dom.setHTML(n,t):e.selection.setContent(t)}}(e,t,i);!function(){if(p){var t=e.getBody(),n=new Ns(v);Ot.each(v.select("*[data-mce-fragment]"),function(e){for(var r=e.parentNode;r&&r!==t;r=r.parentNode)g[e.nodeName.toLowerCase()]&&n.compare(r,e)&&v.remove(e,!0)})}}(),function(t){var n,r,o;if(t){if(h.scrollIntoView(t),n=function(t){for(var n=e.getBody();t&&t!==n;t=t.parentNode)if("false"===e.dom.getContentEditable(t))return t;return null}(t))return v.remove(t),void h.select(n);l=v.createRng(),(f=t.previousSibling)&&3===f.nodeType?(l.setStart(f,f.nodeValue.length),me.ie||(d=t.nextSibling)&&3===d.nodeType&&(f.appendData(d.data),d.parentNode.removeChild(d))):(l.setStartBefore(t),l.setEndBefore(t)),r=v.getParent(t,v.isBlock),v.remove(t),r&&v.isEmpty(r)&&(e.$(r).empty(),l.setStart(r,0),l.setEnd(r,0),Ys(r)||r.getAttribute("data-mce-fragment")||!(o=function(t){var n=ia.fromRangeStart(t);if(n=Ha(e.getBody()).next(n))return n.toRange()}(l))?v.add(r,v.create("br",{"data-mce-bogus":"1"})):(l=o,v.remove(r))),h.setRng(l)}}(v.get("mce_marker")),S=e.getBody(),Ot.each(S.getElementsByTagName("*"),function(e){e.removeAttribute("data-mce-fragment")}),k=e.dom,T=e.selection.getStart(),E.from(k.getParent(T,"td,th")).map(Hn.fromDom).each(Ls),e.fire("SetContent",u),e.addVisual()}},Js=function(e,t){var n,r,o="string"!=typeof(n=t)?(r=Ot.extend({paste:n.paste,data:{paste:n.paste}},n),{content:n.content,details:r}):{content:n,details:{}};Gs(e,o.content,o.details)},Qs=function(e,t,n,r,o){return e(n,r)?E.some(n):tr.isFunction(o)&&o(n)?E.none():t(n,r,o)},Zs=function(e,t,n){for(var r=e.dom(),o=tr.isFunction(n)?n:y.constant(!1);r.parentNode;){r=r.parentNode;var i=Hn.fromDom(r);if(t(i))return E.some(i);if(o(i))break}return E.none()},eu=function(e,t){return M.find(e.dom().childNodes,y.compose(t,Hn.fromDom)).map(Hn.fromDom)},tu=function(e,t){var n=function(e){for(var r=0;r<e.childNodes.length;r++){if(t(Hn.fromDom(e.childNodes[r])))return E.some(Hn.fromDom(e.childNodes[r]));var o=n(e.childNodes[r]);if(o.isSome())return o}return E.none()};return n(e.dom())},nu={first:function(e){return tu(gr.body(),e)},ancestor:Zs,closest:function(e,t,n){return Qs(function(e){return t(e)},Zs,e,t,n)},sibling:function(e,t){var n=e.dom();return n.parentNode?eu(Hn.fromDom(n.parentNode),function(n){return!Dr.eq(e,n)&&t(n)}):E.none()},child:eu,descendant:tu},ru=xr("sections","settings"),ou=Un.detect().deviceType.isTouch(),iu=["lists","autolink","autosave"],au={theme:"mobile"},su=function(e){var t=tr.isArray(e)?e.join(" "):e,n=M.map(tr.isString(t)?t.split(" "):[],On);return M.filter(n,function(e){return e.length>0})},uu=function(e,t){return e.sections().hasOwnProperty(t)},cu=function(e,t,n,r){var o,i,a=su(n.forced_plugins),s=su(r.plugins),u=e&&uu(t,"mobile")?(o=s,M.filter(o,y.curry(M.contains,iu))):s,c=(i=u,[].concat(su(a)).concat(su(i)));return Ot.extend(r,{plugins:c.join(" ")})},lu=function(e,t,n,r){var o,i,a,s,u,c,l,f,d,m,p,g,h,v=(o=["mobile"],i=r,a=sr.bifilter(i,function(e,t){return M.contains(o,t)}),ru(a.t,a.f)),y=Ot.extend(t,n,v.settings(),(p=e,h=(g=v).settings().inline,p&&uu(g,"mobile")&&!h?(l="mobile",f=au,d=v.sections(),m=d.hasOwnProperty(l)?d[l]:{},Ot.extend({},f,m)):{}),{validate:!0,content_editable:v.settings().inline,external_plugins:(s=n,u=v.settings(),c=u.external_plugins?u.external_plugins:{},s&&s.external_plugins?Ot.extend({},s.external_plugins,c):c)});return cu(e,v,n,y)},fu=function(e,t,n){return E.from(t.settings[n]).filter(e)},du=y.curry(fu,tr.isString),mu=function(e,t,n,r){var o,i,a=t in e.settings?e.settings[t]:n;return"hash"===r?(i={},"string"==typeof(o=a)?M.each(o.indexOf("=")>0?o.split(/[;,](?![^=;,]*(?:[;,]|$))/):o.split(","),function(e){(e=e.split("=")).length>1?i[Ot.trim(e[0])]=Ot.trim(e[1]):i[Ot.trim(e[0])]=Ot.trim(e)}):i=o,i):"string"===r?fu(tr.isString,e,t).getOr(n):"number"===r?fu(tr.isNumber,e,t).getOr(n):"boolean"===r?fu(tr.isBoolean,e,t).getOr(n):"object"===r?fu(tr.isObject,e,t).getOr(n):"array"===r?fu(tr.isArray,e,t).getOr(n):"function"===r?fu(tr.isFunction,e,t).getOr(n):a},pu=/[\u0591-\u07FF\uFB1D-\uFDFF\uFE70-\uFEFC]/,gu=function(e){return pu.test(e)},hu=function(e,t){var n=t.container(),r=t.offset();return e?mi.isCaretContainerInline(n)?vo.isText(n.nextSibling)?new ia(n.nextSibling,0):ia.after(n):mi.isBeforeInline(t)?new ia(n,r+1):t:mi.isCaretContainerInline(n)?vo.isText(n.previousSibling)?new ia(n.previousSibling,n.previousSibling.data.length):ia.before(n):mi.isAfterInline(t)?new ia(n,r-1):t},vu={isInlineTarget:function(e,t){var n=du(e,"inline_boundaries_selector").getOr("a[href],code");return _r.is(Hn.fromDom(t),n)},findRootInline:function(e,t,n){var r,o,i,a=(r=e,o=t,i=n,M.filter(Xo.DOM.getParents(i.container(),"*",o),r));return E.from(a[a.length-1])},isRtl:function(e){return"rtl"===Xo.DOM.getStyle(e,"direction",!0)||gu(e.textContent)},isAtZwsp:function(e){return mi.isBeforeInline(e)||mi.isAfterInline(e)},normalizePosition:hu,normalizeForwards:y.curry(hu,!0),normalizeBackwards:y.curry(hu,!1),hasSameParentBlock:function(e,t,n){var r=_a.getParentBlock(t,e),o=_a.getParentBlock(n,e);return r&&r===o}},yu=function(e,t){return Dr.contains(e,t)?nu.closest(t,function(e){return io.isTextBlock(e)||io.isListItem(e)},(n=e,function(e){return Dr.eq(n,Hn.fromDom(e.dom().parentNode))})):E.none();var n},bu=function(e){var t,n,r;e.dom.isEmpty(e.getBody())&&(e.setContent(""),n=(t=e).getBody(),r=n.firstChild&&t.dom.isBlock(n.firstChild)?n.firstChild:n,t.selection.setCursorLocation(r,0))},Cu=function(e,t,n){return hs([Ws.firstPositionIn(n),Ws.lastPositionIn(n)],function(r,o){var i=vu.normalizePosition(!0,r),a=vu.normalizePosition(!1,o),s=vu.normalizePosition(!1,t);return e?Ws.nextPosition(n,s).map(function(e){return e.isEqual(a)&&t.isEqual(i)}).getOr(!1):Ws.prevPosition(n,s).map(function(e){return e.isEqual(i)&&t.isEqual(a)}).getOr(!1)}).getOr(!0)},xu=function(e,t,n){return nu.ancestor(e,function(e){return _r.is(e,t)},n)},wu=xu,Nu=function(e,t){return _r.one(t,e)},Eu=function(e,t,n){return Qs(_r.is,xu,e,t,n)},Su=function(e,t,n){return wu(e,t,n).isSome()},ku=function(e,t){return vo.isText(t)&&/^[ \t\r\n]*$/.test(t.data)&&!1===(n=e,r=t,o=Hn.fromDom(n),i=Hn.fromDom(r),Su(i,"pre,code",y.curry(Dr.eq,o)));var n,r,o,i},Tu=function(e,t){return Ei(t)&&!1===ku(e,t)||(n=t,vo.isElement(n)&&"A"===n.nodeName&&n.hasAttribute("name"))||Au(t);var n},Au=vo.hasAttribute("data-mce-bookmark"),_u=vo.hasAttribute("data-mce-bogus"),Bu=vo.hasAttributeValue("data-mce-bogus","all"),Ru=function(e){return function(e){var t,n,r=0;if(Tu(e,e))return!1;if(!(n=e.firstChild))return!0;t=new to(n,e);do{if(Bu(n))n=t.next(!0);else if(_u(n))n=t.next();else if(vo.isBr(n))r++,n=t.next();else{if(Tu(e,n))return!1;n=t.next()}}while(n);return r<=1}(e.dom())},Du=xr("block","position"),Ou=xr("from","to"),Pu=function(e,t){var n=Hn.fromDom(e),r=Hn.fromDom(t.container());return yu(n,r).map(function(e){return Du(e,t)})},Iu=function(e,t,n){var r=Pu(e,ia.fromRangeStart(n)),o=r.bind(function(n){return Ws.fromPosition(t,e,n.position()).bind(function(n){return Pu(e,n).map(function(n){return r=e,o=t,i=n,vo.isBr(i.position().getNode())&&!1===Ru(i.block())?Ws.positionIn(!1,i.block().dom()).bind(function(e){return e.isEqual(i.position())?Ws.fromPosition(o,r,e).bind(function(e){return Pu(r,e)}):E.some(i)}).getOr(i):i;var r,o,i})})});return hs([r,o],Ou).filter(function(e){return r=e,!1===Dr.eq(r.from().block(),r.to().block())&&(n=e,Ur.parent(n.from().block()).bind(function(e){return Ur.parent(n.to().block()).filter(function(t){return Dr.eq(e,t)})}).isSome())&&(t=e,!1===vo.isContentEditableFalse(t.from().block())&&!1===vo.isContentEditableFalse(t.to().block()));var t,n,r})},Lu=function(e,t,n){return n.collapsed?Iu(e,t,n):E.none()},Mu=function(e,t,n){return Dr.contains(t,e)?Ur.parents(e,function(e){return n(e)||Dr.eq(e,t)}).slice(0,-1):[]},Fu=function(e,t){return Mu(e,t,y.constant(!1))},zu=Fu,Uu=function(e,t){return[e].concat(Fu(e,t))},Vu=function(e){var t,n,r=(t=e,n=Ur.children(t),M.findIndex(n,io.isBlock).fold(function(){return n},function(e){return n.slice(0,e)}));return M.each(r,function(e){Bs.remove(e)}),r},Hu=function(e,t){Ws.positionIn(e,t.dom()).each(function(e){var t=e.getNode();vo.isBr(t)&&Bs.remove(Hn.fromDom(t))})},qu=function(e,t){var n=Uu(t,e);return M.find(n.reverse(),Ru).each(Bs.remove)},ju=function(e,t){return Dr.contains(t,e)?Ur.parent(e).bind(function(n){return Dr.eq(n,t)?E.some(e):(r=t,o=e,i=Ur.parents(o,function(e){return Dr.eq(e,r)}),E.from(i[i.length-2]));var r,o,i}):E.none()},$u=function(e,t,n){if(Ru(n))return Bs.remove(n),Ru(t)&&Is(t),Ws.firstPositionIn(t.dom());Hu(!0,t),Hu(!1,n);var r=Vu(t);return ju(t,n).fold(function(){qu(e,t);var o=Ws.lastPositionIn(n.dom());return M.each(r,function(e){ks.append(n,e)}),o},function(o){var i=Ws.prevPosition(n.dom(),ia.before(o.dom()));return M.each(r,function(e){ks.before(o,e)}),qu(e,t),i})},Wu=function(e,t,n,r){return t?$u(e,r,n):$u(e,n,r)},Ku=function(e,t){var n,r=Hn.fromDom(e.getBody());return(n=Lu(r.dom(),t,e.selection.getRng()).bind(function(e){return Wu(r,t,e.from().block(),e.to().block())})).each(function(t){e.selection.setRng(t.toRange())}),n.isSome()},Xu=function(e,t){var n=Hn.fromDom(t),r=y.curry(Dr.eq,e);return nu.ancestor(n,io.isTableCell,r).isSome()},Yu=function(e,t){var n,r,o=Ws.prevPosition(e.dom(),ia.fromRangeStart(t)).isNone(),i=Ws.nextPosition(e.dom(),ia.fromRangeEnd(t)).isNone();return!(Xu(n=e,(r=t).startContainer)||Xu(n,r.endContainer))&&o&&i},Gu=function(e){var t,n,r,o,i=Hn.fromDom(e.getBody()),a=e.selection.getRng();return Yu(i,a)?((o=e).setContent(""),o.selection.setCursorLocation(),!0):(t=i,n=e.selection,r=n.getRng(),hs([yu(t,Hn.fromDom(r.startContainer)),yu(t,Hn.fromDom(r.endContainer))],function(e,o){return!1===Dr.eq(e,o)&&(r.deleteContents(),Wu(t,!0,e,o).each(function(e){n.setRng(e.toRange())}),!0)}).getOr(!1))},Ju=function(e,t){return!e.selection.isCollapsed()&&Gu(e)},Qu=function(e){if(!tr.isArray(e))throw new Error("cases must be an array");if(0===e.length)throw new Error("there must be at least one case");var t=[],n={};return M.each(e,function(r,o){var i=sr.keys(r);if(1!==i.length)throw new Error("one and only one name per case");var a=i[0],s=r[a];if(n[a]!==undefined)throw new Error("duplicate key detected:"+a);if("cata"===a)throw new Error("cannot have a case named cata (sorry)");if(!tr.isArray(s))throw new Error("case arguments must be an array");t.push(a),n[a]=function(){var n=arguments.length;if(n!==s.length)throw new Error("Wrong number of arguments to case "+a+". Expected "+s.length+" ("+s+"), got "+n);for(var r=new Array(n),i=0;i<r.length;i++)r[i]=arguments[i];return{fold:function(){if(arguments.length!==e.length)throw new Error("Wrong number of arguments to fold. Expected "+e.length+", got "+arguments.length);return arguments[o].apply(null,r)},match:function(e){var n=sr.keys(e);if(t.length!==n.length)throw new Error("Wrong number of arguments to match. Expected: "+t.join(",")+"\nActual: "+n.join(","));if(!M.forall(t,function(e){return M.contains(n,e)}))throw new Error("Not all branches were specified when using match. Specified: "+n.join(", ")+"\nRequired: "+t.join(", "));return e[a].apply(null,r)},log:function(e){console.log(e,{constructors:t,constructor:a,params:r})}}}}),n},Zu=Qu([{remove:["element"]},{moveToElement:["element"]},{moveToPosition:["position"]}]),ec=function(e,t,n,r){var o=r.getNode(!1===t);return yu(Hn.fromDom(e),Hn.fromDom(n.getNode())).map(function(e){return Ru(e)?Zu.remove(e.dom()):Zu.moveToElement(o)}).orThunk(function(){return E.some(Zu.moveToElement(o))})},tc=function(e,t,n){return Ws.fromPosition(t,e,n).bind(function(r){return t&&vo.isContentEditableFalse(r.getNode())?ec(e,t,n,r):!1===t&&vo.isContentEditableFalse(r.getNode(!0))?ec(e,t,n,r):t&&_a.isAfterContentEditableFalse(n)?E.some(Zu.moveToPosition(r)):!1===t&&_a.isBeforeContentEditableFalse(n)?E.some(Zu.moveToPosition(r)):E.none()})},nc=function(e,t,n){return i=t,a=n.getNode(!1===i),s=i?"after":"before",vo.isElement(a)&&a.getAttribute("data-mce-caret")===s?(r=t,o=n.getNode(!1===t),r&&vo.isContentEditableFalse(o.nextSibling)?E.some(Zu.moveToElement(o.nextSibling)):!1===r&&vo.isContentEditableFalse(o.previousSibling)?E.some(Zu.moveToElement(o.previousSibling)):E.none()).fold(function(){return tc(e,t,n)},E.some):tc(e,t,n).bind(function(t){return r=e,o=n,t.fold(function(e){return E.some(Zu.remove(e))},function(e){return E.some(Zu.moveToElement(e))},function(e){return _a.isInSameBlock(o,e,r)?E.none():E.some(Zu.moveToPosition(e))});var r,o});var r,o,i,a,s},rc=function(e,t,n){var r=_a.normalizeRange(t?1:-1,e,n),o=ia.fromRangeStart(r);return!1===t&&_a.isAfterContentEditableFalse(o)?E.some(Zu.remove(o.getNode(!0))):t&&_a.isBeforeContentEditableFalse(o)?E.some(Zu.remove(o.getNode())):nc(e,t,o)},oc=function(e,t){return r=e,o=(n=t).container(),i=n.offset(),!1===ia.isTextPosition(n)&&o===r.parentNode&&i>ia.before(r).offset()?new ia(t.container(),t.offset()-1):t;var n,r,o,i},ic=function(e){return Ei(e.previousSibling)?E.some((t=e.previousSibling,vo.isText(t)?new ia(t,t.data.length):ia.after(t))):e.previousSibling?Ws.lastPositionIn(e.previousSibling):E.none();var t},ac=function(e){return Ei(e.nextSibling)?E.some((t=e.nextSibling,vo.isText(t)?new ia(t,0):ia.before(t))):e.nextSibling?Ws.firstPositionIn(e.nextSibling):E.none();var t},sc=function(e,t){return ic(t).orThunk(function(){return ac(t)}).orThunk(function(){return n=e,r=t,o=ia.before(r.previousSibling?r.previousSibling:r.parentNode),Ws.prevPosition(n,o).fold(function(){return Ws.nextPosition(n,ia.after(r))},E.some);var n,r,o})},uc=function(e,t){return ac(t).orThunk(function(){return ic(t)}).orThunk(function(){return n=e,r=t,Ws.nextPosition(n,ia.after(r)).fold(function(){return Ws.prevPosition(n,ia.before(r))},E.some);var n,r})},cc=function(e,t,n){return(r=e,o=t,i=n,r?uc(o,i):sc(o,i)).map(y.curry(oc,n));var r,o,i},lc=function(e,t,n){n.fold(function(){e.focus()},function(n){e.selection.setRng(n.toRange(),t)})},fc=function(e,t){return t&&e.schema.getBlockElements().hasOwnProperty(Zn.name(t))},dc=function(e){if(Ru(e)){var t=Hn.fromHtml('<br data-mce-bogus="1">');return Bs.empty(e),ks.append(e,t),E.some(ia.before(t.dom()))}return E.none()},mc=function(e,t,n){var r,o,i,a=cc(t,e.getBody(),n.dom()),s=nu.ancestor(n,y.curry(fc,e),(r=e.getBody(),function(e){return e.dom()===r})),u=(o=n,i=a,hs([Ur.prevSibling(o),Ur.nextSibling(o),i],function(e,t,n){var r,i=e.dom(),a=t.dom();return vo.isText(i)&&vo.isText(a)?(r=i.data.length,i.appendData(a.data),Bs.remove(t),Bs.remove(o),n.container()===a?new ia(i,r):n):(Bs.remove(o),n)}).orThunk(function(){return Bs.remove(o),i}));e.dom.isEmpty(e.getBody())?(e.setContent(""),e.selection.setCursorLocation()):s.bind(dc).fold(function(){lc(e,t,u)},function(n){lc(e,t,E.some(n))})},pc=function(e,t){return rc(e.getBody(),t,e.selection.getRng()).map(function(n){return n.fold((a=e,s=t,function(e){return a._selectionOverrides.hideFakeCaret(),mc(a,s,Hn.fromDom(e)),!0}),(o=e,i=t,function(e){var t=i?ia.before(e):ia.after(e);return o.selection.setRng(t.toRange()),!0}),(r=e,function(e){return r.selection.setRng(e.toRange()),!0}));var r,o,i,a,s}).getOr(!1)},gc=function(e,t){var n,r=e.selection.getNode();return!!vo.isContentEditableFalse(r)&&(n=Hn.fromDom(e.getBody()),M.each(Os(n,".mce-offscreen-selection"),Bs.remove),mc(e,t,Hn.fromDom(e.selection.getNode())),bu(e),!0)},hc=function(e,t){return e.selection.isCollapsed()?pc(e,t):gc(e,t)},vc=function(e){var t,n=function(e,t){for(;t&&t!==e;){if(vo.isContentEditableTrue(t)||vo.isContentEditableFalse(t))return t;t=t.parentNode}return null}(e.getBody(),e.selection.getNode());return vo.isContentEditableTrue(n)&&e.dom.isBlock(n)&&e.dom.isEmpty(n)&&(t=e.dom.create("br",{"data-mce-bogus":"1"}),e.dom.setHTML(n,""),n.appendChild(t),e.selection.setRng(ia.before(t).toRange())),!0},yc=vo.isText,bc=function(e){return yc(e)&&e.data[0]===oi},Cc=function(e){return yc(e)&&e.data[e.data.length-1]===oi},xc=function(e){return e.ownerDocument.createTextNode(oi)},wc=function(e,t){return e?function(e){if(yc(e.previousSibling))return Cc(e.previousSibling)?e.previousSibling:(e.previousSibling.appendData(oi),e.previousSibling);if(yc(e))return bc(e)?e:(e.insertData(0,oi),e);var t=xc(e);return e.parentNode.insertBefore(t,e),t}(t):function(e){if(yc(e.nextSibling))return bc(e.nextSibling)?e.nextSibling:(e.nextSibling.insertData(0,oi),e.nextSibling);if(yc(e))return Cc(e)?e:(e.appendData(oi),e);var t=xc(e);return e.nextSibling?e.parentNode.insertBefore(t,e.nextSibling):e.parentNode.appendChild(t),t}(t)},Nc={insertInline:wc,insertInlineBefore:y.curry(wc,!0),insertInlineAfter:y.curry(wc,!1)},Ec=vo.isElement,Sc=vo.isText,kc=function(e){var t=e.parentNode;t&&t.removeChild(e)},Tc=function(e,t){0===t.length?kc(e):e.nodeValue=t},Ac=function(e){var t=ii(e);return{count:e.length-t.length,text:t}},_c=function(e,t){return Dc(e),t},Bc=function(e,t){return t.container()===e?(r=t,o=Ac((n=e).data.substr(0,r.offset())),i=Ac(n.data.substr(r.offset())),(a=o.text+i.text).length>0?(Tc(n,a),new ia(n,r.offset()-o.count)):r):_c(e,t);var n,r,o,i,a},Rc=function(e,t){return t.container()===e.parentNode?(n=e,o=(r=t).container(),i=M.indexOf(o.childNodes,n).map(function(e){return e<r.offset()?new ia(o,r.offset()-1):r}).getOr(r),Dc(n),i):_c(e,t);var n,r,o,i},Dc=function(e){if(Ec(e)&&mi.isCaretContainer(e)&&(mi.hasContent(e)?e.removeAttribute("data-mce-caret"):kc(e)),Sc(e)){var t=ii(function(e){try{return e.nodeValue}catch(t){return""}}(e));Tc(e,t)}},Oc={removeAndReposition:function(e,t){return ia.isTextPosition(t)?Bc(e,t):Rc(e,t)},remove:Dc},Pc=function(e,t){return vo.isText(e.container())?Nc.insertInline(t,e.container()):Nc.insertInline(t,e.getNode())},Ic=function(e,t){var n=t.get();return n&&e.container()===n&&mi.isCaretContainerInline(n)},Lc=function(e,t){return t.fold(function(t){Oc.remove(e.get());var n=Nc.insertInlineBefore(t);return e.set(n),E.some(new ia(n,n.length-1))},function(t){return Ws.firstPositionIn(t).map(function(t){if(Ic(t,e))return new ia(e.get(),1);Oc.remove(e.get());var n=Pc(t,!0);return e.set(n),new ia(n,1)})},function(t){return Ws.lastPositionIn(t).map(function(t){if(Ic(t,e))return new ia(e.get(),e.get().length-1);Oc.remove(e.get());var n=Pc(t,!1);return e.set(n),new ia(n,n.length-1)})},function(t){Oc.remove(e.get());var n=Nc.insertInlineAfter(t);return e.set(n),E.some(new ia(n,1))})},Mc=function(e){return e&&/^(IMG)$/.test(e.nodeName)},Fc=function(e){return e&&3===e.nodeType&&/^([\t \r\n]+|)$/.test(e.nodeValue)},zc=function(e,t,n){return"color"!==n&&"backgroundColor"!==n||(t=e.toHex(t)),"fontWeight"===n&&700===t&&(t="bold"),"fontFamily"===n&&(t=t.replace(/[\'\"]/g,"").replace(/,\s+/g,",")),""+t},Uc={isInlineBlock:Mc,moveStart:function(e,t,n){var r,o,i,a=n.startContainer,s=n.startOffset;if((n.startContainer!==n.endContainer||!Mc(n.startContainer.childNodes[n.startOffset]))&&(3===a.nodeType&&s>=a.nodeValue.length&&(s=e.nodeIndex(a),a=a.parentNode),1===a.nodeType))for(s<(i=a.childNodes).length?(a=i[s],r=new to(a,e.getParent(a,e.isBlock))):(a=i[i.length-1],(r=new to(a,e.getParent(a,e.isBlock))).next(!0)),o=r.current();o;o=r.next())if(3===o.nodeType&&!Fc(o))return n.setStart(o,0),void t.setRng(n)},getNonWhiteSpaceSibling:function(e,t,n){if(e)for(t=t?"nextSibling":"previousSibling",e=n?e:e[t];e;e=e[t])if(1===e.nodeType||!Fc(e))return e},isTextBlock:function(e,t){return t.nodeType&&(t=t.nodeName),!!e.schema.getTextBlockElements()[t.toLowerCase()]},isValid:function(e,t,n){return e.schema.isValidChild(t,n)},isWhiteSpaceNode:Fc,replaceVars:function(e,t){return"string"!=typeof e?e=e(t):t&&(e=e.replace(/%(\w+)/g,function(e,n){return t[n]||e})),e},isEq:function(e,t){return e=e||"",t=t||"",e=""+(e.nodeName||e),t=""+(t.nodeName||t),e.toLowerCase()===t.toLowerCase()},normalizeStyleValue:zc,getStyle:function(e,t,n){return zc(e,e.getStyle(t,n),n)},getTextDecoration:function(e,t){var n;return e.getParent(t,function(t){return(n=e.getStyle(t,"text-decoration"))&&"none"!==n}),n},getParents:function(e,t,n){return e.getParents(t,n,e.getRoot())}},Vc=xs.isBookmarkNode,Hc=Uc.getParents,qc=Uc.isWhiteSpaceNode,jc=Uc.isTextBlock,$c=function(e,t){for(void 0===t&&(t=3===e.nodeType?e.length:e.childNodes.length);e&&e.hasChildNodes();)(e=e.childNodes[t])&&(t=3===e.nodeType?e.length:e.childNodes.length);return{node:e,offset:t}},Wc=function(e,t){for(var n=t;n;){if(1===n.nodeType&&e.getContentEditable(n))return"false"===e.getContentEditable(n)?n:t;n=n.parentNode}return t},Kc=function(e,t,n,r){var o,i,a=n.nodeValue;return void 0===r&&(r=e?a.length:0),e?-1===(o=(o=a.lastIndexOf(" ",r))>(i=a.lastIndexOf("\xa0",r))?o:i)||t||o++:(o=a.indexOf(" ",r),i=a.indexOf("\xa0",r),o=-1!==o&&(-1===i||o<i)?o:i),o},Xc=function(e,t,n,r,o,i){var a,s,u,c;if(3===n.nodeType){if(-1!==(u=Kc(o,i,n,r)))return{container:n,offset:u};c=n}for(a=new to(n,e.getParent(n,e.isBlock)||t);s=a[o?"prev":"next"]();)if(3===s.nodeType){if(c=s,-1!==(u=Kc(o,i,s)))return{container:s,offset:u}}else if(e.isBlock(s))break;if(c)return{container:c,offset:r=o?0:c.length}},Yc=function(e,t,n,r,o){var i,a,s,u;for(3===r.nodeType&&0===r.nodeValue.length&&r[o]&&(r=r[o]),i=Hc(e,r),a=0;a<i.length;a++)for(s=0;s<t.length;s++)if(!("collapsed"in(u=t[s])&&u.collapsed!==n.collapsed)&&e.is(i[a],u.selector))return i[a];return r},Gc=function(e,t,n,r){var o,i=e.dom,a=i.getRoot();if(t[0].wrapper||(o=i.getParent(n,t[0].block,a)),!o){var s=i.getParent(n,"LI,TD,TH");o=i.getParent(3===n.nodeType?n.parentNode:n,function(t){return t!==a&&jc(e,t)},s)}if(o&&t[0].wrapper&&(o=Hc(i,o,"ul,ol").reverse()[0]||o),!o)for(o=n;o[r]&&!i.isBlock(o[r])&&(o=o[r],!Uc.isEq(o,"br")););return o||n},Jc=function(e,t,n,r,o,i,a){var s,u,c,l,f,d;if(s=u=a?n:o,l=a?"previousSibling":"nextSibling",f=e.getRoot(),3===s.nodeType&&!qc(s)&&(a?r>0:i<s.nodeValue.length))return s;for(;;){if(!t[0].block_expand&&e.isBlock(u))return u;for(c=u[l];c;c=c[l])if(!Vc(c)&&!qc(c)&&("BR"!==(d=c).nodeName||!d.getAttribute("data-mce-bogus")||d.nextSibling))return u;if(u===f||u.parentNode===f){s=u;break}u=u.parentNode}return s},Qc=function(e,t,n,r){var o,i=t.startContainer,a=t.startOffset,s=t.endContainer,u=t.endOffset,c=e.dom;return 1===i.nodeType&&i.hasChildNodes()&&3===(i=zi(i,a)).nodeType&&(a=0),1===s.nodeType&&s.hasChildNodes()&&3===(s=zi(s,t.collapsed?u:u-1)).nodeType&&(u=s.nodeValue.length),i=Wc(c,i),s=Wc(c,s),(Vc(i.parentNode)||Vc(i))&&3===(i=(i=Vc(i)?i:i.parentNode).nextSibling||i).nodeType&&(a=0),(Vc(s.parentNode)||Vc(s))&&3===(s=(s=Vc(s)?s:s.parentNode).previousSibling||s).nodeType&&(u=s.length),n[0].inline&&(t.collapsed&&((o=Xc(c,e.getBody(),i,a,!0,r))&&(i=o.container,a=o.offset),(o=Xc(c,e.getBody(),s,u,!1,r))&&(s=o.container,u=o.offset)),s=r?s:function(e,t){var n=$c(e,t);if(n.node){for(;n.node&&0===n.offset&&n.node.previousSibling;)n=$c(n.node.previousSibling);n.node&&n.offset>0&&3===n.node.nodeType&&" "===n.node.nodeValue.charAt(n.offset-1)&&n.offset>1&&(e=n.node).splitText(n.offset-1)}return e}(s,u)),(n[0].inline||n[0].block_expand)&&(n[0].inline&&3===i.nodeType&&0!==a||(i=Jc(c,n,i,a,s,u,!0)),n[0].inline&&3===s.nodeType&&u!==s.nodeValue.length||(s=Jc(c,n,i,a,s,u,!1))),n[0].selector&&!1!==n[0].expand&&!n[0].inline&&(i=Yc(c,n,t,i,"previousSibling"),s=Yc(c,n,t,s,"nextSibling")),(n[0].block||n[0].selector)&&(i=Gc(e,n,i,"previousSibling"),s=Gc(e,n,s,"nextSibling"),n[0].block&&(c.isBlock(i)||(i=Jc(c,n,i,a,s,u,!0)),c.isBlock(s)||(s=Jc(c,n,i,a,s,u,!1)))),1===i.nodeType&&(a=c.nodeIndex(i),i=i.parentNode),1===s.nodeType&&(u=c.nodeIndex(s)+1,s=s.parentNode),{startContainer:i,startOffset:a,endContainer:s,endOffset:u}},Zc=Uc.isEq,el=function(e,t,n){var r=e.formatter.get(n);if(r)for(var o=0;o<r.length;o++)if(!1===r[o].inherit&&e.dom.is(t,r[o].selector))return!0;return!1},tl=function(e,t,n,r){var o=e.dom.getRoot();return t!==o&&(t=e.dom.getParent(t,function(t){return!!el(e,t,n)||t.parentNode===o||!!ol(e,t,n,r,!0)}),ol(e,t,n,r))},nl=function(e,t,n){return!!Zc(t,n.inline)||!!Zc(t,n.block)||(n.selector?1===t.nodeType&&e.is(t,n.selector):void 0)},rl=function(e,t,n,r,o,i){var a,s,u,c=n[r];if(n.onmatch)return n.onmatch(t,n,r);if(c)if("undefined"==typeof c.length){for(a in c)if(c.hasOwnProperty(a)){if(s="attributes"===r?e.getAttrib(t,a):Uc.getStyle(e,t,a),o&&!s&&!n.exact)return;if((!o||n.exact)&&!Zc(s,Uc.normalizeStyleValue(e,Uc.replaceVars(c[a],i),a)))return}}else for(u=0;u<c.length;u++)if("attributes"===r?e.getAttrib(t,c[u]):Uc.getStyle(e,t,c[u]))return n;return n},ol=function(e,t,n,r,o){var i,a,s,u,c=e.formatter.get(n),l=e.dom;if(c&&t)for(a=0;a<c.length;a++)if(i=c[a],nl(e.dom,t,i)&&rl(l,t,i,"attributes",o,r)&&rl(l,t,i,"styles",o,r)){if(u=i.classes)for(s=0;s<u.length;s++)if(!e.dom.hasClass(t,u[s]))return;return i}},il={matchNode:ol,matchName:nl,match:function(e,t,n,r){var o;return r?tl(e,r,t,n):(r=e.selection.getNode(),!!tl(e,r,t,n)||!((o=e.selection.getStart())===r||!tl(e,o,t,n)))},matchAll:function(e,t,n){var r,o=[],i={};return r=e.selection.getStart(),e.dom.getParent(r,function(r){var a,s;for(a=0;a<t.length;a++)s=t[a],!i[s]&&ol(e,r,s,n)&&(i[s]=!0,o.push(s))},e.dom.getRoot()),o},canApply:function(e,t){var n,r,o,i,a,s=e.formatter.get(t),u=e.dom;if(s)for(n=e.selection.getStart(),r=Uc.getParents(u,n),i=s.length-1;i>=0;i--){if(!(a=s[i].selector)||s[i].defaultBlock)return!0;for(o=r.length-1;o>=0;o--)if(u.is(r[o],a))return!0}return!1},matchesUnInheritedFormatSelector:el},al=function(e,t){return e.splitText(t)},sl={split:function(e){var t=e.startContainer,n=e.startOffset,r=e.endContainer,o=e.endOffset;return t===r&&vo.isText(t)?n>0&&n<t.nodeValue.length&&(t=(r=al(t,n)).previousSibling,o>n?(t=r=al(r,o-=n).previousSibling,o=r.nodeValue.length,n=0):o=0):(vo.isText(t)&&n>0&&n<t.nodeValue.length&&(t=al(t,n),n=0),vo.isText(r)&&o>0&&o<r.nodeValue.length&&(o=(r=al(r,o).previousSibling).nodeValue.length)),{startContainer:t,startOffset:n,endContainer:r,endOffset:o}}},ul=oi,cl="_mce_caret",ll=function(e){return 1===e.nodeType&&e.id===cl},fl=function(e){return function(e){for(var t=[];e;){if(3===e.nodeType&&e.nodeValue!==ul||e.childNodes.length>1)return[];1===e.nodeType&&t.push(e),e=e.firstChild}return t}(e).length>0},dl=function(e){var t;if(e)for(e=(t=new to(e,e)).current();e;e=t.next())if(3===e.nodeType)return e;return null},ml=function(e){var t=Hn.fromTag("span");return dr.setAll(t,{id:cl,"data-mce-bogus":"1","data-mce-type":"format-caret"}),e&&ks.append(t,Hn.fromText(ul)),t},pl=function(e,t){for(;t&&t!==e;){if(t.id===cl)return t;t=t.parentNode}return null},gl=function(e,t,n,r){var o,i,a,s;o=t.getRng(!0),i=e.getParent(n,e.isBlock),fl(n)?(!1!==r&&(o.setStartBefore(n),o.setEndBefore(n)),e.remove(n)):((s=dl(n))&&s.nodeValue.charAt(0)===ul&&s.deleteData(0,1),a=s,o.startContainer===a&&o.startOffset>0&&o.setStart(a,o.startOffset-1),o.endContainer===a&&o.endOffset>0&&o.setEnd(a,o.endOffset-1),e.remove(n,!0)),i&&e.isEmpty(i)&&Is(Hn.fromDom(i)),t.setRng(o)},hl=function(e,t,n,r,o){if(r)gl(t,n,r,o);else if(!(r=pl(e,n.getStart())))for(;r=t.get(cl);)gl(t,n,r,!1)},vl=function(e,t,n){var r=e.dom,o=r.getParent(n,ji.curry(Uc.isTextBlock,e));o&&r.isEmpty(o)?n.parentNode.replaceChild(t,n):(Ps(Hn.fromDom(n)),r.isEmpty(n)?n.parentNode.replaceChild(t,n):r.insertAfter(t,n))},yl=function(e,t){return e.appendChild(t),t},bl=function(e,t){var n=M.foldr(e,function(e,t){return yl(e,t.cloneNode(!1))},t);return yl(n,n.ownerDocument.createTextNode(ul))},Cl=function(e){var t=e.dom,n=e.selection,r=e.getBody();e.on("mouseup keydown",function(e){var o,i,a,s;o=r,i=t,a=n,s=e.keyCode,hl(o,i,a,null,!1),8===s&&a.isCollapsed()&&a.getStart().innerHTML===ul&&hl(o,i,a,pl(o,a.getStart())),37!==s&&39!==s||hl(o,i,a,pl(o,a.getStart()))})},xl=function(e,t,n){var r,o,i,a,s,u,c=e.selection;a=(r=c.getRng(!0)).startOffset,u=r.startContainer.nodeValue,(o=pl(e.getBody(),c.getStart()))&&(i=dl(o));var l,f,d=/[^\s\u00a0\u00ad\u200b\ufeff]/;u&&a>0&&a<u.length&&d.test(u.charAt(a))&&d.test(u.charAt(a-1))?(s=c.getBookmark(),r.collapse(!0),r=Qc(e,r,e.formatter.get(t)),r=sl.split(r),e.formatter.apply(t,n,r),c.moveToBookmark(s)):(o&&i.nodeValue===ul?e.formatter.apply(t,n,o):(l=e.getDoc(),f=ml(!0).dom(),i=(o=l.importNode(f,!0)).firstChild,r.insertNode(o),a=1,e.formatter.apply(t,n,o)),c.setCursorLocation(i,a))},wl=function(e,t,n,r){var o,i,a,s,u,c,l,f=e.dom,d=e.selection,m=[],p=d.getRng();for(o=p.startContainer,i=p.startOffset,u=o,3===o.nodeType&&(i!==o.nodeValue.length&&(s=!0),u=u.parentNode);u;){if(il.matchNode(e,u,t,n,r)){c=u;break}u.nextSibling&&(s=!0),m.push(u),u=u.parentNode}if(c)if(s){a=d.getBookmark(),p.collapse(!0);var g=Qc(e,p,e.formatter.get(t),!0);g=sl.split(g),e.formatter.remove(t,n,g),d.moveToBookmark(a)}else{l=pl(e.getBody(),c);var h=ml(!1).dom(),v=bl(m,h);vl(e,h,l||c),gl(f,d,l,!1),d.setCursorLocation(v,1),f.isEmpty(c)&&f.remove(c)}},Nl=ll,El=pl,Sl=function(e,t){var n=ml(!1),r=bl(t,n.dom());return ks.before(Hn.fromDom(e),n),Bs.remove(Hn.fromDom(e)),ia(r,0)},kl=function(e,t){return e.schema.getTextInlineElements().hasOwnProperty(Zn.name(t))&&!ll(t.dom())&&!vo.isBogus(t.dom())},Tl=function(e,t){for(var n=0;n<e.length;n++){var r=e[n].apply(null,t);if(r.isSome())return r}return E.none()},Al=Qu([{before:["element"]},{start:["element"]},{end:["element"]},{after:["element"]}]),_l=function(e,t){var n=_a.getParentBlock(t,e);return n||e},Bl=function(e,t,n){var r=vu.normalizeForwards(n),o=_l(t,r.container());return vu.findRootInline(e,o,r).fold(function(){return Ws.nextPosition(o,r).bind(y.curry(vu.findRootInline,e,o)).map(function(e){return Al.before(e)})},E.none)},Rl=function(e,t){return null===El(e,t)},Dl=function(e,t,n){return vu.findRootInline(e,t,n).filter(y.curry(Rl,t))},Ol=function(e,t,n){var r=vu.normalizeBackwards(n);return Dl(e,t,r).bind(function(e){return Ws.prevPosition(e,r).isNone()?E.some(Al.start(e)):E.none()})},Pl=function(e,t,n){var r=vu.normalizeForwards(n);return Dl(e,t,r).bind(function(e){return Ws.nextPosition(e,r).isNone()?E.some(Al.end(e)):E.none()})},Il=function(e,t,n){var r=vu.normalizeBackwards(n),o=_l(t,r.container());return vu.findRootInline(e,o,r).fold(function(){return Ws.prevPosition(o,r).bind(y.curry(vu.findRootInline,e,o)).map(function(e){return Al.after(e)})},E.none)},Ll=function(e){return!1===vu.isRtl(Fl(e))},Ml=function(e,t,n){return Tl([Bl,Ol,Pl,Il],[e,t,n]).filter(Ll)},Fl=function(e){return e.fold(y.identity,y.identity,y.identity,y.identity)},zl=function(e){return e.fold(y.constant("before"),y.constant("start"),y.constant("end"),y.constant("after"))},Ul=function(e){return e.fold(Al.before,Al.before,Al.after,Al.after)},Vl=function(e,t,n,r,o,i){return hs([vu.findRootInline(t,n,r),vu.findRootInline(t,n,o)],function(t,r){return t!==r&&vu.hasSameParentBlock(n,t,r)?Al.after(e?t:r):i}).getOr(i)},Hl=function(e,t){return e.fold(y.constant(!0),function(e){return r=t,!(zl(n=e)===zl(r)&&Fl(n)===Fl(r));var n,r})},ql=function(e,t){return e?t.fold(y.compose(E.some,Al.start),E.none,y.compose(E.some,Al.after),E.none):t.fold(E.none,y.compose(E.some,Al.before),E.none,y.compose(E.some,Al.end))},jl=function(e,t,n,r){var o=vu.normalizePosition(e,r),i=Ml(t,n,o);return Ml(t,n,o).bind(y.curry(ql,e)).orThunk(function(){return o=e,a=t,s=n,u=i,c=r,l=vu.normalizePosition(o,c),Ws.fromPosition(o,s,l).map(y.curry(vu.normalizePosition,o)).fold(function(){return u.map(Ul)},function(e){return Ml(a,s,e).map(y.curry(Vl,o,a,s,l,e)).filter(y.curry(Hl,u))}).filter(Ll);var o,a,s,u,c,l})},$l=Ml,Wl=jl,Kl=(y.curry(jl,!1),y.curry(jl,!0),Ul),Xl=function(e){return e.fold(Al.start,Al.start,Al.end,Al.end)},Yl=function(e){var t=e,n=function(){return t};return{get:n,set:function(e){t=e},clone:function(){return Yl(n())}}},Gl=function(e){return tr.isFunction(e.selection.getSel().modify)},Jl=function(e,t,n){var r=e?1:-1;return t.setRng(ia(n.container(),n.offset()+r).toRange()),t.getSel().modify("move",e?"forward":"backward","word"),!0},Ql=function(e,t){var n=t.selection.getRng(),r=e?ia.fromRangeEnd(n):ia.fromRangeStart(n);return!!Gl(t)&&(e&&mi.isBeforeInline(r)?Jl(!0,t.selection,r):!(e||!mi.isAfterInline(r))&&Jl(!1,t.selection,r))},Zl=function(e,t){var n=e.dom.createRng();n.setStart(t.container(),t.offset()),n.setEnd(t.container(),t.offset()),e.selection.setRng(n)},ef=function(e){return!1!==e.settings.inline_boundaries},tf=function(e,t){e?t.setAttribute("data-mce-selected","inline-boundary"):t.removeAttribute("data-mce-selected")},nf=function(e,t,n){return Lc(t,n).map(function(t){return Zl(e,t),n})},rf=function(e,t,n){return function(){return!!ef(t)&&Ql(e,t)}},of={move:function(e,t,n){return function(){return!!ef(e)&&(r=e,o=t,i=n,a=r.getBody(),s=ia.fromRangeStart(r.selection.getRng()),u=y.curry(vu.isInlineTarget,r),Wl(i,u,a,s).bind(function(e){return nf(r,o,e)})).isSome();var r,o,i,a,s,u}},moveNextWord:y.curry(rf,!0),movePrevWord:y.curry(rf,!1),setupSelectedState:function(e){var t=new Yl(null),n=y.curry(vu.isInlineTarget,e);return e.on("NodeChange",function(r){var o,i,a,s,u;ef(e)&&(o=n,i=e.dom,a=r.parents,s=M.filter(i.select('*[data-mce-selected="inline-boundary"]'),o),u=M.filter(a,o),M.each(M.difference(s,u),y.curry(tf,!1)),M.each(M.difference(u,s),y.curry(tf,!0)),function(e,t){if(e.selection.isCollapsed()&&!0!==e.composing&&t.get()){var n=ia.fromRangeStart(e.selection.getRng());ia.isTextPosition(n)&&!1===vu.isAtZwsp(n)&&(Zl(e,Oc.removeAndReposition(t.get(),n)),t.set(null))}}(e,t),function(e,t,n,r){if(t.selection.isCollapsed()){var o=M.filter(r,e);M.each(o,function(r){var o=ia.fromRangeStart(t.selection.getRng());$l(e,t.getBody(),o).bind(function(e){return nf(t,n,e)})})}}(n,e,t,r.parents))}),t},setCaretPosition:Zl},af=function(e,t){return function(n){return Lc(t,n).map(function(t){return of.setCaretPosition(e,t),!0}).getOr(!1)}},sf=function(e,t,n,r){var o=e.getBody(),i=y.curry(vu.isInlineTarget,e);e.undoManager.ignore(function(){var a,s,u;e.selection.setRng((a=n,s=r,(u=document.createRange()).setStart(a.container(),a.offset()),u.setEnd(s.container(),s.offset()),u)),e.execCommand("Delete"),$l(i,o,ia.fromRangeStart(e.selection.getRng())).map(Xl).map(af(e,t))}),e.nodeChanged()},uf=function(e,t,n,r){var o,i,a=(o=e.getBody(),i=r.container(),_a.getParentBlock(i,o)||o),s=y.curry(vu.isInlineTarget,e),u=$l(s,a,r);return u.bind(function(e){return n?e.fold(y.constant(E.some(Xl(e))),E.none,y.constant(E.some(Kl(e))),E.none):e.fold(E.none,y.constant(E.some(Kl(e))),E.none,y.constant(E.some(Xl(e))))}).map(af(e,t)).getOrThunk(function(){var o=Ws.navigate(n,a,r),i=o.bind(function(e){return $l(s,a,e)});return u.isSome()&&i.isSome()?vu.findRootInline(s,a,r).map(function(t){return r=t,!!hs([Ws.firstPositionIn(r),Ws.lastPositionIn(r)],function(e,t){var n=vu.normalizePosition(!0,e),o=vu.normalizePosition(!1,t);return Ws.nextPosition(r,n).map(function(e){return e.isEqual(o)}).getOr(!0)}).getOr(!0)&&(mc(e,n,Hn.fromDom(t)),!0);var r}).getOr(!1):i.bind(function(i){return o.map(function(o){return n?sf(e,t,r,o):sf(e,t,o,r),!0})}).getOr(!1)})},cf=function(e,t,n){if(e.selection.isCollapsed()&&!1!==e.settings.inline_boundaries){var r=ia.fromRangeStart(e.selection.getRng());return uf(e,t,n,r)}return!1},lf=xr("start","end"),ff=xr("rng","table","cells"),df=Qu([{removeTable:["element"]},{emptyCells:["cells"]}]),mf=function(e,t){return Eu(Hn.fromDom(e),"td,th",t)},pf=function(e,t){return wu(e,"table",t)},gf=function(e){return!1===Dr.eq(e.start(),e.end())},hf=function(e,t){return(n=e,r=t,pf(n.start(),r).bind(function(e){return pf(n.end(),r).bind(function(t){return Dr.eq(e,t)?E.some(e):E.none()})})).bind(function(t){var n=Os(t,"td,th");return ff(e,t,n)});var n,r},vf=function(e,t){var n,r,o=y.curry(Dr.eq,e);return(n=t,r=o,hs([mf(n.startContainer,r),mf(n.endContainer,r)],lf).filter(gf)).map(function(e){return hf(e,o)})},yf=function(e,t){return M.findIndex(e,function(e){return Dr.eq(e,t)})},bf=function(e){return(t=e,hs([yf(t.cells(),t.rng().start()),yf(t.cells(),t.rng().end())],function(e,n){return t.cells().slice(e,n+1)})).bind(function(t){var n=e.cells();return t.length===n.length?df.removeTable(e.table()):df.emptyCells(t)});var t},Cf=function(e,t){return vf(e,t).map(bf)},xf=function(e){var t=[];if(e)for(var n=0;n<e.rangeCount;n++)t.push(e.getRangeAt(n));return t},wf=xf,Nf=function(e){return M.bind(e,function(e){var t=Fi(e);return t?[Hn.fromDom(t)]:[]})},Ef=function(e){return xf(e).length>1},Sf=function(e){return M.filter(Nf(e),io.isTableCell)},kf=function(e){return Os(e,"td[data-mce-selected],th[data-mce-selected]")},Tf=function(e,t){var n=kf(t),r=Sf(e);return n.length>0?n:r},Af=Tf,_f=function(e){return Tf(wf(e.selection.getSel()),Hn.fromDom(e.getBody()))},Bf=function(e,t){return M.each(t,Is),e.selection.setCursorLocation(t[0].dom(),0),!0},Rf=function(e,t){return mc(e,!1,t),!0},Df=function(e,t,n,r){return Pf(t,r).fold(function(){return r=e,Cf(t,n).map(function(e){return e.fold(y.curry(Rf,r),y.curry(Bf,r))});var r},function(t){return If(e,t)}).getOr(!1)},Of=function(e,t){return M.find(Uu(t,e),io.isTableCell)},Pf=function(e,t){return M.find(Uu(t,e),function(e){return"caption"===Zn.name(e)})},If=function(e,t){return Is(t),e.selection.setCursorLocation(t.dom(),0),E.some(!0)},Lf=function(e,t,n,r,o){return Ws.navigate(n,e.getBody(),o).bind(function(i){return u=r,c=n,l=o,f=i,Ws.firstPositionIn(u.dom()).bind(function(e){return Ws.lastPositionIn(u.dom()).map(function(t){return c?l.isEqual(e)&&f.isEqual(t):l.isEqual(t)&&f.isEqual(e)})}).getOr(!0)?If(e,r):(a=r,s=i,Pf(t,Hn.fromDom(s.getNode())).map(function(e){return!1===Dr.eq(e,a)}));var a,s,u,c,l,f}).or(E.some(!0))},Mf=function(e,t,n,r){var o=ia.fromRangeStart(e.selection.getRng());return Of(n,r).bind(function(r){return Ru(r)?If(e,r):(i=e,a=n,s=t,u=r,c=o,Ws.navigate(s,i.getBody(),c).bind(function(e){return Of(a,Hn.fromDom(e.getNode())).map(function(e){return!1===Dr.eq(e,u)})}));var i,a,s,u,c})},Ff=function(e,t,n){var r=Hn.fromDom(e.getBody());return Pf(r,n).fold(function(){return Mf(e,t,r,n)},function(n){return o=e,i=t,a=r,s=n,u=ia.fromRangeStart(o.selection.getRng()),Ru(s)?If(o,s):Lf(o,a,i,s,u);var o,i,a,s,u}).getOr(!1)},zf=function(e,t){var n,r,o,i,a,s=Hn.fromDom(e.selection.getStart(!0));return e.selection.isCollapsed()?Ff(e,t,s):(n=e,r=s,o=Hn.fromDom(n.getBody()),i=n.selection.getRng(),0!==(a=_f(n)).length?Bf(n,a):Df(n,o,i,r))},Uf=function(e,t){e.getDoc().execCommand(t,!1,null)},Vf=function(e){hc(e,!1)||cf(e,!1)||Ku(e,!1)||zf(e)||Ju(e,!1)||(Uf(e,"Delete"),bu(e))},Hf=function(e){hc(e,!0)||cf(e,!0)||Ku(e,!0)||zf(e)||Ju(e,!0)||Uf(e,"ForwardDelete")},qf=function(e,t){return e&&t&&e.startContainer===t.startContainer&&e.startOffset===t.startOffset&&e.endContainer===t.endContainer&&e.endOffset===t.endOffset},jf=xr("container","offset"),$f=function(e,t,n){return null!==function(e,t,n){for(;e&&e!==t;){if(n(e))return e;e=e.parentNode}return null}(e,t,n)},Wf=function(e,t,n){return $f(e,t,function(e){return e.nodeName===n})},Kf=function(e){return e&&"TABLE"===e.nodeName},Xf=function(e,t,n){for(var r=new to(t,e.getParent(t.parentNode,e.isBlock)||e.getRoot());t=r[n?"prev":"next"]();)if(vo.isBr(t))return!0},Yf=function(e,t,n,r,o){var i,a,s,u,c,l,f=e.getRoot(),d=e.schema.getNonEmptyElements();if(s=e.getParent(o.parentNode,e.isBlock)||f,r&&vo.isBr(o)&&t&&e.isEmpty(s))return E.some(jf(o.parentNode,e.nodeIndex(o)));for(i=new to(o,s);u=i[r?"prev":"next"]();){if("false"===e.getContentEditableParent(u)||(c=u,l=f,mi.isCaretContainer(c)&&!1===$f(c,l,Nl)))return E.none();if(vo.isText(u)&&u.nodeValue.length>0)return!1===Wf(u,f,"A")?E.some(jf(u,r?u.nodeValue.length:0)):E.none();if(e.isBlock(u)||d[u.nodeName.toLowerCase()])return E.none();a=u}return n&&a?E.some(jf(a,0)):E.none()},Gf=function(e,t,n,r){var o,i,a,s,u,c,l,f,d,m,p=e.getRoot(),g=!1;if(o=r[(n?"start":"end")+"Container"],i=r[(n?"start":"end")+"Offset"],l=vo.isElement(o)&&i===o.childNodes.length,u=e.schema.getNonEmptyElements(),c=n,mi.isCaretContainer(o))return E.none();if(vo.isElement(o)&&i>o.childNodes.length-1&&(c=!1),vo.isDocument(o)&&(o=p,i=0),o===p){if(c&&(s=o.childNodes[i>0?i-1:0])){if(mi.isCaretContainer(s))return E.none();if(u[s.nodeName]||Kf(s))return E.none()}if(o.hasChildNodes()){if(i=Math.min(!c&&i>0?i-1:i,o.childNodes.length-1),o=o.childNodes[i],i=vo.isText(o)&&l?o.data.length:0,!t&&o===p.lastChild&&Kf(o))return E.none();if(function(e,t){for(;t&&t!==e;){if(vo.isContentEditableFalse(t))return!0;t=t.parentNode}return!1}(p,o)||mi.isCaretContainer(o))return E.none();if(o.hasChildNodes()&&!1===Kf(o)){s=o,a=new to(o,p);do{if(vo.isContentEditableFalse(s)||mi.isCaretContainer(s)){g=!1;break}if(vo.isText(s)&&s.nodeValue.length>0){i=c?0:s.nodeValue.length,o=s,g=!0;break}if(u[s.nodeName.toLowerCase()]&&(!(f=s)||!/^(TD|TH|CAPTION)$/.test(f.nodeName))){i=e.nodeIndex(s),o=s.parentNode,"IMG"!==s.nodeName&&"PRE"!==s.nodeName||c||i++,g=!0;break}}while(s=c?a.next():a.prev())}}}return t&&(vo.isText(o)&&0===i&&Yf(e,l,t,!0,o).each(function(e){o=e.container(),i=e.offset(),g=!0}),vo.isElement(o)&&((s=o.childNodes[i])||(s=o.childNodes[i-1]),!s||!vo.isBr(s)||(m="A",(d=s).previousSibling&&d.previousSibling.nodeName===m)||Xf(e,s,!1)||Xf(e,s,!0)||Yf(e,l,t,!0,s).each(function(e){o=e.container(),i=e.offset(),g=!0}))),c&&!t&&vo.isText(o)&&i===o.nodeValue.length&&Yf(e,l,t,!1,o).each(function(e){o=e.container(),i=e.offset(),g=!0}),g?E.some(jf(o,i)):E.none()},Jf={normalize:function(e,t){var n=t.collapsed,r=t.cloneRange();return Gf(e,n,!0,r).each(function(e){r.setStart(e.container(),e.offset())}),n||Gf(e,n,!1,r).each(function(e){r.setEnd(e.container(),e.offset())}),n&&r.collapse(!0),qf(t,r)?E.none():E.some(r)}},Qf=function(e,t,n){var r=e.create("span",{}," ");n.parentNode.insertBefore(r,n),t.scrollIntoView(r),e.remove(r)},Zf=function(e,t,n,r){var o=e.createRng();r?(o.setStartBefore(n),o.setEndBefore(n)):(o.setStartAfter(n),o.setEndAfter(n)),t.setRng(o)},ed=function(e,t){var n,r,o=e.selection,i=e.dom,a=o.getRng();Jf.normalize(i,a).each(function(e){a.setStart(e.startContainer,e.startOffset),a.setEnd(e.endContainer,e.endOffset)});var s=a.startOffset,u=a.startContainer;if(1===u.nodeType&&u.hasChildNodes()){var c=s>u.childNodes.length-1;u=u.childNodes[Math.min(s,u.childNodes.length-1)]||u,s=c&&3===u.nodeType?u.nodeValue.length:0}var l=i.getParent(u,i.isBlock),f=l?i.getParent(l.parentNode,i.isBlock):null,d=f?f.nodeName.toUpperCase():"",m=t&&t.ctrlKey;"LI"!==d||m||(l=f),u&&3===u.nodeType&&s>=u.nodeValue.length&&(function(e,t,n){for(var r,o=new to(t,n),i=e.getNonEmptyElements();r=o.next();)if(i[r.nodeName.toLowerCase()]||r.length>0)return!0}(e.schema,u,l)||(n=i.create("br"),a.insertNode(n),a.setStartAfter(n),a.setEndAfter(n),r=!0)),n=i.create("br"),a.insertNode(n),Qf(i,o,n),Zf(i,o,n,r),e.undoManager.add()},td=function(e,t){var n=Hn.fromTag("br");ks.before(Hn.fromDom(t),n),e.undoManager.add()},nd=function(e,t){rd(e.getBody(),t)||ks.after(Hn.fromDom(t),Hn.fromTag("br"));var n=Hn.fromTag("br");ks.after(Hn.fromDom(t),n),Qf(e.dom,e.selection,n.dom()),Zf(e.dom,e.selection,n.dom(),!1),e.undoManager.add()},rd=function(e,t){return n=ia.after(t),!!vo.isBr(n.getNode())||Ws.nextPosition(e,ia.after(t)).map(function(e){return vo.isBr(e.getNode())}).getOr(!1);var n},od=function(e){return e&&"A"===e.nodeName&&"href"in e},id=function(e){return e.fold(y.constant(!1),od,od,y.constant(!1))},ad=function(e,t){t.fold(y.noop,y.curry(td,e),y.curry(nd,e),y.noop)},sd=function(e,t){var n,r,o,i=(n=e,r=y.curry(vu.isInlineTarget,n),o=ia.fromRangeStart(n.selection.getRng()),$l(r,n.getBody(),o).filter(id));i.isSome()?i.each(y.curry(ad,e)):ed(e,t)},ud=Qu([{before:["element"]},{on:["element","offset"]},{after:["element"]}]),cd=(ud.before,ud.on,ud.after,function(e){return e.fold(y.identity,y.identity,y.identity)}),ld=Qu([{domRange:["rng"]},{relative:["startSitu","finishSitu"]},{exact:["start","soffset","finish","foffset"]}]),fd=xr("start","soffset","finish","foffset"),dd={domRange:ld.domRange,relative:ld.relative,exact:ld.exact,exactFromRange:function(e){return ld.exact(e.start(),e.soffset(),e.finish(),e.foffset())},range:fd,getWin:function(e){var t=e.match({domRange:function(e){return Hn.fromDom(e.startContainer)},relative:function(e,t){return cd(e)},exact:function(e,t,n,r){return e}});return Ur.defaultView(t)}},md=Un.detect().browser,pd=function(e,t){var n=Zn.isText(t)?Ds(t).length:Ur.children(t).length+1;return e>n?n:e<0?0:e},gd=function(e){return dd.range(e.start(),pd(e.soffset(),e.start()),e.finish(),pd(e.foffset(),e.finish()))},hd=function(e,t){return Dr.contains(e,t)||Dr.eq(e,t)},vd=function(e){return function(t){return hd(e,t.start())&&hd(e,t.finish())}},yd=function(e){return!0===e.inline||md.isIE()},bd=function(e){return dd.range(Hn.fromDom(e.startContainer),e.startOffset,Hn.fromDom(e.endContainer),e.endOffset)},Cd=function(e){var t=e.getSelection();return(t&&0!==t.rangeCount?E.from(t.getRangeAt(0)):E.none()).map(bd)},xd=function(e){var t=Ur.defaultView(e);return Cd(t.dom()).filter(vd(e))},wd=function(e,t){return E.from(t).filter(vd(e)).map(gd)},Nd=function(e){var t=document.createRange();return t.setStart(e.start().dom(),e.soffset()),t.setEnd(e.finish().dom(),e.foffset()),E.some(t)},Ed=function(e){return(e.bookmark?e.bookmark:E.none()).bind(y.curry(wd,Hn.fromDom(e.getBody()))).bind(Nd)},Sd=function(e){var t=yd(e)?xd(Hn.fromDom(e.getBody())):E.none();e.bookmark=t.isSome()?t:e.bookmark},kd=function(e){Ed(e).each(function(t){e.selection.setRng(t)})},Td=Ed,Ad=Ot.each,_d=Ot.extend,Bd=Ot.map,Rd=Ot.inArray,Dd=Ot.explode,Od=function(e){var t,n,r,o,i={state:{},exec:{},value:{}},a=e.settings;e.on("PreInit",function(){t=e.dom,n=e.selection,a=e.settings,r=e.formatter});var s=function(t){var n;if(!e.quirks.isHidden()&&!e.removed){if(t=t.toLowerCase(),n=i.state[t])return n(t);try{return e.getDoc().queryCommandState(t)}catch(r){}return!1}},u=function(e,t){t=t||"exec",Ad(e,function(e,n){Ad(n.toLowerCase().split(","),function(n){i[t][n]=e})})};_d(this,{execCommand:function(t,n,r,o){var a,s,u=!1;if(!e.removed){if(/^(mceAddUndoLevel|mceEndUndoLevel|mceBeginUndoLevel|mceRepaint)$/.test(t)||o&&o.skip_focus?kd(e):e.focus(),(o=e.fire("BeforeExecCommand",{command:t,ui:n,value:r})).isDefaultPrevented())return!1;if(s=t.toLowerCase(),a=i.exec[s])return a(s,n,r),e.fire("ExecCommand",{command:t,ui:n,value:r}),!0;if(Ad(e.plugins,function(o){if(o.execCommand&&o.execCommand(t,n,r))return e.fire("ExecCommand",{command:t,ui:n,value:r}),u=!0,!1}),u)return u;if(e.theme&&e.theme.execCommand&&e.theme.execCommand(t,n,r))return e.fire("ExecCommand",{command:t,ui:n,value:r}),!0;try{u=e.getDoc().execCommand(t,n,r)}catch(c){}return!!u&&(e.fire("ExecCommand",{command:t,ui:n,value:r}),!0)}},queryCommandState:s,queryCommandValue:function(t){var n;if(!e.quirks.isHidden()&&!e.removed){if(t=t.toLowerCase(),n=i.value[t])return n(t);try{return e.getDoc().queryCommandValue(t)}catch(r){}}},queryCommandSupported:function(t){if(t=t.toLowerCase(),i.exec[t])return!0;try{return e.getDoc().queryCommandSupported(t)}catch(n){}return!1},addCommands:u,addCommand:function(t,n,r){t=t.toLowerCase(),i.exec[t]=function(t,o,i,a){return n.call(r||e,o,i,a)}},addQueryStateHandler:function(t,n,r){t=t.toLowerCase(),i.state[t]=function(){return n.call(r||e)}},addQueryValueHandler:function(t,n,r){t=t.toLowerCase(),i.value[t]=function(){return n.call(r||e)}},hasCustomCommand:function(e){return e=e.toLowerCase(),!!i.exec[e]}});var c=function(t,n,r){return n===undefined&&(n=!1),r===undefined&&(r=null),e.getDoc().execCommand(t,n,r)},l=function(e){return r.match(e)},f=function(t,n){r.toggle(t,n?{value:n}:undefined),e.nodeChanged()},d=function(e){o=n.getBookmark(e)},m=function(){n.moveToBookmark(o)};u({"mceResetDesignMode,mceBeginUndoLevel":function(){},"mceEndUndoLevel,mceAddUndoLevel":function(){e.undoManager.add()},"Cut,Copy,Paste":function(t){var n,r=e.getDoc();try{c(t)}catch(i){n=!0}if("paste"!==t||r.queryCommandEnabled(t)||(n=!0),n||!r.queryCommandSupported(t)){var o=e.translate("Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X/C/V keyboard shortcuts instead.");me.mac&&(o=o.replace(/Ctrl\+/g,"\u2318+")),e.notificationManager.open({text:o,type:"error"})}},unlink:function(){if(n.isCollapsed()){var t=e.dom.getParent(e.selection.getStart(),"a");t&&e.dom.remove(t,!0)}else r.remove("link")},"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull,JustifyNone":function(e){var t=e.substring(7);"full"===t&&(t="justify"),Ad("left,center,right,justify".split(","),function(e){t!==e&&r.remove("align"+e)}),"none"!==t&&f("align"+t)},"InsertUnorderedList,InsertOrderedList":function(e){var r,o;c(e),(r=t.getParent(n.getNode(),"ol,ul"))&&(o=r.parentNode,/^(H[1-6]|P|ADDRESS|PRE)$/.test(o.nodeName)&&(d(),t.split(o,r),m()))},"Bold,Italic,Underline,Strikethrough,Superscript,Subscript":function(e){f(e)},"ForeColor,HiliteColor,FontName":function(e,t,n){f(e,n)},FontSize:function(e,t,n){var r,o;n>=1&&n<=7&&(o=Dd(a.font_size_style_values),n=(r=Dd(a.font_size_classes))?r[n-1]||n:o[n-1]||n),f(e,n)},RemoveFormat:function(e){r.remove(e)},mceBlockQuote:function(){f("blockquote")},FormatBlock:function(e,t,n){return f(n||"p")},mceCleanup:function(){var t=n.getBookmark();e.setContent(e.getContent({cleanup:!0}),{cleanup:!0}),n.moveToBookmark(t)},mceRemoveNode:function(t,r,o){var i=o||n.getNode();i!==e.getBody()&&(d(),e.dom.remove(i,!0),m())},mceSelectNodeDepth:function(r,o,i){var a=0;t.getParent(n.getNode(),function(e){if(1===e.nodeType&&a++===i)return n.select(e),!1},e.getBody())},mceSelectNode:function(e,t,r){n.select(r)},mceInsertContent:function(t,n,r){Js(e,r)},mceInsertRawHTML:function(t,r,o){n.setContent("tiny_mce_marker"),e.setContent(e.getContent().replace(/tiny_mce_marker/g,function(){return o}))},mceToggleFormat:function(e,t,n){f(n)},mceSetContent:function(t,n,r){e.setContent(r)},"Indent,Outdent":function(o){var i,u,l;i=a.indentation,u=/[a-z%]+$/i.exec(i),i=parseInt(i,10),s("InsertUnorderedList")||s("InsertOrderedList")?c(o):(a.forced_root_block||t.getParent(n.getNode(),t.isBlock)||r.apply("div"),Ad(n.getSelectedBlocks(),function(n){if("false"!==t.getContentEditable(n)&&"LI"!==n.nodeName){var r=e.getParam("indent_use_margin",!1)?"margin":"padding";r="TABLE"===n.nodeName?"margin":r,r+="rtl"===t.getStyle(n,"direction",!0)?"Right":"Left","outdent"===o?(l=Math.max(0,parseInt(n.style[r]||0,10)-i),t.setStyle(n,r,l?l+u:"")):(l=parseInt(n.style[r]||0,10)+i+u,t.setStyle(n,r,l))}}))},mceRepaint:function(){},InsertHorizontalRule:function(){e.execCommand("mceInsertContent",!1,"<hr />")},mceToggleVisualAid:function(){e.hasVisual=!e.hasVisual,e.addVisual()},mceReplaceContent:function(t,r,o){e.execCommand("mceInsertContent",!1,o.replace(/\{\$selection\}/g,n.getContent({format:"text"})))},mceInsertLink:function(e,o,i){var a;"string"==typeof i&&(i={href:i}),a=t.getParent(n.getNode(),"a"),i.href=i.href.replace(" ","%20"),a&&i.href||r.remove("link"),i.href&&r.apply("link",i,a)},selectAll:function(){var e=t.getParent(n.getStart(),vo.isContentEditableTrue);if(e){var r=t.createRng();r.selectNodeContents(e),n.setRng(r)}},"delete":function(){Vf(e)},forwardDelete:function(){Hf(e)},mceNewDocument:function(){e.setContent("")},InsertLineBreak:function(t,n,r){return sd(e,r),!0}}),u({"JustifyLeft,JustifyCenter,JustifyRight,JustifyFull":function(e){var o="align"+e.substring(7),i=n.isCollapsed()?[t.getParent(n.getNode(),t.isBlock)]:n.getSelectedBlocks(),a=Bd(i,function(e){return!!r.matchNode(e,o)});return-1!==Rd(a,!0)},"Bold,Italic,Underline,Strikethrough,Superscript,Subscript":function(e){return l(e)},mceBlockQuote:function(){return l("blockquote")},Outdent:function(){var e;if(a.inline_styles){if((e=t.getParent(n.getStart(),t.isBlock))&&parseInt(e.style.paddingLeft,10)>0)return!0;if((e=t.getParent(n.getEnd(),t.isBlock))&&parseInt(e.style.paddingLeft,10)>0)return!0}return s("InsertUnorderedList")||s("InsertOrderedList")||!a.inline_styles&&!!t.getParent(n.getNode(),"BLOCKQUOTE")},"InsertUnorderedList,InsertOrderedList":function(e){var r=t.getParent(n.getNode(),"ul,ol");return r&&("insertunorderedlist"===e&&"UL"===r.tagName||"insertorderedlist"===e&&"OL"===r.tagName)}},"state"),u({"FontSize,FontName":function(e){var r,o=0;return(r=t.getParent(n.getNode(),"span"))&&(o="fontsize"===e?r.style.fontSize:r.style.fontFamily.replace(/, /g,",").replace(/[\'\"]/g,"").toLowerCase()),o}},"value"),u({Undo:function(){e.undoManager.undo()},Redo:function(){e.undoManager.redo()}})},Pd=Ot.makeMap("focus blur focusin focusout click dblclick mousedown mouseup mousemove mouseover beforepaste paste cut copy selectionchange mouseout mouseenter mouseleave wheel keydown keypress keyup input contextmenu dragstart dragend dragover draggesture dragdrop drop drag submit compositionstart compositionend compositionupdate touchstart touchmove touchend"," "),Id=function(e){var t,n,r=this,o={},i=function(){return!1},a=function(){return!0};t=(e=e||{}).scope||r,n=e.toggleEvent||i;var s=function(e,t,a,s){var u,c,l;if(!1===t&&(t=i),t)for(t={func:t},s&&Ot.extend(t,s),l=(c=e.toLowerCase().split(" ")).length;l--;)e=c[l],(u=o[e])||(u=o[e]=[],n(e,!0)),a?u.unshift(t):u.push(t);return r},u=function(e,t){var i,a,s,u,c;if(e)for(i=(u=e.toLowerCase().split(" ")).length;i--;){if(e=u[i],a=o[e],!e){for(s in o)n(s,!1),delete o[s];return r}if(a){if(t)for(c=a.length;c--;)a[c].func===t&&(a=a.slice(0,c).concat(a.slice(c+1)),o[e]=a);else a.length=0;a.length||(n(e,!1),delete o[e])}}else{for(e in o)n(e,!1);o={}}return r};r.fire=function(n,r){var s,c,l,f;if(n=n.toLowerCase(),(r=r||{}).type=n,r.target||(r.target=t),r.preventDefault||(r.preventDefault=function(){r.isDefaultPrevented=a},r.stopPropagation=function(){r.isPropagationStopped=a},r.stopImmediatePropagation=function(){r.isImmediatePropagationStopped=a},r.isDefaultPrevented=i,r.isPropagationStopped=i,r.isImmediatePropagationStopped=i),e.beforeFire&&e.beforeFire(r),s=o[n])for(c=0,l=s.length;c<l;c++){if((f=s[c]).once&&u(n,f.func),r.isImmediatePropagationStopped())return r.stopPropagation(),r;if(!1===f.func.call(t,r))return r.preventDefault(),r}return r},r.on=s,r.off=u,r.once=function(e,t,n){return s(e,t,n,{once:!0})},r.has=function(e){return e=e.toLowerCase(),!(!o[e]||0===o[e].length)}};Id.isNative=function(e){return!!Pd[e.toLowerCase()]};var Ld,Md=function(e){return e._eventDispatcher||(e._eventDispatcher=new Id({scope:e,toggleEvent:function(t,n){Id.isNative(t)&&e.toggleNativeEvent&&e.toggleNativeEvent(t,n)}})),e._eventDispatcher},Fd={fire:function(e,t,n){if(this.removed&&"remove"!==e)return t;if(t=Md(this).fire(e,t,n),!1!==n&&this.parent)for(var r=this.parent();r&&!t.isPropagationStopped();)r.fire(e,t,!1),r=r.parent();return t},on:function(e,t,n){return Md(this).on(e,t,n)},off:function(e,t){return Md(this).off(e,t)},once:function(e,t){return Md(this).once(e,t)},hasEventListeners:function(e){return Md(this).has(e)}},zd=Xo.DOM,Ud=function(e,t){return"selectionchange"===t?e.getDoc():!e.inline&&/^mouse|touch|click|contextmenu|drop|dragover|dragend/.test(t)?e.getDoc().documentElement:e.settings.event_root?(e.eventRoot||(e.eventRoot=zd.select(e.settings.event_root)[0]),e.eventRoot):e.getBody()},Vd=function(e,t){var n,r,o=function(e){return!e.hidden&&!e.readonly};if(e.delegates||(e.delegates={}),!e.delegates[t]&&!e.removed)if(n=Ud(e,t),e.settings.event_root){if(Ld||(Ld={},e.editorManager.on("removeEditor",function(){var t;if(!e.editorManager.activeEditor&&Ld){for(t in Ld)e.dom.unbind(Ud(e,t));Ld=null}})),Ld[t])return;r=function(n){for(var r=n.target,i=e.editorManager.get(),a=i.length;a--;){var s=i[a].getBody();(s===r||zd.isChildOf(r,s))&&o(i[a])&&i[a].fire(t,n)}},Ld[t]=r,zd.bind(n,t,r)}else r=function(n){o(e)&&e.fire(t,n)},zd.bind(n,t,r),e.delegates[t]=r},Hd={bindPendingEventDelegates:function(){var e=this;Ot.each(e._pendingNativeEvents,function(t){Vd(e,t)})},toggleNativeEvent:function(e,t){var n=this;"focus"!==e&&"blur"!==e&&(t?n.initialized?Vd(n,e):n._pendingNativeEvents?n._pendingNativeEvents.push(e):n._pendingNativeEvents=[e]:n.initialized&&(n.dom.unbind(Ud(n,e),e,n.delegates[e]),delete n.delegates[e]))},unbindAllNativeEvents:function(){var e,t=this;if(t.delegates){for(e in t.delegates)t.dom.unbind(Ud(t,e),e,t.delegates[e]);delete t.delegates}t.inline||(t.getBody().onload=null,t.dom.unbind(t.getWin()),t.dom.unbind(t.getDoc())),t.dom.unbind(t.getBody()),t.dom.unbind(t.getContainer())}},qd=Hd=Ot.extend({},Fd,Hd),jd=function(e,t,n){try{e.getDoc().execCommand(t,!1,n)}catch(r){}},$d=function(e,t){var n,r,o;e._clickBlocker&&(e._clickBlocker.unbind(),e._clickBlocker=null),t?(e._clickBlocker=(r=(n=e).getBody(),o=function(e){n.dom.getParents(e.target,"a").length>0&&e.preventDefault()},n.dom.bind(r,"click",o),{unbind:function(){n.dom.unbind(r,"click",o)}}),e.selection.controlSelection.hideResizeRect(),e.readonly=!0,e.getBody().contentEditable=!1):(e.readonly=!1,e.getBody().contentEditable=!0,jd(e,"StyleWithCSS",!1),jd(e,"enableInlineTableEditing",!1),jd(e,"enableObjectResizing",!1),e.focus(),e.nodeChanged())},Wd=function(e,t){var n=e.readonly?"readonly":"design";t!==n&&(e.initialized?$d(e,"readonly"===t):e.on("init",function(){$d(e,"readonly"===t)}),e.fire("SwitchMode",{mode:t}))},Kd=Ot.each,Xd=Ot.explode,Yd={f9:120,f10:121,f11:122},Gd=Ot.makeMap("alt,ctrl,shift,meta,access"),Jd=function(e){var t={},n=[],r=function(e){var t,n,r={};for(n in Kd(Xd(e,"+"),function(e){e in Gd?r[e]=!0:/^[0-9]{2,}$/.test(e)?r.keyCode=parseInt(e,10):(r.charCode=e.charCodeAt(0),r.keyCode=Yd[e]||e.toUpperCase().charCodeAt(0))}),t=[r.keyCode],Gd)r[n]?t.push(n):r[n]=!1;return r.id=t.join(","),r.access&&(r.alt=!0,me.mac?r.ctrl=!0:r.shift=!0),r.meta&&(me.mac?r.meta=!0:(r.ctrl=!0,r.meta=!1)),r},o=function(t,n,o,i){var a;return(a=Ot.map(Xd(t,">"),r))[a.length-1]=Ot.extend(a[a.length-1],{func:o,scope:i||e}),Ot.extend(a[0],{desc:e.translate(n),subpatterns:a.slice(1)})},i=function(e,t){return!!t&&t.ctrl===e.ctrlKey&&t.meta===e.metaKey&&t.alt===e.altKey&&t.shift===e.shiftKey&&!!(e.keyCode===t.keyCode||e.charCode&&e.charCode===t.charCode)&&(e.preventDefault(),!0)},a=function(e){return e.func?e.func.call(e.scope):null};e.on("keyup keypress keydown",function(e){var r,o;((o=e).altKey||o.ctrlKey||o.metaKey||"keydown"===(r=e).type&&r.keyCode>=112&&r.keyCode<=123)&&!e.isDefaultPrevented()&&(Kd(t,function(t){if(i(e,t))return n=t.subpatterns.slice(0),"keydown"===e.type&&a(t),!0}),i(e,n[0])&&(1===n.length&&"keydown"===e.type&&a(n[0]),n.shift()))}),this.add=function(n,r,i,a){var s;return s=i,"string"==typeof i?i=function(){e.execCommand(s,!1,null)}:Ot.isArray(s)&&(i=function(){e.execCommand(s[0],s[1],s[2])}),Kd(Xd(Ot.trim(n.toLowerCase())),function(e){var n=o(e,r,i,a);t[n.id]=n}),!0},this.remove=function(e){var n=o(e);return!!t[n.id]&&(delete t[n.id],!0)}},Qd=Ot.each,Zd=function(e,t,n){var r,o,i,a,s=1;for(a=e.getShortEndedElements(),(i=/<([!?\/])?([A-Za-z0-9\-_\:\.]+)((?:\s+[^"\'>]+(?:(?:"[^"]*")|(?:\'[^\']*\')|[^>]*))*|\/|\s+)>/g).lastIndex=r=n;o=i.exec(t);){if(r=i.lastIndex,"/"===o[1])s--;else if(!o[1]){if(o[2]in a)continue;s++}if(0===s)break}return r},em=function(e,t){var n=this,r=function(){};e=e||{},n.schema=t=t||Fo(),!1!==e.fix_self_closing&&(e.fix_self_closing=!0),Qd("comment cdata text start end pi doctype".split(" "),function(t){t&&(n[t]=e[t]||r)}),n.parse=function(n){var r,o,i,a,s,u,c,l,f,d,m,p,g,h,v,y,b,C,x,w,N,E,S,k,T,A,_,B,R,D=this,O=0,P=[],I=0,L=Ao.decode,M=Ot.makeMap("src,href,data,background,formaction,poster"),F=/((java|vb)script|mhtml):/i,z=/^data:/i,U=function(e){var t,n;for(t=P.length;t--&&P[t].name!==e;);if(t>=0){for(n=P.length-1;n>=t;n--)(e=P[n]).valid&&D.end(e.name);P.length=t}},V=function(t,n,r,o,i){var s,u,c;if(r=(n=n.toLowerCase())in m?n:L(r||o||i||""),g&&!l&&0==(0===(c=n).indexOf("data-")||0===c.indexOf("aria-"))){if(!(s=C[n])&&x){for(u=x.length;u--&&!(s=x[u]).pattern.test(n););-1===u&&(s=null)}if(!s)return;if(s.validValues&&!(r in s.validValues))return}if(M[n]&&!e.allow_script_urls){var f=r.replace(/[\s\u0000-\u001F]+/g,"");try{f=decodeURIComponent(f)}catch(d){f=unescape(f)}if(F.test(f))return;if(!e.allow_html_data_urls&&z.test(f)&&!/^data:image\//i.test(f))return}l&&(n in M||0===n.indexOf("on"))||(a.map[n]=r,a.push({name:n,value:r}))};for(T=new RegExp("<(?:(?:!--([\\w\\W]*?)--\x3e)|(?:!\\[CDATA\\[([\\w\\W]*?)\\]\\]>)|(?:!DOCTYPE([\\w\\W]*?)>)|(?:\\?([^\\s\\/<>]+) ?([\\w\\W]*?)[?/]>)|(?:\\/([A-Za-z][A-Za-z0-9\\-_\\:\\.]*)>)|(?:([A-Za-z][A-Za-z0-9\\-_\\:\\.]*)((?:\\s+[^\"'>]+(?:(?:\"[^\"]*\")|(?:'[^']*')|[^>]*))*|\\/|\\s+)>))","g"),A=/([\w:\-]+)(?:\s*=\s*(?:(?:\"((?:[^\"])*)\")|(?:\'((?:[^\'])*)\')|([^>\s]+)))?/g,d=t.getShortEndedElements(),k=e.self_closing_elements||t.getSelfClosingElements(),m=t.getBoolAttrs(),g=e.validate,f=e.remove_internals,R=e.fix_self_closing,_=t.getSpecialElements(),S=n+">";r=T.exec(S);){if(O<r.index&&D.text(L(n.substr(O,r.index-O))),o=r[6])":"===(o=o.toLowerCase()).charAt(0)&&(o=o.substr(1)),U(o);else if(o=r[7]){if(r.index+r[0].length>n.length){D.text(L(n.substr(r.index))),O=r.index+r[0].length;continue}if(":"===(o=o.toLowerCase()).charAt(0)&&(o=o.substr(1)),p=o in d,R&&k[o]&&P.length>0&&P[P.length-1].name===o&&U(o),!g||(h=t.getElementRule(o))){if(v=!0,g&&(C=h.attributes,x=h.attributePatterns),(b=r[8])?((l=-1!==b.indexOf("data-mce-type"))&&f&&(v=!1),(a=[]).map={},b.replace(A,V)):(a=[]).map={},g&&!l){if(w=h.attributesRequired,N=h.attributesDefault,E=h.attributesForced,h.removeEmptyAttrs&&!a.length&&(v=!1),E)for(s=E.length;s--;)c=(y=E[s]).name,"{$uid}"===(B=y.value)&&(B="mce_"+I++),a.map[c]=B,a.push({name:c,value:B});if(N)for(s=N.length;s--;)(c=(y=N[s]).name)in a.map||("{$uid}"===(B=y.value)&&(B="mce_"+I++),a.map[c]=B,a.push({name:c,value:B}));if(w){for(s=w.length;s--&&!(w[s]in a.map););-1===s&&(v=!1)}if(y=a.map["data-mce-bogus"]){if("all"===y){O=Zd(t,n,T.lastIndex),T.lastIndex=O;continue}v=!1}}v&&D.start(o,a,p)}else v=!1;if(i=_[o]){i.lastIndex=O=r.index+r[0].length,(r=i.exec(n))?(v&&(u=n.substr(O,r.index-O)),O=r.index+r[0].length):(u=n.substr(O),O=n.length),v&&(u.length>0&&D.text(u,!0),D.end(o)),T.lastIndex=O;continue}p||(b&&b.indexOf("/")===b.length-1?v&&D.end(o):P.push({name:o,valid:v}))}else(o=r[1])?(">"===o.charAt(0)&&(o=" "+o),e.allow_conditional_comments||"[if"!==o.substr(0,3).toLowerCase()||(o=" "+o),D.comment(o)):(o=r[2])?D.cdata(o.replace(/<!--|-->/g,"")):(o=r[3])?D.doctype(o):(o=r[4])&&D.pi(o,r[5]);O=r.index+r[0].length}for(O<n.length&&D.text(L(n.substr(O))),s=P.length-1;s>=0;s--)(o=P[s]).valid&&D.end(o.name)}};em.findEndTag=Zd;var tm,nm,rm=function(e,t){var n,r,o,i,a,s,u,c,l=t,f=/<(\w+) [^>]*data-mce-bogus="all"[^>]*>/g,d=e.schema;for(s=e.getTempAttrs(),u=l,c=new RegExp(["\\s?("+s.join("|")+')="[^"]+"'].join("|"),"gi"),l=u.replace(c,""),a=d.getShortEndedElements();i=f.exec(l);)r=f.lastIndex,o=i[0].length,n=a[i[1]]?r:em.findEndTag(d,l,r),l=l.substring(0,r-o)+l.substring(n),f.lastIndex=r-o;return l},om=function(e,t){return ii(rm(e,t))},im=rm,am=function(e){var t=e!==undefined?e.dom():document;return E.from(t.activeElement).map(Hn.fromDom)},sm=function(e){var t=Ur.owner(e).dom();return e.dom()===t.activeElement},um=function(e){return am(Ur.owner(e)).filter(function(t){return e.dom().contains(t.dom())})},cm=function(e,t){return(n=t,n.collapsed?E.from(zi(n.startContainer,n.startOffset)).map(Hn.fromDom):E.none()).bind(function(t){return io.isTableSection(t)?E.some(t):!1===Dr.contains(e,t)?E.some(e):E.none()});var n},lm=function(e,t){cm(Hn.fromDom(e.getBody()),t).bind(function(e){return Ws.firstPositionIn(e.dom())}).fold(function(){e.selection.normalize()},function(t){e.selection.setRng(t.toRange())})},fm=function(e){if(e.setActive)try{e.setActive()}catch(t){e.focus()}else e.focus()},dm=function(e){var t,n=e.getBody();return n&&(t=Hn.fromDom(n),sm(t)||um(t).isSome())},mm=function(e){return e.inline?dm(e):(t=e).iframeElement&&sm(Hn.fromDom(t.iframeElement));var t},pm=function(e){e.editorManager.setActive(e)},gm=function(e,t){e.removed||(t?pm(e):function(e){var t,n,r,o=e.selection,i=e.settings.content_editable,a=e.getBody(),s=o.getRng();if(e.quirks.refreshContentEditable(),n=e,r=o.getNode(),t=n.dom.getParent(r,function(e){return"true"===n.dom.getContentEditable(e)}),e.$.contains(a,t))return fm(t),lm(e,s),void pm(e);e.bookmark!==undefined&&!1===mm(e)&&Td(e).each(function(t){e.selection.setRng(t),s=t}),i||(me.opera||fm(a),e.getWin().focus()),(me.gecko||i)&&(fm(a),lm(e,s)),pm(e)}(e))},hm=mm,vm=function(e,t){return t.dom()[e]},ym=function(e,t){return parseInt(Cr(t,e),10)},bm=y.curry(vm,"clientWidth"),Cm=y.curry(vm,"clientHeight"),xm=y.curry(ym,"margin-top"),wm=y.curry(ym,"margin-left"),Nm=function(e,t,n){var r,o,i,a,s,u,c,l,f,d,m=Hn.fromDom(e.getBody()),p=e.inline?m:Ur.documentElement(m),g=(r=e.inline,i=t,a=n,s=(o=p).dom().getBoundingClientRect(),{x:i-(r?s.left+o.dom().clientLeft+wm(o):0),y:a-(r?s.top+o.dom().clientTop+xm(o):0)});return c=g.x,l=g.y,f=bm(u=p),d=Cm(u),c>=0&&l>=0&&c<=f&&l<=d},Em=function(e){var t,n=e.inline?e.getBody():e.getContentAreaContainer();return(t=n,E.from(t).map(Hn.fromDom)).map(function(e){return Dr.contains(Ur.owner(e),e)}).getOr(!1)},Sm=function(e){var t,n=[],r=function(){var t,n=e.theme;return n&&n.getNotificationManagerImpl?n.getNotificationManagerImpl():{open:t=function(){throw new Error("Theme did not provide a NotificationManager implementation.")},close:t,reposition:t,getArgs:t}},o=function(){n.length>0&&r().reposition(n)},i=function(e){M.findIndex(n,function(t){return t===e}).each(function(e){n.splice(e,1)})},a=function(t){if(!e.removed&&Em(e))return M.find(n,function(e){return n=r().getArgs(e),o=t,!(n.type!==o.type||n.text!==o.text||n.progressBar||n.timeout||o.progressBar||o.timeout);var n,o}).getOrThunk(function(){e.editorManager.setActive(e);var a,s=r().open(t,function(){i(s),o()});return a=s,n.push(a),o(),s})};return(t=e).on("SkinLoaded",function(){var e=t.settings.service_message;e&&a({text:e,type:"warning",timeout:0,icon:""})}),t.on("ResizeEditor ResizeWindow",function(){ye.requestAnimationFrame(o)}),t.on("remove",function(){M.each(n,function(e){r().close(e)})}),{open:a,close:function(){E.from(n[0]).each(function(e){r().close(e),i(e),o()})},getNotifications:function(){return n}}},km=function(e){var t=[],n=function(){var t,n=e.theme;return n&&n.getWindowManagerImpl?n.getWindowManagerImpl():{open:t=function(){throw new Error("Theme did not provide a WindowManager implementation.")},alert:t,confirm:t,close:t,getParams:t,setParams:t}},r=function(e,t){return function(){return t?t.apply(e,arguments):undefined}},o=function(n){var r;t.push(n),r=n,e.fire("OpenWindow",{win:r})},i=function(n){M.findIndex(t,function(e){return e===n}).each(function(r){var o;t.splice(r,1),o=n,e.fire("CloseWindow",{win:o}),0===t.length&&e.focus()})},a=function(){return E.from(t[t.length-1])};return e.on("remove",function(){M.each(t.slice(0),function(e){n().close(e)})}),{windows:t,open:function(t,r){e.editorManager.setActive(e),Sd(e);var a=n().open(t,r,i);return o(a),a},alert:function(e,t,a){var s=n().alert(e,r(a||this,t),i);o(s)},confirm:function(e,t,a){var s=n().confirm(e,r(a||this,t),i);o(s)},close:function(){a().each(function(e){n().close(e),i(e)})},getParams:function(){return a().map(n().getParams).getOr(null)},setParams:function(e){a().each(function(t){n().setParams(t,e)})},getWindows:function(){return t}}},Tm=ti.PluginManager,Am=function(e,t){var n=function(e,t){for(var n in Tm.urls)if(Tm.urls[n]+"/plugin"+t+".js"===e)return n;return null}(t,e.suffix);return n?"Failed to load plugin: "+n+" from url "+t:"Failed to load plugin url: "+t},_m=function(e,t){e.notificationManager.open({type:"error",text:t})},Bm=function(e,t){e._skinLoaded?_m(e,t):e.on("SkinLoaded",function(){_m(e,t)})},Rm=function(e,t){Bm(e,Am(e,t))},Dm=function(e,t){Bm(e,"Failed to upload image: "+t)},Om=Bm,Pm=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];var r=window.console;r&&(r.error?r.error.apply(r,arguments):r.log.apply(r,arguments))},Im=ti.PluginManager,Lm=ti.ThemeManager,Mm=function(){return new(V("XMLHttpRequest"))},Fm=function(e,t){var n={},r=function(e,n,r,o){var i,a;(i=new Mm).open("POST",t.url),i.withCredentials=t.credentials,i.upload.onprogress=function(e){o(e.loaded/e.total*100)},i.onerror=function(){r("Image upload failed due to a XHR Transport error. Code: "+i.status)},i.onload=function(){var e,o,a;i.status<200||i.status>=300?r("HTTP Error: "+i.status):(e=JSON.parse(i.responseText))&&"string"==typeof e.location?n((o=t.basePath,a=e.location,o?o.replace(/\/$/,"")+"/"+a.replace(/^\//,""):a)):r("Invalid JSON: "+i.responseText)},(a=new FormData).append("file",e.blob(),e.filename()),i.send(a)},o=function(e,t){return{url:t,blobInfo:e,status:!0}},i=function(e,t){return{url:"",blobInfo:e,status:!1,error:t}},a=function(e,t){Ot.each(n[e],function(e){e(t)}),delete n[e]},s=function(r,s){return r=Ot.grep(r,function(t){return!e.isUploaded(t.blobUri())}),pe.all(Ot.map(r,function(r){return e.isPending(r.blobUri())?(f=r.blobUri(),new pe(function(e){n[f]=n[f]||[],n[f].push(e)})):(u=r,c=t.handler,l=s,e.markPending(u.blobUri()),new pe(function(t){var n;try{var r=function(){n&&n.close()};c(u,function(n){r(),e.markUploaded(u.blobUri(),n),a(u.blobUri(),o(u,n)),t(o(u,n))},function(n){r(),e.removeFailed(u.blobUri()),a(u.blobUri(),i(u,n)),t(i(u,n))},function(e){e<0||e>100||(n||(n=l()),n.progressBar.value(e))})}catch(s){t(i(u,s.message))}}));var u,c,l,f}))};return t=Ot.extend({credentials:!1,handler:r},t),{upload:function(e,n){return t.url||t.handler!==r?s(e,n):new pe(function(e){e([])})}}},zm=function(e,t){return new(V("Blob"))(e,t)},Um=function(e){return V("atob")(e)},Vm=function(e){var t,n;return e=decodeURIComponent(e).split(","),(n=/data:([^;]+)/.exec(e[0]))&&(t=n[1]),{type:t,data:e[1]}},Hm=function(e){return new pe(function(t){var n,r,o;e=Vm(e);try{n=Um(e.data)}catch(yC){return void t(new zm([]))}for(r=new function(e){return new(V("Uint8Array"))(e)}(n.length),o=0;o<r.length;o++)r[o]=n.charCodeAt(o);t(new zm([r],{type:e.type}))})},qm=function(e){return 0===e.indexOf("blob:")?(t=e,new pe(function(e,n){var r=function(){n("Cannot convert "+t+" to Blob. Resource might not exist or is inaccessible.")};try{var o=new Mm;o.open("GET",t,!0),o.responseType="blob",o.onload=function(){200===this.status?e(this.response):r()},o.onerror=r,o.send()}catch(i){r()}})):0===e.indexOf("data:")?Hm(e):null;var t},jm=function(e){return new pe(function(t){var n=new function(){return new(V("FileReader"))};n.onloadend=function(){t(n.result)},n.readAsDataURL(e)})},$m=Vm,Wm=0,Km=function(e){return(e||"blobid")+Wm++},Xm=function(e,t){var n={};return{findAll:function(r,o){var i,a,s;return o||(o=ji.constant(!0)),i=At.filter((s=r)?s.getElementsByTagName("img"):[],function(t){var n=t.src;return!!me.fileApi&&!t.hasAttribute("data-mce-bogus")&&!t.hasAttribute("data-mce-placeholder")&&!(!n||n===me.transparentSrc)&&(0===n.indexOf("blob:")?!e.isUploaded(n):0===n.indexOf("data:")&&o(t))}),a=At.map(i,function(e){var r;return n[e.src]?new pe(function(t){n[e.src].then(function(n){if("string"==typeof n)return n;t({image:e,blobInfo:n.blobInfo})})}):(r=new pe(function(n,r){var o,i,a,s,u,c;o=t,a=n,s=r,0!==(i=e).src.indexOf("blob:")?(u=$m(i.src).data,(c=o.findFirst(function(e){return e.base64()===u}))?a({image:i,blobInfo:c}):qm(i.src).then(function(e){c=o.create(Km(),e,u),o.add(c),a({image:i,blobInfo:c})},function(e){s(e)})):(c=o.getByUri(i.src))?a({image:i,blobInfo:c}):qm(i.src).then(function(e){jm(e).then(function(t){u=$m(t).data,c=o.create(Km(),e,u),o.add(c),a({image:i,blobInfo:c})})},function(e){s(e)})}).then(function(e){return delete n[e.image.src],e})["catch"](function(t){return delete n[e.src],t}),n[e.src]=r,r)}),pe.all(a)}}},Ym=0,Gm=function(e){return e+Ym+++(t=function(){return Math.round(4294967295*Math.random()).toString(36)},"s"+(new Date).getTime().toString(36)+t()+t()+t());var t},Jm=function(e){var t,n,r,o,i,a,s,u,c,l,f=(t=[],n=ji.constant,r=function(e){var t,r,o;if(!e.blob||!e.base64)throw new Error("blob and base64 representations of the image are required for BlobInfo to be created");return t=e.id||Gm("blobid"),r=e.name||t,{id:n(t),name:n(r),filename:n(r+"."+(o=e.blob.type,{"image/jpeg":"jpg","image/jpg":"jpg","image/gif":"gif","image/png":"png"}[o.toLowerCase()]||"dat")),blob:n(e.blob),base64:n(e.base64),blobUri:n(e.blobUri||q(e.blob)),uri:n(e.uri)}},{create:function(e,t,n,o){return r("object"==typeof e?e:{id:e,name:o,blob:t,base64:n})},add:function(e){o(e.id())||t.push(e)},get:o=function(e){return i(function(t){return t.id()===e})},getByUri:function(e){return i(function(t){return t.blobUri()===e})},findFirst:i=function(e){return At.filter(t,e)[0]},removeByUri:function(e){t=At.filter(t,function(t){return t.blobUri()!==e||(j(t.blobUri()),!1)})},destroy:function(){At.each(t,function(e){j(e.blobUri())}),t=[]}}),d=e.settings,m=(u={},c=function(e,t){return{status:e,resultUri:t}},{hasBlobUri:l=function(e){return e in u},getResultUri:function(e){var t=u[e];return t?t.resultUri:null},isPending:function(e){return!!l(e)&&1===u[e].status},isUploaded:function(e){return!!l(e)&&2===u[e].status},markPending:function(e){u[e]=c(1,null)},markUploaded:function(e,t){u[e]=c(2,t)},removeFailed:function(e){delete u[e]},destroy:function(){u={}}}),p=function(t){return function(n){return e.selection?t(n):[]}},g=function(e,t,n){var r=0;do{-1!==(r=e.indexOf(t,r))&&(e=e.substring(0,r)+n+e.substr(r+t.length),r+=n.length-t.length+1)}while(-1!==r);return e},h=function(e,t,n){return e=g(e,'src="'+t+'"','src="'+n+'"'),e=g(e,'data-mce-src="'+t+'"','data-mce-src="'+n+'"')},v=function(t,n){At.each(e.undoManager.data,function(e){"fragmented"===e.type?e.fragments=At.map(e.fragments,function(e){return h(e,t,n)}):e.content=h(e.content,t,n)})},y=function(){return e.notificationManager.open({text:e.translate("Image uploading..."),type:"info",timeout:-1,progressBar:!0})},b=function(t,n){f.removeByUri(t.src),v(t.src,n),e.$(t).attr({src:d.images_reuse_filename?n+"?"+(new Date).getTime():n,"data-mce-src":e.convertURL(n,"src")})},C=function(t){return a||(a=Fm(m,{url:d.images_upload_url,basePath:d.images_upload_base_path,credentials:d.images_upload_credentials,handler:d.images_upload_handler})),N().then(p(function(n){var r;return r=At.map(n,function(e){return e.blobInfo}),a.upload(r,y).then(p(function(r){var o=At.map(r,function(t,r){var o=n[r].image;return t.status&&!1!==e.settings.images_replace_blob_uris?b(o,t.url):t.error&&Dm(e,t.error),{element:o,status:t.status}});return t&&t(o),o}))}))},x=function(e){if(!1!==d.automatic_uploads)return C(e)},w=function(e){return!d.images_dataimg_filter||d.images_dataimg_filter(e)},N=function(){return s||(s=Xm(m,f)),s.findAll(e.getBody(),w).then(p(function(t){return t=At.filter(t,function(t){return"string"!=typeof t||(Om(e,t),!1)}),At.each(t,function(e){v(e.image.src,e.blobInfo.blobUri()),e.image.src=e.blobInfo.blobUri(),e.image.removeAttribute("data-mce-src")}),t}))},E=function(t){return t.replace(/src="(blob:[^"]+)"/g,function(t,n){var r=m.getResultUri(n);if(r)return'src="'+r+'"';var o=f.getByUri(n);return o||(o=At.reduce(e.editorManager.get(),function(e,t){return e||t.editorUpload&&t.editorUpload.blobCache.getByUri(n)},null)),o?'src="data:'+o.blob().type+";base64,"+o.base64()+'"':t})};return e.on("setContent",function(){!1!==e.settings.automatic_uploads?x():N()}),e.on("RawSaveContent",function(e){e.content=E(e.content)}),e.on("getContent",function(e){e.source_view||"raw"===e.format||(e.content=E(e.content))}),e.on("PostRender",function(){e.parser.addNodeFilter("img",function(e){At.each(e,function(e){var t=e.attr("src");if(!f.getByUri(t)){var n=m.getResultUri(t);n&&e.attr("src",n)}})})}),{blobCache:f,uploadImages:C,uploadImagesAuto:x,scanForImages:N,destroy:function(){f.destroy(),m.destroy(),s=a=null}}},Qm=function(e,t){return e.hasOwnProperty(t.nodeName)},Zm=function(e){var t,n,r,o,i,a,s,u,c,l,f,d=e.settings,m=e.dom,p=e.selection,g=e.schema,h=g.getBlockElements(),v=p.getStart(),y=e.getBody();if(f=d.forced_root_block,v&&vo.isElement(v)&&f&&(l=y.nodeName.toLowerCase(),g.isValidChild(l,f.toLowerCase())&&(b=h,C=y,x=v,!M.exists(zu(Hn.fromDom(x),Hn.fromDom(C)),function(e){return Qm(b,e.dom())})))){var b,C,x,w,N;for(n=(t=p.getRng()).startContainer,r=t.startOffset,o=t.endContainer,i=t.endOffset,c=hm(e),v=y.firstChild;v;)if(w=h,N=v,vo.isText(N)||vo.isElement(N)&&!Qm(w,N)&&!xs.isBookmarkNode(N)){if(vo.isText(v)&&0===v.nodeValue.length){s=v,v=v.nextSibling,m.remove(s);continue}a||(a=m.create(f,e.settings.forced_root_block_attrs),v.parentNode.insertBefore(a,v),u=!0),s=v,v=v.nextSibling,a.appendChild(s)}else a=null,v=v.nextSibling;u&&c&&(t.setStart(n,r),t.setEnd(o,i),p.setRng(t),e.nodeChanged())}},ep=function(e){e.settings.forced_root_block&&e.on("NodeChange",y.curry(Zm,e))},tp=function(e){var t,n=[];"onselectionchange"in e.getDoc()||e.on("NodeChange Click MouseUp KeyUp Focus",function(n){var r,o;o={startContainer:(r=e.selection.getRng()).startContainer,startOffset:r.startOffset,endContainer:r.endContainer,endOffset:r.endOffset},"nodechange"!==n.type&&qf(o,t)||e.fire("SelectionChange"),t=o}),e.on("contextmenu",function(){e.fire("SelectionChange")}),e.on("SelectionChange",function(){var t=e.selection.getStart(!0);!t||!me.range&&e.selection.isCollapsed()||!function(t){var r,o;if((o=e.$(t).parentsUntil(e.getBody()).add(t)).length===n.length){for(r=o.length;r>=0&&o[r]===n[r];r--);if(-1===r)return n=o,!0}return n=o,!1}(t)&&e.dom.isChildOf(t,e.getBody())&&e.nodeChanged({selectionChange:!0})}),e.on("MouseUp",function(t){t.isDefaultPrevented()||("IMG"===e.selection.getNode().nodeName?ye.setEditorTimeout(e,function(){e.nodeChanged()}):e.nodeChanged())}),this.nodeChanged=function(t){var n,r,o,i=e.selection;e.initialized&&i&&!e.settings.disable_nodechange&&!e.readonly&&(o=e.getBody(),(n=i.getStart(!0)||o).ownerDocument===e.getDoc()&&e.dom.isChildOf(n,o)||(n=o),r=[],e.dom.getParent(n,function(e){if(e===o)return!0;r.push(e)}),(t=t||{}).element=n,t.parents=r,e.fire("NodeChange",t))}},np=function(e){var t,n,r,o;return o=e.getBoundingClientRect(),n=(t=e.ownerDocument).documentElement,r=t.defaultView,{top:o.top+r.pageYOffset-n.clientTop,left:o.left+r.pageXOffset-n.clientLeft}},rp=function(e,t){return n=(s=e).inline?np(s.getBody()):{left:0,top:0},a=(i=e).getBody(),r=i.inline?{left:a.scrollLeft,top:a.scrollTop}:{left:0,top:0},{pageX:(o=function(e,t){if(t.target.ownerDocument!==e.getDoc()){var n=np(e.getContentAreaContainer()),r=(i=(o=e).getBody(),a=o.getDoc().documentElement,s={left:i.scrollLeft,top:i.scrollTop},u={left:i.scrollLeft||a.scrollLeft,top:i.scrollTop||a.scrollTop},o.inline?s:u);return{left:t.pageX-n.left+r.left,top:t.pageY-n.top+r.top}}var o,i,a,s,u;return{left:t.pageX,top:t.pageY}}(e,t)).left-n.left+r.left,pageY:o.top-n.top+r.top};var n,r,o,i,a,s},op=vo.isContentEditableFalse,ip=vo.isContentEditableTrue,ap=function(e){e&&e.parentNode&&e.parentNode.removeChild(e)},sp=function(e,t){return function(n){if(0===n.button){var r=At.find(t.dom.getParents(n.target),ji.or(op,ip));if(s=t.getBody(),op(u=r)&&u!==s){var o=t.dom.getPos(r),i=t.getBody(),a=t.getDoc().documentElement;e.element=r,e.screenX=n.screenX,e.screenY=n.screenY,e.maxX=(t.inline?i.scrollWidth:a.offsetWidth)-2,e.maxY=(t.inline?i.scrollHeight:a.offsetHeight)-2,e.relX=n.pageX-o.x,e.relY=n.pageY-o.y,e.width=r.offsetWidth,e.height=r.offsetHeight,e.ghost=function(e,t,n,r){var o=t.cloneNode(!0);e.dom.setStyles(o,{width:n,height:r}),e.dom.setAttrib(o,"data-mce-selected",null);var i=e.dom.create("div",{"class":"mce-drag-container","data-mce-bogus":"all",unselectable:"on",contenteditable:"false"});return e.dom.setStyles(i,{position:"absolute",opacity:.5,overflow:"hidden",border:0,padding:0,margin:0,width:n,height:r}),e.dom.setStyles(o,{margin:0,boxSizing:"border-box"}),i.appendChild(o),i}(t,r,e.width,e.height)}}var s,u}},up=function(e,t){return function(n){if(e.dragging&&(s=t,l=t.selection,f=l.getSel().getRangeAt(0).startContainer,u=3===f.nodeType?f.parentNode:f,c=e.element,u!==c&&!s.dom.isChildOf(u,c)&&!op(u))){var r=(i=e.element,(a=i.cloneNode(!0)).removeAttribute("data-mce-selected"),a),o=t.fire("drop",{targetClone:r,clientX:n.clientX,clientY:n.clientY});o.isDefaultPrevented()||(r=o.targetClone,t.undoManager.transact(function(){ap(e.element),t.insertContent(t.dom.getOuterHTML(r)),t._selectionOverrides.hideFakeCaret()}))}var i,a,s,u,c,l,f;cp(e)}},cp=function(e){e.dragging=!1,e.element=null,ap(e.ghost)},lp=function(e){var t,n,r,o,i,a,s,u,c,l,f,d={};t=Xo.DOM,a=document,n=sp(d,e),s=d,u=e,c=ye.throttle(function(e,t){u._selectionOverrides.hideFakeCaret(),u.selection.placeCaretAt(e,t)},0),r=function(e){var t,n,r,o,i,a,l,f,d,m,p,g,h=Math.max(Math.abs(e.screenX-s.screenX),Math.abs(e.screenY-s.screenY));if(s.element&&!s.dragging&&h>10){if(u.fire("dragstart",{target:s.element}).isDefaultPrevented())return;s.dragging=!0,u.focus()}if(s.dragging){var v=(p=s,{pageX:(g=rp(u,e)).pageX-p.relX,pageY:g.pageY+5});d=s.ghost,m=u.getBody(),d.parentNode!==m&&m.appendChild(d),t=s.ghost,n=v,r=s.width,o=s.height,i=s.maxX,a=s.maxY,l=0,f=0,t.style.left=n.pageX+"px",t.style.top=n.pageY+"px",n.pageX+r>i&&(l=n.pageX+r-i),n.pageY+o>a&&(f=n.pageY+o-a),t.style.width=r-l+"px",t.style.height=o-f+"px",c(e.clientX,e.clientY)}},o=up(d,e),l=d,f=e,i=function(){cp(l),l.dragging&&f.fire("dragend")},e.on("mousedown",n),e.on("mousemove",r),e.on("mouseup",o),t.bind(a,"mousemove",r),t.bind(a,"mouseup",i),e.on("remove",function(){t.unbind(a,"mousemove",r),t.unbind(a,"mouseup",i)})},fp=function(e){var t;lp(e),(t=e).on("drop",function(e){var n="undefined"!=typeof e.clientX?t.getDoc().elementFromPoint(e.clientX,e.clientY):null;(op(n)||op(t.dom.getContentEditableParent(n)))&&e.preventDefault()})},dp=vo.isContentEditableFalse,mp=function(e,t){var n,r,o=null,i=function(){!function(){var t,n,r,o,i;for(t=Qt("*[contentEditable=false]",e),o=0;o<t.length;o++)r=(n=t[o]).previousSibling,mi.endsWithCaretContainer(r)&&(1===(i=r.data).length?r.parentNode.removeChild(r):r.deleteData(i.length-1,1)),r=n.nextSibling,mi.startsWithCaretContainer(r)&&(1===(i=r.data).length?r.parentNode.removeChild(r):r.deleteData(0,1))}(),r&&(Oc.remove(r),r=null),o&&(o.remove(),o=null),clearInterval(n)},a=function(){n=ye.setInterval(function(){e.ownerDocument.activeElement===e?Qt("div.mce-visual-caret",e).toggleClass("mce-visual-caret-hidden"):Qt("div.mce-visual-caret",e).addClass("mce-visual-caret-hidden")},500)};return{show:function(n,s){var u,c,l,f,d,m,p,g,h,v,y;return i(),(l=s)&&/^(TD|TH)$/i.test(l.nodeName)?null:t(s)?(r=mi.insertBlock("p",s,n),d=n,y=Oi((f=s).getBoundingClientRect(),d),"BODY"===e.tagName?(m=e.ownerDocument.documentElement,p=e.scrollLeft||m.scrollLeft,g=e.scrollTop||m.scrollTop):(v=e.getBoundingClientRect(),p=e.scrollLeft-v.left,g=e.scrollTop-v.top),y.left+=p,y.right+=p,y.top+=g,y.bottom+=g,y.width=1,(h=f.offsetWidth-f.clientWidth)>0&&(d&&(h*=-1),y.left+=h,y.right+=h),u=y,Qt(r).css("top",u.top),o=Qt('<div class="mce-visual-caret" data-mce-bogus="all"></div>').css(u).appendTo(e),n&&o.addClass("mce-visual-caret-before"),a(),(c=s.ownerDocument.createRange()).setStart(r,0),c.setEnd(r,0),c):(r=mi.insertInline(s,n),c=s.ownerDocument.createRange(),dp(r.nextSibling)?(c.setStart(r,0),c.setEnd(r,0)):(c.setStart(r,1),c.setEnd(r,1)),c)},hide:i,getCss:function(){return".mce-visual-caret {position: absolute;background-color: black;background-color: currentcolor;}.mce-visual-caret-hidden {display: none;}*[data-mce-caret] {position: absolute;left: -1000px;right: auto;top: 0;margin: 0;padding: 0;}"},destroy:function(){ye.clearInterval(n)}}},pp=function(e){var t=function(t){return At.map(t,function(t){return(t=Di(t)).node=e,t})};if(At.isArray(e))return At.reduce(e,function(e,t){return e.concat(pp(t))},[]);if(vo.isElement(e))return t(e.getClientRects());if(vo.isText(e)){var n=e.ownerDocument.createRange();return n.setStart(e,0),n.setEnd(e,e.data.length),t(n.getClientRects())}},gp={getClientRects:pp},hp=vo.isContentEditableFalse,vp=_a.findNode,yp=ji.curry,bp=function(e,t){return Math.abs(e.left-t)},Cp=function(e,t){return Math.abs(e.right-t)},xp=function(e,t){var n=function(e,t){return e>=t.left&&e<=t.right};return At.reduce(e,function(e,r){var o,i;return o=Math.min(bp(e,t),Cp(e,t)),i=Math.min(bp(r,t),Cp(r,t)),n(t,r)?r:n(t,e)?e:i===o&&hp(r.node)?r:i<o?r:e})},wp=function(e,t,n,r){for(;r=vp(r,e,ki,t);)if(n(r))return},Np=function(e,t){var n=[],r=function(e,r){var o;return o=At.filter(gp.getClientRects(r),function(n){return!e(n,t)}),n=n.concat(o),0===o.length};return n.push(t),wp(-1,e,yp(r,Ii),t.node),wp(1,e,yp(r,Li),t.node),n},Ep=xp,Sp=function(e,t,n){var r,o,i,a,s;return r=gp.getClientRects((i=e,At.filter(At.toArray(i.getElementsByTagName("*")),hp))),r=At.filter(r,function(e){return n>=e.top&&n<=e.bottom}),(o=xp(r,t))&&(o=xp(Np(e,o),t))&&hp(o.node)?(s=t,{node:(a=o).node,before:bp(a,s)<Cp(a,s)}):null},kp=function(e,t,n){return!n.collapsed&&M.foldl(n.getClientRects(),function(n,r){return n||Mi(r,e,t)},!1)},Tp=function(e,t){var n=null;return{cancel:function(){null!==n&&(clearTimeout(n),n=null)},throttle:function(){var r=arguments;null===n&&(n=setTimeout(function(){e.apply(null,r),n=null,r=null},t))}}},Ap=vo.isContentEditableTrue,_p=vo.isContentEditableFalse,Bp=function(e,t,n,r){return t._selectionOverrides.showCaret(e,n,r)},Rp=function(e,t){var n,r;return t=_a.normalizeRange(1,e.getBody(),t),n=ia.fromRangeStart(t),_p(n.getNode())?Bp(1,e,n.getNode(),!n.isAtEnd()):_p(n.getNode(!0))?Bp(1,e,n.getNode(!0),!1):(r=e.dom.getParent(n.getNode(),ji.or(_p,Ap)),_p(r)?Bp(1,e,r,!1):null)},Dp=Bp,Op=function(e,t){var n,r;return e.fire("BeforeObjectSelected",{target:t}).isDefaultPrevented()?null:((r=(n=t).ownerDocument.createRange()).selectNode(n),r)},Pp=Rp,Ip=function(e,t){return t&&t.collapsed&&Rp(e,t)||t},Lp=function(e){var t=Tp(function(){if(!e.removed){var t=Ip(e,e.selection.getRng());e.selection.setRng(t)}},0);e.on("focus",function(){t.throttle()}),e.on("blur",function(){t.cancel()})},Mp={BACKSPACE:8,DELETE:46,DOWN:40,ENTER:13,LEFT:37,RIGHT:39,SPACEBAR:32,TAB:9,UP:38,modifierPressed:function(e){return e.shiftKey||e.ctrlKey||e.altKey||this.metaKeyPressed(e)},metaKeyPressed:function(e){return me.mac?e.metaKey:e.ctrlKey&&!e.altKey}},Fp=vo.isContentEditableTrue,zp=vo.isContentEditableFalse,Up=_a.isAfterContentEditableFalse,Vp=_a.isBeforeContentEditableFalse,Hp=function(e){var t,n,r,o=e.getBody(),i=mp(e.getBody(),function(t){return e.dom.isBlock(t)}),a="sel-"+e.dom.uniqueId(),s=function(t){t&&e.selection.setRng(t)},u=function(){return e.selection.getRng()},c=function(t,n){e.selection.scrollIntoView(t,n)},l=function(t,n,r){return e.fire("ShowCaret",{target:n,direction:t,before:r}).isDefaultPrevented()?null:(c(n,-1===t),i.show(r,n))},f=function(e,t){return t=_a.normalizeRange(e,o,t),-1===e?ia.fromRangeStart(t):ia.fromRangeEnd(t)},d=function(e){return mi.isCaretContainer(e)||mi.startsWithCaretContainer(e)||mi.endsWithCaretContainer(e)},m=function(e){return d(e.startContainer)||d(e.endContainer)},p=function(n,r){var o,i,s,u,c,d,p,g,v,y,b=e.$,C=e.dom;if(!n)return null;if(n.collapsed){if(!m(n))if(!1===r){if(g=f(-1,n),zp(g.getNode(!0)))return l(-1,g.getNode(!0),!1);if(zp(g.getNode()))return l(-1,g.getNode(),!g.isAtEnd())}else{if(g=f(1,n),zp(g.getNode()))return l(1,g.getNode(),!g.isAtEnd());if(zp(g.getNode(!0)))return l(1,g.getNode(!0),!1)}return null}return u=n.startContainer,c=n.startOffset,d=n.endOffset,3===u.nodeType&&0===c&&zp(u.parentNode)&&(u=u.parentNode,c=C.nodeIndex(u),u=u.parentNode),1!==u.nodeType?null:(d===c+1&&(o=u.childNodes[c]),zp(o)?(v=y=o.cloneNode(!0),(p=e.fire("ObjectSelected",{target:o,targetClone:v})).isDefaultPrevented()?null:(i=Nu(Hn.fromDom(e.getBody()),"#"+a).fold(function(){return b([])},function(e){return b([e.dom()])}),v=p.targetClone,0===i.length&&(i=b('<div data-mce-bogus="all" class="mce-offscreen-selection"></div>').attr("id",a)).appendTo(e.getBody()),n=e.dom.createRng(),v===y&&me.ie?(i.empty().append('<p style="font-size: 0" data-mce-bogus="all">\xa0</p>').append(v),n.setStartAfter(i[0].firstChild.firstChild),n.setEndAfter(v)):(i.empty().append("\xa0").append(v).append("\xa0"),n.setStart(i[0].firstChild,1),n.setEnd(i[0].lastChild,0)),i.css({top:C.getPos(o,e.getBody()).y}),i[0].focus(),(s=e.selection.getSel()).removeAllRanges(),s.addRange(n),M.each(Os(Hn.fromDom(e.getBody()),"*[data-mce-selected]"),function(e){dr.remove(e,"data-mce-selected")}),o.setAttribute("data-mce-selected","1"),t=o,h(),n)):null)},g=function(){t&&(t.removeAttribute("data-mce-selected"),Nu(Hn.fromDom(e.getBody()),"#"+a).each(Bs.remove),t=null)},h=function(){i.hide()};return me.ceFalse&&(function(){var n=function(t){for(var n=e.getBody();t&&t!==n;){if(Fp(t)||zp(t))return t;t=t.parentNode}return null};e.on("mouseup",function(t){var n=u();n.collapsed&&Nm(e,t.clientX,t.clientY)&&s(Pp(e,n))}),e.on("click",function(t){var r;(r=n(t.target))&&(zp(r)&&(t.preventDefault(),e.focus()),Fp(r)&&e.dom.isChildOf(r,e.selection.getNode())&&g())}),e.on("blur NewBlock",function(){g()});var r,i,c=function(t,n){var r,o,i=e.dom.getParent(t,e.dom.isBlock),a=e.dom.getParent(n,e.dom.isBlock);return i&&(r=i,o=a,!(e.dom.getParent(r,e.dom.isBlock)===e.dom.getParent(o,e.dom.isBlock)))&&function(e){var t=Ha(e);if(!e.firstChild)return!1;var n=ia.before(e.firstChild),r=t.next(n);return r&&!Vp(r)&&!Up(r)}(i)};i=!1,(r=e).on("touchstart",function(){i=!1}),r.on("touchmove",function(){i=!0}),r.on("touchend",function(e){var t=n(e.target);zp(t)&&(i||(e.preventDefault(),p(Op(r,t))))}),e.on("mousedown",function(t){var r;if(!1!==Nm(e,t.clientX,t.clientY))if(r=n(t.target))zp(r)?(t.preventDefault(),p(Op(e,r))):(g(),Fp(r)&&t.shiftKey||kp(t.clientX,t.clientY,e.selection.getRng())||e.selection.placeCaretAt(t.clientX,t.clientY));else{g(),h();var i=Sp(o,t.clientX,t.clientY);i&&(c(t.target,i.node)||(t.preventDefault(),e.getBody().focus(),s(l(1,i.node,i.before))))}}),e.on("keypress",function(t){Mp.modifierPressed(t)||(t.keyCode,zp(e.selection.getNode())&&t.preventDefault())}),e.on("getSelectionRange",function(e){var n=e.range;if(t){if(!t.parentNode)return void(t=null);(n=n.cloneRange()).selectNode(t),e.range=n}}),e.on("setSelectionRange",function(e){var t;(t=p(e.range,e.forward))&&(e.range=t)}),e.on("AfterSetSelectionRange",function(t){var n,r=t.range;m(r)||h(),n=r.startContainer.parentNode,e.dom.hasClass(n,"mce-offscreen-selection")||g()}),e.on("copy",function(t){var n,r=t.clipboardData;if(!t.isDefaultPrevented()&&t.clipboardData&&!me.ie){var o=(n=e.dom.get(a))?n.getElementsByTagName("*")[0]:n;o&&(t.preventDefault(),r.clearData(),r.setData("text/html",o.outerHTML),r.setData("text/plain",o.outerText))}}),fp(e),Lp(e)}(),n=e.contentStyles,r=".mce-content-body",n.push(i.getCss()),n.push(r+" .mce-offscreen-selection {position: absolute;left: -9999999999px;max-width: 1000000px;}"+r+" *[contentEditable=false] {cursor: default;}"+r+" *[contentEditable=true] {cursor: text;}")),{showCaret:l,showBlockCaretContainer:function(e){e.hasAttribute("data-mce-caret")&&(mi.showCaretContainerBlock(e),s(u()),c(e[0]))},hideFakeCaret:h,destroy:function(){i.destroy(),t=null}}},qp=0,jp=2,$p=1,Wp=function(e,t){var n=e.length+t.length+2,r=new Array(n),o=new Array(n),i=function(n,r,o,a,u){var c=s(n,r,o,a);if(null===c||c.start===r&&c.diag===r-a||c.end===n&&c.diag===n-o)for(var l=n,f=o;l<r||f<a;)l<r&&f<a&&e[l]===t[f]?(u.push([0,e[l]]),++l,++f):r-n>a-o?(u.push([2,e[l]]),++l):(u.push([1,t[f]]),++f);else{i(n,c.start,o,c.start-c.diag,u);for(var d=c.start;d<c.end;++d)u.push([0,e[d]]);i(c.end,r,c.end-c.diag,a,u)}},a=function(n,r,o,i){for(var a=n;a-r<i&&a<o&&e[a]===t[a-r];)++a;return{start:n,end:a,diag:r}},s=function(n,i,s,u){var c=i-n,l=u-s;if(0===c||0===l)return null;var f,d,m,p,g,h=c-l,v=l+c,y=(v%2==0?v:v+1)/2;for(r[1+y]=n,o[1+y]=i+1,f=0;f<=y;++f){for(d=-f;d<=f;d+=2){for(m=d+y,d===-f||d!==f&&r[m-1]<r[m+1]?r[m]=r[m+1]:r[m]=r[m-1]+1,g=(p=r[m])-n+s-d;p<i&&g<u&&e[p]===t[g];)r[m]=++p,++g;if(h%2!=0&&h-f<=d&&d<=h+f&&o[m-h]<=r[m])return a(o[m-h],d+n-s,i,u)}for(d=h-f;d<=h+f;d+=2){for(m=d+y-h,d===h-f||d!==h+f&&o[m+1]<=o[m-1]?o[m]=o[m+1]-1:o[m]=o[m-1],g=(p=o[m]-1)-n+s-d;p>=n&&g>=s&&e[p]===t[g];)o[m]=p--,g--;if(h%2==0&&-f<=d&&d<=f&&o[m]<=r[m+h])return a(o[m],d+n-s,i,u)}}},u=[];return i(0,e.length,0,t.length,u),u},Kp=function(e){return 1===e.nodeType?e.outerHTML:3===e.nodeType?Ao.encodeRaw(e.data,!1):8===e.nodeType?"\x3c!--"+e.data+"--\x3e":""},Xp=function(e,t,n){var r=function(e){var t,n,r;for(r=document.createElement("div"),t=document.createDocumentFragment(),e&&(r.innerHTML=e);n=r.firstChild;)t.appendChild(n);return t}(t);if(e.hasChildNodes()&&n<e.childNodes.length){var o=e.childNodes[n];o.parentNode.insertBefore(r,o)}else e.appendChild(r)},Yp=function(e){return At.filter(At.map(e.childNodes,Kp),function(e){return e.length>0})},Gp=function(e,t){var n,r,o,i=At.map(t.childNodes,Kp);return n=Wp(i,e),r=t,o=0,At.each(n,function(e){e[0]===qp?o++:e[0]===$p?(Xp(r,e[1],o),o++):e[0]===jp&&function(e,t){if(e.hasChildNodes()&&t<e.childNodes.length){var n=e.childNodes[t];n.parentNode.removeChild(n)}}(r,o)}),t},Jp=function(e){return{type:"fragmented",fragments:e,content:"",bookmark:null,beforeBookmark:null}},Qp=function(e){return{type:"complete",fragments:null,content:e,bookmark:null,beforeBookmark:null}},Zp=function(e){return"fragmented"===e.type?e.fragments.join(""):e.content},eg=function(e){var t,n,r;return t=Yp(e.getBody()),-1!==(n=(r=M.bind(t,function(t){var n=im(e.serializer,t);return n.length>0?[n]:[]})).join("")).indexOf("</iframe>")?Jp(r):Qp(n)},tg=function(e,t,n){"fragmented"===t.type?Gp(t.fragments,e.getBody()):e.setContent(t.content,{format:"raw"}),e.selection.moveToBookmark(n?t.beforeBookmark:t.bookmark)},ng=function(e,t){return!!e&&!!t&&Zp(e)===Zp(t)},rg=function(e){var t,n,r=this,o=0,i=[],a=0,s=function(){return 0===a},u=function(e){s()&&(r.typing=e)},c=function(t){e.setDirty(t)},l=function(e){u(!1),r.add({},e)},f=function(){r.typing&&(u(!1),r.add())};return e.on("init",function(){r.add()}),e.on("BeforeExecCommand",function(e){var t=e.command;"Undo"!==t&&"Redo"!==t&&"mceRepaint"!==t&&(f(),r.beforeChange())}),e.on("ExecCommand",function(e){var t=e.command;"Undo"!==t&&"Redo"!==t&&"mceRepaint"!==t&&l(e)}),e.on("ObjectResizeStart Cut",function(){r.beforeChange()}),e.on("SaveContent ObjectResized blur",l),e.on("DragEnd",l),e.on("KeyUp",function(t){var o=t.keyCode;t.isDefaultPrevented()||((o>=33&&o<=36||o>=37&&o<=40||45===o||t.ctrlKey)&&(l(),e.nodeChanged()),46!==o&&8!==o||e.nodeChanged(),n&&r.typing&&!1===ng(eg(e),i[0])&&(!1===e.isDirty()&&(c(!0),e.fire("change",{level:i[0],lastLevel:null})),e.fire("TypingUndo"),n=!1,e.nodeChanged()))}),e.on("KeyDown",function(e){var t=e.keyCode;if(!e.isDefaultPrevented())if(t>=33&&t<=36||t>=37&&t<=40||45===t)r.typing&&l(e);else{var o=e.ctrlKey&&!e.altKey||e.metaKey;!(t<16||t>20)||224===t||91===t||r.typing||o||(r.beforeChange(),u(!0),r.add({},e),n=!0)}}),e.on("MouseDown",function(e){r.typing&&l(e)}),e.addShortcut("meta+z","","Undo"),e.addShortcut("meta+y,meta+shift+z","","Redo"),e.on("AddUndo Undo Redo ClearUndos",function(t){t.isDefaultPrevented()||e.nodeChanged()}),r={data:i,typing:!1,beforeChange:function(){s()&&(t=gs.getUndoBookmark(e.selection))},add:function(n,r){var a,u,l,f=e.settings;if(l=eg(e),n=n||{},n=Ot.extend(n,l),!1===s()||e.removed)return null;if(u=i[o],e.fire("BeforeAddUndo",{level:n,lastLevel:u,originalEvent:r}).isDefaultPrevented())return null;if(u&&ng(u,n))return null;if(i[o]&&(i[o].beforeBookmark=t),f.custom_undo_redo_levels&&i.length>f.custom_undo_redo_levels){for(a=0;a<i.length-1;a++)i[a]=i[a+1];i.length--,o=i.length}n.bookmark=gs.getUndoBookmark(e.selection),o<i.length-1&&(i.length=o+1),i.push(n),o=i.length-1;var d={level:n,lastLevel:u,originalEvent:r};return e.fire("AddUndo",d),o>0&&(c(!0),e.fire("change",d)),n},undo:function(){var t;return r.typing&&(r.add(),r.typing=!1,u(!1)),o>0&&(t=i[--o],tg(e,t,!0),c(!0),e.fire("undo",{level:t})),t},redo:function(){var t;return o<i.length-1&&(t=i[++o],tg(e,t,!1),c(!0),e.fire("redo",{level:t})),t},clear:function(){i=[],o=0,r.typing=!1,r.data=i,e.fire("ClearUndos")},hasUndo:function(){return o>0||r.typing&&i[0]&&!ng(eg(e),i[0])},hasRedo:function(){return o<i.length-1&&!r.typing},transact:function(e){return f(),r.beforeChange(),r.ignore(e),r.add()},ignore:function(e){try{a++,e()}finally{a--}},extra:function(t,n){var a,s;r.transact(t)&&(s=i[o].bookmark,a=i[o-1],tg(e,a,!0),r.transact(n)&&(i[o-1].beforeBookmark=s))}}},og={},ig=At.filter,ag=At.each;nm=function(e){var t,n,r=e.selection.getRng();t=vo.matchNodeNames("pre"),r.collapsed||(n=e.selection.getSelectedBlocks(),ag(ig(ig(n,t),function(e){return t(e.previousSibling)&&-1!==At.indexOf(n,e.previousSibling)}),function(e){var t,n;t=e.previousSibling,Qt(n=e).remove(),Qt(t).append("<br><br>").append(n.childNodes)}))},og[tm="pre"]||(og[tm]=[]),og[tm].push(nm);var sg=function(e,t){ag(og[e],function(e){e(t)})},ug=Ot.each,cg={walk:function(e,t,n){var r,o,i,a,s,u,c,l=t.startContainer,f=t.startOffset,d=t.endContainer,m=t.endOffset;if((c=e.select("td[data-mce-selected],th[data-mce-selected]")).length>0)ug(c,function(e){n([e])});else{var p,g,h,v=function(e){var t;return 3===(t=e[0]).nodeType&&t===l&&f>=t.nodeValue.length&&e.splice(0,1),t=e[e.length-1],0===m&&e.length>0&&t===d&&3===t.nodeType&&e.splice(e.length-1,1),e},y=function(e,t,n){for(var r=[];e&&e!==n;e=e[t])r.push(e);return r},b=function(e,t){do{if(e.parentNode===t)return e;e=e.parentNode}while(e)},C=function(e,t,r){var o=r?"nextSibling":"previousSibling";for(s=(a=e).parentNode;a&&a!==t;a=s)s=a.parentNode,(u=y(a===e?a:a[o],o)).length&&(r||u.reverse(),n(v(u)))};if(1===l.nodeType&&l.hasChildNodes()&&(l=l.childNodes[f]),1===d.nodeType&&d.hasChildNodes()&&(g=m,h=(p=d).childNodes,--g>h.length-1?g=h.length-1:g<0&&(g=0),d=h[g]||p),l===d)return n(v([l]));for(r=e.findCommonAncestor(l,d),a=l;a;a=a.parentNode){if(a===d)return C(l,r,!0);if(a===r)break}for(a=d;a;a=a.parentNode){if(a===l)return C(d,r);if(a===r)break}o=b(l,r)||l,i=b(d,r)||d,C(l,o,!0),(u=y(o===l?o:o.nextSibling,"nextSibling",i===d?i.nextSibling:i)).length&&n(v(u)),C(d,i)}}},lg=/^(src|href|style)$/,fg=Ot.each,dg=Uc.isEq,mg=function(e){return/^(TH|TD)$/.test(e.nodeName)},pg=function(e,t,n){var r,o,i;return r=t[n?"startContainer":"endContainer"],o=t[n?"startOffset":"endOffset"],vo.isElement(r)&&(i=r.childNodes.length-1,!n&&o&&o--,r=r.childNodes[o>i?i:o]),vo.isText(r)&&n&&o>=r.nodeValue.length&&(r=new to(r,e.getBody()).next()||r),vo.isText(r)&&!n&&0===o&&(r=new to(r,e.getBody()).prev()||r),r},gg=function(e,t,n,r){var o=e.create(n,r);return t.parentNode.insertBefore(o,t),o.appendChild(t),o},hg=function(e,t,n,r){return!(t=Uc.getNonWhiteSpaceSibling(t,n,r))||"BR"===t.nodeName||e.isBlock(t)},vg=function(e,t,n,r,o){var i,a,s,u,c,l,f,d,m,p,g,h,v,y,b,C=e.dom;if(l=C,!(dg(f=r,(d=t).inline)||dg(f,d.block)||(d.selector?vo.isElement(f)&&l.is(f,d.selector):void 0)||(u=r,c=t,c.links&&"A"===u.tagName)))return!1;if("all"!==t.remove)for(fg(t.styles,function(e,i){e=Uc.normalizeStyleValue(C,Uc.replaceVars(e,n),i),"number"==typeof i&&(i=e,o=0),(t.remove_similar||!o||dg(Uc.getStyle(C,o,i),e))&&C.setStyle(r,i,""),s=1}),s&&""===C.getAttrib(r,"style")&&(r.removeAttribute("style"),r.removeAttribute("data-mce-style")),fg(t.attributes,function(e,t){var i;if(e=Uc.replaceVars(e,n),"number"==typeof t&&(t=e,o=0),!o||dg(C.getAttrib(o,t),e)){if("class"===t&&(e=C.getAttrib(r,t))&&(i="",fg(e.split(/\s+/),function(e){/mce\-\w+/.test(e)&&(i+=(i?" ":"")+e)}),i))return void C.setAttrib(r,t,i);"class"===t&&r.removeAttribute("className"),lg.test(t)&&r.removeAttribute("data-mce-"+t),r.removeAttribute(t)}}),fg(t.classes,function(e){e=Uc.replaceVars(e,n),o&&!C.hasClass(o,e)||C.removeClass(r,e)}),a=C.getAttribs(r),i=0;i<a.length;i++){var x=a[i].nodeName;if(0!==x.indexOf("_")&&0!==x.indexOf("data-"))return!1}return"none"!==t.remove?(m=e,g=t,v=(p=r).parentNode,y=m.dom,b=m.settings.forced_root_block,g.block&&(b?v===y.getRoot()&&(g.list_block&&dg(p,g.list_block)||fg(Ot.grep(p.childNodes),function(e){Uc.isValid(m,b,e.nodeName.toLowerCase())?h?h.appendChild(e):(h=gg(y,e,b),y.setAttribs(h,m.settings.forced_root_block_attrs)):h=0})):y.isBlock(p)&&!y.isBlock(v)&&(hg(y,p,!1)||hg(y,p.firstChild,!0,1)||p.insertBefore(y.create("br"),p.firstChild),hg(y,p,!0)||hg(y,p.lastChild,!1,1)||p.appendChild(y.create("br")))),g.selector&&g.inline&&!dg(g.inline,p)||y.remove(p,1),!0):void 0},yg=vg,bg=function(e,t,n,r,o){var i,a,s=e.formatter.get(t),u=s[0],c=!0,l=e.dom,f=e.selection,d=function(r){var i,a,c,l,f,d,m=(i=e,a=r,c=t,l=n,f=o,fg(Uc.getParents(i.dom,a.parentNode).reverse(),function(e){var t;d||"_start"===e.id||"_end"===e.id||(t=il.matchNode(i,e,c,l,f))&&!1!==t.split&&(d=e)}),d);return function(e,t,n,r,o,i,a,s){var u,c,l,f,d,m,p=e.dom;if(n){for(m=n.parentNode,u=r.parentNode;u&&u!==m;u=u.parentNode){for(c=p.clone(u,!1),d=0;d<t.length;d++)if(vg(e,t[d],s,c,c)){c=0;break}c&&(l&&c.appendChild(l),f||(f=c),l=c)}!i||a.mixed&&p.isBlock(n)||(r=p.split(n,r)),l&&(o.parentNode.insertBefore(l,o),f.appendChild(o))}return r}(e,s,m,r,r,!0,u,n)},m=function(t){var r,o,i,a,f;if(vo.isElement(t)&&l.getContentEditable(t)&&(a=c,c="true"===l.getContentEditable(t),f=!0),r=Ot.grep(t.childNodes),c&&!f)for(o=0,i=s.length;o<i&&!vg(e,s[o],n,t,t);o++);if(u.deep&&r.length){for(o=0,i=r.length;o<i;o++)m(r[o]);f&&(c=a)}},p=function(e){var t=l.get(e?"_start":"_end"),n=t[e?"firstChild":"lastChild"];return xs.isBookmarkNode(n)&&(n=n[e?"firstChild":"lastChild"]),vo.isText(n)&&0===n.data.length&&(n=e?t.previousSibling||t.nextSibling:t.nextSibling||t.previousSibling),l.remove(t,!0),n},g=function(t){var n,r,o=t.commonAncestorContainer;if(t=Qc(e,t,s,!0),u.split){if((n=pg(e,t,!0))!==(r=pg(e,t))){if(/^(TR|TH|TD)$/.test(n.nodeName)&&n.firstChild&&(n="TR"===n.nodeName?n.firstChild.firstChild||n:n.firstChild||n),o&&/^T(HEAD|BODY|FOOT|R)$/.test(o.nodeName)&&mg(r)&&r.firstChild&&(r=r.firstChild||r),l.isChildOf(n,r)&&n!==r&&!l.isBlock(r)&&!mg(n)&&!mg(r))return n=gg(l,n,"span",{id:"_start","data-mce-type":"bookmark"}),d(n),void(n=p(!0));n=gg(l,n,"span",{id:"_start","data-mce-type":"bookmark"}),r=gg(l,r,"span",{id:"_end","data-mce-type":"bookmark"}),d(n),d(r),n=p(!0),r=p()}else n=r=d(n);t.startContainer=n.parentNode?n.parentNode:n,t.startOffset=l.nodeIndex(n),t.endContainer=r.parentNode?r.parentNode:r,t.endOffset=l.nodeIndex(r)+1}cg.walk(l,t,function(t){fg(t,function(t){m(t),vo.isElement(t)&&"underline"===e.dom.getStyle(t,"text-decoration")&&t.parentNode&&"underline"===Uc.getTextDecoration(l,t.parentNode)&&vg(e,{deep:!1,exact:!0,inline:"span",styles:{textDecoration:"underline"}},null,t)})})};if(r)r.nodeType?((a=l.createRng()).setStartBefore(r),a.setEndAfter(r),g(a)):g(r);else if("false"!==l.getContentEditable(f.getNode()))f.isCollapsed()&&u.inline&&!l.select("td[data-mce-selected],th[data-mce-selected]").length?wl(e,t,n,o):(i=f.getBookmark(),g(f.getRng()),f.moveToBookmark(i),u.inline&&il.match(e,t,n,f.getStart())&&Uc.moveStart(l,f,f.getRng()),e.nodeChanged());else{r=f.getNode();for(var h=0,v=s.length;h<v&&(!s[h].ceFalseOverride||!vg(e,s[h],n,r,r));h++);}},Cg=Ot.each,xg=function(e){return e&&1===e.nodeType&&!xs.isBookmarkNode(e)&&!Nl(e)&&!vo.isBogus(e)},wg=function(e,t){var n;for(n=e;n;n=n[t]){if(3===n.nodeType&&0!==n.nodeValue.length)return e;if(1===n.nodeType&&!xs.isBookmarkNode(n))return n}return e},Ng=function(e,t,n){var r,o,i=new Ns(e);if(t&&n&&(t=wg(t,"previousSibling"),n=wg(n,"nextSibling"),i.compare(t,n))){for(r=t.nextSibling;r&&r!==n;)o=r,r=r.nextSibling,t.appendChild(o);return e.remove(n),Ot.each(Ot.grep(n.childNodes),function(e){t.appendChild(e)}),t}return n},Eg=function(e,t,n){Cg(e.childNodes,function(e){xg(e)&&(t(e)&&n(e),e.hasChildNodes()&&Eg(e,t,n))})},Sg=function(e,t){return y.curry(function(t,n){return!(!n||!Uc.getStyle(e,n,t))},t)},kg=function(e,t,n){return y.curry(function(t,n,r){e.setStyle(r,t,n),""===r.getAttribute("style")&&r.removeAttribute("style"),Tg(e,r)},t,n)},Tg=function(e,t){"SPAN"===t.nodeName&&0===e.getAttribs(t).length&&e.remove(t,!0)},Ag=function(e,t){var n;1===t.nodeType&&t.parentNode&&1===t.parentNode.nodeType&&(n=Uc.getTextDecoration(e,t.parentNode),e.getStyle(t,"color")&&n?e.setStyle(t,"text-decoration",n):e.getStyle(t,"text-decoration")===n&&e.setStyle(t,"text-decoration",null))},_g=function(e,t,n,r){Cg(t,function(t){Cg(e.dom.select(t.inline,r),function(r){xg(r)&&yg(e,t,n,r,t.exact?r:null)}),function(e,t,n){if(t.clear_child_styles){var r=t.links?"*:not(a)":"*";Cg(e.select(r,n),function(n){xg(n)&&Cg(t.styles,function(t,r){e.setStyle(n,r,"")})})}}(e.dom,t,r)})},Bg=function(e,t,n,r){(t.styles.color||t.styles.textDecoration)&&(Ot.walk(r,y.curry(Ag,e),"childNodes"),Ag(e,r))},Rg=function(e,t,n,r){t.styles&&t.styles.backgroundColor&&Eg(r,Sg(e,"fontSize"),kg(e,"backgroundColor",Uc.replaceVars(t.styles.backgroundColor,n)))},Dg=function(e,t,n,r){"sub"!==t.inline&&"sup"!==t.inline||(Eg(r,Sg(e,"fontSize"),kg(e,"fontSize","")),e.remove(e.select("sup"===t.inline?"sub":"sup",r),!0))},Og=function(e,t,n,r){r&&!1!==t.merge_siblings&&(r=Ng(e,Uc.getNonWhiteSpaceSibling(r),r),r=Ng(e,r,Uc.getNonWhiteSpaceSibling(r,!0)))},Pg=function(e,t,n,r,o){il.matchNode(e,o.parentNode,n,r)&&yg(e,t,r,o)||t.merge_with_parents&&e.dom.getParent(o.parentNode,function(i){if(il.matchNode(e,i,n,r))return yg(e,t,r,o),!0})},Ig=Ot.each,Lg=function(e,t,n,r){var o,i,a=e.formatter.get(t),s=a[0],u=!r&&e.selection.isCollapsed(),c=e.dom,l=e.selection,f=function(e,t){if(t=t||s,e){if(t.onformat&&t.onformat(e,t,n,r),Ig(t.styles,function(t,r){c.setStyle(e,r,Uc.replaceVars(t,n))}),t.styles){var o=c.getAttrib(e,"style");o&&e.setAttribute("data-mce-style",o)}Ig(t.attributes,function(t,r){c.setAttrib(e,r,Uc.replaceVars(t,n))}),Ig(t.classes,function(t){t=Uc.replaceVars(t,n),c.hasClass(e,t)||c.addClass(e,t)})}},d=function(e,t){var n=!1;return!!s.selector&&(Ig(e,function(e){if(!("collapsed"in e&&e.collapsed!==u))return c.is(t,e.selector)&&!Nl(t)?(f(t,e),n=!0,!1):void 0}),n)},m=function(r,o,i,u){var c,l,m=[],p=!0;c=s.inline||s.block,l=r.create(c),f(l),cg.walk(r,o,function(o){var i,g=function(o){var h,v,y,b;if(b=p,h=o.nodeName.toLowerCase(),v=o.parentNode.nodeName.toLowerCase(),1===o.nodeType&&r.getContentEditable(o)&&(b=p,p="true"===r.getContentEditable(o),y=!0),Uc.isEq(h,"br"))return i=0,void(s.block&&r.remove(o));if(s.wrapper&&il.matchNode(e,o,t,n))i=0;else{if(p&&!y&&s.block&&!s.wrapper&&Uc.isTextBlock(e,h)&&Uc.isValid(e,v,c))return o=r.rename(o,c),f(o),m.push(o),void(i=0);if(s.selector){var C=d(a,o);if(!s.inline||C)return void(i=0)}!p||y||!Uc.isValid(e,c,h)||!Uc.isValid(e,v,c)||!u&&3===o.nodeType&&1===o.nodeValue.length&&65279===o.nodeValue.charCodeAt(0)||Nl(o)||s.inline&&r.isBlock(o)?(i=0,Ig(Ot.grep(o.childNodes),g),y&&(p=b),i=0):(i||(i=r.clone(l,!1),o.parentNode.insertBefore(i,o),m.push(i)),i.appendChild(o))}};Ig(o,g)}),!0===s.links&&Ig(m,function(e){var t=function(e){"A"===e.nodeName&&f(e,s),Ig(Ot.grep(e.childNodes),t)};t(e)}),Ig(m,function(o){var i,u,c,l,d,p=function(e){var t=!1;return Ig(e.childNodes,function(e){if((n=e)&&1===n.nodeType&&!xs.isBookmarkNode(n)&&!Nl(n)&&!vo.isBogus(n))return t=e,!1;var n}),t};u=0,Ig(o.childNodes,function(e){Uc.isWhiteSpaceNode(e)||xs.isBookmarkNode(e)||u++}),i=u,!(m.length>1)&&r.isBlock(o)||0!==i?(s.inline||s.wrapper)&&(s.exact||1!==i||((l=p(c=o))&&!xs.isBookmarkNode(l)&&il.matchName(r,l,s)&&(d=r.clone(l,!1),f(d),r.replace(d,c,!0),r.remove(l,1)),o=d||c),_g(e,a,n,o),Pg(e,s,t,n,o),Rg(r,s,n,o),Dg(r,s,n,o),Og(r,s,n,o)):r.remove(o,1)})};if("false"!==c.getContentEditable(l.getNode())){if(s){if(r)r.nodeType?d(a,r)||((i=c.createRng()).setStartBefore(r),i.setEndAfter(r),m(c,Qc(e,i,a),0,!0)):m(c,r,0,!0);else if(u&&s.inline&&!c.select("td[data-mce-selected],th[data-mce-selected]").length)xl(e,t,n);else{var p=e.selection.getNode();e.settings.forced_root_block||!a[0].defaultBlock||c.getParent(p,c.isBlock)||Lg(e,a[0].defaultBlock),e.selection.setRng(Xs(e.selection.getRng())),o=l.getBookmark(),m(c,Qc(e,l.getRng(),a)),s.styles&&Bg(c,s,n,p),l.moveToBookmark(o),Uc.moveStart(c,l,l.getRng()),e.nodeChanged()}sg(t,e)}}else{r=l.getNode();for(var g=0,h=a.length;g<h;g++)if(a[g].ceFalseOverride&&c.is(r,a[g].selector))return void f(r,a[g])}},Mg={applyFormat:Lg},Fg=Ot.each,zg=function(e,t,n,r,o){var i,a,s,u,c,l,f,d;null===t.get()&&(a=e,s={},(i=t).set({}),a.on("NodeChange",function(e){var t=Uc.getParents(a.dom,e.element),n={};t=Ot.grep(t,function(e){return 1===e.nodeType&&!e.getAttribute("data-mce-bogus")}),Fg(i.get(),function(e,r){Fg(t,function(o){return a.formatter.matchNode(o,r,{},e.similar)?(s[r]||(Fg(e,function(e){e(!0,{node:o,format:r,parents:t})}),s[r]=e),n[r]=e,!1):!il.matchesUnInheritedFormatSelector(a,o,r)&&void 0})}),Fg(s,function(r,o){n[o]||(delete s[o],Fg(r,function(n){n(!1,{node:e.element,format:o,parents:t})}))})})),c=n,l=r,f=o,d=(u=t).get(),Fg(c.split(","),function(e){d[e]||(d[e]=[],d[e].similar=f),d[e].push(l)}),u.set(d)},Ug=function(e){var t={valigntop:[{selector:"td,th",styles:{verticalAlign:"top"}}],valignmiddle:[{selector:"td,th",styles:{verticalAlign:"middle"}}],valignbottom:[{selector:"td,th",styles:{verticalAlign:"bottom"}}],alignleft:[{selector:"figure.image",collapsed:!1,classes:"align-left",ceFalseOverride:!0,preview:"font-family font-size"},{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li",styles:{textAlign:"left"},inherit:!1,preview:!1,defaultBlock:"div"},{selector:"img,table",collapsed:!1,styles:{"float":"left"},preview:"font-family font-size"}],aligncenter:[{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li",styles:{textAlign:"center"},inherit:!1,preview:"font-family font-size",defaultBlock:"div"},{selector:"figure.image",collapsed:!1,classes:"align-center",ceFalseOverride:!0,preview:"font-family font-size"},{selector:"img",collapsed:!1,styles:{display:"block",marginLeft:"auto",marginRight:"auto"},preview:!1},{selector:"table",collapsed:!1,styles:{marginLeft:"auto",marginRight:"auto"},preview:"font-family font-size"}],alignright:[{selector:"figure.image",collapsed:!1,classes:"align-right",ceFalseOverride:!0,preview:"font-family font-size"},{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li",styles:{textAlign:"right"},inherit:!1,preview:"font-family font-size",defaultBlock:"div"},{selector:"img,table",collapsed:!1,styles:{"float":"right"},preview:"font-family font-size"}],alignjustify:[{selector:"figure,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li",styles:{textAlign:"justify"},inherit:!1,defaultBlock:"div",preview:"font-family font-size"}],bold:[{inline:"strong",remove:"all"},{inline:"span",styles:{fontWeight:"bold"}},{inline:"b",remove:"all"}],italic:[{inline:"em",remove:"all"},{inline:"span",styles:{fontStyle:"italic"}},{inline:"i",remove:"all"}],underline:[{inline:"span",styles:{textDecoration:"underline"},exact:!0},{inline:"u",remove:"all"}],strikethrough:[{inline:"span",styles:{textDecoration:"line-through"},exact:!0},{inline:"strike",remove:"all"}],forecolor:{inline:"span",styles:{color:"%value"},links:!0,remove_similar:!0,clear_child_styles:!0},hilitecolor:{inline:"span",styles:{backgroundColor:"%value"},links:!0,remove_similar:!0,clear_child_styles:!0},fontname:{inline:"span",styles:{fontFamily:"%value"},clear_child_styles:!0},fontsize:{inline:"span",styles:{fontSize:"%value"},clear_child_styles:!0},fontsize_class:{inline:"span",attributes:{"class":"%value"}},blockquote:{block:"blockquote",wrapper:1,remove:"all"},subscript:{inline:"sub"},superscript:{inline:"sup"},code:{inline:"code"},link:{inline:"a",selector:"a",remove:"all",split:!0,deep:!0,onmatch:function(){return!0},onformat:function(t,n,r){Ot.each(r,function(n,r){e.setAttrib(t,r,n)})}},removeformat:[{selector:"b,strong,em,i,font,u,strike,sub,sup,dfn,code,samp,kbd,var,cite,mark,q,del,ins",remove:"all",split:!0,expand:!1,block_expand:!0,deep:!0},{selector:"span",attributes:["style","class"],remove:"empty",split:!0,expand:!1,deep:!0},{selector:"*",attributes:["style","class"],split:!1,expand:!1,deep:!0}]};return Ot.each("p h1 h2 h3 h4 h5 h6 div address pre div dt dd samp".split(/\s/),function(e){t[e]={block:e,remove:"all"}}),t},Vg=Ot.each,Hg=Xo.DOM,qg=function(e,t){var n,r,o,i=t&&t.schema||Fo({}),a=function(e){var t,n,o;return r="string"==typeof e?{name:e,classes:[],attrs:{}}:e,t=Hg.create(r.name),n=t,(o=r).classes.length&&Hg.addClass(n,o.classes.join(" ")),Hg.setAttribs(n,o.attrs),t},s=function(e,t,n){var r,o,u,c,l,f,d,m,p=t.length>0&&t[0],g=p&&p.name;if(l=g,f="string"!=typeof(c=e)?c.nodeName.toLowerCase():c,d=i.getElementRule(f),u=!(!(m=d&&d.parentsRequired)||!m.length)&&(l&&-1!==Ot.inArray(m,l)?l:m[0]))g===u?(o=t[0],t=t.slice(1)):o=u;else if(p)o=t[0],t=t.slice(1);else if(!n)return e;return o&&(r=a(o)).appendChild(e),n&&(r||(r=Hg.create("div")).appendChild(e),Ot.each(n,function(t){var n=a(t);r.insertBefore(n,e)})),s(r,t,o&&o.siblings)};return e&&e.length?(r=e[0],n=a(r),(o=Hg.create("div")).appendChild(s(n,e.slice(1),r.siblings)),o):""},jg=function(e){var t,n={classes:[],attrs:{}};return"*"!==(e=n.selector=Ot.trim(e))&&(t=e.replace(/(?:([#\.]|::?)([\w\-]+)|(\[)([^\]]+)\]?)/g,function(e,t,r,o,i){switch(t){case"#":n.attrs.id=r;break;case".":n.classes.push(r);break;case":":-1!==Ot.inArray("checked disabled enabled read-only required".split(" "),r)&&(n.attrs[r]=r)}if("["===o){var a=i.match(/([\w\-]+)(?:\=\"([^\"]+))?/);a&&(n.attrs[a[1]]=a[2])}return""})),n.name=t||"div",n},$g=function(e){return e&&"string"==typeof e?(e=(e=e.split(/\s*,\s*/)[0]).replace(/\s*(~\+|~|\+|>)\s*/g,"$1"),Ot.map(e.split(/(?:>|\s+(?![^\[\]]+\]))/),function(e){var t=Ot.map(e.split(/(?:~\+|~|\+)/),jg),n=t.pop();return t.length&&(n.siblings=t),n}).reverse()):[]},Wg=function(e,t){var n,r,o,i,a,s,u="";if(!1===(s=e.settings.preview_styles))return"";"string"!=typeof s&&(s="font-family font-size font-weight font-style text-decoration text-transform color background-color border border-radius outline text-shadow");var c=function(e){return e.replace(/%(\w+)/g,"")};if("string"==typeof t){if(!(t=e.formatter.get(t)))return;t=t[0]}return"preview"in t&&!1===(s=t.preview)?"":(n=t.block||t.inline||"span",(i=$g(t.selector)).length?(i[0].name||(i[0].name=n),n=t.selector,r=qg(i,e)):r=qg([n],e),o=Hg.select(n,r)[0]||r.firstChild,Vg(t.styles,function(e,t){(e=c(e))&&Hg.setStyle(o,t,e)}),Vg(t.attributes,function(e,t){(e=c(e))&&Hg.setAttrib(o,t,e)}),Vg(t.classes,function(e){e=c(e),Hg.hasClass(o,e)||Hg.addClass(o,e)}),e.fire("PreviewFormats"),Hg.setStyles(r,{position:"absolute",left:-65535}),e.getBody().appendChild(r),a=Hg.getStyle(e.getBody(),"fontSize",!0),a=/px$/.test(a)?parseInt(a,10):0,Vg(s.split(" "),function(t){var n=Hg.getStyle(o,t,!0);if(!("background-color"===t&&/transparent|rgba\s*\([^)]+,\s*0\)/.test(n)&&(n=Hg.getStyle(e.getBody(),t,!0),"#ffffff"===Hg.toHex(n).toLowerCase())||"color"===t&&"#000000"===Hg.toHex(n).toLowerCase())){if("font-size"===t&&/em|%$/.test(n)){if(0===a)return;n=(n=parseFloat(n)/(/%$/.test(n)?100:1))*a+"px"}"border"===t&&n&&(u+="padding:0 2px;"),u+=t+":"+n+";"}}),e.fire("AfterPreviewFormats"),Hg.remove(r),u)},Kg=function(e,t,n,r,o){var i=t.get(n);!il.match(e,n,r,o)||"toggle"in i[0]&&!i[0].toggle?Mg.applyFormat(e,n,r,o):bg(e,n,r,o)},Xg=function(e){e.addShortcut("meta+b","","Bold"),e.addShortcut("meta+i","","Italic"),e.addShortcut("meta+u","","Underline");for(var t=1;t<=6;t++)e.addShortcut("access+"+t,"",["FormatBlock",!1,"h"+t]);e.addShortcut("access+7","",["FormatBlock",!1,"p"]),e.addShortcut("access+8","",["FormatBlock",!1,"div"]),e.addShortcut("access+9","",["FormatBlock",!1,"address"])},Yg=function(e){var t,n,r,o=(n={},(r=function(e,t){e&&("string"!=typeof e?Ot.each(e,function(e,t){r(t,e)}):(t=t.length?t:[t],Ot.each(t,function(e){"undefined"==typeof e.deep&&(e.deep=!e.selector),"undefined"==typeof e.split&&(e.split=!e.selector||e.inline),"undefined"==typeof e.remove&&e.selector&&!e.inline&&(e.remove="none"),e.selector&&e.inline&&(e.mixed=!0,e.block_expand=!0),"string"==typeof e.classes&&(e.classes=e.classes.split(/\s+/))}),n[e]=t))})(Ug((t=e).dom)),r(t.settings.formats),{get:function(e){return e?n[e]:n},register:r,unregister:function(e){return e&&n[e]&&delete n[e],n}}),i=Yl(null);return Xg(e),Cl(e),{get:o.get,register:o.register,unregister:o.unregister,apply:y.curry(Mg.applyFormat,e),remove:y.curry(bg,e),toggle:y.curry(Kg,e,o),match:y.curry(il.match,e),matchAll:y.curry(il.matchAll,e),matchNode:y.curry(il.matchNode,e),canApply:y.curry(il.canApply,e),formatChanged:y.curry(zg,e,i),getCssText:y.curry(Wg,e)}},Gg=function(e){return function(){for(var t=new Array(arguments.length),n=0;n<t.length;n++)t[n]=arguments[n];if(0===t.length)throw new Error("Can't merge zero objects");for(var r={},o=0;o<t.length;o++){var i=t[o];for(var a in i)i.hasOwnProperty(a)&&(r[a]=e(r[a],i[a]))}return r}},Jg=Gg(function(e,t){return tr.isObject(e)&&tr.isObject(t)?Jg(e,t):t}),Qg=Gg(function(e,t){return t}),Zg={deepMerge:Jg,merge:Qg},eh=function(e,t){return e.fire("PreProcess",t)},th=function(e,t){return e.fire("PostProcess",t)},nh=function(e,t,n){e.addAttributeFilter("data-mce-tabindex",function(e,t){for(var n,r=e.length;r--;)(n=e[r]).attr("tabindex",n.attributes.map["data-mce-tabindex"]),n.attr(t,null)}),e.addAttributeFilter("src,href,style",function(e,r){for(var o,i,a=e.length,s="data-mce-"+r,u=t.url_converter,c=t.url_converter_scope;a--;)(i=(o=e[a]).attributes.map[s])!==undefined?(o.attr(r,i.length>0?i:null),o.attr(s,null)):(i=o.attributes.map[r],"style"===r?i=n.serializeStyle(n.parseStyle(i),o.name):u&&(i=u.call(c,i,r,o.name)),o.attr(r,i.length>0?i:null))}),e.addAttributeFilter("class",function(e){for(var t,n,r=e.length;r--;)(n=(t=e[r]).attr("class"))&&(n=t.attr("class").replace(/(?:^|\s)mce-item-\w+(?!\S)/g,""),t.attr("class",n.length>0?n:null))}),e.addAttributeFilter("data-mce-type",function(e,t,n){for(var r,o=e.length;o--;)"bookmark"!==(r=e[o]).attributes.map["data-mce-type"]||n.cleanup||r.remove()}),e.addNodeFilter("noscript",function(e){for(var t,n=e.length;n--;)(t=e[n].firstChild)&&(t.value=Ao.decode(t.value))}),e.addNodeFilter("script,style",function(e,n){for(var r,o,i,a=e.length,s=function(e){return e.replace(/(<!--\[CDATA\[|\]\]-->)/g,"\n").replace(/^[\r\n]*|[\r\n]*$/g,"").replace(/^\s*((<!--)?(\s*\/\/)?\s*<!\[CDATA\[|(<!--\s*)?\/\*\s*<!\[CDATA\[\s*\*\/|(\/\/)?\s*<!--|\/\*\s*<!--\s*\*\/)\s*[\r\n]*/gi,"").replace(/\s*(\/\*\s*\]\]>\s*\*\/(-->)?|\s*\/\/\s*\]\]>(-->)?|\/\/\s*(-->)?|\]\]>|\/\*\s*-->\s*\*\/|\s*-->\s*)\s*$/g,"")};a--;)o=(r=e[a]).firstChild?r.firstChild.value:"","script"===n?((i=r.attr("type"))&&r.attr("type","mce-no/type"===i?null:i.replace(/^mce\-/,"")),"xhtml"===t.element_format&&o.length>0&&(r.firstChild.value="// <![CDATA[\n"+s(o)+"\n// ]]>")):"xhtml"===t.element_format&&o.length>0&&(r.firstChild.value="\x3c!--\n"+s(o)+"\n--\x3e")}),e.addNodeFilter("#comment",function(e){for(var t,n=e.length;n--;)0===(t=e[n]).value.indexOf("[CDATA[")?(t.name="#cdata",t.type=4,t.value=t.value.replace(/^\[CDATA\[|\]\]$/g,"")):0===t.value.indexOf("mce:protected ")&&(t.name="#text",t.type=3,t.raw=!0,t.value=unescape(t.value).substr(14))}),e.addNodeFilter("xml:namespace,input",function(e,t){for(var n,r=e.length;r--;)7===(n=e[r]).type?n.remove():1===n.type&&("input"!==t||"type"in n.attributes.map||n.attr("type","text"))}),e.addAttributeFilter("data-mce-type",function(t){M.each(t,function(t){"format-caret"===t.attr("data-mce-type")&&(t.isEmpty(e.schema.getNonEmptyElements())?t.remove():t.unwrap())})}),e.addAttributeFilter("data-mce-src,data-mce-href,data-mce-style,data-mce-selected,data-mce-expando,data-mce-type,data-mce-resize",function(e,t){for(var n=e.length;n--;)e[n].attr(t,null)})},rh=function(e){var t,n,r=function(e){return e&&"br"===e.name};r(t=e.lastChild)&&r(n=t.prev)&&(t.remove(),n.remove())},oh=function(e,t,n){return f=n,(l=e)&&l.hasEventListeners("PreProcess")&&!f.no_events?(o=t,i=n,c=(r=e).dom,o=o.cloneNode(!0),(a=document.implementation).createHTMLDocument&&(s=a.createHTMLDocument(""),Ot.each("BODY"===o.nodeName?o.childNodes:[o],function(e){s.body.appendChild(s.importNode(e,!0))}),o="BODY"!==o.nodeName?s.body.firstChild:s.body,u=c.doc,c.doc=s),eh(r,Zg.merge(i,{node:o})),u&&(c.doc=u),o):t;var r,o,i,a,s,u,c,l,f},ih=function(e,t,n){e.addNodeFilter("font",function(e){M.each(e,function(e){var r,o,i=t.parse(e.attr("style")),a=e.attr("color"),s=e.attr("face"),u=e.attr("size");a&&(i.color=a),s&&(i["font-family"]=s),u&&(i["font-size"]=n[parseInt(e.attr("size"),10)-1]),e.name="span",e.attr("style",t.serialize(i)),r=e,o=["color","face","size"],M.each(o,function(e){r.attr(e,null)})})})},ah=function(e,t){var n,r=zo();t.convert_fonts_to_spans&&ih(e,r,Ot.explode(t.font_size_legacy_values)),n=r,e.addNodeFilter("strike",function(e){M.each(e,function(e){var t=n.parse(e.attr("style"));t["text-decoration"]="line-through",e.name="span",e.attr("style",n.serialize(t))})})},sh=function(e,t){t.inline_styles&&ah(e,t)},uh=/^[ \t\r\n]*$/,ch={"#text":3,"#comment":8,"#cdata":4,"#pi":7,"#doctype":10,"#document-fragment":11},lh=function(e,t,n){var r,o,i=n?"lastChild":"firstChild",a=n?"prev":"next";if(e[i])return e[i];if(e!==t){if(r=e[a])return r;for(o=e.parent;o&&o!==t;o=o.parent)if(r=o[a])return r}},fh=function(e,t){this.name=e,this.type=t,1===t&&(this.attributes=[],this.attributes.map={})};fh.prototype={replace:function(e){return e.parent&&e.remove(),this.insert(e,this),this.remove(),this},attr:function(e,t){var n,r;if("string"!=typeof e){for(r in e)this.attr(r,e[r]);return this}if(n=this.attributes){if(t!==undefined){if(null===t){if(e in n.map)for(delete n.map[e],r=n.length;r--;)if(n[r].name===e)return n=n.splice(r,1),this;return this}if(e in n.map){for(r=n.length;r--;)if(n[r].name===e){n[r].value=t;break}}else n.push({name:e,value:t});return n.map[e]=t,this}return n.map[e]}},clone:function(){var e,t,n,r,o,i=new fh(this.name,this.type);if(n=this.attributes){for((o=[]).map={},e=0,t=n.length;e<t;e++)"id"!==(r=n[e]).name&&(o[o.length]={name:r.name,value:r.value},o.map[r.name]=r.value);i.attributes=o}return i.value=this.value,i.shortEnded=this.shortEnded,i},wrap:function(e){return this.parent.insert(e,this),e.append(this),this},unwrap:function(){var e,t;for(e=this.firstChild;e;)t=e.next,this.insert(e,this,!0),e=t;this.remove()},remove:function(){var e=this.parent,t=this.next,n=this.prev;return e&&(e.firstChild===this?(e.firstChild=t,t&&(t.prev=null)):n.next=t,e.lastChild===this?(e.lastChild=n,n&&(n.next=null)):t.prev=n,this.parent=this.next=this.prev=null),this},append:function(e){var t;return e.parent&&e.remove(),(t=this.lastChild)?(t.next=e,e.prev=t,this.lastChild=e):this.lastChild=this.firstChild=e,e.parent=this,e},insert:function(e,t,n){var r;return e.parent&&e.remove(),r=t.parent||this,n?(t===r.firstChild?r.firstChild=e:t.prev.next=e,e.prev=t.prev,e.next=t,t.prev=e):(t===r.lastChild?r.lastChild=e:t.next.prev=e,e.next=t.next,e.prev=t,t.next=e),e.parent=r,e},getAll:function(e){var t,n=[];for(t=this.firstChild;t;t=lh(t,this))t.name===e&&n.push(t);return n},empty:function(){var e,t,n;if(this.firstChild){for(e=[],n=this.firstChild;n;n=lh(n,this))e.push(n);for(t=e.length;t--;)(n=e[t]).parent=n.firstChild=n.lastChild=n.next=n.prev=null}return this.firstChild=this.lastChild=null,this},isEmpty:function(e,t,n){var r,o,i=this.firstChild;if(t=t||{},i)do{if(1===i.type){if(i.attributes.map["data-mce-bogus"])continue;if(e[i.name])return!1;for(r=i.attributes.length;r--;)if("name"===(o=i.attributes[r].name)||0===o.indexOf("data-mce-bookmark"))return!1}if(8===i.type)return!1;if(3===i.type&&!uh.test(i.value))return!1;if(3===i.type&&i.parent&&t[i.parent.name]&&uh.test(i.value))return!1;if(n&&n(i))return!1}while(i=lh(i,this));return!0},walk:function(e){return lh(this,null,e)}},fh.create=function(e,t){var n,r;if(n=new fh(e,ch[e]||1),t)for(r in t)n.attr(r,t[r]);return n};var dh=Ot.makeMap,mh=Ot.each,ph=Ot.explode,gh=Ot.extend,hh=function(e,t,n,r){(e.padd_empty_with_br||t.insert)&&n[r.name]?r.empty().append(new fh("br","1")).shortEnded=!0:r.empty().append(new fh("#text","3")).value="\xa0"},vh=function(e,t){return e&&e.firstChild&&e.firstChild===e.lastChild&&e.firstChild.name===t},yh=function(e,t,n,r){return r.isEmpty(t,n,function(t){return n=t,(r=e.getElementRule(n.name))&&r.paddEmpty;var n,r})},bh=function(e,t){var n={},r={},o=[],i={},a={};return(e=e||{}).validate=!("validate"in e)||e.validate,e.root_name=e.root_name||"body",n.schema=t=t||Fo(),n.filterNode=function(e){var t,n,s;n in r&&((s=i[n])?s.push(e):i[n]=[e]),t=o.length;for(;t--;)(n=o[t].name)in e.attributes.map&&((s=a[n])?s.push(e):a[n]=[e]);return e},n.addNodeFilter=function(e,t){mh(ph(e),function(e){var n=r[e];n||(r[e]=n=[]),n.push(t)})},n.addAttributeFilter=function(e,t){mh(ph(e),function(e){var n;for(n=0;n<o.length;n++)if(o[n].name===e)return void o[n].callbacks.push(t);o.push({name:e,callbacks:[t]})})},n.parse=function(s,u){var c,l,f,d,m,p,g,h,v,y,b,C,x,w,N,E,S,k,T,A,_,B=[];u=u||{},i={},a={},C=gh(dh("script,style,head,html,body,title,meta,param"),t.getBlockElements()),A=t.getNonEmptyElements(),T=t.children,b=e.validate,_="forced_root_block"in u?u.forced_root_block:e.forced_root_block,k=t.getWhiteSpaceElements(),x=/^[ \t\r\n]+/,N=/[ \t\r\n]+$/,E=/[ \t\r\n]+/g,S=/^[ \t\r\n]+$/;var R=function(e,t){var n,o=new fh(e,t);return e in r&&((n=i[e])?n.push(o):i[e]=[o]),o},D=function(e){var n,r,o,i,a=t.getBlockElements();for(n=e.prev;n&&3===n.type;){if((o=n.value.replace(N,"")).length>0)return void(n.value=o);if(r=n.next){if(3===r.type&&r.value.length){n=n.prev;continue}if(!a[r.name]&&"script"!==r.name&&"style"!==r.name){n=n.prev;continue}}i=n.prev,n.remove(),n=i}};if(c=new em({validate:b,allow_script_urls:e.allow_script_urls,allow_conditional_comments:e.allow_conditional_comments,self_closing_elements:function(e){var t,n={};for(t in e)"li"!==t&&"p"!==t&&(n[t]=e[t]);return n}(t.getSelfClosingElements()),cdata:function(e){f.append(R("#cdata",4)).value=e},text:function(e,t){var n;w||(e=e.replace(E," "),f.lastChild&&C[f.lastChild.name]&&(e=e.replace(x,""))),0!==e.length&&((n=R("#text",3)).raw=!!t,f.append(n).value=e)},comment:function(e){f.append(R("#comment",8)).value=e},pi:function(e,t){f.append(R(e,7)).value=t,D(f)},doctype:function(e){f.append(R("#doctype",10)).value=e,D(f)},start:function(e,n,r){var i,s,u,c,l;if(u=b?t.getElementRule(e):{}){for((i=R(u.outputName||e,1)).attributes=n,i.shortEnded=r,f.append(i),(l=T[f.name])&&T[i.name]&&!l[i.name]&&B.push(i),s=o.length;s--;)(c=o[s].name)in n.map&&((v=a[c])?v.push(i):a[c]=[i]);C[e]&&D(i),r||(f=i),!w&&k[e]&&(w=!0)}},end:function(n){var r,o,i,a,s,c;if(o=b?t.getElementRule(n):{}){if(C[n]&&!w){if((r=f.firstChild)&&3===r.type)if((i=r.value.replace(x,"")).length>0)r.value=i,r=r.next;else for(a=r.next,r.remove(),r=a;r&&3===r.type;)i=r.value,a=r.next,(0===i.length||S.test(i))&&(r.remove(),r=a),r=a;if((r=f.lastChild)&&3===r.type)if((i=r.value.replace(N,"")).length>0)r.value=i,r=r.prev;else for(a=r.prev,r.remove(),r=a;r&&3===r.type;)i=r.value,a=r.prev,(0===i.length||S.test(i))&&(r.remove(),r=a),r=a}if(w&&k[n]&&(w=!1),o.removeEmpty&&yh(t,A,k,f)&&!f.attributes.map.name&&!f.attributes.map.id)return s=f.parent,C[f.name]?f.empty().remove():f.unwrap(),void(f=s);o.paddEmpty&&(vh(c=f,"#text")&&"\xa0"===c.firstChild.value||yh(t,A,k,f))&&hh(e,u,C,f),f=f.parent}}},t),l=f=new fh(u.context||e.root_name,11),c.parse(s),b&&B.length&&(u.context?u.invalid=!0:function(e){var r,o,i,a,s,u,c,l,f,d,m,p,g,h,v,y;for(p=dh("tr,td,th,tbody,thead,tfoot,table"),d=t.getNonEmptyElements(),m=t.getWhiteSpaceElements(),g=t.getTextBlockElements(),h=t.getSpecialElements(),r=0;r<e.length;r++)if((o=e[r]).parent&&!o.fixed)if(g[o.name]&&"li"===o.parent.name){for(v=o.next;v&&g[v.name];)v.name="li",v.fixed=!0,o.parent.insert(v,o.parent),v=v.next;o.unwrap(o)}else{for(a=[o],i=o.parent;i&&!t.isValidChild(i.name,o.name)&&!p[i.name];i=i.parent)a.push(i);if(i&&a.length>1){for(a.reverse(),s=u=n.filterNode(a[0].clone()),f=0;f<a.length-1;f++){for(t.isValidChild(u.name,a[f].name)?(c=n.filterNode(a[f].clone()),u.append(c)):c=u,l=a[f].firstChild;l&&l!==a[f+1];)y=l.next,c.append(l),l=y;u=c}yh(t,d,m,s)?i.insert(o,a[0],!0):(i.insert(s,a[0],!0),i.insert(o,s)),i=a[0],(yh(t,d,m,i)||vh(i,"br"))&&i.empty().remove()}else if(o.parent){if("li"===o.name){if((v=o.prev)&&("ul"===v.name||"ul"===v.name)){v.append(o);continue}if((v=o.next)&&("ul"===v.name||"ul"===v.name)){v.insert(o,v.firstChild,!0);continue}o.wrap(n.filterNode(new fh("ul",1)));continue}t.isValidChild(o.parent.name,"div")&&t.isValidChild("div",o.name)?o.wrap(n.filterNode(new fh("div",1))):h[o.name]?o.empty().remove():o.unwrap()}}}(B)),_&&("body"===l.name||u.isRootContent)&&function(){var n,r,o=l.firstChild,i=function(e){e&&((o=e.firstChild)&&3===o.type&&(o.value=o.value.replace(x,"")),(o=e.lastChild)&&3===o.type&&(o.value=o.value.replace(N,"")))};if(t.isValidChild(l.name,_.toLowerCase())){for(;o;)n=o.next,3===o.type||1===o.type&&"p"!==o.name&&!C[o.name]&&!o.attr("data-mce-type")?r?r.append(o):((r=R(_,1)).attr(e.forced_root_block_attrs),l.insert(r,o),r.append(o)):(i(r),r=null),o=n;i(r)}}(),!u.invalid){for(y in i){for(v=r[y],g=(d=i[y]).length;g--;)d[g].parent||d.splice(g,1);for(m=0,p=v.length;m<p;m++)v[m](d,y,u)}for(m=0,p=o.length;m<p;m++)if((v=o[m]).name in a){for(g=(d=a[v.name]).length;g--;)d[g].parent||d.splice(g,1);for(g=0,h=v.callbacks.length;g<h;g++)v.callbacks[g](d,v.name,u)}}return l},e.remove_trailing_brs&&n.addNodeFilter("br",function(n,r,o){var i,a,s,u,c,l,f,d,m=n.length,p=gh({},t.getBlockElements()),g=t.getNonEmptyElements(),h=t.getNonEmptyElements();for(p.body=1,i=0;i<m;i++)if(s=(a=n[i]).parent,p[a.parent.name]&&a===s.lastChild){for(c=a.prev;c;){if("span"!==(l=c.name)||"bookmark"!==c.attr("data-mce-type")){if("br"!==l)break;if("br"===l){a=null;break}}c=c.prev}a&&(a.remove(),yh(t,g,h,s)&&(f=t.getElementRule(s.name))&&(f.removeEmpty?s.remove():f.paddEmpty&&hh(e,o,p,s)))}else{for(u=a;s&&s.firstChild===u&&s.lastChild===u&&(u=s,!p[s.name]);)s=s.parent;u===s&&!0!==e.padd_empty_with_br&&((d=new fh("#text",3)).value="\xa0",a.replace(d))}}),n.addAttributeFilter("href",function(t){var n,r,o,i=t.length;if(!e.allow_unsafe_link_target)for(;i--;)"a"===(n=t[i]).name&&"_blank"===n.attr("target")&&n.attr("rel",(r=n.attr("rel"),o=r?Ot.trim(r):"",/\b(noopener)\b/g.test(o)?o:o.split(" ").filter(function(e){return e.length>0}).concat(["noopener"]).sort().join(" ")))}),e.allow_html_in_named_anchor||n.addAttributeFilter("id,name",function(e){for(var t,n,r,o,i=e.length;i--;)if("a"===(o=e[i]).name&&o.firstChild&&!o.attr("href")){r=o.parent,t=o.lastChild;do{n=t.prev,r.insert(t,o),t=n}while(t)}}),e.fix_list_elements&&n.addNodeFilter("ul,ol",function(e){for(var t,n,r=e.length;r--;)if("ul"===(n=(t=e[r]).parent).name||"ol"===n.name)if(t.prev&&"li"===t.prev.name)t.prev.append(t);else{var o=new fh("li",1);o.attr("style","list-style-type: none"),t.wrap(o)}}),e.validate&&t.getValidClasses()&&n.addAttributeFilter("class",function(e){for(var n,r,o,i,a,s,u,c=e.length,l=t.getValidClasses();c--;){for(r=(n=e[c]).attr("class").split(" "),a="",o=0;o<r.length;o++)i=r[o],u=!1,(s=l["*"])&&s[i]&&(u=!0),s=l[n.name],!u&&s&&s[i]&&(u=!0),u&&(a&&(a+=" "),a+=i);a.length||(a=null),n.attr("class",a)}}),sh(n,e),n},Ch=function(e,t,n){-1===Ot.inArray(t,n)&&(e.addAttributeFilter(n,function(e,t){for(var n=e.length;n--;)e[n].attr(t,null)}),t.push(n))},xh=function(e,t,n,r,o){var i,a,s,u,c=(i=r,zs(t,n).serialize(i));return a=e,u=c,!(s=o).no_events&&a?th(a,Zg.merge(s,{content:u})).content:u},wh=function(e,t){var n,r,o,i=["data-mce-selected"];return n=t&&t.dom?t.dom:Xo.DOM,r=t&&t.schema?t.schema:Fo(e),e.entity_encoding=e.entity_encoding||"named",e.remove_trailing_brs=!("remove_trailing_brs"in e)||e.remove_trailing_brs,o=bh(e,r),nh(o,e,n),{schema:r,addNodeFilter:o.addNodeFilter,addAttributeFilter:o.addAttributeFilter,serialize:function(i,a){var s,u,c,l,f,d,m,p,g,h=Zg.merge({format:"html"},a||{}),v=oh(t,i,h),y=(s=n,u=v,l=ii((c=h).getInner?u.innerHTML:s.getOuterHTML(u)),c.selection?l:Ot.trim(l)),b=(f=o,d=y,p=(m=h).selection?Zg.merge({forced_root_block:!1},m):m,g=f.parse(d,p),rh(g),g);return"tree"===h.format?b:xh(t,e,r,b,h)},addRules:function(e){r.addValidElements(e)},setRules:function(e){r.setValidElements(e)},addTempAttr:y.curry(Ch,o,i),getTempAttrs:function(){return i}}},Nh=function(e,t){var n=wh(e,t);return{schema:n.schema,addNodeFilter:n.addNodeFilter,addAttributeFilter:n.addAttributeFilter,serialize:n.serialize,addRules:n.addRules,setRules:n.setRules,addTempAttr:n.addTempAttr,getTempAttrs:n.getTempAttrs}},Eh=function(e,t){var n;t.hasAttribute("data-mce-caret")&&(mi.showCaretContainerBlock(t),(n=e).selection.setRng(n.selection.getRng()),e.selection.scrollIntoView(t))},Sh=function(e,t){var n,r=(n=e,Nu(Hn.fromDom(n.getBody()),"*[data-mce-caret]").fold(y.constant(null),function(e){return e.dom()}));if(r)return"compositionstart"===t.type?(t.preventDefault(),t.stopPropagation(),void Eh(e,r)):void(mi.hasContent(r)&&Eh(e,r))},kh=function(e){e.on("keyup compositionstart",y.curry(Sh,e))};function Th(e){return{getBookmark:y.curry(xs.getBookmark,e),moveToBookmark:y.curry(xs.moveToBookmark,e)}}(Th||(Th={})).isBookmarkNode=xs.isBookmarkNode;var Ah=Th,_h=vo.isContentEditableFalse,Bh=vo.isContentEditableTrue,Rh=function(e,t){var n,r,o,i,a,s,u,c,l,f,d,m,p,g,h,v,y,b=t.dom,C=Ot.each,x=t.getDoc(),w=document,N=Math.abs,E=Math.round,S=t.getBody();i={nw:[0,0,-1,-1],ne:[1,0,1,-1],se:[1,1,1,1],sw:[0,1,-1,1]};var k=".mce-content-body";t.contentStyles.push(k+" div.mce-resizehandle {position: absolute;border: 1px solid black;box-sizing: content-box;background: #FFF;width: 7px;height: 7px;z-index: 10000}"+k+" .mce-resizehandle:hover {background: #000}"+k+" img[data-mce-selected],"+k+" hr[data-mce-selected] {outline: 1px solid black;resize: none}"+k+" .mce-clonedresizable {position: absolute;"+(me.gecko?"":"outline: 1px dashed black;")+"opacity: .5;filter: alpha(opacity=50);z-index: 10000}"+k+" .mce-resize-helper {background: #555;background: rgba(0,0,0,0.75);border-radius: 3px;border: 1px;color: white;display: none;font-family: sans-serif;font-size: 12px;white-space: nowrap;line-height: 14px;margin: 5px 10px;padding: 5px;position: absolute;z-index: 10001}");var T=function(e){return e&&("IMG"===e.nodeName||t.dom.is(e,"figure.image"))},A=function(e){var n,r,o=e.target;n=e,r=t.selection.getRng(),!T(n.target)||kp(n.clientX,n.clientY,r)||e.isDefaultPrevented()||(e.preventDefault(),t.selection.select(o))},_=function(e){return t.dom.is(e,"figure.image")?e.querySelector("img"):e},B=function(e){var n=t.settings.object_resizing;return!1!==n&&!me.iOS&&("string"!=typeof n&&(n="table,img,figure.image,div"),"false"!==e.getAttribute("data-mce-resize")&&e!==t.getBody()&&_r.is(Hn.fromDom(e),n))},R=function(e){var i,C,x,w;i=e.screenX-s,C=e.screenY-u,g=i*a[2]+f,h=C*a[3]+d,g=g<5?5:g,h=h<5?5:h,(T(n)&&!1!==t.settings.resize_img_proportional?!Mp.modifierPressed(e):Mp.modifierPressed(e)||T(n)&&a[2]*a[3]!=0)&&(N(i)>N(C)?(h=E(g*m),g=E(h/m)):(g=E(h/m),h=E(g*m))),b.setStyles(_(r),{width:g,height:h}),x=a.startPos.x+i,w=a.startPos.y+C,x=x>0?x:0,w=w>0?w:0,b.setStyles(o,{left:x,top:w,display:"block"}),o.innerHTML=g+" × "+h,a[2]<0&&r.clientWidth<=g&&b.setStyle(r,"left",c+(f-g)),a[3]<0&&r.clientHeight<=h&&b.setStyle(r,"top",l+(d-h)),(i=S.scrollWidth-v)+(C=S.scrollHeight-y)!=0&&b.setStyles(o,{left:x-i,top:w-C}),p||(t.fire("ObjectResizeStart",{target:n,width:f,height:d}),p=!0)},D=function(){p=!1;var e=function(e,r){r&&(n.style[e]||!t.schema.isValid(n.nodeName.toLowerCase(),e)?b.setStyle(_(n),e,r):b.setAttrib(_(n),e,r))};e("width",g),e("height",h),b.unbind(x,"mousemove",R),b.unbind(x,"mouseup",D),w!==x&&(b.unbind(w,"mousemove",R),b.unbind(w,"mouseup",D)),b.remove(r),b.remove(o),O(n),t.fire("ObjectResized",{target:n,width:g,height:h}),b.setAttrib(n,"style",b.getAttrib(n,"style")),t.nodeChanged()},O=function(e){var p,N,E,k,T;P(),M(),p=b.getPos(e,S),c=p.x,l=p.y,T=e.getBoundingClientRect(),N=T.width||T.right-T.left,E=T.height||T.bottom-T.top,n!==e&&(n=e,g=h=0),k=t.fire("ObjectSelected",{target:e}),B(e)&&!k.isDefaultPrevented()?C(i,function(e,t){var i;(i=b.get("mceResizeHandle"+t))&&b.remove(i),i=b.add(S,"div",{id:"mceResizeHandle"+t,"data-mce-bogus":"all","class":"mce-resizehandle",unselectable:!0,style:"cursor:"+t+"-resize; margin:0; padding:0"}),me.ie&&(i.contentEditable=!1),b.bind(i,"mousedown",function(t){var i;t.stopImmediatePropagation(),t.preventDefault(),s=(i=t).screenX,u=i.screenY,f=_(n).clientWidth,d=_(n).clientHeight,m=d/f,a=e,e.startPos={x:N*e[0]+c,y:E*e[1]+l},v=S.scrollWidth,y=S.scrollHeight,r=n.cloneNode(!0),b.addClass(r,"mce-clonedresizable"),b.setAttrib(r,"data-mce-bogus","all"),r.contentEditable=!1,r.unSelectabe=!0,b.setStyles(r,{left:c,top:l,margin:0}),r.removeAttribute("data-mce-selected"),S.appendChild(r),b.bind(x,"mousemove",R),b.bind(x,"mouseup",D),w!==x&&(b.bind(w,"mousemove",R),b.bind(w,"mouseup",D)),o=b.add(S,"div",{"class":"mce-resize-helper","data-mce-bogus":"all"},f+" × "+d)}),e.elm=i,b.setStyles(i,{left:N*e[0]+c-i.offsetWidth/2,top:E*e[1]+l-i.offsetHeight/2})}):P(),n.setAttribute("data-mce-selected","1")},P=function(){var e,t;for(e in M(),n&&n.removeAttribute("data-mce-selected"),i)(t=b.get("mceResizeHandle"+e))&&(b.unbind(t),b.remove(t))},I=function(n){var r,o=function(e,t){if(e)do{if(e===t)return!0}while(e=e.parentNode)};p||t.removed||(C(b.select("img[data-mce-selected],hr[data-mce-selected]"),function(e){e.removeAttribute("data-mce-selected")}),r="mousedown"===n.type?n.target:e.getNode(),o(r=b.$(r).closest("table,img,figure.image,hr")[0],S)&&(F(),o(e.getStart(!0),r)&&o(e.getEnd(!0),r))?O(r):P())},L=function(e){return _h(function(e,t){for(;t&&t!==e;){if(Bh(t)||_h(t))return t;t=t.parentNode}return null}(t.getBody(),e))},M=function(){for(var e in i){var t=i[e];t.elm&&(b.unbind(t.elm),delete t.elm)}},F=function(){try{t.getDoc().execCommand("enableObjectResizing",!1,!1)}catch(e){}};return t.on("init",function(){F(),me.ie&&me.ie>=11&&(t.on("mousedown click",function(e){var n=e.target,r=n.nodeName;p||!/^(TABLE|IMG|HR)$/.test(r)||L(n)||(2!==e.button&&t.selection.select(n,"TABLE"===r),"mousedown"===e.type&&t.nodeChanged())}),t.dom.bind(S,"mscontrolselect",function(e){var n=function(e){ye.setEditorTimeout(t,function(){t.selection.select(e)})};if(L(e.target))return e.preventDefault(),void n(e.target);/^(TABLE|IMG|HR)$/.test(e.target.nodeName)&&(e.preventDefault(),"IMG"===e.target.tagName&&n(e.target))}));var e=ye.throttle(function(e){t.composing||I(e)});t.on("nodechange ResizeEditor ResizeWindow drop",e),t.on("keyup compositionend",function(t){n&&"TABLE"===n.nodeName&&e(t)}),t.on("hide blur",P),t.on("contextmenu",A)}),t.on("remove",M),{isResizable:B,showResizeRect:O,hideResizeRect:P,updateResizeRect:I,destroy:function(){n=r=null}}},Dh=function(e){for(var t=0,n=0,r=e;r&&r.nodeType;)t+=r.offsetLeft||0,n+=r.offsetTop||0,r=r.offsetParent;return{x:t,y:n}},Oh=function(e,t,n){var r,o,i,a,s,u=e.dom,c=u.getRoot(),l=0;if(s={elm:t,alignToTop:n},e.fire("scrollIntoView",s),!s.isDefaultPrevented()&&vo.isElement(t)){if(!1===n&&(l=t.offsetHeight),"BODY"!==c.nodeName){var f=e.selection.getScrollContainer();if(f)return r=Dh(t).y-Dh(f).y+l,a=f.clientHeight,void((r<(i=f.scrollTop)||r+25>i+a)&&(f.scrollTop=r<i?r:r-a+25))}o=u.getViewPort(e.getWin()),r=u.getPos(t).y+l,i=o.y,a=o.h,(r<o.y||r+25>i+a)&&e.getWin().scrollTo(0,r<i?r:r-a+25)}},Ph=function(e){return vo.isContentEditableTrue(e)||vo.isContentEditableFalse(e)},Ih=function(e,t,n){var r,o,i,a,s,u=n;if(u.caretPositionFromPoint)(o=u.caretPositionFromPoint(e,t))&&((r=n.createRange()).setStart(o.offsetNode,o.offset),r.collapse(!0));else if(n.caretRangeFromPoint)r=n.caretRangeFromPoint(e,t);else if(u.body.createTextRange){r=u.body.createTextRange();try{r.moveToPoint(e,t),r.collapse(!0)}catch(c){r=function(e,t,n){var r,o,i;if(r=n.elementFromPoint(e,t),o=n.body.createTextRange(),r&&"HTML"!==r.tagName||(r=n.body),o.moveToElementText(r),(i=(i=Ot.toArray(o.getClientRects())).sort(function(e,n){return(e=Math.abs(Math.max(e.top-t,e.bottom-t)))-(n=Math.abs(Math.max(n.top-t,n.bottom-t)))})).length>0){t=(i[0].bottom+i[0].top)/2;try{return o.moveToPoint(e,t),o.collapse(!0),o}catch(a){}}return null}(e,t,n)}return i=r,a=n.body,s=i&&i.parentElement?i.parentElement():null,vo.isContentEditableFalse(function(e,t,n){for(;e&&e!==t;){if(n(e))return e;e=e.parentNode}return null}(s,a,Ph))?null:i}return r},Lh=function(e,t){return M.map(t,function(t){var n=e.fire("GetSelectionRange",{range:t});return n.range!==t?n.range:t})},Mh=function(e,t){return Hn.fromDom(e.dom().cloneNode(t))},Fh=function(e){return Mh(e,!0)},zh=function(e){return Mh(e,!1)},Uh=Fh,Vh=function(e,t){var n=(t||document).createDocumentFragment();return M.each(e,function(e){n.appendChild(e.dom())}),Hn.fromDom(n)},Hh=function(e){return Ur.firstChild(e).fold(y.constant([e]),function(t){return[e].concat(Hh(t))})},qh=function(e){return Ur.lastChild(e).fold(y.constant([e]),function(t){return"br"===Zn.name(t)?Ur.prevSibling(t).map(function(t){return[e].concat(qh(t))}).getOr([]):[e].concat(qh(t))})},jh=function(e,t){return hs([(i=t,a=i.startContainer,s=i.startOffset,vo.isText(a)?0===s?E.some(Hn.fromDom(a)):E.none():E.from(a.childNodes[s]).map(Hn.fromDom)),(n=t,r=n.endContainer,o=n.endOffset,vo.isText(r)?o===r.data.length?E.some(Hn.fromDom(r)):E.none():E.from(r.childNodes[o-1]).map(Hn.fromDom))],function(t,n){var r=M.find(Hh(e),y.curry(Dr.eq,t)),o=M.find(qh(e),y.curry(Dr.eq,n));return r.isSome()&&o.isSome()}).getOr(!1);var n,r,o,i,a,s},$h=function(e,t,n,r){var o=n,i=new to(n,o),a=e.schema.getNonEmptyElements();do{if(3===n.nodeType&&0!==Ot.trim(n.nodeValue).length)return void(r?t.setStart(n,0):t.setEnd(n,n.nodeValue.length));if(a[n.nodeName]&&!/^(TD|TH)$/.test(n.nodeName))return void(r?t.setStartBefore(n):"BR"===n.nodeName?t.setEndBefore(n):t.setEndAfter(n));if(me.ie&&me.ie<11&&e.isBlock(n)&&e.isEmpty(n))return void(r?t.setStart(n,0):t.setEnd(n,0))}while(n=r?i.next():i.prev());"BODY"===o.nodeName&&(r?t.setStart(o,0):t.setEnd(o,o.childNodes.length))},Wh=xr("element","width","rows"),Kh=xr("element","cells"),Xh=xr("x","y"),Yh=function(e,t){var n=parseInt(dr.get(e,t),10);return isNaN(n)?1:n},Gh=function(e){return M.foldl(e,function(e,t){return t.cells().length>e?t.cells().length:e},0)},Jh=function(e,t){for(var n=e.rows(),r=0;r<n.length;r++)for(var o=n[r].cells(),i=0;i<o.length;i++)if(Dr.eq(o[i],t))return E.some(Xh(i,r));return E.none()},Qh=function(e,t,n,r,o){for(var i=[],a=e.rows(),s=n;s<=o;s++){var u=a[s].cells(),c=t<r?u.slice(t,r+1):u.slice(r,t+1);i.push(Kh(a[s].element(),c))}return i},Zh=function(e){var t=Wh(zh(e),0,[]);return M.each(Os(e,"tr"),function(e,n){M.each(Os(e,"td,th"),function(r,o){!function(e,t,n,r,o){for(var i=Yh(o,"rowspan"),a=Yh(o,"colspan"),s=e.rows(),u=n;u<n+i;u++){s[u]||(s[u]=Kh(Uh(r),[]));for(var c=t;c<t+a;c++)s[u].cells()[c]=u===n&&c===t?o:zh(o)}}(t,function(e,t,n){for(;r=t,o=n,i=void 0,((i=e.rows())[o]?i[o].cells():[])[r];)t++;var r,o,i;return t}(t,o,n),n,e,r)})}),Wh(t.element(),Gh(t.rows()),t.rows())},ev=function(e){return t=e,i=e,n=M.map(i.rows(),function(e){var t=M.map(e.cells(),function(e){var t=Uh(e);return dr.remove(t,"colspan"),dr.remove(t,"rowspan"),t}),n=zh(e.element());return As(n,t),n}),r=zh(t.element()),o=Hn.fromTag("tbody"),As(o,n),ks.append(r,o),r;var t,n,r,o,i},tv=function(e,t,n){return Jh(e,t).bind(function(t){return Jh(e,n).map(function(n){return r=e,i=n,a=(o=t).x(),s=o.y(),u=i.x(),c=i.y(),l=s<c?Qh(r,a,s,u,c):Qh(r,a,c,u,s),Wh(r.element(),Gh(l),l);var r,o,i,a,s,u,c,l})})},nv=function(e,t){return M.find(e,function(e){return"li"===Zn.name(e)&&jh(e,t)}).fold(y.constant([]),function(t){return(n=e,M.find(n,function(e){return"ul"===Zn.name(e)||"ol"===Zn.name(e)})).map(function(e){return[Hn.fromTag("li"),Hn.fromTag(Zn.name(e))]}).getOr([]);var n})},rv=function(e,t){var n,r=Hn.fromDom(t.commonAncestorContainer),o=Uu(r,e),i=M.filter(o,function(e){return io.isInline(e)||io.isHeading(e)}),a=nv(o,t),s=i.concat(a.length?a:(n=r,io.isListItem(n)?Ur.parent(n).filter(io.isList).fold(y.constant([]),function(e){return[n,e]}):io.isList(n)?[n]:[]));return M.map(s,zh)},ov=function(){return Vh([])},iv=function(e,t){return n=Hn.fromDom(t.cloneContents()),r=rv(e,t),o=M.foldl(r,function(e,t){return ks.append(t,e),t},n),r.length>0?Vh([o]):o;var n,r,o},av=function(e,t){return(n=e,r=t[0],wu(r,"table",y.curry(Dr.eq,n))).bind(function(e){var n=t[0],r=t[t.length-1],o=Zh(e);return tv(o,n,r).map(function(e){return Vh([ev(e)])})}).getOrThunk(ov);var n,r},sv=function(e,t){var n,r,o=Af(t,e);return o.length>0?av(e,o):(n=e,(r=t).length>0&&r[0].collapsed?ov():iv(n,r[0]))},uv=function(e,t){var n,r=e.selection.getRng(),o=e.dom.create("body"),i=e.selection.getSel(),a=Lh(e,wf(i));if((t=t||{}).get=!0,t.format=t.format||"html",t.selection=!0,(t=e.fire("BeforeGetContent",t)).isDefaultPrevented())return e.fire("GetContent",t),t.content;if("text"===t.format)return e.selection.isCollapsed()?"":ii(r.text||(i.toString?i.toString():""));r.cloneContents?(n=t.contextual?sv(Hn.fromDom(e.getBody()),a).dom():r.cloneContents())&&o.appendChild(n):r.item!==undefined||r.htmlText!==undefined?(o.innerHTML="<br>"+(r.item?r.item(0).outerHTML:r.htmlText),o.removeChild(o.firstChild)):o.innerHTML=r.toString(),t.getInner=!0;var s=e.selection.serializer.serialize(o,t);return"tree"===t.format?s:(t.content=e.selection.isCollapsed()?"":s,e.fire("GetContent",t),t.content)},cv=function(e,t,n){var r,o,i,a=e.selection.getRng(),s=e.getDoc();if((n=n||{format:"html"}).set=!0,n.selection=!0,n.content=t,n.no_events||!(n=e.fire("BeforeSetContent",n)).isDefaultPrevented()){if(t=n.content,a.insertNode){t+='<span id="__caret">_</span>',a.startContainer===s&&a.endContainer===s?s.body.innerHTML=t:(a.deleteContents(),0===s.body.childNodes.length?s.body.innerHTML=t:a.createContextualFragment?a.insertNode(a.createContextualFragment(t)):(o=s.createDocumentFragment(),i=s.createElement("div"),o.appendChild(i),i.outerHTML=t,a.insertNode(o))),r=e.dom.get("__caret"),(a=s.createRange()).setStartBefore(r),a.setEndBefore(r),e.selection.setRng(a),e.dom.remove("__caret");try{e.selection.setRng(a)}catch(u){}}else a.item&&(s.execCommand("Delete",!1,null),a=e.getRng()),/^\s+/.test(t)?(a.pasteHTML('<span id="__mce_tmp">_</span>'+t),e.dom.remove("__mce_tmp")):a.pasteHTML(t);n.no_events||e.fire("SetContent",n)}else e.fire("SetContent",n)},lv=function(e,t,n,r,o){var i=n?t.startContainer:t.endContainer,a=n?t.startOffset:t.endOffset;return E.from(i).map(Hn.fromDom).map(function(e){return r&&t.collapsed?e:Ur.child(e,o(e,a)).getOr(e)}).bind(function(e){return Zn.isElement(e)?E.some(e):Ur.parent(e)}).map(function(e){return e.dom()}).getOr(e)},fv=function(e,t,n){return lv(e,t,!0,n,function(e,t){return Math.min(Ur.childNodesCount(e),t)})},dv=function(e,t,n){return lv(e,t,!1,n,function(e,t){return t>0?t-1:t})},mv=function(e,t){for(var n=e;e&&vo.isText(e)&&0===e.length;)e=t?e.nextSibling:e.previousSibling;return e||n},pv=Ot.each,gv=function(e){return!!e.select},hv=function(e){return!(!e||!e.ownerDocument)&&Dr.contains(Hn.fromDom(e.ownerDocument),Hn.fromDom(e))},vv=function(e,t,n,r){var o,i,a,s,u,c=function(e,t){return cv(r,e,t)},l=function(e){var t=d();t.collapse(!!e),m(t)},f=function(){return t.getSelection?t.getSelection():t.document.selection},d=function(){var n,o,i,u,c=function(e,t,n){try{return t.compareBoundaryPoints(e,n)}catch(r){return-1}};if(!t)return null;if(void 0===(u=t.document)||null===u)return null;if(r.bookmark!==undefined&&!1===hm(r)){var l=Td(r);if(l.isSome())return l.map(function(e){return Lh(r,[e])[0]}).getOr(u.createRange())}try{(n=f())&&(o=n.rangeCount>0?n.getRangeAt(0):n.createRange?n.createRange():u.createRange())}catch(d){}return(o=Lh(r,[o])[0])||(o=u.createRange?u.createRange():u.body.createTextRange()),o.setStart&&9===o.startContainer.nodeType&&o.collapsed&&(i=e.getRoot(),o.setStart(i,0),o.setEnd(i,0)),a&&s&&(0===c(o.START_TO_START,o,a)&&0===c(o.END_TO_END,o,a)?o=s:(a=null,s=null)),o},m=function(e,t){var n,o;if((i=e)&&(gv(i)||hv(i.startContainer)&&hv(i.endContainer))){var i,u=gv(e)?e:null;if(u){s=null;try{u.select()}catch(c){}}else{if(n=f(),e=r.fire("SetSelectionRange",{range:e,forward:t}).range,n){s=e;try{n.removeAllRanges(),n.addRange(e)}catch(c){}!1===t&&n.extend&&(n.collapse(e.endContainer,e.endOffset),n.extend(e.startContainer,e.startOffset)),a=n.rangeCount>0?n.getRangeAt(0):null}e.collapsed||e.startContainer!==e.endContainer||!n.setBaseAndExtent||me.ie||e.endOffset-e.startOffset<2&&e.startContainer.hasChildNodes()&&(o=e.startContainer.childNodes[e.startOffset])&&"IMG"===o.tagName&&(n.setBaseAndExtent(e.startContainer,e.startOffset,e.endContainer,e.endOffset),n.anchorNode===e.startContainer&&n.focusNode===e.endContainer||n.setBaseAndExtent(o,0,o,1)),r.fire("AfterSetSelectionRange",{range:e,forward:t})}}},p=function(){var t,n,r=f();return!(r&&r.anchorNode&&r.focusNode)||((t=e.createRng()).setStart(r.anchorNode,r.anchorOffset),t.collapse(!0),(n=e.createRng()).setStart(r.focusNode,r.focusOffset),n.collapse(!0),t.compareBoundaryPoints(t.START_TO_START,n)<=0)},g={bookmarkManager:null,controlSelection:null,dom:e,win:t,serializer:n,editor:r,collapse:l,setCursorLocation:function(t,n){var o=e.createRng();t?(o.setStart(t,n),o.setEnd(t,n),m(o),l(!1)):($h(e,o,r.getBody(),!0),m(o))},getContent:function(e){return uv(r,e)},setContent:c,getBookmark:function(e,t){return o.getBookmark(e,t)},moveToBookmark:function(e){return o.moveToBookmark(e)},select:function(t,n){var r,o,i;return(r=e,o=t,i=n,E.from(o).map(function(e){var t=r.nodeIndex(e),n=r.createRng();return n.setStart(e.parentNode,t),n.setEnd(e.parentNode,t+1),i&&($h(r,n,e,!0),$h(r,n,e,!1)),n})).each(m),t},isCollapsed:function(){var e=d(),t=f();return!(!e||e.item)&&(e.compareEndPoints?0===e.compareEndPoints("StartToEnd",e):!t||e.collapsed)},isForward:p,setNode:function(t){return c(e.getOuterHTML(t)),t},getNode:function(){return e=r.getBody(),(t=d())?(o=t.startContainer,i=t.endContainer,a=t.startOffset,s=t.endOffset,n=t.commonAncestorContainer,!t.collapsed&&(o===i&&s-a<2&&o.hasChildNodes()&&(n=o.childNodes[a]),3===o.nodeType&&3===i.nodeType&&(o=o.length===a?mv(o.nextSibling,!0):o.parentNode,i=0===s?mv(i.previousSibling,!1):i.parentNode,o&&o===i))?o:n&&3===n.nodeType?n.parentNode:n):e;var e,t,n,o,i,a,s},getSel:f,setRng:m,getRng:d,getStart:function(e){return fv(r.getBody(),d(),e)},getEnd:function(e){return dv(r.getBody(),d(),e)},getSelectedBlocks:function(t,n){return function(e,t,n,r){var o,i,a=[];if(i=e.getRoot(),n=e.getParent(n||fv(i,t,!1),e.isBlock),r=e.getParent(r||dv(i,t,!1),e.isBlock),n&&n!==i&&a.push(n),n&&r&&n!==r){o=n;for(var s=new to(n,i);(o=s.next())&&o!==r;)e.isBlock(o)&&a.push(o)}return r&&n!==r&&r!==i&&a.push(r),a}(e,d(),t,n)},normalize:function(){var t=d();if(!Ef(f())){var n=Jf.normalize(e,t);return n.each(function(e){m(e,p())}),n.getOr(t)}return t},selectorChanged:function(t,n){var o;return u||(u={},o={},r.on("NodeChange",function(t){var n=t.element,r=e.getParents(n,null,e.getRoot()),i={};pv(u,function(t,n){pv(r,function(a){if(e.is(a,n))return o[n]||(pv(t,function(e){e(!0,{node:a,selector:n,parents:r})}),o[n]=t),i[n]=t,!1})}),pv(o,function(e,t){i[t]||(delete o[t],pv(e,function(e){e(!1,{node:n,selector:t,parents:r})}))})})),u[t]||(u[t]=[]),u[t].push(n),g},getScrollContainer:function(){for(var t,n=e.getRoot();n&&"BODY"!==n.nodeName;){if(n.scrollHeight>n.clientHeight){t=n;break}n=n.parentNode}return t},scrollIntoView:function(e,t){return Oh(r,e,t)},placeCaretAt:function(e,t){return m(Ih(e,t,r.getDoc()))},getBoundingClientRect:function(){var e=d();return e.collapsed?ia.fromRangeStart(e).getClientRects()[0]:e.getBoundingClientRect()},destroy:function(){t=null,i.destroy()}};return o=Ah(g),i=Rh(g,r),g.bookmarkManager=o,g.controlSelection=i,g},yv=ji.curry,bv=function(e,t,n,r,o,i){var a,s,u=0,c=[],l=function(r){var i,a,l;for(l=gp.getClientRects(r),-1===e&&(l=l.reverse()),i=0;i<l.length;i++)if(a=l[i],!n(a,s)){if(c.length>0&&t(a,At.last(c))&&u++,a.line=u,o(a))return!0;c.push(a)}};return(s=At.last(i.getClientRects()))?(l(a=i.getNode()),function(e,t,n,r){for(;r=_a.findNode(r,e,ki,t);)if(n(r))return}(e,r,l,a),c):c},Cv={upUntil:yv(bv,-1,Ii,Li),downUntil:yv(bv,1,Li,Ii),positionsUntil:function(e,t,n,r){var o,i,a,s,u,c,l=Ha(t),f=[],d=0,m=function(e){return At.last(e.getClientRects())};1===e?(o=l.next,i=Li,a=Ii,s=ia.after(r)):(o=l.prev,i=Ii,a=Li,s=ia.before(r)),c=m(s);do{if(s.isVisible()&&!a(u=m(s),c)){if(f.length>0&&i(u,At.last(f))&&d++,(u=Di(u)).position=s,u.line=d,n(u))return f;f.push(u)}}while(s=o(s));return f},isAboveLine:yv(function(e,t){return t.line>e}),isLine:yv(function(e,t){return t.line===e})},xv=vo.isContentEditableFalse,wv=Fi,Nv=_a.isAfterContentEditableFalse,Ev=_a.isBeforeContentEditableFalse,Sv=function(e,t){for(;t=e(t);)if(t.isVisible())return t;return t},kv=function(e,t,n){return n=_a.normalizeRange(e,t,n),-1===e?ia.fromRangeStart(n):ia.fromRangeEnd(n)},Tv=function(e,t,n,r,o){var i,a,s,u,c,l,f,d;return!o.collapsed&&(i=wv(o),xv(i))?Dp(e,t,i,-1===e):(c=o,u=mi.isCaretContainerBlock(c.startContainer),r(a=kv(e,t.getBody(),o))?Op(t,a.getNode(-1===e)):(a=n(a))?r(a)?Dp(e,t,a.getNode(-1===e),1===e):r(s=n(a))&&(l=a,f=s,!(d=_a.isInSameBlock(l,f))&&vo.isBr(l.getNode())||d)?Dp(e,t,s.getNode(-1===e),1===e):u?Ip(t,a.toRange()):null:u?o:null)},Av=function(e,t,n){var r,o,i,a,s=Ha(e.getBody()),u=ji.curry(Sv,s.next),c=ji.curry(Sv,s.prev);if(n.collapsed&&e.settings.forced_root_block){if(!(r=e.dom.getParent(n.startContainer,"PRE")))return;(1===t?u(ia.fromRangeStart(n)):c(ia.fromRangeStart(n)))||(a=(i=e).dom.create(i.settings.forced_root_block),(!me.ie||me.ie>=11)&&(a.innerHTML='<br data-mce-bogus="1">'),o=a,1===t?e.$(r).after(o):e.$(r).before(o),e.selection.select(o,!0),e.selection.collapse())}},_v=function(e,t){var n,r=t?1:-1,o=t?Cv.downUntil:Cv.upUntil,i=e.selection.getRng();return(n=function(e,t,n,r){var o,i,a,s,u,c,l,f,d;if(d=wv(r),o=kv(e,t.getBody(),r),i=n(t.getBody(),Cv.isAboveLine(1),o),a=At.filter(i,Cv.isLine(1)),u=At.last(o.getClientRects()),Ev(o)&&(d=o.getNode()),Nv(o)&&(d=o.getNode(!0)),!u)return null;if(c=u.left,(s=Ep(a,c))&&xv(s.node))return l=Math.abs(c-s.left),f=Math.abs(c-s.right),Dp(e,t,s.node,l<f);if(d){var m=Cv.positionsUntil(e,t.getBody(),Cv.isAboveLine(1),d);if(s=Ep(At.filter(m,Cv.isLine(1)),c))return Ip(t,s.position.toRange());if(s=At.last(At.filter(m,Cv.isLine(0))))return Ip(t,s.position.toRange())}}(r,e,o,i))?n:(n=Av(e,r,i))||null},Bv=function(e,t){return function(){var n,r,o,i,a,s,u,c,l,f,d=(r=t,i=Ha((n=e).getBody()),a=ji.curry(Sv,i.next),s=ji.curry(Sv,i.prev),u=r?1:-1,c=r?a:s,l=r?Ev:Nv,f=n.selection.getRng(),(o=Tv(u,n,c,l,f))?o:(o=Av(n,u,f))||null);return!!d&&(e.selection.setRng(d),!0)}},Rv=function(e,t){return function(){var n=_v(e,t);return!!n&&(e.selection.setRng(n),!0)}},Dv=function(e,t){return M.bind((n=e,M.map(n,function(e){return Zg.merge({shiftKey:!1,altKey:!1,ctrlKey:!1,metaKey:!1,keyCode:0,action:y.noop},e)})),function(e){return n=e,(r=t).keyCode===n.keyCode&&r.shiftKey===n.shiftKey&&r.altKey===n.altKey&&r.ctrlKey===n.ctrlKey&&r.metaKey===n.metaKey?[e]:[];var n,r});var n},Ov=function(e){for(var t=[],n=1;n<arguments.length;n++)t[n-1]=arguments[n];var r=Array.prototype.slice.call(arguments,1);return function(){return e.apply(null,r)}},Pv=function(e,t){return M.find(Dv(e,t),function(e){return e.action()})},Iv=function(e,t){e.on("keydown",function(n){var r,o,i,a;!1===n.isDefaultPrevented()&&(r=e,o=t,i=n,a=Un.detect().os,Pv([{keyCode:Mp.RIGHT,action:Bv(r,!0)},{keyCode:Mp.LEFT,action:Bv(r,!1)},{keyCode:Mp.UP,action:Rv(r,!1)},{keyCode:Mp.DOWN,action:Rv(r,!0)},{keyCode:Mp.RIGHT,action:of.move(r,o,!0)},{keyCode:Mp.LEFT,action:of.move(r,o,!1)},{keyCode:Mp.RIGHT,ctrlKey:!a.isOSX(),altKey:a.isOSX(),action:of.moveNextWord(r,o)},{keyCode:Mp.LEFT,ctrlKey:!a.isOSX(),altKey:a.isOSX(),action:of.movePrevWord(r,o)}],i).each(function(e){i.preventDefault()}))})},Lv=function(e){return 1===Ur.children(e).length},Mv=function(e,t){var n,r=Hn.fromDom(e.getBody()),o=Hn.fromDom(e.selection.getStart()),i=M.filter((n=Uu(o,r),M.findIndex(n,io.isBlock).fold(y.constant(n),function(e){return n.slice(0,e)})),Lv);return M.last(i).map(function(n){var r=ia.fromRangeStart(e.selection.getRng());return!!Cu(t,r,n.dom())&&(function(e,t,n,r){var o=y.curry(kl,t),i=M.map(M.filter(r,o),function(e){return e.dom()});if(0===i.length)mc(t,e,n);else{var a=Sl(n.dom(),i);t.selection.setRng(a.toRange())}}(t,e,n,i),!0)}).getOr(!1)},Fv=function(e,t){return!!e.selection.isCollapsed()&&Mv(e,t)},zv=function(e,t){e.on("keydown",function(n){var r,o,i;!1===n.isDefaultPrevented()&&(r=e,o=t,i=n,Pv([{keyCode:Mp.BACKSPACE,action:Ov(hc,r,!1)},{keyCode:Mp.DELETE,action:Ov(hc,r,!0)},{keyCode:Mp.BACKSPACE,action:Ov(cf,r,o,!1)},{keyCode:Mp.DELETE,action:Ov(cf,r,o,!0)},{keyCode:Mp.BACKSPACE,action:Ov(Ju,r,!1)},{keyCode:Mp.DELETE,action:Ov(Ju,r,!0)},{keyCode:Mp.BACKSPACE,action:Ov(Ku,r,!1)},{keyCode:Mp.DELETE,action:Ov(Ku,r,!0)},{keyCode:Mp.BACKSPACE,action:Ov(zf,r,!1)},{keyCode:Mp.DELETE,action:Ov(zf,r,!0)},{keyCode:Mp.BACKSPACE,action:Ov(Fv,r,!1)},{keyCode:Mp.DELETE,action:Ov(Fv,r,!0)}],i).each(function(e){i.preventDefault()}))}),e.on("keyup",function(t){var n,r;!1===t.isDefaultPrevented()&&(n=e,r=t,Pv([{keyCode:Mp.BACKSPACE,action:Ov(vc,n)},{keyCode:Mp.DELETE,action:Ov(vc,n)}],r))})},Uv=function(e,t,n){var r=e.getParam(t,n);if(-1!==r.indexOf("=")){var o=e.getParam(t,"","hash");return o.hasOwnProperty(e.id)?o[e.id]:n}return r},Vv=function(e){return e.getParam("iframe_attrs",{})},Hv=function(e){return e.getParam("doctype","<!DOCTYPE html>")},qv=function(e){return e.getParam("document_base_url","")},jv=function(e){return Uv(e,"body_id","tinymce")},$v=function(e){return Uv(e,"body_class","")},Wv=function(e){return e.getParam("content_security_policy","")},Kv=function(e){return e.getParam("br_in_pre",!0)},Xv=function(e){if(e.getParam("force_p_newlines",!1))return"p";var t=e.getParam("forced_root_block","p");return!1===t?"":t},Yv=function(e){return e.getParam("forced_root_block_attrs",{})},Gv=function(e){return e.getParam("br_newline_selector",".mce-toc h2,figcaption,caption")},Jv=function(e){return e.getParam("no_newline_selector","")},Qv=function(e){return e.getParam("keep_styles",!0)},Zv=function(e){return e.getParam("end_container_on_empty_block",!1)},ey=function(e){return E.from(e.dom.getParent(e.selection.getStart(!0),e.dom.isBlock))},ty=function(e,t){var n,r,o,i=t,a=e.dom,s=e.schema.getMoveCaretBeforeOnEnterElements();if(t){if(/^(LI|DT|DD)$/.test(t.nodeName)){var u=function(e){for(;e;){if(1===e.nodeType||3===e.nodeType&&e.data&&/[\r\n\s]/.test(e.data))return e;e=e.nextSibling}}(t.firstChild);u&&/^(UL|OL|DL)$/.test(u.nodeName)&&t.insertBefore(a.doc.createTextNode("\xa0"),t.firstChild)}if(o=a.createRng(),t.normalize(),t.hasChildNodes()){for(n=new to(t,t);r=n.current();){if(vo.isText(r)){o.setStart(r,0),o.setEnd(r,0);break}if(s[r.nodeName.toLowerCase()]){o.setStartBefore(r),o.setEndBefore(r);break}i=r,r=n.next()}r||(o.setStart(i,0),o.setEnd(i,0))}else vo.isBr(t)?t.nextSibling&&a.isBlock(t.nextSibling)?(o.setStartBefore(t),o.setEndBefore(t)):(o.setStartAfter(t),o.setEndAfter(t)):(o.setStart(t,0),o.setEnd(t,0));e.selection.setRng(o),a.remove(void 0),e.selection.scrollIntoView(t)}},ny=function(e,t){var n,r,o=e.getRoot();for(n=t;n!==o&&"false"!==e.getContentEditable(n);)"true"===e.getContentEditable(n)&&(r=n),n=n.parentNode;return n!==o?r:o},ry=ey,oy=function(e){return ey(e).fold(y.constant(""),function(e){return e.nodeName.toUpperCase()})},iy=function(e){return ey(e).filter(function(e){return io.isListItem(Hn.fromDom(e))}).isSome()},ay=function(e,t){return e&&e.parentNode&&e.parentNode.nodeName===t},sy=function(e){return e&&/^(OL|UL|LI)$/.test(e.nodeName)},uy=function(e){var t=e.parentNode;return/^(LI|DT|DD)$/.test(t.nodeName)?t:e},cy=function(e,t,n){for(var r=e[n?"firstChild":"lastChild"];r&&!vo.isElement(r);)r=r[n?"nextSibling":"previousSibling"];return r===t},ly=function(e,t,n,r,o){var i=e.dom,a=e.selection.getRng();if(n!==e.getBody()){var s;sy(s=n)&&sy(s.parentNode)&&(o="LI");var u,c,l=o?t(o):i.create("BR");if(cy(n,r,!0)&&cy(n,r,!1))ay(n,"LI")?i.insertAfter(l,uy(n)):i.replace(l,n);else if(cy(n,r,!0))ay(n,"LI")?(i.insertAfter(l,uy(n)),l.appendChild(i.doc.createTextNode(" ")),l.appendChild(n)):n.parentNode.insertBefore(l,n);else if(cy(n,r,!1))i.insertAfter(l,uy(n));else{n=uy(n);var f=a.cloneRange();f.setStartAfter(r),f.setEndAfter(n);var d=f.extractContents();"LI"===o&&(c="LI",(u=d).firstChild&&u.firstChild.nodeName===c)?(l=d.firstChild,i.insertAfter(d,n)):(i.insertAfter(d,n),i.insertAfter(l,n))}i.remove(r),ty(e,l)}},fy=function(e){e.innerHTML='<br data-mce-bogus="1">'},dy=function(e,t){return e.nodeName===t||e.previousSibling&&e.previousSibling.nodeName===t},my=function(e,t){return t&&e.isBlock(t)&&!/^(TD|TH|CAPTION|FORM)$/.test(t.nodeName)&&!/^(fixed|absolute)/i.test(t.style.position)&&"true"!==e.getContentEditable(t)},py=function(e,t,n){return!1===vo.isText(t)?n:e?1===n&&t.data.charAt(n-1)===oi?0:n:n===t.data.length-1&&t.data.charAt(n)===oi?t.data.length:n},gy=function(e,t){var n,r,o=e.getRoot();for(n=t;n!==o&&"false"!==e.getContentEditable(n);)"true"===e.getContentEditable(n)&&(r=n),n=n.parentNode;return n!==o?r:o},hy=function(e,t){var n=Xv(e);n&&n.toLowerCase()===t.tagName.toLowerCase()&&e.dom.setAttribs(t,Yv(e))},vy=function(e,t){var n,r,o,i,a,s,u,c,l,f,d,m,p,g,h,v,y,b,C=e.dom,x=e.schema,w=x.getNonEmptyElements(),N=e.selection.getRng(),E=function(t){var n,i,s,u=o,c=x.getTextInlineElements();if(t||"TABLE"===f||"HR"===f?(n=C.create(t||m),hy(e,n)):n=a.cloneNode(!1),s=n,!1===Qv(e))C.setAttrib(n,"style",null),C.setAttrib(n,"class",null);else do{if(c[u.nodeName]){if(Nl(u))continue;i=u.cloneNode(!1),C.setAttrib(i,"id",""),n.hasChildNodes()?(i.appendChild(n.firstChild),n.appendChild(i)):(s=i,n.appendChild(i))}}while((u=u.parentNode)&&u!==r);return fy(s),n},S=function(e){var t,n,r,s;if(s=py(e,o,i),vo.isText(o)&&(e?s>0:s<o.nodeValue.length))return!1;if(o.parentNode===a&&p&&!e)return!0;if(e&&vo.isElement(o)&&o===a.firstChild)return!0;if(dy(o,"TABLE")||dy(o,"HR"))return p&&!e||!p&&e;for(t=new to(o,a),vo.isText(o)&&(e&&0===s?t.prev():e||s!==o.nodeValue.length||t.next());n=t.current();){if(vo.isElement(n)){if(!n.getAttribute("data-mce-bogus")&&(r=n.nodeName.toLowerCase(),w[r]&&"br"!==r))return!1}else if(vo.isText(n)&&!/^[ \t\r\n]*$/.test(n.nodeValue))return!1;e?t.prev():t.next()}return!0},k=function(){u=/^(H[1-6]|PRE|FIGURE)$/.test(f)&&"HGROUP"!==d?E(m):E(),Zv(e)&&my(C,l)&&C.isEmpty(a)?u=C.split(l,a):C.insertAfter(u,a),ty(e,u)};Jf.normalize(C,N).each(function(e){N.setStart(e.startContainer,e.startOffset),N.setEnd(e.endContainer,e.endOffset)}),o=N.startContainer,i=N.startOffset,m=Xv(e),s=t.shiftKey,vo.isElement(o)&&o.hasChildNodes()&&(p=i>o.childNodes.length-1,o=o.childNodes[Math.min(i,o.childNodes.length-1)]||o,i=p&&vo.isText(o)?o.nodeValue.length:0),(r=gy(C,o))&&((m&&!s||!m&&s)&&(o=function(e,t,n,r,o){var i,a,s,u,c,l,f,d=t||"P",m=e.dom,p=gy(m,r);if(!(a=m.getParent(r,m.isBlock))||!my(m,a)){if(l=(a=a||p)===e.getBody()||(f=a)&&/^(TD|TH|CAPTION)$/.test(f.nodeName)?a.nodeName.toLowerCase():a.parentNode.nodeName.toLowerCase(),!a.hasChildNodes())return i=m.create(d),hy(e,i),a.appendChild(i),n.setStart(i,0),n.setEnd(i,0),i;for(u=r;u.parentNode!==a;)u=u.parentNode;for(;u&&!m.isBlock(u);)s=u,u=u.previousSibling;if(s&&e.schema.isValidChild(l,d.toLowerCase())){for(i=m.create(d),hy(e,i),s.parentNode.insertBefore(i,s),u=s;u&&!m.isBlock(u);)c=u.nextSibling,i.appendChild(u),u=c;n.setStart(r,o),n.setEnd(r,o)}}return r}(e,m,N,o,i)),a=C.getParent(o,C.isBlock),l=a?C.getParent(a.parentNode,C.isBlock):null,f=a?a.nodeName.toUpperCase():"","LI"!==(d=l?l.nodeName.toUpperCase():"")||t.ctrlKey||(a=l,l=l.parentNode,f=d),/^(LI|DT|DD)$/.test(f)&&C.isEmpty(a)?ly(e,E,l,a,m):m&&a===e.getBody()||(m=m||"P",mi.isCaretContainerBlock(a)?(u=mi.showCaretContainerBlock(a),C.isEmpty(a)&&fy(a),ty(e,u)):S()?k():S(!0)?(u=a.parentNode.insertBefore(E(),a),ty(e,dy(a,"HR")?u:a)):((n=(y=N,b=y.cloneRange(),b.setStart(y.startContainer,py(!0,y.startContainer,y.startOffset)),b.setEnd(y.endContainer,py(!1,y.endContainer,y.endOffset)),b).cloneRange()).setEndAfter(a),function(e){do{vo.isText(e)&&(e.nodeValue=e.nodeValue.replace(/^[\r\n]+/,"")),e=e.firstChild}while(e)}(c=n.extractContents()),u=c.firstChild,C.insertAfter(c,a),function(e,t,n){var r,o=n,i=[];if(o){for(;o=o.firstChild;){if(e.isBlock(o))return;vo.isElement(o)&&!t[o.nodeName.toLowerCase()]&&i.push(o)}for(r=i.length;r--;)!(o=i[r]).hasChildNodes()||o.firstChild===o.lastChild&&""===o.firstChild.nodeValue?e.remove(o):(a=o)&&"A"===a.nodeName&&0===Ot.trim(ii(a.innerText||a.textContent)).length&&e.remove(o);var a}}(C,w,u),g=C,(h=a).normalize(),(v=h.lastChild)&&!/^(left|right)$/gi.test(g.getStyle(v,"float",!0))||g.add(h,"br"),C.isEmpty(a)&&fy(a),u.normalize(),C.isEmpty(u)?(C.remove(u),k()):ty(e,u)),C.setAttrib(u,"id",""),e.fire("NewBlock",{newBlock:u})))},yy=function(e,t){return ry(e).filter(function(e){return t.length>0&&_r.is(Hn.fromDom(e),t)}).isSome()},by=function(e){return yy(e,Gv(e))},Cy=function(e){return yy(e,Jv(e))},xy=Qu([{br:[]},{block:[]},{none:[]}]),wy=function(e,t){return Cy(e)},Ny=function(e){return function(t,n){return""===Xv(t)===e}},Ey=function(e){return function(t,n){return iy(t)===e}},Sy=function(e){return function(t,n){return"PRE"===oy(t)===e}},ky=function(e){return function(t,n){return Kv(t)===e}},Ty=function(e,t){return by(e)},Ay=function(e,t){return t},_y=function(e){var t=Xv(e),n=ny(e.dom,e.selection.getStart());return n&&e.schema.isValidChild(n.nodeName,t||"P")},By=function(e,t){return function(n,r){return M.foldl(e,function(e,t){return e&&t(n,r)},!0)?E.some(t):E.none()}},Ry=function(e,t){return Tl([By([wy],xy.none()),By([Sy(!0),ky(!1),Ay],xy.br()),By([Sy(!0),ky(!1)],xy.block()),By([Sy(!0),ky(!0),Ay],xy.block()),By([Sy(!0),ky(!0)],xy.br()),By([Ey(!0),Ay],xy.br()),By([Ey(!0)],xy.block()),By([Ny(!0),Ay,_y],xy.block()),By([Ny(!0)],xy.br()),By([Ty],xy.br()),By([Ny(!1),Ay],xy.br()),By([_y],xy.block())],[e,t.shiftKey]).getOr(xy.none())},Dy=function(e,t){Ry(e,t).fold(function(){sd(e,t)},function(){vy(e,t)},y.noop)},Oy=function(e){e.on("keydown",function(t){var n,r,o;t.keyCode===Mp.ENTER&&(n=e,(r=t).isDefaultPrevented()||(r.preventDefault(),(o=n.undoManager).typing&&(o.typing=!1,o.add()),n.undoManager.transact(function(){!1===n.selection.isCollapsed()&&n.execCommand("Delete"),Dy(n,r)})))})},Py=function(e,t,n){return s=t,!(!Iy(n)||!vo.isText(s.container())||(r=e,i=(o=t).container(),a=o.offset(),i.insertData(a,"\xa0"),r.selection.setCursorLocation(i,a+1),0));var r,o,i,a,s},Iy=function(e){return e.fold(y.constant(!1),y.constant(!0),y.constant(!0),y.constant(!1))},Ly=function(e){return!!e.selection.isCollapsed()&&(t=e,n=y.curry(vu.isInlineTarget,t),r=ia.fromRangeStart(t.selection.getRng()),$l(n,t.getBody(),r).map(y.curry(Py,t,r)).getOr(!1));var t,n,r},My=function(e){e.on("keydown",function(t){var n,r;!1===t.isDefaultPrevented()&&(n=e,r=t,Pv([{keyCode:Mp.SPACEBAR,action:Ov(Ly,n)}],r).each(function(e){r.preventDefault()}))})},Fy=function(e){var t=of.setupSelectedState(e);Iv(e,t),zv(e,t),Oy(e),My(e)},zy=function(e){var t,n,r,o=Ot.each,i=Mp.BACKSPACE,a=Mp.DELETE,s=e.dom,u=e.selection,c=e.settings,l=e.parser,f=me.gecko,d=me.ie,m=me.webkit,p="data:text/mce-internal,",g=d?"Text":"URL",h=function(t,n){try{e.getDoc().execCommand(t,!1,n)}catch(r){}},v=function(e){return e.isDefaultPrevented()},y=function(){e.shortcuts.add("meta+a",null,"SelectAll")},b=function(){e.on("keydown",function(e){if(!v(e)&&e.keyCode===i&&u.isCollapsed()&&0===u.getRng().startOffset){var t=u.getNode().previousSibling;if(t&&t.nodeName&&"table"===t.nodeName.toLowerCase())return e.preventDefault(),!1}})},C=function(){e.inline||(e.contentStyles.push("body {min-height: 150px}"),e.on("click",function(t){var n;if("HTML"===t.target.nodeName){if(me.ie>11)return void e.getBody().focus();n=e.selection.getRng(),e.getBody().focus(),e.selection.setRng(n),e.selection.normalize(),e.nodeChanged()}}))};return e.on("keydown",function(t){var n,r,o,i,a;if(!v(t)&&t.keyCode===Mp.BACKSPACE&&(r=(n=u.getRng()).startContainer,o=n.startOffset,i=s.getRoot(),a=r,n.collapsed&&0===o)){for(;a&&a.parentNode&&a.parentNode.firstChild===a&&a.parentNode!==i;)a=a.parentNode;"BLOCKQUOTE"===a.tagName&&(e.formatter.toggle("blockquote",null,a),(n=s.createRng()).setStart(r,0),n.setEnd(r,0),u.setRng(n))}}),t=function(e){var t=s.create("body"),n=e.cloneContents();return t.appendChild(n),u.serializer.serialize(t,{format:"html"})},e.on("keydown",function(n){var r,o,u,c,l,f=n.keyCode;if(!v(n)&&(f===a||f===i)){if(r=e.selection.isCollapsed(),o=e.getBody(),r&&!s.isEmpty(o))return;if(!r&&(u=e.selection.getRng(),c=t(u),(l=s.createRng()).selectNode(e.getBody()),c!==t(l)))return;n.preventDefault(),e.setContent(""),o.firstChild&&s.isBlock(o.firstChild)?e.selection.setCursorLocation(o.firstChild,0):e.selection.setCursorLocation(o,0),e.nodeChanged()}}),me.windowsPhone||e.on("keyup focusin mouseup",function(e){Mp.modifierPressed(e)||u.normalize()},!0),m&&(e.settings.content_editable||s.bind(e.getDoc(),"mousedown mouseup",function(t){var n;if(t.target===e.getDoc().documentElement)if(n=u.getRng(),e.getBody().focus(),"mousedown"===t.type){if(mi.isCaretContainer(n.startContainer))return;u.placeCaretAt(t.clientX,t.clientY)}else u.setRng(n)}),e.on("click",function(t){var n=t.target;/^(IMG|HR)$/.test(n.nodeName)&&"false"!==s.getContentEditableParent(n)&&(t.preventDefault(),e.selection.select(n),e.nodeChanged()),"A"===n.nodeName&&s.hasClass(n,"mce-item-anchor")&&(t.preventDefault(),u.select(n))}),c.forced_root_block&&e.on("init",function(){h("DefaultParagraphSeparator",c.forced_root_block)}),e.on("init",function(){e.dom.bind(e.getBody(),"submit",function(e){e.preventDefault()})}),b(),l.addNodeFilter("br",function(e){for(var t=e.length;t--;)"Apple-interchange-newline"===e[t].attr("class")&&e[t].remove()}),me.iOS?(e.inline||e.on("keydown",function(){document.activeElement===document.body&&e.getWin().focus()}),C(),e.on("click",function(e){var t=e.target;do{if("A"===t.tagName)return void e.preventDefault()}while(t=t.parentNode)}),e.contentStyles.push(".mce-content-body {-webkit-touch-callout: none}")):y()),me.ie>=11&&(C(),b()),me.ie&&(y(),h("AutoUrlDetect",!1),e.on("dragstart",function(t){var n,r,o;(n=t).dataTransfer&&(e.selection.isCollapsed()&&"IMG"===n.target.tagName&&u.select(n.target),(r=e.selection.getContent()).length>0&&(o=p+escape(e.id)+","+escape(r),n.dataTransfer.setData(g,o)))}),e.on("drop",function(t){if(!v(t)){var n=(a=t).dataTransfer&&(s=a.dataTransfer.getData(g))&&s.indexOf(p)>=0?(s=s.substr(p.length).split(","),{id:unescape(s[0]),html:unescape(s[1])}):null;if(n&&n.id!==e.id){t.preventDefault();var r=Ih(t.x,t.y,e.getDoc());u.setRng(r),o=n.html,i=!0,e.queryCommandSupported("mceInsertClipboardContent")?e.execCommand("mceInsertClipboardContent",!1,{content:o,internal:i}):e.execCommand("mceInsertContent",!1,o)}}var o,i,a,s})),f&&(e.on("keydown",function(t){if(!v(t)&&t.keyCode===i){if(!e.getBody().getElementsByTagName("hr").length)return;if(u.isCollapsed()&&0===u.getRng().startOffset){var n=u.getNode(),r=n.previousSibling;if("HR"===n.nodeName)return s.remove(n),void t.preventDefault();r&&r.nodeName&&"hr"===r.nodeName.toLowerCase()&&(s.remove(r),t.preventDefault())}}}),Range.prototype.getClientRects||e.on("mousedown",function(t){if(!v(t)&&"HTML"===t.target.nodeName){var n=e.getBody();n.blur(),ye.setEditorTimeout(e,function(){n.focus()})}}),n=function(){var t=s.getAttribs(u.getStart().cloneNode(!1));return function(){var n=u.getStart();n!==e.getBody()&&(s.setAttrib(n,"style",null),o(t,function(e){n.setAttributeNode(e.cloneNode(!0))}))}},r=function(){return!u.isCollapsed()&&s.getParent(u.getStart(),s.isBlock)!==s.getParent(u.getEnd(),s.isBlock)},e.on("keypress",function(t){var o;if(!v(t)&&(8===t.keyCode||46===t.keyCode)&&r())return o=n(),e.getDoc().execCommand("delete",!1,null),o(),t.preventDefault(),!1}),s.bind(e.getDoc(),"cut",function(t){var o;!v(t)&&r()&&(o=n(),ye.setEditorTimeout(e,function(){o()}))}),c.readonly||e.on("BeforeExecCommand MouseDown",function(){h("StyleWithCSS",!1),h("enableInlineTableEditing",!1),c.object_resizing||h("enableObjectResizing",!1)}),e.on("SetContent ExecCommand",function(e){"setcontent"!==e.type&&"mceInsertLink"!==e.command||o(s.select("a"),function(e){var t=e.parentNode,n=s.getRoot();if(t.lastChild===e){for(;t&&!s.isBlock(t);){if(t.parentNode.lastChild!==t||t===n)return;t=t.parentNode}s.add(t,"br",{"data-mce-bogus":1})}})}),e.contentStyles.push("img:-moz-broken {-moz-force-broken-image-icon:1;min-width:24px;min-height:24px}"),me.mac&&e.on("keydown",function(t){!Mp.metaKeyPressed(t)||t.shiftKey||37!==t.keyCode&&39!==t.keyCode||(t.preventDefault(),e.selection.getSel().modify("move",37===t.keyCode?"backward":"forward","lineboundary"))}),b()),{refreshContentEditable:function(){},isHidden:function(){var t;return!f||e.removed?0:!(t=e.selection.getSel())||!t.rangeCount||0===t.rangeCount}}},Uy=Xo.DOM,Vy=function(e){var t;e.bindPendingEventDelegates(),e.initialized=!0,e.fire("init"),e.focus(!0),e.nodeChanged({initial:!0}),e.execCallback("init_instance_callback",e),(t=e).settings.auto_focus&&ye.setEditorTimeout(t,function(){var e;(e=!0===t.settings.auto_focus?t:t.editorManager.get(t.settings.auto_focus)).destroyed||e.focus()},100)},Hy=function(e,t){var n,r,o,i,a,s,u,c,l,f=e.settings,d=e.getElement(),m=e.getDoc();f.inline||(e.getElement().style.visibility=e.orgVisibility),t||f.content_editable||(m.open(),m.write(e.iframeHTML),m.close()),f.content_editable&&(e.on("remove",function(){var e=this.getBody();Uy.removeClass(e,"mce-content-body"),Uy.removeClass(e,"mce-edit-focus"),Uy.setAttrib(e,"contentEditable",null)}),Uy.addClass(d,"mce-content-body"),e.contentDocument=m=f.content_document||document,e.contentWindow=f.content_window||window,e.bodyElement=d,f.content_document=f.content_window=null,f.root_name=d.nodeName.toLowerCase()),(n=e.getBody()).disabled=!0,e.readonly=f.readonly,e.readonly||(e.inline&&"static"===Uy.getStyle(n,"position",!0)&&(n.style.position="relative"),n.contentEditable=e.getParam("content_editable_state",!0)),n.disabled=!1,e.editorUpload=Jm(e),e.schema=Fo(f),e.dom=new Xo(m,{keep_values:!0,url_converter:e.convertURL,url_converter_scope:e,hex_colors:f.force_hex_style_colors,class_filter:f.class_filter,update_styles:!0,root_element:e.inline?e.getBody():null,collect:f.content_editable,schema:e.schema,onSetAttrib:function(t){e.fire("SetAttrib",t)}}),e.parser=((i=bh((o=e).settings,o.schema)).addAttributeFilter("src,href,style,tabindex",function(e,t){for(var n,r,i,a=e.length,s=o.dom;a--;)if(r=(n=e[a]).attr(t),i="data-mce-"+t,!n.attributes.map[i]){if(0===r.indexOf("data:")||0===r.indexOf("blob:"))continue;"style"===t?((r=s.serializeStyle(s.parseStyle(r),n.name)).length||(r=null),n.attr(i,r),n.attr(t,r)):"tabindex"===t?(n.attr(i,r),n.attr(t,null)):n.attr(i,o.convertURL(r,t,n.name))}}),i.addNodeFilter("script",function(e){for(var t,n,r=e.length;r--;)0!==(n=(t=e[r]).attr("type")||"no/type").indexOf("mce-")&&t.attr("type","mce-"+n)}),i.addNodeFilter("#cdata",function(e){for(var t,n=e.length;n--;)(t=e[n]).type=8,t.name="#comment",t.value="[CDATA["+t.value+"]]"}),i.addNodeFilter("p,h1,h2,h3,h4,h5,h6,div",function(e){for(var t,n=e.length,r=o.schema.getNonEmptyElements();n--;)(t=e[n]).isEmpty(r)&&0===t.getAll("br").length&&(t.append(new fh("br",1)).shortEnded=!0)}),i),e.serializer=Nh(f,e),e.selection=vv(e.dom,e.getWin(),e.serializer,e),e.formatter=Yg(e),e.undoManager=rg(e),e._nodeChangeDispatcher=new tp(e),e._selectionOverrides=Hp(e),kh(e),Fy(e),ep(e),e.fire("PreInit"),f.browser_spellcheck||f.gecko_spellcheck||(m.body.spellcheck=!1,Uy.setAttrib(n,"spellcheck","false")),e.quirks=zy(e),e.fire("PostRender"),f.directionality&&(n.dir=f.directionality),f.nowrap&&(n.style.whiteSpace="nowrap"),f.protect&&e.on("BeforeSetContent",function(e){Ot.each(f.protect,function(t){e.content=e.content.replace(t,function(e){return"\x3c!--mce:protected "+escape(e)+"--\x3e"})})}),e.on("SetContent",function(){e.addVisual(e.getBody())}),f.padd_empty_editor&&e.on("PostProcess",function(e){e.content=e.content.replace(/^(<p[^>]*>( | |\s|\u00a0|<br \/>|)<\/p>[\r\n]*|<br \/>[\r\n]*)$/,"")}),e.load({initial:!0,format:"html"}),e.startContent=e.getContent({format:"raw"}),e.on("compositionstart compositionend",function(t){e.composing="compositionstart"===t.type}),e.contentStyles.length>0&&(r="",Ot.each(e.contentStyles,function(e){r+=e+"\r\n"}),e.dom.addStyle(r)),(a=e,a.inline?Uy.styleSheetLoader:a.dom.styleSheetLoader).loadAll(e.contentCSS,function(t){Vy(e)},function(t){Vy(e)}),f.content_style&&(s=e,u=f.content_style,c=Hn.fromDom(s.getDoc().head),l=Hn.fromTag("style"),dr.set(l,"type","text/css"),ks.append(l,Hn.fromText(u)),ks.append(c,l))},qy=Xo.DOM,jy=function(e,t){var n,r,o,i,a,s,u,c=e.editorManager.translate("Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help"),l=(n=e.id,r=c,o=t.height,i=Vv(e),u=Hn.fromTag("iframe"),dr.setAll(u,i),dr.setAll(u,{id:n+"_ifr",frameBorder:"0",allowTransparency:"true",title:r}),br(u,{width:"100%",height:(a=o,s="number"==typeof a?a+"px":a,s||""),display:"block"}),u).dom();l.onload=function(){l.onload=null,e.fire("load")};var f,d,m,p,g=function(e,t){if(document.domain!==window.location.hostname&&me.ie&&me.ie<12){var n=Gm("mce");e[n]=function(){Hy(e)};var r='javascript:(function(){document.open();document.domain="'+document.domain+'";var ed = window.parent.tinymce.get("'+e.id+'");document.write(ed.iframeHTML);document.close();ed.'+n+"(true);})()";return qy.setAttrib(t,"src",r),!0}return!1}(e,l);return e.contentAreaContainer=t.iframeContainer,e.iframeElement=l,e.iframeHTML=(p=Hv(f=e)+"<html><head>",qv(f)!==f.documentBaseUrl&&(p+='<base href="'+f.documentBaseURI.getURI()+'" />'),p+='<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />',d=jv(f),m=$v(f),Wv(f)&&(p+='<meta http-equiv="Content-Security-Policy" content="'+Wv(f)+'" />'),p+='</head><body id="'+d+'" class="mce-content-body '+m+'" data-id="'+f.id+'"><br></body></html>'),qy.add(t.iframeContainer,l),g},$y=function(e,t){var n=jy(e,t);t.editorContainer&&(qy.get(t.editorContainer).style.display=e.orgDisplay,e.hidden=qy.isHidden(t.editorContainer)),e.getElement().style.display="none",qy.setAttrib(e.id,"aria-hidden",!0),n||Hy(e)},Wy=Xo.DOM,Ky=function(e,t,n){var r,o,i=Im.get(n);if(r=Im.urls[n]||e.documentBaseUrl.replace(/\/$/,""),n=Ot.trim(n),i&&-1===Ot.inArray(t,n)){if(Ot.each(Im.dependencies(n),function(n){Ky(e,t,n)}),e.plugins[n])return;o=new i(e,r,e.$),e.plugins[n]=o,o.init&&(o.init(e,r),t.push(n))}},Xy=function(e){return e.replace(/^\-/,"")},Yy=function(e){return{editorContainer:e,iframeContainer:e}},Gy=function(e){var t,n,r=e.getElement();return e.inline?Yy(null):(t=r,n=Wy.create("div"),Wy.insertAfter(n,t),Yy(n))},Jy=function(e){var t,n,r,o,i,a,s,u,c,l,f,d=e.settings,m=e.getElement();return e.orgDisplay=m.style.display,tr.isString(d.theme)?(l=(o=e).settings,f=o.getElement(),i=l.width||Wy.getStyle(f,"width")||"100%",a=l.height||Wy.getStyle(f,"height")||f.offsetHeight,s=l.min_height||100,(u=/^[0-9\.]+(|px)$/i).test(""+i)&&(i=Math.max(parseInt(i,10),100)),u.test(""+a)&&(a=Math.max(parseInt(a,10),s)),c=o.theme.renderUI({targetNode:f,width:i,height:a,deltaWidth:l.delta_width,deltaHeight:l.delta_height}),l.content_editable||(a=(c.iframeHeight||a)+("number"==typeof a?c.deltaHeight||0:""))<s&&(a=s),c.height=a,c):tr.isFunction(d.theme)?(r=(t=e).getElement(),(n=t.settings.theme(t,r)).editorContainer.nodeType&&(n.editorContainer.id=n.editorContainer.id||t.id+"_parent"),n.iframeContainer&&n.iframeContainer.nodeType&&(n.iframeContainer.id=n.iframeContainer.id||t.id+"_iframecontainer"),n.height=n.iframeHeight?n.iframeHeight:r.offsetHeight,n):Gy(e)},Qy=function(e){var t,n,r,o,i,a,s=e.settings,u=e.getElement();return e.rtl=s.rtl_ui||e.editorManager.i18n.rtl,e.editorManager.i18n.setCode(s.language),s.aria_label=s.aria_label||Wy.getAttrib(u,"aria-label",e.getLang("aria.rich_text_area")),e.fire("ScriptsLoaded"),o=(n=e).settings.theme,tr.isString(o)?(n.settings.theme=Xy(o),r=Lm.get(o),n.theme=new r(n,Lm.urls[o]),n.theme.init&&n.theme.init(n,Lm.urls[o]||n.documentBaseUrl.replace(/\/$/,""),n.$)):n.theme={},i=e,a=[],Ot.each(i.settings.plugins.split(/[ ,]/),function(e){Ky(i,a,Xy(e))}),t=Jy(e),e.editorContainer=t.editorContainer?t.editorContainer:null,s.content_css&&Ot.each(Ot.explode(s.content_css),function(t){e.contentCSS.push(e.documentBaseURI.toAbsolute(t))}),s.content_editable?Hy(e):$y(e,t)},Zy=Xo.DOM,eb=function(e){return"-"===e.charAt(0)},tb=function(e,t){var n=Zo.ScriptLoader;!function(e,t,n,r){var o=t.settings,i=o.theme;if(tr.isString(i)){if(!eb(i)&&!Lm.urls.hasOwnProperty(i)){var a=o.theme_url;a?Lm.load(i,t.documentBaseURI.toAbsolute(a)):Lm.load(i,"themes/"+i+"/theme"+n+".js")}e.loadQueue(function(){Lm.waitFor(i,r)})}else r()}(n,e,t,function(){var r,o,i,a,s;r=n,(i=(o=e).settings).language&&"en"!==i.language&&!i.language_url&&(i.language_url=o.editorManager.baseURL+"/langs/"+i.language+".js"),i.language_url&&!o.editorManager.i18n.data[i.language]&&r.add(i.language_url),a=e.settings,s=t,Ot.isArray(a.plugins)&&(a.plugins=a.plugins.join(" ")),Ot.each(a.external_plugins,function(e,t){Im.load(t,e),a.plugins+=" "+t}),Ot.each(a.plugins.split(/[ ,]/),function(e){if((e=Ot.trim(e))&&!Im.urls[e])if(eb(e)){e=e.substr(1,e.length);var t=Im.dependencies(e);Ot.each(t,function(e){var t={prefix:"plugins/",resource:e,suffix:"/plugin"+s+".js"};e=Im.createUrl(t,e),Im.load(e.resource,e)})}else Im.load(e,{prefix:"plugins/",resource:e,suffix:"/plugin"+s+".js"})}),n.loadQueue(function(){e.removed||Qy(e)},e,function(t){Rm(e,t[0]),e.removed||Qy(e)})})},nb=function(e){var t=e.settings,n=e.id,r=function(){Zy.unbind(window,"ready",r),e.render()};if(Te.Event.domLoaded){if(e.getElement()&&me.contentEditable){t.inline?e.inline=!0:(e.orgVisibility=e.getElement().style.visibility,e.getElement().style.visibility="hidden");var o=e.getElement().form||Zy.getParent(n,"form");o&&(e.formElement=o,t.hidden_input&&!/TEXTAREA|INPUT/i.test(e.getElement().nodeName)&&(Zy.insertAfter(Zy.create("input",{type:"hidden",name:n}),n),e.hasHiddenInput=!0),e.formEventDelegate=function(t){e.fire(t.type,t)},Zy.bind(o,"submit reset",e.formEventDelegate),e.on("reset",function(){e.setContent(e.startContent,{format:"raw"})}),!t.submit_patch||o.submit.nodeType||o.submit.length||o._mceOldSubmit||(o._mceOldSubmit=o.submit,o.submit=function(){return e.editorManager.triggerSave(),e.setDirty(!1),o._mceOldSubmit(o)})),e.windowManager=km(e),e.notificationManager=Sm(e),"xml"===t.encoding&&e.on("GetContent",function(e){e.save&&(e.content=Zy.encode(e.content))}),t.add_form_submit_trigger&&e.on("submit",function(){e.initialized&&e.save()}),t.add_unload_trigger&&(e._beforeUnload=function(){!e.initialized||e.destroyed||e.isHidden()||e.save({format:"raw",no_events:!0,set_dirty:!1})},e.editorManager.on("BeforeUnload",e._beforeUnload)),e.editorManager.add(e),tb(e,e.suffix)}}else Zy.bind(window,"ready",r)},rb=function(e,t,n){var r=e.sidebars?e.sidebars:[];r.push({name:t,settings:n}),e.sidebars=r},ob=Ot.each,ib=Ot.trim,ab="source protocol authority userInfo user password host port relative path directory file query anchor".split(" "),sb={ftp:21,http:80,https:443,mailto:25},ub=function(e,t){var n,r,o=this;if(e=ib(e),n=(t=o.settings=t||{}).base_uri,/^([\w\-]+):([^\/]{2})/i.test(e)||/^\s*#/.test(e))o.source=e;else{var i=0===e.indexOf("//");0!==e.indexOf("/")||i||(e=(n&&n.protocol||"http")+"://mce_host"+e),/^[\w\-]*:?\/\//.test(e)||(r=t.base_uri?t.base_uri.path:new ub(document.location.href).directory,""==t.base_uri.protocol?e="//mce_host"+o.toAbsPath(r,e):(e=/([^#?]*)([#?]?.*)/.exec(e),e=(n&&n.protocol||"http")+"://mce_host"+o.toAbsPath(r,e[1])+e[2])),e=e.replace(/@@/g,"(mce_at)"),e=/^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@\/]*):?([^:@\/]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/.exec(e),ob(ab,function(t,n){var r=e[n];r&&(r=r.replace(/\(mce_at\)/g,"@@")),o[t]=r}),n&&(o.protocol||(o.protocol=n.protocol),o.userInfo||(o.userInfo=n.userInfo),o.port||"mce_host"!==o.host||(o.port=n.port),o.host&&"mce_host"!==o.host||(o.host=n.host),o.source=""),i&&(o.protocol="")}};ub.prototype={setPath:function(e){e=/^(.*?)\/?(\w+)?$/.exec(e),this.path=e[0],this.directory=e[1],this.file=e[2],this.source="",this.getURI()},toRelative:function(e){var t;if("./"===e)return e;if("mce_host"!==(e=new ub(e,{base_uri:this})).host&&this.host!==e.host&&e.host||this.port!==e.port||this.protocol!==e.protocol&&""!==e.protocol)return e.getURI();var n=this.getURI(),r=e.getURI();return n===r||"/"===n.charAt(n.length-1)&&n.substr(0,n.length-1)===r?n:(t=this.toRelPath(this.path,e.path),e.query&&(t+="?"+e.query),e.anchor&&(t+="#"+e.anchor),t)},toAbsolute:function(e,t){return(e=new ub(e,{base_uri:this})).getURI(t&&this.isSameOrigin(e))},isSameOrigin:function(e){if(this.host==e.host&&this.protocol==e.protocol){if(this.port==e.port)return!0;var t=sb[this.protocol];if(t&&(this.port||t)==(e.port||t))return!0}return!1},toRelPath:function(e,t){var n,r,o,i=0,a="";if(e=(e=e.substring(0,e.lastIndexOf("/"))).split("/"),n=t.split("/"),e.length>=n.length)for(r=0,o=e.length;r<o;r++)if(r>=n.length||e[r]!==n[r]){i=r+1;break}if(e.length<n.length)for(r=0,o=n.length;r<o;r++)if(r>=e.length||e[r]!==n[r]){i=r+1;break}if(1===i)return t;for(r=0,o=e.length-(i-1);r<o;r++)a+="../";for(r=i-1,o=n.length;r<o;r++)a+=r!==i-1?"/"+n[r]:n[r];return a},toAbsPath:function(e,t){var n,r,o,i=0,a=[];for(r=/\/$/.test(t)?"/":"",e=e.split("/"),t=t.split("/"),ob(e,function(e){e&&a.push(e)}),e=a,n=t.length-1,a=[];n>=0;n--)0!==t[n].length&&"."!==t[n]&&(".."!==t[n]?i>0?i--:a.push(t[n]):i++);return 0!==(o=(n=e.length-i)<=0?a.reverse().join("/"):e.slice(0,n).join("/")+"/"+a.reverse().join("/")).indexOf("/")&&(o="/"+o),r&&o.lastIndexOf("/")!==o.length-1&&(o+=r),o},getURI:function(e){var t,n=this;return n.source&&!e||(t="",e||(n.protocol?t+=n.protocol+"://":t+="//",n.userInfo&&(t+=n.userInfo+"@"),n.host&&(t+=n.host),n.port&&(t+=":"+n.port)),n.path&&(t+=n.path),n.query&&(t+="?"+n.query),n.anchor&&(t+="#"+n.anchor),n.source=t),n.source}},ub.parseDataUri=function(e){var t,n;return e=decodeURIComponent(e).split(","),(n=/data:([^;]+)/.exec(e[0]))&&(t=n[1]),{type:t,data:e[1]}},ub.getDocumentBaseUrl=function(e){var t;return t=0!==e.protocol.indexOf("http")&&"file:"!==e.protocol?e.href:e.protocol+"//"+e.host+e.pathname,/^[^:]+:\/\/\/?[^\/]+\//.test(t)&&(t=t.replace(/[\?#].*$/,"").replace(/[\/\\][^\/]+$/,""),/[\/\\]$/.test(t)||(t+="/")),t};var cb=Xo.DOM,lb=Ot.extend,fb=Ot.each,db=Ot.trim,mb=Ot.resolve,pb=me.ie,gb=function(e,t,n){var r,o,i,a,s,u,c,l,f,d=this;r=d.documentBaseUrl=n.documentBaseURL,o=n.baseURI,i=d,a=e,s=r,u=n.defaultSettings,c=t,f={id:a,theme:"modern",delta_width:0,delta_height:0,popup_css:"",plugins:"",document_base_url:s,add_form_submit_trigger:!0,submit_patch:!0,add_unload_trigger:!0,convert_urls:!0,relative_urls:!0,remove_script_host:!0,object_resizing:!0,doctype:"<!DOCTYPE html>",visual:!0,font_size_style_values:"xx-small,x-small,small,medium,large,x-large,xx-large",font_size_legacy_values:"xx-small,small,medium,large,x-large,xx-large,300%",forced_root_block:"p",hidden_input:!0,padd_empty_editor:!0,render_ui:!0,indentation:"30px",inline_styles:!0,convert_fonts_to_spans:!0,indent:"simple",indent_before:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,tfoot,tbody,tr,section,article,hgroup,aside,figure,figcaption,option,optgroup,datalist",indent_after:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,tfoot,tbody,tr,section,article,hgroup,aside,figure,figcaption,option,optgroup,datalist",entity_encoding:"named",url_converter:(l=i).convertURL,url_converter_scope:l,ie7_compat:!0},t=lu(ou,f,u,c),d.settings=t,ti.language=t.language||"en",ti.languageLoad=t.language_load,ti.baseURL=n.baseURL,d.id=e,d.setDirty(!1),d.plugins={},d.documentBaseURI=new ub(t.document_base_url,{base_uri:o}),d.baseURI=o,d.contentCSS=[],d.contentStyles=[],d.shortcuts=new Jd(d),d.loadedCSS={},d.editorCommands=new Od(d),d.suffix=n.suffix,d.editorManager=n,d.inline=t.inline,d.buttons={},d.menuItems={},t.cache_suffix&&(me.cacheSuffix=t.cache_suffix.replace(/^[\?\&]+/,"")),!1===t.override_viewport&&(me.overrideViewPort=!1),n.fire("SetupEditor",d),d.execCallback("setup",d),d.$=Qt.overrideDefaults(function(){return{context:d.inline?d.getBody():d.getDoc(),element:d.getBody()}})};lb(gb.prototype={render:function(){nb(this)},focus:function(e){gm(this,e)},execCallback:function(e){var t,n=this.settings[e];if(n)return this.callbackLookup&&(t=this.callbackLookup[e])&&(n=t.func,t=t.scope),"string"==typeof n&&(t=(t=n.replace(/\.\w+$/,""))?mb(t):0,n=mb(n),this.callbackLookup=this.callbackLookup||{},this.callbackLookup[e]={func:n,scope:t}),n.apply(t||this,Array.prototype.slice.call(arguments,1))},translate:function(e){if(e&&Ot.is(e,"string")){var t=this.settings.language||"en",n=this.editorManager.i18n;e=n.data[t+"."+e]||e.replace(/\{\#([^\}]+)\}/g,function(e,r){return n.data[t+"."+r]||"{#"+r+"}"})}return this.editorManager.translate(e)},getLang:function(e,t){return this.editorManager.i18n.data[(this.settings.language||"en")+"."+e]||(t!==undefined?t:"{#"+e+"}")},getParam:function(e,t,n){return mu(this,e,t,n)},nodeChanged:function(e){this._nodeChangeDispatcher.nodeChanged(e)},addButton:function(e,t){var n=this;t.cmd&&(t.onclick=function(){n.execCommand(t.cmd)}),t.stateSelector&&"undefined"==typeof t.active&&(t.active=!1),t.text||t.icon||(t.icon=e),n.buttons=n.buttons,t.tooltip=t.tooltip||t.title,n.buttons[e]=t},addSidebar:function(e,t){return rb(this,e,t)},addMenuItem:function(e,t){var n=this;t.cmd&&(t.onclick=function(){n.execCommand(t.cmd)}),n.menuItems=n.menuItems,n.menuItems[e]=t},addContextToolbar:function(e,t){var n,r=this;r.contextToolbars=r.contextToolbars||[],"string"==typeof e&&(n=e,e=function(e){return r.dom.is(e,n)}),r.contextToolbars.push({id:Gm("mcet"),predicate:e,items:t})},addCommand:function(e,t,n){this.editorCommands.addCommand(e,t,n)},addQueryStateHandler:function(e,t,n){this.editorCommands.addQueryStateHandler(e,t,n)},addQueryValueHandler:function(e,t,n){this.editorCommands.addQueryValueHandler(e,t,n)},addShortcut:function(e,t,n,r){this.shortcuts.add(e,t,n,r)},execCommand:function(e,t,n,r){return this.editorCommands.execCommand(e,t,n,r)},queryCommandState:function(e){return this.editorCommands.queryCommandState(e)},queryCommandValue:function(e){return this.editorCommands.queryCommandValue(e)},queryCommandSupported:function(e){return this.editorCommands.queryCommandSupported(e)},show:function(){this.hidden&&(this.hidden=!1,this.inline?this.getBody().contentEditable=!0:(cb.show(this.getContainer()),cb.hide(this.id)),this.load(),this.fire("show"))},hide:function(){var e=this,t=e.getDoc();e.hidden||(pb&&t&&!e.inline&&t.execCommand("SelectAll"),e.save(),e.inline?(e.getBody().contentEditable=!1,e===e.editorManager.focusedEditor&&(e.editorManager.focusedEditor=null)):(cb.hide(e.getContainer()),cb.setStyle(e.id,"display",e.orgDisplay)),e.hidden=!0,e.fire("hide"))},isHidden:function(){return!!this.hidden},setProgressState:function(e,t){this.fire("ProgressState",{state:e,time:t})},load:function(e){var t,n=this.getElement();return this.removed?"":n?((e=e||{}).load=!0,t=this.setContent(n.value!==undefined?n.value:n.innerHTML,e),e.element=n,e.no_events||this.fire("LoadContent",e),e.element=n=null,t):void 0},save:function(e){var t,n,r=this,o=r.getElement();if(o&&r.initialized&&!r.removed)return(e=e||{}).save=!0,e.element=o,e.content=r.getContent(e),e.no_events||r.fire("SaveContent",e),"raw"===e.format&&r.fire("RawSaveContent",e),t=e.content,/TEXTAREA|INPUT/i.test(o.nodeName)?o.value=t:(r.inline||(o.innerHTML=t),(n=cb.getParent(r.id,"form"))&&fb(n.elements,function(e){if(e.name===r.id)return e.value=t,!1})),e.element=o=null,!1!==e.set_dirty&&r.setDirty(!1),t},setContent:function(e,t){var n,r,o=this,i=o.getBody();return(t=t||{}).format=t.format||"html",t.set=!0,t.content=e,t.no_events||o.fire("BeforeSetContent",t),0===(e=t.content).length||/^\s+$/.test(e)?(r=pb&&pb<11?"":'<br data-mce-bogus="1">',"TABLE"===i.nodeName?e="<tr><td>"+r+"</td></tr>":/^(UL|OL)$/.test(i.nodeName)&&(e="<li>"+r+"</li>"),(n=o.settings.forced_root_block)&&o.schema.isValidChild(i.nodeName.toLowerCase(),n.toLowerCase())?(e=r,e=o.dom.createHTML(n,o.settings.forced_root_block_attrs,e)):pb||e||(e='<br data-mce-bogus="1">'),o.dom.setHTML(i,e),o.fire("SetContent",t)):("raw"!==t.format&&(e=zs({validate:o.validate},o.schema).serialize(o.parser.parse(e,{isRootContent:!0,insert:!0}))),t.content=db(e),o.dom.setHTML(i,t.content),t.no_events||o.fire("SetContent",t)),t.content},getContent:function(e){var t,n=this.getBody();if(this.removed)return"";if((e=e||{}).format=e.format||"html",e.get=!0,e.getInner=!0,e.no_events||this.fire("BeforeGetContent",e),"raw"===e.format)t=Ot.trim(om(this.serializer,n.innerHTML));else if("text"===e.format)t=n.innerText||n.textContent;else{if("tree"===e.format)return this.serializer.serialize(n,e);t=this.serializer.serialize(n,e)}return"text"!==e.format?e.content=db(t):e.content=t,e.no_events||this.fire("GetContent",e),e.content},insertContent:function(e,t){t&&(e=lb({content:e},t)),this.execCommand("mceInsertContent",!1,e)},isDirty:function(){return!this.isNotDirty},setDirty:function(e){var t=!this.isNotDirty;this.isNotDirty=!e,e&&e!==t&&this.fire("dirty")},setMode:function(e){Wd(this,e)},getContainer:function(){return this.container||(this.container=cb.get(this.editorContainer||this.id+"_parent")),this.container},getContentAreaContainer:function(){return this.contentAreaContainer},getElement:function(){return this.targetElm||(this.targetElm=cb.get(this.id)),this.targetElm},getWin:function(){var e;return this.contentWindow||(e=this.iframeElement)&&(this.contentWindow=e.contentWindow),this.contentWindow},getDoc:function(){var e;return this.contentDocument||(e=this.getWin())&&(this.contentDocument=e.document),this.contentDocument},getBody:function(){var e=this.getDoc();return this.bodyElement||(e?e.body:null)},convertURL:function(e,t,n){var r=this.settings;return r.urlconverter_callback?this.execCallback("urlconverter_callback",e,n,!0,t):!r.convert_urls||n&&"LINK"===n.nodeName||0===e.indexOf("file:")||0===e.length?e:r.relative_urls?this.documentBaseURI.toRelative(e):e=this.documentBaseURI.toAbsolute(e,r.remove_script_host)},addVisual:function(e){var t,n=this,r=n.settings,o=n.dom;e=e||n.getBody(),n.hasVisual===undefined&&(n.hasVisual=r.visual),fb(o.select("table,a",e),function(e){var i;switch(e.nodeName){case"TABLE":return t=r.visual_table_class||"mce-item-table",void((i=o.getAttrib(e,"border"))&&"0"!==i||!n.hasVisual?o.removeClass(e,t):o.addClass(e,t));case"A":return void(o.getAttrib(e,"href",!1)||(i=o.getAttrib(e,"name")||e.id,t=r.visual_anchor_class||"mce-item-anchor",i&&n.hasVisual?o.addClass(e,t):o.removeClass(e,t)))}}),n.fire("VisualAid",{element:e,hasVisual:n.hasVisual})},remove:function(){var e=this;e.removed||(e.save(),e.removed=1,e.unbindAllNativeEvents(),e.hasHiddenInput&&cb.remove(e.getElement().nextSibling),e.inline||(pb&&pb<10&&e.getDoc().execCommand("SelectAll",!1,null),cb.setStyle(e.id,"display",e.orgDisplay),e.getBody().onload=null),e.fire("remove"),e.editorManager.remove(e),cb.remove(e.getContainer()),e._selectionOverrides.destroy(),e.editorUpload.destroy(),e.destroy())},destroy:function(e){var t,n=this;n.destroyed||(e||n.removed?(e||(n.editorManager.off("beforeunload",n._beforeUnload),n.theme&&n.theme.destroy&&n.theme.destroy(),n.selection.destroy(),n.dom.destroy()),(t=n.formElement)&&(t._mceOldSubmit&&(t.submit=t._mceOldSubmit,t._mceOldSubmit=null),cb.unbind(t,"submit reset",n.formEventDelegate)),n.contentAreaContainer=n.formElement=n.container=n.editorContainer=null,n.bodyElement=n.contentDocument=n.contentWindow=null,n.iframeElement=n.targetElm=null,n.selection&&(n.selection=n.selection.win=n.selection.dom=n.selection.dom.doc=null),n.destroyed=1):n.remove())},uploadImages:function(e){return this.editorUpload.uploadImages(e)},_scanForImages:function(){return this.editorUpload.scanForImages()}},qd);var hb,vb,yb,bb={isEditorUIElement:function(e){return-1!==e.className.toString().indexOf("mce-")}},Cb=function(e,t){var n,r,o=Un.detect().browser;o.isIE()||o.isEdge()?(r=e).on("focusout",function(){Sd(r)}):(n=t,e.on("mouseup touchend",function(e){n.throttle()})),e.on("keyup nodechange",function(t){var n;"nodechange"===(n=t).type&&n.selectionChange||Sd(e)})},xb=function(e){var t,n,r,o=Tp(function(){Sd(e)},0);e.inline&&(t=e,n=o,r=function(){n.throttle()},Xo.DOM.bind(document,"mouseup",r),t.on("remove",function(){Xo.DOM.unbind(document,"mouseup",r)})),e.on("init",function(){Cb(e,o)}),e.on("remove",function(){o.cancel()})},wb=Xo.DOM,Nb=function(e){return bb.isEditorUIElement(e)},Eb=function(e,t){var n=e?e.settings.custom_ui_selector:"";return null!==wb.getParent(t,function(t){return Nb(t)||!!n&&e.dom.is(t,n)})},Sb=function(e,t){var n=t.editor;xb(n),n.on("focusin",function(){var t=e.focusedEditor;t!==this&&(t&&t.fire("blur",{focusedEditor:this}),e.setActive(this),e.focusedEditor=this,this.fire("focus",{blurredEditor:t}),this.focus(!0))}),n.on("focusout",function(){var t=this;ye.setEditorTimeout(t,function(){var n=e.focusedEditor;Eb(t,function(){try{return document.activeElement}catch(e){return document.body}}())||n!==t||(t.fire("blur",{focusedEditor:null}),e.focusedEditor=null)})}),hb||(hb=function(t){var n,r=e.activeEditor;n=t.target,r&&n.ownerDocument===document&&(n===document.body||Eb(r,n)||e.focusedEditor!==r||(r.fire("blur",{focusedEditor:null}),e.focusedEditor=null))},wb.bind(document,"focusin",hb))},kb=function(e,t){e.focusedEditor===t.editor&&(e.focusedEditor=null),e.activeEditor||(wb.unbind(document,"focusin",hb),hb=null)},Tb=function(e){e.on("AddEditor",y.curry(Sb,e)),e.on("RemoveEditor",y.curry(kb,e))},Ab={},_b="en",Bb={setCode:function(e){e&&(_b=e,this.rtl=!!this.data[e]&&"rtl"===this.data[e]._dir)},getCode:function(){return _b},rtl:!1,add:function(e,t){var n=Ab[e];for(var r in n||(Ab[e]=n={}),t)n[r]=t[r];this.setCode(e)},translate:function(e){var t=Ab[_b]||{},n=function(e){return Ot.is(e,"function")?Object.prototype.toString.call(e):r(e)?"":""+e},r=function(e){return""===e||null===e||Ot.is(e,"undefined")},o=function(e){return e=n(e),Ot.hasOwn(t,e)?n(t[e]):e};if(r(e))return"";if(Ot.is(e,"object")&&Ot.hasOwn(e,"raw"))return n(e.raw);if(Ot.is(e,"array")){var i=e.slice(1);e=o(e[0]).replace(/\{([0-9]+)\}/g,function(e,t){return Ot.hasOwn(i,t)?n(i[t]):e})}return o(e).replace(/{context:\w+}$/,"")},data:Ab},Rb=Xo.DOM,Db=Ot.explode,Ob=Ot.each,Pb=Ot.extend,Ib=0,Lb=!1,Mb=[],Fb=[],zb=function(e){Ob(yb.get(),function(t){"scroll"===e.type?t.fire("ScrollWindow",e):t.fire("ResizeWindow",e)})},Ub=function(e){e!==Lb&&(e?Qt(window).on("resize scroll",zb):Qt(window).off("resize scroll",zb),Lb=e)},Vb=function(e){var t=Fb;delete Mb[e.id];for(var n=0;n<Mb.length;n++)if(Mb[n]===e){Mb.splice(n,1);break}return Fb=M.filter(Fb,function(t){return e!==t}),yb.activeEditor===e&&(yb.activeEditor=Fb.length>0?Fb[0]:null),yb.focusedEditor===e&&(yb.focusedEditor=null),t.length!==Fb.length};Pb(yb={defaultSettings:{},$:Qt,majorVersion:"4",minorVersion:"7.5",releaseDate:"2018-01-22",editors:Mb,i18n:Bb,activeEditor:null,settings:{},setup:function(){var e,t,n,r,o="";if(t=ub.getDocumentBaseUrl(document.location),/^[^:]+:\/\/\/?[^\/]+\//.test(t)&&(t=t.replace(/[\?#].*$/,"").replace(/[\/\\][^\/]+$/,""),/[\/\\]$/.test(t)||(t+="/")),n=window.tinymce||window.tinyMCEPreInit)e=n.base||n.baseURL,o=n.suffix;else{for(var i=document.getElementsByTagName("script"),a=0;a<i.length;a++){var s=(r=i[a].src).substring(r.lastIndexOf("/"));if(/tinymce(\.full|\.jquery|)(\.min|\.dev|)\.js/.test(r)){-1!==s.indexOf(".min")&&(o=".min"),e=r.substring(0,r.lastIndexOf("/"));break}}!e&&document.currentScript&&(-1!==(r=document.currentScript.src).indexOf(".min")&&(o=".min"),e=r.substring(0,r.lastIndexOf("/")))}this.baseURL=new ub(t).toAbsolute(e),this.documentBaseURL=t,this.baseURI=new ub(this.baseURL),this.suffix=o,Tb(this)},overrideDefaults:function(e){var t,n;(t=e.base_url)&&(this.baseURL=new ub(this.documentBaseURL).toAbsolute(t.replace(/\/+$/,"")),this.baseURI=new ub(this.baseURL)),n=e.suffix,e.suffix&&(this.suffix=n),this.defaultSettings=e;var r=e.plugin_base_urls;for(var o in r)ti.PluginManager.urls[o]=r[o]},init:function(e){var t,n,r=this;n=Ot.makeMap("area base basefont br col frame hr img input isindex link meta param embed source wbr track colgroup option tbody tfoot thead tr script noscript style textarea video audio iframe object menu"," ");var o=function(e){var t=e.id;return t||(t=(t=e.name)&&!Rb.get(t)?e.name:Rb.uniqueId(),e.setAttribute("id",t)),t},i=function(e,t){return t.constructor===RegExp?t.test(e.className):Rb.hasClass(e,t)},a=function(e){t=e},s=function(){var t,u=0,c=[],l=function(e,n,o){var i=new gb(e,n,r);c.push(i),i.on("init",function(){++u===t.length&&a(c)}),i.targetElm=i.targetElm||o,i.render()};Rb.unbind(window,"ready",s),function(t){var n=e[t];n&&n.apply(r,Array.prototype.slice.call(arguments,2))}("onpageload"),t=Qt.unique(function(e){var t,n=[];if(me.ie&&me.ie<11)return Pm("TinyMCE does not support the browser you are using. For a list of supported browsers please see: https://www.tinymce.com/docs/get-started/system-requirements/"),[];if(e.types)return Ob(e.types,function(e){n=n.concat(Rb.select(e.selector))}),n;if(e.selector)return Rb.select(e.selector);if(e.target)return[e.target];switch(e.mode){case"exact":(t=e.elements||"").length>0&&Ob(Db(t),function(e){var t;(t=Rb.get(e))?n.push(t):Ob(document.forms,function(t){Ob(t.elements,function(t){t.name===e&&(e="mce_editor_"+Ib++,Rb.setAttrib(t,"id",e),n.push(t))})})});break;case"textareas":case"specific_textareas":Ob(Rb.select("textarea"),function(t){e.editor_deselector&&i(t,e.editor_deselector)||e.editor_selector&&!i(t,e.editor_selector)||n.push(t)})}return n}(e)),e.types?Ob(e.types,function(n){Ot.each(t,function(t){return!Rb.is(t,n.selector)||(l(o(t),Pb({},e,n),t),!1)})}):(Ot.each(t,function(e){var t;(t=r.get(e.id))&&t.initialized&&!(t.getContainer()||t.getBody()).parentNode&&(Vb(t),t.unbindAllNativeEvents(),t.destroy(!0),t.removed=!0,t=null)}),0===(t=Ot.grep(t,function(e){return!r.get(e.id)})).length?a([]):Ob(t,function(t){var r;r=t,e.inline&&r.tagName.toLowerCase()in n?Pm("Could not initialize inline editor on invalid inline target element",t):l(o(t),e,t)}))};return r.settings=e,Rb.bind(window,"ready",s),new pe(function(e){t?e(t):a=function(t){e(t)}})},get:function(e){return 0===arguments.length?Fb.slice(0):tr.isString(e)?M.find(Fb,function(t){return t.id===e}).getOr(null):tr.isNumber(e)&&Fb[e]?Fb[e]:null},add:function(e){var t=this;return Mb[e.id]===e?e:(null===t.get(e.id)&&("length"!==e.id&&(Mb[e.id]=e),Mb.push(e),Fb.push(e)),Ub(!0),t.activeEditor=e,t.fire("AddEditor",{editor:e}),vb||(vb=function(){t.fire("BeforeUnload")},Rb.bind(window,"beforeunload",vb)),e)},createEditor:function(e,t){return this.add(new gb(e,t,this))},remove:function(e){var t,n,r=this;if(e)return tr.isString(e)?(e=e.selector||e,void Ob(Rb.select(e),function(e){(n=r.get(e.id))&&r.remove(n)})):(n=e,tr.isNull(r.get(n.id))?null:(Vb(n)&&r.fire("RemoveEditor",{editor:n}),0===Fb.length&&Rb.unbind(window,"beforeunload",vb),n.remove(),Ub(Fb.length>0),n));for(t=Fb.length-1;t>=0;t--)r.remove(Fb[t])},execCommand:function(e,t,n){var r=this.get(n);switch(e){case"mceAddEditor":return this.get(n)||new gb(n,this.settings,this).render(),!0;case"mceRemoveEditor":return r&&r.remove(),!0;case"mceToggleEditor":return r?(r.isHidden()?r.show():r.hide(),!0):(this.execCommand("mceAddEditor",0,n),!0)}return!!this.activeEditor&&this.activeEditor.execCommand(e,t,n)},triggerSave:function(){Ob(Fb,function(e){e.save()})},addI18n:function(e,t){Bb.add(e,t)},translate:function(e){return Bb.translate(e)},setActive:function(e){var t=this.activeEditor;this.activeEditor!==e&&(t&&t.fire("deactivate",{relatedTarget:e}),e.fire("activate",{relatedTarget:t})),this.activeEditor=e}},Fd),yb.setup();var Hb,qb=yb;function jb(e){return{walk:function(t,n){return cg.walk(e,t,n)},split:sl.split,normalize:function(t){return Jf.normalize(e,t).fold(y.constant(!1),function(e){return t.setStart(e.startContainer,e.startOffset),t.setEnd(e.endContainer,e.endOffset),!0})}}}(Hb=jb||(jb={})).compareRanges=qf,Hb.getCaretRangeFromPoint=Ih,Hb.getSelectedNode=Fi,Hb.getNode=zi;var $b,Wb,Kb=jb,Xb=Math.min,Yb=Math.max,Gb=Math.round,Jb=function(e,t,n){var r,o,i,a,s,u;return r=t.x,o=t.y,i=e.w,a=e.h,s=t.w,u=t.h,"b"===(n=(n||"").split(""))[0]&&(o+=u),"r"===n[1]&&(r+=s),"c"===n[0]&&(o+=Gb(u/2)),"c"===n[1]&&(r+=Gb(s/2)),"b"===n[3]&&(o-=a),"r"===n[4]&&(r-=i),"c"===n[3]&&(o-=Gb(a/2)),"c"===n[4]&&(r-=Gb(i/2)),Qb(r,o,i,a)},Qb=function(e,t,n,r){return{x:e,y:t,w:n,h:r}},Zb={inflate:function(e,t,n){return Qb(e.x-t,e.y-n,e.w+2*t,e.h+2*n)},relativePosition:Jb,findBestRelativePosition:function(e,t,n,r){var o,i;for(i=0;i<r.length;i++)if((o=Jb(e,t,r[i])).x>=n.x&&o.x+o.w<=n.w+n.x&&o.y>=n.y&&o.y+o.h<=n.h+n.y)return r[i];return null},intersect:function(e,t){var n,r,o,i;return n=Yb(e.x,t.x),r=Yb(e.y,t.y),o=Xb(e.x+e.w,t.x+t.w),i=Xb(e.y+e.h,t.y+t.h),o-n<0||i-r<0?null:Qb(n,r,o-n,i-r)},clamp:function(e,t,n){var r,o,i,a,s,u,c,l,f,d;return s=e.x,u=e.y,c=e.x+e.w,l=e.y+e.h,f=t.x+t.w,d=t.y+t.h,r=Yb(0,t.x-s),o=Yb(0,t.y-u),i=Yb(0,c-f),a=Yb(0,l-d),s+=r,u+=o,n&&(c+=r,l+=o,s-=i,u-=a),Qb(s,u,(c-=i)-s,(l-=a)-u)},create:Qb,fromClientRect:function(e){return Qb(e.left,e.top,e.width,e.height)}},eC={},tC={add:function(e,t){eC[e.toLowerCase()]=t},has:function(e){return!!eC[e.toLowerCase()]},get:function(e){var t=e.toLowerCase(),n=eC.hasOwnProperty(t)?eC[t]:null;if(null===n)throw new Error("Could not find module for type: "+e);return n},create:function(e,t){var n;if("string"==typeof e?(t=t||{}).type=e:e=(t=e).type,e=e.toLowerCase(),!(n=eC[e]))throw new Error("Could not find control by type: "+e);return(n=new n(t)).type=e,n}},nC=Ot.each,rC=Ot.extend,oC=function(){};oC.extend=$b=function(e){var t,n,r,o=this.prototype,i=function(){var e,t,n;if(!Wb&&(this.init&&this.init.apply(this,arguments),t=this.Mixins))for(e=t.length;e--;)(n=t[e]).init&&n.init.apply(this,arguments)},a=function(){return this},s=function(e,t){return function(){var n,r=this._super;return this._super=o[e],n=t.apply(this,arguments),this._super=r,n}};for(n in Wb=!0,t=new this,Wb=!1,e.Mixins&&(nC(e.Mixins,function(t){for(var n in t)"init"!==n&&(e[n]=t[n])}),o.Mixins&&(e.Mixins=o.Mixins.concat(e.Mixins))),e.Methods&&nC(e.Methods.split(","),function(t){e[t]=a}),e.Properties&&nC(e.Properties.split(","),function(t){var n="_"+t;e[t]=function(e){return e!==undefined?(this[n]=e,this):this[n]}}),e.Statics&&nC(e.Statics,function(e,t){i[t]=e}),e.Defaults&&o.Defaults&&(e.Defaults=rC({},o.Defaults,e.Defaults)),e)"function"==typeof(r=e[n])&&o[n]?t[n]=s(n,r):t[n]=r;return i.prototype=t,i.constructor=i,i.extend=$b,i};var iC=Math.min,aC=Math.max,sC=Math.round,uC=function(e,t){var n,r,o,i;if(t=t||'"',null===e)return"null";if("string"==(o=typeof e))return r="\bb\tt\nn\ff\rr\"\"''\\\\",t+e.replace(/([\u0080-\uFFFF\x00-\x1f\"\'\\])/g,function(e,o){return'"'===t&&"'"===e?e:(n=r.indexOf(o))+1?"\\"+r.charAt(n+1):(e=o.charCodeAt().toString(16),"\\u"+"0000".substring(e.length)+e)})+t;if("object"===o){if(e.hasOwnProperty&&"[object Array]"===Object.prototype.toString.call(e)){for(n=0,r="[";n<e.length;n++)r+=(n>0?",":"")+uC(e[n],t);return r+"]"}for(i in r="{",e)e.hasOwnProperty(i)&&(r+="function"!=typeof e[i]?(r.length>1?","+t:t)+i+t+":"+uC(e[i],t):"");return r+"}"}return""+e},cC={serialize:uC,parse:function(e){try{return window[String.fromCharCode(101)+"val"]("("+e+")")}catch(t){}}},lC={callbacks:{},count:0,send:function(e){var t=this,n=Xo.DOM,r=e.count!==undefined?e.count:t.count,o="tinymce_jsonp_"+r;t.callbacks[r]=function(i){n.remove(o),delete t.callbacks[r],e.callback(i)},n.add(n.doc.body,"script",{id:o,src:e.url,type:"text/javascript"}),t.count++}},fC={send:function(e){var t,n=0,r=function(){!e.async||4===t.readyState||n++>1e4?(e.success&&n<1e4&&200===t.status?e.success.call(e.success_scope,""+t.responseText,t,e):e.error&&e.error.call(e.error_scope,n>1e4?"TIMED_OUT":"GENERAL",t,e),t=null):setTimeout(r,10)};if(e.scope=e.scope||this,e.success_scope=e.success_scope||e.scope,e.error_scope=e.error_scope||e.scope,e.async=!1!==e.async,e.data=e.data||"",fC.fire("beforeInitialize",{settings:e}),t=new Mm){if(t.overrideMimeType&&t.overrideMimeType(e.content_type),t.open(e.type||(e.data?"POST":"GET"),e.url,e.async),e.crossDomain&&(t.withCredentials=!0),e.content_type&&t.setRequestHeader("Content-Type",e.content_type),e.requestheaders&&Ot.each(e.requestheaders,function(e){t.setRequestHeader(e.key,e.value)}),t.setRequestHeader("X-Requested-With","XMLHttpRequest"),(t=fC.fire("beforeSend",{xhr:t,settings:e}).xhr).send(e.data),!e.async)return r();setTimeout(r,10)}}};Ot.extend(fC,Fd);var dC=Ot.extend,mC=function(e){this.settings=dC({},e),this.count=0};mC.sendRPC=function(e){return(new mC).send(e)},mC.prototype={send:function(e){var t=e.error,n=e.success;(e=dC(this.settings,e)).success=function(r,o){void 0===(r=cC.parse(r))&&(r={error:"JSON Parse error."}),r.error?t.call(e.error_scope||e.scope,r.error,o):n.call(e.success_scope||e.scope,r.result)},e.error=function(n,r){t&&t.call(e.error_scope||e.scope,n,r)},e.data=cC.serialize({id:e.id||"c"+this.count++,method:e.method,params:e.params}),e.content_type="application/json",fC.send(e)}};var pC,gC=window.localStorage,hC=qb,vC={geom:{Rect:Zb},util:{Promise:pe,Delay:ye,Tools:Ot,VK:Mp,URI:ub,Class:oC,EventDispatcher:Id,Observable:Fd,I18n:Bb,XHR:fC,JSON:cC,JSONRequest:mC,JSONP:lC,LocalStorage:gC,Color:function(e){var t={},n=0,r=0,o=0,i=function(e){var i;return"object"==typeof e?"r"in e?(n=e.r,r=e.g,o=e.b):"v"in e&&function(e,t,i){var a,s,u,c;if(e=(parseInt(e,10)||0)%360,t=parseInt(t,10)/100,i=parseInt(i,10)/100,t=aC(0,iC(t,1)),i=aC(0,iC(i,1)),0!==t){switch(a=e/60,u=(s=i*t)*(1-Math.abs(a%2-1)),c=i-s,Math.floor(a)){case 0:n=s,r=u,o=0;break;case 1:n=u,r=s,o=0;break;case 2:n=0,r=s,o=u;break;case 3:n=0,r=u,o=s;break;case 4:n=u,r=0,o=s;break;case 5:n=s,r=0,o=u;break;default:n=r=o=0}n=sC(255*(n+c)),r=sC(255*(r+c)),o=sC(255*(o+c))}else n=r=o=sC(255*i)}(e.h,e.s,e.v):(i=/rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)[^\)]*\)/gi.exec(e))?(n=parseInt(i[1],10),r=parseInt(i[2],10),o=parseInt(i[3],10)):(i=/#([0-F]{2})([0-F]{2})([0-F]{2})/gi.exec(e))?(n=parseInt(i[1],16),r=parseInt(i[2],16),o=parseInt(i[3],16)):(i=/#([0-F])([0-F])([0-F])/gi.exec(e))&&(n=parseInt(i[1]+i[1],16),r=parseInt(i[2]+i[2],16),o=parseInt(i[3]+i[3],16)),n=n<0?0:n>255?255:n,r=r<0?0:r>255?255:r,o=o<0?0:o>255?255:o,t};return e&&i(e),t.toRgb=function(){return{r:n,g:r,b:o}},t.toHsv=function(){return e=n,t=r,i=o,s=0,(u=iC(e/=255,iC(t/=255,i/=255)))===(c=aC(e,aC(t,i)))?{h:0,s:0,v:100*(s=u)}:(a=(c-u)/c,s=c,{h:sC(60*((e===u?3:i===u?1:5)-(e===u?t-i:i===u?e-t:i-e)/(c-u))),s:sC(100*a),v:sC(100*s)});var e,t,i,a,s,u,c},t.toHex=function(){var e=function(e){return(e=parseInt(e,10).toString(16)).length>1?e:"0"+e};return"#"+e(n)+e(r)+e(o)},t.parse=i,t}},dom:{EventUtils:Te,Sizzle:lt,DomQuery:Qt,TreeWalker:to,DOMUtils:Xo,ScriptLoader:Zo,RangeUtils:Kb,Serializer:Nh,ControlSelection:Rh,BookmarkManager:Ah,Selection:vv,Event:Te.Event},html:{Styles:zo,Entities:Ao,Node:fh,Schema:Fo,SaxParser:em,DomParser:bh,Writer:Fs,Serializer:zs},ui:{Factory:tC},Env:me,AddOnManager:ti,Formatter:Yg,UndoManager:rg,EditorCommands:Od,WindowManager:km,NotificationManager:Sm,EditorObservable:qd,Shortcuts:Jd,Editor:gb,FocusManager:bb,EditorManager:qb,DOM:Xo.DOM,ScriptLoader:Zo.ScriptLoader,PluginManager:ti.PluginManager,ThemeManager:ti.ThemeManager,trim:Ot.trim,isArray:Ot.isArray,is:Ot.is,toArray:Ot.toArray,makeMap:Ot.makeMap,each:Ot.each,map:Ot.map,grep:Ot.grep,inArray:Ot.inArray,extend:Ot.extend,create:Ot.create,walk:Ot.walk,createNS:Ot.createNS,resolve:Ot.resolve,explode:Ot.explode,_addCacheSuffix:Ot._addCacheSuffix,isOpera:me.opera,isWebKit:me.webkit,isIE:me.ie,isGecko:me.gecko,isMac:me.mac};hC=Ot.extend(hC,vC),pC=hC,window.tinymce=pC,window.tinyMCE=pC}();!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),n="[-'\\.\u2018\u2019\u2024\ufe52\uff07\uff0e]",t="[:\xb7\xb7\u05f4\u2027\ufe13\ufe55\uff1a]",r="[+*/,;;\u0589\u060c\u060d\u066c\u07f8\u2044\ufe10\ufe14\ufe50\ufe54\uff0c\uff1b]",E="[0-9\u0660-\u0669\u066b\u06f0-\u06f9\u07c0-\u07c9\u0966-\u096f\u09e6-\u09ef\u0a66-\u0a6f\u0ae6-\u0aef\u0b66-\u0b6f\u0be6-\u0bef\u0c66-\u0c6f\u0ce6-\u0cef\u0d66-\u0d6f\u0e50-\u0e59\u0ed0-\u0ed9\u0f20-\u0f29\u1040-\u1049\u1090-\u1099\u17e0-\u17e9\u1810-\u1819\u1946-\u194f\u19d0-\u19d9\u1a80-\u1a89\u1a90-\u1a99\u1b50-\u1b59\u1bb0-\u1bb9\u1c40-\u1c49\u1c50-\u1c59\ua620-\ua629\ua8d0-\ua8d9\ua900-\ua909\ua9d0-\ua9d9\uaa50-\uaa59\uabf0-\uabf9]",T="\\r",u="\\n",i="[\x0B\f\x85\u2028\u2029]",o="[\u0300-\u036f\u0483-\u0489\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u0610-\u061a\u064b-\u065f\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u0900-\u0903\u093a-\u093c\u093e-\u094f\u0951-\u0957\u0962\u0963\u0981-\u0983\u09bc\u09be-\u09c4\u09c7\u09c8\u09cb-\u09cd\u09d7\u09e2\u09e3\u0a01-\u0a03\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a70\u0a71\u0a75\u0a81-\u0a83\u0abc\u0abe-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ae2\u0ae3\u0b01-\u0b03\u0b3c\u0b3e-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b62\u0b63\u0b82\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd7\u0c01-\u0c03\u0c3e-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c62\u0c63\u0c82\u0c83\u0cbc\u0cbe-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0ce2\u0ce3\u0d02\u0d03\u0d3e-\u0d44\u0d46-\u0d48\u0d4a-\u0d4d\u0d57\u0d62\u0d63\u0d82\u0d83\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0df2\u0df3\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb\u0ebc\u0ec8-\u0ecd\u0f18\u0f19\u0f35\u0f37\u0f39\u0f3e\u0f3f\u0f71-\u0f84\u0f86\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102b-\u103e\u1056-\u1059\u105e-\u1060\u1062-\u1064\u1067-\u106d\u1071-\u1074\u1082-\u108d\u108f\u109a-\u109d\u135d-\u135f\u1712-\u1714\u1732-\u1734\u1752\u1753\u1772\u1773\u17b6-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u192b\u1930-\u193b\u19b0-\u19c0\u19c8\u19c9\u1a17-\u1a1b\u1a55-\u1a5e\u1a60-\u1a7c\u1a7f\u1b00-\u1b04\u1b34-\u1b44\u1b6b-\u1b73\u1b80-\u1b82\u1ba1-\u1baa\u1be6-\u1bf3\u1c24-\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce8\u1ced\u1cf2\u1dc0-\u1de6\u1dfc-\u1dff\u200c\u200d\u20d0-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302f\u3099\u309a\ua66f-\ua672\ua67c\ua67d\ua6f0\ua6f1\ua802\ua806\ua80b\ua823-\ua827\ua880\ua881\ua8b4-\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua953\ua980-\ua983\ua9b3-\ua9c0\uaa29-\uaa36\uaa43\uaa4c\uaa4d\uaa7b\uaab0\uaab2-\uaab4\uaab7\uaab8\uaabe\uaabf\uaac1\uabe3-\uabea\uabec\uabed\ufb1e\ufe00-\ufe0f\ufe20-\ufe26\uff9e\uff9f]",c="[\xad\u0600-\u0603\u06dd\u070f\u17b4\u17b5\u200e\u200f\u202a-\u202e\u2060-\u2064\u206a-\u206f\ufeff\ufff9-\ufffb]",a="[\u3031-\u3035\u309b\u309c\u30a0-\u30fa\u30fc-\u30ff\u31f0-\u31ff\u32d0-\u32fe\u3300-\u3357\uff66-\uff9d]",R="[=_\u203f\u2040\u2054\ufe33\ufe34\ufe4d-\ufe4f\uff3f\u2200-\u22ff<>]",f="[!-#%-*,-\\/:;?@\\[-\\]_{}\xa1\xab\xb7\xbb\xbf;\xb7\u055a-\u055f\u0589\u058a\u05be\u05c0\u05c3\u05c6\u05f3\u05f4\u0609\u060a\u060c\u060d\u061b\u061e\u061f\u066a-\u066d\u06d4\u0700-\u070d\u07f7-\u07f9\u0830-\u083e\u085e\u0964\u0965\u0970\u0df4\u0e4f\u0e5a\u0e5b\u0f04-\u0f12\u0f3a-\u0f3d\u0f85\u0fd0-\u0fd4\u0fd9\u0fda\u104a-\u104f\u10fb\u1361-\u1368\u1400\u166d\u166e\u169b\u169c\u16eb-\u16ed\u1735\u1736\u17d4-\u17d6\u17d8-\u17da\u1800-\u180a\u1944\u1945\u1a1e\u1a1f\u1aa0-\u1aa6\u1aa8-\u1aad\u1b5a-\u1b60\u1bfc-\u1bff\u1c3b-\u1c3f\u1c7e\u1c7f\u1cd3\u2010-\u2027\u2030-\u2043\u2045-\u2051\u2053-\u205e\u207d\u207e\u208d\u208e\u3008\u3009\u2768-\u2775\u27c5\u27c6\u27e6-\u27ef\u2983-\u2998\u29d8-\u29db\u29fc\u29fd\u2cf9-\u2cfc\u2cfe\u2cff\u2d70\u2e00-\u2e2e\u2e30\u2e31\u3001-\u3003\u3008-\u3011\u3014-\u301f\u3030\u303d\u30a0\u30fb\ua4fe\ua4ff\ua60d-\ua60f\ua673\ua67e\ua6f2-\ua6f7\ua874-\ua877\ua8ce\ua8cf\ua8f8-\ua8fa\ua92e\ua92f\ua95f\ua9c1-\ua9cd\ua9de\ua9df\uaa5c-\uaa5f\uaade\uaadf\uabeb\ufd3e\ufd3f\ufe10-\ufe19\ufe30-\ufe52\ufe54-\ufe61\ufe63\ufe68\ufe6a\ufe6b\uff01-\uff03\uff05-\uff0a\uff0c-\uff0f\uff1a\uff1b\uff1f\uff20\uff3b-\uff3d\uff3f\uff5b\uff5d\uff5f-\uff65]",A={characterIndices:{ALETTER:0,MIDNUMLET:1,MIDLETTER:2,MIDNUM:3,NUMERIC:4,CR:5,LF:6,NEWLINE:7,EXTEND:8,FORMAT:9,KATAKANA:10,EXTENDNUMLET:11,AT:12,OTHER:13},SETS:[new RegExp("[A-Za-z\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f3\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097f\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d\u0c58\u0c59\u0c60\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d60\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u10a0-\u10c5\u10d0-\u10fa\u10fc\u1100-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f0\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1820-\u1877\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191c\u1a00-\u1a16\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bc0-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1ce9-\u1cec\u1cee-\u1cf1\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u24b6-\u24e9\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2d00-\u2d25\u2d30-\u2d65\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2e2f\u3005\u303b\u303c\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua697\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790\ua791\ua7a0-\ua7a9\ua7fa-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uabc0-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uffa0-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]"),new RegExp(n),new RegExp(t),new RegExp(r),new RegExp(E),new RegExp(T),new RegExp(u),new RegExp(i),new RegExp(o),new RegExp(c),new RegExp(a),new RegExp(R),new RegExp("@")],EMPTY_STRING:"",PUNCTUATION:new RegExp("^"+f+"$"),WHITESPACE:/^\s+$/},N=function(e,n,t){var r,E;if(!e)return 0;if(t=t||e,e.length!==undefined){for(r=0,E=e.length;r<E;r++)if(!1===n.call(t,e[r],r,e))return 0}else for(r in e)if(e.hasOwnProperty(r)&&!1===n.call(t,e[r],r,e))return 0;return 1},s=function(e,n){var t=[];return N(e,function(r,E){t.push(n(r,E,e))}),t},l=A.SETS,M=A.characterIndices.OTHER,d=function(e){var n,t,r=M,E=l.length;for(n=0;n<E;++n)if((t=l[n])&&t.test(e)){r=n;break}return r},I=function(e){var n,t,r=(n=d,t={},function(e){if(t[e])return t[e];var r=n(e);return t[e]=r,r});return s(e.split(""),r)},L=A.characterIndices,g=function(e,n){var t,r,E=e[n],T=e[n+1];return!(n<0||n>e.length-1&&0!==n||E===L.ALETTER&&T===L.ALETTER||(r=e[n+2],E===L.ALETTER&&(T===L.MIDLETTER||T===L.MIDNUMLET||T===L.AT)&&r===L.ALETTER||(t=e[n-1],(E===L.MIDLETTER||E===L.MIDNUMLET||T===L.AT)&&T===L.ALETTER&&t===L.ALETTER||!(E!==L.NUMERIC&&E!==L.ALETTER||T!==L.NUMERIC&&T!==L.ALETTER)||(E===L.MIDNUM||E===L.MIDNUMLET)&&T===L.NUMERIC&&t===L.NUMERIC||E===L.NUMERIC&&(T===L.MIDNUM||T===L.MIDNUMLET)&&r===L.NUMERIC||E===L.EXTEND||E===L.FORMAT||t===L.EXTEND||t===L.FORMAT||T===L.EXTEND||T===L.FORMAT||E===L.CR&&T===L.LF||E!==L.NEWLINE&&E!==L.CR&&E!==L.LF&&T!==L.NEWLINE&&T!==L.CR&&T!==L.LF&&(E===L.KATAKANA&&T===L.KATAKANA||T===L.EXTENDNUMLET&&(E===L.ALETTER||E===L.NUMERIC||E===L.KATAKANA||E===L.EXTENDNUMLET)||E===L.EXTENDNUMLET&&(T===L.ALETTER||T===L.NUMERIC||T===L.KATAKANA)||E===L.AT))))},p=A.EMPTY_STRING,U=A.WHITESPACE,w=A.PUNCTUATION,h=function(e,n,t){var r=function(e,n){var t;for(t=n;t<e.length;++t){var r=e.charAt(t);if(U.test(r))break}return t}(n,t+1),E=n.substring(t+1,r);return"://"===E.substr(0,3)?{word:e+E,index:r}:{word:e,index:t}},v=function(e,n){return function(e,n){var t,r,E,T,u=0,i=I(e),o=i.length,c=[],a=[];for(n||(n={}),n.ignoreCase&&(e=e.toLowerCase()),r=n.includePunctuation,E=n.includeWhitespace;u<o;++u)if(t=e.charAt(u),c.push(t),g(i,u)){if((c=c.join(p))&&(E||!U.test(c))&&(r||!w.test(c)))if("http"===(T=c)||"https"===T){var R=h(c,e,u);a.push(R.word),u=R.index}else a.push(c);c=[]}return a}(e.replace(/\ufeff/g,""),n)},x=function(e){return v((n=e,n.removed?"":n.getBody().innerText)).length;var n},C=function(e){return{getCount:function(){return x(e)}}},D=tinymce.util.Tools.resolve("tinymce.util.Delay"),m=tinymce.util.Tools.resolve("tinymce.util.I18n"),y=function(e){var n=function(e){return m.translate(["{0} words",x(e)])},t=function(){e.theme.panel.find("#wordcount").text(n(e))};e.on("init",function(){var r=e.theme.panel&&e.theme.panel.find("#statusbar")[0],E=D.debounce(t,300);r&&D.setEditorTimeout(e,function(){r.insert({type:"label",name:"wordcount",text:n(e),classes:"wordcount",disabled:e.settings.readonly},0),e.on("setcontent beforeaddundo undo redo keyup",E)},0)})};e.add("wordcount",function(e){return y(e),C(e)})}();!function(){"use strict";var n,e,t,r,o=function(n){var e=n,t=function(){return e};return{get:t,set:function(n){e=n},clone:function(){return o(t())}}},u=tinymce.util.Tools.resolve("tinymce.PluginManager"),i=function(n){return{isEnabled:function(){return n.get()}}},c=function(n,e){return n.fire("VisualChars",{state:e})},a={"\xa0":"nbsp","\xad":"shy"},f=function(n,e){var t,r="";for(t in n)r+=t;return new RegExp("["+r+"]",e?"g":"")},l=function(n){var e,t="";for(e in n)t&&(t+=","),t+="span.mce-"+n[e];return t},s={charMap:a,regExp:f(a),regExpGlobal:f(a,!0),selector:l(a),charMapToRegExp:f,charMapToSelector:l},d=function(n){return function(){return n}},m={noop:function(){},noarg:function(n){return function(){return n()}},compose:function(n,e){return function(){return n(e.apply(null,arguments))}},constant:d,identity:function(n){return n},tripleEquals:function(n,e){return n===e},curry:function(n){for(var e=new Array(arguments.length-1),t=1;t<arguments.length;t++)e[t-1]=arguments[t];return function(){for(var t=new Array(arguments.length),r=0;r<t.length;r++)t[r]=arguments[r];var o=e.concat(t);return n.apply(null,o)}},not:function(n){return function(){return!n.apply(null,arguments)}},die:function(n){return function(){throw new Error(n)}},apply:function(n){return n()},call:function(n){n()},never:d(!1),always:d(!0)},p=m.never,h=m.always,v=function(){return g},g=(r={fold:function(n,e){return n()},is:p,isSome:p,isNone:h,getOr:t=function(n){return n},getOrThunk:e=function(n){return n()},getOrDie:function(n){throw new Error(n||"error: getOrDie called on none.")},or:t,orThunk:e,map:v,ap:v,each:function(){},bind:v,flatten:v,exists:p,forall:h,filter:v,equals:n=function(n){return n.isNone()},equals_:n,toArray:function(){return[]},toString:m.constant("none()")},Object.freeze&&Object.freeze(r),r),y=function(n){var e=function(){return n},t=function(){return o},r=function(e){return e(n)},o={fold:function(e,t){return t(n)},is:function(e){return n===e},isSome:h,isNone:p,getOr:e,getOrThunk:e,getOrDie:e,or:t,orThunk:t,map:function(e){return y(e(n))},ap:function(e){return e.fold(v,function(e){return y(e(n))})},each:function(e){e(n)},bind:r,flatten:e,exists:r,forall:r,filter:function(e){return e(n)?o:g},equals:function(e){return e.is(n)},equals_:function(e,t){return e.fold(p,function(e){return t(n,e)})},toArray:function(){return[n]},toString:function(){return"some("+n+")"}};return o},T={some:y,none:v,from:function(n){return null===n||n===undefined?g:y(n)}},w=(Array.prototype.indexOf,undefined,function(n,e){for(var t=n.length,r=new Array(t),o=0;o<t;o++){var u=n[o];r[o]=e(u,o,n)}return r}),x=function(n,e){for(var t=0,r=n.length;t<r;t++)e(n[t],t,n)},E=(Array.prototype.push,Array.prototype.slice,w),b=x,k=function(n){if(null===n||n===undefined)throw new Error("Node cannot be null or undefined");return{dom:m.constant(n)}},N={fromHtml:function(n,e){var t=(e||document).createElement("div");if(t.innerHTML=n,!t.hasChildNodes()||t.childNodes.length>1)throw console.error("HTML does not have a single root node",n),"HTML must have a single root node";return k(t.childNodes[0])},fromTag:function(n,e){var t=(e||document).createElement(n);return k(t)},fromText:function(n,e){var t=(e||document).createTextNode(n);return k(t)},fromDom:k,fromPoint:function(n,e,t){return T.from(n.dom().elementFromPoint(e,t)).map(k)}},C=8,M=9,D=3,O=function(n){return n.dom().nodeName.toLowerCase()},A=function(n){return n.dom().nodeType},S=function(n){return function(e){return A(e)===n}},B=S(1),P=S(D),V=S(M),q={name:O,type:A,value:function(n){return n.dom().nodeValue},isElement:B,isText:P,isDocument:V,isComment:function(n){return A(n)===C||"#comment"===O(n)}},H=function(n){return'<span data-mce-bogus="1" class="mce-'+s.charMap[n]+'">'+n+"</span>"},L=function(n,e){var t=[],r=n.dom(),o=E(r.childNodes,N.fromDom);return b(o,function(n){e(n)&&(t=t.concat([n])),t=t.concat(L(n,e))}),t},R={isMatch:function(n){return q.isText(n)&&q.value(n)!==undefined&&s.regExp.test(q.value(n))},filterDescendants:L,findParentElm:function(n,e){for(;n.parentNode;){if(n.parentNode===e)return n;n=n.parentNode}},replaceWithSpans:function(n){return n.replace(s.regExpGlobal,H)}},_=function(n,e){var t,r,o=R.filterDescendants(N.fromDom(e),R.isMatch);b(o,function(e){var o=R.replaceWithSpans(q.value(e));for(r=n.dom.create("div",null,o);t=r.lastChild;)n.dom.insertAfter(t,e.dom());n.dom.remove(e.dom())})},j=function(n,e){var t=n.dom.select(s.selector,e);b(t,function(e){n.dom.remove(e,1)})},z=_,G=j,W=function(n){var e=n.getBody(),t=n.selection.getBookmark(),r=R.findParentElm(n.selection.getNode(),e);r=r!==undefined?r:e,j(n,r),_(n,r),n.selection.moveToBookmark(t)},F=function(n,e){var t,r=n.getBody(),o=n.selection;e.set(!e.get()),c(n,e.get()),t=o.getBookmark(),!0===e.get()?z(n,r):G(n,r),o.moveToBookmark(t)},I=function(n,e){n.addCommand("mceVisualChars",function(){F(n,e)})},J=tinymce.util.Tools.resolve("tinymce.util.Delay"),K=function(n,e){var t=J.debounce(function(){W(n)},300);!1!==n.settings.forced_root_block&&n.on("keydown",function(r){!0===e.get()&&(13===r.keyCode?W(n):t())})},Q=function(n){return function(e){var t=e.control;n.on("VisualChars",function(n){t.active(n.state)})}};u.add("visualchars",function(n){var e,t=o(!1);return I(n,t),(e=n).addButton("visualchars",{active:!1,title:"Show invisible characters",cmd:"mceVisualChars",onPostRender:Q(e)}),e.addMenuItem("visualchars",{text:"Show invisible characters",cmd:"mceVisualChars",onPostRender:Q(e),selectable:!0,context:"view",prependToContext:!0}),K(n,t),i(t)})}();!function(){"use strict";var e=function(t){var n=t,o=function(){return n};return{get:o,set:function(e){n=e},clone:function(){return e(o())}}},t=tinymce.util.Tools.resolve("tinymce.PluginManager"),n=function(e,t){e.fire("VisualBlocks",{state:t})},o=function(e){return e.getParam("visualblocks_default_state",!1)},s=function(e){return e.settings.visualblocks_content_css},i=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),c=tinymce.util.Tools.resolve("tinymce.util.Tools"),l=i.DOM.uniqueId(),u=function(e,t){var n=c.toArray(e.getElementsByTagName("link"));if(0===c.grep(n,function(e){return e.id===l}).length){var o=i.DOM.create("link",{id:l,rel:"stylesheet",href:t});e.getElementsByTagName("head")[0].appendChild(o)}},a=function(e,t,o){var i=e.dom,c=s(e);u(e.getDoc(),c||t+"/css/visualblocks.css"),i.toggleClass(e.getBody(),"mce-visualblocks"),o.set(!o.get()),n(e,o.get())},r=function(e,t,n){e.addCommand("mceVisualBlocks",function(){a(e,t,n)})},m=function(e,t,n){e.on("PreviewFormats AfterPreviewFormats",function(t){n.get()&&e.dom.toggleClass(e.getBody(),"mce-visualblocks","afterpreviewformats"===t.type)}),e.on("init",function(){o(e)&&a(e,t,n)}),e.on("remove",function(){e.dom.removeClass(e.getBody(),"mce-visualblocks")})},f=function(e,t){return function(n){var o=n.control;o.active(t.get()),e.on("VisualBlocks",function(e){o.active(e.state)})}},d=function(e,t){e.addButton("visualblocks",{active:!1,title:"Show blocks",cmd:"mceVisualBlocks",onPostRender:f(e,t)}),e.addMenuItem("visualblocks",{text:"Show blocks",cmd:"mceVisualBlocks",onPostRender:f(e,t),selectable:!0,context:"view",prependToContext:!0})};t.add("visualblocks",function(t,n){var o=e(!1);r(t,n,o),d(t,o),m(t,n,o)})}();!function(){"use strict";var t=function(e){var n=e,r=function(){return n};return{get:r,set:function(t){n=t},clone:function(){return t(r())}}},e=tinymce.util.Tools.resolve("tinymce.PluginManager"),n=function(t){return{setPatterns:function(e){t.set(e)},getPatterns:function(){return t.get()}}},r=[{start:"*",end:"*",format:"italic"},{start:"**",end:"**",format:"bold"},{start:"***",end:"***",format:["bold","italic"]},{start:"#",format:"h1"},{start:"##",format:"h2"},{start:"###",format:"h3"},{start:"####",format:"h4"},{start:"#####",format:"h5"},{start:"######",format:"h6"},{start:"1. ",cmd:"InsertOrderedList"},{start:"* ",cmd:"InsertUnorderedList"},{start:"- ",cmd:"InsertUnorderedList"}],a=function(t){return t.textpattern_patterns!==undefined?t.textpattern_patterns:r},o=tinymce.util.Tools.resolve("tinymce.util.Delay"),i=tinymce.util.Tools.resolve("tinymce.util.VK"),s=tinymce.util.Tools.resolve("tinymce.dom.TreeWalker"),l=tinymce.util.Tools.resolve("tinymce.util.Tools"),d=function(t,e){for(var n=0;n<t.length;n++)if(0===e.indexOf(t[n].start)&&(!t[n].end||e.lastIndexOf(t[n].end)===e.length-t[n].end.length))return t[n]},f=function(t,e,n,r){var a,o,i,s,l,d,f=t.sort(function(t,e){return t.start.length>e.start.length?-1:t.start.length<e.start.length?1:0});for(o=0;o<f.length;o++)if((a=f[o]).end!==undefined&&(s=a,l=n,d=r,e.substr(l-s.end.length-d,s.end.length)===s.end)&&n-r-(i=a).end.length-i.start.length>0)return a},c=function(t,e,n){if(!1!==e.collapsed){var r=e.startContainer,a=r.data,o=!0===n?1:0;if(3===r.nodeType){var i=f(t,a,e.startOffset,o);if(i!==undefined){var s=a.lastIndexOf(i.end,e.startOffset-o),l=a.lastIndexOf(i.start,s-i.end.length);if(s=a.indexOf(i.end,l+i.start.length),-1!==l){var c=document.createRange();c.setStart(r,l),c.setEnd(r,s+i.end.length);var u=d(t,c.toString());if(!(i===undefined||u!==i||r.data.length<=i.start.length+i.end.length))return{pattern:i,startOffset:l,endOffset:s}}}}}},u=function(t,e,n){var r=t.selection.getRng(!0),a=c(e,r,n);if(a)return function(t,e,n,r){var a=l.isArray(n.pattern.format)?n.pattern.format:[n.pattern.format];if(0!==l.grep(a,function(e){var n=t.formatter.get(e);return n&&n[0].inline}).length)return t.undoManager.transact(function(){var r,o,i,s;r=e,o=n.pattern,i=n.endOffset,s=n.startOffset,(r=s>0?r.splitText(s):r).splitText(i-s+o.end.length),r.deleteData(0,o.start.length),r.deleteData(r.data.length-o.end.length,o.end.length),e=r,a.forEach(function(n){t.formatter.apply(n,{},e)})}),e}(t,r.startContainer,a)},g={patternFromRng:c,applyInlineFormatSpace:function(t,e){return u(t,e,!0)},applyInlineFormatEnter:function(t,e){return u(t,e,!1)},applyBlockFormat:function(t,e){var n,r,a,o,i,f,c,u,g,h,m;if(n=t.selection,r=t.dom,n.isCollapsed()&&(c=r.getParent(n.getStart(),"p"))){for(g=new s(c,c);i=g.next();)if(3===i.nodeType){o=i;break}if(o){if(!(u=d(e,o.data)))return;if(a=(h=n.getRng(!0)).startContainer,m=h.startOffset,o===a&&(m=Math.max(0,m-u.start.length)),l.trim(o.data).length===u.start.length)return;u.format&&(f=t.formatter.get(u.format))&&f[0].block&&(o.deleteData(0,u.start.length),t.formatter.apply(u.format,{},o),h.setStart(a,m),h.collapse(!0),n.setRng(h)),u.cmd&&t.undoManager.transact(function(){o.deleteData(0,u.start.length),t.execCommand(u.cmd)})}}}},h=function(t,e,n){for(var r=0;r<t.length;r++)if(n(t[r],e))return!0},m={handleEnter:function(t,e){var n,r;(n=g.applyInlineFormatEnter(t,e))&&((r=t.dom.createRng()).setStart(n,n.data.length),r.setEnd(n,n.data.length),t.selection.setRng(r)),g.applyBlockFormat(t,e)},handleInlineKey:function(t,e){var n,r,a,o,i;(n=g.applyInlineFormatSpace(t,e))&&(i=t.dom,r=n.data.slice(-1),/[\u00a0 ]/.test(r)&&(n.deleteData(n.data.length-1,1),a=i.doc.createTextNode(r),i.insertAfter(a,n.parentNode),(o=i.createRng()).setStart(a,1),o.setEnd(a,1),t.selection.setRng(o)))},checkCharCode:function(t,e){return h(t,e,function(t,e){return t.charCodeAt(0)===e.charCode})},checkKeyCode:function(t,e){return h(t,e,function(t,e){return t===e.keyCode&&!1===i.modifierPressed(e)})}},p=function(t,e){var n=[",",".",";",":","!","?"],r=[32];t.on("keydown",function(n){13!==n.keyCode||i.modifierPressed(n)||m.handleEnter(t,e.get())},!0),t.on("keyup",function(n){m.checkKeyCode(r,n)&&m.handleInlineKey(t,e.get())}),t.on("keypress",function(r){m.checkCharCode(n,r)&&o.setEditorTimeout(t,function(){m.handleInlineKey(t,e.get())})})};e.add("textpattern",function(e){var r=t(a(e.settings));return p(e,r),n(r)})}();!function(){"use strict";var t=tinymce.util.Tools.resolve("tinymce.PluginManager"),e=function(t,e){var o;return t.dom.getParents(t.selection.getStart(),function(t){var r;(r=t.style["forecolor"===e?"color":"background-color"])&&(o=r)}),o},o=function(t){var e,o=[];for(e=0;e<t.length;e+=2)o.push({text:t[e+1],color:"#"+t[e]});return o},r=function(t,e,o){t.undoManager.transact(function(){t.focus(),t.formatter.apply(e,{value:o}),t.nodeChanged()})},n=function(t,e){t.undoManager.transact(function(){t.focus(),t.formatter.remove(e,{value:null},null,!0),t.nodeChanged()})},a=function(t){t.addCommand("mceApplyTextcolor",function(e,o){r(t,e,o)}),t.addCommand("mceRemoveTextcolor",function(e){n(t,e)})},l=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),c=tinymce.util.Tools.resolve("tinymce.util.Tools"),i=["000000","Black","993300","Burnt orange","333300","Dark olive","003300","Dark green","003366","Dark azure","000080","Navy Blue","333399","Indigo","333333","Very dark gray","800000","Maroon","FF6600","Orange","808000","Olive","008000","Green","008080","Teal","0000FF","Blue","666699","Grayish blue","808080","Gray","FF0000","Red","FF9900","Amber","99CC00","Yellow green","339966","Sea green","33CCCC","Turquoise","3366FF","Royal blue","800080","Purple","999999","Medium gray","FF00FF","Magenta","FFCC00","Gold","FFFF00","Yellow","00FF00","Lime","00FFFF","Aqua","00CCFF","Sky blue","993366","Red violet","FFFFFF","White","FF99CC","Pink","FFCC99","Peach","FFFF99","Light yellow","CCFFCC","Pale green","CCFFFF","Pale cyan","99CCFF","Light sky blue","CC99FF","Plum"],u=function(t){return t.getParam("textcolor_map",i)},m=function(t){return t.getParam("textcolor_rows",5)},s=function(t){return t.getParam("textcolor_cols",8)},d=function(t){return t.getParam("color_picker_callback",null)},f=function(t){return t.getParam("forecolor_map",u(t))},g=function(t){return t.getParam("backcolor_map",u(t))},F=function(t){return t.getParam("forecolor_rows",m(t))},b=function(t){return t.getParam("backcolor_rows",m(t))},p=function(t){return t.getParam("forecolor_cols",s(t))},C=function(t){return t.getParam("backcolor_cols",s(t))},y=d,v=function(t){return"function"==typeof d(t)},h=tinymce.util.Tools.resolve("tinymce.util.I18n"),P=function(t,e,r,n){var a,c,i,u,m,s,d,f=0,g=l.DOM.uniqueId("mcearia"),F=function(t,e){var o="transparent"===t;return'<td class="mce-grid-cell'+(o?" mce-colorbtn-trans":"")+'"><div id="'+g+"-"+f+++'" data-mce-color="'+(t||"")+'" role="option" tabIndex="-1" style="'+(t?"background-color: "+t:"")+'" title="'+h.translate(e)+'">'+(o?"×":"")+"</div></td>"};for((a=o(r)).push({text:h.translate("No color"),color:"transparent"}),i='<table class="mce-grid mce-grid-border mce-colorbutton-grid" role="list" cellspacing="0"><tbody>',u=a.length-1,s=0;s<e;s++){for(i+="<tr>",m=0;m<t;m++)i+=(d=s*t+m)>u?"<td></td>":F((c=a[d]).color,c.text);i+="</tr>"}if(n){for(i+='<tr><td colspan="'+t+'" class="mce-custom-color-btn"><div id="'+g+'-c" class="mce-widget mce-btn mce-btn-small mce-btn-flat" role="button" tabindex="-1" aria-labelledby="'+g+'-c" style="width: 100%"><button type="button" role="presentation" tabindex="-1">'+h.translate("Custom...")+"</button></div></td></tr>",i+="<tr>",m=0;m<t;m++)i+=F("","Custom color");i+="</tr>"}return i+="</tbody></table>"},k=function(t,e){t.style.background=e,t.setAttribute("data-mce-color",e)},x=function(t){return function(e){var o=e.control;o._color?t.execCommand("mceApplyTextcolor",o.settings.format,o._color):t.execCommand("mceRemoveTextcolor",o.settings.format)}},T=function(t,o){return function(r){var n,a=this.parent(),i=e(t,a.settings.format),u=function(e){a.hidePanel(),a.color(e),t.execCommand("mceApplyTextcolor",a.settings.format,e)};l.DOM.getParent(r.target,".mce-custom-color-btn")&&(a.hidePanel(),y(t).call(t,function(t){var e,r,n,l=a.panel.getEl().getElementsByTagName("table")[0];for(e=c.map(l.rows[l.rows.length-1].childNodes,function(t){return t.firstChild}),n=0;n<e.length&&(r=e[n]).getAttribute("data-mce-color");n++);if(n===o)for(n=0;n<o-1;n++)k(e[n],e[n+1].getAttribute("data-mce-color"));k(r,t),u(t)},i)),(n=r.target.getAttribute("data-mce-color"))?(this.lastId&&l.DOM.get(this.lastId).setAttribute("aria-selected",!1),r.target.setAttribute("aria-selected",!0),this.lastId=r.target.id,"transparent"===n?(a.hidePanel(),a.resetColor(),t.execCommand("mceRemoveTextcolor",a.settings.format)):u(n)):null!==n&&a.hidePanel()}},_=function(t,e){return function(){var o=e?p(t):C(t),r=e?F(t):b(t),n=e?f(t):g(t),a=v(t);return P(o,r,n,a)}},A=function(t){t.addButton("forecolor",{type:"colorbutton",tooltip:"Text color",format:"forecolor",panel:{role:"application",ariaRemember:!0,html:_(t,!0),onclick:T(t,p(t))},onclick:x(t)}),t.addButton("backcolor",{type:"colorbutton",tooltip:"Background color",format:"hilitecolor",panel:{role:"application",ariaRemember:!0,html:_(t,!1),onclick:T(t,C(t))},onclick:x(t)})};t.add("textcolor",function(t){a(t),A(t)})}();!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),t=function(e){return function(){return e}},n=function(e){for(var t=new Array(arguments.length-1),n=1;n<arguments.length;n++)t[n-1]=arguments[n];return function(){for(var n=new Array(arguments.length),a=0;a<n.length;a++)n[a]=arguments[a];var r=t.concat(n);return e.apply(null,r)}},a=(t(!1),t(!0),tinymce.util.Tools.resolve("tinymce.util.Tools")),r=tinymce.util.Tools.resolve("tinymce.util.XHR"),l=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),c=function(e){return e.getParam("template_cdate_classes","cdate")},o=function(e){return e.getParam("template_mdate_classes","mdate")},i=function(e){return e.getParam("template_selected_content_classes","selcontent")},s=function(e){return e.getParam("template_preview_replace_values")},u=function(e){return e.getParam("template_replace_values")},p=function(e){return e.templates},m=function(e){return e.getParam("template_cdate_format",e.getLang("template.cdate_format"))},d=function(e){return e.getParam("template_mdate_format",e.getLang("template.mdate_format"))},f=function(e){return e.getParam("template_popup_width",600)},g=function(e){return Math.min(l.DOM.getViewPort().h,e.getParam("template_popup_height",500))},h=function(e,t){if((e=""+e).length<t)for(var n=0;n<t-e.length;n++)e="0"+e;return e},y=function(e,t,n){var a="Sun Mon Tue Wed Thu Fri Sat Sun".split(" "),r="Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sunday".split(" "),l="Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),c="January February March April May June July August September October November December".split(" ");return n=n||new Date,t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=t.replace("%D","%m/%d/%Y")).replace("%r","%I:%M:%S %p")).replace("%Y",""+n.getFullYear())).replace("%y",""+n.getYear())).replace("%m",h(n.getMonth()+1,2))).replace("%d",h(n.getDate(),2))).replace("%H",""+h(n.getHours(),2))).replace("%M",""+h(n.getMinutes(),2))).replace("%S",""+h(n.getSeconds(),2))).replace("%I",""+((n.getHours()+11)%12+1))).replace("%p",n.getHours()<12?"AM":"PM")).replace("%B",""+e.translate(c[n.getMonth()]))).replace("%b",""+e.translate(l[n.getMonth()]))).replace("%A",""+e.translate(r[n.getDay()]))).replace("%a",""+e.translate(a[n.getDay()]))).replace("%%","%")},v=function(e,t,n){return a.each(n,function(e,n){"function"==typeof e&&(e=e(n)),t=t.replace(new RegExp("\\{\\$"+n+"\\}","g"),e)}),t},M=function(e,t){var n=e.dom,r=u(e);a.each(n.select("*",t),function(e){a.each(r,function(t,a){n.hasClass(e,a)&&"function"==typeof r[a]&&r[a](e)})})},_=function(e,t){return new RegExp("\\b"+t+"\\b","g").test(e.className)},b=function(e,t){return function(){var n=p(e);"function"!=typeof n?"string"==typeof n?r.send({url:n,success:function(e){t(JSON.parse(e))}}):t(n):n(t)}},T=v,x=M,P=function(e,t,n){var r,l,s=e.dom,p=e.selection.getContent();n=v(0,n,u(e)),r=s.create("div",null,n),(l=s.select(".mceTmpl",r))&&l.length>0&&(r=s.create("div",null)).appendChild(l[0].cloneNode(!0)),a.each(s.select("*",r),function(t){_(t,c(e).replace(/\s+/g,"|"))&&(t.innerHTML=y(e,m(e))),_(t,o(e).replace(/\s+/g,"|"))&&(t.innerHTML=y(e,d(e))),_(t,i(e).replace(/\s+/g,"|"))&&(t.innerHTML=p)}),M(e,r),e.execCommand("mceInsertContent",!1,r.innerHTML),e.addVisual()},S=function(e){e.addCommand("mceInsertTemplate",n(P,e))},w=function(e){e.on("PreProcess",function(t){var n=e.dom,r=d(e);a.each(n.select("div",t.node),function(t){n.hasClass(t,"mceTmpl")&&(a.each(n.select("*",t),function(t){n.hasClass(t,e.getParam("template_mdate_classes","mdate").replace(/\s+/g,"|"))&&(t.innerHTML=y(e,r))}),x(e,t))})})},D=function(e,t,n){if(-1===n.indexOf("<html>")){var r="";a.each(e.contentCSS,function(t){r+='<link type="text/css" rel="stylesheet" href="'+e.documentBaseURI.toAbsolute(t)+'">'});var l=e.settings.body_class||"";-1!==l.indexOf("=")&&(l=(l=e.getParam("body_class","","hash"))[e.id]||""),n="<!DOCTYPE html><html><head>"+r+'</head><body class="'+l+'">'+n+"</body></html>"}n=T(e,n,s(e));var c=t.find("iframe")[0].getEl().contentWindow.document;c.open(),c.write(n),c.close()},H=function(e,t){var n,l,c=[];if(t&&0!==t.length)a.each(t,function(e){c.push({selected:!c.length,text:e.title,value:{url:e.url,content:e.content,description:e.description}})}),(n=e.windowManager.open({title:"Insert template",layout:"flex",direction:"column",align:"stretch",padding:15,spacing:10,items:[{type:"form",flex:0,padding:0,items:[{type:"container",label:"Templates",items:{type:"listbox",label:"Templates",name:"template",values:c,onselect:function(t){var a=t.control.value();a.url?r.send({url:a.url,success:function(t){D(e,n,l=t)}}):(l=a.content,D(e,n,l)),n.find("#description")[0].text(t.control.value().description)}}}]},{type:"label",name:"description",label:"Description",text:"\xa0"},{type:"iframe",flex:1,border:1}],onsubmit:function(){P(e,!1,l)},minWidth:f(e),minHeight:g(e)})).find("listbox")[0].fire("select");else{var o=e.translate("No templates defined.");e.notificationManager.open({text:o,type:"info"})}},C=function(e){return function(t){H(e,t)}},A=function(e){e.addButton("template",{title:"Insert template",onclick:b(e.settings,C(e))}),e.addMenuItem("template",{text:"Template",onclick:b(e.settings,C(e)),icon:"template",context:"insert"})};e.add("template",function(e){A(e),S(e),w(e)})}();!function(){"use strict";var n,t,e,r,o,i,u,a,c,l,s,f=tinymce.util.Tools.resolve("tinymce.PluginManager"),d=function(n){return function(){return n}},m={noop:function(){},noarg:function(n){return function(){return n()}},compose:function(n,t){return function(){return n(t.apply(null,arguments))}},constant:d,identity:function(n){return n},tripleEquals:function(n,t){return n===t},curry:function(n){for(var t=new Array(arguments.length-1),e=1;e<arguments.length;e++)t[e-1]=arguments[e];return function(){for(var e=new Array(arguments.length),r=0;r<e.length;r++)e[r]=arguments[r];var o=t.concat(e);return n.apply(null,o)}},not:function(n){return function(){return!n.apply(null,arguments)}},die:function(n){return function(){throw new Error(n)}},apply:function(n){return n()},call:function(n){n()},never:d(!1),always:d(!0)},g=m.never,p=m.always,h=function(){return v},v=(r={fold:function(n,t){return n()},is:g,isSome:g,isNone:p,getOr:e=function(n){return n},getOrThunk:t=function(n){return n()},getOrDie:function(n){throw new Error(n||"error: getOrDie called on none.")},or:e,orThunk:t,map:h,ap:h,each:function(){},bind:h,flatten:h,exists:g,forall:p,filter:h,equals:n=function(n){return n.isNone()},equals_:n,toArray:function(){return[]},toString:m.constant("none()")},Object.freeze&&Object.freeze(r),r),b=function(n){var t=function(){return n},e=function(){return o},r=function(t){return t(n)},o={fold:function(t,e){return e(n)},is:function(t){return n===t},isSome:p,isNone:g,getOr:t,getOrThunk:t,getOrDie:t,or:e,orThunk:e,map:function(t){return b(t(n))},ap:function(t){return t.fold(h,function(t){return b(t(n))})},each:function(t){t(n)},bind:r,flatten:t,exists:r,forall:r,filter:function(t){return t(n)?o:v},equals:function(t){return t.is(n)},equals_:function(t,e){return t.fold(g,function(t){return e(n,t)})},toArray:function(){return[n]},toString:function(){return"some("+n+")"}};return o},w={some:b,none:h,from:function(n){return null===n||n===undefined?v:b(n)}},y=(o=Array.prototype.indexOf)===undefined?function(n,t){return A(n,t)}:function(n,t){return o.call(n,t)},x=function(n,t){return y(n,t)>-1},C=function(n,t){for(var e=n.length,r=new Array(e),o=0;o<e;o++){var i=n[o];r[o]=t(i,o,n)}return r},S=function(n,t){for(var e=0,r=n.length;e<r;e++)t(n[e],e,n)},R=function(n,t){for(var e=n.length-1;e>=0;e--)t(n[e],e,n)},T=function(n,t){for(var e=[],r=0,o=n.length;r<o;r++){var i=n[r];t(i,r,n)&&e.push(i)}return e},D=function(n,t){for(var e=0,r=n.length;e<r;e++)if(t(n[e],e,n))return w.some(e);return w.none()},A=function(n,t){for(var e=0,r=n.length;e<r;++e)if(n[e]===t)return e;return-1},k=Array.prototype.push,N=function(n){for(var t=[],e=0,r=n.length;e<r;++e){if(!Array.prototype.isPrototypeOf(n[e]))throw new Error("Arr.flatten item "+e+" was not an array, input: "+n);k.apply(t,n[e])}return t},O=function(n,t){for(var e=0,r=n.length;e<r;++e)if(!0!==t(n[e],e,n))return!1;return!0},E=Array.prototype.slice,B={map:C,each:S,eachr:R,partition:function(n,t){for(var e=[],r=[],o=0,i=n.length;o<i;o++){var u=n[o];(t(u,o,n)?e:r).push(u)}return{pass:e,fail:r}},filter:T,groupBy:function(n,t){if(0===n.length)return[];for(var e=t(n[0]),r=[],o=[],i=0,u=n.length;i<u;i++){var a=n[i],c=t(a);c!==e&&(r.push(o),o=[]),e=c,o.push(a)}return 0!==o.length&&r.push(o),r},indexOf:function(n,t){var e=y(n,t);return-1===e?w.none():w.some(e)},foldr:function(n,t,e){return R(n,function(n){e=t(e,n)}),e},foldl:function(n,t,e){return S(n,function(n){e=t(e,n)}),e},find:function(n,t){for(var e=0,r=n.length;e<r;e++){var o=n[e];if(t(o,e,n))return w.some(o)}return w.none()},findIndex:D,flatten:N,bind:function(n,t){var e=C(n,t);return N(e)},forall:O,exists:function(n,t){return D(n,t).isSome()},contains:x,equal:function(n,t){return n.length===t.length&&O(n,function(n,e){return n===t[e]})},reverse:function(n){var t=E.call(n,0);return t.reverse(),t},chunk:function(n,t){for(var e=[],r=0;r<n.length;r+=t){var o=n.slice(r,r+t);e.push(o)}return e},difference:function(n,t){return T(n,function(n){return!x(t,n)})},mapToObject:function(n,t){for(var e={},r=0,o=n.length;r<o;r++){var i=n[r];e[String(i)]=t(i,r)}return e},pure:function(n){return[n]},sort:function(n,t){var e=E.call(n,0);return e.sort(t),e},range:function(n,t){for(var e=[],r=0;r<n;r++)e.push(t(r));return e},head:function(n){return 0===n.length?w.none():w.some(n[0])},last:function(n){return 0===n.length?w.none():w.some(n[n.length-1])}},I=(i=Object.keys)===undefined?function(n){var t=[];for(var e in n)n.hasOwnProperty(e)&&t.push(e);return t}:i,P=function(n,t){for(var e=I(n),r=0,o=e.length;r<o;r++){var i=e[r];t(n[i],i,n)}},W=function(n,t){var e={};return P(n,function(r,o){var i=t(r,o,n);e[i.k]=i.v}),e},_=function(n,t){var e=[];return P(n,function(n,r){e.push(t(n,r))}),e},M=function(n){return _(n,function(n){return n})},L={bifilter:function(n,t){var e={},r={};return P(n,function(n,o){(t(n,o)?e:r)[o]=n}),{t:e,f:r}},each:P,map:function(n,t){return W(n,function(n,e,r){return{k:e,v:t(n,e,r)}})},mapToArray:_,tupleMap:W,find:function(n,t){for(var e=I(n),r=0,o=e.length;r<o;r++){var i=e[r],u=n[i];if(t(u,i,n))return w.some(u)}return w.none()},keys:I,values:M,size:function(n){return M(n).length}},q=function(n){return function(t){return function(n){if(null===n)return"null";var t=typeof n;return"object"===t&&Array.prototype.isPrototypeOf(n)?"array":"object"===t&&String.prototype.isPrototypeOf(n)?"string":t}(t)===n}},z={isString:q("string"),isObject:q("object"),isArray:q("array"),isNull:q("null"),isBoolean:q("boolean"),isUndefined:q("undefined"),isFunction:q("function"),isNumber:q("number")},F=function(n){return n.slice(0).sort()},j=function(n,t){throw new Error("All required keys ("+F(n).join(", ")+") were not specified. Specified keys were: "+F(t).join(", ")+".")},H=function(n){throw new Error("Unsupported keys for object: "+F(n).join(", "))},V=function(n,t){if(!z.isArray(t))throw new Error("The "+n+" fields must be an array. Was: "+t+".");B.each(t,function(t){if(!z.isString(t))throw new Error("The value "+t+" in the "+n+" fields was not a string.")})},U=function(n,t){throw new Error("All values need to be of type: "+t+". Keys ("+F(n).join(", ")+") were not.")},G=function(n){var t=F(n);B.find(t,function(n,e){return e<t.length-1&&n===t[e+1]}).each(function(n){throw new Error("The field: "+n+" occurs more than once in the combined fields: ["+t.join(", ")+"].")})},X={immutable:function(){var n=arguments;return function(){for(var t=new Array(arguments.length),e=0;e<t.length;e++)t[e]=arguments[e];if(n.length!==t.length)throw new Error('Wrong number of arguments to struct. Expected "['+n.length+']", got '+t.length+" arguments");var r={};return B.each(n,function(n,e){r[n]=m.constant(t[e])}),r}},immutableBag:function(n,t){var e=n.concat(t);if(0===e.length)throw new Error("You must specify at least one required or optional field.");return V("required",n),V("optional",t),G(e),function(r){var o=L.keys(r);B.forall(n,function(n){return B.contains(o,n)})||j(n,o);var i=B.filter(o,function(n){return!B.contains(e,n)});i.length>0&&H(i);var u={};return B.each(n,function(n){u[n]=m.constant(r[n])}),B.each(t,function(n){u[n]=m.constant(Object.prototype.hasOwnProperty.call(r,n)?w.some(r[n]):w.none())}),u}}},Y=X.immutable("width","height"),$=X.immutable("rows","columns"),K=X.immutable("row","column"),J=X.immutable("x","y"),Q=X.immutable("element","rowspan","colspan"),Z=X.immutable("element","rowspan","colspan","isNew"),nn={dimensions:Y,grid:$,address:K,coords:J,extended:X.immutable("element","rowspan","colspan","row","column"),detail:Q,detailnew:Z,rowdata:X.immutable("element","cells","section"),elementnew:X.immutable("element","isNew"),rowdatanew:X.immutable("element","cells","section","isNew"),rowcells:X.immutable("cells","section"),rowdetails:X.immutable("details","section"),bounds:X.immutable("startRow","startCol","finishRow","finishCol")},tn=function(n){if(null===n||n===undefined)throw new Error("Node cannot be null or undefined");return{dom:m.constant(n)}},en={fromHtml:function(n,t){var e=(t||document).createElement("div");if(e.innerHTML=n,!e.hasChildNodes()||e.childNodes.length>1)throw console.error("HTML does not have a single root node",n),"HTML must have a single root node";return tn(e.childNodes[0])},fromTag:function(n,t){var e=(t||document).createElement(n);return tn(e)},fromText:function(n,t){var e=(t||document).createTextNode(n);return tn(e)},fromDom:tn,fromPoint:function(n,t,e){return w.from(n.dom().elementFromPoint(t,e)).map(tn)}},rn=8,on=9,un=1,an=3,cn=un,ln=on,sn=function(n){return n.nodeType!==cn&&n.nodeType!==ln||0===n.childElementCount},fn={all:function(n,t){var e=t===undefined?document:t.dom();return sn(e)?[]:B.map(e.querySelectorAll(n),en.fromDom)},is:function(n,t){var e=n.dom();if(e.nodeType!==cn)return!1;if(e.matches!==undefined)return e.matches(t);if(e.msMatchesSelector!==undefined)return e.msMatchesSelector(t);if(e.webkitMatchesSelector!==undefined)return e.webkitMatchesSelector(t);if(e.mozMatchesSelector!==undefined)return e.mozMatchesSelector(t);throw new Error("Browser lacks native selectors")},one:function(n,t){var e=t===undefined?document:t.dom();return sn(e)?w.none():w.from(e.querySelector(n)).map(en.fromDom)}},dn=function(n,t){var e=[],r=function(n){return e.push(n),t(n)},o=t(n);do{o=o.bind(r)}while(o.isSome());return e},mn="undefined"!=typeof window?window:Function("return this;")(),gn=function(n,t){for(var e=t!==undefined&&null!==t?t:mn,r=0;r<n.length&&e!==undefined&&null!==e;++r)e=e[n[r]];return e},pn=function(n,t){var e=n.split(".");return gn(e,t)},hn=function(n,t){var e=pn(n,t);if(e===undefined||null===e)throw n+" not available on this browser";return e},vn=function(){return hn("Node")},bn=function(n,t,e){return 0!=(n.compareDocumentPosition(t)&e)},wn=function(n,t){return bn(n,t,vn().DOCUMENT_POSITION_CONTAINED_BY)},yn=function(n){var t,e=!1;return function(){return e||(e=!0,t=n.apply(null,arguments)),t}},xn=function(n,t){var e=function(n,t){for(var e=0;e<n.length;e++){var r=n[e];if(r.test(t))return r}return undefined}(n,t);if(!e)return{major:0,minor:0};var r=function(n){return Number(t.replace(e,"$"+n))};return Sn(r(1),r(2))},Cn=function(){return Sn(0,0)},Sn=function(n,t){return{major:n,minor:t}},Rn={nu:Sn,detect:function(n,t){var e=String(t).toLowerCase();return 0===n.length?Cn():xn(n,e)},unknown:Cn},Tn="Firefox",Dn=function(n,t){return function(){return t===n}},An=function(n){var t=n.current;return{current:t,version:n.version,isEdge:Dn("Edge",t),isChrome:Dn("Chrome",t),isIE:Dn("IE",t),isOpera:Dn("Opera",t),isFirefox:Dn(Tn,t),isSafari:Dn("Safari",t)}},kn={unknown:function(){return An({current:undefined,version:Rn.unknown()})},nu:An,edge:m.constant("Edge"),chrome:m.constant("Chrome"),ie:m.constant("IE"),opera:m.constant("Opera"),firefox:m.constant(Tn),safari:m.constant("Safari")},Nn="Windows",On="Android",En="Solaris",Bn="FreeBSD",In=function(n,t){return function(){return t===n}},Pn=function(n){var t=n.current;return{current:t,version:n.version,isWindows:In(Nn,t),isiOS:In("iOS",t),isAndroid:In(On,t),isOSX:In("OSX",t),isLinux:In("Linux",t),isSolaris:In(En,t),isFreeBSD:In(Bn,t)}},Wn={unknown:function(){return Pn({current:undefined,version:Rn.unknown()})},nu:Pn,windows:m.constant(Nn),ios:m.constant("iOS"),android:m.constant(On),linux:m.constant("Linux"),osx:m.constant("OSX"),solaris:m.constant(En),freebsd:m.constant(Bn)},_n=function(n,t){var e=String(t).toLowerCase();return B.find(n,function(n){return n.search(e)})},Mn=function(n,t){return _n(n,t).map(function(n){var e=Rn.detect(n.versionRegexes,t);return{current:n.name,version:e}})},Ln=function(n,t){return _n(n,t).map(function(n){var e=Rn.detect(n.versionRegexes,t);return{current:n.name,version:e}})},qn=function(n,t){return t+n},zn=function(n,t){return n+t},Fn=function(n,t){return n.substring(t)},jn=function(n,t){return n.substring(0,n.length-t)},Hn=function(n){return""===n?w.none():w.some(n.substr(0,1))},Vn=function(n){return""===n?w.none():w.some(n.substring(1))},Un=function(n,t,e){return""===t||!(n.length<t.length)&&n.substr(e,e+t.length)===t},Gn=function(n,t){return Un(n,t,0)},Xn=function(n,t){return Un(n,t,n.length-t.length)},Yn={supplant:function(n,t){return n.replace(/\${([^{}]*)}/g,function(n,e){var r,o=t[e];return"string"==(r=typeof o)||"number"===r?o:n})},startsWith:Gn,removeLeading:function(n,t){return Gn(n,t)?Fn(n,t.length):n},removeTrailing:function(n,t){return Xn(n,t)?jn(n,t.length):n},ensureLeading:function(n,t){return Gn(n,t)?n:qn(n,t)},ensureTrailing:function(n,t){return Xn(n,t)?n:zn(n,t)},endsWith:Xn,contains:function(n,t){return-1!==n.indexOf(t)},trim:function(n){return n.replace(/^\s+|\s+$/g,"")},lTrim:function(n){return n.replace(/^\s+/g,"")},rTrim:function(n){return n.replace(/\s+$/g,"")},capitalize:function(n){return Hn(n).bind(function(t){return Vn(n).map(function(n){return t.toUpperCase()+n})}).getOr(n)}},$n=/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,Kn=function(n){return function(t){return Yn.contains(t,n)}},Jn=[{name:"Edge",versionRegexes:[/.*?edge\/ ?([0-9]+)\.([0-9]+)$/],search:function(n){return Yn.contains(n,"edge/")&&Yn.contains(n,"chrome")&&Yn.contains(n,"safari")&&Yn.contains(n,"applewebkit")}},{name:"Chrome",versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/,$n],search:function(n){return Yn.contains(n,"chrome")&&!Yn.contains(n,"chromeframe")}},{name:"IE",versionRegexes:[/.*?msie\ ?([0-9]+)\.([0-9]+).*/,/.*?rv:([0-9]+)\.([0-9]+).*/],search:function(n){return Yn.contains(n,"msie")||Yn.contains(n,"trident")}},{name:"Opera",versionRegexes:[$n,/.*?opera\/([0-9]+)\.([0-9]+).*/],search:Kn("opera")},{name:"Firefox",versionRegexes:[/.*?firefox\/\ ?([0-9]+)\.([0-9]+).*/],search:Kn("firefox")},{name:"Safari",versionRegexes:[$n,/.*?cpu os ([0-9]+)_([0-9]+).*/],search:function(n){return(Yn.contains(n,"safari")||Yn.contains(n,"mobile/"))&&Yn.contains(n,"applewebkit")}}],Qn=[{name:"Windows",search:Kn("win"),versionRegexes:[/.*?windows\ nt\ ?([0-9]+)\.([0-9]+).*/]},{name:"iOS",search:function(n){return Yn.contains(n,"iphone")||Yn.contains(n,"ipad")},versionRegexes:[/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,/.*cpu os ([0-9]+)_([0-9]+).*/,/.*cpu iphone os ([0-9]+)_([0-9]+).*/]},{name:"Android",search:Kn("android"),versionRegexes:[/.*?android\ ?([0-9]+)\.([0-9]+).*/]},{name:"OSX",search:Kn("os x"),versionRegexes:[/.*?os\ x\ ?([0-9]+)_([0-9]+).*/]},{name:"Linux",search:Kn("linux"),versionRegexes:[]},{name:"Solaris",search:Kn("sunos"),versionRegexes:[]},{name:"FreeBSD",search:Kn("freebsd"),versionRegexes:[]}],Zn={browsers:m.constant(Jn),oses:m.constant(Qn)},nt=function(n){var t,e,r,o,i,u,a,c,l,s,f,d=Zn.browsers(),g=Zn.oses(),p=Mn(d,n).fold(kn.unknown,kn.nu),h=Ln(g,n).fold(Wn.unknown,Wn.nu);return{browser:p,os:h,deviceType:(e=p,r=n,o=(t=h).isiOS()&&!0===/ipad/i.test(r),i=t.isiOS()&&!o,u=t.isAndroid()&&3===t.version.major,a=t.isAndroid()&&4===t.version.major,c=o||u||a&&!0===/mobile/i.test(r),l=t.isiOS()||t.isAndroid(),s=l&&!c,f=e.isSafari()&&t.isiOS()&&!1===/safari/i.test(r),{isiPad:m.constant(o),isiPhone:m.constant(i),isTablet:m.constant(c),isPhone:m.constant(s),isTouch:m.constant(l),isAndroid:t.isAndroid,isiOS:t.isiOS,isWebView:m.constant(f)})}},tt={detect:yn(function(){var n=navigator.userAgent;return nt(n)})},et=function(n,t){return n.dom()===t.dom()},rt=tt.detect().browser.isIE()?function(n,t){return wn(n.dom(),t.dom())}:function(n,t){var e=n.dom(),r=t.dom();return e!==r&&e.contains(r)},ot={eq:et,isEqualNode:function(n,t){return n.dom().isEqualNode(t.dom())},member:function(n,t){return B.exists(t,m.curry(et,n))},contains:rt,is:fn.is},it=function(n){return en.fromDom(n.dom().ownerDocument)},ut=function(n){var t=n.dom();return w.from(t.parentNode).map(en.fromDom)},at=function(n){var t=n.dom();return w.from(t.previousSibling).map(en.fromDom)},ct=function(n){var t=n.dom();return w.from(t.nextSibling).map(en.fromDom)},lt=function(n){var t=n.dom();return B.map(t.childNodes,en.fromDom)},st=function(n,t){var e=n.dom().childNodes;return w.from(e[t]).map(en.fromDom)},ft=X.immutable("element","offset"),dt={owner:it,defaultView:function(n){var t=n.dom().ownerDocument.defaultView;return en.fromDom(t)},documentElement:function(n){var t=it(n);return en.fromDom(t.dom().documentElement)},parent:ut,findIndex:function(n){return ut(n).bind(function(t){var e=lt(t);return B.findIndex(e,function(t){return ot.eq(n,t)})})},parents:function(n,t){for(var e=z.isFunction(t)?t:m.constant(!1),r=n.dom(),o=[];null!==r.parentNode&&r.parentNode!==undefined;){var i=r.parentNode,u=en.fromDom(i);if(o.push(u),!0===e(u))break;r=i}return o},siblings:function(n){return ut(n).map(lt).map(function(t){return B.filter(t,function(t){return!ot.eq(n,t)})}).getOr([])},prevSibling:at,offsetParent:function(n){var t=n.dom();return w.from(t.offsetParent).map(en.fromDom)},prevSiblings:function(n){return B.reverse(dn(n,at))},nextSibling:ct,nextSiblings:function(n){return dn(n,ct)},children:lt,child:st,firstChild:function(n){return st(n,0)},lastChild:function(n){return st(n,n.dom().childNodes.length-1)},childNodesCount:function(n){return n.dom().childNodes.length},hasChildNodes:function(n){return n.dom().hasChildNodes()},leaf:function(n,t){var e=lt(n);return e.length>0&&t<e.length?ft(e[t],0):ft(n,t)}},mt=function(n,t,e){return B.bind(dt.children(n),function(n){return fn.is(n,t)?e(n)?[n]:[]:mt(n,t,e)})},gt={firstLayer:function(n,t){return mt(n,t,m.constant(!0))},filterFirstLayer:mt},pt=function(n){return n.dom().nodeName.toLowerCase()},ht=function(n){return n.dom().nodeType},vt=function(n){return function(t){return ht(t)===n}},bt=vt(un),wt=vt(an),yt=vt(on),xt={name:pt,type:ht,value:function(n){return n.dom().nodeValue},isElement:bt,isText:wt,isDocument:yt,isComment:function(n){return ht(n)===rn||"#comment"===pt(n)}},Ct=function(n,t,e){if(!(z.isString(e)||z.isBoolean(e)||z.isNumber(e)))throw console.error("Invalid call to Attr.set. Key ",t,":: Value ",e,":: Element ",n),new Error("Attribute value was not simple");n.setAttribute(t,e+"")},St=function(n,t,e){Ct(n.dom(),t,e)},Rt=function(n,t){var e=n.dom().getAttribute(t);return null===e?undefined:e},Tt=function(n,t){var e=n.dom();return!(!e||!e.hasAttribute)&&e.hasAttribute(t)},Dt={clone:function(n){return B.foldl(n.dom().attributes,function(n,t){return n[t.name]=t.value,n},{})},set:St,setAll:function(n,t){var e=n.dom();L.each(t,function(n,t){Ct(e,t,n)})},get:Rt,has:Tt,remove:function(n,t){n.dom().removeAttribute(t)},hasNone:function(n){var t=n.dom().attributes;return t===undefined||null===t||0===t.length},transfer:function(n,t,e){xt.isElement(n)&&xt.isElement(t)&&B.each(e,function(e){var r,o,i;o=t,Tt(r=n,i=e)&&!Tt(o,i)&&St(o,i,Rt(r,i))})}},At=yn(function(){return kt(en.fromDom(document))}),kt=function(n){var t=n.dom().body;if(null===t||t===undefined)throw"Body is not available yet";return en.fromDom(t)},Nt={body:At,getBody:kt,inBody:function(n){var t=xt.isText(n)?n.dom().parentNode:n.dom();return t!==undefined&&null!==t&&t.ownerDocument.body.contains(t)}},Ot=function(n,t){var e=[];return B.each(dt.children(n),function(n){t(n)&&(e=e.concat([n])),e=e.concat(Ot(n,t))}),e},Et={all:function(n){return Ot(Nt.body(),n)},ancestors:function(n,t,e){return B.filter(dt.parents(n,e),t)},siblings:function(n,t){return B.filter(dt.siblings(n),t)},children:function(n,t){return B.filter(dt.children(n),t)},descendants:Ot},Bt={all:function(n){return fn.all(n)},ancestors:function(n,t,e){return Et.ancestors(n,function(n){return fn.is(n,t)},e)},siblings:function(n,t){return Et.siblings(n,function(n){return fn.is(n,t)})},children:function(n,t){return Et.children(n,function(n){return fn.is(n,t)})},descendants:function(n,t){return fn.all(t,n)}},It=function(n,t,e,r,o){return n(e,r)?w.some(e):z.isFunction(o)&&o(e)?w.none():t(e,r,o)},Pt=function(n,t,e){for(var r=n.dom(),o=z.isFunction(e)?e:m.constant(!1);r.parentNode;){r=r.parentNode;var i=en.fromDom(r);if(t(i))return w.some(i);if(o(i))break}return w.none()},Wt=function(n,t){return B.find(n.dom().childNodes,m.compose(t,en.fromDom)).map(en.fromDom)},_t=function(n,t){var e=function(n){for(var r=0;r<n.childNodes.length;r++){if(t(en.fromDom(n.childNodes[r])))return w.some(en.fromDom(n.childNodes[r]));var o=e(n.childNodes[r]);if(o.isSome())return o}return w.none()};return e(n.dom())},Mt={first:function(n){return _t(Nt.body(),n)},ancestor:Pt,closest:function(n,t,e){return It(function(n){return t(n)},Pt,n,t,e)},sibling:function(n,t){var e=n.dom();return e.parentNode?Wt(en.fromDom(e.parentNode),function(e){return!ot.eq(n,e)&&t(e)}):w.none()},child:Wt,descendant:_t},Lt=function(n,t,e){return Mt.ancestor(n,function(n){return fn.is(n,t)},e)},qt={first:function(n){return fn.one(n)},ancestor:Lt,sibling:function(n,t){return Mt.sibling(n,function(n){return fn.is(n,t)})},child:function(n,t){return Mt.child(n,function(n){return fn.is(n,t)})},descendant:function(n,t){return fn.one(t,n)},closest:function(n,t,e){return It(fn.is,Lt,n,t,e)}},zt=function(n,t,e){var r=e!==undefined?e:m.constant(!1);return r(t)?w.none():B.contains(n,xt.name(t))?w.some(t):qt.ancestor(t,n.join(","),function(n){return fn.is(n,"table")||r(n)})},Ft=function(n,t){return dt.parent(t).map(function(t){return Bt.children(t,n)})},jt=function(n,t){return zt(["td","th"],n,t)},Ht=function(n){return gt.firstLayer(n,"th,td")},Vt=(m.curry(Ft,"th,td"),function(n,t){return qt.closest(n,"table",t)}),Ut=function(n){return gt.firstLayer(n,"tr")},Gt=(m.curry(Ft,"tr"),function(n){var t=Ut(n);return B.map(t,function(n){var t=n,e=dt.parent(t).bind(function(n){var t=xt.name(n);return"tfoot"===t||"thead"===t||"tbody"===t?t:"tbody"}),r=B.map(Ht(n),function(n){var t=Dt.has(n,"rowspan")?parseInt(Dt.get(n,"rowspan"),10):1,e=Dt.has(n,"colspan")?parseInt(Dt.get(n,"colspan"),10):1;return nn.detail(n,t,e)});return nn.rowdata(t,r,e)})}),Xt=function(n,t){return B.map(n,function(n){var e=B.map(Ht(n),function(n){var t=Dt.has(n,"rowspan")?parseInt(Dt.get(n,"rowspan"),10):1,e=Dt.has(n,"colspan")?parseInt(Dt.get(n,"colspan"),10):1;return nn.detail(n,t,e)});return nn.rowdata(n,e,t.section())})},Yt=function(n,t){return n+","+t},$t=function(n,t){var e=B.bind(n.all(),function(n){return n.cells()});return B.filter(e,t)},Kt={generate:function(n){var t={},e=[],r=n.length,o=0;B.each(n,function(n,r){var i=[];B.each(n.cells(),function(n,e){for(var u=0;t[Yt(r,u)]!==undefined;)u++;for(var a=nn.extended(n.element(),n.rowspan(),n.colspan(),r,u),c=0;c<n.colspan();c++)for(var l=0;l<n.rowspan();l++){var s=u+c,f=Yt(r+l,s);t[f]=a,o=Math.max(o,s+1)}i.push(a)}),e.push(nn.rowdata(n.element(),i,n.section()))});var i=nn.grid(r,o);return{grid:m.constant(i),access:m.constant(t),all:m.constant(e)}},getAt:function(n,t,e){var r=n.access()[Yt(t,e)];return r!==undefined?w.some(r):w.none()},findItem:function(n,t,e){var r=$t(n,function(n){return e(t,n.element())});return r.length>0?w.some(r[0]):w.none()},filterItems:$t,justCells:function(n){var t=B.map(n.all(),function(n){return n.cells()});return B.flatten(t)}},Jt=function(n){return n.style!==undefined},Qt=function(n,t,e){if(!z.isString(e))throw console.error("Invalid call to CSS.set. Property ",t,":: Value ",e,":: Element ",n),new Error("CSS value must be a string: "+e);Jt(n)&&n.style.setProperty(t,e)},Zt=function(n,t){Jt(n)&&n.style.removeProperty(t)},ne=function(n,t,e){var r=n.dom();Qt(r,t,e)},te=function(n,t){return Jt(n)?n.style.getPropertyValue(t):""},ee=function(n,t){var e=n.dom(),r=te(e,t);return w.from(r).filter(function(n){return n.length>0})},re={copy:function(n,t){var e=n.dom(),r=t.dom();Jt(e)&&Jt(r)&&(r.style.cssText=e.style.cssText)},set:ne,preserve:function(n,t){var e=Dt.get(n,"style"),r=t(n);return(e===undefined?Dt.remove:Dt.set)(n,"style",e),r},setAll:function(n,t){var e=n.dom();L.each(t,function(n,t){Qt(e,t,n)})},setOptions:function(n,t){var e=n.dom();L.each(t,function(n,t){n.fold(function(){Zt(e,t)},function(n){Qt(e,t,n)})})},remove:function(n,t){var e=n.dom();Zt(e,t),Dt.has(n,"style")&&""===Yn.trim(Dt.get(n,"style"))&&Dt.remove(n,"style")},get:function(n,t){var e=n.dom(),r=window.getComputedStyle(e).getPropertyValue(t),o=""!==r||Nt.inBody(n)?r:te(e,t);return null===o?undefined:o},getRaw:ee,getAllRaw:function(n){var t={},e=n.dom();if(Jt(e))for(var r=0;r<e.style.length;r++){var o=e.style.item(r);t[o]=e.style[o]}return t},isValidValue:function(n,t,e){var r=en.fromTag(n);return ne(r,t,e),ee(r,t).isSome()},reflow:function(n){return n.dom().offsetWidth},transfer:function(n,t,e){xt.isElement(n)&&xt.isElement(t)&&B.each(e,function(e){var r,o;r=t,ee(n,o=e).each(function(n){ee(r,o).isNone()&&ne(r,o,n)})})}},oe=function(n,t){dt.parent(n).each(function(e){e.dom().insertBefore(t.dom(),n.dom())})},ie=function(n,t){n.dom().appendChild(t.dom())},ue={before:oe,after:function(n,t){dt.nextSibling(n).fold(function(){dt.parent(n).each(function(n){ie(n,t)})},function(n){oe(n,t)})},prepend:function(n,t){dt.firstChild(n).fold(function(){ie(n,t)},function(e){n.dom().insertBefore(t.dom(),e.dom())})},append:ie,appendAt:function(n,t,e){dt.child(n,e).fold(function(){ie(n,t)},function(n){oe(n,t)})},wrap:function(n,t){oe(n,t),ie(t,n)}},ae={before:function(n,t){B.each(t,function(t){ue.before(n,t)})},after:function(n,t){B.each(t,function(e,r){var o=0===r?n:t[r-1];ue.after(o,e)})},prepend:function(n,t){B.each(t.slice().reverse(),function(t){ue.prepend(n,t)})},append:function(n,t){B.each(t,function(t){ue.append(n,t)})}},ce=function(n){var t=n.dom();null!==t.parentNode&&t.parentNode.removeChild(t)},le={empty:function(n){n.dom().textContent="",B.each(dt.children(n),function(n){ce(n)})},remove:ce,unwrap:function(n){var t=dt.children(n);t.length>0&&ae.before(n,t),ce(n)}},se=X.immutable("minRow","minCol","maxRow","maxCol"),fe=function(n,t){var e,r,o,i,u,a,c,l,s,f,d=function(n){return fn.is(n.element(),t)},m=Gt(n),g=Kt.generate(m),p=(r=d,o=(e=g).grid().columns(),i=e.grid().rows(),u=o,a=0,c=0,L.each(e.access(),function(n){if(r(n)){var t=n.row(),e=t+n.rowspan()-1,o=n.column(),l=o+n.colspan()-1;t<i?i=t:e>a&&(a=e),o<u?u=o:l>c&&(c=l)}}),se(i,u,a,c)),h="th:not("+t+"),td:not("+t+")",v=gt.filterFirstLayer(n,"th,td",function(n){return fn.is(n,h)});return B.each(v,le.remove),function(n,t,e,r){for(var o,i,u,a=t.grid().columns(),c=t.grid().rows(),l=0;l<c;l++)for(var s=!1,f=0;f<a;f++)l<e.minRow()||l>e.maxRow()||f<e.minCol()||f>e.maxCol()||(Kt.getAt(t,l,f).filter(r).isNone()?(o=s,i=n[l].element(),u=en.fromTag("td"),ue.append(u,en.fromTag("br")),(o?ue.append:ue.prepend)(i,u)):s=!0)}(m,g,p,d),l=n,s=p,f=B.filter(gt.firstLayer(l,"tr"),function(n){return 0===n.dom().childElementCount}),B.each(f,le.remove),s.minCol()!==s.maxCol()&&s.minRow()!==s.maxRow()||B.each(gt.firstLayer(l,"th,td"),function(n){Dt.remove(n,"rowspan"),Dt.remove(n,"colspan")}),Dt.remove(l,"width"),Dt.remove(l,"height"),re.remove(l,"width"),re.remove(l,"height"),n},de=function(n,t){return en.fromDom(n.dom().cloneNode(t))},me=function(n){return de(n,!0)},ge=function(n,t){var e=en.fromTag(t),r=Dt.clone(n);return Dt.setAll(e,r),e},pe=function(n){return de(n,!1)},he=me,ve=function(n,t){var e=ge(n,t),r=dt.children(me(n));return ae.append(e,r),e},be=(u=xt.isText,a="text",c=function(n){return u(n)?w.from(n.dom().nodeValue):w.none()},l=tt.detect().browser,{get:function(n){if(!u(n))throw new Error("Can only get "+a+" value of a "+a+" node");return s(n).getOr("")},getOption:s=l.isIE()&&10===l.version.major?function(n){try{return c(n)}catch(t){return w.none()}}:c,set:function(n,t){if(!u(n))throw new Error("Can only set raw "+a+" value of a "+a+" node");n.dom().nodeValue=t}}),we={get:function(n){return be.get(n)},getOption:function(n){return be.getOption(n)},set:function(n,t){be.set(n,t)}},ye=function(n){return"img"===xt.name(n)?1:we.getOption(n).fold(function(){return dt.children(n).length},function(n){return n.length})},xe=["img","br"],Ce=ye,Se=function(n){return we.getOption(n).filter(function(n){return 0!==n.trim().length||n.indexOf("\xa0")>-1}).isSome()||B.contains(xe,xt.name(n))},Re=function(n,t){var e=function(n){for(var r=dt.children(n),o=r.length-1;o>=0;o--){var i=r[o];if(t(i))return w.some(i);var u=e(i);if(u.isSome())return u}return w.none()};return e(n)},Te={first:function(n){return Mt.descendant(n,Se)},last:function(n){return Re(n,Se)}},De=function(){var n=en.fromTag("td");return ue.append(n,en.fromTag("br")),n},Ae=function(n,t,e){var r=ve(n,t);return L.each(e,function(n,t){null===n?Dt.remove(r,t):Dt.set(r,t,n)}),r},ke=function(n){return n},Ne=function(n){return function(){return en.fromTag("tr",n.dom())}},Oe=function(n,t,e){return{row:Ne(t),cell:function(t){var r,o,i,u=dt.owner(t.element()),a=en.fromTag(xt.name(t.element()),u.dom()),c=e.getOr(["strong","em","b","i","span","font","h1","h2","h3","h4","h5","h6","p","div"]),l=c.length>0?(r=t.element(),o=a,i=c,Te.first(r).map(function(n){var t=i.join(","),e=Bt.ancestors(n,t,function(n){return ot.eq(n,r)});return B.foldr(e,function(n,t){var e=pe(t);return ue.append(n,e),e},o)}).getOr(o)):a;return ue.append(l,en.fromTag("br")),re.copy(t.element(),a),re.remove(a,"height"),1!==t.colspan()&&re.remove(t.element(),"width"),n(t.element(),a),a},replace:Ae,gap:De}},Ee=function(n){return{row:Ne(n),cell:De,replace:ke,gap:De}},Be=function(n,t){var e=(t||document).createElement("div");return e.innerHTML=n,dt.children(en.fromDom(e))},Ie=["body","p","div","article","aside","figcaption","figure","footer","header","nav","section","ol","ul","li","table","thead","tbody","tfoot","caption","tr","td","th","h1","h2","h3","h4","h5","h6","blockquote","pre","address"],Pe=function(){return{up:m.constant({selector:qt.ancestor,closest:qt.closest,predicate:Mt.ancestor,all:dt.parents}),down:m.constant({selector:Bt.descendants,predicate:Et.descendants}),styles:m.constant({get:re.get,getRaw:re.getRaw,set:re.set,remove:re.remove}),attrs:m.constant({get:Dt.get,set:Dt.set,remove:Dt.remove,copyTo:function(n,t){var e=Dt.clone(n);Dt.setAll(t,e)}}),insert:m.constant({before:ue.before,after:ue.after,afterAll:ae.after,append:ue.append,appendAll:ae.append,prepend:ue.prepend,wrap:ue.wrap}),remove:m.constant({unwrap:le.unwrap,remove:le.remove}),create:m.constant({nu:en.fromTag,clone:function(n){return en.fromDom(n.dom().cloneNode(!1))},text:en.fromText}),query:m.constant({comparePosition:function(n,t){return n.dom().compareDocumentPosition(t.dom())},prevSibling:dt.prevSibling,nextSibling:dt.nextSibling}),property:m.constant({children:dt.children,name:xt.name,parent:dt.parent,isText:xt.isText,isComment:xt.isComment,isElement:xt.isElement,getText:we.get,setText:we.set,isBoundary:function(n){return!!xt.isElement(n)&&("body"===xt.name(n)||B.contains(Ie,xt.name(n)))},isEmptyTag:function(n){return!!xt.isElement(n)&&B.contains(["br","img","hr","input"],xt.name(n))}}),eq:ot.eq,is:ot.is}},We=(X.immutable("left","right"),function(n,t,e,r){var o=t(n,e);return B.foldr(r,function(e,r){var o=t(n,r);return _e(n,e,o)},o)}),_e=function(n,t,e){return t.bind(function(t){return e.filter(m.curry(n.eq,t))})},Me=function(n,t,e){return e.length>0?We(n,t,(r=e)[0],r.slice(1)):w.none();var r},Le=function(n,t){return m.curry(n.eq,t)},qe=function(n,t,e,r){var o=r!==undefined?r:m.constant(!1),i=[t].concat(n.up().all(t)),u=[e].concat(n.up().all(e)),a=function(n){return B.findIndex(n,o).fold(function(){return n},function(t){return n.slice(0,t+1)})},c=a(i),l=a(u),s=B.find(c,function(t){return B.exists(l,Le(n,t))});return{firstpath:m.constant(c),secondpath:m.constant(l),shared:m.constant(s)}},ze=qe,Fe=function(n,t,e){return Me(n,t,e)},je=function(n,t,e,r){return ze(n,t,e,r)},He=Pe(),Ve=function(n,t){return Fe(He,function(t,e){return n(e)},t)},Ue=function(n,t,e){return je(He,n,t,e)},Ge=function(n,t){return t.column()>=n.startCol()&&t.column()+t.colspan()-1<=n.finishCol()&&t.row()>=n.startRow()&&t.row()+t.rowspan()-1<=n.finishRow()},Xe=function(n,t){var e=t.column(),r=t.column()+t.colspan()-1,o=t.row(),i=t.row()+t.rowspan()-1;return e<=n.finishCol()&&r>=n.startCol()&&o<=n.finishRow()&&i>=n.startRow()},Ye=function(n,t){for(var e=!0,r=m.curry(Ge,t),o=t.startRow();o<=t.finishRow();o++)for(var i=t.startCol();i<=t.finishCol();i++)e=e&&Kt.getAt(n,o,i).exists(r);return e?w.some(t):w.none()},$e=function(n,t,e){var r=Kt.findItem(n,t,ot.eq),o=Kt.findItem(n,e,ot.eq);return r.bind(function(n){return o.map(function(t){return e=n,r=t,nn.bounds(Math.min(e.row(),r.row()),Math.min(e.column(),r.column()),Math.max(e.row()+e.rowspan()-1,r.row()+r.rowspan()-1),Math.max(e.column()+e.colspan()-1,r.column()+r.colspan()-1));var e,r})})},Ke=$e,Je=function(n,t,e){return $e(n,t,e).bind(function(t){return Ye(n,t)})},Qe=function(n,t,e,r){return Kt.findItem(n,t,ot.eq).bind(function(t){var o=e>0?t.row()+t.rowspan()-1:t.row(),i=r>0?t.column()+t.colspan()-1:t.column();return Kt.getAt(n,o+e,i+r).map(function(n){return n.element()})})},Ze=function(n,t,e){return Ke(n,t,e).map(function(t){var e=Kt.filterItems(n,m.curry(Xe,t));return B.map(e,function(n){return n.element()})})},nr=function(n,t){return Kt.findItem(n,t,function(n,t){return ot.contains(t,n)}).bind(function(n){return n.element()})},tr=function(n){var t=Gt(n);return Kt.generate(t)},er=function(n,t,e){return Vt(n).bind(function(r){var o=tr(r);return Qe(o,n,t,e)})},rr=function(n,t,e){var r=tr(n);return Ze(r,t,e)},or=function(n,t,e,r,o){var i=tr(n),u=ot.eq(n,e)?t:nr(i,t),a=ot.eq(n,o)?r:nr(i,r);return Ze(i,u,a)},ir=function(n,t,e){var r=tr(n);return Je(r,t,e)},ur=function(n,t){return qt.ancestor(n,"table")},ar=X.immutableBag(["boxes","start","finish"],[]),cr=function(n,t,e){var r=function(n){return function(t){return e(t)||ot.eq(t,n)}};return ot.eq(n,t)?w.some(ar({boxes:w.some([n]),start:n,finish:t})):ur(n).bind(function(o){return ur(t).bind(function(i){if(ot.eq(o,i))return w.some(ar({boxes:rr(o,n,t),start:n,finish:t}));if(ot.contains(o,i)){var u=(a=Bt.ancestors(t,"td,th",r(o))).length>0?a[a.length-1]:t;return w.some(ar({boxes:or(o,n,o,t,i),start:n,finish:u}))}if(ot.contains(i,o)){var a,c=(a=Bt.ancestors(n,"td,th",r(i))).length>0?a[a.length-1]:n;return w.some(ar({boxes:or(i,n,o,t,i),start:n,finish:c}))}return Ue(n,t).shared().bind(function(u){return qt.closest(u,"table",e).bind(function(e){var u=Bt.ancestors(t,"td,th",r(e)),a=u.length>0?u[u.length-1]:t,c=Bt.ancestors(n,"td,th",r(e)),l=c.length>0?c[c.length-1]:n;return w.some(ar({boxes:or(e,n,o,t,i),start:l,finish:a}))})})})})},lr=cr,sr=function(n,t){var e=Bt.descendants(n,t);return e.length>0?w.some(e):w.none()},fr=function(n,t,e,r,o){return(i=n,u=o,B.find(i,function(n){return fn.is(n,u)})).bind(function(n){return er(n,t,e).bind(function(n){return e=r,qt.ancestor(t=n,"table").bind(function(n){return qt.descendant(n,e).bind(function(n){return cr(n,t).bind(function(n){return n.boxes().map(function(t){return{boxes:m.constant(t),start:m.constant(n.start()),finish:m.constant(n.finish())}})})})});var t,e})});var i,u},dr=function(n,t,e){return qt.descendant(n,t).bind(function(t){return qt.descendant(n,e).bind(function(n){return Ve(ur,[t,n]).map(function(e){return{first:m.constant(t),last:m.constant(n),table:m.constant(e)}})})})},mr=function(n,t){return sr(n,t)},gr=function(n,t,e){return dr(n,t,e).bind(function(t){var e=function(t){return ot.eq(n,t)},r=qt.ancestor(t.first(),"thead,tfoot,tbody,table",e),o=qt.ancestor(t.last(),"thead,tfoot,tbody,table",e);return r.bind(function(n){return o.bind(function(e){return ot.eq(n,e)?ir(t.table(),t.first(),t.last()):w.none()})})})},pr="data-mce-selected",hr="data-mce-first-selected",vr="data-mce-last-selected",br={selected:m.constant(pr),selectedSelector:m.constant("td[data-mce-selected],th[data-mce-selected]"),attributeSelector:m.constant("[data-mce-selected]"),firstSelected:m.constant(hr),firstSelectedSelector:m.constant("td[data-mce-first-selected],th[data-mce-first-selected]"),lastSelected:m.constant(vr),lastSelectedSelector:m.constant("td[data-mce-last-selected],th[data-mce-last-selected]")},wr=function(n){if(!z.isArray(n))throw new Error("cases must be an array");if(0===n.length)throw new Error("there must be at least one case");var t=[],e={};return B.each(n,function(r,o){var i=L.keys(r);if(1!==i.length)throw new Error("one and only one name per case");var u=i[0],a=r[u];if(e[u]!==undefined)throw new Error("duplicate key detected:"+u);if("cata"===u)throw new Error("cannot have a case named cata (sorry)");if(!z.isArray(a))throw new Error("case arguments must be an array");t.push(u),e[u]=function(){var e=arguments.length;if(e!==a.length)throw new Error("Wrong number of arguments to case "+u+". Expected "+a.length+" ("+a+"), got "+e);for(var r=new Array(e),i=0;i<r.length;i++)r[i]=arguments[i];return{fold:function(){if(arguments.length!==n.length)throw new Error("Wrong number of arguments to fold. Expected "+n.length+", got "+arguments.length);return arguments[o].apply(null,r)},match:function(n){var e=L.keys(n);if(t.length!==e.length)throw new Error("Wrong number of arguments to match. Expected: "+t.join(",")+"\nActual: "+e.join(","));if(!B.forall(t,function(n){return B.contains(e,n)}))throw new Error("Not all branches were specified when using match. Specified: "+e.join(", ")+"\nRequired: "+t.join(", "));return n[u].apply(null,r)},log:function(n){console.log(n,{constructors:t,constructor:u,params:r})}}}}),e},yr=wr([{none:[]},{multiple:["elements"]},{single:["selection"]}]),xr={cata:function(n,t,e,r){return n.fold(t,e,r)},none:yr.none,multiple:yr.multiple,single:yr.single},Cr=function(n,t){return xr.cata(t.get(),m.constant([]),m.identity,m.constant([n]))},Sr=function(n,t){return xr.cata(t.get(),w.none,function(t,e){return 0===t.length?w.none():gr(n,br.firstSelectedSelector(),br.lastSelectedSelector()).bind(function(n){return t.length>1?w.some({bounds:m.constant(n),cells:m.constant(t)}):w.none()})},w.none)},Rr=function(n,t){var e=Cr(n,t);return e.length>0&&B.forall(e,function(n){return Dt.has(n,"rowspan")&&parseInt(Dt.get(n,"rowspan"),10)>1||Dt.has(n,"colspan")&&parseInt(Dt.get(n,"colspan"),10)>1})?w.some(e):w.none()},Tr=Cr,Dr=function(n){return{element:m.constant(n),mergable:w.none,unmergable:w.none,selection:m.constant([n])}},Ar=X.immutable("element","clipboard","generators"),kr={noMenu:Dr,forMenu:function(n,t,e){return{element:m.constant(e),mergable:m.constant(Sr(t,n)),unmergable:m.constant(Rr(e,n)),selection:m.constant(Tr(e,n))}},notCell:function(n){return Dr(n)},paste:Ar,pasteRows:function(n,t,e,r,o){return{element:m.constant(e),mergable:w.none,unmergable:w.none,selection:m.constant(Tr(e,n)),clipboard:m.constant(r),generators:m.constant(o)}}},Nr={registerEvents:function(n,t,e,r){n.on("BeforeGetContent",function(e){!0===e.selection&&xr.cata(t.get(),m.noop,function(t){var r;e.preventDefault(),(r=t,Vt(r[0]).map(he).map(function(n){return[fe(n,br.attributeSelector())]})).each(function(t){e.content=B.map(t,function(t){return e=t,n.selection.serializer.serialize(e.dom(),{});var e}).join("")})},m.noop)}),n.on("BeforeSetContent",function(t){!0===t.selection&&!0===t.paste&&w.from(n.dom.getParent(n.selection.getStart(),"th,td")).each(function(o){var i=en.fromDom(o);Vt(i).bind(function(o){var u=B.filter(Be(t.content),function(n){return"meta"!==xt.name(n)});if(1===u.length&&"table"===xt.name(u[0])){t.preventDefault();var a=en.fromDom(n.getDoc()),c=Ee(a),l=kr.paste(i,u[0],c);e.pasteCells(o,l).each(function(t){n.selection.setRng(t),n.focus(),r.clear(o)})}})})})}},Or={render:function(n,t,e,r){var o=en.fromTag("table");re.setAll(o,{"border-collapse":"collapse",width:"100%"}),Dt.set(o,"border","1");var i=en.fromTag("tbody");ue.append(o,i);for(var u=[],a=0;a<n;a++){for(var c=en.fromTag("tr"),l=0;l<t;l++){var s=a<e||l<r?en.fromTag("th"):en.fromTag("td");l<r&&Dt.set(s,"scope","row"),a<e&&Dt.set(s,"scope","col"),ue.append(s,en.fromTag("br")),re.set(s,"width",100/t+"%"),ue.append(c,s)}u.push(c)}return ae.append(i,u),o}},Er=function(n){return n.dom().innerHTML},Br=function(n){var t=en.fromTag("div"),e=en.fromDom(n.dom().cloneNode(!0));return ue.append(t,e),Er(t)},Ir=function(n,t){n.selection.select(t.dom(),!0),n.selection.collapse(!0)},Pr={insert:function(n,t,e){var r,o=Or.render(e,t,0,0);Dt.set(o,"id","__mce");var i,u,a=Br(o);return n.insertContent(a),r=n.dom.get("__mce"),n.dom.setAttrib(r,"id",null),n.$("tr",r).each(function(t,e){n.fire("newrow",{node:e}),n.$("th,td",e).each(function(t,e){n.fire("newcell",{node:e})})}),n.dom.setAttribs(r,n.settings.table_default_attributes||{}),n.dom.setStyles(r,n.settings.table_default_styles||{}),i=n,u=en.fromDom(r),qt.descendant(u,"td,th").each(m.curry(Ir,i)),r}},Wr=function(n,t){var e=function(e){var r=t(e);if(r<=0||null===r){var o=re.get(e,n);return parseFloat(o)||0}return r},r=function(n,t){return B.foldl(t,function(t,e){var r=re.get(n,e),o=r===undefined?0:parseInt(r,10);return isNaN(o)?t:t+o},0)};return{set:function(t,e){if(!z.isNumber(e)&&!e.match(/^[0-9]+$/))throw n+".set accepts only positive integer values. Value was "+e;var r=t.dom();Jt(r)&&(r.style[n]=e+"px")},get:e,getOuter:e,aggregate:r,max:function(n,t,e){var o=r(n,e);return t>o?t-o:0}}},_r=Wr("height",function(n){return Nt.inBody(n)?n.dom().getBoundingClientRect().height:n.dom().offsetHeight}),Mr=function(n){return _r.get(n)},Lr=function(n){return _r.getOuter(n)},qr=Wr("width",function(n){return n.dom().offsetWidth}),zr=function(n){return qr.get(n)},Fr=function(n){return qr.getOuter(n)},jr=tt.detect(),Hr=function(n,t,e){return r=re.get(n,t),o=e,i=parseFloat(r),isNaN(i)?o:i;var r,o,i},Vr=function(n){return jr.browser.isIE()||jr.browser.isEdge()?(e=Hr(t=n,"padding-top",0),r=Hr(t,"padding-bottom",0),o=Hr(t,"border-top-width",0),i=Hr(t,"border-bottom-width",0),u=t.dom().getBoundingClientRect().height,"border-box"===re.get(t,"box-sizing")?u:u-e-r-(o+i)):Hr(n,"height",Mr(n));var t,e,r,o,i,u},Ur=/(\d+(\.\d+)?)(\w|%)*/,Gr=/(\d+(\.\d+)?)%/,Xr=/(\d+(\.\d+)?)px|em/,Yr=function(n,t){re.set(n,"height",t+"px")},$r=function(n,t,e,r){var o,i,u,a,c,l=parseInt(n,10);return Yn.endsWith(n,"%")&&"table"!==xt.name(t)?(i=l,u=e,a=r,c=Vt(o=t).map(function(n){var t=u(n);return Math.floor(i/100*t)}).getOr(i),a(o,c),c):l},Kr=function(n){var t,e=re.getRaw(t=n,"height").getOrThunk(function(){return Vr(t)+"px"});return e?$r(e,n,Mr,Yr):Mr(n)},Jr=function(n,t){return Dt.has(n,t)?parseInt(Dt.get(n,t),10):1},Qr=function(n){return re.getRaw(n,"width").fold(function(){return w.from(Dt.get(n,"width"))},function(n){return w.some(n)})},Zr=function(n,t){return n/t.pixelWidth()*100},no={percentageBasedSizeRegex:m.constant(Gr),pixelBasedSizeRegex:m.constant(Xr),setPixelWidth:function(n,t){re.set(n,"width",t+"px")},setPercentageWidth:function(n,t){re.set(n,"width",t+"%")},setHeight:Yr,getPixelWidth:function(n,t){return Qr(n).fold(function(){var t=zr(n);return parseInt(t,10)},function(e){return function(n,t,e){if(Xr.test(t)){var r=Xr.exec(t);return parseInt(r[1],10)}if(Gr.test(t)){var o=Gr.exec(t),i=parseFloat(o[1]);return i/100*e.pixelWidth()}var u=zr(n);return parseInt(u,10)}(n,e,t)})},getPercentageWidth:function(n,t){return Qr(n).fold(function(){var e=zr(n),r=parseInt(e,10);return Zr(r,t)},function(e){return function(n,t,e){if(Gr.test(t)){var r=Gr.exec(t);return parseFloat(r[1])}var o=zr(n),i=parseInt(o,10);return Zr(i,e)}(n,e,t)})},getGenericWidth:function(n){return Qr(n).bind(function(n){if(Ur.test(n)){var t=Ur.exec(n);return w.some({width:m.constant(t[1]),unit:m.constant(t[3])})}return w.none()})},setGenericWidth:function(n,t,e){re.set(n,"width",t+e)},getHeight:function(n){return e="rowspan",Kr(t=n)/Jr(t,e);var t,e},getRawWidth:Qr},to=function(n,t){no.getGenericWidth(n).each(function(e){var r=e.width()/2;no.setGenericWidth(n,r,e.unit()),no.setGenericWidth(t,r,e.unit())})},eo=function(n,t){var e=t||en.fromDom(document.documentElement);return Mt.ancestor(n,m.curry(ot.eq,e)).isSome()},ro=function(n){var t=n.dom();return t===t.window?n:xt.isDocument(n)?t.defaultView||t.parentWindow:null},oo=function(n,t){return{left:m.constant(n),top:m.constant(t),translate:function(e,r){return oo(n+e,t+r)}}},io=function(n,t){return n!==undefined?n:t!==undefined?t:0},uo=function(n){var t,e=n.dom(),r=e.ownerDocument,o=r.body,i=en.fromDom(r.documentElement);return o===e?oo(o.offsetLeft,o.offsetTop):eo(n,i)?(t=e.getBoundingClientRect(),oo(t.left,t.top)):oo(0,0)},ao=function(n){var t=n.dom().ownerDocument,e=t.body,r=ro(en.fromDom(t)),o=t.documentElement,i=io(r.pageYOffset,o.scrollTop),u=io(r.pageXOffset,o.scrollLeft),a=io(o.clientTop,e.clientTop),c=io(o.clientLeft,e.clientLeft);return uo(n).translate(u-c,i-a)},co=X.immutable("row","y"),lo=X.immutable("col","x"),so=function(n){return ao(n).left()+Fr(n)},fo=function(n){return ao(n).left()},mo=function(n,t){return lo(n,fo(t))},go=function(n,t){return lo(n,so(t))},po=function(n){return ao(n).top()},ho=function(n,t,e){if(0===e.length)return[];var r=B.map(e.slice(1),function(t,e){return t.map(function(t){return n(e,t)})}),o=e[e.length-1].map(function(n){return t(e.length-1,n)});return r.concat([o])},vo={delta:m.identity,positions:m.curry(ho,function(n,t){return co(n,po(t))},function(n,t){return co(n,po(t)+Lr(t))}),edge:po},bo={delta:m.identity,edge:fo,positions:m.curry(ho,mo,go)},wo={height:vo,rtl:{delta:function(n,t){return-n},edge:so,positions:m.curry(ho,go,mo)},ltr:bo},yo={ltr:wo.ltr,rtl:wo.rtl},xo=function(n){var t=function(t){return n(t).isRtl()?yo.rtl:yo.ltr};return{delta:function(n,e){return t(e).delta(n,e)},edge:function(n){return t(n).edge(n)},positions:function(n,e){return t(e).positions(n,e)}}},Co=function(n){var t=Gt(n);return Kt.generate(t).grid()},So=function(n){var t=n,e=function(){return t};return{get:e,set:function(n){t=n},clone:function(){return So(e())}}},Ro=function(n,t){return To(n,t,{validate:z.isFunction,label:"function"})},To=function(n,t,e){if(0===t.length)throw new Error("You must specify at least one required field.");return V("required",t),G(t),function(r){var o=L.keys(r);B.forall(t,function(n){return B.contains(o,n)})||j(t,o),n(t,o);var i=B.filter(t,function(n){return!e.validate(r[n],n)});return i.length>0&&U(i,e.label),r}},Do=m.noop,Ao={exactly:m.curry(Ro,function(n,t){var e=B.filter(t,function(t){return!B.contains(n,t)});e.length>0&&H(e)}),ensure:m.curry(Ro,Do),ensureWith:m.curry(To,Do)},ko=function(n){var t=Dt.has(n,"colspan")?parseInt(Dt.get(n,"colspan"),10):1,e=Dt.has(n,"rowspan")?parseInt(Dt.get(n,"rowspan"),10):1;return{element:m.constant(n),colspan:m.constant(t),rowspan:m.constant(e)}},No=Ao.exactly(["cell","row","replace","gap"]),Oo=function(n,t){No(n);var e=So(w.none()),r=t!==undefined?t:ko,o=function(t){var e,o=r(t);return e=o,n.cell(e)},i=function(n){var t=o(n);return e.get().isNone()&&e.set(w.some(t)),u=w.some({item:n,replacement:t}),t},u=w.none();return{getOrInit:function(n,t){return u.fold(function(){return i(n)},function(e){return t(n,e.item)?e.replacement:i(n)})},cursor:e.get}},Eo=function(n,t){return function(e){var r=So(w.none());No(e);var o=[],i=function(i){var u=e.replace(i,t,{scope:n});return o.push({item:i,sub:u}),r.get().isNone()&&r.set(w.some(u)),u};return{replaceOrInit:function(n,t){return(e=n,r=t,B.find(o,function(n){return r(n.item,e)})).fold(function(){return i(n)},function(e){return t(n,e.item)?e.sub:i(n)});var e,r},cursor:r.get}}},Bo=function(n){No(n);var t=So(w.none());return{combine:function(e){return t.get().isNone()&&t.set(w.some(e)),function(){var t=n.cell({element:m.constant(e),colspan:m.constant(1),rowspan:m.constant(1)});return re.remove(t,"width"),re.remove(e,"width"),t}},cursor:t.get}},Io=["body","p","div","article","aside","figcaption","figure","footer","header","nav","section","ol","ul","table","thead","tfoot","tbody","caption","tr","td","th","h1","h2","h3","h4","h5","h6","blockquote","pre","address"],Po=function(n,t){var e=n.property().name(t);return B.contains(Io,e)},Wo=function(n,t){return B.contains(["br","img","hr","input"],n.property().name(t))},_o=Po,Mo=function(n,t){var e=n.property().name(t);return B.contains(["ol","ul"],e)},Lo=Wo,qo=Pe(),zo=function(n){return _o(qo,n)},Fo=function(n){return Mo(qo,n)},jo=function(n){return Lo(qo,n)},Ho=function(n){var t,e=function(n){return"br"===xt.name(n)},r=function(n){return Te.last(n).bind(function(t){var r,o=(r=t,dt.nextSibling(r).map(function(n){return!!zo(n)||(jo(n)?"img"!==xt.name(n):void 0)}).getOr(!1));return dt.parent(t).map(function(r){return!0===o||(i=r,"li"===xt.name(i)||Mt.ancestor(i,Fo).isSome())||e(t)||zo(r)&&!ot.eq(n,r)?[]:[en.fromTag("br")];var i})}).getOr([])},o=0===(t=B.bind(n,function(n){var t,o=dt.children(n);return t=o,B.forall(t,function(n){return e(n)||xt.isText(n)&&0===we.get(n).trim().length})?[]:o.concat(r(n))})).length?[en.fromTag("br")]:t;le.empty(n[0]),ae.append(n[0],o)},Vo=function(n){return function(){for(var t=new Array(arguments.length),e=0;e<t.length;e++)t[e]=arguments[e];if(0===t.length)throw new Error("Can't merge zero objects");for(var r={},o=0;o<t.length;o++){var i=t[o];for(var u in i)i.hasOwnProperty(u)&&(r[u]=n(r[u],i[u]))}return r}},Uo=Vo(function(n,t){return z.isObject(n)&&z.isObject(t)?Uo(n,t):t}),Go=Vo(function(n,t){return t}),Xo={deepMerge:Uo,merge:Go},Yo=function(n){for(var t=[],e=function(n){t.push(n)},r=0;r<n.length;r++)n[r].each(e);return t},$o=function(n,t){for(var e=0;e<n.length;e++){var r=t(n[e],e);if(r.isSome())return r}return w.none()},Ko=function(n,t){return nn.rowcells(t,n.section())},Jo=function(n,t){return n.cells()[t]},Qo={addCell:function(n,t,e){var r=n.cells(),o=r.slice(0,t),i=r.slice(t),u=o.concat([e]).concat(i);return Ko(n,u)},setCells:Ko,mutateCell:function(n,t,e){n.cells()[t]=e},getCell:Jo,getCellElement:function(n,t){return Jo(n,t).element()},mapCells:function(n,t){var e=n.cells(),r=B.map(e,t);return nn.rowcells(r,n.section())},cellLength:function(n){return n.cells().length}},Zo=function(n,t){if(0===n.length)return 0;var e=n[0];return B.findIndex(n,function(n){return!t(e.element(),n.element())}).fold(function(){return n.length},function(n){return n})},ni=function(n,t,e,r){var o,i,u,a,c=(o=n,i=t,o[i]).cells().slice(e),l=Zo(c,r),s=(u=n,a=e,B.map(u,function(n){return Qo.getCell(n,a)})).slice(t),f=Zo(s,r);return{colspan:m.constant(l),rowspan:m.constant(f)}},ti=function(n,t){var e=B.map(n,function(n,t){return B.map(n.cells(),function(n,t){return!1})});return B.map(n,function(r,o){var i=B.bind(r.cells(),function(r,i){if(!1===e[o][i]){var u=ni(n,o,i,t);return function(n,t,r,o){for(var i=n;i<n+r;i++)for(var u=t;u<t+o;u++)e[i][u]=!0}(o,i,u.rowspan(),u.colspan()),[nn.detailnew(r.element(),u.rowspan(),u.colspan(),r.isNew())]}return[]});return nn.rowdetails(i,r.section())})},ei=function(n,t,e){for(var r=[],o=0;o<n.grid().rows();o++){for(var i=[],u=0;u<n.grid().columns();u++){var a=Kt.getAt(n,o,u).map(function(n){return nn.elementnew(n.element(),e)}).getOrThunk(function(){return nn.elementnew(t.gap(),!0)});i.push(a)}var c=nn.rowcells(i,n.all()[o].section());r.push(c)}return r},ri=function(n,t,e,r){e===r?Dt.remove(n,t):Dt.set(n,t,e)},oi=function(n,t){var e=[],r=[],o=function(t,o){t.length>0?function(t,o){var i=qt.child(n,o).getOrThunk(function(){var t=en.fromTag(o,dt.owner(n).dom());return ue.append(n,t),t});le.empty(i);var u=B.map(t,function(n){n.isNew()&&e.push(n.element());var t=n.element();return le.empty(t),B.each(n.cells(),function(n){n.isNew()&&r.push(n.element()),ri(n.element(),"colspan",n.colspan(),1),ri(n.element(),"rowspan",n.rowspan(),1),ue.append(t,n.element())}),t});ae.append(i,u)}(t,o):qt.child(n,o).bind(le.remove)},i=[],u=[],a=[];return B.each(t,function(n){switch(n.section()){case"thead":i.push(n);break;case"tbody":u.push(n);break;case"tfoot":a.push(n)}}),o(i,"thead"),o(u,"tbody"),o(a,"tfoot"),{newRows:m.constant(e),newCells:m.constant(r)}},ii=function(n){return B.map(n,function(n){var t=pe(n.element());return B.each(n.cells(),function(n){var e=he(n.element());ri(e,"colspan",n.colspan(),1),ri(e,"rowspan",n.rowspan(),1),ue.append(t,e)}),t})},ui=function(n,t){for(var e=[],r=0;r<n;r++)e.push(t(r));return e},ai=function(n,t){for(var e=[],r=n;r<t;r++)e.push(r);return e},ci=function(n,t){if(t<0||t>=n.length-1)return w.none();var e=n[t].fold(function(){var e=B.reverse(n.slice(0,t));return $o(e,function(n,t){return n.map(function(n){return{value:n,delta:t+1}})})},function(n){return w.some({value:n,delta:0})}),r=n[t+1].fold(function(){var e=n.slice(t+1);return $o(e,function(n,t){return n.map(function(n){return{value:n,delta:t+1}})})},function(n){return w.some({value:n,delta:1})});return e.bind(function(n){return r.map(function(t){var e=t.delta+n.delta;return Math.abs(t.value-n.value)/e})})},li=function(n,t,e){var r=n();return B.find(r,t).orThunk(function(){return w.from(r[0]).orThunk(e)}).map(function(n){return n.element()})},si=function(n){var t=n.grid(),e=ai(0,t.columns()),r=ai(0,t.rows());return B.map(e,function(t){return li(function(){return B.bind(r,function(e){return Kt.getAt(n,e,t).filter(function(n){return n.column()===t}).fold(m.constant([]),function(n){return[n]})})},function(n){return 1===n.colspan()},function(){return Kt.getAt(n,0,t)})})},fi=function(n){var t=n.grid(),e=ai(0,t.rows()),r=ai(0,t.columns());return B.map(e,function(t){return li(function(){return B.bind(r,function(e){return Kt.getAt(n,t,e).filter(function(n){return n.row()===t}).fold(m.constant([]),function(n){return[n]})})},function(n){return 1===n.rowspan()},function(){return Kt.getAt(n,t,0)})})},di=function(n,t,e,r,o){var i=en.fromTag("div");return re.setAll(i,{position:"absolute",left:t-r/2+"px",top:e+"px",height:o+"px",width:r+"px"}),Dt.setAll(i,{"data-column":n,role:"presentation"}),i},mi=function(n,t,e,r,o){var i=en.fromTag("div");return re.setAll(i,{position:"absolute",left:t+"px",top:e-o/2+"px",height:o+"px",width:r+"px"}),Dt.setAll(i,{"data-row":n,role:"presentation"}),i},gi=function(n){var t=n.replace(/\./g,"-");return{resolve:function(n){return t+"-"+n}}},pi={resolve:gi("ephox-snooker").resolve},hi=function(n,t){var e=Dt.get(n,t);return e===undefined||""===e?[]:e.split(" ")},vi=hi,bi=function(n,t,e){var r=hi(n,t).concat([e]);Dt.set(n,t,r.join(" "))},wi=function(n,t,e){var r=B.filter(hi(n,t),function(n){return n!==e});r.length>0?Dt.set(n,t,r.join(" ")):Dt.remove(n,t)},yi=function(n){return vi(n,"class")},xi=function(n,t){return bi(n,"class",t)},Ci=function(n,t){return wi(n,"class",t)},Si=yi,Ri=xi,Ti=Ci,Di=function(n,t){B.contains(yi(n),t)?Ci(n,t):xi(n,t)},Ai=function(n){return n.dom().classList!==undefined},ki=function(n,t){return Ai(n)&&n.dom().classList.contains(t)},Ni={add:function(n,t){Ai(n)?n.dom().classList.add(t):Ri(n,t)},remove:function(n,t){var e;Ai(n)?n.dom().classList.remove(t):Ti(n,t),0===(Ai(e=n)?e.dom().classList:Si(e)).length&&Dt.remove(e,"class")},toggle:function(n,t){return Ai(n)?n.dom().classList.toggle(t):Di(n,t)},toggler:function(n,t){var e,r,o,i,u,a,c=Ai(n),l=n.dom().classList;return e=function(){c?l.remove(t):Ti(n,t)},r=function(){c?l.add(t):Ri(n,t)},o=ki(n,t),i=o||!1,{on:u=function(){r(),i=!0},off:a=function(){e(),i=!1},toggle:function(){(i?a:u)()},isOn:function(){return i}}},has:ki},Oi=pi.resolve("resizer-bar"),Ei=pi.resolve("resizer-rows"),Bi=pi.resolve("resizer-cols"),Ii=function(n){var t=Bt.descendants(n.parent(),"."+Oi);B.each(t,le.remove)},Pi=function(n,t,e){var r=n.origin();B.each(t,function(t,o){t.each(function(t){var o=e(r,t);Ni.add(o,Oi),ue.append(n.parent(),o)})})},Wi=function(n,t,e,r,o,i){var u,a,c,l,s=ao(t),f=e.length>0?o.positions(e,t):[];u=n,a=f,c=s,l=Fr(t),Pi(u,a,function(n,t){var e=mi(t.row(),c.left()-n.left(),t.y()-n.top(),l,7);return Ni.add(e,Ei),e});var d,m,g,p,h=r.length>0?i.positions(r,t):[];d=n,m=h,g=s,p=Lr(t),Pi(d,m,function(n,t){var e=di(t.col(),t.x()-n.left(),g.top()-n.top(),7,p);return Ni.add(e,Bi),e})},_i=function(n,t){var e=Bt.descendants(n.parent(),"."+Oi);B.each(e,t)},Mi=function(n,t,e,r){Ii(n);var o=Gt(t),i=Kt.generate(o),u=fi(i),a=si(i);Wi(n,t,u,a,e,r)},Li=function(n){_i(n,function(n){re.set(n,"display","none")})},qi=function(n){_i(n,function(n){re.set(n,"display","block")})},zi=Ii,Fi=function(n){return Ni.has(n,Ei)},ji=function(n){return Ni.has(n,Bi)},Hi=function(n,t){return B.map(n,function(n){var e,r=(e=n.details(),$o(e,function(n){return dt.parent(n.element()).map(function(n){var t=dt.parent(n).isNone();return nn.elementnew(n,t)})}).getOrThunk(function(){return nn.elementnew(t.row(),!0)}));return nn.rowdatanew(r.element(),n.details(),n.section(),r.isNew())})},Vi=function(n,t){var e=ti(n,ot.eq);return Hi(e,t)},Ui=function(n,t){var e=B.flatten(B.map(n.all(),function(n){return n.cells()}));return B.find(e,function(n){return ot.eq(t,n.element())})},Gi=function(n,t,e,r,o){return function(i,u,a,c,l){var s=Gt(u),f=Kt.generate(s);return t(f,a).map(function(t){var e=ei(f,c,!1),r=n(e,t,ot.eq,o(c)),i=Vi(r.grid(),c);return{grid:m.constant(i),cursor:r.cursor}}).fold(function(){return w.none()},function(n){var t=oi(u,n.grid());return e(u,n.grid(),l),r(u),Mi(i,u,wo.height,l),w.some({cursor:n.cursor,newRows:t.newRows,newCells:t.newCells})})}},Xi=Vi,Yi=function(n,t){return jt(t.element()).bind(function(t){return Ui(n,t)})},$i=function(n,t){var e=B.map(t.selection(),function(t){return jt(t).bind(function(t){return Ui(n,t)})}),r=Yo(e);return r.length>0?w.some(r):w.none()},Ki=function(n,t){return jt(t.element()).bind(function(e){return Ui(n,e).map(function(n){return Xo.merge(n,{generators:t.generators,clipboard:t.clipboard})})})},Ji=function(n,t){var e=B.map(t.selection(),function(t){return jt(t).bind(function(t){return Ui(n,t)})}),r=Yo(e);return r.length>0?w.some(Xo.merge({cells:r},{generators:t.generators,clipboard:t.clipboard})):w.none()},Qi=function(n,t){return t.mergable()},Zi=function(n,t){return t.unmergable()},nu=function(n){return{is:function(t){return n===t},isValue:m.constant(!0),isError:m.constant(!1),getOr:m.constant(n),getOrThunk:m.constant(n),getOrDie:m.constant(n),or:function(t){return nu(n)},orThunk:function(t){return nu(n)},fold:function(t,e){return e(n)},map:function(t){return nu(t(n))},each:function(t){t(n)},bind:function(t){return t(n)},exists:function(t){return t(n)},forall:function(t){return t(n)},toOption:function(){return w.some(n)}}},tu=function(n){return{is:m.constant(!1),isValue:m.constant(!1),isError:m.constant(!0),getOr:m.identity,getOrThunk:function(n){return n()},getOrDie:function(){return m.die(n)()},or:function(n){return n},orThunk:function(n){return n()},fold:function(t,e){return t(n)},map:function(t){return tu(n)},each:m.noop,bind:function(t){return tu(n)},exists:m.constant(!1),forall:m.constant(!0),toOption:w.none}},eu={value:nu,error:tu},ru=function(n,t){return B.map(n,function(){return nn.elementnew(t.cell(),!0)})},ou=function(n,t,e){return n.concat(ui(t,function(t){return Qo.setCells(n[n.length-1],ru(n[n.length-1].cells(),e))}))},iu=function(n,t,e){return B.map(n,function(n){return Qo.setCells(n,n.cells().concat(ru(ai(0,t),e)))})},uu=function(n,t,e){if(n.row()>=t.length||n.column()>Qo.cellLength(t[0]))return eu.error("invalid start address out of table bounds, row: "+n.row()+", column: "+n.column());var r=t.slice(n.row()),o=r[0].cells().slice(n.column()),i=Qo.cellLength(e[0]),u=e.length;return eu.value({rowDelta:m.constant(r.length-u),colDelta:m.constant(o.length-i)})},au=function(n,t){var e=Qo.cellLength(n[0]),r=Qo.cellLength(t[0]);return{rowDelta:m.constant(0),colDelta:m.constant(e-r)}},cu=function(n,t,e){var r=t.colDelta()<0?iu:m.identity;return(t.rowDelta()<0?ou:m.identity)(r(n,Math.abs(t.colDelta()),e),Math.abs(t.rowDelta()),e)},lu=function(n,t,e,r){if(0===n.length)return n;for(var o=t.startRow();o<=t.finishRow();o++)for(var i=t.startCol();i<=t.finishCol();i++)Qo.mutateCell(n[o],i,nn.elementnew(r(),!1));return n},su=function(n,t,e,r){for(var o=!0,i=0;i<n.length;i++)for(var u=0;u<Qo.cellLength(n[0]);u++){var a=e(Qo.getCellElement(n[i],u),t);!0===a&&!1===o?Qo.mutateCell(n[i],u,nn.elementnew(r(),!0)):!0===a&&(o=!1)}return n},fu=function(n,t,e,r){if(t>0&&t<n.length){var o=n[t-1].cells(),i=(u=o,a=e,B.foldl(u,function(n,t){return B.exists(n,function(n){return a(n.element(),t.element())})?n:n.concat([t])},[]));B.each(i,function(o){for(var i=w.none(),u=t;u<n.length;u++)for(var a=0;a<Qo.cellLength(n[0]);a++){var c=n[u].cells()[a];e(c.element(),o.element())&&(i.isNone()&&(i=w.some(r())),i.each(function(t){Qo.mutateCell(n[u],a,nn.elementnew(t,!0))}))}})}var u,a;return n},du=function(n,t,e,r,o){return uu(n,t,e).map(function(i){var u=cu(t,i,r);return function(n,t,e,r,o){for(var i,u,a,c,l,s,f,d=n.row(),g=n.column(),p=d+e.length,h=g+Qo.cellLength(e[0]),v=d;v<p;v++)for(var b=g;b<h;b++){i=t,u=v,a=b,c=o,l=void 0,s=void 0,l=Qo.getCell(i[u],a),s=m.curry(c,l.element()),f=i[u],i.length>1&&Qo.cellLength(f)>1&&(a>0&&s(Qo.getCellElement(f,a-1))||a<f.length-1&&s(Qo.getCellElement(f,a+1))||u>0&&s(Qo.getCellElement(i[u-1],a))||u<i.length-1&&s(Qo.getCellElement(i[u+1],a)))&&su(t,Qo.getCellElement(t[v],b),o,r.cell);var w=Qo.getCellElement(e[v-d],b-g),y=r.replace(w);Qo.mutateCell(t[v],b,nn.elementnew(y,!0))}return t}(n,u,e,r,o)})},mu=function(n,t,e,r,o){fu(t,n,o,r.cell);var i=au(e,t),u=cu(e,i,r),a=au(t,u),c=cu(t,a,r);return c.slice(0,n).concat(u).concat(c.slice(n,c.length))},gu=function(n,t,e,r,o){var i=n.slice(0,t),u=n.slice(t),a=Qo.mapCells(n[e],function(e,i){return t>0&&t<n.length&&r(Qo.getCellElement(n[t-1],i),Qo.getCellElement(n[t],i))?Qo.getCell(n[t],i):nn.elementnew(o(e.element(),r),!0)});return i.concat([a]).concat(u)},pu=function(n,t,e,r,o){return B.map(n,function(n){var i=t>0&&t<Qo.cellLength(n)&&r(Qo.getCellElement(n,t-1),Qo.getCellElement(n,t))?Qo.getCell(n,t):nn.elementnew(o(Qo.getCellElement(n,e),r),!0);return Qo.addCell(n,t,i)})},hu=function(n,t,e,r,o){var i=e+1;return B.map(n,function(n,u){var a=u===t?nn.elementnew(o(Qo.getCellElement(n,e),r),!0):Qo.getCell(n,e);return Qo.addCell(n,i,a)})},vu=function(n,t,e,r,o){var i=t+1,u=n.slice(0,i),a=n.slice(i),c=Qo.mapCells(n[t],function(n,t){return t===e?nn.elementnew(o(n.element(),r),!0):n});return u.concat([c]).concat(a)},bu=function(n,t,e){return n.slice(0,t).concat(n.slice(e+1))},wu=function(n,t,e){var r=B.map(n,function(n){var r=n.cells().slice(0,t).concat(n.cells().slice(e+1));return nn.rowcells(r,n.section())});return B.filter(r,function(n){return n.cells().length>0})},yu=function(n,t,e,r){return B.map(n,function(n){return Qo.mapCells(n,function(n){return o=n,B.exists(t,function(n){return e(o.element(),n.element())})?nn.elementnew(r(n.element(),e),!0):n;var o})})},xu=function(n,t,e,r){return Qo.getCellElement(n[t],e)!==undefined&&t>0&&r(Qo.getCellElement(n[t-1],e),Qo.getCellElement(n[t],e))},Cu=function(n,t,e){return t>0&&e(Qo.getCellElement(n,t-1),Qo.getCellElement(n,t))},Su=function(n,t,e,r){var o=B.bind(n,function(r,o){return xu(n,o,t,e)||Cu(r,t,e)?[]:[Qo.getCell(r,t)]});return yu(n,o,e,r)},Ru=function(n,t,e,r){var o=n[t],i=B.bind(o.cells(),function(r,i){return xu(n,t,i,e)||Cu(o,i,e)?[]:[r]});return yu(n,i,e,r)},Tu=function(n){return{fold:n}},Du=function(){return Tu(function(n,t,e,r,o){return n()})},Au=function(n){return Tu(function(t,e,r,o,i){return e(n)})},ku=function(n,t){return Tu(function(e,r,o,i,u){return o(n,t)})},Nu=function(n,t,e){return Tu(function(r,o,i,u,a){return u(n,t,e)})},Ou=function(n,t){return Tu(function(e,r,o,i,u){return u(n,t)})},Eu=function(n,t,e,r){var o,i,u=n.slice(0),a=(i=t,0===(o=n).length?Du():1===o.length?Au(0):0===i?ku(0,1):i===o.length-1?Ou(i-1,i):i>0&&i<o.length-1?Nu(i-1,i,i+1):Du()),c=function(n){return B.map(n,m.constant(0))},l=m.constant(c(u)),s=function(n,t){if(e>=0){var o=Math.max(r.minCellWidth(),u[t]-e);return c(u.slice(0,n)).concat([e,o-u[t]]).concat(c(u.slice(t+1)))}var i=Math.max(r.minCellWidth(),u[n]+e),a=u[n]-i;return c(u.slice(0,n)).concat([i-u[n],a]).concat(c(u.slice(t+1)))},f=s;return a.fold(l,function(n){return r.singleColumnWidth(u[n],e)},f,function(n,t,e){return s(t,e)},function(n,t){if(e>=0)return c(u.slice(0,t)).concat([e]);var o=Math.max(r.minCellWidth(),u[t]+e);return c(u.slice(0,t)).concat([o-u[t]])})},Bu=function(n,t){return Dt.has(n,t)&&parseInt(Dt.get(n,t),10)>1},Iu={hasColspan:function(n){return Bu(n,"colspan")},hasRowspan:function(n){return Bu(n,"rowspan")},minWidth:m.constant(10),minHeight:m.constant(10),getInt:function(n,t){return parseInt(re.get(n,t),10)}},Pu=function(n,t,e){return re.getRaw(n,t).fold(function(){return e(n)+"px"},function(n){return n})},Wu=function(n){return Pu(n,"width",no.getPixelWidth)},_u=function(n){return Pu(n,"height",no.getHeight)},Mu=function(n,t,e,r,o){var i=si(n),u=B.map(i,function(n){return n.map(t.edge)});return B.map(i,function(n,t){return n.filter(m.not(Iu.hasColspan)).fold(function(){var n=ci(u,t);return r(n)},function(n){return e(n,o)})})},Lu=function(n){return n.map(function(n){return n+"px"}).getOr("")},qu=function(n,t,e,r){var o=fi(n),i=B.map(o,function(n){return n.map(t.edge)});return B.map(o,function(n,t){return n.filter(m.not(Iu.hasRowspan)).fold(function(){var n=ci(i,t);return r(n)},function(n){return e(n)})})},zu={getRawWidths:function(n,t){return Mu(n,t,Wu,Lu)},getPixelWidths:function(n,t,e){return Mu(n,t,no.getPixelWidth,function(n){return n.getOrThunk(e.minCellWidth)},e)},getPercentageWidths:function(n,t,e){return Mu(n,t,no.getPercentageWidth,function(n){return n.fold(function(){return e.minCellWidth()},function(n){return n/e.pixelWidth()*100})},e)},getPixelHeights:function(n,t){return qu(n,t,no.getHeight,function(n){return n.getOrThunk(Iu.minHeight)})},getRawHeights:function(n,t){return qu(n,t,_u,Lu)}},Fu=function(n,t,e){for(var r=0,o=n;o<t;o++)r+=e[o]!==undefined?e[o]:0;return r},ju=function(n,t){var e=Kt.justCells(n);return B.map(e,function(n){var e=Fu(n.column(),n.column()+n.colspan(),t);return{element:n.element,width:m.constant(e),colspan:n.colspan}})},Hu=function(n,t){var e=Kt.justCells(n);return B.map(e,function(n){var e=Fu(n.row(),n.row()+n.rowspan(),t);return{element:n.element,height:m.constant(e),rowspan:n.rowspan}})},Vu=function(n,t){return B.map(n.all(),function(n,e){return{element:n.element,height:m.constant(t[e])}})},Uu=function(n){var t=parseInt(n,10),e=m.identity;return{width:m.constant(t),pixelWidth:m.constant(t),getWidths:zu.getPixelWidths,getCellDelta:e,singleColumnWidth:function(n,t){return[Math.max(Iu.minWidth(),n+t)-n]},minCellWidth:Iu.minWidth,setElementWidth:no.setPixelWidth,setTableWidth:function(n,t,e){var r=B.foldr(t,function(n,t){return n+t},0);no.setPixelWidth(n,r)}}},Gu=function(n,t){if(no.percentageBasedSizeRegex().test(t)){var e=no.percentageBasedSizeRegex().exec(t);return o=e[1],i=n,u=parseFloat(o),a=zr(i),{width:m.constant(u),pixelWidth:m.constant(a),getWidths:zu.getPercentageWidths,getCellDelta:function(n){return n/a*100},singleColumnWidth:function(n,t){return[100-n]},minCellWidth:function(){return Iu.minWidth()/a*100},setElementWidth:no.setPercentageWidth,setTableWidth:function(n,t,e){var r=u+e;no.setPercentageWidth(n,r)}}}if(no.pixelBasedSizeRegex().test(t)){var r=no.pixelBasedSizeRegex().exec(t);return Uu(r[1])}var o,i,u,a,c=zr(n);return Uu(c)},Xu=function(n){return no.getRawWidth(n).fold(function(){var t=zr(n);return Uu(t)},function(t){return Gu(n,t)})},Yu=function(n){return Kt.generate(n)},$u=function(n){var t=Gt(n);return Yu(t)},Ku=function(n,t,e,r){var o=Xu(n),i=o.getCellDelta(t),u=$u(n),a=o.getWidths(u,r,o),c=Eu(a,e,i,o),l=B.map(c,function(n,t){return n+a[t]}),s=ju(u,l);B.each(s,function(n){o.setElementWidth(n.element(),n.width())}),e===u.grid().columns()-1&&o.setTableWidth(n,l,i)},Ju=function(n,t,e,r){var o=$u(n),i=zu.getPixelHeights(o,r),u=B.map(i,function(n,r){return e===r?Math.max(t+n,Iu.minHeight()):n}),a=Hu(o,u),c=Vu(o,u);B.each(c,function(n){no.setHeight(n.element(),n.height())}),B.each(a,function(n){no.setHeight(n.element(),n.height())});var l,s=(l=u,B.foldr(l,function(n,t){return n+t},0));no.setHeight(n,s)},Qu=function(n,t,e){var r=Xu(n),o=Yu(t),i=r.getWidths(o,e,r),u=ju(o,i);B.each(u,function(n){r.setElementWidth(n.element(),n.width())});var a=B.foldr(i,function(n,t){return t+n},0);u.length>0&&r.setElementWidth(n,a)},Zu=function(n){0===Ht(n).length&&le.remove(n)},na=X.immutable("grid","cursor"),ta=function(n,t,e){return ea(n,t,e).orThunk(function(){return ea(n,0,0)})},ea=function(n,t,e){return w.from(n[t]).bind(function(n){return w.from(n.cells()[e]).bind(function(n){return w.from(n.element())})})},ra=function(n,t,e){return na(n,ea(n,t,e))},oa=function(n){return B.foldl(n,function(n,t){return B.exists(n,function(n){return n.row()===t.row()})?n:n.concat([t])},[]).sort(function(n,t){return n.row()-t.row()})},ia=function(n){return B.foldl(n,function(n,t){return B.exists(n,function(n){return n.column()===t.column()})?n:n.concat([t])},[]).sort(function(n,t){return n.column()-t.column()})},ua=function(n,t,e){var r=Xt(n,e),o=Kt.generate(r);return ei(o,t,!0)},aa=Qu,ca={insertRowBefore:Gi(function(n,t,e,r){var o=t.row(),i=t.row(),u=gu(n,i,o,e,r.getOrInit);return ra(u,i,t.column())},Yi,m.noop,m.noop,Oo),insertRowsBefore:Gi(function(n,t,e,r){var o=t[0].row(),i=t[0].row(),u=oa(t),a=B.foldl(u,function(n,t){return gu(n,i,o,e,r.getOrInit)},n);return ra(a,i,t[0].column())},$i,m.noop,m.noop,Oo),insertRowAfter:Gi(function(n,t,e,r){var o=t.row(),i=t.row()+t.rowspan(),u=gu(n,i,o,e,r.getOrInit);return ra(u,i,t.column())},Yi,m.noop,m.noop,Oo),insertRowsAfter:Gi(function(n,t,e,r){var o=oa(t),i=o[o.length-1].row(),u=o[o.length-1].row()+o[o.length-1].rowspan(),a=B.foldl(o,function(n,t){return gu(n,u,i,e,r.getOrInit)},n);return ra(a,u,t[0].column())},$i,m.noop,m.noop,Oo),insertColumnBefore:Gi(function(n,t,e,r){var o=t.column(),i=t.column(),u=pu(n,i,o,e,r.getOrInit);return ra(u,t.row(),i)},Yi,aa,m.noop,Oo),insertColumnsBefore:Gi(function(n,t,e,r){var o=ia(t),i=o[0].column(),u=o[0].column(),a=B.foldl(o,function(n,t){return pu(n,u,i,e,r.getOrInit)},n);return ra(a,t[0].row(),u)},$i,aa,m.noop,Oo),insertColumnAfter:Gi(function(n,t,e,r){var o=t.column(),i=t.column()+t.colspan(),u=pu(n,i,o,e,r.getOrInit);return ra(u,t.row(),i)},Yi,aa,m.noop,Oo),insertColumnsAfter:Gi(function(n,t,e,r){var o=t[t.length-1].column(),i=t[t.length-1].column()+t[t.length-1].colspan(),u=ia(t),a=B.foldl(u,function(n,t){return pu(n,i,o,e,r.getOrInit)},n);return ra(a,t[0].row(),i)},$i,aa,m.noop,Oo),splitCellIntoColumns:Gi(function(n,t,e,r){var o=hu(n,t.row(),t.column(),e,r.getOrInit);return ra(o,t.row(),t.column())},Yi,aa,m.noop,Oo),splitCellIntoRows:Gi(function(n,t,e,r){var o=vu(n,t.row(),t.column(),e,r.getOrInit);return ra(o,t.row(),t.column())},Yi,m.noop,m.noop,Oo),eraseColumns:Gi(function(n,t,e,r){var o=ia(t),i=wu(n,o[0].column(),o[o.length-1].column()),u=ta(i,t[0].row(),t[0].column());return na(i,u)},$i,aa,Zu,Oo),eraseRows:Gi(function(n,t,e,r){var o=oa(t),i=bu(n,o[0].row(),o[o.length-1].row()),u=ta(i,t[0].row(),t[0].column());return na(i,u)},$i,m.noop,Zu,Oo),makeColumnHeader:Gi(function(n,t,e,r){var o=Su(n,t.column(),e,r.replaceOrInit);return ra(o,t.row(),t.column())},Yi,m.noop,m.noop,Eo("row","th")),unmakeColumnHeader:Gi(function(n,t,e,r){var o=Su(n,t.column(),e,r.replaceOrInit);return ra(o,t.row(),t.column())},Yi,m.noop,m.noop,Eo(null,"td")),makeRowHeader:Gi(function(n,t,e,r){var o=Ru(n,t.row(),e,r.replaceOrInit);return ra(o,t.row(),t.column())},Yi,m.noop,m.noop,Eo("col","th")),unmakeRowHeader:Gi(function(n,t,e,r){var o=Ru(n,t.row(),e,r.replaceOrInit);return ra(o,t.row(),t.column())},Yi,m.noop,m.noop,Eo(null,"td")),mergeCells:Gi(function(n,t,e,r){var o=t.cells();Ho(o);var i=lu(n,t.bounds(),e,m.constant(o[0]));return na(i,w.from(o[0]))},Qi,m.noop,m.noop,Bo),unmergeCells:Gi(function(n,t,e,r){var o=B.foldr(t,function(n,t){return su(n,t,e,r.combine(t))},n);return na(o,w.from(t[0]))},Zi,aa,m.noop,Bo),pasteCells:Gi(function(n,t,e,r){var o,i,u,a,c=(o=t.clipboard(),i=t.generators(),u=Gt(o),a=Kt.generate(u),ei(a,i,!0)),l=nn.address(t.row(),t.column());return du(l,n,c,t.generators(),e).fold(function(){return na(n,w.some(t.element()))},function(n){var e=ta(n,t.row(),t.column());return na(n,e)})},Ki,aa,m.noop,Oo),pasteRowsBefore:Gi(function(n,t,e,r){var o=n[t.cells[0].row()],i=t.cells[0].row(),u=ua(t.clipboard(),t.generators(),o),a=mu(i,n,u,t.generators(),e),c=ta(a,t.cells[0].row(),t.cells[0].column());return na(a,c)},Ji,m.noop,m.noop,Oo),pasteRowsAfter:Gi(function(n,t,e,r){var o=n[t.cells[0].row()],i=t.cells[t.cells.length-1].row()+t.cells[t.cells.length-1].rowspan(),u=ua(t.clipboard(),t.generators(),o),a=mu(i,n,u,t.generators(),e),c=ta(a,t.cells[0].row(),t.cells[0].column());return na(a,c)},Ji,m.noop,m.noop,Oo)},la=function(n){return en.fromDom(n.getBody())},sa={getBody:la,getIsRoot:function(n){return function(t){return ot.eq(t,la(n))}},addSizeSuffix:function(n){return/^[0-9]+$/.test(n)&&(n+="px"),n},removePxSuffix:function(n){return n?n.replace(/px$/,""):""}},fa=function(n){return"rtl"===re.get(n,"direction")?"rtl":"ltr"},da={onDirection:function(n,t){return function(e){return"rtl"===fa(e)?t:n}},getDirection:fa},ma={isRtl:m.constant(!1)},ga={isRtl:m.constant(!0)},pa=function(n){return"rtl"===da.getDirection(n)?ga:ma},ha=function(n,t){var e,r=function(n){return"table"===xt.name(sa.getBody(n))};!1!==n.settings.table_clone_elements&&("string"==typeof n.settings.table_clone_elements?e=n.settings.table_clone_elements.split(/[ ,]/):Array.isArray(n.settings.table_clone_elements)&&(e=n.settings.table_clone_elements));var o=w.from(e),i=function(t,e,r,i){return function(u,a){var c=Bt.descendants(u,"td[data-mce-style],th[data-mce-style]");B.each(c,function(n){Dt.remove(n,"data-mce-style")});var l=i(),s=en.fromDom(n.getDoc()),f=xo(pa),d=Oe(r,s,o);return e(u)?t(l,u,a,d,f).bind(function(t){return B.each(t.newRows(),function(t){var e;e=t,n.fire("newrow",{node:e.dom()}),e.dom()}),B.each(t.newCells(),function(t){var e;e=t,n.fire("newcell",{node:e.dom()}),e.dom()}),t.cursor().map(function(t){var e=n.dom.createRng();return e.setStart(t.dom(),0),e.setEnd(t.dom(),0),e})}):w.none()}};return{deleteRow:i(ca.eraseRows,function(t){var e=Co(t);return!1===r(n)||e.rows()>1},m.noop,t),deleteColumn:i(ca.eraseColumns,function(t){var e=Co(t);return!1===r(n)||e.columns()>1},m.noop,t),insertRowsBefore:i(ca.insertRowsBefore,m.always,m.noop,t),insertRowsAfter:i(ca.insertRowsAfter,m.always,m.noop,t),insertColumnsBefore:i(ca.insertColumnsBefore,m.always,to,t),insertColumnsAfter:i(ca.insertColumnsAfter,m.always,to,t),mergeCells:i(ca.mergeCells,m.always,m.noop,t),unmergeCells:i(ca.unmergeCells,m.always,m.noop,t),pasteRowsBefore:i(ca.pasteRowsBefore,m.always,m.noop,t),pasteRowsAfter:i(ca.pasteRowsAfter,m.always,m.noop,t),pasteCells:i(ca.pasteCells,m.always,m.noop,t)}},va=function(n,t,e){var r=Gt(n),o=Kt.generate(r);return $i(o,t).map(function(n){var t=ei(o,e,!1).slice(n[0].row(),n[n.length-1].row()+n[n.length-1].rowspan()),r=Xi(t,e);return ii(r)})},ba=tinymce.util.Tools.resolve("tinymce.util.Tools"),wa=tinymce.util.Tools.resolve("tinymce.Env"),ya={applyAlign:function(n,t,e){e&&n.formatter.apply("align"+e,{},t)},applyVAlign:function(n,t,e){e&&n.formatter.apply("valign"+e,{},t)},unApplyAlign:function(n,t){ba.each("left center right".split(" "),function(e){n.formatter.remove("align"+e,{},t)})},unApplyVAlign:function(n,t){ba.each("top middle bottom".split(" "),function(e){n.formatter.remove("valign"+e,{},t)})},getTDTHOverallStyle:function(n,t,e){var r;return r=function(t,r){for(var o=0;o<r.length;o++){var i=n.getStyle(r[o],e);if(void 0===t&&(t=i),t!==i)return""}return t}(r,n.select("td,th",t))}},xa=function(n,t){var e=n.dom,r=t.control.rootControl,o=r.toJSON(),i=e.parseStyle(o.style);"style"===t.control.name()?(r.find("#borderStyle").value(i["border-style"]||"")[0].fire("select"),r.find("#borderColor").value(i["border-color"]||"")[0].fire("change"),r.find("#backgroundColor").value(i["background-color"]||"")[0].fire("change"),r.find("#width").value(i.width||"").fire("change"),r.find("#height").value(i.height||"").fire("change")):(i["border-style"]=o.borderStyle,i["border-color"]=o.borderColor,i["background-color"]=o.backgroundColor,i.width=o.width?sa.addSizeSuffix(o.width):"",i.height=o.height?sa.addSizeSuffix(o.height):""),r.find("#style").value(e.serializeStyle(e.parseStyle(e.serializeStyle(i))))},Ca={createStyleForm:function(n){var t=function(){var t=n.settings.color_picker_callback;if(t)return function(e){return t.call(n,function(n){e.control.value(n).fire("change")},e.control.value())}};return{title:"Advanced",type:"form",defaults:{onchange:m.curry(xa,n)},items:[{label:"Style",name:"style",type:"textbox"},{type:"form",padding:0,formItemDefaults:{layout:"grid",alignH:["start","right"]},defaults:{size:7},items:[{label:"Border style",type:"listbox",name:"borderStyle",width:90,onselect:m.curry(xa,n),values:[{text:"Select...",value:""},{text:"Solid",value:"solid"},{text:"Dotted",value:"dotted"},{text:"Dashed",value:"dashed"},{text:"Double",value:"double"},{text:"Groove",value:"groove"},{text:"Ridge",value:"ridge"},{text:"Inset",value:"inset"},{text:"Outset",value:"outset"},{text:"None",value:"none"},{text:"Hidden",value:"hidden"}]},{label:"Border color",type:"colorbox",name:"borderColor",onaction:t()},{label:"Background color",type:"colorbox",name:"backgroundColor",onaction:t()}]}]}},buildListItems:function(n,t,e){var r=function(n,e){return e=e||[],ba.each(n,function(n){var o={text:n.text||n.title};n.menu?o.menu=r(n.menu):(o.value=n.value,t&&t(o)),e.push(o)}),e};return r(n,e||[])},updateStyleField:xa,extractAdvancedStyles:function(n,t){var e=n.parseStyle(n.getAttrib(t,"style")),r={};return e["border-style"]&&(r.borderStyle=e["border-style"]),e["border-color"]&&(r.borderColor=e["border-color"]),e["background-color"]&&(r.backgroundColor=e["background-color"]),r.style=n.serializeStyle(e),r}};function Sa(n,t,e,r){if("TD"===t.tagName||"TH"===t.tagName)n.setStyle(t,e,r);else if(t.children)for(var o=0;o<t.children.length;o++)Sa(n,t.children[o],e,r)}var Ra=function(n,t,e){var r,o,i=n.dom;Ca.updateStyleField(n,e),!1===(o=e.control.rootControl.toJSON())["class"]&&delete o["class"],n.undoManager.transact(function(){t||(t=Pr.insert(n,o.cols||1,o.rows||1)),function(n,t,e){var r=n.dom,o={},i={};if(o["class"]=e["class"],i.height=sa.addSizeSuffix(e.height),r.getAttrib(t,"width")&&!n.settings.table_style_by_css?o.width=sa.removePxSuffix(e.width):i.width=sa.addSizeSuffix(e.width),n.settings.table_style_by_css?(i["border-width"]=sa.addSizeSuffix(e.border),i["border-spacing"]=sa.addSizeSuffix(e.cellspacing),ba.extend(o,{"data-mce-border-color":e.borderColor,"data-mce-cell-padding":e.cellpadding,"data-mce-border":e.border})):ba.extend(o,{border:e.border,cellpadding:e.cellpadding,cellspacing:e.cellspacing}),n.settings.table_style_by_css&&t.children)for(var u=0;u<t.children.length;u++)Sa(r,t.children[u],{"border-width":sa.addSizeSuffix(e.border),"border-color":e.borderColor,padding:sa.addSizeSuffix(e.cellpadding)});e.style?ba.extend(i,r.parseStyle(e.style)):i=ba.extend({},r.parseStyle(r.getAttrib(t,"style")),i),o.style=r.serializeStyle(i),r.setAttribs(t,o)}(n,t,o),(r=i.select("caption",t)[0])&&!o.caption&&i.remove(r),!r&&o.caption&&((r=i.create("caption")).innerHTML=wa.ie?"\xa0":'<br data-mce-bogus="1"/>',t.insertBefore(r,t.firstChild)),ya.unApplyAlign(n,t),o.align&&ya.applyAlign(n,t,o.align),n.focus(),n.addVisual()})},Ta=function(n,t){var e,r,o,i,u,a,c,l,s,f=n.dom,d={};!0===t?(e=f.getParent(n.selection.getStart(),"table"))&&(c=e,l=(a=n).dom,s={width:l.getStyle(c,"width")||l.getAttrib(c,"width"),height:l.getStyle(c,"height")||l.getAttrib(c,"height"),cellspacing:l.getStyle(c,"border-spacing")||l.getAttrib(c,"cellspacing"),cellpadding:l.getAttrib(c,"data-mce-cell-padding")||l.getAttrib(c,"cellpadding")||ya.getTDTHOverallStyle(a.dom,c,"padding"),border:l.getAttrib(c,"data-mce-border")||l.getAttrib(c,"border")||ya.getTDTHOverallStyle(a.dom,c,"border"),borderColor:l.getAttrib(c,"data-mce-border-color"),caption:!!l.select("caption",c)[0],"class":l.getAttrib(c,"class")},ba.each("left center right".split(" "),function(n){a.formatter.matchNode(c,"align"+n)&&(s.align=n)}),!1!==a.settings.table_advtab&&ba.extend(s,Ca.extractAdvancedStyles(l,c)),d=s):(r={label:"Cols",name:"cols"},o={label:"Rows",name:"rows"}),n.settings.table_class_list&&(d["class"]&&(d["class"]=d["class"].replace(/\s*mce\-item\-table\s*/g,"")),i={name:"class",type:"listbox",label:"Class",values:Ca.buildListItems(n.settings.table_class_list,function(t){t.value&&(t.textStyle=function(){return n.formatter.getCssText({block:"table",classes:[t.value]})})})}),u={type:"form",layout:"flex",direction:"column",labelGapCalc:"children",padding:0,items:[{type:"form",labelGapCalc:!1,padding:0,layout:"grid",columns:2,defaults:{type:"textbox",maxWidth:50},items:!1!==n.settings.table_appearance_options?[r,o,{label:"Width",name:"width",onchange:m.curry(Ca.updateStyleField,n)},{label:"Height",name:"height",onchange:m.curry(Ca.updateStyleField,n)},{label:"Cell spacing",name:"cellspacing"},{label:"Cell padding",name:"cellpadding"},{label:"Border",name:"border"},{label:"Caption",name:"caption",type:"checkbox"}]:[r,o,{label:"Width",name:"width",onchange:m.curry(Ca.updateStyleField,n)},{label:"Height",name:"height",onchange:m.curry(Ca.updateStyleField,n)}]},{label:"Alignment",name:"align",type:"listbox",text:"None",values:[{text:"None",value:""},{text:"Left",value:"left"},{text:"Center",value:"center"},{text:"Right",value:"right"}]},i]},!1!==n.settings.table_advtab?n.windowManager.open({title:"Table properties",data:d,bodyType:"tabpanel",body:[{title:"General",type:"form",items:u},Ca.createStyleForm(n)],onsubmit:m.curry(Ra,n,e)}):n.windowManager.open({title:"Table properties",data:d,body:u,onsubmit:m.curry(Ra,n,e)})},Da=function(n,t,e){var r=n.getParent(t,"table"),o=t.parentNode,i=n.select(e,r)[0];i||(i=n.create(e),r.firstChild?"CAPTION"===r.firstChild.nodeName?n.insertAfter(i,r.firstChild):r.insertBefore(i,r.firstChild):r.appendChild(i)),i.appendChild(t),o.hasChildNodes()||n.remove(o)};function Aa(n,t,e){var r,o=n.dom;function i(n,t,e){e&&o.setAttrib(n,t,e)}Ca.updateStyleField(n,e),r=e.control.rootControl.toJSON(),n.undoManager.transact(function(){ba.each(t,function(e){var u,a,c;i(e,"scope",r.scope),i(e,"style",r.style),i(e,"class",r["class"]),u=e,a="height",(c=sa.addSizeSuffix(r.height))&&o.setStyle(u,a,c),r.type!==e.parentNode.nodeName.toLowerCase()&&Da(n.dom,e,r.type),1===t.length&&ya.unApplyAlign(n,e),r.align&&ya.applyAlign(n,e,r.align)}),n.focus()})}var ka=function(n){var t,e,r,o,i,u,a,c,l,s,f=n.dom,d=[];t=f.getParent(n.selection.getStart(),"table"),e=f.getParent(n.selection.getStart(),"td,th"),ba.each(t.rows,function(n){ba.each(n.cells,function(t){if(f.getAttrib(t,"data-mce-selected")||t===e)return d.push(n),!1})}),(r=d[0])&&(d.length>1?i={height:"",scope:"","class":"",align:"",type:r.parentNode.nodeName.toLowerCase()}:(c=r,l=(a=n).dom,(s={height:l.getStyle(c,"height")||l.getAttrib(c,"height"),scope:l.getAttrib(c,"scope"),"class":l.getAttrib(c,"class")}).type=c.parentNode.nodeName.toLowerCase(),ba.each("left center right".split(" "),function(n){a.formatter.matchNode(c,"align"+n)&&(s.align=n)}),!1!==a.settings.table_row_advtab&&ba.extend(s,Ca.extractAdvancedStyles(l,c)),i=s),n.settings.table_row_class_list&&(o={name:"class",type:"listbox",label:"Class",values:Ca.buildListItems(n.settings.table_row_class_list,function(t){t.value&&(t.textStyle=function(){return n.formatter.getCssText({block:"tr",classes:[t.value]})})})}),u={type:"form",columns:2,padding:0,defaults:{type:"textbox"},items:[{type:"listbox",name:"type",label:"Row type",text:"Header",maxWidth:null,values:[{text:"Header",value:"thead"},{text:"Body",value:"tbody"},{text:"Footer",value:"tfoot"}]},{type:"listbox",name:"align",label:"Alignment",text:"None",maxWidth:null,values:[{text:"None",value:""},{text:"Left",value:"left"},{text:"Center",value:"center"},{text:"Right",value:"right"}]},{label:"Height",name:"height"},o]},!1!==n.settings.table_row_advtab?n.windowManager.open({title:"Row properties",data:i,bodyType:"tabpanel",body:[{title:"General",type:"form",items:u},Ca.createStyleForm(n)],onsubmit:m.curry(Aa,n,d)}):n.windowManager.open({title:"Row properties",data:i,body:u,onsubmit:m.curry(Aa,n,d)}))},Na=function(n,t,e){var r,o=n.dom;function i(n,t,e){e&&o.setAttrib(n,t,e)}function u(n,t,e){e&&o.setStyle(n,t,e)}Ca.updateStyleField(n,e),r=e.control.rootControl.toJSON(),n.undoManager.transact(function(){ba.each(t,function(e){var a,c;i(e,"scope",r.scope),1===t.length?i(e,"style",r.style):(a=e,c=r.style,a.style.cssText+=";"+c),i(e,"class",r["class"]),u(e,"width",sa.addSizeSuffix(r.width)),u(e,"height",sa.addSizeSuffix(r.height)),r.type&&e.nodeName.toLowerCase()!==r.type&&(e=o.rename(e,r.type)),1===t.length&&(ya.unApplyAlign(n,e),ya.unApplyVAlign(n,e)),r.align&&ya.applyAlign(n,e,r.align),r.valign&&ya.applyVAlign(n,e,r.valign)}),n.focus()})},Oa=function(n){var t,e,r,o=[];if(o=n.dom.select("td[data-mce-selected],th[data-mce-selected]"),t=n.dom.getParent(n.selection.getStart(),"td,th"),!o.length&&t&&o.push(t),t=t||o[0]){var i,u,a,c;o.length>1?e={width:"",height:"",scope:"","class":"",align:"",style:"",type:t.nodeName.toLowerCase()}:(u=t,a=(i=n).dom,(c={width:a.getStyle(u,"width")||a.getAttrib(u,"width"),height:a.getStyle(u,"height")||a.getAttrib(u,"height"),scope:a.getAttrib(u,"scope"),"class":a.getAttrib(u,"class")}).type=u.nodeName.toLowerCase(),ba.each("left center right".split(" "),function(n){i.formatter.matchNode(u,"align"+n)&&(c.align=n)}),ba.each("top middle bottom".split(" "),function(n){i.formatter.matchNode(u,"valign"+n)&&(c.valign=n)}),!1!==i.settings.table_cell_advtab&&ba.extend(c,Ca.extractAdvancedStyles(a,u)),e=c),n.settings.table_cell_class_list&&(r={name:"class",type:"listbox",label:"Class",values:Ca.buildListItems(n.settings.table_cell_class_list,function(t){t.value&&(t.textStyle=function(){return n.formatter.getCssText({block:"td",classes:[t.value]})})})});var l={type:"form",layout:"flex",direction:"column",labelGapCalc:"children",padding:0,items:[{type:"form",layout:"grid",columns:2,labelGapCalc:!1,padding:0,defaults:{type:"textbox",maxWidth:50},items:[{label:"Width",name:"width",onchange:m.curry(Ca.updateStyleField,n)},{label:"Height",name:"height",onchange:m.curry(Ca.updateStyleField,n)},{label:"Cell type",name:"type",type:"listbox",text:"None",minWidth:90,maxWidth:null,values:[{text:"Cell",value:"td"},{text:"Header cell",value:"th"}]},{label:"Scope",name:"scope",type:"listbox",text:"None",minWidth:90,maxWidth:null,values:[{text:"None",value:""},{text:"Row",value:"row"},{text:"Column",value:"col"},{text:"Row group",value:"rowgroup"},{text:"Column group",value:"colgroup"}]},{label:"H Align",name:"align",type:"listbox",text:"None",minWidth:90,maxWidth:null,values:[{text:"None",value:""},{text:"Left",value:"left"},{text:"Center",value:"center"},{text:"Right",value:"right"}]},{label:"V Align",name:"valign",type:"listbox",text:"None",minWidth:90,maxWidth:null,values:[{text:"None",value:""},{text:"Top",value:"top"},{text:"Middle",value:"middle"},{text:"Bottom",value:"bottom"}]}]},r]};!1!==n.settings.table_cell_advtab?n.windowManager.open({title:"Cell properties",bodyType:"tabpanel",data:e,body:[{title:"General",type:"form",items:l},Ca.createStyleForm(n)],onsubmit:m.curry(Na,n,o)}):n.windowManager.open({title:"Cell properties",data:e,body:l,onsubmit:m.curry(Na,n,o)})}},Ea=ba.each,Ba=w.none(),Ia={registerCommands:function(n,t,e,r){var o=sa.getIsRoot(n),i=function(){return en.fromDom(n.dom.getParent(n.selection.getStart(),"th,td"))},u=function(n){return Vt(n,o)},a=function(t){var o=i();u(o).each(function(i){var u=kr.forMenu(r,i,o);t(i,u).each(function(t){n.selection.setRng(t),n.focus(),e.clear(i)})})},c=function(t){var e=i();return u(e).bind(function(t){var o=en.fromDom(n.getDoc()),i=kr.forMenu(r,t,e),u=Oe(m.noop,o,w.none());return va(t,i,u)})},l=function(t){Ba.each(function(o){var a=B.map(o,function(n){return he(n)}),c=i();u(c).bind(function(o){var i=en.fromDom(n.getDoc()),u=Ee(i),l=kr.pasteRows(r,o,c,a,u);t(o,l).each(function(t){n.selection.setRng(t),n.focus(),e.clear(o)})})})};Ea({mceTableSplitCells:function(){a(t.unmergeCells)},mceTableMergeCells:function(){a(t.mergeCells)},mceTableInsertRowBefore:function(){a(t.insertRowsBefore)},mceTableInsertRowAfter:function(){a(t.insertRowsAfter)},mceTableInsertColBefore:function(){a(t.insertColumnsBefore)},mceTableInsertColAfter:function(){a(t.insertColumnsAfter)},mceTableDeleteCol:function(){a(t.deleteColumn)},mceTableDeleteRow:function(){a(t.deleteRow)},mceTableCutRow:function(n){Ba=c(),a(t.deleteRow)},mceTableCopyRow:function(n){Ba=c()},mceTablePasteRowBefore:function(n){l(t.pasteRowsBefore)},mceTablePasteRowAfter:function(n){l(t.pasteRowsAfter)},mceTableDelete:function(){var t=en.fromDom(n.dom.getParent(n.selection.getStart(),"th,td"));Vt(t,o).filter(m.not(o)).each(function(t){var e=en.fromText("");ue.after(t,e),le.remove(t);var r=n.dom.createRng();r.setStart(e.dom(),0),r.setEnd(e.dom(),0),n.selection.setRng(r)})}},function(t,e){n.addCommand(e,t)}),Ea({mceInsertTable:m.curry(Ta,n),mceTableProps:m.curry(Ta,n,!0),mceTableRowProps:m.curry(ka,n),mceTableCellProps:m.curry(Oa,n)},function(t,e){n.addCommand(e,function(n,e){t(e)})})},getClipboardRows:function(){return Ba.fold(function(){},function(n){return B.map(n,function(n){return n.dom()})})},setClipboardRows:function(n){var t=B.map(n,en.fromDom);Ba=w.from(t)}},Pa=function(n){var t=w.from(n.dom().documentElement).map(en.fromDom).getOr(n);return{parent:m.constant(t),view:m.constant(n),origin:m.constant(oo(0,0))}},Wa=function(n,t){return{parent:m.constant(t),view:m.constant(n),origin:m.constant(oo(0,0))}},_a=function(n){var t=X.immutable.apply(null,n),e=[];return{bind:function(n){if(n===undefined)throw"Event bind error: undefined handler";e.push(n)},unbind:function(n){e=B.filter(e,function(t){return t!==n})},trigger:function(){var n=t.apply(null,arguments);B.each(e,function(t){t(n)})}}},Ma=function(n){return{registry:L.map(n,function(n){return{bind:n.bind,unbind:n.unbind}}),trigger:L.map(n,function(n){return n.trigger})}},La={mode:Ao.exactly(["compare","extract","mutate","sink"]),sink:Ao.exactly(["element","start","stop","destroy"]),api:Ao.exactly(["forceDrop","drop","move","delayDrop"])},qa={resolve:gi("ephox-dragster").resolve},za=function(n,t){return function(e){if(n(e)){var r,o,i,u,a,c,l,s=en.fromDom(e.target),f=function(){e.stopPropagation()},d=function(){e.preventDefault()},g=m.compose(d,f),p=(r=s,o=e.clientX,i=e.clientY,u=f,a=d,c=g,l=e,{target:m.constant(r),x:m.constant(o),y:m.constant(i),stop:u,prevent:a,kill:c,raw:m.constant(l)});t(p)}}},Fa=function(n,t,e,r,o){var i=za(e,r);return n.dom().addEventListener(t,i,o),{unbind:m.curry(ja,n,t,i,o)}},ja=function(n,t,e,r){n.dom().removeEventListener(t,e,r)},Ha=function(n,t,e,r){return Fa(n,t,e,r,!1)},Va=m.constant(!0),Ua=function(n,t,e){return Ha(n,t,Va,e)},Ga=La.mode({compare:function(n,t){return oo(t.left()-n.left(),t.top()-n.top())},extract:function(n){return w.some(oo(n.x(),n.y()))},sink:function(n,t){var e,r,o,i=(e=t,r=Xo.merge({layerClass:qa.resolve("blocker")},e),o=en.fromTag("div"),Dt.set(o,"role","presentation"),re.setAll(o,{position:"fixed",left:"0px",top:"0px",width:"100%",height:"100%"}),Ni.add(o,qa.resolve("blocker")),Ni.add(o,r.layerClass),{element:function(){return o},destroy:function(){le.remove(o)}}),u=Ua(i.element(),"mousedown",n.forceDrop),a=Ua(i.element(),"mouseup",n.drop),c=Ua(i.element(),"mousemove",n.move),l=Ua(i.element(),"mouseout",n.delayDrop);return La.sink({element:i.element,start:function(n){ue.append(n,i.element())},stop:function(){le.remove(i.element())},destroy:function(){i.destroy(),a.unbind(),c.unbind(),l.unbind(),u.unbind()}})},mutate:function(n,t){n.mutate(t.left(),t.top())}}),Xa=function(){var n=w.none(),t=Ma({move:_a(["info"])});return{onEvent:function(e,r){r.extract(e).each(function(e){var o,i,u;(o=r,i=e,u=n.map(function(n){return o.compare(n,i)}),n=w.some(i),u).each(function(n){t.trigger.move(n)})})},reset:function(){n=w.none()},events:t.registry}},Ya=function(){var n={onEvent:function(n,t){},reset:m.noop},t=Xa(),e=n;return{on:function(){e.reset(),e=t},off:function(){e.reset(),e=n},isOn:function(){return e===t},onEvent:function(n,t){e.onEvent(n,t)},events:t.events}},$a=function(n,t){var e=null;return{cancel:function(){null!==e&&(clearTimeout(e),e=null)},throttle:function(){var r=arguments;null!==e&&clearTimeout(e),e=setTimeout(function(){n.apply(null,r),e=null,r=null},t)}}},Ka=function(n,t,e){var r=!1,o=Ma({start:_a([]),stop:_a([])}),i=Ya(),u=function(){l.stop(),i.isOn()&&(i.off(),o.trigger.stop())},a=$a(u,200);i.events.move.bind(function(e){t.mutate(n,e.info())});var c=function(n){return function(){var t=Array.prototype.slice.call(arguments,0);if(r)return n.apply(null,t)}},l=t.sink(La.api({forceDrop:u,drop:c(u),move:c(function(n,e){a.cancel(),i.onEvent(n,t)}),delayDrop:c(a.throttle)}),e);return{element:l.element,go:function(n){l.start(n),i.on(),o.trigger.start()},on:function(){r=!0},off:function(){r=!1},destroy:function(){l.destroy()},events:o.registry}},Ja=function(n,t){var e=t!==undefined?t:{},r=e.mode!==undefined?e.mode:Ga;return Ka(n,r,t)},Qa=function(){var n,t=Ma({drag:_a(["xDelta","yDelta","target"])}),e=w.none(),r={mutate:function(t,e){n.trigger.drag(t,e)},events:(n=Ma({drag:_a(["xDelta","yDelta"])})).registry};return r.events.drag.bind(function(n){e.each(function(e){t.trigger.drag(n.xDelta(),n.yDelta(),e)})}),{assign:function(n){e=w.some(n)},get:function(){return e},mutate:r.mutate,events:t.registry}},Za=function(n,t,e){return qt.ancestor(n,t,e).isSome()},nc=pi.resolve("resizer-bar-dragging"),tc=function(n,t){var e=wo.height,r=function(n,t,e){var r=Qa(),o=Ja(r,{}),i=w.none(),u=function(n,t){return w.from(Dt.get(n,t))};r.events.drag.bind(function(n){u(n.target(),"data-row").each(function(t){var e=Iu.getInt(n.target(),"top");re.set(n.target(),"top",e+n.yDelta()+"px")}),u(n.target(),"data-column").each(function(t){var e=Iu.getInt(n.target(),"left");re.set(n.target(),"left",e+n.xDelta()+"px")})});var a=function(n,t){return Iu.getInt(n,t)-parseInt(Dt.get(n,"data-initial-"+t),10)};o.events.stop.bind(function(){r.get().each(function(r){i.each(function(o){u(r,"data-row").each(function(n){var t=a(r,"top");Dt.remove(r,"data-initial-top"),d.trigger.adjustHeight(o,t,parseInt(n,10))}),u(r,"data-column").each(function(n){var t=a(r,"left");Dt.remove(r,"data-initial-left"),d.trigger.adjustWidth(o,t,parseInt(n,10))}),Mi(n,o,e,t)})})});var c=function(t,e){d.trigger.startAdjust(),r.assign(t),Dt.set(t,"data-initial-"+e,parseInt(re.get(t,e),10)),Ni.add(t,nc),re.set(t,"opacity","0.2"),o.go(n.parent())},l=Ua(n.parent(),"mousedown",function(n){Fi(n.target())&&c(n.target(),"top"),ji(n.target())&&c(n.target(),"left")}),s=function(t){return ot.eq(t,n.view())},f=Ua(n.view(),"mouseover",function(r){"table"===xt.name(r.target())||Za(r.target(),"table",s)?(i="table"===xt.name(r.target())?w.some(r.target()):qt.ancestor(r.target(),"table",s)).each(function(r){Mi(n,r,e,t)}):Nt.inBody(r.target())&&zi(n)}),d=Ma({adjustHeight:_a(["table","delta","row"]),adjustWidth:_a(["table","delta","column"]),startAdjust:_a([])});return{destroy:function(){l.unbind(),f.unbind(),o.destroy(),zi(n)},refresh:function(r){Mi(n,r,e,t)},on:o.on,off:o.off,hideBars:m.curry(Li,n),showBars:m.curry(qi,n),events:d.registry}}(n,t,e),o=Ma({beforeResize:_a(["table"]),afterResize:_a(["table"]),startDrag:_a([])});return r.events.adjustHeight.bind(function(n){o.trigger.beforeResize(n.table());var t=e.delta(n.delta(),n.table());Ju(n.table(),t,n.row(),e),o.trigger.afterResize(n.table())}),r.events.startAdjust.bind(function(n){o.trigger.startDrag()}),r.events.adjustWidth.bind(function(n){o.trigger.beforeResize(n.table());var e=t.delta(n.delta(),n.table());Ku(n.table(),e,n.column(),t),o.trigger.afterResize(n.table())}),{on:r.on,off:r.off,hideBars:r.hideBars,showBars:r.showBars,destroy:r.destroy,events:o.registry}},ec=function(n,t){return n.inline?Wa(sa.getBody(n),(e=en.fromTag("div"),re.setAll(e,{position:"static",height:"0",width:"0",padding:"0",margin:"0",border:"0"}),ue.append(Nt.body(),e),e)):Pa(en.fromDom(n.getDoc()));var e},rc=function(n,t){n.inline&&le.remove(t.parent())},oc=function(n){var t,e,r=w.none(),o=w.none(),i=w.none(),u=/(\d+(\.\d+)?)%/,a=function(n){return"TABLE"===n.nodeName};return n.on("init",function(){var t=xo(pa),e=ec(n);if(i=w.some(e),n.settings.object_resizing&&!1!==n.settings.table_resize_bars&&(!0===n.settings.object_resizing||"table"===n.settings.object_resizing)){var u=tc(e,t);u.on(),u.events.startDrag.bind(function(t){r=w.some(n.selection.getRng())}),u.events.afterResize.bind(function(t){var e=t.table(),o=Bt.descendants(e,"td[data-mce-style],th[data-mce-style]");B.each(o,function(n){Dt.remove(n,"data-mce-style")}),r.each(function(t){n.selection.setRng(t),n.focus()}),n.undoManager.add()}),o=w.some(u)}}),n.on("ObjectResizeStart",function(r){var o;a(r.target)&&(t=r.width,o=r.target,e=n.dom.getStyle(o,"width")||n.dom.getAttrib(o,"width"))}),n.on("ObjectResized",function(r){if(a(r.target)){var o=r.target;if(u.test(e)){var i=parseFloat(u.exec(e)[1]),c=r.width*i/t;n.dom.setStyle(o,"width",c+"%")}else{var l=[];ba.each(o.rows,function(t){ba.each(t.cells,function(t){var e=n.dom.getStyle(t,"width",!0);l.push({cell:t,width:e})})}),ba.each(l,function(t){n.dom.setStyle(t.cell,"width",t.width),n.dom.setAttrib(t.cell,"width",null)})}}}),{lazyResize:function(){return o},lazyWire:function(){return i.getOr(Pa(en.fromDom(n.getBody())))},destroy:function(){o.each(function(n){n.destroy()}),i.each(function(t){rc(n,t)})}}},ic=function(n){return{fold:n}},uc=function(n){return ic(function(t,e,r,o){return t(n)})},ac=function(n){return ic(function(t,e,r,o){return e(n)})},cc=function(n,t){return ic(function(e,r,o,i){return o(n,t)})},lc=function(n){return ic(function(t,e,r,o){return o(n)})},sc=function(n,t){return Vt(n,t).bind(function(t){var e=Ht(t);return B.findIndex(e,function(t){return ot.eq(n,t)}).map(function(n){return{index:m.constant(n),all:m.constant(e)}})})},fc=function(n,t){return sc(n,t).fold(function(){return uc(n)},function(t){return t.index()+1<t.all().length?cc(n,t.all()[t.index()+1]):lc(n)})},dc=function(n,t){return sc(n,t).fold(function(){return uc()},function(t){return t.index()-1>=0?cc(n,t.all()[t.index()-1]):ac(n)})},mc=wr([{before:["element"]},{on:["element","offset"]},{after:["element"]}]),gc={before:mc.before,on:mc.on,after:mc.after,cata:function(n,t,e,r){return n.fold(t,e,r)},getStart:function(n){return n.fold(m.identity,m.identity,m.identity)}},pc=wr([{domRange:["rng"]},{relative:["startSitu","finishSitu"]},{exact:["start","soffset","finish","foffset"]}]),hc=X.immutable("start","soffset","finish","foffset"),vc={domRange:pc.domRange,relative:pc.relative,exact:pc.exact,exactFromRange:function(n){return pc.exact(n.start(),n.soffset(),n.finish(),n.foffset())},range:hc,getWin:function(n){var t=n.match({domRange:function(n){return en.fromDom(n.startContainer)},relative:function(n,t){return gc.getStart(n)},exact:function(n,t,e,r){return n}});return dt.defaultView(t)}},bc=function(n,t,e,r){var o=dt.owner(n).dom().createRange();return o.setStart(n.dom(),t),o.setEnd(e.dom(),r),o},wc=function(n,t,e,r){var o=bc(n,t,e,r),i=ot.eq(n,e)&&t===r;return o.collapsed&&!i},yc=function(n,t){n.selectNodeContents(t.dom())},xc=function(n){n.deleteContents()},Cc=function(n){return{left:m.constant(n.left),top:m.constant(n.top),right:m.constant(n.right),bottom:m.constant(n.bottom),width:m.constant(n.width),height:m.constant(n.height)}},Sc={create:function(n){return n.document.createRange()},replaceWith:function(n,t){xc(n),n.insertNode(t.dom())},selectNodeContents:function(n,t){var e=n.document.createRange();return yc(e,t),e},selectNodeContentsUsing:yc,relativeToNative:function(n,t,e){var r,o,i=n.document.createRange();return r=i,t.fold(function(n){r.setStartBefore(n.dom())},function(n,t){r.setStart(n.dom(),t)},function(n){r.setStartAfter(n.dom())}),o=i,e.fold(function(n){o.setEndBefore(n.dom())},function(n,t){o.setEnd(n.dom(),t)},function(n){o.setEndAfter(n.dom())}),i},exactToNative:function(n,t,e,r,o){var i=n.document.createRange();return i.setStart(t.dom(),e),i.setEnd(r.dom(),o),i},deleteContents:xc,cloneFragment:function(n){var t=n.cloneContents();return en.fromDom(t)},getFirstRect:function(n){var t=n.getClientRects(),e=t.length>0?t[0]:n.getBoundingClientRect();return e.width>0||e.height>0?w.some(e).map(Cc):w.none()},getBounds:function(n){var t=n.getBoundingClientRect();return t.width>0||t.height>0?w.some(t).map(Cc):w.none()},isWithin:function(n,t){return t.compareBoundaryPoints(n.END_TO_START,n)<1&&t.compareBoundaryPoints(n.START_TO_END,n)>-1},toString:function(n){return n.toString()}},Rc=wr([{ltr:["start","soffset","finish","foffset"]},{rtl:["start","soffset","finish","foffset"]}]),Tc=function(n,t,e){return t(en.fromDom(e.startContainer),e.startOffset,en.fromDom(e.endContainer),e.endOffset)},Dc=function(n,t){var e,r,o,i=(e=n,t.match({domRange:function(n){return{ltr:m.constant(n),rtl:w.none}},relative:function(n,t){return{ltr:yn(function(){return Sc.relativeToNative(e,n,t)}),rtl:yn(function(){return w.some(Sc.relativeToNative(e,t,n))})}},exact:function(n,t,r,o){return{ltr:yn(function(){return Sc.exactToNative(e,n,t,r,o)}),rtl:yn(function(){return w.some(Sc.exactToNative(e,r,o,n,t))})}}}));return(o=(r=i).ltr()).collapsed?r.rtl().filter(function(n){return!1===n.collapsed}).map(function(n){return Rc.rtl(en.fromDom(n.endContainer),n.endOffset,en.fromDom(n.startContainer),n.startOffset)}).getOrThunk(function(){return Tc(0,Rc.ltr,o)}):Tc(0,Rc.ltr,o)},Ac=(Rc.ltr,Rc.rtl,Dc),kc=function(n,t){return Dc(n,t).match({ltr:function(t,e,r,o){var i=n.document.createRange();return i.setStart(t.dom(),e),i.setEnd(r.dom(),o),i},rtl:function(t,e,r,o){var i=n.document.createRange();return i.setStart(r.dom(),o),i.setEnd(t.dom(),e),i}})},Nc=function(n,t,e){return t>=n.left&&t<=n.right&&e>=n.top&&e<=n.bottom},Oc=function(n,t,e,r,o){if(0===o)return 0;if(t===r)return o-1;for(var i=r,u=1;u<o;u++){var a=n(u),c=Math.abs(t-a.left);if(e>a.bottom);else{if(e<a.top||c>i)return u-1;i=c}}return 0},Ec={locate:function(n,t,e,r){var o=n.dom().createRange();o.selectNode(t.dom());var i=o.getClientRects();return $o(i,function(n){return Nc(n,e,r)?w.some(n):w.none()}).map(function(o){return i=n,a=e,c=r,l=o,s=function(n){var t=i.dom().createRange();return t.setStart(u.dom(),n),t.collapse(!0),t},f=we.get(u=t).length,d=Oc(function(n){return s(n).getBoundingClientRect()},a,c,l.right,f),s(d);var i,u,a,c,l,s,f,d})}},Bc=function(n,t,e,r){var o=n.dom().createRange(),i=dt.children(t);return $o(i,function(t){return o.selectNode(t.dom()),Nc(o.getBoundingClientRect(),e,r)?Ic(n,t,e,r):w.none()})},Ic=function(n,t,e,r){return(xt.isText(t)?Ec.locate:Bc)(n,t,e,r)},Pc=function(n,t,e,r){var o=n.dom().createRange();o.selectNode(t.dom());var i=o.getBoundingClientRect(),u=Math.max(i.left,Math.min(i.right,e)),a=Math.max(i.top,Math.min(i.bottom,r));return Ic(n,t,u,a)},Wc=function(n,t){return t-n.left<n.right-t},_c=function(n,t,e){var r=n.dom().createRange();return r.selectNode(t.dom()),r.collapse(e),r},Mc=function(n,t,e){var r=n.dom().createRange();r.selectNode(t.dom());var o=r.getBoundingClientRect(),i=Wc(o,e);return(!0===i?Te.first:Te.last)(t).map(function(t){return _c(n,t,i)})},Lc=function(n,t,e){var r=t.dom().getBoundingClientRect(),o=Wc(r,e);return w.some(_c(n,t,o))},qc=function(n,t,e){return(0===dt.children(t).length?Lc:Mc)(n,t,e)},zc=document.caretPositionFromPoint?function(n,t,e){return w.from(n.dom().caretPositionFromPoint(t,e)).bind(function(t){if(null===t.offsetNode)return w.none();var e=n.dom().createRange();return e.setStart(t.offsetNode,t.offset),e.collapse(),w.some(e)})}:document.caretRangeFromPoint?function(n,t,e){return w.from(n.dom().caretRangeFromPoint(t,e))}:function(n,t,e){return en.fromPoint(n,t,e).bind(function(r){var o=function(){return qc(n,r,t)};return 0===dt.children(r).length?o():function(n,t,e,r){var o=n.dom().createRange();o.selectNode(t.dom());var i=o.getBoundingClientRect(),u=Math.max(i.left,Math.min(i.right,e)),a=Math.max(i.top,Math.min(i.bottom,r));return Pc(n,t,u,a)}(n,r,t,e).orThunk(o)})},Fc=function(n,t,e){var r=en.fromDom(n.document);return zc(r,t,e).map(function(n){return vc.range(en.fromDom(n.startContainer),n.startOffset,en.fromDom(n.endContainer),n.endOffset)})},jc=function(n,t){var e=xt.name(n);return"input"===e?gc.after(n):B.contains(["br","img"],e)?0===t?gc.before(n):gc.after(n):gc.on(n,t)},Hc=function(n,t){var e=n.fold(gc.before,jc,gc.after),r=t.fold(gc.before,jc,gc.after);return vc.relative(e,r)},Vc=function(n,t,e,r){var o=jc(n,t),i=jc(e,r);return vc.relative(o,i)},Uc=function(n){return n.match({domRange:function(n){var t=en.fromDom(n.startContainer),e=en.fromDom(n.endContainer);return Vc(t,n.startOffset,e,n.endOffset)},relative:Hc,exact:Vc})},Gc=Hc,Xc=Vc,Yc=function(n,t){w.from(n.getSelection()).each(function(n){n.removeAllRanges(),n.addRange(t)})},$c=function(n,t,e,r,o){var i=Sc.exactToNative(n,t,e,r,o);Yc(n,i)},Kc=function(n,t){return Ac(n,t).match({ltr:function(t,e,r,o){$c(n,t,e,r,o)},rtl:function(t,e,r,o){var i=n.getSelection();i.extend?(i.collapse(t.dom(),e),i.extend(r.dom(),o)):$c(n,r,o,t,e)}})},Jc=function(n){var t=en.fromDom(n.anchorNode),e=en.fromDom(n.focusNode);return wc(t,n.anchorOffset,e,n.focusOffset)?w.some(vc.range(en.fromDom(n.anchorNode),n.anchorOffset,en.fromDom(n.focusNode),n.focusOffset)):function(n){if(n.rangeCount>0){var t=n.getRangeAt(0),e=n.getRangeAt(n.rangeCount-1);return w.some(vc.range(en.fromDom(t.startContainer),t.startOffset,en.fromDom(e.endContainer),e.endOffset))}return w.none()}(n)},Qc=function(n){var t=n.getSelection();return t.rangeCount>0?Jc(t):w.none()},Zc=function(n,t,e,r,o){var i=Xc(t,e,r,o);Kc(n,i)},nl=function(n){return Qc(n).map(function(n){return vc.exact(n.start(),n.soffset(),n.finish(),n.foffset())})},tl=function(n,t,e){var r=Gc(t,e);Kc(n,r)},el=function(n){var t=vc.getWin(n).dom(),e=function(n,e,r,o){return Sc.exactToNative(t,n,e,r,o)},r=Uc(n);return Ac(t,r).match({ltr:e,rtl:e})},rl=function(n,t){var e=Sc.selectNodeContents(n,t);Yc(n,e)},ol=function(n){n.getSelection().removeAllRanges()},il=function(n,t){var e=kc(n,t);return Sc.getFirstRect(e)},ul=function(n,t,e){return Fc(n,t,e)},al=tinymce.util.Tools.resolve("tinymce.util.VK"),cl=function(n,t,e,r){return fl(n,t,fc(e),r)},ll=function(n,t,e,r){return fl(n,t,dc(e),r)},sl=function(n,t){var e=vc.exact(t,0,t,0);return el(e)},fl=function(n,t,e,r,o){return e.fold(w.none,w.none,function(n,t){return Te.first(t).map(function(n){return sl(0,n)})},function(e){return Vt(e,t).bind(function(t){var o,i=kr.noMenu(e);return n.undoManager.transact(function(){r.insertRowsAfter(t,i)}),o=Bt.descendants(t,"tr"),B.last(o).bind(function(n){return qt.descendant(n,"td,th").map(function(n){return sl(0,n)})})})})},dl=["table","li","dl"],ml={handle:function(n,t,e,r){if(n.keyCode===al.TAB){var o=sa.getBody(t),i=function(n){var t=xt.name(n);return ot.eq(n,o)||B.contains(dl,t)},u=t.selection.getRng();if(u.collapsed){var a=en.fromDom(u.startContainer);jt(a,i).each(function(o){n.preventDefault(),(n.shiftKey?ll:cl)(t,i,o,e,r).each(function(n){t.selection.setRng(n)})})}}}},gl={response:X.immutable("selection","kill")},pl=function(n){return function(t){return t===n}},hl=pl(38),vl=pl(40),bl={ltr:{isBackward:pl(37),isForward:pl(39)},rtl:{isBackward:pl(39),isForward:pl(37)},isUp:hl,isDown:vl,isNavigation:function(n){return n>=37&&n<=40}},wl=function(n,t){var e=kc(n,t);return{start:m.constant(en.fromDom(e.startContainer)),soffset:m.constant(e.startOffset),finish:m.constant(en.fromDom(e.endContainer)),foffset:m.constant(e.endOffset)}},yl=function(n,t,e,r){return{start:m.constant(gc.on(n,t)),finish:m.constant(gc.on(e,r))}},xl=(tt.detect().browser.isSafari(),function(n){var t=n!==undefined?n.dom():document,e=t.body.scrollLeft||t.documentElement.scrollLeft,r=t.body.scrollTop||t.documentElement.scrollTop;return oo(e,r)}),Cl=xl,Sl=function(n,t,e){(e!==undefined?e.dom():document).defaultView.scrollBy(n,t)},Rl=function(n){return{elementFromPoint:function(t,e){return w.from(n.document.elementFromPoint(t,e)).map(en.fromDom)},getRect:function(n){return n.dom().getBoundingClientRect()},getRangedRect:function(t,e,r,o){var i=vc.exact(t,e,r,o);return il(n,i).map(function(n){return L.map(n,m.apply)})},getSelection:function(){return nl(n).map(function(t){return wl(n,t)})},fromSitus:function(t){var e=vc.relative(t.start(),t.finish());return wl(n,e)},situsFromPoint:function(t,e){return ul(n,t,e).map(function(n){return{start:m.constant(gc.on(n.start(),n.soffset())),finish:m.constant(gc.on(n.finish(),n.foffset()))}})},clearSelection:function(){ol(n)},setSelection:function(t){Zc(n,t.start(),t.soffset(),t.finish(),t.foffset())},setRelativeSelection:function(t,e){tl(n,t,e)},selectContents:function(t){rl(n,t)},getInnerHeight:function(){return n.innerHeight},getScrollY:function(){return Cl(en.fromDom(n.document)).top()},scrollBy:function(t,e){Sl(t,e,en.fromDom(n.document))}}},Tl=function(n,t,e,r,o){if(!ot.eq(e,r))return lr(e,r,t).bind(function(t){var r=t.boxes().getOr([]);return r.length>0?(o(n,r,t.start(),t.finish()),w.some(gl.response(w.some(yl(e,0,e,Ce(e))),!0))):w.none()})},Dl={sync:function(n,t,e,r,o,i,u){return ot.eq(e,o)&&r===i?w.none():qt.closest(e,"td,th",t).bind(function(e){return qt.closest(o,"td,th",t).bind(function(r){return Tl(n,t,e,r,u)})})},detect:Tl,update:function(n,t,e,r,o){return fr(r,n,t,o.firstSelectedSelector(),o.lastSelectedSelector()).map(function(n){return o.clear(e),o.selectRange(e,n.boxes(),n.start(),n.finish()),n.boxes()})}},Al=X.immutableBag(["left","top","right","bottom"],[]),kl={nu:Al,moveUp:function(n,t){return Al({left:n.left(),top:n.top()-t,right:n.right(),bottom:n.bottom()-t})},moveDown:function(n,t){return Al({left:n.left(),top:n.top()+t,right:n.right(),bottom:n.bottom()+t})},moveBottomTo:function(n,t){var e=n.bottom()-n.top();return Al({left:n.left(),top:t-e,right:n.right(),bottom:t})},moveTopTo:function(n,t){var e=n.bottom()-n.top();return Al({left:n.left(),top:t,right:n.right(),bottom:t+e})},getTop:function(n){return n.top()},getBottom:function(n){return n.bottom()},translate:function(n,t,e){return Al({left:n.left()+t,top:n.top()+e,right:n.right()+t,bottom:n.bottom()+e})},toString:function(n){return"("+n.left()+", "+n.top()+") -> ("+n.right()+", "+n.bottom()+")"}},Nl=function(n){return kl.nu({left:n.left,top:n.top,right:n.right,bottom:n.bottom})},Ol=function(n,t){return w.some(n.getRect(t))},El=function(n,t,e){return xt.isElement(t)?Ol(n,t).map(Nl):xt.isText(t)?(r=n,o=t,i=e,i>=0&&i<Ce(o)?r.getRangedRect(o,i,o,i+1):i>0?r.getRangedRect(o,i-1,o,i):w.none()).map(Nl):w.none();var r,o,i},Bl=function(n,t){return xt.isElement(t)?Ol(n,t).map(Nl):xt.isText(t)?n.getRangedRect(t,0,t,Ce(t)).map(Nl):w.none()},Il=X.immutable("item","mode"),Pl=function(n,t,e,r){var o=r!==undefined?r:Wl;return n.property().parent(t).map(function(n){return Il(n,o)})},Wl=function(n,t,e,r){var o=r!==undefined?r:_l;return e.sibling(n,t).map(function(n){return Il(n,o)})},_l=function(n,t,e,r){var o=r!==undefined?r:_l,i=n.property().children(t);return e.first(i).map(function(n){return Il(n,o)})},Ml=[{current:Pl,next:Wl,fallback:w.none()},{current:Wl,next:_l,fallback:w.some(Pl)},{current:_l,next:_l,fallback:w.some(Wl)}],Ll=function(n,t,e,r,o){return o=o!==undefined?o:Ml,B.find(o,function(n){return n.current===e}).bind(function(e){return e.current(n,t,r,e.next).orThunk(function(){return e.fallback.bind(function(e){return Ll(n,t,e,r)})})})},ql={backtrack:Pl,sidestep:Wl,advance:_l,go:Ll},zl={left:function(){return{sibling:function(n,t){return n.query().prevSibling(t)},first:function(n){return n.length>0?w.some(n[n.length-1]):w.none()}}},right:function(){return{sibling:function(n,t){return n.query().nextSibling(t)},first:function(n){return n.length>0?w.some(n[0]):w.none()}}}},Fl=function(n,t,e,r,o,i){return ql.go(n,t,r,o).bind(function(t){return i(t.item())?w.none():e(t.item())?w.some(t.item()):Fl(n,t.item(),e,t.mode(),o,i)})},jl=function(n,t,e,r){return Fl(n,t,e,ql.sidestep,zl.left(),r)},Hl=function(n,t,e,r){return Fl(n,t,e,ql.sidestep,zl.right(),r)},Vl=function(n,t){return 0===n.property().children(t).length},Ul=function(n,t,e,r){return jl(n,t,e,r)},Gl=function(n,t,e,r){return Hl(n,t,e,r)},Xl={before:function(n,t,e){return Ul(n,t,m.curry(Vl,n),e)},after:function(n,t,e){return Gl(n,t,m.curry(Vl,n),e)},seekLeft:Ul,seekRight:Gl,walkers:function(){return{left:zl.left,right:zl.right}},walk:function(n,t,e,r,o){return ql.go(n,t,e,r,o)},backtrack:ql.backtrack,sidestep:ql.sidestep,advance:ql.advance},Yl=Pe(),$l={gather:function(n,t,e){return Xl.gather(Yl,n,t,e)},before:function(n,t){return Xl.before(Yl,n,t)},after:function(n,t){return Xl.after(Yl,n,t)},seekLeft:function(n,t,e){return Xl.seekLeft(Yl,n,t,e)},seekRight:function(n,t,e){return Xl.seekRight(Yl,n,t,e)},walkers:function(){return Xl.walkers()},walk:function(n,t,e,r){return Xl.walk(Yl,n,t,e,r)}},Kl=wr([{none:[]},{retry:["caret"]}]),Jl=function(n,t,e){return Mt.closest(t,zo).fold(m.constant(!1),function(t){return Bl(n,t).exists(function(n){return r=n,(t=e).left()<r.left()||Math.abs(r.right()-t.left())<1||t.left()>r.right();var t,r})})},Ql={point:kl.getTop,adjuster:function(n,t,e,r,o){var i=kl.moveUp(o,5);return Math.abs(e.top()-r.top())<1?Kl.retry(i):e.bottom()<o.top()?Kl.retry(i):e.bottom()===o.top()?Kl.retry(kl.moveUp(o,1)):Jl(n,t,o)?Kl.retry(kl.translate(i,5,0)):Kl.none()},move:kl.moveUp,gather:$l.before},Zl={point:kl.getBottom,adjuster:function(n,t,e,r,o){var i=kl.moveDown(o,5);return Math.abs(e.bottom()-r.bottom())<1?Kl.retry(i):e.top()>o.bottom()?Kl.retry(i):e.top()===o.bottom()?Kl.retry(kl.moveDown(o,1)):Jl(n,t,o)?Kl.retry(kl.translate(i,5,0)):Kl.none()},move:kl.moveDown,gather:$l.after},ns=function(n,t,e,r,o){return 0===o?w.some(r):(c=n,l=r.left(),s=t.point(r),c.elementFromPoint(l,s).filter(function(n){return"table"===xt.name(n)}).isSome()?(u=r,a=o-1,ns(n,i=t,e,i.move(u,5),a)):n.situsFromPoint(r.left(),t.point(r)).bind(function(i){return i.start().fold(w.none,function(i,u){return Bl(n,i,u).bind(function(u){return t.adjuster(n,i,u,e,r).fold(w.none,function(r){return ns(n,t,e,r,o-1)})}).orThunk(function(){return w.some(r)})},w.none)}));var i,u,a,c,l,s},ts=function(n,t,e){var r,o,i,u=n.move(e,5),a=ns(t,n,e,u,100).getOr(u);return(r=n,o=a,i=t,r.point(o)>i.getInnerHeight()?w.some(r.point(o)-i.getInnerHeight()):r.point(o)<0?w.some(-r.point(o)):w.none()).fold(function(){return t.situsFromPoint(a.left(),n.point(a))},function(e){return t.scrollBy(0,e),t.situsFromPoint(a.left(),n.point(a)-e)})},es={tryUp:m.curry(ts,Ql),tryDown:m.curry(ts,Zl),ieTryUp:function(n,t){return n.situsFromPoint(t.left(),t.top()-5)},ieTryDown:function(n,t){return n.situsFromPoint(t.left(),t.bottom()+5)},getJumpSize:m.constant(5)},rs=wr([{none:["message"]},{success:[]},{failedUp:["cell"]},{failedDown:["cell"]}]),os=function(n){return qt.closest(n,"tr")},is={verify:function(n,t,e,r,o,i,u){return qt.closest(r,"td,th",u).bind(function(e){return qt.closest(t,"td,th",u).map(function(t){return ot.eq(e,t)?ot.eq(r,e)&&Ce(e)===o?i(t):rs.none("in same cell"):Ve(os,[e,t]).fold(function(){return o=t,u=e,a=(r=n).getRect(o),(c=r.getRect(u)).right>a.left&&c.left<a.right?rs.success():i(t);var r,o,u,a,c},function(n){return i(t)})})}).getOr(rs.none("default"))},cata:function(n,t,e,r,o){return n.fold(t,e,r,o)},adt:rs},us={point:X.immutable("element","offset"),delta:X.immutable("element","deltaOffset"),range:X.immutable("element","start","finish"),points:X.immutable("begin","end"),text:X.immutable("element","text")},as=(X.immutable("ancestor","descendants","element","index"),X.immutable("parent","children","element","index")),cs=function(n,t){return B.findIndex(n,m.curry(ot.eq,t))},ls=function(n){return dt.parent(n).bind(function(t){var e=dt.children(t);return cs(e,n).map(function(r){return as(t,e,n,r)})})},ss=function(n){return"br"===xt.name(n)},fs=function(n,t,e){return t(n,e).bind(function(n){return xt.isText(n)&&0===we.get(n).trim().length?fs(n,t,e):w.some(n)})},ds=function(n,t,e,r){return(o=t,i=e,dt.child(o,i).filter(ss).orThunk(function(){return dt.child(o,i-1).filter(ss)})).bind(function(t){return r.traverse(t).fold(function(){return fs(t,r.gather,n).map(r.relative)},function(n){return ls(n).map(function(n){return gc.on(n.parent(),n.index())})})});var o,i},ms=function(n,t,e,r){var o,i,u;return(ss(t)?(o=n,i=t,(u=r).traverse(i).orThunk(function(){return fs(i,u.gather,o)}).map(u.relative)):ds(n,t,e,r)).map(function(n){return{start:m.constant(n),finish:m.constant(n)}})},gs=function(n){return is.cata(n,function(n){return w.none("BR ADT: none")},function(){return w.none()},function(n){return w.some(us.point(n,0))},function(n){return w.some(us.point(n,Ce(n)))})},ps=tt.detect(),hs=function(n,t,e,r,o,i){return 0===i?w.none():ws(n,t,e,r,o).bind(function(u){var a=n.fromSitus(u),c=is.verify(n,e,r,a.finish(),a.foffset(),o.failure,t);return is.cata(c,function(){return w.none()},function(){return w.some(u)},function(u){return ot.eq(e,u)&&0===r?vs(n,e,r,kl.moveUp,o):hs(n,t,u,0,o,i-1)},function(u){return ot.eq(e,u)&&r===Ce(u)?vs(n,e,r,kl.moveDown,o):hs(n,t,u,Ce(u),o,i-1)})})},vs=function(n,t,e,r,o){return El(n,t,e).bind(function(t){return bs(n,o,r(t,es.getJumpSize()))})},bs=function(n,t,e){return ps.browser.isChrome()||ps.browser.isSafari()||ps.browser.isFirefox()||ps.browser.isEdge()?t.otherRetry(n,e):ps.browser.isIE()?t.ieRetry(n,e):w.none()},ws=function(n,t,e,r,o){return El(n,e,r).bind(function(t){return bs(n,o,t)})},ys=function(n,t,e){return(r=n,o=t,i=e,r.getSelection().bind(function(n){return ms(o,n.finish(),n.foffset(),i).fold(function(){return w.some(us.point(n.finish(),n.foffset()))},function(t){var e=r.fromSitus(t),u=is.verify(r,n.finish(),n.foffset(),e.finish(),e.foffset(),i.failure,o);return gs(u)})})).bind(function(r){return hs(n,t,r.element(),r.offset(),e,20).map(n.fromSitus)});var r,o,i},xs=function(n,t,e){return Mt.ancestor(n,t,e).isSome()},Cs=tt.detect(),Ss=function(n,t,e,r,o){return qt.closest(r,"td,th",t).bind(function(r){return qt.closest(r,"table",t).bind(function(i){return u=i,xs(o,function(n){return dt.parent(n).exists(function(n){return ot.eq(n,u)})})?ys(n,t,e).bind(function(n){return qt.closest(n.finish(),"td,th",t).map(function(t){return{start:m.constant(r),finish:m.constant(t),range:m.constant(n)}})}):w.none();var u})})},Rs=function(n,t,e,r,o,i){return Cs.browser.isIE()?w.none():i(r,t).orThunk(function(){return Ss(n,t,e,r,o).map(function(n){var t=n.range();return gl.response(w.some(yl(t.start(),t.soffset(),t.finish(),t.foffset())),!0)})})},Ts=function(n,t,e,r,o,i,u){return Ss(n,e,r,o,i).bind(function(n){return Dl.detect(t,e,n.start(),n.finish(),u)})},Ds=function(n,t){return qt.closest(n,"tr",t).bind(function(n){return qt.closest(n,"table",t).bind(function(e){var r=Bt.descendants(e,"tr");return ot.eq(n,r[0])?$l.seekLeft(e,function(n){return Te.last(n).isSome()},t).map(function(n){var t=Ce(n);return gl.response(w.some(yl(n,t,n,t)),!0)}):w.none()})})},As=function(n,t){return qt.closest(n,"tr",t).bind(function(n){return qt.closest(n,"table",t).bind(function(e){var r=Bt.descendants(e,"tr");return ot.eq(n,r[r.length-1])?$l.seekRight(e,function(n){return Te.first(n).isSome()},t).map(function(n){return gl.response(w.some(yl(n,0,n,0)),!0)}):w.none()})})},ks=function(n,t){return qt.closest(n,"td,th",t)},Ns={down:{traverse:dt.nextSibling,gather:$l.after,relative:gc.before,otherRetry:es.tryDown,ieRetry:es.ieTryDown,failure:is.adt.failedDown},up:{traverse:dt.prevSibling,gather:$l.before,relative:gc.before,otherRetry:es.tryUp,ieRetry:es.ieTryUp,failure:is.adt.failedUp}},Os=X.immutable("rows","cols"),Es=function(n,t,e,r){var o,i,u,a,c,l,s=Rl(n),f=(o=s,i=t,u=e,a=r,c=w.none(),l=function(){c=w.none()},{mousedown:function(n){a.clear(i),c=ks(n.target(),u)},mouseover:function(n){c.each(function(t){a.clear(i),ks(n.target(),u).each(function(n){lr(t,n,u).each(function(e){var r=e.boxes().getOr([]);(r.length>1||1===r.length&&!ot.eq(t,n))&&(a.selectRange(i,r,e.start(),e.finish()),o.selectContents(n))})})})},mouseup:function(){c.each(l)}});return{mousedown:f.mousedown,mouseover:f.mouseover,mouseup:f.mouseup}},Bs=function(n,t,e,r){var o=Rl(n),i=function(){return r.clear(t),w.none()};return{keydown:function(n,u,a,c,l,s){var f=n.raw().which,d=!0===n.raw().shiftKey;return sr(t,r.selectedSelector()).fold(function(){return bl.isDown(f)&&d?m.curry(Ts,o,t,e,Ns.down,c,u,r.selectRange):bl.isUp(f)&&d?m.curry(Ts,o,t,e,Ns.up,c,u,r.selectRange):bl.isDown(f)?m.curry(Rs,o,e,Ns.down,c,u,As):bl.isUp(f)?m.curry(Rs,o,e,Ns.up,c,u,Ds):w.none},function(n){var e=function(e){return function(){return $o(e,function(e){return Dl.update(e.rows(),e.cols(),t,n,r)}).fold(function(){return dr(t,r.firstSelectedSelector(),r.lastSelectedSelector()).map(function(n){var e=bl.isDown(f)||s.isForward(f)?gc.after:gc.before;return o.setRelativeSelection(gc.on(n.first(),0),e(n.table())),r.clear(t),gl.response(w.none(),!0)})},function(n){return w.some(gl.response(w.none(),!0))})}};return bl.isDown(f)&&d?e([Os(1,0)]):bl.isUp(f)&&d?e([Os(-1,0)]):s.isBackward(f)&&d?e([Os(0,-1),Os(-1,0)]):s.isForward(f)&&d?e([Os(0,1),Os(1,0)]):bl.isNavigation(f)&&!1===d?i:w.none})()},keyup:function(n,o,i,u,a){return sr(t,r.selectedSelector()).fold(function(){var c=n.raw().which;return 0==(!0===n.raw().shiftKey)?w.none():bl.isNavigation(c)?Dl.sync(t,e,o,i,u,a,r.selectRange):w.none()},w.none)}}},Is=function(n){var t=function(t){Dt.remove(t,n.selected()),Dt.remove(t,n.firstSelected()),Dt.remove(t,n.lastSelected())},e=function(t){Dt.set(t,n.selected(),"1")},r=function(e){var r=Bt.descendants(e,n.selectedSelector());B.each(r,t)};return{clear:r,selectRange:function(t,o,i,u){r(t),B.each(o,e),Dt.set(i,n.firstSelected(),"1"),Dt.set(u,n.lastSelected(),"1")},selectedSelector:n.selectedSelector,firstSelectedSelector:n.firstSelectedSelector,lastSelectedSelector:n.lastSelectedSelector}},Ps=function(n,t){var e=X.immutableBag(["mousedown","mouseover","mouseup","keyup","keydown"],[]),r=w.none(),o=Is(br);return n.on("init",function(i){var u=n.getWin(),a=sa.getBody(n),c=sa.getIsRoot(n),l=Es(u,a,c,o),s=Bs(u,a,c,o),f=function(t,e){e.kill()&&t.kill(),e.selection().each(function(t){var e=vc.relative(t.start(),t.finish()),r=kc(u,e);n.selection.setRng(r)})},d=function(t){var e=h(t);if(e.raw().shiftKey&&bl.isNavigation(e.raw().which)){var r=n.selection.getRng(),o=en.fromDom(r.startContainer),i=en.fromDom(r.endContainer);s.keyup(e,o,r.startOffset,i,r.endOffset).each(function(n){f(e,n)})}},g=function(n){return!(Dt.has(n,"data-mce-bogus")||"br"===xt.name(n)||xt.isText(n)&&0===we.get(n).length)},p=function(e){var r,o,i=h(e);t().each(function(n){n.hideBars()}),40===e.which&&(r=en.fromDom(n.getBody()),o=function(n){return dt.prevSibling(n).bind(function(n){return g(n)?w.some(n):o(n)})},dt.lastChild(r).bind(function(n){return g(n)?w.some(n):o(n)})).each(function(t){"table"===xt.name(t)&&(n.settings.forced_root_block?n.dom.add(n.getBody(),n.settings.forced_root_block,n.settings.forced_root_block_attrs,"<br/>"):n.dom.add(n.getBody(),"br"))});var u=n.selection.getRng(),a=en.fromDom(n.selection.getStart()),c=en.fromDom(u.startContainer),l=en.fromDom(u.endContainer),d=pa(a).isRtl()?bl.rtl:bl.ltr;s.keydown(i,c,u.startOffset,l,u.endOffset,d).each(function(n){f(i,n)}),t().each(function(n){n.showBars()})},h=function(n){var t=en.fromDom(n.target),e=function(){n.stopPropagation()},r=function(){n.preventDefault()},o=m.compose(r,e);return{target:m.constant(t),x:m.constant(n.x),y:m.constant(n.y),stop:e,prevent:r,kill:o,raw:m.constant(n)}},v=function(n){return 0===n.button},b=function(n){v(n)&&l.mousedown(h(n))},y=function(n){var t;((t=n).buttons===undefined||0!=(1&t.buttons))&&l.mouseover(h(n))},x=function(n){v&&l.mouseup(h(n))};n.on("mousedown",b),n.on("mouseover",y),n.on("mouseup",x),n.on("keyup",d),n.on("keydown",p),n.on("nodechange",function(){var t=n.selection,e=en.fromDom(t.getStart()),r=en.fromDom(t.getEnd()),i=Vt(e),u=Vt(r);i.bind(function(n){return u.bind(function(t){return ot.eq(n,t)?w.some(!0):w.none()})}).fold(function(){o.clear(a)},m.noop)}),r=w.some(e({mousedown:b,mouseover:y,mouseup:x,keyup:d,keydown:p}))}),{clear:o.clear,destroy:function(){r.each(function(n){})}}},Ws=function(n){return{get:function(){var t=sa.getBody(n);return mr(t,br.selectedSelector()).fold(function(){return n.selection.getStart()===undefined?xr.none():xr.single(n.selection)},function(n){return xr.multiple(n)})}}},_s=ba.each,Ms={addButtons:function(n){var t=[];function e(t){return function(){n.execCommand(t)}}_s("inserttable tableprops deletetable | cell row column".split(" "),function(e){"|"===e?t.push({text:"-"}):t.push(n.menuItems[e])}),n.addButton("table",{type:"menubutton",title:"Table",menu:t}),n.addButton("tableprops",{title:"Table properties",onclick:m.curry(Ta,n,!0),icon:"table"}),n.addButton("tabledelete",{title:"Delete table",onclick:e("mceTableDelete")}),n.addButton("tablecellprops",{title:"Cell properties",onclick:e("mceTableCellProps")}),n.addButton("tablemergecells",{title:"Merge cells",onclick:e("mceTableMergeCells")}),n.addButton("tablesplitcells",{title:"Split cell",onclick:e("mceTableSplitCells")}),n.addButton("tableinsertrowbefore",{title:"Insert row before",onclick:e("mceTableInsertRowBefore")}),n.addButton("tableinsertrowafter",{title:"Insert row after",onclick:e("mceTableInsertRowAfter")}),n.addButton("tabledeleterow",{title:"Delete row",onclick:e("mceTableDeleteRow")}),n.addButton("tablerowprops",{title:"Row properties",onclick:e("mceTableRowProps")}),n.addButton("tablecutrow",{title:"Cut row",onclick:e("mceTableCutRow")}),n.addButton("tablecopyrow",{title:"Copy row",onclick:e("mceTableCopyRow")}),n.addButton("tablepasterowbefore",{title:"Paste row before",onclick:e("mceTablePasteRowBefore")}),n.addButton("tablepasterowafter",{title:"Paste row after",onclick:e("mceTablePasteRowAfter")}),n.addButton("tableinsertcolbefore",{title:"Insert column before",onclick:e("mceTableInsertColBefore")}),n.addButton("tableinsertcolafter",{title:"Insert column after",onclick:e("mceTableInsertColAfter")}),n.addButton("tabledeletecol",{title:"Delete column",onclick:e("mceTableDeleteCol")})},addToolbars:function(n){var t=n.settings.table_toolbar;""!==t&&!1!==t&&(t||(t="tableprops tabledelete | tableinsertrowbefore tableinsertrowafter tabledeleterow | tableinsertcolbefore tableinsertcolafter tabledeletecol"),n.addContextToolbar(function(t){return n.dom.is(t,"table")&&n.getBody().contains(t)},t))}},Ls={addMenuItems:function(n,t){var e=w.none(),r=[],o=[],i=[],u=[],a=function(n){n.disabled(!0)},c=function(n){n.disabled(!1)},l=function(){var n=this;r.push(n),e.fold(function(){a(n)},function(t){c(n)})},s=function(){var n=this;o.push(n),e.fold(function(){a(n)},function(t){c(n)})};n.on("init",function(){n.on("nodechange",function(l){var s=w.from(n.dom.getParent(n.selection.getStart(),"th,td"));(e=s.bind(function(n){var e=en.fromDom(n);return Vt(e).map(function(n){return kr.forMenu(t,n,e)})})).fold(function(){B.each(r,a),B.each(o,a),B.each(i,a),B.each(u,a)},function(n){B.each(r,c),B.each(o,c),B.each(i,function(t){t.disabled(n.mergable().isNone())}),B.each(u,function(t){t.disabled(n.unmergable().isNone())})})})});var f=function(n,t,e,r){var o,i,u,a,c,l=r.getEl().getElementsByTagName("table")[0],s=r.isRtl()||"tl-tr"===r.parent().rel;for(l.nextSibling.innerHTML=t+1+" x "+(e+1),s&&(t=9-t),i=0;i<10;i++)for(o=0;o<10;o++)a=l.rows[i].childNodes[o].firstChild,c=(s?o>=t:o<=t)&&i<=e,n.dom.toggleClass(a,"mce-active",c),c&&(u=a);return u.parentNode},d=!1===n.settings.table_grid?{text:"Table",icon:"table",context:"table",onclick:m.curry(Ta,n)}:{text:"Table",icon:"table",context:"table",ariaHideMenu:!0,onclick:function(t){t.aria&&(this.parent().hideAll(),t.stopImmediatePropagation(),Ta(n))},onshow:function(){f(n,0,0,this.menu.items()[0])},onhide:function(){var t=this.menu.items()[0].getEl().getElementsByTagName("a");n.dom.removeClass(t,"mce-active"),n.dom.addClass(t[0],"mce-active")},menu:[{type:"container",html:function(){var n="";n='<table role="grid" class="mce-grid mce-grid-border" aria-readonly="true">';for(var t=0;t<10;t++){n+="<tr>";for(var e=0;e<10;e++)n+='<td role="gridcell" tabindex="-1"><a id="mcegrid'+(10*t+e)+'" href="#" data-mce-x="'+e+'" data-mce-y="'+t+'"></a></td>';n+="</tr>"}return n+="</table>",n+='<div class="mce-text-center" role="presentation">1 x 1</div>'}(),onPostRender:function(){this.lastX=this.lastY=0},onmousemove:function(t){var e,r,o=t.target;"A"===o.tagName.toUpperCase()&&(e=parseInt(o.getAttribute("data-mce-x"),10),r=parseInt(o.getAttribute("data-mce-y"),10),(this.isRtl()||"tl-tr"===this.parent().rel)&&(e=9-e),e===this.lastX&&r===this.lastY||(f(n,e,r,t.control),this.lastX=e,this.lastY=r))},onclick:function(t){var e=this;"A"===t.target.tagName.toUpperCase()&&(t.preventDefault(),t.stopPropagation(),e.parent().cancel(),n.undoManager.transact(function(){Pr.insert(n,e.lastX+1,e.lastY+1)}),n.addVisual())}}]};function g(t){return function(){n.execCommand(t)}}var p={text:"Table properties",context:"table",onPostRender:l,onclick:m.curry(Ta,n,!0)},h={text:"Delete table",context:"table",onPostRender:l,cmd:"mceTableDelete"},v={text:"Row",context:"table",menu:[{text:"Insert row before",onclick:g("mceTableInsertRowBefore"),onPostRender:s},{text:"Insert row after",onclick:g("mceTableInsertRowAfter"),onPostRender:s},{text:"Delete row",onclick:g("mceTableDeleteRow"),onPostRender:s},{text:"Row properties",onclick:g("mceTableRowProps"),onPostRender:s},{text:"-"},{text:"Cut row",onclick:g("mceTableCutRow"),onPostRender:s},{text:"Copy row",onclick:g("mceTableCopyRow"),onPostRender:s},{text:"Paste row before",onclick:g("mceTablePasteRowBefore"),onPostRender:s},{text:"Paste row after",onclick:g("mceTablePasteRowAfter"),onPostRender:s}]},b={text:"Column",context:"table",menu:[{text:"Insert column before",onclick:g("mceTableInsertColBefore"),onPostRender:s},{text:"Insert column after",onclick:g("mceTableInsertColAfter"),onPostRender:s},{text:"Delete column",onclick:g("mceTableDeleteCol"),onPostRender:s}]},y={separator:"before",text:"Cell",context:"table",menu:[{text:"Cell properties",onclick:g("mceTableCellProps"),onPostRender:s},{text:"Merge cells",onclick:g("mceTableMergeCells"),onPostRender:function(){var n=this;i.push(n),e.fold(function(){a(n)},function(t){n.disabled(t.mergable().isNone())})}},{text:"Split cell",onclick:g("mceTableSplitCells"),onPostRender:function(){var n=this;u.push(n),e.fold(function(){a(n)},function(t){n.disabled(t.unmergable().isNone())})}}]};n.addMenuItem("inserttable",d),n.addMenuItem("tableprops",p),n.addMenuItem("deletetable",h),n.addMenuItem("row",v),n.addMenuItem("column",b),n.addMenuItem("cell",y)}};f.add("table",function(n){var t=oc(n),e=Ps(n,t.lazyResize),r=ha(n,t.lazyWire),o=Ws(n);Ia.registerCommands(n,r,e,o),Nr.registerEvents(n,o,r,e),Ls.addMenuItems(n,o),Ms.addButtons(n),Ms.addToolbars(n),n.on("PreInit",function(){n.serializer.addTempAttr(br.firstSelected()),n.serializer.addTempAttr(br.lastSelected())}),!1!==n.settings.table_tab_navigation&&n.on("keydown",function(e){ml.handle(e,n,r,t.lazyWire)}),n.on("remove",function(){t.destroy(),e.destroy()}),this.insertTable=function(t,e){return Pr.insert(n,t,e)},this.setClipboardRows=Ia.setClipboardRows,this.getClipboardRows=Ia.getClipboardRows})}();!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),t=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),n=tinymce.util.Tools.resolve("tinymce.EditorManager"),i=tinymce.util.Tools.resolve("tinymce.Env"),o=tinymce.util.Tools.resolve("tinymce.util.Delay"),l=tinymce.util.Tools.resolve("tinymce.util.Tools"),u=tinymce.util.Tools.resolve("tinymce.util.VK"),r={getTabFocus:function(e){return e.getParam("tab_focus",e.getParam("tabfocus_elements",":prev,:next"))}},c=t.DOM,s=function(e){e.keyCode!==u.TAB||e.ctrlKey||e.altKey||e.metaKey||e.preventDefault()},a=function(e){function t(t){var s,a,y,f;if(!(t.keyCode!==u.TAB||t.ctrlKey||t.altKey||t.metaKey||t.isDefaultPrevented())&&(1===(y=l.explode(r.getTabFocus(e))).length&&(y[1]=y[0],y[0]=":prev"),a=t.shiftKey?":prev"===y[0]?m(-1):c.get(y[0]):":next"===y[1]?m(1):c.get(y[1]))){var d=n.get(a.id||a.name);a.id&&d?d.focus():o.setTimeout(function(){i.webkit||window.focus(),a.focus()},10),t.preventDefault()}function m(i){function o(e){return/INPUT|TEXTAREA|BUTTON/.test(e.tagName)&&n.get(t.id)&&-1!==e.tabIndex&&function i(e){return"BODY"===e.nodeName||"hidden"!==e.type&&"none"!==e.style.display&&"hidden"!==e.style.visibility&&i(e.parentNode)}(e)}if(a=c.select(":input:enabled,*[tabindex]:not(iframe)"),l.each(a,function(t,n){if(t.id===e.id)return s=n,!1}),i>0){for(f=s+1;f<a.length;f++)if(o(a[f]))return a[f]}else for(f=s-1;f>=0;f--)if(o(a[f]))return a[f];return null}}e.on("init",function(){e.inline&&c.setAttrib(e.getBody(),"tabIndex",null),e.on("keyup",s),i.gecko?e.on("keypress keydown",t):e.on("keydown",t)})};e.add("tabfocus",function(e){a(e)})}();!function(){"use strict";var e=function(t){var n=t,r=function(){return n};return{get:r,set:function(e){n=e},clone:function(){return e(r())}}},t=tinymce.util.Tools.resolve("tinymce.PluginManager"),n=function(e){return!(!/(^|[ ,])tinymcespellchecker([, ]|$)/.test(e.settings.plugins)||!t.get("tinymcespellchecker")||("undefined"!=typeof window.console&&window.console.log&&window.console.log("Spell Checker Pro is incompatible with Spell Checker plugin! Remove 'spellchecker' from the 'plugins' option."),0))},r=function(e){return e.getParam("spellchecker_languages","English=en,Danish=da,Dutch=nl,Finnish=fi,French=fr_FR,German=de,Italian=it,Polish=pl,Portuguese=pt_BR,Spanish=es,Swedish=sv")},o=function(e){var t=e.getParam("language","en");return e.getParam("spellchecker_language",t)},i=function(e){return e.getParam("spellchecker_rpc_url")},c=function(e){return e.getParam("spellchecker_callback")},a=function(e){var t=new RegExp('[^\\s!"#$%&()*+,-./:;<=>?@[\\]^_{|}`\xa7\xa9\xab\xae\xb1\xb6\xb7\xb8\xbb\xbc\xbd\xbe\xbf\xd7\xf7\xa4\u201d\u201c\u201e\xa0\u2002\u2003\u2009]+',"g");return e.getParam("spellchecker_wordchar_pattern",t)},l=tinymce.util.Tools.resolve("tinymce.util.Tools"),s=tinymce.util.Tools.resolve("tinymce.util.URI"),u=tinymce.util.Tools.resolve("tinymce.util.XHR"),d=function(e){return e.fire("SpellcheckStart")},f=function(e){return e.fire("SpellcheckEnd")};function h(e){return e&&1===e.nodeType&&"false"===e.contentEditable}var g,m=function(e,t){var n,r,o,i,c,a=[],l=t.dom;function s(e,t){if(!e[0])throw new Error("findAndReplaceDOMText cannot handle zero-length matches");return{start:e.index,end:e.index+e[0].length,text:e[0],data:t}}function u(t){var n=e.getElementsByTagName("*"),r=[];t="number"==typeof t?""+t:null;for(var o=0;o<n.length;o++){var i=n[o],c=i.getAttribute("data-mce-index");null!==c&&c.length&&-1!==i.className.indexOf("mce-spellchecker-word")&&(c!==t&&null!==t||r.push(i))}return r}function d(e){for(var t=a.length;t--;)if(a[t]===e)return t;return-1}function f(e){for(var t=0,n=a.length;t<n&&!1!==e(a[t],t);t++);return this}function g(e){var t,n,r=u(e?d(e):null);for(t=r.length;t--;)(n=r[t]).parentNode.insertBefore(n.firstChild,n),n.parentNode.removeChild(n);return this}function m(e){var n=u(d(e)),r=t.dom.createRng();return r.setStartBefore(n[0]),r.setEndAfter(n[n.length-1]),r}return o=t.schema.getBlockElements(),i=t.schema.getWhiteSpaceElements(),c=t.schema.getShortEndedElements(),{text:r=function p(e){var t;if(3===e.nodeType)return e.data;if(i[e.nodeName]&&!o[e.nodeName])return"";if(h(e))return"\n";if(t="",(o[e.nodeName]||c[e.nodeName])&&(t+="\n"),e=e.firstChild)do{t+=p(e)}while(e=e.nextSibling);return t}(e),matches:a,each:f,filter:function(e){var t=[];return f(function(n,r){e(n,r)&&t.push(n)}),a=t,this},reset:function(){return a.splice(0,a.length),g(),this},matchFromElement:function(e){return a[e.getAttribute("data-mce-index")]},elementFromMatch:function(e){return u(d(e))[0]},find:function(e,t){if(r&&e.global)for(;n=e.exec(r);)a.push(s(n,t));return this},add:function(e,t,n){return a.push({start:e,end:e+t,text:r.substr(e,t),data:n}),this},wrap:function(t){return a.length&&function(e,t,n){var r,a,l,s,u,d=[],f=0,g=e,m=0;(t=t.slice(0)).sort(function(e,t){return e.start-t.start}),u=t.shift();e:for(;;){if((o[g.nodeName]||c[g.nodeName]||h(g))&&f++,3===g.nodeType&&(!a&&g.length+f>=u.end?(a=g,s=u.end-f):r&&d.push(g),!r&&g.length+f>u.start&&(r=g,l=u.start-f),f+=g.length),r&&a){if(g=n({startNode:r,startNodeIndex:l,endNode:a,endNodeIndex:s,innerNodes:d,match:u.text,matchIndex:m}),f-=a.length-s,r=null,a=null,d=[],m++,!(u=t.shift()))break}else if(i[g.nodeName]&&!o[g.nodeName]||!g.firstChild){if(g.nextSibling){g=g.nextSibling;continue}}else if(!h(g)){g=g.firstChild;continue}for(;;){if(g.nextSibling){g=g.nextSibling;break}if(g.parentNode===e)break e;g=g.parentNode}}}(e,a,function(e){function t(t,n){var r=a[n];r.stencil||(r.stencil=e(r));var o=r.stencil.cloneNode(!1);return o.setAttribute("data-mce-index",n),t&&o.appendChild(l.doc.createTextNode(t)),o}return function(e){var n,r,o,i=e.startNode,c=e.endNode,a=e.matchIndex,s=l.doc;if(i===c){var u=i;o=u.parentNode,e.startNodeIndex>0&&(n=s.createTextNode(u.data.substring(0,e.startNodeIndex)),o.insertBefore(n,u));var d=t(e.match,a);return o.insertBefore(d,u),e.endNodeIndex<u.length&&(r=s.createTextNode(u.data.substring(e.endNodeIndex)),o.insertBefore(r,u)),u.parentNode.removeChild(u),d}n=s.createTextNode(i.data.substring(0,e.startNodeIndex)),r=s.createTextNode(c.data.substring(e.endNodeIndex));for(var f=t(i.data.substring(e.startNodeIndex),a),h=[],g=0,m=e.innerNodes.length;g<m;++g){var p=e.innerNodes[g],v=t(p.data,a);p.parentNode.replaceChild(v,p),h.push(v)}var x=t(c.data.substring(0,e.endNodeIndex),a);return(o=i.parentNode).insertBefore(n,i),o.insertBefore(f,i),o.removeChild(i),(o=c.parentNode).insertBefore(x,c),o.insertBefore(r,c),o.removeChild(c),x}}(t)),this},unwrap:g,replace:function(e,n){var r=m(e);return r.deleteContents(),n.length>0&&r.insertNode(t.dom.doc.createTextNode(n)),r},rangeFromMatch:m,indexOf:d}},p=function(e,t){if(!t.get()){var n=m(e.getBody(),e);t.set(n)}return t.get()},v=function(e,t,n,r,o,a,d){var f,h,g,m=c(e);(m||(f=e,h=t,g=n,function(e,t,n,r){var o={method:e,lang:g.get()},c="";o["addToDictionary"===e?"word":"text"]=t,l.each(o,function(e,t){c&&(c+="&"),c+=t+"="+encodeURIComponent(e)}),u.send({url:new s(h).toAbsolute(i(f)),type:"post",content_type:"application/x-www-form-urlencoded",data:c,success:function(e){if(e=JSON.parse(e))e.error?r(e.error):n(e);else{var t=f.translate("Server response wasn't proper JSON.");r(t)}},error:function(){var e=f.translate("The spelling service was not found: (")+i(f)+f.translate(")");r(e)}})})).call(e.plugins.spellchecker,r,o,a,d)},x=function(e,t,n){e.dom.select("span.mce-spellchecker-word").length||N(e,t,n)},N=function(e,t,n){if(p(e,n).reset(),n.set(null),t.get())return t.set(!1),f(e),!0},k=function(e){var t=e.getAttribute("data-mce-index");return"number"==typeof t?""+t:t},y=function(e,t,n,r,o){var i,c;if(o.words?(c=!!o.dictionary,i=o.words):i=o,e.setProgressState(!1),function(e){for(var t in e)return!1;return!0}(i)){var l=e.translate("No misspellings found.");return e.notificationManager.open({text:l,type:"info"}),void t.set(!1)}r.set({suggestions:i,hasDictionarySupport:c}),p(e,n).find(a(e)).filter(function(e){return!!i[e.text]}).wrap(function(t){return e.dom.create("span",{"class":"mce-spellchecker-word","data-mce-bogus":1,"data-mce-word":t.text})}),t.set(!0),d(e)},S={spellcheck:function(e,t,n,r,o,i){N(e,n,r)||(e.setProgressState(!0),v(e,t,i,"spellcheck",p(e,r).text,function(t){y(e,n,r,o,t)},function(t){e.notificationManager.open({text:t,type:"error"}),e.setProgressState(!1),N(e,n,r)}),e.focus())},checkIfFinished:x,addToDictionary:function(e,t,n,r,o,i){e.setProgressState(!0),v(e,t,"addToDictionary",o,function(){e.setProgressState(!1),e.dom.remove(i,!0),x(e,n,r)},function(t){e.notificationManager.open({text:t,type:"error"}),e.setProgressState(!1)})},ignoreWord:function(e,t,n,r,o,i){e.selection.collapse(),i?l.each(e.dom.select("span.mce-spellchecker-word"),function(t){t.getAttribute("data-mce-word")===r&&e.dom.remove(t,!0)}):e.dom.remove(o,!0),x(e,t,n)},findSpansByIndex:function(e,t){var n,r=[];if((n=l.toArray(e.getBody().getElementsByTagName("span"))).length)for(var o=0;o<n.length;o++){var i=k(n[o]);null!==i&&i.length&&i===t.toString()&&r.push(n[o])}return r},getElmIndex:k,markErrors:y},w=function(e,t,n,r,i){return{getTextMatcher:function(){return r.get()},getWordCharPattern:function(){return a(e)},markErrors:function(o){S.markErrors(e,t,r,n,o)},getLanguage:function(){return o(e)}}},b=function(e,t,n,r,o,i){e.addCommand("mceSpellCheck",function(){S.spellcheck(e,t,n,r,o,i)})},T=function(e,t,n,i,c,a){var s,u,d,f,h=(d=e,s=l.map(r(d).split(","),function(e){return{name:(e=e.split("="))[0],value:e[1]}}),u=[],l.each(s,function(e){u.push({selectable:!0,text:e.name,data:e.value})}),u),g=function(){S.spellcheck(e,t,n,i,a,c)},m={tooltip:"Spellcheck",onclick:g,onPostRender:function(t){var r=t.control;e.on("SpellcheckStart SpellcheckEnd",function(){r.active(n.get())})}};h.length>1&&(m.type="splitbutton",m.menu=h,m.onshow=(f=e,function(e){var t=o(f);e.control.items().each(function(e){e.active(e.settings.data===t)})}),m.onselect=function(e){c.set(e.control.settings.data)}),e.addButton("spellchecker",m),e.addMenuItem("spellchecker",{text:"Spellcheck",context:"tools",onclick:g,selectable:!0,onPostRender:function(){var t=this;t.active(n.get()),e.on("SpellcheckStart SpellcheckEnd",function(){t.active(n.get())})}})},I=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),E=tinymce.util.Tools.resolve("tinymce.ui.Factory"),P=function(e,t,n,r,o){e.on("click",function(i){var c=i.target;if("mce-spellchecker-word"===c.className){i.preventDefault();var a=S.findSpansByIndex(e,S.getElmIndex(c));if(a.length>0){var s=e.dom.createRng();s.setStartBefore(a[0]),s.setEndAfter(a[a.length-1]),e.selection.setRng(s),function(e,t,n,r,o,i,c){var a=[],s=n.get().suggestions[i];l.each(s,function(t){a.push({text:t,onclick:function(){e.insertContent(e.dom.encode(t)),e.dom.remove(c),S.checkIfFinished(e,r,o)}})}),a.push({text:"-"}),n.get().hasDictionarySupport&&a.push({text:"Add to Dictionary",onclick:function(){S.addToDictionary(e,t,r,o,i,c)}}),a.push.apply(a,[{text:"Ignore",onclick:function(){S.ignoreWord(e,r,o,i,c)}},{text:"Ignore all",onclick:function(){S.ignoreWord(e,r,o,i,c,!0)}}]),(g=E.create("menu",{items:a,context:"contextmenu",onautohide:function(e){-1!==e.target.className.indexOf("spellchecker")&&e.preventDefault()},onhide:function(){g.remove(),g=null}})).renderTo(document.body);var u=I.DOM.getPos(e.getContentAreaContainer()),d=e.dom.getPos(c[0]),f=e.dom.getRoot();"BODY"===f.nodeName?(d.x-=f.ownerDocument.documentElement.scrollLeft||f.scrollLeft,d.y-=f.ownerDocument.documentElement.scrollTop||f.scrollTop):(d.x-=f.scrollLeft,d.y-=f.scrollTop),u.x+=d.x,u.y+=d.y,g.moveTo(u.x,u.y+c[0].offsetHeight)}(e,t,n,r,o,c.getAttribute("data-mce-word"),a)}}})};t.add("spellchecker",function(t,r){if(!1===n(t)){var i=e(!1),c=e(o(t)),a=e(null),l=e({});return T(t,r,i,a,c,l),P(t,r,l,i,a),b(t,r,i,a,l,c),w(t,i,l,a,r)}})}();!function(){"use strict";var e=function(t){var n=t,r=function(){return n};return{get:r,set:function(e){n=e},clone:function(){return e(r())}}},t=tinymce.util.Tools.resolve("tinymce.PluginManager"),n=tinymce.util.Tools.resolve("tinymce.util.Tools");function r(e){return e&&1===e.nodeType&&"false"===e.contentEditable}var a={findAndReplaceDOMText:function(e,t,n,a,i){var o,d,c,l,s,u,f=[],p=0;function g(e,t){if(t=t||0,!e[0])throw new Error("findAndReplaceDOMText cannot handle zero-length matches");var n=e.index;if(t>0){var r=e[t];if(!r)throw new Error("Invalid capture group");n+=e[0].indexOf(r),e[0]=r}return[n,n+e[0].length,[e[0]]]}if(c=t.ownerDocument,l=i.getBlockElements(),s=i.getWhiteSpaceElements(),u=i.getShortEndedElements(),d=function h(e){var t;if(3===e.nodeType)return e.data;if(s[e.nodeName]&&!l[e.nodeName])return"";if(t="",r(e))return"\n";if((l[e.nodeName]||u[e.nodeName])&&(t+="\n"),e=e.firstChild)do{t+=h(e)}while(e=e.nextSibling);return t}(t)){if(e.global)for(;o=e.exec(d);)f.push(g(o,a));else o=d.match(e),f.push(g(o,a));return f.length&&(p=f.length,function(e,t,n){var a,i,o,d,c=[],f=0,p=e,g=t.shift(),h=0;e:for(;;){if((l[p.nodeName]||u[p.nodeName]||r(p))&&f++,3===p.nodeType&&(!i&&p.length+f>=g[1]?(i=p,d=g[1]-f):a&&c.push(p),!a&&p.length+f>g[0]&&(a=p,o=g[0]-f),f+=p.length),a&&i){if(p=n({startNode:a,startNodeIndex:o,endNode:i,endNodeIndex:d,innerNodes:c,match:g[2],matchIndex:h}),f-=i.length-d,a=null,i=null,c=[],h++,!(g=t.shift()))break}else if(s[p.nodeName]&&!l[p.nodeName]||!p.firstChild){if(p.nextSibling){p=p.nextSibling;continue}}else if(!r(p)){p=p.firstChild;continue}for(;;){if(p.nextSibling){p=p.nextSibling;break}if(p.parentNode===e)break e;p=p.parentNode}}}(t,f,function(e){var t;if("function"!=typeof e){var n=e.nodeType?e:c.createElement(e);t=function(e,t){var r=n.cloneNode(!1);return r.setAttribute("data-mce-index",t),e&&r.appendChild(c.createTextNode(e)),r}}else t=e;return function(e){var n,r,a,i=e.startNode,o=e.endNode,d=e.matchIndex;if(i===o){var l=i;a=l.parentNode,e.startNodeIndex>0&&(n=c.createTextNode(l.data.substring(0,e.startNodeIndex)),a.insertBefore(n,l));var s=t(e.match[0],d);return a.insertBefore(s,l),e.endNodeIndex<l.length&&(r=c.createTextNode(l.data.substring(e.endNodeIndex)),a.insertBefore(r,l)),l.parentNode.removeChild(l),s}n=c.createTextNode(i.data.substring(0,e.startNodeIndex)),r=c.createTextNode(o.data.substring(e.endNodeIndex));for(var u=t(i.data.substring(e.startNodeIndex),d),f=[],p=0,g=e.innerNodes.length;p<g;++p){var h=e.innerNodes[p],m=t(h.data,d);h.parentNode.replaceChild(m,h),f.push(m)}var v=t(o.data.substring(0,e.endNodeIndex),d);return(a=i.parentNode).insertBefore(n,i),a.insertBefore(u,i),a.removeChild(i),(a=o.parentNode).insertBefore(v,o),a.insertBefore(r,o),a.removeChild(o),v}}(n))),p}}},i=function(e){var t=e.getAttribute("data-mce-index");return"number"==typeof t?""+t:t},o=function(e){var t=e.parentNode;e.firstChild&&t.insertBefore(e.firstChild,e),e.parentNode.removeChild(e)},d=function(e,t){var r,a=[];if((r=n.toArray(e.getBody().getElementsByTagName("span"))).length)for(var o=0;o<r.length;o++){var d=i(r[o]);null!==d&&d.length&&d===t.toString()&&a.push(r[o])}return a},c=function(e,t,n){var r=t.get(),a=e.dom;(n=!1!==n)?r++:r--,a.removeClass(d(e,t.get()),"mce-match-marker-selected");var i=d(e,r);return i.length?(a.addClass(d(e,r),"mce-match-marker-selected"),e.selection.scrollIntoView(i[0]),r):-1},l=function(e,t){var n=t.parentNode;e.remove(t),e.isEmpty(n)&&e.remove(n)},s=function(e,t){var n=c(e,t,!0);-1!==n&&t.set(n)},u=function(e,t){var n=c(e,t,!1);-1!==n&&t.set(n)},f=function(e){var t=i(e);return null!==t&&t.length>0},p=function(e,t,r){var a,d,c,l;for(d=n.toArray(e.getBody().getElementsByTagName("span")),a=0;a<d.length;a++){var s=i(d[a]);null!==s&&s.length&&(s===t.get().toString()&&(c||(c=d[a].firstChild),l=d[a].firstChild),o(d[a]))}if(c&&l){var u=e.dom.createRng();return u.setStart(c,0),u.setEnd(l,l.data.length),!1!==r&&e.selection.setRng(u),u}},g=function(e,t){return d(e,t.get()+1).length>0},h=function(e,t){return d(e,t.get()-1).length>0},m={done:p,find:function(e,t,n,r,i){n=(n=n.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")).replace(/\s/g,"\\s"),n=i?"\\b"+n+"\\b":n;var o,d,l,s,u,f=(o=e,d=t,l=new RegExp(n,r?"g":"gi"),(u=o.dom.create("span",{"data-mce-bogus":1})).className="mce-match-marker",s=o.getBody(),p(o,d,!1),a.findAndReplaceDOMText(l,s,u,!1,o.schema));return f&&(t.set(-1),t.set(c(e,t,!0))),f},next:s,prev:u,replace:function(e,t,r,a,d){var c,p,m,v,x,b,N=t.get();for(a=!1!==a,m=e.getBody(),p=n.grep(n.toArray(m.getElementsByTagName("span")),f),c=0;c<p.length;c++){var y=i(p[c]);if(v=x=parseInt(y,10),d||v===t.get()){for(r.length?(p[c].firstChild.nodeValue=r,o(p[c])):l(e.dom,p[c]);p[++c];){if((v=parseInt(i(p[c]),10))!==x){c--;break}l(e.dom,p[c])}a&&N--}else x>t.get()&&p[c].setAttribute("data-mce-index",x-1)}return t.set(N),a?(b=g(e,t),s(e,t)):(b=h(e,t),u(e,t)),!d&&b},hasNext:g,hasPrev:h},v=function(e,t){return{done:function(n){return m.done(e,t,n)},find:function(n,r,a){return m.find(e,t,n,r,a)},next:function(){return m.next(e,t)},prev:function(){return m.prev(e,t)},replace:function(n,r,a){return m.replace(e,t,n,r,a)}}},x=function(e,t){var r,a={};function i(){d.statusbar.find("#next").disabled(!1===m.hasNext(e,t)),d.statusbar.find("#prev").disabled(!1===m.hasPrev(e,t))}function o(){e.windowManager.alert("Could not find the specified string.",function(){d.find("#find")[0].focus()})}e.undoManager.add(),r=n.trim(e.selection.getContent({format:"text"}));var d=e.windowManager.open({layout:"flex",pack:"center",align:"center",onClose:function(){e.focus(),m.done(e,t),e.undoManager.add()},onSubmit:function(n){var r,c,l,s;return n.preventDefault(),c=d.find("#case").checked(),s=d.find("#words").checked(),(l=d.find("#find").value()).length?a.text===l&&a.caseState===c&&a.wholeWord===s?m.hasNext(e,t)?(m.next(e,t),void i()):void o():((r=m.find(e,t,l,c,s))||o(),d.statusbar.items().slice(1).disabled(0===r),i(),void(a={text:l,caseState:c,wholeWord:s})):(m.done(e,t,!1),void d.statusbar.items().slice(1).disabled(!0))},buttons:[{text:"Find",subtype:"primary",onclick:function(){d.submit()}},{text:"Replace",disabled:!0,onclick:function(){m.replace(e,t,d.find("#replace").value())||(d.statusbar.items().slice(1).disabled(!0),t.set(-1),a={})}},{text:"Replace all",disabled:!0,onclick:function(){m.replace(e,t,d.find("#replace").value(),!0,!0),d.statusbar.items().slice(1).disabled(!0),a={}}},{type:"spacer",flex:1},{text:"Prev",name:"prev",disabled:!0,onclick:function(){m.prev(e,t),i()}},{text:"Next",name:"next",disabled:!0,onclick:function(){m.next(e,t),i()}}],title:"Find and replace",items:{type:"form",padding:20,labelGap:30,spacing:10,items:[{type:"textbox",name:"find",size:40,label:"Find",value:r},{type:"textbox",name:"replace",size:40,label:"Replace with"},{type:"checkbox",name:"case",text:"Match case",label:" "},{type:"checkbox",name:"words",text:"Whole words",label:" "}]}})},b=function(e,t){e.addCommand("SearchReplace",function(){x(e,t)})},N=function(e,t){return function(){x(e,t)}},y=function(e,t){e.addMenuItem("searchreplace",{text:"Find and replace",shortcut:"Meta+F",onclick:N(e,t),separator:"before",context:"edit"}),e.addButton("searchreplace",{tooltip:"Find and replace",onclick:N(e,t)}),e.shortcuts.add("Meta+F","",N(e,t))};t.add("searchreplace",function(t){var n=e(-1);return b(t,n),y(t,n),v(t,n)})}();!function(){"use strict";var n=tinymce.util.Tools.resolve("tinymce.PluginManager"),e=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),t=tinymce.util.Tools.resolve("tinymce.util.Tools"),a=function(n){return n.getParam("save_enablewhendirty",!0)},o=function(n){return!!n.getParam("save_onsavecallback")},c=function(n){return!!n.getParam("save_oncancelcallback")},i=function(n,e){n.notificationManager.open({text:n.translate(e),type:"error"})},r=function(n){var t;if(t=e.DOM.getParent(n.id,"form"),!a(n)||n.isDirty()){if(n.save(),o(n))return n.execCallback("save_onsavecallback",n),void n.nodeChanged();t?(n.setDirty(!1),t.onsubmit&&!t.onsubmit()||("function"==typeof t.submit?t.submit():i(n,"Error: Form submit field collision.")),n.nodeChanged()):i(n,"Error: No form element found.")}},l=function(n){var e=t.trim(n.startContent);c(n)?n.execCallback("save_oncancelcallback",n):(n.setContent(e),n.undoManager.clear(),n.nodeChanged())},d=function(n){n.addCommand("mceSave",function(){r(n)}),n.addCommand("mceCancel",function(){l(n)})},s=function(n){return function(e){var t=e.control;n.on("nodeChange dirty",function(){t.disabled(a(n)&&!n.isDirty())})}},u=function(n){n.addButton("save",{icon:"save",text:"Save",cmd:"mceSave",disabled:!0,onPostRender:s(n)}),n.addButton("cancel",{text:"Cancel",icon:!1,cmd:"mceCancel",disabled:!0,onPostRender:s(n)}),n.addShortcut("Meta+S","","mceSave")};n.add("save",function(n){u(n),d(n)})}();!function(){"use strict";var t=function(t){t.addCommand("mcePrint",function(){t.getWin().print()})},n=function(t){t.addButton("print",{title:"Print",cmd:"mcePrint"}),t.addMenuItem("print",{text:"Print",cmd:"mcePrint",icon:"print"})};tinymce.util.Tools.resolve("tinymce.PluginManager").add("print",function(i){t(i),n(i),i.addShortcut("Meta+P","","mcePrint")})}();!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),t=tinymce.util.Tools.resolve("tinymce.Env"),n=function(e){return parseInt(e.getParam("plugin_preview_width","650"),10)},i=function(e){return parseInt(e.getParam("plugin_preview_height","500"),10)},o=function(e){return e.getParam("content_style","")},r=tinymce.util.Tools.resolve("tinymce.util.Tools"),c=function(e){var t="",n=e.dom.encode,i=o(e);t+='<base href="'+n(e.documentBaseURI.getURI())+'">',i&&(t+='<style type="text/css">'+i+"</style>"),r.each(e.contentCSS,function(i){t+='<link type="text/css" rel="stylesheet" href="'+n(e.documentBaseURI.toAbsolute(i))+'">'});var c=e.settings.body_id||"tinymce";-1!==c.indexOf("=")&&(c=(c=e.getParam("body_id","","hash"))[e.id]||c);var a=e.settings.body_class||"";-1!==a.indexOf("=")&&(a=(a=e.getParam("body_class","","hash"))[e.id]||"");var s=e.settings.directionality?' dir="'+e.settings.directionality+'"':"";return"<!DOCTYPE html><html><head>"+t+'</head><body id="'+n(c)+'" class="mce-content-body '+n(a)+'"'+n(s)+">"+e.getContent()+'<script>document.addEventListener && document.addEventListener("click", function(e) {for (var elm = e.target; elm; elm = elm.parentNode) {if (elm.nodeName === "A") {e.preventDefault();}}}, false);<\/script> </body></html>'},a=function(e,t,n){var i=c(e);if(n)t.src="data:text/html;charset=utf-8,"+encodeURIComponent(i);else{var o=t.contentWindow.document;o.open(),o.write(i),o.close()}},s=function(e){var o=!t.ie,r='<iframe src="javascript:\'\'" frameborder="0"'+(o?' sandbox="allow-scripts"':"")+"></iframe>",c=n(e),s=i(e);e.windowManager.open({title:"Preview",width:c,height:s,html:r,buttons:{text:"Close",onclick:function(e){e.control.parent().parent().close()}},onPostRender:function(t){var n=t.control.getEl("body").firstChild;a(e,n,o)}})},d=function(e){e.addCommand("mcePreview",function(){s(e)})},l=function(e){e.addButton("preview",{title:"Preview",cmd:"mcePreview"}),e.addMenuItem("preview",{text:"Preview",cmd:"mcePreview",context:"view"})};e.add("preview",function(e){d(e),l(e)})}();!function(){"use strict";var e=function(t){var n=t,r=function(){return n};return{get:r,set:function(e){n=e},clone:function(){return e(r())}}},t=tinymce.util.Tools.resolve("tinymce.PluginManager"),n=function(e){return!(!/(^|[ ,])powerpaste([, ]|$)/.test(e.settings.plugins)||!t.get("powerpaste")||("undefined"!=typeof window.console&&window.console.log&&window.console.log("PowerPaste is incompatible with Paste plugin! Remove 'paste' from the 'plugins' option."),0))},r=function(e,t){return{clipboard:e,quirks:t}},a={firePastePreProcess:function(e,t,n,r){return e.fire("PastePreProcess",{content:t,internal:n,wordContent:r})},firePastePostProcess:function(e,t,n,r){return e.fire("PastePostProcess",{node:t,internal:n,wordContent:r})},firePastePlainTextToggle:function(e,t){return e.fire("PastePlainTextToggle",{state:t})},firePaste:function(e,t){return e.fire("paste",{ieFake:t})}},i={shouldPlainTextInform:function(e){return e.getParam("paste_plaintext_inform",!0)},shouldBlockDrop:function(e){return e.getParam("paste_block_drop",!1)},shouldPasteDataImages:function(e){return e.getParam("paste_data_images",!1)},shouldFilterDrop:function(e){return e.getParam("paste_filter_drop",!0)},getPreProcess:function(e){return e.getParam("paste_preprocess")},getPostProcess:function(e){return e.getParam("paste_postprocess")},getWebkitStyles:function(e){return e.getParam("paste_webkit_styles")},shouldRemoveWebKitStyles:function(e){return e.getParam("paste_remove_styles_if_webkit",!0)},shouldMergeFormats:function(e){return e.getParam("paste_merge_formats",!0)},isSmartPasteEnabled:function(e){return e.getParam("smart_paste",!0)},isPasteAsTextEnabled:function(e){return e.getParam("paste_as_text",!1)},getRetainStyleProps:function(e){return e.getParam("paste_retain_style_properties")},getWordValidElements:function(e){return e.getParam("paste_word_valid_elements","-strong/b,-em/i,-u,-span,-p,-ol,-ul,-li,-h1,-h2,-h3,-h4,-h5,-h6,-p/div,-a[href|name],sub,sup,strike,br,del,table[width],tr,td[colspan|rowspan|width],th[colspan|rowspan|width],thead,tfoot,tbody")},shouldConvertWordFakeLists:function(e){return e.getParam("paste_convert_word_fake_lists",!0)},shouldUseDefaultFilters:function(e){return e.getParam("paste_enable_default_filters",!0)}},o=function(e,t,n){var r,o,s;"text"===t.pasteFormat?(t.pasteFormat="html",a.firePastePlainTextToggle(e,!1)):(t.pasteFormat="text",a.firePastePlainTextToggle(e,!0),s=e,!1===n.get()&&i.shouldPlainTextInform(s)&&(o="Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.",(r=e).notificationManager.open({text:r.translate(o),type:"info"}),n.set(!0))),e.focus()},s=function(e,t,n){e.addCommand("mceTogglePlainTextPaste",function(){o(e,t,n)}),e.addCommand("mceInsertClipboardContent",function(e,n){n.content&&t.pasteHtml(n.content,n.internal),n.text&&t.pasteText(n.text)})},l=tinymce.util.Tools.resolve("tinymce.Env"),u=tinymce.util.Tools.resolve("tinymce.util.Delay"),c=tinymce.util.Tools.resolve("tinymce.util.Tools"),f=tinymce.util.Tools.resolve("tinymce.util.VK"),d="x-tinymce/html",m="\x3c!-- "+d+" --\x3e",p={mark:function(e){return m+e},unmark:function(e){return e.replace(m,"")},isMarked:function(e){return-1!==e.indexOf(m)},internalHtmlMime:function(){return d}},g=tinymce.util.Tools.resolve("tinymce.html.Entities"),v=function(e){return e.replace(/\r?\n/g,"<br>")},h=function(e,t,n){var r=e.split(/\n\n/),a=function(e,t){var n,r=[],a="<"+e;if("object"==typeof t){for(n in t)t.hasOwnProperty(n)&&r.push(n+'="'+g.encodeAllRaw(t[n])+'"');r.length&&(a+=" "+r.join(" "))}return a+">"}(t,n),i="</"+t+">",o=c.map(r,function(e){return e.split(/\n/).join("<br />")});return 1===o.length?o[0]:c.map(o,function(e){return a+e+i}).join("")},P={isPlainText:function(e){return!/<(?:\/?(?!(?:div|p|br|span)>)\w+|(?:(?!(?:span style="white-space:\s?pre;?">)|br\s?\/>))\w+\s[^>]+)>/i.test(e)},convert:function(e,t,n){return t?h(e,t,n):v(e)},toBRs:v,toBlockElements:h},y=tinymce.util.Tools.resolve("tinymce.html.DomParser"),b=tinymce.util.Tools.resolve("tinymce.html.Node"),x=tinymce.util.Tools.resolve("tinymce.html.Schema"),w=tinymce.util.Tools.resolve("tinymce.html.Serializer");function T(e,t){return c.each(t,function(t){e=t.constructor===RegExp?e.replace(t,""):e.replace(t[0],t[1])}),e}var C={filter:T,innerText:function(e){var t=x(),n=y({},t),r="",a=t.getShortEndedElements(),i=c.makeMap("script noscript style textarea video audio iframe object"," "),o=t.getBlockElements();return e=T(e,[/<!\[[^\]]+\]>/g]),function s(e){var t=e.name,n=e;if("br"!==t)if(a[t]&&(r+=" "),i[t])r+=" ";else{if(3===e.type&&(r+=e.value),!e.shortEnded&&(e=e.firstChild))do{s(e)}while(e=e.next);o[t]&&n.next&&(r+="\n","p"===t&&(r+="\n"))}else r+="\n"}(n.parse(e)),r},trimHtml:function(e){return e=T(e,[/^[\s\S]*<body[^>]*>\s*|\s*<\/body[^>]*>[\s\S]*$/gi,/<!--StartFragment-->|<!--EndFragment-->/g,[/( ?)<span class="Apple-converted-space">\u00a0<\/span>( ?)/g,function(e,t,n){return t||n?"\xa0":" "}],/<br class="Apple-interchange-newline">/g,/<br>$/i])},createIdGenerator:function(e){var t=0;return function(){return e+t++}},isMsEdge:function(){return-1!==navigator.userAgent.indexOf(" Edge/")}};function _(e){var t,n;return n=[/^[IVXLMCD]{1,2}\.[ \u00a0]/,/^[ivxlmcd]{1,2}\.[ \u00a0]/,/^[a-z]{1,2}[\.\)][ \u00a0]/,/^[A-Z]{1,2}[\.\)][ \u00a0]/,/^[0-9]+\.[ \u00a0]/,/^[\u3007\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d]+\.[ \u00a0]/,/^[\u58f1\u5f10\u53c2\u56db\u4f0d\u516d\u4e03\u516b\u4e5d\u62fe]+\.[ \u00a0]/],e=e.replace(/^[\u00a0 ]+/,""),c.each(n,function(n){if(n.test(e))return t=!0,!1}),t}function D(e){var t,n,r=1;function a(e){var t="";if(3===e.type)return e.value;if(e=e.firstChild)do{t+=a(e)}while(e=e.next);return t}function i(e,t){if(3===e.type&&t.test(e.value))return e.value=e.value.replace(t,""),!1;if(e=e.firstChild)do{if(!i(e,t))return!1}while(e=e.next);return!0}function o(e,a,o){var s=e._listLevel||r;s!==r&&(s<r?t&&(t=t.parent.parent):(n=t,t=null)),t&&t.name===a?t.append(e):(n=n||t,t=new b(a,1),o>1&&t.attr("start",""+o),e.wrap(t)),e.name="li",s>r&&n&&n.lastChild.append(t),r=s,function l(e){if(e._listIgnore)e.remove();else if(e=e.firstChild)do{l(e)}while(e=e.next)}(e),i(e,/^\u00a0+/),i(e,/^\s*([\u2022\u00b7\u00a7\u25CF]|\w+\.)/),i(e,/^\u00a0+/)}for(var s=[],l=e.firstChild;void 0!==l&&null!==l;)if(s.push(l),null!==(l=l.walk()))for(;void 0!==l&&l.parent!==e;)l=l.walk();for(var u=0;u<s.length;u++)if("p"===(e=s[u]).name&&e.firstChild){var c=a(e);if(/^[\s\u00a0]*[\u2022\u00b7\u00a7\u25CF]\s*/.test(c)){o(e,"ul");continue}if(_(c)){var f=/([0-9]+)\./.exec(c),d=1;f&&(d=parseInt(f[1],10)),o(e,"ol",d);continue}if(e._listLevel){o(e,"ul",1);continue}t=null}else n=t,t=null}function k(e,t,n,r){var a,o={},s=e.dom.parseStyle(r);return c.each(s,function(s,l){switch(l){case"mso-list":(a=/\w+ \w+([0-9]+)/i.exec(r))&&(n._listLevel=parseInt(a[1],10)),/Ignore/i.test(s)&&n.firstChild&&(n._listIgnore=!0,n.firstChild._listIgnore=!0);break;case"horiz-align":l="text-align";break;case"vert-align":l="vertical-align";break;case"font-color":case"mso-foreground":l="color";break;case"mso-background":case"mso-highlight":l="background";break;case"font-weight":case"font-style":return void("normal"!==s&&(o[l]=s));case"mso-element":if(/^(comment|comment-list)$/i.test(s))return void n.remove()}0!==l.indexOf("mso-comment")?0!==l.indexOf("mso-")&&("all"===i.getRetainStyleProps(e)||t&&t[l])&&(o[l]=s):n.remove()}),/(bold)/i.test(o["font-weight"])&&(delete o["font-weight"],n.wrap(new b("b",1))),/(italic)/i.test(o["font-style"])&&(delete o["font-style"],n.wrap(new b("i",1))),(o=e.dom.serializeStyle(o,n.name))||null}var R={preProcess:function(e,t){return i.shouldUseDefaultFilters(e)?function(e,t){var n,r;(n=i.getRetainStyleProps(e))&&(r=c.makeMap(n.split(/[, ]/))),t=C.filter(t,[/<br class="?Apple-interchange-newline"?>/gi,/<b[^>]+id="?docs-internal-[^>]*>/gi,/<!--[\s\S]+?-->/gi,/<(!|script[^>]*>.*?<\/script(?=[>\s])|\/?(\?xml(:\w+)?|img|meta|link|style|\w:\w+)(?=[\s\/>]))[^>]*>/gi,[/<(\/?)s>/gi,"<$1strike>"],[/ /gi,"\xa0"],[/<span\s+style\s*=\s*"\s*mso-spacerun\s*:\s*yes\s*;?\s*"\s*>([\s\u00a0]*)<\/span>/gi,function(e,t){return t.length>0?t.replace(/./," ").slice(Math.floor(t.length/2)).split("").join("\xa0"):""}]]);var a=i.getWordValidElements(e),o=x({valid_elements:a,valid_children:"-li[p]"});c.each(o.elements,function(e){e.attributes["class"]||(e.attributes["class"]={},e.attributesOrder.push("class")),e.attributes.style||(e.attributes.style={},e.attributesOrder.push("style"))});var s=y({},o);s.addAttributeFilter("style",function(t){for(var n,a=t.length;a--;)(n=t[a]).attr("style",k(e,r,n,n.attr("style"))),"span"===n.name&&n.parent&&!n.attributes.length&&n.unwrap()}),s.addAttributeFilter("class",function(e){for(var t,n,r=e.length;r--;)n=(t=e[r]).attr("class"),/^(MsoCommentReference|MsoCommentText|msoDel)$/i.test(n)&&t.remove(),t.attr("class",null)}),s.addNodeFilter("del",function(e){for(var t=e.length;t--;)e[t].remove()}),s.addNodeFilter("a",function(e){for(var t,n,r,a=e.length;a--;)if(n=(t=e[a]).attr("href"),r=t.attr("name"),n&&-1!==n.indexOf("#_msocom_"))t.remove();else if(n&&0===n.indexOf("file://")&&(n=n.split("#")[1])&&(n="#"+n),n||r){if(r&&!/^_?(?:toc|edn|ftn)/i.test(r)){t.unwrap();continue}t.attr({href:n,name:r})}else t.unwrap()});var l=s.parse(t);return i.shouldConvertWordFakeLists(e)&&D(l),t=w({validate:e.settings.validate},o).serialize(l)}(e,t):t},isWordContent:function(e){return/<font face="Times New Roman"|class="?Mso|style="[^"]*\bmso-|style='[^'']*\bmso-|w:WordDocument/i.test(e)||/class="OutlineElement/.test(e)||/id="?docs\-internal\-guid\-/.test(e)}},E=function(e,t){return{content:e,cancelled:t}},F=function(e,t,n,r){var i,o,s,l,u,c,f=a.firePastePreProcess(e,t,n,r);return e.hasEventListeners("PastePostProcess")&&!f.isDefaultPrevented()?(i=e,o=f.content,s=n,l=r,u=i.dom.create("div",{style:"display:none"},o),c=a.firePastePostProcess(i,u,s,l),E(c.node.innerHTML,c.isDefaultPrevented())):E(f.content,f.isDefaultPrevented())},M={process:function(e,t,n){var r=R.isWordContent(t),a=r?R.preProcess(e,t):t;return F(e,a,n,r)}},S=function(e){return/^https?:\/\/[\w\?\-\/+=.&%@~#]+$/i.test(e)},I=function(e){return S(e)&&/.(gif|jpe?g|png)$/.test(e)},A=function(e,t,n){return!(!1!==e.selection.isCollapsed()||!S(t)||(a=t,i=n,(r=e).undoManager.extra(function(){i(r,a)},function(){r.execCommand("mceInsertLink",!1,a)}),0));var r,a,i},O=function(e,t,n){return!!I(t)&&(a=t,i=n,(r=e).undoManager.extra(function(){i(r,a)},function(){r.insertContent('<img src="'+a+'">')}),!0);var r,a,i},B=function(e,t){return e.insertContent(t,{merge:i.shouldMergeFormats(e),paste:!0}),!0},H={isImageUrl:I,isAbsoluteUrl:S,insertContent:function(e,t){var n,r;!1===i.isSmartPasteEnabled(e)?B(e,t):(n=e,r=t,c.each([A,O,B],function(e){return!0!==e(n,r,B)}))}},N=function(e){var t,n,r,o,s,d,m=this,g=0,v=(t=e,r="%MCEPASTEBIN%",{create:function(){var e,a,i=t.dom,o=t.getBody(),s=t.dom.getViewPort(t.getWin()).y,u=20;if(n=t.selection.getRng(),t.inline&&(a=t.selection.getScrollContainer())&&a.scrollTop>0&&(s=a.scrollTop),n.getClientRects){var c=function(e){var t,r,a,o=e.startContainer;if((t=e.getClientRects()).length)return t[0];if(e.collapsed&&1===o.nodeType){for(a=o.childNodes[n.startOffset];a&&3===a.nodeType&&!a.data.length;)a=a.nextSibling;if(a)return"BR"===a.tagName&&(r=i.doc.createTextNode("\ufeff"),a.parentNode.insertBefore(r,a),(e=i.createRng()).setStartBefore(r),e.setEndAfter(r),t=e.getClientRects(),i.remove(r)),t.length?t[0]:void 0}}(n);if(c)u=s+(c.top-i.getPos(o).y);else{u=s;var f=n.startContainer;f&&(3===f.nodeType&&f.parentNode!==o&&(f=f.parentNode),1===f.nodeType&&(u=i.getPos(f,a||o).y))}}e=t.dom.add(t.getBody(),"div",{id:"mcepastebin",contentEditable:!0,"data-mce-bogus":"all",style:"position: absolute; top: "+u+"px; width: 10px; height: 10px; overflow: hidden; opacity: 0"},r),(l.ie||l.gecko)&&i.setStyle(e,"left","rtl"===i.getStyle(o,"direction",!0)?65535:-65535),i.bind(e,"beforedeactivate focusin focusout",function(e){e.stopPropagation()}),e.focus(),t.selection.select(e,!0)},remove:function(){if(o()){for(var e=void 0;e=t.dom.get("mcepastebin");)t.dom.remove(e),t.dom.unbind(e);n&&t.selection.setRng(n)}n=null},getEl:o=function(){return t.dom.get("mcepastebin")},getHtml:function(){var e,n,r,a,i,o=function(e,n){e.appendChild(n),t.dom.remove(n,!0)};for(n=c.grep(t.getBody().childNodes,function(e){return"mcepastebin"===e.id}),e=n.shift(),c.each(n,function(t){o(e,t)}),r=(a=t.dom.select("div[id=mcepastebin]",e)).length-1;r>=0;r--)i=t.dom.create("div"),e.insertBefore(i,a[r]),o(i,a[r]);return e?e.innerHTML:""},getLastRng:function(){return n},isDefault:function(){var e,t=o();return(e=t)&&"mcepastebin"===e.id&&s(t.innerHTML)},isDefaultContent:s=function(e){return e===r}}),h="data:text/mce-internal,",y=C.createIdGenerator("mceclip");function b(t,n){var r=n||p.isMarked(t),a=M.process(e,p.unmark(t),r);!1===a.cancelled&&H.insertContent(e,a.content)}function x(t){t=e.dom.encode(t).replace(/\r\n/g,"\n"),b(t=P.convert(t,e.settings.forced_root_block,e.settings.forced_root_block_attrs),!1)}function w(e){var t={};if(e){if(e.getData){var n=e.getData("Text");n&&n.length>0&&-1===n.indexOf(h)&&(t["text/plain"]=n)}if(e.types)for(var r=0;r<e.types.length;r++){var a=e.types[r];try{t[a]=e.getData(a)}catch(i){t[a]=""}}}return t}function T(e){return k(e,"text/html")||k(e,"text/plain")}function _(t,n,r){t&&(e.selection.setRng(t),t=null);var a,i,o,s,l,u,c=n.result,f=-1!==(i=(a=c).indexOf(","))?a.substr(i+1):null,d=y(),m=e.settings.images_reuse_filename&&r.name?(o=r.name,(s=o.match(/([\s\S]+?)\.(?:jpeg|jpg|png|gif)$/i))?e.dom.encode(s[1]):null):d,p=new Image;if(p.src=c,l=e.settings,u=p,!l.images_dataimg_filter||l.images_dataimg_filter(u)){var g,v=e.editorUpload.blobCache,h=void 0;(g=v.findFirst(function(e){return e.base64()===f}))?h=g:(h=v.create(d,r,f,m),v.add(h)),b('<img src="'+h.blobUri()+'">',!1)}else b('<img src="'+c+'">',!1)}function D(t,n){var r=t.clipboardData||t.dataTransfer;function a(e){var r,a,i,o=!1;if(e)for(r=0;r<e.length;r++)if(a=e[r],/^image\/(jpeg|png|gif|bmp)$/.test(a.type)){var s=a.getAsFile?a.getAsFile():a;(i=new window.FileReader).onload=_.bind(null,n,i,s),i.readAsDataURL(s),t.preventDefault(),o=!0}return o}if(e.settings.paste_data_images&&r)return a(r.items)||a(r.files)}function k(e,t){return t in e&&e[t].length>0}function R(e){return f.metaKeyPressed(e)&&86===e.keyCode||e.shiftKey&&45===e.keyCode}function E(){function t(t,n,r,a){var i,o;k(t,"text/html")?i=t["text/html"]:(i=v.getHtml(),a=a||p.isMarked(i),v.isDefaultContent(i)&&(r=!0)),i=C.trimHtml(i),v.remove(),o=!1===a&&P.isPlainText(i),i.length&&!o||(r=!0),r&&(i=k(t,"text/plain")&&o?t["text/plain"]:C.innerText(i)),v.isDefaultContent(i)?n||e.windowManager.alert("Please use Ctrl+V/Cmd+V keyboard shortcuts to paste contents."):r?x(i):b(i,a)}e.on("keydown",function(t){function n(e){R(e)&&!e.isDefaultPrevented()&&v.remove()}if(R(t)&&!t.isDefaultPrevented()){if((d=t.shiftKey&&86===t.keyCode)&&l.webkit&&-1!==navigator.userAgent.indexOf("Version/"))return;if(t.stopImmediatePropagation(),g=(new Date).getTime(),l.ie&&d)return t.preventDefault(),void a.firePaste(e,!0);v.remove(),v.create(),e.once("keyup",n),e.once("paste",function(){e.off("keyup",n)})}}),e.on("paste",function(n){var r,a,i=(new Date).getTime(),o=(r=w(n.clipboardData||e.getDoc().dataTransfer),C.isMsEdge()?c.extend(r,{"text/html":""}):r),s=(new Date).getTime()-i,f=(new Date).getTime()-g-s<1e3,h="text"===m.pasteFormat||d,P=k(o,p.internalHtmlMime());d=!1,n.isDefaultPrevented()||(a=n.clipboardData,-1!==navigator.userAgent.indexOf("Android")&&a&&a.items&&0===a.items.length)?v.remove():T(o)||!D(n,v.getLastRng()||e.selection.getRng())?(f||n.preventDefault(),!l.ie||f&&!n.ieFake||k(o,"text/html")||(v.create(),e.dom.bind(v.getEl(),"paste",function(e){e.stopPropagation()}),e.getDoc().execCommand("Paste",!1,null),o["text/html"]=v.getHtml()),k(o,"text/html")?(n.preventDefault(),P||(P=p.isMarked(o["text/html"])),t(o,f,h,P)):u.setEditorTimeout(e,function(){t(o,f,h,P)},0)):v.remove()})}m.pasteFormat=i.isPasteAsTextEnabled(e)?"text":"html",m.pasteHtml=b,m.pasteText=x,m.pasteImageData=D,m.getDataTransferItems=w,m.hasHtmlOrText=T,m.hasContentType=k,e.on("preInit",function(){var t;E(),e.parser.addNodeFilter("img",function(n,r,a){function i(e){e.attr("data-mce-object")||t===l.transparentSrc||e.remove()}if(!e.settings.paste_data_images&&(s=a).data&&!0===s.data.paste)for(var o=n.length;o--;)(t=n[o].attributes.map.src)&&(0===t.indexOf("webkit-fake-url")?i(n[o]):e.settings.allow_html_data_urls||0!==t.indexOf("data:")||i(n[o]));var s})})},L=function(){},$=function(e,t,n){if(r=e,!1!==l.iOS||r===undefined||"function"!=typeof r.setData||!0===C.isMsEdge())return!1;try{return e.clearData(),e.setData("text/html",t),e.setData("text/plain",n),e.setData(p.internalHtmlMime(),t),!0}catch(a){return!1}var r},W=function(e,t,n,r){$(e.clipboardData,t.html,t.text)?(e.preventDefault(),r()):n(t.html,r)},j=function(e){return function(t,n){var r=p.mark(t),a=e.dom.create("div",{contenteditable:"false","data-mce-bogus":"all"}),i=e.dom.create("div",{contenteditable:"true"},r);e.dom.setStyles(a,{position:"fixed",left:"-3000px",width:"1000px",overflow:"hidden"}),a.appendChild(i),e.dom.add(e.getBody(),a);var o=e.selection.getRng();i.focus();var s=e.dom.createRng();s.selectNodeContents(i),e.selection.setRng(s),setTimeout(function(){a.parentNode.removeChild(a),e.selection.setRng(o),n()},0)}},U=function(e){return{html:e.selection.getContent({contextual:!0}),text:e.selection.getContent({format:"text"})}},V=function(e){var t,n;e.on("cut",(t=e,function(e){!1===t.selection.isCollapsed()&&W(e,U(t),j(t),function(){setTimeout(function(){t.execCommand("Delete")},0)})})),e.on("copy",(n=e,function(e){!1===n.selection.isCollapsed()&&W(e,U(n),j(n),L)}))},z=tinymce.util.Tools.resolve("tinymce.dom.RangeUtils"),K=function(e,t){return z.getCaretRangeFromPoint(t.clientX,t.clientY,e.getDoc())},G=function(e,t){e.focus(),e.selection.setRng(t)},X=function(e,t,n){i.shouldBlockDrop(e)&&e.on("dragend dragover draggesture dragdrop drop drag",function(e){e.preventDefault(),e.stopPropagation()}),i.shouldPasteDataImages(e)||e.on("drop",function(e){var t=e.dataTransfer;t&&t.files&&t.files.length>0&&e.preventDefault()}),e.on("drop",function(r){var a,o;if(o=K(e,r),!r.isDefaultPrevented()&&!n.get()){a=t.getDataTransferItems(r.dataTransfer);var s,l=t.hasContentType(a,p.internalHtmlMime());if((t.hasHtmlOrText(a)&&(!(s=a["text/plain"])||0!==s.indexOf("file://"))||!t.pasteImageData(r,o))&&o&&i.shouldFilterDrop(e)){var c=a["mce-internal"]||a["text/html"]||a["text/plain"];c&&(r.preventDefault(),u.setEditorTimeout(e,function(){e.undoManager.transact(function(){a["mce-internal"]&&e.execCommand("Delete"),G(e,o),c=C.trimHtml(c),a["text/html"]?t.pasteHtml(c,l):t.pasteText(c)})}))}}}),e.on("dragstart",function(e){n.set(!0)}),e.on("dragover dragend",function(t){i.shouldPasteDataImages(e)&&!1===n.get()&&(t.preventDefault(),G(e,K(e,t))),"dragend"===t.type&&n.set(!1)})},q=function(e){var t=e.plugins.paste,n=i.getPreProcess(e);n&&e.on("PastePreProcess",function(e){n.call(t,t,e)});var r=i.getPostProcess(e);r&&e.on("PastePostProcess",function(e){r.call(t,t,e)})};function Y(e,t){e.on("PastePreProcess",function(n){n.content=t(e,n.content,n.internal,n.wordContent)})}function Z(e,t){if(!R.isWordContent(t))return t;var n=[];c.each(e.schema.getBlockElements(),function(e,t){n.push(t)});var r=new RegExp("(?:<br> [\\s\\r\\n]+|<br>)*(<\\/?("+n.join("|")+")[^>]*>)(?:<br> [\\s\\r\\n]+|<br>)*","g");return t=C.filter(t,[[r,"$1"]]),t=C.filter(t,[[/<br><br>/g,"<BR><BR>"],[/<br>/g," "],[/<BR><BR>/g,"<br>"]])}function J(e,t,n,r){if(r||n)return t;var a=i.getWebkitStyles(e);if(!1===i.shouldRemoveWebKitStyles(e)||"all"===a)return t;if(a&&(a=a.split(/[, ]/)),a){var o=e.dom,s=e.selection.getNode();t=t.replace(/(<[^>]+) style="([^"]*)"([^>]*>)/gi,function(e,t,n,r){var i=o.parseStyle(o.decode(n),"span"),l={};if("none"===a)return t+r;for(var u=0;u<a.length;u++){var c=i[a[u]],f=o.getStyle(s,a[u],!0);/color/.test(a[u])&&(c=o.toHex(c),f=o.toHex(f)),f!==c&&(l[a[u]]=c)}return(l=o.serializeStyle(l,"span"))?t+' style="'+l+'"'+r:t+r})}else t=t.replace(/(<[^>]+) style="([^"]*)"([^>]*>)/gi,"$1$3");return t=t.replace(/(<[^>]+) data-mce-style="([^"]+)"([^>]*>)/gi,function(e,t,n,r){return t+' style="'+n+'"'+r})}function Q(e,t){e.$("a",t).find("font,u").each(function(t,n){e.dom.remove(n,!0)})}var ee=function(e){var t,n;l.webkit&&Y(e,J),l.ie&&(Y(e,Z),n=Q,(t=e).on("PastePostProcess",function(e){n(t,e.node)}))},te=function(e){return function(){return e}},ne=function(e){for(var t=new Array(arguments.length-1),n=1;n<arguments.length;n++)t[n-1]=arguments[n];return function(){for(var n=new Array(arguments.length),r=0;r<n.length;r++)n[r]=arguments[r];var a=t.concat(n);return e.apply(null,a)}},re=(te(!1),te(!0),function(e,t){var n=ne((te(!1),te(!0),function(e,t,n){var r=n.control;r.active("text"===t.pasteFormat),e.on("PastePlainTextToggle",function(e){r.active(e.state)})}),e,t);e.addButton("pastetext",{active:!1,icon:"pastetext",tooltip:"Paste as text",cmd:"mceTogglePlainTextPaste",onPostRender:n}),e.addMenuItem("pastetext",{text:"Paste as text",selectable:!0,active:t.pasteFormat,cmd:"mceTogglePlainTextPaste",onPostRender:n})}),ae=e(!1);t.add("paste",function(t){if(!1===n(t)){var a=new N(t),i=ee(t),o=e(!1);return re(t,a),s(t,a,ae),q(t),V(t),X(t,a,o),r(a,i)}})}();!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),a=tinymce.util.Tools.resolve("tinymce.Env"),n=function(e){return e.getParam("pagebreak_separator","\x3c!-- pagebreak --\x3e")},t=function(e){return e.getParam("pagebreak_split_block",!1)},r=function(){return"mce-pagebreak"},c=function(){return'<img src="'+a.transparentSrc+'" class="mce-pagebreak" data-mce-resize="false" data-mce-placeholder />'},o=function(e){var a=n(e),r=new RegExp(a.replace(/[\?\.\*\[\]\(\)\{\}\+\^\$\:]/g,function(e){return"\\"+e}),"gi");e.on("BeforeSetContent",function(e){e.content=e.content.replace(r,c())}),e.on("PreInit",function(){e.serializer.addNodeFilter("img",function(n){for(var r,c,o=n.length;o--;)if((c=(r=n[o]).attr("class"))&&-1!==c.indexOf("mce-pagebreak")){var i=r.parent;if(e.schema.getBlockElements()[i.name]&&t(e)){i.type=3,i.value=a,i.raw=!0,r.remove();continue}r.type=3,r.value=a,r.raw=!0}})})},i=c,g=r,u=function(e){e.addCommand("mcePageBreak",function(){e.settings.pagebreak_split_block?e.insertContent("<p>"+i()+"</p>"):e.insertContent(i())})},m=function(e){e.on("ResolveName",function(a){"IMG"===a.target.nodeName&&e.dom.hasClass(a.target,g())&&(a.name="pagebreak")})},s=function(e){e.addButton("pagebreak",{title:"Page break",cmd:"mcePageBreak"}),e.addMenuItem("pagebreak",{text:"Page break",icon:"pagebreak",cmd:"mcePageBreak",context:"insert"})};e.add("pagebreak",function(e){u(e),s(e),o(e),m(e)})}();!function(){"use strict";var t=tinymce.util.Tools.resolve("tinymce.PluginManager"),n=tinymce.util.Tools.resolve("tinymce.util.Tools"),e=function(t){return t.getParam("noneditable_noneditable_class","mceNonEditable")},r=function(t){return t.getParam("noneditable_editable_class","mceEditable")},a=function(t){var n=t.getParam("noneditable_regexp",[]);return n&&n.constructor===RegExp?[n]:n},i=function(t){return function(n){return-1!==(" "+n.attr("class")+" ").indexOf(t)}},o=function(t,n,e){return function(r){var a=arguments,i=a[a.length-2],o=i>0?n.charAt(i-1):"";if('"'===o)return r;if(">"===o){var c=n.lastIndexOf("<",i);if(-1!==c&&-1!==n.substring(c,i).indexOf('contenteditable="false"'))return r}return'<span class="'+e+'" data-mce-content="'+t.dom.encode(a[0])+'">'+t.dom.encode("string"==typeof a[1]?a[1]:a[0])+"</span>"}},c=function(t){var c,l,u="contenteditable";c=" "+n.trim(r(t))+" ",l=" "+n.trim(e(t))+" ";var f=i(c),s=i(l),d=a(t);t.on("PreInit",function(){d.length>0&&t.on("BeforeSetContent",function(n){!function(t,n,r){var a=n.length,i=r.content;if("raw"!==r.format){for(;a--;)i=i.replace(n[a],o(t,i,e(t)));r.content=i}}(t,d,n)}),t.parser.addAttributeFilter("class",function(t){for(var n,e=t.length;e--;)n=t[e],f(n)?n.attr(u,"true"):s(n)&&n.attr(u,"false")}),t.serializer.addAttributeFilter(u,function(t){for(var n,e=t.length;e--;)n=t[e],(f(n)||s(n))&&(d.length>0&&n.attr("data-mce-content")?(n.name="#text",n.type=3,n.raw=!0,n.value=n.attr("data-mce-content")):n.attr(u,null))})})};t.add("noneditable",function(t){c(t)})}();!function(){"use strict";var n=tinymce.util.Tools.resolve("tinymce.PluginManager"),e=function(n,e){var t,a=(t=n).plugins.visualchars&&t.plugins.visualchars.isEnabled()?'<span class="mce-nbsp"> </span>':" ";n.insertContent(function(n,e){for(var t="",a=0;a<e;a++)t+=n;return t}(a,e)),n.dom.setAttrib(n.dom.select("span.mce-nbsp"),"data-mce-bogus","1")},t=function(n){n.addCommand("mceNonBreaking",function(){e(n,1)})},a=tinymce.util.Tools.resolve("tinymce.util.VK"),i=function(n){var e=n.getParam("nonbreaking_force_tab",0);return"boolean"==typeof e?!0===e?3:0:e},o=function(n){var t=i(n);t>0&&n.on("keydown",function(i){if(i.keyCode===a.TAB&&!i.isDefaultPrevented()){if(i.shiftKey)return;i.preventDefault(),i.stopImmediatePropagation(),e(n,t)}})},r=function(n){n.addButton("nonbreaking",{title:"Nonbreaking space",cmd:"mceNonBreaking"}),n.addMenuItem("nonbreaking",{text:"Nonbreaking space",cmd:"mceNonBreaking",context:"insert"})};n.add("nonbreaking",function(n){t(n),r(n),o(n)})}();!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),t=tinymce.util.Tools.resolve("tinymce.Env"),r=tinymce.util.Tools.resolve("tinymce.util.Tools"),i=function(e){return e.getParam("media_scripts")},a=function(e){return e.getParam("audio_template_callback")},o=function(e){return e.getParam("video_template_callback")},n=function(e){return e.getParam("media_live_embeds",!0)},c=function(e){return e.getParam("media_filter_html",!0)},s=function(e){return e.getParam("media_url_resolver")},u=function(e){return e.getParam("media_alt_source",!0)},l=function(e){return e.getParam("media_poster",!0)},m=function(e){return e.getParam("media_dimensions",!0)},d=tinymce.util.Tools.resolve("tinymce.html.SaxParser"),h=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),p=function(e,t){if(e)for(var r=0;r<e.length;r++)if(-1!==t.indexOf(e[r].filter))return e[r]},f=function(e){return function(t){return t?t.style[e].replace(/px$/,""):""}},g=function(e){return function(t,r){var i;t&&(t.style[e]=/^[0-9.]+$/.test(i=r)?i+"px":i)}},w={getMaxWidth:f("maxWidth"),getMaxHeight:f("maxHeight"),setMaxWidth:g("maxWidth"),setMaxHeight:g("maxHeight")},v=h.DOM,b=function(e){return v.getAttrib(e,"data-ephox-embed-iri")},y=function(e,t){return s=t,u=v.createFragment(s),""!==b(u.firstChild)?(n=t,c=v.createFragment(n).firstChild,{type:"ephox-embed-iri",source1:b(c),source2:"",poster:"",width:w.getMaxWidth(c),height:w.getMaxHeight(c)}):(i=e,a=t,o={},new d({validate:!1,allow_conditional_comments:!0,special:"script,noscript",start:function(e,t){if(o.source1||"param"!==e||(o.source1=t.map.movie),"iframe"!==e&&"object"!==e&&"embed"!==e&&"video"!==e&&"audio"!==e||(o.type||(o.type=e),o=r.extend(t.map,o)),"script"===e){var a=p(i,t.map.src);if(!a)return;o={type:"script",source1:t.map.src,width:a.width,height:a.height}}"source"===e&&(o.source1?o.source2||(o.source2=t.map.src):o.source1=t.map.src),"img"!==e||o.poster||(o.poster=t.map.src)}}).parse(a),o.source1=o.source1||o.src||o.data,o.source2=o.source2||"",o.poster=o.poster||"",o);var i,a,o,n,c,s,u},x=tinymce.util.Tools.resolve("tinymce.util.Promise"),j=function(e){var t={mp3:"audio/mpeg",wav:"audio/wav",mp4:"video/mp4",webm:"video/webm",ogg:"video/ogg",swf:"application/x-shockwave-flash"}[e.toLowerCase().split(".").pop()];return t||""},M=tinymce.util.Tools.resolve("tinymce.html.Writer"),_=tinymce.util.Tools.resolve("tinymce.html.Schema"),C=h.DOM,S=function(e,t){var r,i,a,o;for(r in t)if(a=""+t[r],e.map[r])for(i=e.length;i--;)(o=e[i]).name===r&&(a?(e.map[r]=a,o.value=a):(delete e.map[r],e.splice(i,1)));else a&&(e.push({name:r,value:a}),e.map[r]=a)},k=function(e,t){var r,i,a=C.createFragment(e).firstChild;return w.setMaxWidth(a,t.width),w.setMaxHeight(a,t.height),r=a.outerHTML,i=M(),new d(i).parse(r),i.getContent()},A=function(e,t,r){return u=e,l=C.createFragment(u),""!==C.getAttrib(l.firstChild,"data-ephox-embed-iri")?k(e,t):(i=e,a=t,o=r,c=M(),s=0,new d({validate:!1,allow_conditional_comments:!0,special:"script,noscript",comment:function(e){c.comment(e)},cdata:function(e){c.cdata(e)},text:function(e,t){c.text(e,t)},start:function(e,t,r){switch(e){case"video":case"object":case"embed":case"img":case"iframe":a.height!==undefined&&a.width!==undefined&&S(t,{width:a.width,height:a.height})}if(o)switch(e){case"video":S(t,{poster:a.poster,src:""}),a.source2&&S(t,{src:""});break;case"iframe":S(t,{src:a.source1});break;case"source":if(++s<=2&&(S(t,{src:a["source"+s],type:a["source"+s+"mime"]}),!a["source"+s]))return;break;case"img":if(!a.poster)return;n=!0}c.start(e,t,r)},end:function(e){if("video"===e&&o)for(var t=1;t<=2;t++)if(a["source"+t]){var r=[];r.map={},s<t&&(S(r,{src:a["source"+t],type:a["source"+t+"mime"]}),c.start("source",r,!0))}if(a.poster&&"object"===e&&o&&!n){var i=[];i.map={},S(i,{src:a.poster,width:a.width,height:a.height}),c.start("img",i,!0)}c.end(e)}},_({})).parse(i),c.getContent());var i,a,o,n,c,s,u,l},F=[{regex:/youtu\.be\/([\w\-.]+)/,type:"iframe",w:560,h:314,url:"//www.youtube.com/embed/$1",allowFullscreen:!0},{regex:/youtube\.com(.+)v=([^&]+)/,type:"iframe",w:560,h:314,url:"//www.youtube.com/embed/$2",allowFullscreen:!0},{regex:/youtube.com\/embed\/([a-z0-9\-_]+(?:\?.+)?)/i,type:"iframe",w:560,h:314,url:"//www.youtube.com/embed/$1",allowFullscreen:!0},{regex:/vimeo\.com\/([0-9]+)/,type:"iframe",w:425,h:350,url:"//player.vimeo.com/video/$1?title=0&byline=0&portrait=0&color=8dc7dc",allowfullscreen:!0},{regex:/vimeo\.com\/(.*)\/([0-9]+)/,type:"iframe",w:425,h:350,url:"//player.vimeo.com/video/$2?title=0&byline=0",allowfullscreen:!0},{regex:/maps\.google\.([a-z]{2,3})\/maps\/(.+)msid=(.+)/,type:"iframe",w:425,h:350,url:'//maps.google.com/maps/ms?msid=$2&output=embed"',allowFullscreen:!1},{regex:/dailymotion\.com\/video\/([^_]+)/,type:"iframe",w:480,h:270,url:"//www.dailymotion.com/embed/video/$1",allowFullscreen:!0},{regex:/dai\.ly\/([^_]+)/,type:"iframe",w:480,h:270,url:"//www.dailymotion.com/embed/video/$1",allowFullscreen:!0}],N=function(e,t){var n=r.extend({},t);if(!n.source1&&(r.extend(n,y(i(e),n.embed)),!n.source1))return"";if(n.source2||(n.source2=""),n.poster||(n.poster=""),n.source1=e.convertURL(n.source1,"source"),n.source2=e.convertURL(n.source2,"source"),n.source1mime=j(n.source1),n.source2mime=j(n.source2),n.poster=e.convertURL(n.poster,"poster"),r.each(F,function(e){var t,r,i=e.regex.exec(n.source1);if(i){for(r=e.url,t=0;i[t];t++)r=r.replace("$"+t,function(){return i[t]});n.source1=r,n.type=e.type,n.allowFullscreen=e.allowFullscreen,n.width=n.width||e.w,n.height=n.height||e.h}}),n.embed)return A(n.embed,n,!0);var c=p(i(e),n.source1);c&&(n.type="script",n.width=c.width,n.height=c.height);var s,u,l,m,d,h,f,g,w=a(e),v=o(e);return n.width=n.width||300,n.height=n.height||150,r.each(n,function(t,r){n[r]=e.dom.encode(t)}),"iframe"===n.type?(g=(f=n).allowFullscreen?' allowFullscreen="1"':"",'<iframe src="'+f.source1+'" width="'+f.width+'" height="'+f.height+'"'+g+"></iframe>"):"application/x-shockwave-flash"===n.source1mime?(h='<object data="'+(d=n).source1+'" width="'+d.width+'" height="'+d.height+'" type="application/x-shockwave-flash">',d.poster&&(h+='<img src="'+d.poster+'" width="'+d.width+'" height="'+d.height+'" />'),h+="</object>"):-1!==n.source1mime.indexOf("audio")?(l=n,(m=w)?m(l):'<audio controls="controls" src="'+l.source1+'">'+(l.source2?'\n<source src="'+l.source2+'"'+(l.source2mime?' type="'+l.source2mime+'"':"")+" />\n":"")+"</audio>"):"script"===n.type?'<script src="'+n.source1+'"><\/script>':(s=n,(u=v)?u(s):'<video width="'+s.width+'" height="'+s.height+'"'+(s.poster?' poster="'+s.poster+'"':"")+' controls="controls">\n<source src="'+s.source1+'"'+(s.source1mime?' type="'+s.source1mime+'"':"")+" />\n"+(s.source2?'<source src="'+s.source2+'"'+(s.source2mime?' type="'+s.source2mime+'"':"")+" />\n":"")+"</video>")},O={},P=function(e){return function(t){return N(e,t)}},T=function(e,t){var r,i,a,o,n,c=s(e);return c?(a=t,o=P(e),n=c,new x(function(e,t){var r=function(t){return t.html&&(O[a.source1]=t),e({url:a.source1,html:t.html?t.html:o(a)})};O[a.source1]?r(O[a.source1]):n({url:a.source1},r,t)})):(r=t,i=P(e),new x(function(e){e({html:i(r),url:r.source1})}))},z=function(e){return O.hasOwnProperty(e)},$=function(e,t){e.state.set("oldVal",e.value()),t.state.set("oldVal",t.value())},L=function(e,t){var r=e.find("#width")[0],i=e.find("#height")[0],a=e.find("#constrain")[0];r&&i&&a&&t(r,i,a.checked())},H=function(e,t,r){var i=e.state.get("oldVal"),a=t.state.get("oldVal"),o=e.value(),n=t.value();r&&i&&a&&o&&n&&(o!==i?(n=Math.round(o/i*n),isNaN(n)||t.value(n)):(o=Math.round(n/a*o),isNaN(o)||e.value(o))),$(e,t)},W=function(e){L(e,H)},J=function(e){var t=function(){e(function(e){W(e)})};return{type:"container",label:"Dimensions",layout:"flex",align:"center",spacing:5,items:[{name:"width",type:"textbox",maxLength:5,size:5,onchange:t,ariaLabel:"Width"},{type:"label",text:"x"},{name:"height",type:"textbox",maxLength:5,size:5,onchange:t,ariaLabel:"Height"},{name:"constrain",type:"checkbox",checked:!0,text:"Constrain proportions"}]}},R=function(e){L(e,$)},D=W,E=t.ie&&t.ie<=8?"onChange":"onInput",I=function(e){return function(t){var r=t&&t.msg?"Media embed handler error: "+t.msg:"Media embed handler threw unknown error.";e.notificationManager.open({type:"error",text:r})}},U=function(e,t){return function(a){var o=a.html,n=e.find("#embed")[0],c=r.extend(y(i(t),o),{source1:a.url});e.fromJSON(c),n&&(n.value(o),D(e))}},V=function(e,t){var r=e.dom.select("img[data-mce-object]");e.insertContent(t),function(e,t){var r,i,a=e.dom.select("img[data-mce-object]");for(r=0;r<t.length;r++)for(i=a.length-1;i>=0;i--)t[r]===a[i]&&a.splice(i,1);e.selection.select(a[0])}(e,r),e.nodeChanged()},B=function(e){var t,a,o,n,c,s=[{name:"source1",type:"filepicker",filetype:"media",size:40,autofocus:!0,label:"Source",onpaste:function(){setTimeout(function(){T(e,t.toJSON()).then(U(t,e))["catch"](I(e))},1)},onchange:function(i){var a,o;T(e,t.toJSON()).then(U(t,e))["catch"](I(e)),a=t,o=i.meta,r.each(o,function(e,t){a.find("#"+t).value(e)})},onbeforecall:function(e){e.meta=t.toJSON()}}],d=[];if(u(e)&&d.push({name:"source2",type:"filepicker",filetype:"media",size:40,label:"Alternative source"}),l(e)&&d.push({name:"poster",type:"filepicker",filetype:"image",size:40,label:"Poster"}),m(e)){var h=J(function(e){e(t),a=t.toJSON(),t.find("#embed").value(A(a.embed,a))});s.push(h)}n=(o=e).selection.getNode(),c=n.getAttribute("data-ephox-embed-iri"),a=c?{source1:c,"data-ephox-embed-iri":c,width:w.getMaxWidth(n),height:w.getMaxHeight(n)}:n.getAttribute("data-mce-object")?y(i(o),o.serializer.serialize(n,{selection:!0})):{};var p={id:"mcemediasource",type:"textbox",flex:1,name:"embed",value:function(e){var t=e.selection.getNode();if(t.getAttribute("data-mce-object")||t.getAttribute("data-ephox-embed-iri"))return e.selection.getContent()}(e),multiline:!0,rows:5,label:"Source"};p[E]=function(){a=r.extend({},y(i(e),this.value())),this.parent().parent().fromJSON(a)},t=e.windowManager.open({title:"Insert/edit media",data:a,bodyType:"tabpanel",body:[{title:"General",type:"form",items:s},{title:"Embed",type:"container",layout:"flex",direction:"column",align:"stretch",padding:10,spacing:10,items:[{type:"label",text:"Paste your embed code below:",forId:"mcemediasource"},p]},{title:"Advanced",type:"form",items:d}],onSubmit:function(){var r,i;D(t),r=e,(i=t.toJSON()).embed=A(i.embed,i),i.embed&&z(i.source1)?V(r,i.embed):T(r,i).then(function(e){V(r,e.html)})["catch"](I(r))}}),R(t)},G=function(e){return{showDialog:function(){B(e)}}},q=function(e){e.addCommand("mceMedia",function(){B(e)})},K=tinymce.util.Tools.resolve("tinymce.html.Node"),Q=function(e,t){if(!1===c(e))return t;var r,i=M();return new d({validate:!1,allow_conditional_comments:!1,special:"script,noscript",comment:function(e){i.comment(e)},cdata:function(e){i.cdata(e)},text:function(e,t){i.text(e,t)},start:function(t,a,o){if(r=!0,"script"!==t&&"noscript"!==t){for(var n=0;n<a.length;n++){if(0===a[n].name.indexOf("on"))return;"style"===a[n].name&&(a[n].value=e.dom.serializeStyle(e.dom.parseStyle(a[n].value),t))}i.start(t,a,o),r=!1}},end:function(e){r||i.end(e)}},_({})).parse(t),i.getContent()},X=function(e,r){var i,a=r.name;return(i=new K("img",1)).shortEnded=!0,Z(e,r,i),i.attr({width:r.attr("width")||"300",height:r.attr("height")||("audio"===a?"30":"150"),style:r.attr("style"),src:t.transparentSrc,"data-mce-object":a,"class":"mce-object mce-object-"+a}),i},Y=function(e,t){var r,i,a,o=t.name;return(r=new K("span",1)).attr({contentEditable:"false",style:t.attr("style"),"data-mce-object":o,"class":"mce-preview-object mce-object-"+o}),Z(e,t,r),(i=new K(o,1)).attr({src:t.attr("src"),allowfullscreen:t.attr("allowfullscreen"),width:t.attr("width")||"300",height:t.attr("height")||("audio"===o?"30":"150"),frameborder:"0"}),(a=new K("span",1)).attr("class","mce-shim"),r.append(i),r.append(a),r},Z=function(e,t,r){var i,a,o,n,c;for(n=(o=t.attributes).length;n--;)i=o[n].name,a=o[n].value,"width"!==i&&"height"!==i&&"style"!==i&&("data"!==i&&"src"!==i||(a=e.convertURL(a,i)),r.attr("data-mce-p-"+i,a));(c=t.firstChild&&t.firstChild.value)&&(r.attr("data-mce-html",escape(Q(e,c))),r.firstChild=null)},ee=function(e){for(;e=e.parent;)if(e.attr("data-ephox-embed-iri"))return!0;return!1},te=function(e){return function(r){for(var a,o,c=r.length;c--;)(a=r[c]).parent&&(a.parent.attr("data-mce-object")||("script"!==a.name||(o=p(i(e),a.attr("src"))))&&(o&&(o.width&&a.attr("width",o.width.toString()),o.height&&a.attr("height",o.height.toString())),"iframe"===a.name&&n(e)&&t.ceFalse?ee(a)||a.replace(Y(e,a)):ee(a)||a.replace(X(e,a))))}},re=function(e){e.on("preInit",function(){var t=e.schema.getSpecialElements();r.each("video audio iframe object".split(" "),function(e){t[e]=new RegExp("</"+e+"[^>]*>","gi")});var i=e.schema.getBoolAttrs();r.each("webkitallowfullscreen mozallowfullscreen allowfullscreen".split(" "),function(e){i[e]={}}),e.parser.addNodeFilter("iframe,video,audio,object,embed,script",te(e)),e.serializer.addAttributeFilter("data-mce-object",function(t,r){for(var i,a,o,n,c,s,u,l,m=t.length;m--;)if((i=t[m]).parent){for(u=i.attr(r),a=new K(u,1),"audio"!==u&&"script"!==u&&((l=i.attr("class"))&&-1!==l.indexOf("mce-preview-object")?a.attr({width:i.firstChild.attr("width"),height:i.firstChild.attr("height")}):a.attr({width:i.attr("width"),height:i.attr("height")})),a.attr({style:i.attr("style")}),o=(n=i.attributes).length;o--;){var d=n[o].name;0===d.indexOf("data-mce-p-")&&a.attr(d.substr(11),n[o].value)}"script"===u&&a.attr("type","text/javascript"),(c=i.attr("data-mce-html"))&&((s=new K("#text",3)).raw=!0,s.value=Q(e,unescape(c)),a.append(s)),i.replace(a)}})}),e.on("setContent",function(){e.$("span.mce-preview-object").each(function(t,r){var i=e.$(r);0===i.find("span.mce-shim",r).length&&i.append('<span class="mce-shim"></span>')})})},ie=function(e){e.on("ResolveName",function(e){var t;1===e.target.nodeType&&(t=e.target.getAttribute("data-mce-object"))&&(e.name=t)})},ae=function(e){e.on("click keyup",function(){var t=e.selection.getNode();t&&e.dom.hasClass(t,"mce-preview-object")&&e.dom.getAttrib(t,"data-mce-selected")&&t.setAttribute("data-mce-selected","2")}),e.on("ObjectSelected",function(e){var t=e.target.getAttribute("data-mce-object");"audio"!==t&&"script"!==t||e.preventDefault()}),e.on("objectResized",function(e){var t,r=e.target;r.getAttribute("data-mce-object")&&(t=r.getAttribute("data-mce-html"))&&(t=unescape(t),r.setAttribute("data-mce-html",escape(A(t,{width:e.width,height:e.height}))))})},oe=function(e){e.addButton("media",{tooltip:"Insert/edit media",cmd:"mceMedia",stateSelector:["img[data-mce-object]","span[data-mce-object]","div[data-ephox-embed-iri]"]}),e.addMenuItem("media",{icon:"media",text:"Media",cmd:"mceMedia",context:"insert",prependToContext:!0})};e.add("media",function(e){return q(e),oe(e),ie(e),re(e),ae(e),G(e)})}();!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),t=tinymce.util.Tools.resolve("tinymce.dom.RangeUtils"),n=tinymce.util.Tools.resolve("tinymce.dom.TreeWalker"),o=tinymce.util.Tools.resolve("tinymce.util.VK"),r=tinymce.util.Tools.resolve("tinymce.dom.BookmarkManager"),i=tinymce.util.Tools.resolve("tinymce.util.Tools"),a=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),s=function(e){return e&&"BR"===e.nodeName},d=function(e){return e&&3===e.nodeType},l=function(e){return e&&/^(OL|UL|DL)$/.test(e.nodeName)},c=function(e){return e&&/^(LI|DT|DD)$/.test(e.nodeName)},f=function(e){return e&&/^(TH|TD)$/.test(e.nodeName)},u=s,m=function(e){return e.parentNode.firstChild===e},g=function(e){return e.parentNode.lastChild===e},p=function(e,t){return t&&!!e.schema.getTextBlockElements()[t.nodeName]},v=function(e,t){return e&&e.nodeName in t},h=function(e,t){return!!s(t)&&!(!e.isBlock(t.nextSibling)||s(t.previousSibling))},C=function(e,t,n){var o=e.isEmpty(t);return!(n&&e.select("span[data-mce-type=bookmark]",t).length>0)&&o},y=function(e,t){return e.isChildOf(t,e.getRoot())},N=function(e,n){var o=t.getNode(e,n);return c(e)&&d(o)?{container:o,offset:n>=e.childNodes.length?o.data.length:0}:{container:e,offset:n}},L=function(e){var t=e.cloneRange(),n=N(e.startContainer,e.startOffset);t.setStart(n.container,n.offset);var o=N(e.endContainer,e.endOffset);return t.setEnd(o.container,o.offset),t},S=a.DOM,b=function(e){var t={},n=function(n){var o,r,i;r=e[n?"startContainer":"endContainer"],i=e[n?"startOffset":"endOffset"],1===r.nodeType&&(o=S.create("span",{"data-mce-type":"bookmark"}),r.hasChildNodes()?(i=Math.min(i,r.childNodes.length-1),n?r.insertBefore(o,r.childNodes[i]):S.insertAfter(o,r.childNodes[i])):r.appendChild(o),r=o,i=0),t[n?"startContainer":"endContainer"]=r,t[n?"startOffset":"endOffset"]=i};return n(!0),e.collapsed||n(),t},D=function(e){function t(t){var n,o,r;n=r=e[t?"startContainer":"endContainer"],o=e[t?"startOffset":"endOffset"],n&&(1===n.nodeType&&(o=function(e){for(var t=e.parentNode.firstChild,n=0;t;){if(t===e)return n;1===t.nodeType&&"bookmark"===t.getAttribute("data-mce-type")||n++,t=t.nextSibling}return-1}(n),n=n.parentNode,S.remove(r),!n.hasChildNodes()&&S.isBlock(n)&&n.appendChild(S.create("br"))),e[t?"startContainer":"endContainer"]=n,e[t?"startOffset":"endOffset"]=o)}t(!0),t();var n=S.createRng();return n.setStart(e.startContainer,e.startOffset),e.endContainer&&n.setEnd(e.endContainer,e.endOffset),L(n)},k=a.DOM,T=function(e,t){var n,o=t.parentNode;"LI"===o.nodeName&&o.firstChild===t&&((n=o.previousSibling)&&"LI"===n.nodeName?(n.appendChild(t),C(e,o)&&k.remove(o)):k.setStyle(o,"listStyleType","none")),l(o)&&(n=o.previousSibling)&&"LI"===n.nodeName&&n.appendChild(t)},I=function(e,t){i.each(i.grep(e.select("ol,ul",t)),function(t){T(e,t)})},B=tinymce.util.Tools.resolve("tinymce.dom.DomQuery"),R=function(e){var t=e.selection.getStart(!0);return e.dom.getParent(t,"OL,UL,DL",O(e,t))},O=function(e,t){var n=e.dom.getParents(t,"TD,TH");return n.length>0?n[0]:e.getBody()},E={getParentList:R,getSelectedSubLists:function(e){var t,n,o,r=R(e),a=e.selection.getSelectedBlocks();return o=a,(n=r)&&1===o.length&&o[0]===n?(t=r,i.grep(t.querySelectorAll("ol,ul,dl"),function(e){return l(e)})):i.grep(a,function(e){return l(e)&&r!==e})},getSelectedListItems:function(e){var t,n,o,r=e.selection.getSelectedBlocks();return i.grep((t=e,n=r,o=i.map(n,function(e){var n=t.dom.getParent(e,"li,dd,dt",O(t,e));return n||e}),B.unique(o)),function(e){return c(e)})},getClosestListRootElm:O},A=tinymce.util.Tools.resolve("tinymce.Env"),P=a.DOM,x=function(e,t,n){var o,r,i,a=P.createFragment(),s=e.schema.getBlockElements();if(e.settings.forced_root_block&&(n=n||e.settings.forced_root_block),n&&((r=P.create(n)).tagName===e.settings.forced_root_block&&P.setAttribs(r,e.settings.forced_root_block_attrs),v(t.firstChild,s)||a.appendChild(r)),t)for(;o=t.firstChild;){var d=o.nodeName;i||"SPAN"===d&&"bookmark"===o.getAttribute("data-mce-type")||(i=!0),v(o,s)?(a.appendChild(o),r=null):n?(r||(r=P.create(n),a.appendChild(r)),r.appendChild(o)):a.appendChild(o)}return e.settings.forced_root_block?i||A.ie&&!(A.ie>10)||r.appendChild(P.create("br",{"data-mce-bogus":"1"})):a.appendChild(P.create("br")),a},_=a.DOM,M=function(e,t,n,o){var r,a,s,d,l;for(s=_.select('span[data-mce-type="bookmark"]',t),o=o||x(e,n),(r=_.createRng()).setStartAfter(n),r.setEndAfter(t),d=(a=r.extractContents()).firstChild;d;d=d.firstChild)if("LI"===d.nodeName&&e.dom.isEmpty(d)){_.remove(d);break}e.dom.isEmpty(a)||_.insertAfter(a,t),_.insertAfter(o,t),C(e.dom,n.parentNode)&&(l=n.parentNode,i.each(s,function(e){l.parentNode.insertBefore(e,n.parentNode)}),_.remove(l)),_.remove(n),C(e.dom,t)&&_.remove(t)},U=a.DOM,H=function(e,t){C(e,t)&&U.remove(t)},$=function(e,t){var n,o=t.parentNode,r=o.parentNode;return!(o!==e.getBody()&&("DD"===t.nodeName?(U.rename(t,"DT"),0):m(t)&&g(t)?("LI"===r.nodeName?(U.insertAfter(t,r),H(e.dom,r),U.remove(o)):l(r)?U.remove(o,!0):(r.insertBefore(x(e,t),o),U.remove(o)),0):m(t)?("LI"===r.nodeName?(U.insertAfter(t,r),t.appendChild(o),H(e.dom,r)):l(r)?r.insertBefore(t,o):(r.insertBefore(x(e,t),o),U.remove(t)),0):g(t)?("LI"===r.nodeName?U.insertAfter(t,r):l(r)?U.insertAfter(t,o):(U.insertAfter(x(e,t),o),U.remove(t)),0):("LI"===r.nodeName?(o=r,n=x(e,t,"LI")):n=l(r)?x(e,t,"LI"):x(e,t),M(e,o,t,n),I(e.dom,o.parentNode),0)))},w=$,K=function(e){var t=E.getSelectedListItems(e);if(t.length){var n=b(e.selection.getRng(!0)),o=void 0,r=void 0,i=E.getClosestListRootElm(e,e.selection.getStart(!0));for(o=t.length;o--;)for(var a=t[o].parentNode;a&&a!==i;){for(r=t.length;r--;)if(t[r]===a){t.splice(o,1);break}a=a.parentNode}for(o=0;o<t.length&&($(e,t[o])||0!==o);o++);return e.selection.setRng(D(n)),e.nodeChanged(),!0}},Q=function(e,t){i.each(t,function(t,n){e.setAttribute(n,t)})},W=function(e,t,n){var o,r,a,s,d,l,c;o=e,r=t,s=(a=n)["list-style-type"]?a["list-style-type"]:null,o.setStyle(r,"list-style-type",s),d=e,Q(l=t,(c=n)["list-attributes"]),i.each(d.select("li",l),function(e){Q(e,c["list-item-attributes"])})},j=function(e,t,n,o){var r,i;for(r=t[n?"startContainer":"endContainer"],i=t[n?"startOffset":"endOffset"],1===r.nodeType&&(r=r.childNodes[Math.min(i,r.childNodes.length-1)]||r),!n&&u(r.nextSibling)&&(r=r.nextSibling);r.parentNode!==o;){if(p(e,r))return r;if(/^(TD|TH)$/.test(r.parentNode.nodeName))return r;r=r.parentNode}return r},q=function(e,t,n){var o,a=e.selection.getRng(!0),s="LI",d=E.getClosestListRootElm(e,e.selection.getStart(!0)),c=e.dom;n=n||{},"false"!==c.getContentEditable(e.selection.getNode())&&("DL"===(t=t.toUpperCase())&&(s="DT"),o=b(a),i.each(function(e,t,n){for(var o,a=[],s=e.dom,d=j(e,t,!0,n),l=j(e,t,!1,n),c=[],f=d;f&&(c.push(f),f!==l);f=f.nextSibling);return i.each(c,function(t){if(p(e,t))return a.push(t),void(o=null);if(s.isBlock(t)||u(t))return u(t)&&s.remove(t),void(o=null);var i=t.nextSibling;r.isBookmarkNode(t)&&(p(e,i)||!i&&t.parentNode===n)?o=null:(o||(o=s.create("p"),t.parentNode.insertBefore(o,t),a.push(o)),o.appendChild(t))}),a}(e,a,d),function(o){var r,i,a,d,f,u;(i=o.previousSibling)&&l(i)&&i.nodeName===t&&(a=i,d=n,f=c.getStyle(a,"list-style-type"),u=d?d["list-style-type"]:"",f===(u=null===u?"":u))?(r=i,o=c.rename(o,s),i.appendChild(o)):(r=c.create(t),o.parentNode.insertBefore(r,o),r.appendChild(o),o=c.rename(o,s)),W(c,r,n),z(e.dom,r)}),e.selection.setRng(D(o)))},F=function(e){var t=b(e.selection.getRng(!0)),n=E.getClosestListRootElm(e,e.selection.getStart(!0)),o=E.getSelectedListItems(e),r=i.grep(o,function(t){return e.dom.isEmpty(t)});o=i.grep(o,function(t){return!e.dom.isEmpty(t)}),i.each(r,function(t){C(e.dom,t)&&w(e,t)}),i.each(o,function(t){var o,r;if(t.parentNode!==e.getBody()){for(o=t;o&&o!==n;o=o.parentNode)l(o)&&(r=o);M(e,r,t),I(e.dom,r.parentNode)}}),e.selection.setRng(D(t))},V=function(e,t,n){return d=n,(s=t)&&d&&l(s)&&s.nodeName===d.nodeName&&(i=t,a=n,(r=e).getStyle(i,"list-style-type",!0)===r.getStyle(a,"list-style-type",!0))&&(o=n,t.className===o.className);var o,r,i,a,s,d},z=function(e,t){var n,o;if(n=t.nextSibling,V(e,t,n)){for(;o=n.firstChild;)t.appendChild(o);e.remove(n)}if(n=t.previousSibling,V(e,t,n)){for(;o=n.lastChild;)t.insertBefore(o,t.firstChild);e.remove(n)}},G=function(e,t,n,o,r){if(t.nodeName!==o||J(r)){var a=b(e.selection.getRng(!0));i.each([t].concat(n),function(t){!function(e,t,n,o){if(t.nodeName!==n){var r=e.rename(t,n);W(e,r,o)}else W(e,t,o)}(e.dom,t,o,r)}),e.selection.setRng(D(a))}else F(e)},J=function(e){return"list-style-type"in e},X={toggleList:function(e,t,n){var o=E.getParentList(e),r=E.getSelectedSubLists(e);n=n||{},o&&r.length>0?G(e,o,r,t,n):function(e,t,n,o){if(t!==e.getBody())if(t)if(t.nodeName!==n||J(o)){var r=b(e.selection.getRng(!0));W(e.dom,t,o),z(e.dom,e.dom.rename(t,n)),e.selection.setRng(D(r))}else F(e);else q(e,n,o)}(e,o,t,n)},removeList:F,mergeWithAdjacentLists:z},Y=function(e,o,r,i){var a,s,d=o.startContainer,l=o.startOffset;if(3===d.nodeType&&(r?l<d.data.length:l>0))return d;for(a=e.schema.getNonEmptyElements(),1===d.nodeType&&(d=t.getNode(d,l)),s=new n(d,i),r&&h(e.dom,d)&&s.next();d=s[r?"next":"prev2"]();){if("LI"===d.nodeName&&!d.hasChildNodes())return d;if(a[d.nodeName])return d;if(3===d.nodeType&&d.data.length>0)return d}},Z=function(e,t){var n=t.childNodes;return 1===n.length&&!l(n[0])&&e.isBlock(n[0])},ee=function(e,t,n){var o,r,i,a;if(r=Z(e,n)?n.firstChild:n,Z(i=e,a=t)&&i.remove(a.firstChild,!0),!C(e,t,!0))for(;o=t.firstChild;)r.appendChild(o)},te=function(e,t,n){var o,r,i=t.parentNode;y(e,t)&&y(e,n)&&(l(n.lastChild)&&(r=n.lastChild),i===n.lastChild&&u(i.previousSibling)&&e.remove(i.previousSibling),(o=n.lastChild)&&u(o)&&t.hasChildNodes()&&e.remove(o),C(e,n,!0)&&e.$(n).empty(),ee(e,t,n),r&&n.appendChild(r),e.remove(t),C(e,i)&&i!==e.getRoot()&&e.remove(i))},ne=function(e,t,n,o){var r,i,a,s=e.dom;if(s.isEmpty(o))i=n,a=o,(r=e).dom.$(a).empty(),te(r.dom,i,a),r.selection.setCursorLocation(a);else{var d=b(t);te(s,n,o),e.selection.setRng(D(d))}},oe=function(e,t){var n,o,r,i=e.dom,a=e.selection,s=a.getStart(),d=E.getClosestListRootElm(e,s),l=i.getParent(a.getStart(),"LI",d);if(l){if((n=l.parentNode)===e.getBody()&&C(i,n))return!0;if(o=L(a.getRng(!0)),(r=i.getParent(Y(e,o,t,d),"LI",d))&&r!==l)return t?ne(e,o,r,l):function(e,t,n,o){var r=b(t);te(e.dom,n,o);var i=D(r);e.selection.setRng(i)}(e,o,l,r),!0;if(!r&&!t&&X.removeList(e))return!0}return!1},re=function(e,t){return oe(e,t)||function(e,t){var n=e.dom,o=e.selection.getStart(),r=E.getClosestListRootElm(e,o),i=n.getParent(o,n.isBlock,r);if(i&&n.isEmpty(i)){var a=L(e.selection.getRng(!0)),s=n.getParent(Y(e,a,t,r),"LI",r);if(s)return e.undoManager.transact(function(){var o,a,d,l;a=i,d=r,l=(o=n).getParent(a.parentNode,o.isBlock,d),o.remove(a),l&&o.isEmpty(l)&&o.remove(l),X.mergeWithAdjacentLists(n,s.parentNode),e.selection.select(s,!0),e.selection.collapse(t)}),!0}return!1}(e,t)},ie=function(e,t){return e.selection.isCollapsed()?re(e,t):(o=(n=e).selection.getStart(),r=E.getClosestListRootElm(n,o),!!(n.dom.getParent(o,"LI,DT,DD",r)||E.getSelectedListItems(n).length>0)&&(n.undoManager.transact(function(){n.execCommand("Delete"),I(n.dom,n.getBody())}),!0));var n,o,r},ae=function(e){e.on("keydown",function(t){t.keyCode===o.BACKSPACE?ie(e,!1)&&t.preventDefault():t.keyCode===o.DELETE&&ie(e,!0)&&t.preventDefault()})},se=ie,de=function(e){return{backspaceDelete:function(t){se(e,t)}}},le=a.DOM,ce=function(e,t){var n;if(l(e)){for(;n=e.firstChild;)t.appendChild(n);le.remove(e)}},fe=function(e){var t,n,o,r,i=E.getSelectedListItems(e);if(i.length){for(var a=b(e.selection.getRng(!0)),s=0;s<i.length&&(t=i[s],n=void 0,o=void 0,r=void 0,("DT"===t.nodeName?(le.rename(t,"DD"),1):(n=t.previousSibling)&&l(n)?(n.appendChild(t),1):n&&"LI"===n.nodeName&&l(n.lastChild)?(n.lastChild.appendChild(t),ce(t.lastChild,n.lastChild),1):(n=t.nextSibling)&&l(n)?(n.insertBefore(t,n.firstChild),1):(n=t.previousSibling)&&"LI"===n.nodeName&&(o=le.create(t.parentNode.nodeName),(r=le.getStyle(t.parentNode,"listStyleType"))&&le.setStyle(o,"listStyleType",r),n.appendChild(o),o.appendChild(t),ce(t.lastChild,o),1))||0!==s);s++);return e.selection.setRng(D(a)),e.nodeChanged(),!0}},ue=function(e,t){return function(){var n=e.dom.getParent(e.selection.getStart(),"UL,OL,DL");return n&&n.nodeName===t}},me=function(e){e.on("BeforeExecCommand",function(t){var n,o=t.command.toLowerCase();if("indent"===o?fe(e)&&(n=!0):"outdent"===o&&K(e)&&(n=!0),n)return e.fire("ExecCommand",{command:t.command}),t.preventDefault(),!0}),e.addCommand("InsertUnorderedList",function(t,n){X.toggleList(e,"UL",n)}),e.addCommand("InsertOrderedList",function(t,n){X.toggleList(e,"OL",n)}),e.addCommand("InsertDefinitionList",function(t,n){X.toggleList(e,"DL",n)}),e.addQueryStateHandler("InsertUnorderedList",ue(e,"UL")),e.addQueryStateHandler("InsertOrderedList",ue(e,"OL")),e.addQueryStateHandler("InsertDefinitionList",ue(e,"DL"))},ge=function(e){return e.getParam("lists_indent_on_tab",!0)},pe=function(e){var t;ge(e)&&(t=e).on("keydown",function(e){e.keyCode!==o.TAB||o.metaKeyPressed(e)||t.dom.getParent(t.selection.getStart(),"LI,DT,DD")&&(e.preventDefault(),e.shiftKey?K(t):fe(t))}),ae(e)},ve=function(e,t){return function(n){var o=n.control;e.on("NodeChange",function(e){var n=function(e,t){for(var n=0;n<e.length;n++)if(t(e[n]))return n;return-1}(e.parents,f),r=-1!==n?e.parents.slice(0,n):e.parents,a=i.grep(r,l);o.active(a.length>0&&a[0].nodeName===t)})}},he=function(e){var t,n,o,r;n="advlist",o=(t=e).settings.plugins?t.settings.plugins:"",-1===i.inArray(o.split(/[ ,]/),n)&&(e.addButton("numlist",{active:!1,title:"Numbered list",cmd:"InsertOrderedList",onPostRender:ve(e,"OL")}),e.addButton("bullist",{active:!1,title:"Bullet list",cmd:"InsertUnorderedList",onPostRender:ve(e,"UL")})),e.addButton("indent",{icon:"indent",title:"Increase indent",cmd:"Indent",onPostRender:(r=e,function(e){var t=e.control;r.on("nodechange",function(){var e=E.getSelectedListItems(r),n=e.length>0&&m(e[0]);t.disabled(n)})})})};e.add("lists",function(e){return pe(e),he(e),me(e),de(e)})}();!function(){"use strict";var t=tinymce.util.Tools.resolve("tinymce.PluginManager"),e=tinymce.util.Tools.resolve("tinymce.util.VK"),n=function(t){return t.target_list},o=function(t){return t.rel_list},i=function(t){return t.link_class_list},r=function(t){return"boolean"==typeof t.link_assume_external_targets&&t.link_assume_external_targets},a=function(t){return"boolean"==typeof t.link_context_toolbar&&t.link_context_toolbar},l=function(t){return t.link_list},u=function(t){return"string"==typeof t.default_link_target},c=function(t){return t.default_link_target},s=n,f=function(t,e){t.settings.target_list=e},d=function(t){return!1!==n(t)},m=o,v=function(t){return o(t)!==undefined},g=i,h=function(t){return i(t)!==undefined},x=function(t){return!1!==t.link_title},p=function(t){return"boolean"==typeof t.allow_unsafe_link_target&&t.allow_unsafe_link_target},y=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),k=tinymce.util.Tools.resolve("tinymce.Env"),b=function(t){if(!k.ie||k.ie>10){var e=document.createElement("a");e.target="_blank",e.href=t,e.rel="noreferrer noopener";var n=document.createEvent("MouseEvents");n.initMouseEvent("click",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),r=e,a=n,document.body.appendChild(r),r.dispatchEvent(a),document.body.removeChild(r)}else{var o=window.open("","_blank");if(o){o.opener=null;var i=o.document;i.open(),i.write('<meta http-equiv="refresh" content="0; url='+y.DOM.encode(t)+'">'),i.close()}}var r,a},_=tinymce.util.Tools.resolve("tinymce.util.Tools"),w=function(t,e){var n,o,i=["noopener"],r=t?t.split(/\s+/):[],a=function(t){return t.filter(function(t){return-1===_.inArray(i,t)})};return(r=e?(n=a(n=r)).length?n.concat(i):i:a(r)).length?(o=r,_.trim(o.sort().join(" "))):null},T=function(t,e){return e=e||t.selection.getNode(),M(e)?t.dom.select("a[href]",e)[0]:t.dom.getParent(e,"a[href]")},C=function(t){return t&&"A"===t.nodeName&&t.href},M=function(t){return t&&"FIGURE"===t.nodeName&&/\bimage\b/i.test(t.className)},O=function(t,e){var n,o;(o=t.dom.select("img",e)[0])&&(n=t.dom.getParents(o,"a[href]",e)[0])&&(n.parentNode.insertBefore(o,n),t.dom.remove(n))},N=function(t,e,n){var o,i;(i=t.dom.select("img",e)[0])&&(o=t.dom.create("a",n),i.parentNode.insertBefore(o,i),o.appendChild(i))},R=function(t,e){return function(n){t.undoManager.transact(function(){var o=t.selection.getNode(),i=T(t,o),r={href:n.href,target:n.target?n.target:null,rel:n.rel?n.rel:null,"class":n["class"]?n["class"]:null,title:n.title?n.title:null};v(t.settings)||!1!==p(t.settings)||(r.rel=w(r.rel,"_blank"===r.target)),n.href===e.href&&(e.attach(),e={}),i?(t.focus(),n.hasOwnProperty("text")&&("innerText"in i?i.innerText=n.text:i.textContent=n.text),t.dom.setAttribs(i,r),t.selection.select(i),t.undoManager.add()):M(o)?N(t,o,r):n.hasOwnProperty("text")?t.insertContent(t.dom.createHTML("a",r,t.dom.encode(n.text))):t.execCommand("mceInsertLink",!1,r)})}},A=function(t){return function(){t.undoManager.transact(function(){var e=t.selection.getNode();M(e)?O(t,e):t.execCommand("unlink")})}},L=C,P=function(t){return _.grep(t,C).length>0},E=function(t){return!(/</.test(t)&&(!/^<a [^>]+>[^<]+<\/a>$/.test(t)||-1===t.indexOf("href=")))},K=T,S=function(t,e){var n=e?e.innerText||e.textContent:t.getContent({format:"text"});return n.replace(/\uFEFF/g,"")},U=w,D=tinymce.util.Tools.resolve("tinymce.util.Delay"),I=tinymce.util.Tools.resolve("tinymce.util.XHR"),B={},F=function(t,e,n){var o=function(t,n){return n=n||[],_.each(t,function(t){var i={text:t.text||t.title};t.menu?i.menu=o(t.menu):(i.value=t.value,e&&e(i)),n.push(i)}),n};return o(t,n||[])},q=function(t,e,n){var o=t.selection.getRng();D.setEditorTimeout(t,function(){t.windowManager.confirm(e,function(e){t.selection.setRng(o),n(e)})})},V=function(t,e){var n,o,i,a,l,y,k,b,w,T,C,M={},O=t.selection,N=t.dom,L=function(t){var e=i.find("#text");(!e.value()||t.lastControl&&e.value()===t.lastControl.text())&&e.value(t.control.text()),i.find("#href").value(t.control.value())},P=function(){o||!a||M.text||this.parent().parent().find("#text")[0].value(this.value())};a=E(O.getContent()),n=K(t),M.text=o=S(t.selection,n),M.href=n?N.getAttrib(n,"href"):"",n?M.target=N.getAttrib(n,"target"):u(t.settings)&&(M.target=c(t.settings)),(C=N.getAttrib(n,"rel"))&&(M.rel=C),(C=N.getAttrib(n,"class"))&&(M["class"]=C),(C=N.getAttrib(n,"title"))&&(M.title=C),a&&(l={name:"text",type:"textbox",size:40,label:"Text to display",onchange:function(){M.text=this.value()}}),e&&(y={type:"listbox",label:"Link list",values:F(e,function(e){e.value=t.convertURL(e.value||e.url,"href")},[{text:"None",value:""}]),onselect:L,value:t.convertURL(M.href,"href"),onPostRender:function(){y=this}}),d(t.settings)&&(s(t.settings)===undefined&&f(t,[{text:"None",value:""},{text:"New window",value:"_blank"}]),b={name:"target",type:"listbox",label:"Target",values:F(s(t.settings))}),v(t.settings)&&(k={name:"rel",type:"listbox",label:"Rel",values:F(m(t.settings),function(e){!1===p(t.settings)&&(e.value=U(e.value,"_blank"===M.target))})}),h(t.settings)&&(w={name:"class",type:"listbox",label:"Class",values:F(g(t.settings),function(e){e.value&&(e.textStyle=function(){return t.formatter.getCssText({inline:"a",classes:[e.value]})})})}),x(t.settings)&&(T={name:"title",type:"textbox",label:"Title",value:M.title}),i=t.windowManager.open({title:"Insert link",data:M,body:[{name:"href",type:"filepicker",filetype:"file",size:40,autofocus:!0,label:"Url",onchange:function(e){var n=e.meta||{};y&&y.value(t.convertURL(this.value(),"href")),_.each(e.meta,function(t,e){var n=i.find("#"+e);"text"===e?0===o.length&&(n.value(t),M.text=t):n.value(t)}),n.attach&&(B={href:this.value(),attach:n.attach}),n.text||P.call(this)},onkeyup:P,onbeforecall:function(t){t.meta=i.toJSON()}},l,T,function(e){var n=[];if(_.each(t.dom.select("a:not([href])"),function(t){var o=t.name||t.id;o&&n.push({text:o,value:"#"+o,selected:-1!==e.indexOf("#"+o)})}),n.length)return n.unshift({text:"None",value:""}),{name:"anchor",type:"listbox",label:"Anchors",values:n,onselect:L}}(M.href),y,k,b,w],onSubmit:function(e){var n=r(t.settings),i=R(t,B),l=A(t),u=_.extend({},M,e.data),c=u.href;c?(a&&u.text!==o||delete u.text,c.indexOf("@")>0&&-1===c.indexOf("//")&&-1===c.indexOf("mailto:")?q(t,"The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?",function(t){t&&(u.href="mailto:"+c),i(u)}):!0===n&&!/^\w+:/i.test(c)||!1===n&&/^\s*www[\.|\d\.]/i.test(c)?q(t,"The URL you entered seems to be an external link. Do you want to add the required http:// prefix?",function(t){t&&(u.href="http://"+c),i(u)}):i(u)):l()}})},z=function(t){var e,n,o;n=V,"string"==typeof(o=l((e=t).settings))?I.send({url:o,success:function(t){n(e,JSON.parse(t))}}):"function"==typeof o?o(function(t){n(e,t)}):n(e,o)},H=function(t,e){return t.dom.getParent(e,"a[href]")},J=function(t){return H(t,t.selection.getStart())},$=function(t,e){if(e){var n=(i=e).getAttribute("data-mce-href")||i.getAttribute("href");if(/^#/.test(n)){var o=t.$(n);o.length&&t.selection.scrollIntoView(o[0],!0)}else b(e.href)}var i},j=function(t){return function(){z(t)}},G=function(t){return function(){$(t,J(t))}},X=function(t){return function(e){var n,o,i,r,l;return!!(a(t.settings)&&(r=t,l=r.plugins.contextmenu,!l||!l.isContextMenuVisible())&&L(e)&&3===(i=(o=(n=t.selection).getRng()).startContainer).nodeType&&n.isCollapsed()&&o.startOffset>0&&o.startOffset<i.data.length)}},Q=function(t){t.on("click",function(n){var o=H(t,n.target);o&&e.metaKeyPressed(n)&&(n.preventDefault(),$(t,o))}),t.on("keydown",function(e){var n,o=J(t);o&&13===e.keyCode&&!0===(n=e).altKey&&!1===n.shiftKey&&!1===n.ctrlKey&&!1===n.metaKey&&(e.preventDefault(),$(t,o))})},W=function(t){return function(){var e=this;t.on("nodechange",function(n){e.active(!t.readonly&&!!K(t,n.element))})}},Y=function(t){return function(){var e=this,n=function(t){P(t.parents)?e.show():e.hide()};P(t.dom.getParents(t.selection.getStart()))||e.hide(),t.on("nodechange",n),e.on("remove",function(){t.off("nodechange",n)})}},Z=function(t){t.addCommand("mceLink",j(t))},tt=function(t){t.addShortcut("Meta+K","",j(t))},et=function(t){t.addButton("link",{active:!1,icon:"link",tooltip:"Insert/edit link",onclick:j(t),onpostrender:W(t)}),t.addButton("unlink",{active:!1,icon:"unlink",tooltip:"Remove link",onclick:A(t),onpostrender:W(t)}),t.addContextToolbar&&t.addButton("openlink",{icon:"newtab",tooltip:"Open link",onclick:G(t)})},nt=function(t){t.addMenuItem("openlink",{text:"Open link",icon:"newtab",onclick:G(t),onPostRender:Y(t),prependToContext:!0}),t.addMenuItem("link",{icon:"link",text:"Link",shortcut:"Meta+K",onclick:j(t),stateSelector:"a[href]",context:"insert",prependToContext:!0})},ot=function(t){t.addContextToolbar&&t.addContextToolbar(X(t),"openlink | link unlink")};t.add("link",function(t){et(t),nt(t),ot(t),Q(t),Z(t),tt(t)})}();!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),t=tinymce.util.Tools.resolve("tinymce.util.Tools"),n=function(e){e.settings.inline_styles=!1,e.on("init",function(){var n,i,a,o;n=e,i="p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li,table,img",a=t.explode(n.settings.font_size_style_values),o=n.schema,n.formatter.register({alignleft:{selector:i,attributes:{align:"left"}},aligncenter:{selector:i,attributes:{align:"center"}},alignright:{selector:i,attributes:{align:"right"}},alignjustify:{selector:i,attributes:{align:"justify"}},bold:[{inline:"b",remove:"all"},{inline:"strong",remove:"all"},{inline:"span",styles:{fontWeight:"bold"}}],italic:[{inline:"i",remove:"all"},{inline:"em",remove:"all"},{inline:"span",styles:{fontStyle:"italic"}}],underline:[{inline:"u",remove:"all"},{inline:"span",styles:{textDecoration:"underline"},exact:!0}],strikethrough:[{inline:"strike",remove:"all"},{inline:"span",styles:{textDecoration:"line-through"},exact:!0}],fontname:{inline:"font",attributes:{face:"%value"}},fontsize:{inline:"font",attributes:{size:function(e){return t.inArray(a,e.value)+1}}},forecolor:{inline:"font",attributes:{color:"%value"}},hilitecolor:{inline:"font",styles:{backgroundColor:"%value"}}}),t.each("b,i,u,strike".split(","),function(e){o.addValidElements(e+"[*]")}),o.getElementRule("font")||o.addValidElements("font[face|size|color|style]"),t.each(i.split(","),function(e){var t=o.getElementRule(e);t&&(t.attributes.align||(t.attributes.align={},t.attributesOrder.push("align")))})})},i=function(e){e.addButton("fontsizeselect",function(){var t=[],n=e.settings.fontsizeFormats||"8pt=1 10pt=2 12pt=3 14pt=4 18pt=5 24pt=6 36pt=7";return e.$.each(n.split(" "),function(e,n){var i=n,a=n,o=n.split("=");o.length>1&&(i=o[0],a=o[1]),t.push({text:i,value:a})}),{type:"listbox",text:"Font Sizes",tooltip:"Font Sizes",values:t,fixedWidth:!0,onPostRender:function(){var t=this;e.on("NodeChange",function(){var n;(n=e.dom.getParent(e.selection.getNode(),"font"))?t.value(n.size):t.value("")})},onclick:function(t){t.control.settings.value&&e.execCommand("FontSize",!1,t.control.settings.value)}}}),e.addButton("fontselect",function(){var t=[],n=function(e){for(var t=(e=e.replace(/;$/,"").split(";")).length;t--;)e[t]=e[t].split("=");return e}(e.settings.font_formats||"Andale Mono=andale mono,monospace;Arial=arial,helvetica,sans-serif;Arial Black=arial black,sans-serif;Book Antiqua=book antiqua,palatino,serif;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier,monospace;Georgia=georgia,palatino,serif;Helvetica=helvetica,arial,sans-serif;Impact=impact,sans-serif;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco,monospace;Times New Roman=times new roman,times,serif;Trebuchet MS=trebuchet ms,geneva,sans-serif;Verdana=verdana,geneva,sans-serif;Webdings=webdings;Wingdings=wingdings,zapf dingbats");return e.$.each(n,function(e,n){t.push({text:{raw:n[0]},value:n[1],textStyle:-1===n[1].indexOf("dings")?"font-family:"+n[1]:""})}),{type:"listbox",text:"Font Family",tooltip:"Font Family",values:t,fixedWidth:!0,onPostRender:function(){var t=this;e.on("NodeChange",function(){var n;(n=e.dom.getParent(e.selection.getNode(),"font"))?t.value(n.face):t.value("")})},onselect:function(t){t.control.settings.value&&e.execCommand("FontName",!1,t.control.settings.value)}}})};e.add("legacyoutput",function(e){n(e),i(e)})}();!function(){"use strict";var e=function(t){var n=t,r=function(){return n};return{get:r,set:function(e){n=e},clone:function(){return e(r())}}},t=tinymce.util.Tools.resolve("tinymce.PluginManager"),n=function(e){return e.getParam("insertdatetime_timeformat",e.translate("%H:%M:%S"))},r=function(e){return e.getParam("insertdatetime_formats",["%H:%M:%S","%Y-%m-%d","%I:%M:%S %p","%D"])},a=function(e){return e.getParam("insertdatetime_dateformat",e.translate("%Y-%m-%d"))},i=n,o=r,u=function(e){var t=r(e);return t.length>0?t[0]:n(e)},c=function(e){return e.getParam("insertdatetime_element",!1)},l="Sun Mon Tue Wed Thu Fri Sat Sun".split(" "),m="Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sunday".split(" "),s="Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),d="January February March April May June July August September October November December".split(" "),p=function(e,t){if((e=""+e).length<t)for(var n=0;n<t-e.length;n++)e="0"+e;return e},f=function(e,t,n){return n=n||new Date,t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=(t=t.replace("%D","%m/%d/%Y")).replace("%r","%I:%M:%S %p")).replace("%Y",""+n.getFullYear())).replace("%y",""+n.getYear())).replace("%m",p(n.getMonth()+1,2))).replace("%d",p(n.getDate(),2))).replace("%H",""+p(n.getHours(),2))).replace("%M",""+p(n.getMinutes(),2))).replace("%S",""+p(n.getSeconds(),2))).replace("%I",""+((n.getHours()+11)%12+1))).replace("%p",n.getHours()<12?"AM":"PM")).replace("%B",""+e.translate(d[n.getMonth()]))).replace("%b",""+e.translate(s[n.getMonth()]))).replace("%A",""+e.translate(m[n.getDay()]))).replace("%a",""+e.translate(l[n.getDay()]))).replace("%%","%")},g=function(e,t){if(c(e)){var n=f(e,t),r=void 0;r=/%[HMSIp]/.test(t)?f(e,"%Y-%m-%dT%H:%M"):f(e,"%Y-%m-%d");var a=e.dom.getParent(e.selection.getStart(),"time");a?(o=a,u=r,l=n,m=(i=e).dom.create("time",{datetime:u},l),o.parentNode.insertBefore(m,o),i.dom.remove(o),i.selection.select(m,!0),i.selection.collapse(!1)):e.insertContent('<time datetime="'+r+'">'+n+"</time>")}else e.insertContent(f(e,t));var i,o,u,l,m},y=f,M=function(e){e.addCommand("mceInsertDate",function(){g(e,a(e))}),e.addCommand("mceInsertTime",function(){g(e,i(e))})},v=tinymce.util.Tools.resolve("tinymce.util.Tools"),S=function(e,t){var n,r,a,i=(r=t,a=o(n=e),v.map(a,function(e){return{text:y(n,e),onclick:function(){r.set(e),g(n,e)}}}));e.addButton("insertdatetime",{type:"splitbutton",title:"Insert date/time",menu:i,onclick:function(){var n=t.get();g(e,n||u(e))}}),e.addMenuItem("insertdatetime",{icon:"date",text:"Date/time",menu:i,context:"insert"})};t.add("insertdatetime",function(t){var n=e(null);M(t),S(t,n)})}();!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),t=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),n=tinymce.util.Tools.resolve("tinymce.EditorManager"),r=tinymce.util.Tools.resolve("tinymce.Env"),i=tinymce.util.Tools.resolve("tinymce.util.Tools"),c=function(e){return e.getParam("importcss_merge_classes")},o=function(e){return e.getParam("importcss_exclusive")},s=function(e){return e.getParam("importcss_selector_converter")},u=function(e){return e.getParam("importcss_selector_filter")},l=function(e){return e.getParam("importcss_groups")},a=function(e){return e.getParam("importcss_append")},f=function(e){return e.getParam("importcss_file_filter")},m=function(e){var t=r.cacheSuffix;return"string"==typeof e&&(e=e.replace("?"+t,"").replace("&"+t,"")),e},g=function(e,t){var r=e.settings,i=!1!==r.skin&&(r.skin||"lightgray");return!!i&&t===(r.skin_url?e.documentBaseURI.toAbsolute(r.skin_url):n.baseURL+"/skins/"+i)+"/content"+(e.inline?".inline":"")+".min.css"},p=function(e){return"string"==typeof e?function(t){return-1!==t.indexOf(e)}:e instanceof RegExp?function(t){return e.test(t)}:e},v=function(e,t,n){var r=[],c={};i.each(e.contentCSS,function(e){c[e]=!0}),n||(n=function(e,t){return t||c[e]});try{i.each(t.styleSheets,function(t){!function c(t,o){var s,u=t.href;if((u=m(u))&&n(u,o)&&!g(e,u)){i.each(t.imports,function(e){c(e,!0)});try{s=t.cssRules||t.rules}catch(l){}i.each(s,function(e){e.styleSheet?c(e.styleSheet,!0):e.selectorText&&i.each(e.selectorText.split(","),function(e){r.push(i.trim(e))})})}}(t)})}catch(o){}return r},h=function(e,t){var n,r=/^(?:([a-z0-9\-_]+))?(\.[a-z0-9_\-\.]+)$/i.exec(t);if(r){var o=r[1],s=r[2].substr(1).split(".").join(" "),u=i.makeMap("a,img");return r[1]?(n={title:t},e.schema.getTextBlockElements()[o]?n.block=o:e.schema.getBlockElements()[o]||u[o.toLowerCase()]?n.selector=o:n.inline=o):r[2]&&(n={inline:"span",title:t.substr(1),classes:s}),!1!==c(e)?n.classes=s:n.attributes={"class":s},n}},d=function(e,t){return null===t||!1!==o(e)},y=h,_=function(e){e.on("renderFormatsMenu",function(n){var r,c={},o=p(u(e)),m=n.control,g=(r=l(e),i.map(r,function(e){return i.extend({},e,{original:e,selectors:{},filter:p(e.filter),item:{text:e.title,menu:[]}})})),y=function(n,r){if(_=n,T=c,!(d(e,x=r)?_ in T:_ in x.selectors)){p=n,y=c,d(e,v=r)?y[p]=!0:v.selectors[p]=!0;var o=(l=e,a=e.plugins.importcss,f=n,((g=r)&&g.selector_converter?g.selector_converter:s(l)?s(l):function(){return h(l,f)}).call(a,f,g));if(o){var u=o.name||t.DOM.uniqueId();return e.formatter.register(u,o),i.extend({},m.settings.itemDefaults,{text:o.title,format:u})}}var l,a,f,g,p,v,y,_,x,T;return null};a(e)||m.items().remove(),i.each(v(e,n.doc||e.getDoc(),p(f(e))),function(e){if(-1===e.indexOf(".mce-")&&(!o||o(e))){var t=(r=g,c=e,i.grep(r,function(e){return!e.filter||e.filter(c)}));if(t.length>0)i.each(t,function(t){var n=y(e,t);n&&t.item.menu.push(n)});else{var n=y(e,null);n&&m.add(n)}}var r,c}),i.each(g,function(e){e.item.menu.length>0&&m.add(e.item)}),n.control.renderNew()})},x=function(e){return{convertSelectorToFormat:function(t){return y(e,t)}}};e.add("importcss",function(e){return _(e),x(e)})}();!function(){"use strict";var t=function(e){var n=e,o=function(){return n};return{get:o,set:function(t){n=t},clone:function(){return t(o())}}},e=tinymce.util.Tools.resolve("tinymce.PluginManager"),n=tinymce.util.Tools.resolve("tinymce.util.Tools");function o(t,e){return i(document.createElement("canvas"),t,e)}function r(t){return t.getContext("2d")}function i(t,e,n){return t.width=e,t.height=n,t}var a,u,c,l,s={create:o,clone:function(t){var e;return r(e=o(t.width,t.height)).drawImage(t,0,0),e},resize:i,get2dContext:r,get3dContext:function(t){var e=null;try{e=t.getContext("webgl")||t.getContext("experimental-webgl")}catch(n){}return e||(e=null),e}},f={getWidth:function(t){return t.naturalWidth||t.width},getHeight:function(t){return t.naturalHeight||t.height}},d=window.Promise?window.Promise:function(){var t=function(t){if("object"!=typeof this)throw new TypeError("Promises must be constructed via new");if("function"!=typeof t)throw new TypeError("not a function");this._state=null,this._value=null,this._deferreds=[],c(t,n(i,this),n(a,this))},e=t.immediateFn||"function"==typeof setImmediate&&setImmediate||function(t){setTimeout(t,1)};function n(t,e){return function(){t.apply(e,arguments)}}var o=Array.isArray||function(t){return"[object Array]"===Object.prototype.toString.call(t)};function r(t){var n=this;null!==this._state?e(function(){var e=n._state?t.onFulfilled:t.onRejected;if(null!==e){var o;try{o=e(n._value)}catch(r){return void t.reject(r)}t.resolve(o)}else(n._state?t.resolve:t.reject)(n._value)}):this._deferreds.push(t)}function i(t){try{if(t===this)throw new TypeError("A promise cannot be resolved with itself.");if(t&&("object"==typeof t||"function"==typeof t)){var e=t.then;if("function"==typeof e)return void c(n(e,t),n(i,this),n(a,this))}this._state=!0,this._value=t,u.call(this)}catch(o){a.call(this,o)}}function a(t){this._state=!1,this._value=t,u.call(this)}function u(){for(var t=0,e=this._deferreds.length;t<e;t++)r.call(this,this._deferreds[t]);this._deferreds=null}function c(t,e,n){var o=!1;try{t(function(t){o||(o=!0,e(t))},function(t){o||(o=!0,n(t))})}catch(r){if(o)return;o=!0,n(r)}}return t.prototype["catch"]=function(t){return this.then(null,t)},t.prototype.then=function(e,n){var o=this;return new t(function(t,i){r.call(o,new function(t,e,n,o){this.onFulfilled="function"==typeof t?t:null,this.onRejected="function"==typeof e?e:null,this.resolve=n,this.reject=o}(e,n,t,i))})},t.all=function(){var e=Array.prototype.slice.call(1===arguments.length&&o(arguments[0])?arguments[0]:arguments);return new t(function(t,n){if(0===e.length)return t([]);var o=e.length;function r(i,a){try{if(a&&("object"==typeof a||"function"==typeof a)){var u=a.then;if("function"==typeof u)return void u.call(a,function(t){r(i,t)},n)}e[i]=a,0==--o&&t(e)}catch(c){n(c)}}for(var i=0;i<e.length;i++)r(i,e[i])})},t.resolve=function(e){return e&&"object"==typeof e&&e.constructor===t?e:new t(function(t){t(e)})},t.reject=function(e){return new t(function(t,n){n(e)})},t.race=function(e){return new t(function(t,n){for(var o=0,r=e.length;o<r;o++)e[o].then(t,n)})},t}(),h=function(t){return function(){return t}},p={noop:function(){},noarg:function(t){return function(){return t()}},compose:function(t,e){return function(){return t(e.apply(null,arguments))}},constant:h,identity:function(t){return t},tripleEquals:function(t,e){return t===e},curry:function(t){for(var e=new Array(arguments.length-1),n=1;n<arguments.length;n++)e[n-1]=arguments[n];return function(){for(var n=new Array(arguments.length),o=0;o<n.length;o++)n[o]=arguments[o];var r=e.concat(n);return t.apply(null,r)}},not:function(t){return function(){return!t.apply(null,arguments)}},die:function(t){return function(){throw new Error(t)}},apply:function(t){return t()},call:function(t){t()},never:h(!1),always:h(!0)},m=p.never,g=p.always,v=function(){return y},y=(l={fold:function(t,e){return t()},is:m,isSome:m,isNone:g,getOr:c=function(t){return t},getOrThunk:u=function(t){return t()},getOrDie:function(t){throw new Error(t||"error: getOrDie called on none.")},or:c,orThunk:u,map:v,ap:v,each:function(){},bind:v,flatten:v,exists:m,forall:g,filter:v,equals:a=function(t){return t.isNone()},equals_:a,toArray:function(){return[]},toString:p.constant("none()")},Object.freeze&&Object.freeze(l),l),b=function(t){var e=function(){return t},n=function(){return r},o=function(e){return e(t)},r={fold:function(e,n){return n(t)},is:function(e){return t===e},isSome:g,isNone:m,getOr:e,getOrThunk:e,getOrDie:e,or:n,orThunk:n,map:function(e){return b(e(t))},ap:function(e){return e.fold(v,function(e){return b(e(t))})},each:function(e){e(t)},bind:o,flatten:e,exists:o,forall:o,filter:function(e){return e(t)?r:y},equals:function(e){return e.is(t)},equals_:function(e,n){return e.fold(m,function(e){return n(t,e)})},toArray:function(){return[t]},toString:function(){return"some("+t+")"}};return r},w={some:b,none:v,from:function(t){return null===t||t===undefined?y:b(t)}},x="undefined"!=typeof window?window:Function("return this;")(),R=function(t,e){for(var n=e!==undefined&&null!==e?e:x,o=0;o<t.length&&n!==undefined&&null!==n;++o)n=n[t[o]];return n},I=function(t,e){var n=t.split(".");return R(n,e)},T=function(t,e){var n=I(t,e);if(n===undefined||null===n)throw t+" not available on this browser";return n},k=function(t,e){return new(T("Blob"))(t,e)},C=function(){return new(T("FileReader"))},B=function(t){return new(T("Uint8Array"))(t)},U={atob:function(t){return T("atob")(t)},requestAnimationFrame:function(t){T("requestAnimationFrame")(t)}};function M(t){return new d(function(e,n){var o=URL.createObjectURL(t),r=new Image,i=function(){r.removeEventListener("load",a),r.removeEventListener("error",u)};function a(){i(),e(r)}function u(){i(),n("Unable to load data of type "+t.type+": "+o)}r.addEventListener("load",a),r.addEventListener("error",u),r.src=o,r.complete&&a()})}function j(t){return new d(function(e){var n=new XMLHttpRequest;n.open("GET",t,!0),n.responseType="blob",n.onload=function(){200==this.status&&e(this.response)},n.send()})}function A(t){var e=t.split(","),n=/data:([^;]+)/.exec(e[0]);if(!n)return w.none();for(var o=n[1],r=e[1],i=U.atob(r),a=i.length,u=Math.ceil(a/1024),c=new Array(u),l=0;l<u;++l){for(var s=1024*l,f=Math.min(s+1024,a),d=new Array(f-s),h=s,p=0;h<f;++p,++h)d[p]=i[h].charCodeAt(0);c[l]=B(d)}return w.some(k(c,{type:o}))}function z(t){return new d(function(e,n){A(t).fold(function(){n("uri is not base64: "+t)},e)})}function E(t){return new d(function(e){var n=new C;n.onloadend=function(){e(n.result)},n.readAsDataURL(t)})}var S={blobToImage:M,imageToBlob:function(t){return(e=t,new d(function(t){e.complete?t(e):e.addEventListener("load",function n(){e.removeEventListener("load",n),t(e)})})).then(function(t){var e=t.src;return 0===e.indexOf("blob:")?j(e):0===e.indexOf("data:")?z(e):j(e)});var e},blobToDataUri:E,blobToBase64:function(t){return E(t).then(function(t){return t.split(",")[1]})},dataUriToBlobSync:A,canvasToBlob:function(t,e,n){return e=e||"image/png",HTMLCanvasElement.prototype.toBlob?new d(function(o){t.toBlob(function(t){o(t)},e,n)}):z(t.toDataURL(e,n))},canvasToDataURL:function(t,e,n){return e=e||"image/png",t.then(function(t){return t.toDataURL(e,n)})},blobToCanvas:function(t){return M(t).then(function(t){var e,n;return e=t,URL.revokeObjectURL(e.src),n=s.create(f.getWidth(t),f.getHeight(t)),s.get2dContext(n).drawImage(t,0,0),n})},uriToBlob:function(t){return 0===t.indexOf("blob:")?j(t):0===t.indexOf("data:")?z(t):null}},L=function(t){return S.blobToImage(t)},H=function(t){return S.imageToBlob(t)};function O(t,e,n){var o=e.type;function r(e,n){return t.then(function(t){return S.canvasToDataURL(t,e,n)})}return{getType:p.constant(o),toBlob:function(){return d.resolve(e)},toDataURL:function(){return n},toBase64:function(){return n.split(",")[1]},toAdjustedBlob:function(e,n){return t.then(function(t){return S.canvasToBlob(t,e,n)})},toAdjustedDataURL:r,toAdjustedBase64:function(t,e){return r(t,e).then(function(t){return t.split(",")[1]})},toCanvas:function(){return t.then(s.clone)}}}function _(t){return S.blobToDataUri(t).then(function(e){return O(S.blobToCanvas(t),t,e)})}var D={fromBlob:_,fromCanvas:function(t,e){return S.canvasToBlob(t,e).then(function(e){return O(d.resolve(t),e,t.toDataURL())})},fromImage:function(t){return S.imageToBlob(t).then(function(t){return _(t)})},fromBlobAndUrlSync:function(t,e){return O(S.blobToCanvas(t),t,e)}};function F(t,e,n){return(t=parseFloat(t))>n?t=n:t<e&&(t=e),t}var P=[0,.01,.02,.04,.05,.06,.07,.08,.1,.11,.12,.14,.15,.16,.17,.18,.2,.21,.22,.24,.25,.27,.28,.3,.32,.34,.36,.38,.4,.42,.44,.46,.48,.5,.53,.56,.59,.62,.65,.68,.71,.74,.77,.8,.83,.86,.89,.92,.95,.98,1,1.06,1.12,1.18,1.24,1.3,1.36,1.42,1.48,1.54,1.6,1.66,1.72,1.78,1.84,1.9,1.96,2,2.12,2.25,2.37,2.5,2.62,2.75,2.87,3,3.2,3.4,3.6,3.8,4,4.3,4.7,4.9,5,5.5,6,6.5,6.8,7,7.3,7.5,7.8,8,8.4,8.7,9,9.4,9.6,9.8,10];function W(t,e){var n,o,r,i,a=[],u=new Array(10);for(n=0;n<5;n++){for(o=0;o<5;o++)a[o]=e[o+5*n];for(o=0;o<5;o++){for(i=0,r=0;r<5;r++)i+=t[o+5*r]*a[r];u[o+5*n]=i}}return u}function q(t,e){return e=F(e,0,1),t.map(function(t,n){return n%6==0?t=1-(1-t)*e:t*=e,F(t,0,1)})}var V={identity:function(){return[1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,1]},adjust:q,multiply:W,adjustContrast:function(t,e){var n;return e=F(e,-1,1),W(t,[(n=(e*=100)<0?127+e/100*127:127*(n=0==(n=e%1)?P[e]:P[Math.floor(e)]*(1-n)+P[Math.floor(e)+1]*n)+127)/127,0,0,0,.5*(127-n),0,n/127,0,0,.5*(127-n),0,0,n/127,0,.5*(127-n),0,0,0,1,0,0,0,0,0,1])},adjustBrightness:function(t,e){return W(t,[1,0,0,0,e=F(255*e,-255,255),0,1,0,0,e,0,0,1,0,e,0,0,0,1,0,0,0,0,0,1])},adjustSaturation:function(t,e){var n,o,r;return W(t,[(o=.3086)*(1-(n=1+((e=F(e,-1,1))>0?3*e:e)))+n,(r=.6094)*(1-n),.082*(1-n),0,0,o*(1-n),r*(1-n)+n,.082*(1-n),0,0,o*(1-n),r*(1-n),.082*(1-n)+n,0,0,0,0,0,1,0,0,0,0,0,1])},adjustHue:function(t,e){var n,o,r,i,a;return e=F(e,-180,180)/180*Math.PI,n=Math.cos(e),o=Math.sin(e),W(t,[(r=.213)+.787*n+o*-r,(i=.715)+n*-i+o*-i,(a=.072)+n*-a+.928*o,0,0,r+n*-r+.143*o,i+n*(1-i)+.14*o,a+n*-a+-.283*o,0,0,r+n*-r+-.787*o,i+n*-i+o*i,a+.928*n+o*a,0,0,0,0,0,1,0,0,0,0,0,1])},adjustColors:function(t,e,n,o){return W(t,[e=F(e,0,2),0,0,0,0,0,n=F(n,0,2),0,0,0,0,0,o=F(o,0,2),0,0,0,0,0,1,0,0,0,0,0,1])},adjustSepia:function(t,e){return W(t,q([.393,.769,.189,0,0,.349,.686,.168,0,0,.272,.534,.131,0,0,0,0,0,1,0,0,0,0,0,1],e=F(e,0,1)))},adjustGrayscale:function(t,e){return W(t,q([.33,.34,.33,0,0,.33,.34,.33,0,0,.33,.34,.33,0,0,0,0,0,1,0,0,0,0,0,1],e=F(e,0,1)))}};function N(t,e){return t.toCanvas().then(function(n){return o=n,r=t.getType(),i=e,u=s.get2dContext(o),a=function(t,e){var n,o,r,i,a,u=t.data,c=e[0],l=e[1],s=e[2],f=e[3],d=e[4],h=e[5],p=e[6],m=e[7],g=e[8],v=e[9],y=e[10],b=e[11],w=e[12],x=e[13],R=e[14],I=e[15],T=e[16],k=e[17],C=e[18],B=e[19];for(a=0;a<u.length;a+=4)n=u[a],o=u[a+1],r=u[a+2],i=u[a+3],u[a]=n*c+o*l+r*s+i*f+d,u[a+1]=n*h+o*p+r*m+i*g+v,u[a+2]=n*y+o*b+r*w+i*x+R,u[a+3]=n*I+o*T+r*k+i*C+B;return t}(u.getImageData(0,0,o.width,o.height),i),u.putImageData(a,0,0),D.fromCanvas(o,r);var o,r,i,a,u})}function X(t,e){return t.toCanvas().then(function(n){return o=n,r=t.getType(),i=e,c=s.get2dContext(o),a=c.getImageData(0,0,o.width,o.height),u=c.getImageData(0,0,o.width,o.height),u=function(t,e,n){var o,r,i,a,u,c,l,s,f,d,h,p,m,g,v,y,b;function w(t,e,n){return t>n?t=n:t<e&&(t=e),t}for(i=Math.round(Math.sqrt(n.length)),a=Math.floor(i/2),o=t.data,r=e.data,y=t.width,b=t.height,c=0;c<b;c++)for(u=0;u<y;u++){for(l=s=f=0,h=0;h<i;h++)for(d=0;d<i;d++)p=w(u+d-a,0,y-1),m=w(c+h-a,0,b-1),g=4*(m*y+p),v=n[h*i+d],l+=o[g]*v,s+=o[g+1]*v,f+=o[g+2]*v;r[g=4*(c*y+u)]=w(l,0,255),r[g+1]=w(s,0,255),r[g+2]=w(f,0,255)}return e}(a,u,i),c.putImageData(u,0,0),D.fromCanvas(o,r);var o,r,i,a,u,c})}function $(t){return function(e,n){return e.toCanvas().then(function(o){return function(e,n,o){var r,i,a=s.get2dContext(e),u=new Array(256);for(i=0;i<u.length;i++)u[i]=t(i,o);return r=function(t,e){var n,o=t.data;for(n=0;n<o.length;n+=4)o[n]=e[o[n]],o[n+1]=e[o[n+1]],o[n+2]=e[o[n+2]];return t}(a.getImageData(0,0,e.width,e.height),u),a.putImageData(r,0,0),D.fromCanvas(e,n)}(o,e.getType(),n)})}}function G(t){return function(e,n){return N(e,t(V.identity(),n))}}function Y(t){return function(e){return X(e,t)}}var J,K={invert:(J=[-1,0,0,0,255,0,-1,0,0,255,0,0,-1,0,255,0,0,0,1,0],function(t){return N(t,J)}),brightness:G(V.adjustBrightness),hue:G(V.adjustHue),saturate:G(V.adjustSaturation),contrast:G(V.adjustContrast),grayscale:G(V.adjustGrayscale),sepia:G(V.adjustSepia),colorize:function(t,e,n,o){return N(t,V.adjustColors(V.identity(),e,n,o))},sharpen:Y([0,-1,0,-1,5,-1,0,-1,0]),emboss:Y([-2,-1,0,-1,1,1,0,1,2]),gamma:$(function(t,e){return 255*Math.pow(t/255,1-e)}),exposure:$(function(t,e){return 255*(1-Math.exp(-t/255*e))}),colorFilter:N,convoluteFilter:X},Z={scale:function te(t,e,n){var o=f.getWidth(t),r=f.getHeight(t),i=e/o,a=n/r,u=!1;(i<.5||i>2)&&(i=i<.5?.5:2,u=!0),(a<.5||a>2)&&(a=a<.5?.5:2,u=!0);var c,l,h,p=(c=t,l=i,h=a,new d(function(t){var e=f.getWidth(c),n=f.getHeight(c),o=Math.floor(e*l),r=Math.floor(n*h),i=s.create(o,r),a=s.get2dContext(i);a.drawImage(c,0,0,e,n,0,0,o,r),t(i)}));return u?p.then(function(t){return te(t,e,n)}):p}},Q={rotate:function(t,e){return t.toCanvas().then(function(n){return o=n,r=t.getType(),i=e,a=s.create(o.width,o.height),u=s.get2dContext(a),c=0,l=0,90!=(i=i<0?360+i:i)&&270!=i||s.resize(a,a.height,a.width),90!=i&&180!=i||(c=a.width),270!=i&&180!=i||(l=a.height),u.translate(c,l),u.rotate(i*Math.PI/180),u.drawImage(o,0,0),D.fromCanvas(a,r);var o,r,i,a,u,c,l})},flip:function(t,e){return t.toCanvas().then(function(n){return o=n,r=t.getType(),i=e,a=s.create(o.width,o.height),u=s.get2dContext(a),"v"==i?(u.scale(1,-1),u.drawImage(o,0,-a.height)):(u.scale(-1,1),u.drawImage(o,-a.width,0)),D.fromCanvas(a,r);var o,r,i,a,u})},crop:function(t,e,n,o,r){return t.toCanvas().then(function(i){return a=i,u=t.getType(),c=e,l=n,f=o,d=r,h=s.create(f,d),s.get2dContext(h).drawImage(a,-c,-l),D.fromCanvas(h,u);var a,u,c,l,f,d,h})},resize:function(t,e,n){return t.toCanvas().then(function(o){return Z.scale(o,e,n).then(function(e){return D.fromCanvas(e,t.getType())})})}},tt={invert:function(t){return K.invert(t)},sharpen:function(t){return K.sharpen(t)},emboss:function(t){return K.emboss(t)},brightness:function(t,e){return K.brightness(t,e)},hue:function(t,e){return K.hue(t,e)},saturate:function(t,e){return K.saturate(t,e)},contrast:function(t,e){return K.contrast(t,e)},grayscale:function(t,e){return K.grayscale(t,e)},sepia:function(t,e){return K.sepia(t,e)},colorize:function(t,e,n,o){return K.colorize(t,e,n,o)},gamma:function(t,e){return K.gamma(t,e)},exposure:function(t,e){return K.exposure(t,e)},flip:function(t,e){return Q.flip(t,e)},crop:function(t,e,n,o,r){return Q.crop(t,e,n,o,r)},resize:function(t,e,n){return Q.resize(t,e,n)},rotate:function(t,e){return Q.rotate(t,e)}},et=function(t){return t.toBlob()},nt={blobToImageResult:function(t){return D.fromBlob(t)},fromBlobAndUrlSync:function(t,e){return D.fromBlobAndUrlSync(t,e)},imageToImageResult:function(t){return D.fromImage(t)},imageResultToBlob:function(t,e,n){return e===undefined&&n===undefined?et(t):t.toAdjustedBlob(e,n)},imageResultToOriginalBlob:et,imageResultToDataURL:function(t){return t.toDataURL()}},ot=function(){return T("URL")},rt={createObjectURL:function(t){return ot().createObjectURL(t)},revokeObjectURL:function(t){ot().revokeObjectURL(t)}},it=tinymce.util.Tools.resolve("tinymce.util.Delay"),at=tinymce.util.Tools.resolve("tinymce.util.Promise"),ut=tinymce.util.Tools.resolve("tinymce.util.URI"),ct=function(t){return t.getParam("imagetools_toolbar","rotateleft rotateright | flipv fliph | crop editimage imageoptions")},lt=function(t){return t.getParam("imagetools_proxy")},st={getImageSize:function(t){var e,n;function o(t){return/^[0-9\.]+px$/.test(t)}return e=t.style.width,n=t.style.height,e||n?o(e)&&o(n)?{w:parseInt(e,10),h:parseInt(n,10)}:null:(e=t.width,n=t.height,e&&n?{w:parseInt(e,10),h:parseInt(n,10)}:null)},setImageSize:function(t,e){var n,o;e&&(n=t.style.width,o=t.style.height,(n||o)&&(t.style.width=e.w+"px",t.style.height=e.h+"px",t.removeAttribute("data-mce-style")),n=t.width,o=t.height,(n||o)&&(t.setAttribute("width",e.w),t.setAttribute("height",e.h)))},getNaturalImageSize:function(t){return{w:t.naturalWidth,h:t.naturalHeight}}},ft=(Array.prototype.indexOf,undefined,Array.prototype.push,Array.prototype.slice,function(t,e){for(var n=0,o=t.length;n<o;n++){var r=t[n];if(e(r,n,t))return w.some(r)}return w.none()}),dt=function(t){return null!==t&&t!==undefined},ht={traverse:function(t,e){var n;return n=e.reduce(function(t,e){return dt(t)?t[e]:undefined},t),dt(n)?n:null},readBlob:function(t){return new at(function(e){var n=new C;n.onload=function(t){var n=t.target;e(n.result)},n.readAsText(t)})},requestUrlAsBlob:function(t,e){return new at(function(o){var r;(r=new function(){return new(T("XMLHttpRequest"))}).onreadystatechange=function(){4===r.readyState&&o({status:r.status,blob:this.response})},r.open("GET",t,!0),n.each(e,function(t,e){r.setRequestHeader(e,t)}),r.responseType="blob",r.send()})},parseJson:function(t){var e;try{e=JSON.parse(t)}catch(n){}return e}},pt=[{code:404,message:"Could not find Image Proxy"},{code:403,message:"Rejected request"},{code:0,message:"Incorrect Image Proxy URL"}],mt=[{type:"key_missing",message:"The request did not include an api key."},{type:"key_not_found",message:"The provided api key could not be found."},{type:"domain_not_trusted",message:"The api key is not valid for the request origins."}],gt=function(t){return"ImageProxy HTTP error: "+ft(pt,function(e){return t===e.code}).fold(p.constant("Unknown ImageProxy error"),function(t){return t.message})},vt=function(t){var e=gt(t);return at.reject(e)},yt=function(t){return ft(mt,function(e){return e.type===t}).fold(p.constant("Unknown service error"),function(t){return t.message})},bt=function(t,e){return ht.readBlob(e).then(function(t){var e,n,o,r=(e=t,n=ht.parseJson(e),"ImageProxy Service error: "+((o=ht.traverse(n,["error","type"]))?yt(o):"Invalid JSON in service error message"));return at.reject(r)})},wt={handleServiceErrorResponse:function(t,e){return 400===(n=t)||403===n||500===n?bt(0,e):vt(t);var n},handleHttpError:vt,getHttpErrorMsg:gt,getServiceErrorMsg:yt},xt=function(t,e){return ht.requestUrlAsBlob((n=t,o=e,r=-1===n.indexOf("?")?"?":"&",/[?&]apiKey=/.test(n)||!o?n:n+r+"apiKey="+encodeURIComponent(o)),{"Content-Type":"application/json;charset=UTF-8","tiny-api-key":e}).then(function(t){return t.status<200||t.status>=300?wt.handleServiceErrorResponse(t.status,t.blob):at.resolve(t.blob)});var n,o,r},Rt=function(t,e){return e?xt(t,e):(n=t,ht.requestUrlAsBlob(n,{}).then(function(t){return t.status<200||t.status>=300?wt.handleHttpError(t.status):at.resolve(t.blob)}));var n},It=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),Tt=tinymce.util.Tools.resolve("tinymce.ui.Factory"),kt=function(){var t=[],e=-1;function n(){return e>0}function o(){return-1!==e&&e<t.length-1}return{data:t,add:function(n){var o;return o=t.splice(++e),t.push(n),{state:n,removed:o}},undo:function(){if(n())return t[--e]},redo:function(){if(o())return t[++e]},canUndo:n,canRedo:o}},Ct=tinymce.util.Tools.resolve("tinymce.geom.Rect"),Bt=function(t){return new at(function(e){var n=function(){t.removeEventListener("load",n),e(t)};t.complete?e(t):t.addEventListener("load",n)})},Ut=tinymce.util.Tools.resolve("tinymce.dom.DomQuery"),Mt=tinymce.util.Tools.resolve("tinymce.util.Observable"),jt=tinymce.util.Tools.resolve("tinymce.util.VK"),At=0,zt=function(t,e,o,r,i){var a,u,c,l,s="mce-",f=s+"crid-"+At++;function d(t,e){return{x:e.x-t.x,y:e.y-t.y,w:e.w,h:e.h}}function h(e,n,r,i){var u,c,l,s,f;u=n.x,c=n.y,l=n.w,s=n.h,u+=r*e.deltaX,c+=i*e.deltaY,l+=r*e.deltaW,s+=i*e.deltaH,l<20&&(l=20),s<20&&(s=20),f=t=Ct.clamp({x:u,y:c,w:l,h:s},o,"move"===e.name),f=d(o,f),a.fire("updateRect",{rect:f}),g(f)}function p(t){function o(t,e){e.h<0&&(e.h=0),e.w<0&&(e.w=0),Ut("#"+f+"-"+t,r).css({left:e.x,top:e.y,width:e.w,height:e.h})}n.each(u,function(e){Ut("#"+f+"-"+e.name,r).css({left:t.w*e.xMul+t.x,top:t.h*e.yMul+t.y})}),o("top",{x:e.x,y:e.y,w:e.w,h:t.y-e.y}),o("right",{x:t.x+t.w,y:t.y,w:e.w-t.x-t.w+e.x,h:t.h}),o("bottom",{x:e.x,y:t.y+t.h,w:e.w,h:e.h-t.y-t.h+e.y}),o("left",{x:e.x,y:t.y,w:t.x-e.x,h:t.h}),o("move",t)}function m(e){p(t=e)}function g(t){var e,n;m((e=o,{x:(n=t).x+e.x,y:n.y+e.y,w:n.w,h:n.h}))}return u=[{name:"move",xMul:0,yMul:0,deltaX:1,deltaY:1,deltaW:0,deltaH:0,label:"Crop Mask"},{name:"nw",xMul:0,yMul:0,deltaX:1,deltaY:1,deltaW:-1,deltaH:-1,label:"Top Left Crop Handle"},{name:"ne",xMul:1,yMul:0,deltaX:0,deltaY:1,deltaW:1,deltaH:-1,label:"Top Right Crop Handle"},{name:"sw",xMul:0,yMul:1,deltaX:1,deltaY:0,deltaW:-1,deltaH:1,label:"Bottom Left Crop Handle"},{name:"se",xMul:1,yMul:1,deltaX:0,deltaY:0,deltaW:1,deltaH:1,label:"Bottom Right Crop Handle"}],l=["top","right","bottom","left"],Ut('<div id="'+f+'" class="'+s+'croprect-container" role="grid" aria-dropeffect="execute">').appendTo(r),n.each(l,function(t){Ut("#"+f,r).append('<div id="'+f+"-"+t+'"class="'+s+'croprect-block" style="display: none" data-mce-bogus="all">')}),n.each(u,function(t){Ut("#"+f,r).append('<div id="'+f+"-"+t.name+'" class="'+s+"croprect-handle "+s+"croprect-handle-"+t.name+'"style="display: none" data-mce-bogus="all" role="gridcell" tabindex="-1" aria-label="'+t.label+'" aria-grabbed="false">')}),c=n.map(u,function(e){var n;return new(Tt.get("DragHelper"))(f,{document:r.ownerDocument,handle:f+"-"+e.name,start:function(){n=t},drag:function(t){h(e,n,t.deltaX,t.deltaY)}})}),p(t),Ut(r).on("focusin focusout",function(t){Ut(t.target).attr("aria-grabbed","focus"===t.type)}),Ut(r).on("keydown",function(e){var o;function r(t,e,n,r,i){t.stopPropagation(),t.preventDefault(),h(o,n,r,i)}switch(n.each(u,function(t){if(e.target.id===f+"-"+t.name)return o=t,!1}),e.keyCode){case jt.LEFT:r(e,0,t,-10,0);break;case jt.RIGHT:r(e,0,t,10,0);break;case jt.UP:r(e,0,t,0,-10);break;case jt.DOWN:r(e,0,t,0,10);break;case jt.ENTER:case jt.SPACEBAR:e.preventDefault(),i()}}),a=n.extend({toggleVisibility:function(t){var e;e=n.map(u,function(t){return"#"+f+"-"+t.name}).concat(n.map(l,function(t){return"#"+f+"-"+t})).join(","),t?Ut(e,r).show():Ut(e,r).hide()},setClampRect:function(e){o=e,p(t)},setRect:m,getInnerRect:function(){return d(o,t)},setInnerRect:g,setViewPortRect:function(n){e=n,p(t)},destroy:function(){n.each(c,function(t){t.destroy()}),c=[]}},Mt)},Et={create:function(t){return new(Tt.get("Control").extend({Defaults:{classes:"imagepanel"},selection:function(t){return arguments.length?(this.state.set("rect",t),this):this.state.get("rect")},imageSize:function(){var t=this.state.get("viewRect");return{w:t.w,h:t.h}},toggleCropRect:function(t){this.state.set("cropEnabled",t)},imageSrc:function(t){var e=this,n=new Image;n.src=t,Bt(n).then(function(){var t,o,r=e.state.get("viewRect");if((o=e.$el.find("img"))[0])o.replaceWith(n);else{var i=document.createElement("div");i.className="mce-imagepanel-bg",e.getEl().appendChild(i),e.getEl().appendChild(n)}t={x:0,y:0,w:n.naturalWidth,h:n.naturalHeight},e.state.set("viewRect",t),e.state.set("rect",Ct.inflate(t,-20,-20)),r&&r.w===t.w&&r.h===t.h||e.zoomFit(),e.repaintImage(),e.fire("load")})},zoom:function(t){return arguments.length?(this.state.set("zoom",t),this):this.state.get("zoom")},postRender:function(){return this.imageSrc(this.settings.imageSrc),this._super()},zoomFit:function(){var t,e,n,o,r,i;t=this.$el.find("img"),e=this.getEl().clientWidth,n=this.getEl().clientHeight,o=t[0].naturalWidth,r=t[0].naturalHeight,(i=Math.min((e-10)/o,(n-10)/r))>=1&&(i=1),this.zoom(i)},repaintImage:function(){var t,e,n,o,r,i,a,u,c,l,s;s=this.getEl(),c=this.zoom(),l=this.state.get("rect"),a=this.$el.find("img"),u=this.$el.find(".mce-imagepanel-bg"),r=s.offsetWidth,i=s.offsetHeight,n=a[0].naturalWidth*c,o=a[0].naturalHeight*c,t=Math.max(0,r/2-n/2),e=Math.max(0,i/2-o/2),a.css({left:t,top:e,width:n,height:o}),u.css({left:t,top:e,width:n,height:o}),this.cropRect&&(this.cropRect.setRect({x:l.x*c+t,y:l.y*c+e,w:l.w*c,h:l.h*c}),this.cropRect.setClampRect({x:t,y:e,w:n,h:o}),this.cropRect.setViewPortRect({x:0,y:0,w:r,h:i}))},bindStates:function(){var t=this;t.state.on("change:cropEnabled",function(e){t.cropRect.toggleVisibility(e.value),t.repaintImage()}),t.state.on("change:zoom",function(){t.repaintImage()}),t.state.on("change:rect",function(e){var n,o=e.value;t.cropRect||(n=o,t.cropRect=zt(n,t.state.get("viewRect"),t.state.get("viewRect"),t.getEl(),function(){t.fire("crop")}),t.cropRect.on("updateRect",function(e){var n=e.rect,o=t.zoom();n={x:Math.round(n.x/o),y:Math.round(n.y/o),w:Math.round(n.w/o),h:Math.round(n.h/o)},t.state.set("rect",n)}),t.on("remove",t.cropRect.destroy)),t.cropRect.setRect(o)})}}))(t)}};function St(t){return{blob:t,url:rt.createObjectURL(t)}}function Lt(t){t&&rt.revokeObjectURL(t.url)}function Ht(t){n.each(t,Lt)}function Ot(t,e,o,r){var i,a,u,c,l,s,f,d,h,p,m,g,v,y,b,w,x,R,I,T,k,C,B,U,M,j,A,z=kt();function E(t){var e,n,o,r;e=i.find("#w")[0],n=i.find("#h")[0],o=parseInt(e.value(),10),r=parseInt(n.value(),10),i.find("#constrain")[0].checked()&&U&&M&&o&&r&&("w"===t.control.settings.name?(r=Math.round(o*j),n.value(r)):(o=Math.round(r*A),e.value(o))),U=o,M=r}function S(t){return Math.round(100*t)+"%"}function L(){i.find("#undo").disabled(!z.canUndo()),i.find("#redo").disabled(!z.canRedo()),i.statusbar.find("#save").disabled(!z.canUndo())}function H(){i.find("#undo").disabled(!0),i.find("#redo").disabled(!0)}function O(t){t&&d.imageSrc(t.url)}function _(t){return function(){var e=n.grep(B,function(e){return e.settings.name!==t});n.each(e,function(t){t.hide()}),t.show(),t.focus()}}function D(t){O(c=St(t))}function F(t){O(e=St(t)),Ht(z.add(e).removed),L()}function P(){var t=d.selection();nt.blobToImageResult(e.blob).then(function(e){tt.crop(e,t.x,t.y,t.w,t.h).then(X).then(function(t){F(t),q()})})}var W=function(t){var n=[].slice.call(arguments,1);return function(){var o=c||e;nt.blobToImageResult(o.blob).then(function(e){t.apply(this,[e].concat(n)).then(X).then(D)})}};function q(){O(e),Lt(c),_(a)(),L()}function V(){c?(F(c.blob),q()):function e(n,o){c?o():setTimeout(function(){n-- >0?e(n,o):t.windowManager.alert("Error: failed to apply image operation.")},10)}(100,V)}function N(t){return Tt.create("Form",{layout:"flex",direction:"row",labelGap:5,border:"0 0 1 0",align:"center",pack:"center",padding:"0 10 0 10",spacing:5,flex:0,minHeight:60,defaults:{classes:"imagetool",type:"button"},items:t})}var X=function(t){return t.toBlob()};function $(t,n){return N([{text:"Back",onclick:q},{type:"spacer",flex:1},{text:"Apply",subtype:"primary",onclick:V}]).hide().on("show",function(){H(),nt.blobToImageResult(e.blob).then(function(t){return n(t)}).then(X).then(function(t){var e=St(t);O(e),Lt(c),c=e})})}function G(t,n,o,r,i){return N([{text:"Back",onclick:q},{type:"spacer",flex:1},{type:"slider",flex:1,ondragend:function(t){var o;o=t.value,nt.blobToImageResult(e.blob).then(function(t){return n(t,o)}).then(X).then(function(t){var e=St(t);O(e),Lt(c),c=e})},minValue:r,maxValue:i,value:o,previewFilter:S},{type:"spacer",flex:1},{text:"Apply",subtype:"primary",onclick:V}]).hide().on("show",function(){this.find("slider").value(o),H()})}l=N([{text:"Back",onclick:q},{type:"spacer",flex:1},{text:"Apply",subtype:"primary",onclick:P}]).hide().on("show hide",function(t){d.toggleCropRect("show"===t.type)}).on("show",H),s=N([{text:"Back",onclick:q},{type:"spacer",flex:1},{type:"textbox",name:"w",label:"Width",size:4,onkeyup:E},{type:"textbox",name:"h",label:"Height",size:4,onkeyup:E},{type:"checkbox",name:"constrain",text:"Constrain proportions",checked:!0,onchange:function(t){!0===t.control.value()&&(j=M/U,A=U/M)}},{type:"spacer",flex:1},{text:"Apply",subtype:"primary",onclick:"submit"}]).hide().on("submit",function(t){var n=parseInt(i.find("#w").value(),10),o=parseInt(i.find("#h").value(),10);t.preventDefault(),function(t){for(var n=[],o=1;o<arguments.length;o++)n[o-1]=arguments[o];var r=[].slice.call(arguments,1);return function(){nt.blobToImageResult(e.blob).then(function(e){t.apply(this,[e].concat(r)).then(X).then(F)})}}(tt.resize,n,o)(),q()}).on("show",H),f=N([{text:"Back",onclick:q},{type:"spacer",flex:1},{icon:"fliph",tooltip:"Flip horizontally",onclick:W(tt.flip,"h")},{icon:"flipv",tooltip:"Flip vertically",onclick:W(tt.flip,"v")},{icon:"rotateleft",tooltip:"Rotate counterclockwise",onclick:W(tt.rotate,-90)},{icon:"rotateright",tooltip:"Rotate clockwise",onclick:W(tt.rotate,90)},{type:"spacer",flex:1},{text:"Apply",subtype:"primary",onclick:V}]).hide().on("show",H),m=$(0,tt.invert),I=$(0,tt.sharpen),T=$(0,tt.emboss),g=G(0,tt.brightness,0,-1,1),v=G(0,tt.hue,180,0,360),y=G(0,tt.saturate,0,-1,1),b=G(0,tt.contrast,0,-1,1),w=G(0,tt.grayscale,0,0,1),x=G(0,tt.sepia,0,0,1),R=function(t,n){function o(){var t,o,r;t=i.find("#r")[0].value(),o=i.find("#g")[0].value(),r=i.find("#b")[0].value(),nt.blobToImageResult(e.blob).then(function(e){return n(e,t,o,r)}).then(X).then(function(t){var e=St(t);O(e),Lt(c),c=e})}return N([{text:"Back",onclick:q},{type:"spacer",flex:1},{type:"slider",label:"R",name:"r",minValue:0,value:1,maxValue:2,ondragend:o,previewFilter:S},{type:"slider",label:"G",name:"g",minValue:0,value:1,maxValue:2,ondragend:o,previewFilter:S},{type:"slider",label:"B",name:"b",minValue:0,value:1,maxValue:2,ondragend:o,previewFilter:S},{type:"spacer",flex:1},{text:"Apply",subtype:"primary",onclick:V}]).hide().on("show",function(){i.find("#r,#g,#b").value(1),H()})}(0,tt.colorize),k=G(0,tt.gamma,0,-1,1),C=G(0,tt.exposure,1,0,2),u=N([{text:"Back",onclick:q},{type:"spacer",flex:1},{text:"hue",icon:"hue",onclick:_(v)},{text:"saturate",icon:"saturate",onclick:_(y)},{text:"sepia",icon:"sepia",onclick:_(x)},{text:"emboss",icon:"emboss",onclick:_(T)},{text:"exposure",icon:"exposure",onclick:_(C)},{type:"spacer",flex:1}]).hide(),a=N([{tooltip:"Crop",icon:"crop",onclick:_(l)},{tooltip:"Resize",icon:"resize2",onclick:_(s)},{tooltip:"Orientation",icon:"orientation",onclick:_(f)},{tooltip:"Brightness",icon:"sun",onclick:_(g)},{tooltip:"Sharpen",icon:"sharpen",onclick:_(I)},{tooltip:"Contrast",icon:"contrast",onclick:_(b)},{tooltip:"Color levels",icon:"drop",onclick:_(R)},{tooltip:"Gamma",icon:"gamma",onclick:_(k)},{tooltip:"Invert",icon:"invert",onclick:_(m)}]),d=Et.create({flex:1,imageSrc:e.url}),h=Tt.create("Container",{layout:"flex",direction:"column",border:"0 1 0 0",padding:5,spacing:5,items:[{type:"button",icon:"undo",tooltip:"Undo",name:"undo",onclick:function(){O(e=z.undo()),L()}},{type:"button",icon:"redo",tooltip:"Redo",name:"redo",onclick:function(){O(e=z.redo()),L()}},{type:"button",icon:"zoomin",tooltip:"Zoom in",onclick:function(){var t=d.zoom();t<2&&(t+=.1),d.zoom(t)}},{type:"button",icon:"zoomout",tooltip:"Zoom out",onclick:function(){var t=d.zoom();t>.1&&(t-=.1),d.zoom(t)}}]}),p=Tt.create("Container",{type:"container",layout:"flex",direction:"row",align:"stretch",flex:1,items:[h,d]}),B=[a,l,s,f,u,m,g,v,y,b,w,x,R,I,T,k,C],(i=t.windowManager.open({layout:"flex",direction:"column",align:"stretch",minWidth:Math.min(It.DOM.getViewPort().w,800),minHeight:Math.min(It.DOM.getViewPort().h,650),title:"Edit image",items:B.concat([p]),buttons:[{text:"Save",name:"save",subtype:"primary",onclick:function(){o(e.blob),i.close()}},{text:"Cancel",onclick:"close"}]})).on("close",function(){r(),Ht(z.data),z=null,c=null}),z.add(e),L(),d.on("load",function(){U=d.imageSize().w,M=d.imageSize().h,j=M/U,A=U/M,i.find("#w").value(U),i.find("#h").value(M)}),d.on("crop",P)}var _t={edit:function(t,e){return new at(function(n,o){return e.toBlob().then(function(e){Ot(t,St(e),n,o)})})}},Dt=0,Ft=function(t,e){t.notificationManager.open({text:e,type:"error"})},Pt=function(t){return t.selection.getNode()},Wt=function(t,e){var n=e.src;return 0===n.indexOf("data:")||0===n.indexOf("blob:")||new ut(n).host===t.documentBaseURI.host},qt=function(t,e){return-1!==n.inArray(t.settings.imagetools_cors_hosts,new ut(e.src).host)},Vt=function(t){var e,n,o,r,i,a;return(e=t.editorUpload.blobCache.getByUri(Pt(t).src))?at.resolve(e.blob()):(n=t,o=Pt(t),a=o.src,qt(n,o)?Rt(o.src,null):Wt(n,o)?H(o):(a=lt(n),a+=(-1===a.indexOf("?")?"?":"&")+"url="+encodeURIComponent(o.src),r=(i=n).settings.api_key||i.settings.imagetools_api_key,Rt(a,r)))},Nt=function(t,e){var n=it.setEditorTimeout(t,function(){t.editorUpload.uploadImagesAuto()},t.settings.images_upload_timeout||3e4);e.set(n)},Xt=function(t){clearTimeout(t.get())},$t=function(t,e,n,o){return e.toBlob().then(function(r){var i,a,u,c,l,s,f;return u=t.editorUpload.blobCache,i=(l=Pt(t)).src,t.settings.images_reuse_filename&&((c=u.getByUri(i))?(i=c.uri(),a=c.name()):(s=t,a=(f=i.match(/\/([^\/\?]+)?\.(?:jpeg|jpg|png|gif)(?:\?|$)/i))?s.dom.encode(f[1]):null)),c=u.create({id:"imagetools"+Dt++,blob:r,base64:e.toBase64(),uri:i,name:a}),u.add(c),t.undoManager.transact(function(){t.$(l).on("load",function e(){t.$(l).off("load",e),t.nodeChanged(),n?t.editorUpload.uploadImagesAuto():(Xt(o),Nt(t,o))}),t.$(l).attr({src:c.blobUri()}).removeAttr("data-mce-src")}),c})},Gt=function(t,e,n){return function(){return t._scanForImages().then(p.curry(Vt,t)).then(nt.blobToImageResult).then(n).then(function(n){return $t(t,n,!1,e)},function(e){Ft(t,e)})}},Yt={rotate:function(t,e,n){return function(){return Gt(t,e,function(e){var o=st.getImageSize(Pt(t));return o&&st.setImageSize(Pt(t),{w:o.h,h:o.w}),tt.rotate(e,n)})()}},flip:function(t,e,n){return function(){return Gt(t,e,function(t){return tt.flip(t,n)})()}},editImageDialog:function(t,e){return function(){var n=Pt(t),o=st.getNaturalImageSize(n),r=function(t){return new at(function(e){L(t).then(function(r){var i=st.getNaturalImageSize(r);o.w===i.w&&o.h===i.h||st.getImageSize(n)&&st.setImageSize(n,i),rt.revokeObjectURL(r.src),e(t)})})};Vt(t).then(nt.blobToImageResult).then(p.curry(function(t,n){return _t.edit(t,n).then(r).then(nt.blobToImageResult).then(function(n){return $t(t,n,!0,e)},function(){})},t),function(e){Ft(t,e)})}},isEditableImage:function(t,e){return t.dom.is(e,"img:not([data-mce-object],[data-mce-placeholder])")&&(Wt(t,e)||qt(t,e)||t.settings.imagetools_proxy)},cancelTimedUpload:Xt},Jt=function(t,e){n.each({mceImageRotateLeft:Yt.rotate(t,e,-90),mceImageRotateRight:Yt.rotate(t,e,90),mceImageFlipVertical:Yt.flip(t,e,"v"),mceImageFlipHorizontal:Yt.flip(t,e,"h"),mceEditImage:Yt.editImageDialog(t,e)},function(e,n){t.addCommand(n,e)})},Kt=function(t,e,n){t.on("NodeChange",function(o){var r=n.get();r&&r.src!==o.element.src&&(Yt.cancelTimedUpload(e),t.editorUpload.uploadImagesAuto(),n.set(null)),Yt.isEditableImage(t,o.element)&&n.set(o.element)})},Zt=function(t){t.addButton("rotateleft",{title:"Rotate counterclockwise",cmd:"mceImageRotateLeft"}),t.addButton("rotateright",{title:"Rotate clockwise",cmd:"mceImageRotateRight"}),t.addButton("flipv",{title:"Flip vertically",cmd:"mceImageFlipVertical"}),t.addButton("fliph",{title:"Flip horizontally",cmd:"mceImageFlipHorizontal"}),t.addButton("editimage",{title:"Edit image",cmd:"mceEditImage"}),t.addButton("imageoptions",{title:"Image options",icon:"options",cmd:"mceImage"})},Qt=function(t){t.addContextToolbar(p.curry(Yt.isEditableImage,t),ct(t))};e.add("imagetools",function(e){var n=t(0),o=t(null);Jt(e,n),Zt(e),Qt(e),Kt(e,n,o)})}();!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),t=tinymce.util.Tools.resolve("tinymce.util.Tools"),n={hasDimensions:function(e){return!1!==e.settings.image_dimensions},hasAdvTab:function(e){return!0===e.settings.image_advtab},getPrependUrl:function(e){return e.getParam("image_prepend_url","")},getClassList:function(e){return e.getParam("image_class_list")},hasDescription:function(e){return!1!==e.settings.image_description},hasImageTitle:function(e){return!0===e.settings.image_title},hasImageCaption:function(e){return!0===e.settings.image_caption},getImageList:function(e){return e.getParam("image_list",!1)},hasUploadUrl:function(e){return e.getParam("images_upload_url",!1)},hasUploadHandler:function(e){return e.getParam("images_upload_handler",!1)},getUploadUrl:function(e){return e.getParam("images_upload_url")},getUploadHandler:function(e){return e.getParam("images_upload_handler")},getUploadBasePath:function(e){return e.getParam("images_upload_base_path")},getUploadCredentials:function(e){return e.getParam("images_upload_credentials")}},a="undefined"!=typeof window?window:Function("return this;")(),i=function(e,t){for(var n=t!==undefined&&null!==t?t:a,i=0;i<e.length&&n!==undefined&&null!==n;++i)n=n[e[i]];return n},r=function(e,t){var n=e.split(".");return i(n,t)},o=function(e,t){var n=r(e,t);if(n===undefined||null===n)throw e+" not available on this browser";return n},l=function(){return new(o("FileReader"))},s=tinymce.util.Tools.resolve("tinymce.util.Promise"),c=tinymce.util.Tools.resolve("tinymce.util.XHR"),u=function(e,t){return Math.max(parseInt(e,10),parseInt(t,10))},g={getImageSize:function(e,t){var n=document.createElement("img");function a(e,a){n.parentNode&&n.parentNode.removeChild(n),t({width:e,height:a})}n.onload=function(){a(u(n.width,n.clientWidth),u(n.height,n.clientHeight))},n.onerror=function(){a(0,0)};var i=n.style;i.visibility="hidden",i.position="fixed",i.bottom=i.left="0px",i.width=i.height="auto",document.body.appendChild(n),n.src=e},buildListItems:function(e,n,a){return function i(e,a){return a=a||[],t.each(e,function(e){var t={text:e.text||e.title};e.menu?t.menu=i(e.menu):(t.value=e.value,n(t)),a.push(t)}),a}(e,a||[])},removePixelSuffix:function(e){return e&&(e=e.replace(/px$/,"")),e},addPixelSuffix:function(e){return e.length>0&&/^[0-9]+$/.test(e)&&(e+="px"),e},mergeMargins:function(e){if(e.margin){var t=e.margin.split(" ");switch(t.length){case 1:e["margin-top"]=e["margin-top"]||t[0],e["margin-right"]=e["margin-right"]||t[0],e["margin-bottom"]=e["margin-bottom"]||t[0],e["margin-left"]=e["margin-left"]||t[0];break;case 2:e["margin-top"]=e["margin-top"]||t[0],e["margin-right"]=e["margin-right"]||t[1],e["margin-bottom"]=e["margin-bottom"]||t[0],e["margin-left"]=e["margin-left"]||t[1];break;case 3:e["margin-top"]=e["margin-top"]||t[0],e["margin-right"]=e["margin-right"]||t[1],e["margin-bottom"]=e["margin-bottom"]||t[2],e["margin-left"]=e["margin-left"]||t[1];break;case 4:e["margin-top"]=e["margin-top"]||t[0],e["margin-right"]=e["margin-right"]||t[1],e["margin-bottom"]=e["margin-bottom"]||t[2],e["margin-left"]=e["margin-left"]||t[3]}delete e.margin}return e},createImageList:function(e,t){var a=n.getImageList(e);"string"==typeof a?c.send({url:a,success:function(e){t(JSON.parse(e))}}):"function"==typeof a?a(t):t(a)},waitLoadImage:function(e,t,a){function i(){a.onload=a.onerror=null,e.selection&&(e.selection.select(a),e.nodeChanged())}a.onload=function(){t.width||t.height||!n.hasDimensions(e)||e.dom.setAttribs(a,{width:a.clientWidth,height:a.clientHeight}),i()},a.onerror=i},blobToDataUri:function(e){return new s(function(t,n){var a=new l;a.onload=function(){t(a.result)},a.onerror=function(){n(l.error.message)},a.readAsDataURL(e)})}},d={makeTab:function(e,t){return{title:"Advanced",type:"form",pack:"start",items:[{label:"Style",name:"style",type:"textbox",onchange:(a=e,function(e){var t=a.dom,i=e.control.rootControl;if(n.hasAdvTab(a)){var r=i.toJSON(),o=t.parseStyle(r.style);i.find("#vspace").value(""),i.find("#hspace").value(""),((o=g.mergeMargins(o))["margin-top"]&&o["margin-bottom"]||o["margin-right"]&&o["margin-left"])&&(o["margin-top"]===o["margin-bottom"]?i.find("#vspace").value(g.removePixelSuffix(o["margin-top"])):i.find("#vspace").value(""),o["margin-right"]===o["margin-left"]?i.find("#hspace").value(g.removePixelSuffix(o["margin-right"])):i.find("#hspace").value("")),o["border-width"]&&i.find("#border").value(g.removePixelSuffix(o["border-width"])),i.find("#style").value(t.serializeStyle(t.parseStyle(t.serializeStyle(o))))}})},{type:"form",layout:"grid",packV:"start",columns:2,padding:0,alignH:["left","right"],defaults:{type:"textbox",maxWidth:50,onchange:function(n){t(e,n.control.rootControl)}},items:[{label:"Vertical space",name:"vspace"},{label:"Horizontal space",name:"hspace"},{label:"Border",name:"border"}]}]};var a}},m=function(e,t){e.state.set("oldVal",e.value()),t.state.set("oldVal",t.value())},f=function(e,t){var n=e.find("#width")[0],a=e.find("#height")[0],i=e.find("#constrain")[0];n&&a&&i&&t(n,a,i.checked())},p=function(e,t,n){var a=e.state.get("oldVal"),i=t.state.get("oldVal"),r=e.value(),o=t.value();n&&a&&i&&r&&o&&(r!==a?(o=Math.round(r/a*o),isNaN(o)||t.value(o)):(r=Math.round(o/i*r),isNaN(r)||e.value(r))),m(e,t)},h=function(e){f(e,p)},b={createUi:function(){var e=function(e){h(e.control.rootControl)};return{type:"container",label:"Dimensions",layout:"flex",align:"center",spacing:5,items:[{name:"width",type:"textbox",maxLength:5,size:5,onchange:e,ariaLabel:"Width"},{type:"label",text:"x"},{name:"height",type:"textbox",maxLength:5,size:5,onchange:e,ariaLabel:"Height"},{name:"constrain",type:"checkbox",checked:!0,text:"Constrain proportions"}]}},syncSize:function(e){f(e,m)},updateSize:h},v=function(e){e.meta=e.control.rootControl.toJSON()},y=function(e,a){var i=[{name:"src",type:"filepicker",filetype:"image",label:"Source",autofocus:!0,onchange:function(a){var i,r,o,l,s,c,u,d,m;r=e,c=(i=a).meta||{},u=i.control,d=u.rootControl,(m=d.find("#image-list")[0])&&m.value(r.convertURL(u.value(),"src")),t.each(c,function(e,t){d.find("#"+t).value(e)}),c.width||c.height||(o=r.convertURL(u.value(),"src"),l=n.getPrependUrl(r),s=new RegExp("^(?:[a-z]+:)?//","i"),l&&!s.test(o)&&o.substring(0,l.length)!==l&&(o=l+o),u.value(o),g.getImageSize(r.documentBaseURI.toAbsolute(u.value()),function(e){e.width&&e.height&&n.hasDimensions(r)&&(d.find("#width").value(e.width),d.find("#height").value(e.height),b.updateSize(d))}))},onbeforecall:v},a];return n.hasDescription(e)&&i.push({name:"alt",type:"textbox",label:"Image description"}),n.hasImageTitle(e)&&i.push({name:"title",type:"textbox",label:"Image Title"}),n.hasDimensions(e)&&i.push(b.createUi()),n.getClassList(e)&&i.push({name:"class",type:"listbox",label:"Class",values:g.buildListItems(n.getClassList(e),function(t){t.value&&(t.textStyle=function(){return e.formatter.getCssText({inline:"img",classes:[t.value]})})})}),n.hasImageCaption(e)&&i.push({name:"caption",type:"checkbox",label:"Caption"}),i},x={makeTab:function(e,t){return{title:"General",type:"form",items:y(e,t)}},getGeneralItems:y},w=function(){return o("URL")},S=function(e){return w().createObjectURL(e)},U=function(e){w().revokeObjectURL(e)},T=tinymce.util.Tools.resolve("tinymce.ui.Factory"),C=function(){},I=function(e){var n=function(t,n,a,i){var r,l;(r=new function(){return new(o("XMLHttpRequest"))}).open("POST",e.url),r.withCredentials=e.credentials,r.upload.onprogress=function(e){i(e.loaded/e.total*100)},r.onerror=function(){a("Image upload failed due to a XHR Transport error. Code: "+r.status)},r.onload=function(){var t,i,o;r.status<200||r.status>=300?a("HTTP Error: "+r.status):(t=JSON.parse(r.responseText))&&"string"==typeof t.location?n((i=e.basePath,o=t.location,i?i.replace(/\/$/,"")+"/"+o.replace(/^\//,""):o)):a("Invalid JSON: "+r.responseText)},(l=new FormData).append("file",t.blob(),t.filename()),r.send(l)};return e=t.extend({credentials:!1,handler:n},e),{upload:function(t){return e.url||e.handler!==n?(a=t,i=e.handler,new s(function(e,t){try{i(a,e,t,C)}catch(n){t(n.message)}})):s.reject("Upload url missing from the settings.");var a,i}}},P=function(e){return function(t){var a=T.get("Throbber"),i=t.control.rootControl,r=new a(i.getEl()),o=t.control.value(),l=S(o),s=I({url:n.getUploadUrl(e),basePath:n.getUploadBasePath(e),credentials:n.getUploadCredentials(e),handler:n.getUploadHandler(e)}),c=function(){r.hide(),U(l)};return r.show(),g.blobToDataUri(o).then(function(t){var n=e.editorUpload.blobCache.create({blob:o,blobUri:l,name:o.name?o.name.replace(/\.[^\.]+$/,""):null,base64:t.split(",")[1]});return s.upload(n).then(function(e){var t=i.find("#src");return t.value(e),i.find("tabpanel")[0].activateTab(0),t.fire("change"),c(),e})})["catch"](function(t){e.windowManager.alert(t),c()})}},L=".jpg,.jpeg,.png,.gif",_={makeTab:function(e){return{title:"Upload",type:"form",layout:"flex",direction:"column",align:"stretch",padding:"20 20 20 20",items:[{type:"container",layout:"flex",direction:"column",align:"center",spacing:10,items:[{text:"Browse for an image",type:"browsebutton",accept:L,onchange:P(e)},{text:"OR",type:"label"}]},{text:"Drop an image here",type:"dropzone",accept:L,height:100,onchange:P(e)}]}}},N=function(e){var a=function(e,t){if(n.hasAdvTab(e)){var a=e.dom,i=t.toJSON(),r=a.parseStyle(i.style);r=g.mergeMargins(r),i.vspace&&(r["margin-top"]=r["margin-bottom"]=g.addPixelSuffix(i.vspace)),i.hspace&&(r["margin-left"]=r["margin-right"]=g.addPixelSuffix(i.hspace)),i.border&&(r["border-width"]=g.addPixelSuffix(i.border)),t.find("#style").value(a.serializeStyle(a.parseStyle(a.serializeStyle(r))))}};function i(i){var r,o,l,s,c={},u=e.dom;function m(){var n,i;b.updateSize(r),a(e,r),(c=t.extend(c,r.toJSON())).alt||(c.alt=""),c.title||(c.title=""),""===c.width&&(c.width=null),""===c.height&&(c.height=null),c.style||(c.style=null),c={src:c.src,alt:c.alt,title:c.title,width:c.width,height:c.height,style:c.style,caption:c.caption,"class":c["class"]},e.undoManager.transact(function(){if(c.src){if(""===c.title&&(c.title=null),o?u.setAttribs(o,c):(c.id="__mcenew",e.focus(),e.selection.setContent(u.createHTML("img",c)),o=u.get("__mcenew"),u.setAttrib(o,"id",null)),e.editorUpload.uploadImagesAuto(),!1===c.caption&&u.is(o.parentNode,"figure.image")&&(n=o.parentNode,u.insertAfter(o,n),u.remove(n)),!0!==c.caption)g.waitLoadImage(e,c,o);else if(!u.is(o.parentNode,"figure.image")){i=o,o=o.cloneNode(!0),(n=u.create("figure",{"class":"image"})).appendChild(o),n.appendChild(u.create("figcaption",{contentEditable:!0},"Caption")),n.contentEditable=!1;var t=u.getParent(i,function(t){return e.schema.getTextBlockElements()[t.nodeName]});t?u.split(t,i,n):u.replace(n,i),e.selection.select(n)}}else if(o){var a=u.is(o.parentNode,"figure.image")?o.parentNode:o;u.remove(a),e.focus(),e.nodeChanged(),u.isEmpty(e.getBody())&&(e.setContent(""),e.selection.setCursorLocation())}})}if(o=e.selection.getNode(),(l=u.getParent(o,"figure.image"))&&(o=u.select("img",l)[0]),o&&("IMG"!==o.nodeName||o.getAttribute("data-mce-object")||o.getAttribute("data-mce-placeholder"))&&(o=null),o&&(c={src:u.getAttrib(o,"src"),alt:u.getAttrib(o,"alt"),title:u.getAttrib(o,"title"),"class":u.getAttrib(o,"class"),width:u.getAttrib(o,"width"),height:u.getAttrib(o,"height"),caption:!!l}),i&&(s={type:"listbox",label:"Image list",name:"image-list",values:g.buildListItems(i,function(t){t.value=e.convertURL(t.value||t.url,"src")},[{text:"None",value:""}]),value:c.src&&e.convertURL(c.src,"src"),onselect:function(e){var t=r.find("#alt");(!t.value()||e.lastControl&&t.value()===e.lastControl.text())&&t.value(e.control.text()),r.find("#src").value(e.control.value()).fire("change")},onPostRender:function(){s=this}}),n.hasAdvTab(e)||n.hasUploadUrl(e)||n.hasUploadHandler(e)){var f=[x.makeTab(e,s)];n.hasAdvTab(e)&&(o&&(o.style.marginLeft&&o.style.marginRight&&o.style.marginLeft===o.style.marginRight&&(c.hspace=g.removePixelSuffix(o.style.marginLeft)),o.style.marginTop&&o.style.marginBottom&&o.style.marginTop===o.style.marginBottom&&(c.vspace=g.removePixelSuffix(o.style.marginTop)),o.style.borderWidth&&(c.border=g.removePixelSuffix(o.style.borderWidth)),c.style=e.dom.serializeStyle(e.dom.parseStyle(e.dom.getAttrib(o,"style")))),f.push(d.makeTab(e,a))),(n.hasUploadUrl(e)||n.hasUploadHandler(e))&&f.push(_.makeTab(e)),r=e.windowManager.open({title:"Insert/edit image",data:c,bodyType:"tabpanel",body:f,onSubmit:m})}else r=e.windowManager.open({title:"Insert/edit image",data:c,body:x.getGeneralItems(e,s),onSubmit:m});b.syncSize(r)}return{open:function(){g.createImageList(e,i)}}},A=function(e){e.addCommand("mceImage",N(e).open)},k=function(e){return function(n){for(var a,i,r=n.length,o=function(t){t.attr("contenteditable",e?"true":null)};r--;)a=n[r],(i=a.attr("class"))&&/\bimage\b/.test(i)&&(a.attr("contenteditable",e?"false":null),t.each(a.getAll("figcaption"),o))}},z=function(e){e.on("preInit",function(){e.parser.addNodeFilter("figure",k(!0)),e.serializer.addNodeFilter("figure",k(!1))})},R=function(e){e.addButton("image",{icon:"image",tooltip:"Insert/edit image",onclick:N(e).open,stateSelector:"img:not([data-mce-object],[data-mce-placeholder]),figure.image"}),e.addMenuItem("image",{icon:"image",text:"Image",onclick:N(e).open,context:"insert",prependToContext:!0})};e.add("image",function(e){z(e),R(e),A(e)})}();!function(){"use strict";var n=function(n){n.addCommand("InsertHorizontalRule",function(){n.execCommand("mceInsertContent",!1,"<hr />")})},t=function(n){n.addButton("hr",{icon:"hr",tooltip:"Horizontal line",cmd:"InsertHorizontalRule"}),n.addMenuItem("hr",{icon:"hr",text:"Horizontal line",cmd:"InsertHorizontalRule",context:"insert"})};tinymce.util.Tools.resolve("tinymce.PluginManager").add("hr",function(o){n(o),t(o)})}();!function(){"use strict";var e=function(t){var n=t,i=function(){return n};return{get:i,set:function(e){n=e},clone:function(){return e(i())}}},t=tinymce.util.Tools.resolve("tinymce.PluginManager"),n=function(e){return{isFullscreen:function(){return null!==e.get()}}},i=function(e,t){e.fire("FullscreenStateChanged",{state:t})},r=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils").DOM,l=function(e,t){var n,l,o,c,s,u,d=document.body,a=document.documentElement,h=t.get(),f=function(){var e,t,n,i;r.setStyle(o,"height",(n=window,i=document.body,i.offsetWidth&&(e=i.offsetWidth,t=i.offsetHeight),n.innerWidth&&n.innerHeight&&(e=n.innerWidth,t=n.innerHeight),{w:e,h:t}).h-(l.clientHeight-o.clientHeight))},m=function(){r.unbind(window,"resize",f)};if(n=(l=e.getContainer()).style,c=(o=e.getContentAreaContainer().firstChild).style,h)c.width=h.iframeWidth,c.height=h.iframeHeight,h.containerWidth&&(n.width=h.containerWidth),h.containerHeight&&(n.height=h.containerHeight),r.removeClass(d,"mce-fullscreen"),r.removeClass(a,"mce-fullscreen"),r.removeClass(l,"mce-fullscreen"),s=h.scrollPos,window.scrollTo(s.x,s.y),r.unbind(window,"resize",h.resizeHandler),e.off("remove",h.removeHandler),t.set(null),i(e,!1);else{var g={scrollPos:(u=r.getViewPort(),{x:u.x,y:u.y}),containerWidth:n.width,containerHeight:n.height,iframeWidth:c.width,iframeHeight:c.height,resizeHandler:f,removeHandler:m};c.width=c.height="100%",n.width=n.height="",r.addClass(d,"mce-fullscreen"),r.addClass(a,"mce-fullscreen"),r.addClass(l,"mce-fullscreen"),r.bind(window,"resize",f),e.on("remove",m),f(),t.set(g),i(e,!0)}},o=function(e,t){e.addCommand("mceFullScreen",function(){l(e,t)})},c=function(e){return function(t){var n=t.control;e.on("FullscreenStateChanged",function(e){n.active(e.state)})}},s=function(e){e.addMenuItem("fullscreen",{text:"Fullscreen",shortcut:"Ctrl+Shift+F",selectable:!0,cmd:"mceFullScreen",onPostRender:c(e),context:"view"}),e.addButton("fullscreen",{active:!1,tooltip:"Fullscreen",cmd:"mceFullScreen",onPostRender:c(e)})};t.add("fullscreen",function(t){var i=e(null);return o(t,i),s(t),t.addShortcut("Ctrl+Shift+F","","mceFullScreen"),n(i)})}();!function(){"use strict";var e=function(t){var n=t,l=function(){return n};return{get:l,set:function(e){n=e},clone:function(){return e(l())}}},t=tinymce.util.Tools.resolve("tinymce.PluginManager"),n=tinymce.util.Tools.resolve("tinymce.util.Tools"),l=tinymce.util.Tools.resolve("tinymce.html.DomParser"),i=tinymce.util.Tools.resolve("tinymce.html.Node"),r=tinymce.util.Tools.resolve("tinymce.html.Serializer"),o=function(e){return e.getParam("fullpage_hide_in_source_view")},a=function(e){return e.getParam("fullpage_default_xml_pi")},c=function(e){return e.getParam("fullpage_default_encoding")},s=function(e){return e.getParam("fullpage_default_font_family")},u=function(e){return e.getParam("fullpage_default_font_size")},d=function(e){return e.getParam("fullpage_default_text_color")},f=function(e){return e.getParam("fullpage_default_title")},g=function(e){return e.getParam("fullpage_default_doctype","<!DOCTYPE html>")},m=function(e){return l({validate:!1,root_name:"#document"}).parse(e)},h=m,p=function(e,t){var l,i,r=m(t),o={};function a(e,t){return e.attr(t)||""}return o.fontface=s(e),o.fontsize=u(e),7===(l=r.firstChild).type&&(o.xml_pi=!0,(i=/encoding="([^"]+)"/.exec(l.value))&&(o.docencoding=i[1])),(l=r.getAll("#doctype")[0])&&(o.doctype="<!DOCTYPE"+l.value+">"),(l=r.getAll("title")[0])&&l.firstChild&&(o.title=l.firstChild.value),n.each(r.getAll("meta"),function(e){var t,n=e.attr("name"),l=e.attr("http-equiv");n?o[n.toLowerCase()]=e.attr("content"):"Content-Type"===l&&(t=/charset\s*=\s*(.*)\s*/gi.exec(e.attr("content")))&&(o.docencoding=t[1])}),(l=r.getAll("html")[0])&&(o.langcode=a(l,"lang")||a(l,"xml:lang")),o.stylesheets=[],n.each(r.getAll("link"),function(e){"stylesheet"===e.attr("rel")&&o.stylesheets.push(e.attr("href"))}),(l=r.getAll("body")[0])&&(o.langdir=a(l,"dir"),o.style=a(l,"style"),o.visited_color=a(l,"vlink"),o.link_color=a(l,"link"),o.active_color=a(l,"alink")),o},y=function(e,t,l){var o,a,c,s,u,d=e.dom;function f(e,t,n){e.attr(t,n||undefined)}function g(e){a.firstChild?a.insert(e,a.firstChild):a.append(e)}o=m(l),(a=o.getAll("head")[0])||(s=o.getAll("html")[0],a=new i("head",1),s.firstChild?s.insert(a,s.firstChild,!0):s.append(a)),s=o.firstChild,t.xml_pi?(u='version="1.0"',t.docencoding&&(u+=' encoding="'+t.docencoding+'"'),7!==s.type&&(s=new i("xml",7),o.insert(s,o.firstChild,!0)),s.value=u):s&&7===s.type&&s.remove(),s=o.getAll("#doctype")[0],t.doctype?(s||(s=new i("#doctype",10),t.xml_pi?o.insert(s,o.firstChild):g(s)),s.value=t.doctype.substring(9,t.doctype.length-1)):s&&s.remove(),s=null,n.each(o.getAll("meta"),function(e){"Content-Type"===e.attr("http-equiv")&&(s=e)}),t.docencoding?(s||((s=new i("meta",1)).attr("http-equiv","Content-Type"),s.shortEnded=!0,g(s)),s.attr("content","text/html; charset="+t.docencoding)):s&&s.remove(),s=o.getAll("title")[0],t.title?(s?s.empty():g(s=new i("title",1)),s.append(new i("#text",3)).value=t.title):s&&s.remove(),n.each("keywords,description,author,copyright,robots".split(","),function(e){var n,l,r=o.getAll("meta"),a=t[e];for(n=0;n<r.length;n++)if((l=r[n]).attr("name")===e)return void(a?l.attr("content",a):l.remove());a&&((s=new i("meta",1)).attr("name",e),s.attr("content",a),s.shortEnded=!0,g(s))});var h={};return n.each(o.getAll("link"),function(e){"stylesheet"===e.attr("rel")&&(h[e.attr("href")]=e)}),n.each(t.stylesheets,function(e){h[e]||((s=new i("link",1)).attr({rel:"stylesheet",text:"text/css",href:e}),s.shortEnded=!0,g(s)),delete h[e]}),n.each(h,function(e){e.remove()}),(s=o.getAll("body")[0])&&(f(s,"dir",t.langdir),f(s,"style",t.style),f(s,"vlink",t.visited_color),f(s,"link",t.link_color),f(s,"alink",t.active_color),d.setAttribs(e.getBody(),{style:t.style,dir:t.dir,vLink:t.visited_color,link:t.link_color,aLink:t.active_color})),(s=o.getAll("html")[0])&&(f(s,"lang",t.langcode),f(s,"xml:lang",t.langcode)),a.firstChild||a.remove(),(c=r({validate:!1,indent:!0,apply_source_formatting:!0,indent_before:"head,html,body,meta,title,script,link,style",indent_after:"head,html,body,meta,title,script,link,style"}).serialize(o)).substring(0,c.indexOf("</body>"))},v=function(e,t){var l=p(e,t.get());e.windowManager.open({title:"Document properties",data:l,defaults:{type:"textbox",size:40},body:[{name:"title",label:"Title"},{name:"keywords",label:"Keywords"},{name:"description",label:"Description"},{name:"robots",label:"Robots"},{name:"author",label:"Author"},{name:"docencoding",label:"Encoding"}],onSubmit:function(i){var r=y(e,n.extend(l,i.data),t.get());t.set(r)}})},_=function(e,t){e.addCommand("mceFullPageProperties",function(){v(e,t)})},b=function(e,t){return n.each(e,function(e){t=t.replace(e,function(e){return"\x3c!--mce:protected "+escape(e)+"--\x3e"})}),t},x=function(e){return e.replace(/<!--mce:protected ([\s\S]*?)-->/g,function(e,t){return unescape(t)})},k=n.each,C=function(e){return e.replace(/<\/?[A-Z]+/g,function(e){return e.toLowerCase()})},A=function(e){var t,n="",l="";if(a(e)){var i=c(e);n+='<?xml version="1.0" encoding="'+(i||"ISO-8859-1")+'" ?>\n'}return n+=g(e),n+="\n<html>\n<head>\n",(t=f(e))&&(n+="<title>"+t+"</title>\n"),(t=c(e))&&(n+='<meta http-equiv="Content-Type" content="text/html; charset='+t+'" />\n'),(t=s(e))&&(l+="font-family: "+t+";"),(t=u(e))&&(l+="font-size: "+t+";"),(t=d(e))&&(l+="color: "+t+";"),n+="</head>\n<body"+(l?' style="'+l+'"':"")+">\n"},w=function(e,t,l){e.on("BeforeSetContent",function(i){!function(e,t,l,i){var r,a,c,s,u,d="",f=e.dom;if(!(i.selection||(c=b(e.settings.protect,i.content),"raw"===i.format&&t.get()||i.source_view&&o(e)))){0!==c.length||i.source_view||(c=n.trim(t.get())+"\n"+n.trim(c)+"\n"+n.trim(l.get())),-1!==(r=(c=c.replace(/<(\/?)BODY/gi,"<$1body")).indexOf("<body"))?(r=c.indexOf(">",r),t.set(C(c.substring(0,r+1))),-1===(a=c.indexOf("</body",r))&&(a=c.length),i.content=n.trim(c.substring(r+1,a)),l.set(C(c.substring(a)))):(t.set(A(e)),l.set("\n</body>\n</html>")),s=h(t.get()),k(s.getAll("style"),function(e){e.firstChild&&(d+=e.firstChild.value)}),(u=s.getAll("body")[0])&&f.setAttribs(e.getBody(),{style:u.attr("style")||"",dir:u.attr("dir")||"",vLink:u.attr("vlink")||"",link:u.attr("link")||"",aLink:u.attr("alink")||""}),f.remove("fullpage_styles");var g=e.getDoc().getElementsByTagName("head")[0];d&&(f.add(g,"style",{id:"fullpage_styles"},d),(u=f.get("fullpage_styles")).styleSheet&&(u.styleSheet.cssText=d));var m={};n.each(g.getElementsByTagName("link"),function(e){"stylesheet"===e.rel&&e.getAttribute("data-mce-fullpage")&&(m[e.href]=e)}),n.each(s.getAll("link"),function(e){var t=e.attr("href");if(!t)return!0;m[t]||"stylesheet"!==e.attr("rel")||f.add(g,"link",{rel:"stylesheet",text:"text/css",href:t,"data-mce-fullpage":"1"}),delete m[t]}),n.each(m,function(e){e.parentNode.removeChild(e)})}}(e,t,l,i)}),e.on("GetContent",function(i){var r,a,c,s;r=e,a=t.get(),c=l.get(),(s=i).selection||s.source_view&&o(r)||(s.content=x(n.trim(a)+"\n"+n.trim(s.content)+"\n"+n.trim(c)))})},P=function(e){e.addButton("fullpage",{title:"Document properties",cmd:"mceFullPageProperties"}),e.addMenuItem("fullpage",{text:"Document properties",cmd:"mceFullPageProperties",context:"file"})};t.add("fullpage",function(t){var n=e(""),l=e("");_(t,n),P(t),w(t,n,l)})}();!function(){"use strict";var t=tinymce.util.Tools.resolve("tinymce.PluginManager"),e=tinymce.util.Tools.resolve("tinymce.util.Tools"),i=[["cool","cry","embarassed","foot-in-mouth"],["frown","innocent","kiss","laughing"],["money-mouth","sealed","smile","surprised"],["tongue-out","undecided","wink","yell"]],o=function(t){var o;return o='<table role="list" class="mce-grid">',e.each(i,function(i){o+="<tr>",e.each(i,function(e){var i=t+"/img/smiley-"+e+".gif";o+='<td><a href="#" data-mce-url="'+i+'" data-mce-alt="'+e+'" tabindex="-1" role="option" aria-label="'+e+'"><img src="'+i+'" style="width: 18px; height: 18px" role="presentation" /></a></td>'}),o+="</tr>"}),o+="</table>"},n=function(t,e){var i=o(e);t.addButton("emoticons",{type:"panelbutton",panel:{role:"application",autohide:!0,html:i,onclick:function(e){var i,o,n,a=t.dom.getParent(e.target,"a");a&&(i=t,o=a.getAttribute("data-mce-url"),n=a.getAttribute("data-mce-alt"),i.insertContent(i.dom.createHTML("img",{src:o,alt:n})),this.hide())}},tooltip:"Emoticons"})};t.add("emoticons",function(t,e){n(t,e)})}();!function(){"use strict";var t=tinymce.util.Tools.resolve("tinymce.PluginManager"),e=tinymce.util.Tools.resolve("tinymce.util.Tools"),i=function(t,i){var n,o=t.dom,c=t.selection.getSelectedBlocks();c.length&&(n=o.getAttrib(c[0],"dir"),e.each(c,function(t){o.getParent(t.parentNode,'*[dir="'+i+'"]',o.getRoot())||o.setAttrib(t,"dir",n!==i?i:null)}),t.nodeChanged())},n=function(t){t.addCommand("mceDirectionLTR",function(){i(t,"ltr")}),t.addCommand("mceDirectionRTL",function(){i(t,"rtl")})},o=function(t){var i=[];return e.each("h1 h2 h3 h4 h5 h6 div p".split(" "),function(e){i.push(e+"[dir="+t+"]")}),i.join(",")},c=function(t){t.addButton("ltr",{title:"Left to right",cmd:"mceDirectionLTR",stateSelector:o("ltr")}),t.addButton("rtl",{title:"Right to left",cmd:"mceDirectionRTL",stateSelector:o("rtl")})};t.add("directionality",function(t){n(t),c(t)})}();!function(){"use strict";var t=function(n){var e=n,o=function(){return e};return{get:o,set:function(t){e=t},clone:function(){return t(o())}}},n=tinymce.util.Tools.resolve("tinymce.PluginManager"),e=function(t){return{isContextMenuVisible:function(){return t.get()}}},o=function(t){return t.settings.contextmenu_never_use_native},r=function(t){return t.getParam("contextmenu","link openlink image inserttable | cell row column deletetable")},i=tinymce.util.Tools.resolve("tinymce.Env"),u=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),c=function(t,n){return{x:t,y:n}},l=function(t,n,e){return c(t.x+n,t.y+e)},s=function(t,n){if(t&&"static"!==u.DOM.getStyle(t,"position",!0)){var e=u.DOM.getPos(t),o=e.x-t.scrollLeft,r=e.y-t.scrollTop;return l(n,-o,-r)}return l(n,0,0)},a=function(t){return i.container},f=function(t,n){if(t.inline)return s(a(),c((f=n).pageX,f.pageY));var e,o,r,i,f,m=(e=t.getContentAreaContainer(),o=c((i=n).clientX,i.clientY),r=u.DOM.getPos(e),l(o,r.x,r.y));return s(a(),m)},m=tinymce.util.Tools.resolve("tinymce.ui.Factory"),v=tinymce.util.Tools.resolve("tinymce.util.Tools"),g=function(t,n,e,o){null===o.get()?o.set(function(t,n){var e,o,i=[];o=r(t),v.each(o.split(/[ ,]/),function(n){var e=t.menuItems[n];"|"===n&&(e={text:n}),e&&(e.shortcut="",i.push(e))});for(var u=0;u<i.length;u++)"|"===i[u].text&&(0!==u&&u!==i.length-1||i.splice(u,1));return(e=m.create("menu",{items:i,context:"contextmenu",classes:"contextmenu"}).renderTo()).on("hide",function(t){t.control===this&&n.set(!1)}),t.on("remove",function(){e.remove(),e=null}),e}(t,e)):o.get().show(),o.get().moveTo(n.x,n.y),e.set(!0)},y=function(t,n,e){t.on("contextmenu",function(r){var i;i=t,(!r.ctrlKey||o(i))&&(r.preventDefault(),g(t,f(t,r),n,e))})};n.add("contextmenu",function(n){var o=t(null),r=t(!1);return y(n,r,o),e(r)})}();!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),n=tinymce.util.Tools.resolve("tinymce.util.Color"),i=function(e,n){e.find("#preview")[0].getEl().style.background=n},t=function(e,t){var l=n(t),a=l.toRgb();e.fromJSON({r:a.r,g:a.g,b:a.b,hex:l.toHex().substr(1)}),i(e,l.toHex())},l=function(e,n,l){var a=e.windowManager.open({title:"Color",items:{type:"container",layout:"flex",direction:"row",align:"stretch",padding:5,spacing:10,items:[{type:"colorpicker",value:l,onchange:function(){var e=this.rgb();a&&(a.find("#r").value(e.r),a.find("#g").value(e.g),a.find("#b").value(e.b),a.find("#hex").value(this.value().substr(1)),i(a,this.value()))}},{type:"form",padding:0,labelGap:5,defaults:{type:"textbox",size:7,value:"0",flex:1,spellcheck:!1,onchange:function(){var e,n,i=a.find("colorpicker")[0];if(e=this.name(),n=this.value(),"hex"===e)return t(a,n="#"+n),void i.value(n);n={r:a.find("#r").value(),g:a.find("#g").value(),b:a.find("#b").value()},i.value(n),t(a,n)}},items:[{name:"r",label:"R",autofocus:1},{name:"g",label:"G"},{name:"b",label:"B"},{name:"hex",label:"#",value:"000000"},{name:"preview",type:"container",border:1}]}]},onSubmit:function(){n("#"+a.toJSON().hex)}});t(a,l)};e.add("colorpicker",function(e){e.settings.color_picker_callback||(e.settings.color_picker_callback=function(n,i){l(e,n,i)})})}();!function(){"use strict";var e=function(t){var a=t,n=function(){return a};return{get:n,set:function(e){a=e},clone:function(){return e(n())}}},t=tinymce.util.Tools.resolve("tinymce.PluginManager"),a=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),n=function(e){return e.settings.codesample_content_css},i=function(e){return e.settings.codesample_languages},r=function(e){return Math.min(a.DOM.getViewPort().w,e.getParam("codesample_dialog_width",800))},s=function(e){return Math.min(a.DOM.getViewPort().w,e.getParam("codesample_dialog_height",650))},o={},l=void 0!==o?o:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},c=function(){var e=/\blang(?:uage)?-(?!\*)(\w+)\b/i,t=l.Prism={util:{encode:function(e){return e instanceof a?new a(e.type,t.util.encode(e.content),e.alias):"Array"===t.util.type(e)?e.map(t.util.encode):e.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(e){return Object.prototype.toString.call(e).match(/\[object (\w+)\]/)[1]},clone:function(e){switch(t.util.type(e)){case"Object":var a={};for(var n in e)e.hasOwnProperty(n)&&(a[n]=t.util.clone(e[n]));return a;case"Array":return e.map&&e.map(function(e){return t.util.clone(e)})}return e}},languages:{extend:function(e,a){var n=t.util.clone(t.languages[e]);for(var i in a)n[i]=a[i];return n},insertBefore:function(e,a,n,i){var r=(i=i||t.languages)[e];if(2===arguments.length){for(var s in n=arguments[1])n.hasOwnProperty(s)&&(r[s]=n[s]);return r}var o={};for(var l in r)if(r.hasOwnProperty(l)){if(l===a)for(var s in n)n.hasOwnProperty(s)&&(o[s]=n[s]);o[l]=r[l]}return t.languages.DFS(t.languages,function(t,a){a===i[e]&&t!==e&&(this[t]=o)}),i[e]=o},DFS:function(e,a,n){for(var i in e)e.hasOwnProperty(i)&&(a.call(e,i,e[i],n||i),"Object"===t.util.type(e[i])?t.languages.DFS(e[i],a):"Array"===t.util.type(e[i])&&t.languages.DFS(e[i],a,i))}},plugins:{},highlightAll:function(e,a){for(var n=document.querySelectorAll('code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'),i=0,r=void 0;r=n[i++];)t.highlightElement(r,!0===e,a)},highlightElement:function(a,n,i){for(var r,s,o=a;o&&!e.test(o.className);)o=o.parentNode;o&&(r=(o.className.match(e)||[,""])[1],s=t.languages[r]),a.className=a.className.replace(e,"").replace(/\s+/g," ")+" language-"+r,o=a.parentNode,/pre/i.test(o.nodeName)&&(o.className=o.className.replace(e,"").replace(/\s+/g," ")+" language-"+r);var c=a.textContent,u={element:a,language:r,grammar:s,code:c};if(c&&s)if(t.hooks.run("before-highlight",u),n&&l.Worker){var g=new Worker(t.filename);g.onmessage=function(e){u.highlightedCode=e.data,t.hooks.run("before-insert",u),u.element.innerHTML=u.highlightedCode,i&&i.call(u.element),t.hooks.run("after-highlight",u),t.hooks.run("complete",u)},g.postMessage(JSON.stringify({language:u.language,code:u.code,immediateClose:!0}))}else u.highlightedCode=t.highlight(u.code,u.grammar,u.language),t.hooks.run("before-insert",u),u.element.innerHTML=u.highlightedCode,i&&i.call(a),t.hooks.run("after-highlight",u),t.hooks.run("complete",u);else t.hooks.run("complete",u)},highlight:function(e,n,i){var r=t.tokenize(e,n);return a.stringify(t.util.encode(r),i)},tokenize:function(e,a,n){var i=t.Token,r=[e],s=a.rest;if(s){for(var o in s)a[o]=s[o];delete a.rest}e:for(var o in a)if(a.hasOwnProperty(o)&&a[o]){var l=a[o];l="Array"===t.util.type(l)?l:[l];for(var c=0;c<l.length;++c){var u=l[c],g=u.inside,d=!!u.lookbehind,p=0,f=u.alias;u=u.pattern||u;for(var h=0;h<r.length;h++){var m=r[h];if(r.length>e.length)break e;if(!(m instanceof i)){u.lastIndex=0;var b=u.exec(m);if(b){d&&(p=b[1].length);var y=b.index-1+p,v=y+(b=b[0].slice(p)).length,k=m.slice(0,y+1),w=m.slice(v+1),x=[h,1];k&&x.push(k);var S=new i(o,g?t.tokenize(b,g):b,f);x.push(S),w&&x.push(w),Array.prototype.splice.apply(r,x)}}}}}return r},hooks:{all:{},add:function(e,a){var n=t.hooks.all;n[e]=n[e]||[],n[e].push(a)},run:function(e,a){var n=t.hooks.all[e];if(n&&n.length)for(var i=0,r=void 0;r=n[i++];)r(a)}}},a=t.Token=function(e,t,a){this.type=e,this.content=t,this.alias=a};if(a.stringify=function(e,n,i){if("string"==typeof e)return e;if("Array"===t.util.type(e))return e.map(function(t){return a.stringify(t,n,e)}).join("");var r={type:e.type,content:a.stringify(e.content,n,i),tag:"span",classes:["token",e.type],attributes:{},language:n,parent:i};if("comment"===r.type&&(r.attributes.spellcheck="true"),e.alias){var s="Array"===t.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(r.classes,s)}t.hooks.run("wrap",r);var o="";for(var l in r.attributes)o+=(o?" ":"")+l+'="'+(r.attributes[l]||"")+'"';return"<"+r.tag+' class="'+r.classes.join(" ")+'" '+o+">"+r.content+"</"+r.tag+">"},!l.document)return l.addEventListener?(l.addEventListener("message",function(e){var a=JSON.parse(e.data),n=a.language,i=a.code,r=a.immediateClose;l.postMessage(t.highlight(i,t.languages[n],n)),r&&l.close()},!1),l.Prism):l.Prism}();"undefined"!=typeof module&&module.exports&&(module.exports=c),"undefined"!=typeof global&&(global.Prism=c),c.languages.markup={comment:/<!--[\w\W]*?-->/,prolog:/<\?[\w\W]+?\?>/,doctype:/<!DOCTYPE[\w\W]+?>/,cdata:/<!\[CDATA\[[\w\W]*?]]>/i,tag:{pattern:/<\/?[^\s>\/=.]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\\1|\\?(?!\1)[\w\W])*\1|[^\s'">=]+))?)*\s*\/?>/i,inside:{tag:{pattern:/^<\/?[^\s>\/]+/i,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=(?:('|")[\w\W]*?(\1)|[^\s>]+)/i,inside:{punctuation:/[=>"']/}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:/&#?[\da-z]{1,8};/i},c.hooks.add("wrap",function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))}),c.languages.xml=c.languages.markup,c.languages.html=c.languages.markup,c.languages.mathml=c.languages.markup,c.languages.svg=c.languages.markup,c.languages.css={comment:/\/\*[\w\W]*?\*\//,atrule:{pattern:/@[\w-]+?.*?(;|(?=\s*\{))/i,inside:{rule:/@[\w-]+/}},url:/url\((?:(["'])(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1|.*?)\)/i,selector:/[^\{\}\s][^\{\};]*?(?=\s*\{)/,string:/("|')(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1/,property:/(\b|\B)[\w-]+(?=\s*:)/i,important:/\B!important\b/i,"function":/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:]/},c.languages.css.atrule.inside.rest=c.util.clone(c.languages.css),c.languages.markup&&(c.languages.insertBefore("markup","tag",{style:{pattern:/<style[\w\W]*?>[\w\W]*?<\/style>/i,inside:{tag:{pattern:/<style[\w\W]*?>|<\/style>/i,inside:c.languages.markup.tag.inside},rest:c.languages.css},alias:"language-css"}}),c.languages.insertBefore("inside","attr-value",{"style-attr":{pattern:/\s*style=("|').*?\1/i,inside:{"attr-name":{pattern:/^\s*style/i,inside:c.languages.markup.tag.inside},punctuation:/^\s*=\s*['"]|['"]\s*$/,"attr-value":{pattern:/.+/i,inside:c.languages.css}},alias:"language-css"}},c.languages.markup.tag)),c.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\w\W]*?\*\//,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0}],string:/(["'])(\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,"class-name":{pattern:/((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[a-z0-9_\.\\]+/i,lookbehind:!0,inside:{punctuation:/(\.|\\)/}},keyword:/\b(if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,"boolean":/\b(true|false)\b/,"function":/[a-z0-9_]+(?=\()/i,number:/\b-?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)\b/i,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,punctuation:/[{}[\];(),.:]/},c.languages.javascript=c.languages.extend("clike",{keyword:/\b(as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/,number:/\b-?(0x[\dA-Fa-f]+|0b[01]+|0o[0-7]+|\d*\.?\d+([Ee][+-]?\d+)?|NaN|Infinity)\b/,"function":/[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*(?=\()/i}),c.languages.insertBefore("javascript","keyword",{regex:{pattern:/(^|[^/])\/(?!\/)(\[.+?]|\\.|[^/\\\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})]))/,lookbehind:!0}}),c.languages.insertBefore("javascript","class-name",{"template-string":{pattern:/`(?:\\`|\\?[^`])*`/,inside:{interpolation:{pattern:/\$\{[^}]+\}/,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:c.languages.javascript}},string:/[\s\S]+/}}}),c.languages.markup&&c.languages.insertBefore("markup","tag",{script:{pattern:/<script[\w\W]*?>[\w\W]*?<\/script>/i,inside:{tag:{pattern:/<script[\w\W]*?>|<\/script>/i,inside:c.languages.markup.tag.inside},rest:c.languages.javascript},alias:"language-javascript"}}),c.languages.js=c.languages.javascript,c.languages.c=c.languages.extend("clike",{keyword:/\b(asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while)\b/,operator:/\-[>-]?|\+\+?|!=?|<<?=?|>>?=?|==?|&&?|\|?\||[~^%?*\/]/,number:/\b-?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)[ful]*\b/i}),c.languages.insertBefore("c","string",{macro:{pattern:/(^\s*)#\s*[a-z]+([^\r\n\\]|\\.|\\(?:\r\n?|\n))*/im,lookbehind:!0,alias:"property",inside:{string:{pattern:/(#\s*include\s*)(<.+?>|("|')(\\?.)+?\3)/,lookbehind:!0}}}}),delete c.languages.c["class-name"],delete c.languages.c["boolean"],c.languages.csharp=c.languages.extend("clike",{keyword:/\b(abstract|as|async|await|base|bool|break|byte|case|catch|char|checked|class|const|continue|decimal|default|delegate|do|double|else|enum|event|explicit|extern|false|finally|fixed|float|for|foreach|goto|if|implicit|in|int|interface|internal|is|lock|long|namespace|new|null|object|operator|out|override|params|private|protected|public|readonly|ref|return|sbyte|sealed|short|sizeof|stackalloc|static|string|struct|switch|this|throw|true|try|typeof|uint|ulong|unchecked|unsafe|ushort|using|virtual|void|volatile|while|add|alias|ascending|async|await|descending|dynamic|from|get|global|group|into|join|let|orderby|partial|remove|select|set|value|var|where|yield)\b/,string:[/@("|')(\1\1|\\\1|\\?(?!\1)[\s\S])*\1/,/("|')(\\?.)*?\1/],number:/\b-?(0x[\da-f]+|\d*\.?\d+)\b/i}),c.languages.insertBefore("csharp","keyword",{preprocessor:{pattern:/(^\s*)#.*/m,lookbehind:!0}}),c.languages.cpp=c.languages.extend("c",{keyword:/\b(alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|class|compl|const|constexpr|const_cast|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,"boolean":/\b(true|false)\b/,operator:/[-+]{1,2}|!=?|<{1,2}=?|>{1,2}=?|\->|:{1,2}|={1,2}|\^|~|%|&{1,2}|\|?\||\?|\*|\/|\b(and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/}),c.languages.insertBefore("cpp","keyword",{"class-name":{pattern:/(class\s+)[a-z0-9_]+/i,lookbehind:!0}}),c.languages.java=c.languages.extend("clike",{keyword:/\b(abstract|continue|for|new|switch|assert|default|goto|package|synchronized|boolean|do|if|private|this|break|double|implements|protected|throw|byte|else|import|public|throws|case|enum|instanceof|return|transient|catch|extends|int|short|try|char|final|interface|static|void|class|finally|long|strictfp|volatile|const|float|native|super|while)\b/,number:/\b0b[01]+\b|\b0x[\da-f]*\.?[\da-fp\-]+\b|\b\d*\.?\d+(?:e[+-]?\d+)?[df]?\b/i,operator:{pattern:/(^|[^.])(?:\+[+=]?|-[-=]?|!=?|<<?=?|>>?>?=?|==?|&[&=]?|\|[|=]?|\*=?|\/=?|%=?|\^=?|[?:~])/m,lookbehind:!0}}),c.languages.php=c.languages.extend("clike",{keyword:/\b(and|or|xor|array|as|break|case|cfunction|class|const|continue|declare|default|die|do|else|elseif|enddeclare|endfor|endforeach|endif|endswitch|endwhile|extends|for|foreach|function|include|include_once|global|if|new|return|static|switch|use|require|require_once|var|while|abstract|interface|public|implements|private|protected|parent|throw|null|echo|print|trait|namespace|final|yield|goto|instanceof|finally|try|catch)\b/i,constant:/\b[A-Z0-9_]{2,}\b/,comment:{pattern:/(^|[^\\])(?:\/\*[\w\W]*?\*\/|\/\/.*)/,lookbehind:!0}}),c.languages.insertBefore("php","class-name",{"shell-comment":{pattern:/(^|[^\\])#.*/,lookbehind:!0,alias:"comment"}}),c.languages.insertBefore("php","keyword",{delimiter:/\?>|<\?(?:php)?/i,variable:/\$\w+\b/i,"package":{pattern:/(\\|namespace\s+|use\s+)[\w\\]+/,lookbehind:!0,inside:{punctuation:/\\/}}}),c.languages.insertBefore("php","operator",{property:{pattern:/(->)[\w]+/,lookbehind:!0}}),c.languages.markup&&(c.hooks.add("before-highlight",function(e){"php"===e.language&&(e.tokenStack=[],e.backupCode=e.code,e.code=e.code.replace(/(?:<\?php|<\?)[\w\W]*?(?:\?>)/gi,function(t){return e.tokenStack.push(t),"{{{PHP"+e.tokenStack.length+"}}}"}))}),c.hooks.add("before-insert",function(e){"php"===e.language&&(e.code=e.backupCode,delete e.backupCode)}),c.hooks.add("after-highlight",function(e){if("php"===e.language){for(var t=0,a=void 0;a=e.tokenStack[t];t++)e.highlightedCode=e.highlightedCode.replace("{{{PHP"+(t+1)+"}}}",c.highlight(a,e.grammar,"php").replace(/\$/g,"$$$$"));e.element.innerHTML=e.highlightedCode}}),c.hooks.add("wrap",function(e){"php"===e.language&&"markup"===e.type&&(e.content=e.content.replace(/(\{\{\{PHP[0-9]+\}\}\})/g,'<span class="token php">$1</span>'))}),c.languages.insertBefore("php","comment",{markup:{pattern:/<[^?]\/?(.*?)>/,inside:c.languages.markup},php:/\{\{\{PHP[0-9]+\}\}\}/})),c.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0},string:/"""[\s\S]+?"""|'''[\s\S]+?'''|("|')(?:\\?.)*?\1/,"function":{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_][a-zA-Z0-9_]*(?=\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)[a-z0-9_]+/i,lookbehind:!0},keyword:/\b(?:as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|pass|print|raise|return|try|while|with|yield)\b/,"boolean":/\b(?:True|False)\b/,number:/\b-?(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*\.?\d*|\.\d+)(?:e[+-]?\d+)?j?\b/i,operator:/[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]|\b(?:or|and|not)\b/,punctuation:/[{}[\];(),.:]/},function(e){e.languages.ruby=e.languages.extend("clike",{comment:/#(?!\{[^\r\n]*?\}).*/,keyword:/\b(alias|and|BEGIN|begin|break|case|class|def|define_method|defined|do|each|else|elsif|END|end|ensure|false|for|if|in|module|new|next|nil|not|or|raise|redo|require|rescue|retry|return|self|super|then|throw|true|undef|unless|until|when|while|yield)\b/});var t={pattern:/#\{[^}]+\}/,inside:{delimiter:{pattern:/^#\{|\}$/,alias:"tag"},rest:e.util.clone(e.languages.ruby)}};e.languages.insertBefore("ruby","keyword",{regex:[{pattern:/%r([^a-zA-Z0-9\s\{\(\[<])(?:[^\\]|\\[\s\S])*?\1[gim]{0,3}/,inside:{interpolation:t}},{pattern:/%r\((?:[^()\\]|\\[\s\S])*\)[gim]{0,3}/,inside:{interpolation:t}},{pattern:/%r\{(?:[^#{}\\]|#(?:\{[^}]+\})?|\\[\s\S])*\}[gim]{0,3}/,inside:{interpolation:t}},{pattern:/%r\[(?:[^\[\]\\]|\\[\s\S])*\][gim]{0,3}/,inside:{interpolation:t}},{pattern:/%r<(?:[^<>\\]|\\[\s\S])*>[gim]{0,3}/,inside:{interpolation:t}},{pattern:/(^|[^/])\/(?!\/)(\[.+?]|\\.|[^/\r\n])+\/[gim]{0,3}(?=\s*($|[\r\n,.;})]))/,lookbehind:!0}],variable:/[@$]+[a-zA-Z_][a-zA-Z_0-9]*(?:[?!]|\b)/,symbol:/:[a-zA-Z_][a-zA-Z_0-9]*(?:[?!]|\b)/}),e.languages.insertBefore("ruby","number",{builtin:/\b(Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Stat|File|Fixnum|Fload|Hash|Integer|IO|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|String|Struct|TMS|Symbol|ThreadGroup|Thread|Time|TrueClass)\b/,constant:/\b[A-Z][a-zA-Z_0-9]*(?:[?!]|\b)/}),e.languages.ruby.string=[{pattern:/%[qQiIwWxs]?([^a-zA-Z0-9\s\{\(\[<])(?:[^\\]|\\[\s\S])*?\1/,inside:{interpolation:t}},{pattern:/%[qQiIwWxs]?\((?:[^()\\]|\\[\s\S])*\)/,inside:{interpolation:t}},{pattern:/%[qQiIwWxs]?\{(?:[^#{}\\]|#(?:\{[^}]+\})?|\\[\s\S])*\}/,inside:{interpolation:t}},{pattern:/%[qQiIwWxs]?\[(?:[^\[\]\\]|\\[\s\S])*\]/,inside:{interpolation:t}},{pattern:/%[qQiIwWxs]?<(?:[^<>\\]|\\[\s\S])*>/,inside:{interpolation:t}},{pattern:/("|')(#\{[^}]+\}|\\(?:\r?\n|\r)|\\?.)*?\1/,inside:{interpolation:t}}]}(c);var u={isCodeSample:function(e){return e&&"PRE"===e.nodeName&&-1!==e.className.indexOf("language-")},trimArg:function(e){return function(t,a){return e(a)}}},g=function(e){var t=e.selection.getNode();return u.isCodeSample(t)?t:null},d=g,p=function(e,t,n){e.undoManager.transact(function(){var i=g(e);n=a.DOM.encode(n),i?(e.dom.setAttrib(i,"class","language-"+t),i.innerHTML=n,c.highlightElement(i),e.selection.select(i)):(e.insertContent('<pre id="__new" class="language-'+t+'">'+n+"</pre>"),e.selection.select(e.$("#__new").removeAttr("id")[0]))})},f=function(e){var t=g(e);return t?t.textContent:""},h=function(e){var t=i(e);return t||[{text:"HTML/XML",value:"markup"},{text:"JavaScript",value:"javascript"},{text:"CSS",value:"css"},{text:"PHP",value:"php"},{text:"Ruby",value:"ruby"},{text:"Python",value:"python"},{text:"Java",value:"java"},{text:"C",value:"c"},{text:"C#",value:"csharp"},{text:"C++",value:"cpp"}]},m=function(e){var t,a=d(e);return a&&(t=a.className.match(/language-(\w+)/))?t[1]:""},b=function(e){var t=r(e),a=s(e),n=m(e),i=h(e),o=f(e);e.windowManager.open({title:"Insert/Edit code sample",minWidth:t,minHeight:a,layout:"flex",direction:"column",align:"stretch",body:[{type:"listbox",name:"language",label:"Language",maxWidth:200,value:n,values:i},{type:"textbox",name:"code",multiline:!0,spellcheck:!1,ariaLabel:"Code view",flex:1,style:"direction: ltr; text-align: left",classes:"monospace",value:o,autofocus:!0}],onSubmit:function(t){p(e,t.data.language,t.data.code)}})},y=function(e){e.addCommand("codesample",function(){var t=e.selection.getNode();e.selection.isCollapsed()||u.isCodeSample(t)?b(e):e.formatter.toggle("code")})},v=function(e){var t=e.$;e.on("PreProcess",function(e){t("pre[contenteditable=false]",e.node).filter(u.trimArg(u.isCodeSample)).each(function(e,a){var n=t(a),i=a.textContent;n.attr("class",t.trim(n.attr("class"))),n.removeAttr("contentEditable"),n.empty().append(t("<code></code>").each(function(){this.textContent=i}))})}),e.on("SetContent",function(){var a=t("pre").filter(u.trimArg(u.isCodeSample)).filter(function(e,t){return"false"!==t.contentEditable});a.length&&e.undoManager.transact(function(){a.each(function(a,n){t(n).find("br").each(function(t,a){a.parentNode.replaceChild(e.getDoc().createTextNode("\n"),a)}),n.contentEditable=!1,n.innerHTML=e.dom.encode(n.textContent),c.highlightElement(n),n.className=t.trim(n.className)})})})},k=function(e,t,a,i){var r,s=n(e);e.inline&&a.get()||!e.inline&&i.get()||(e.inline?a.set(!0):i.set(!0),!1!==s&&(r=e.dom.create("link",{rel:"stylesheet",href:s||t+"/css/prism.css"}),e.getDoc().getElementsByTagName("head")[0].appendChild(r)))},w=function(e){e.addButton("codesample",{cmd:"codesample",title:"Insert/Edit code sample"}),e.addMenuItem("codesample",{cmd:"codesample",text:"Code sample",icon:"codesample"})},x=e(!1);t.add("codesample",function(t,a){var n=e(!1);v(t),w(t),y(t),t.on("init",function(){k(t,a,x,n)}),t.on("dblclick",function(e){u.isCodeSample(e.target)&&b(t)})})}();!function(){"use strict";var t=tinymce.util.Tools.resolve("tinymce.PluginManager"),n=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),e=function(t){return t.getParam("code_dialog_width",600)},o=function(t){return t.getParam("code_dialog_height",Math.min(n.DOM.getViewPort().h-200,500))},i=function(t,n){t.focus(),t.undoManager.transact(function(){t.setContent(n)}),t.selection.setCursorLocation(),t.nodeChanged()},c=function(t){return t.getContent({source_view:!0})},d=function(t){var n=e(t),d=o(t);t.windowManager.open({title:"Source code",body:{type:"textbox",name:"code",multiline:!0,minWidth:n,minHeight:d,spellcheck:!1,style:"direction: ltr; text-align: left"},onSubmit:function(n){i(t,n.data.code)}}).find("#code").value(c(t))},u=function(t){t.addCommand("mceCodeEditor",function(){d(t)})},a=function(t){t.addButton("code",{icon:"code",tooltip:"Source code",onclick:function(){d(t)}}),t.addMenuItem("code",{icon:"code",text:"Source code",onclick:function(){d(t)}})};t.add("code",function(t){return u(t),a(t),{}})}();!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),t=function(e,t){return e.fire("insertCustomChar",{chr:t})},a=function(e,a){var i=t(e,a).chr;e.execCommand("mceInsertContent",!1,i)},i=tinymce.util.Tools.resolve("tinymce.util.Tools"),r=function(e){return e.settings.charmap},n=function(e){return e.settings.charmap_append},o=i.isArray,l=function(e){return o(e)?[].concat((t=e,i.grep(t,function(e){return o(e)&&2===e.length}))):"function"==typeof e?e():[];var t},c=function(e){return function(e,t){var a=r(e);a&&(t=l(a));var i=n(e);return i?[].concat(t).concat(l(i)):t}(e,[["160","no-break space"],["173","soft hyphen"],["34","quotation mark"],["162","cent sign"],["8364","euro sign"],["163","pound sign"],["165","yen sign"],["169","copyright sign"],["174","registered sign"],["8482","trade mark sign"],["8240","per mille sign"],["181","micro sign"],["183","middle dot"],["8226","bullet"],["8230","three dot leader"],["8242","minutes / feet"],["8243","seconds / inches"],["167","section sign"],["182","paragraph sign"],["223","sharp s / ess-zed"],["8249","single left-pointing angle quotation mark"],["8250","single right-pointing angle quotation mark"],["171","left pointing guillemet"],["187","right pointing guillemet"],["8216","left single quotation mark"],["8217","right single quotation mark"],["8220","left double quotation mark"],["8221","right double quotation mark"],["8218","single low-9 quotation mark"],["8222","double low-9 quotation mark"],["60","less-than sign"],["62","greater-than sign"],["8804","less-than or equal to"],["8805","greater-than or equal to"],["8211","en dash"],["8212","em dash"],["175","macron"],["8254","overline"],["164","currency sign"],["166","broken bar"],["168","diaeresis"],["161","inverted exclamation mark"],["191","turned question mark"],["710","circumflex accent"],["732","small tilde"],["176","degree sign"],["8722","minus sign"],["177","plus-minus sign"],["247","division sign"],["8260","fraction slash"],["215","multiplication sign"],["185","superscript one"],["178","superscript two"],["179","superscript three"],["188","fraction one quarter"],["189","fraction one half"],["190","fraction three quarters"],["402","function / florin"],["8747","integral"],["8721","n-ary sumation"],["8734","infinity"],["8730","square root"],["8764","similar to"],["8773","approximately equal to"],["8776","almost equal to"],["8800","not equal to"],["8801","identical to"],["8712","element of"],["8713","not an element of"],["8715","contains as member"],["8719","n-ary product"],["8743","logical and"],["8744","logical or"],["172","not sign"],["8745","intersection"],["8746","union"],["8706","partial differential"],["8704","for all"],["8707","there exists"],["8709","diameter"],["8711","backward difference"],["8727","asterisk operator"],["8733","proportional to"],["8736","angle"],["180","acute accent"],["184","cedilla"],["170","feminine ordinal indicator"],["186","masculine ordinal indicator"],["8224","dagger"],["8225","double dagger"],["192","A - grave"],["193","A - acute"],["194","A - circumflex"],["195","A - tilde"],["196","A - diaeresis"],["197","A - ring above"],["256","A - macron"],["198","ligature AE"],["199","C - cedilla"],["200","E - grave"],["201","E - acute"],["202","E - circumflex"],["203","E - diaeresis"],["274","E - macron"],["204","I - grave"],["205","I - acute"],["206","I - circumflex"],["207","I - diaeresis"],["298","I - macron"],["208","ETH"],["209","N - tilde"],["210","O - grave"],["211","O - acute"],["212","O - circumflex"],["213","O - tilde"],["214","O - diaeresis"],["216","O - slash"],["332","O - macron"],["338","ligature OE"],["352","S - caron"],["217","U - grave"],["218","U - acute"],["219","U - circumflex"],["220","U - diaeresis"],["362","U - macron"],["221","Y - acute"],["376","Y - diaeresis"],["562","Y - macron"],["222","THORN"],["224","a - grave"],["225","a - acute"],["226","a - circumflex"],["227","a - tilde"],["228","a - diaeresis"],["229","a - ring above"],["257","a - macron"],["230","ligature ae"],["231","c - cedilla"],["232","e - grave"],["233","e - acute"],["234","e - circumflex"],["235","e - diaeresis"],["275","e - macron"],["236","i - grave"],["237","i - acute"],["238","i - circumflex"],["239","i - diaeresis"],["299","i - macron"],["240","eth"],["241","n - tilde"],["242","o - grave"],["243","o - acute"],["244","o - circumflex"],["245","o - tilde"],["246","o - diaeresis"],["248","o slash"],["333","o macron"],["339","ligature oe"],["353","s - caron"],["249","u - grave"],["250","u - acute"],["251","u - circumflex"],["252","u - diaeresis"],["363","u - macron"],["253","y - acute"],["254","thorn"],["255","y - diaeresis"],["563","y - macron"],["913","Alpha"],["914","Beta"],["915","Gamma"],["916","Delta"],["917","Epsilon"],["918","Zeta"],["919","Eta"],["920","Theta"],["921","Iota"],["922","Kappa"],["923","Lambda"],["924","Mu"],["925","Nu"],["926","Xi"],["927","Omicron"],["928","Pi"],["929","Rho"],["931","Sigma"],["932","Tau"],["933","Upsilon"],["934","Phi"],["935","Chi"],["936","Psi"],["937","Omega"],["945","alpha"],["946","beta"],["947","gamma"],["948","delta"],["949","epsilon"],["950","zeta"],["951","eta"],["952","theta"],["953","iota"],["954","kappa"],["955","lambda"],["956","mu"],["957","nu"],["958","xi"],["959","omicron"],["960","pi"],["961","rho"],["962","final sigma"],["963","sigma"],["964","tau"],["965","upsilon"],["966","phi"],["967","chi"],["968","psi"],["969","omega"],["8501","alef symbol"],["982","pi symbol"],["8476","real part symbol"],["978","upsilon - hook symbol"],["8472","Weierstrass p"],["8465","imaginary part"],["8592","leftwards arrow"],["8593","upwards arrow"],["8594","rightwards arrow"],["8595","downwards arrow"],["8596","left right arrow"],["8629","carriage return"],["8656","leftwards double arrow"],["8657","upwards double arrow"],["8658","rightwards double arrow"],["8659","downwards double arrow"],["8660","left right double arrow"],["8756","therefore"],["8834","subset of"],["8835","superset of"],["8836","not a subset of"],["8838","subset of or equal to"],["8839","superset of or equal to"],["8853","circled plus"],["8855","circled times"],["8869","perpendicular"],["8901","dot operator"],["8968","left ceiling"],["8969","right ceiling"],["8970","left floor"],["8971","right floor"],["9001","left-pointing angle bracket"],["9002","right-pointing angle bracket"],["9674","lozenge"],["9824","black spade suit"],["9827","black club suit"],["9829","black heart suit"],["9830","black diamond suit"],["8194","en space"],["8195","em space"],["8201","thin space"],["8204","zero width non-joiner"],["8205","zero width joiner"],["8206","left-to-right mark"],["8207","right-to-left mark"]])},s=function(e){return{getCharMap:function(){return c(e)},insertChar:function(t){a(e,t)}}},u=function(e){var t,a,i,r=Math.min(e.length,25),n=Math.ceil(e.length/r);for(t='<table role="presentation" cellspacing="0" class="mce-charmap"><tbody>',i=0;i<n;i++){for(t+="<tr>",a=0;a<r;a++){var o=i*r+a;if(o<e.length){var l=e[o],c=parseInt(l[0],10),s=l?String.fromCharCode(c):" ";t+='<td title="'+l[1]+'"><div tabindex="-1" title="'+l[1]+'" role="button" data-chr="'+c+'">'+s+"</div></td>"}else t+="<td />"}t+="</tr>"}return t+="</tbody></table>"},d=function(e){for(;e;){if("TD"===e.nodeName)return e;e=e.parentNode}},m=function(e){var t,i={type:"container",html:u(c(e)),onclick:function(i){var r=i.target;if(/^(TD|DIV)$/.test(r.nodeName)){var n=d(r).firstChild;if(n&&n.hasAttribute("data-chr")){var o=n.getAttribute("data-chr"),l=parseInt(o,10);isNaN(l)||a(e,String.fromCharCode(l)),i.ctrlKey||t.close()}}},onmouseover:function(e){var a=d(e.target);a&&a.firstChild?(t.find("#preview").text(a.firstChild.firstChild.data),t.find("#previewTitle").text(a.title)):(t.find("#preview").text(" "),t.find("#previewTitle").text(" "))}};t=e.windowManager.open({title:"Special character",spacing:10,padding:10,items:[i,{type:"container",layout:"flex",direction:"column",align:"center",spacing:5,minWidth:160,minHeight:160,items:[{type:"label",name:"preview",text:" ",style:"font-size: 40px; text-align: center",border:1,minWidth:140,minHeight:80},{type:"spacer",minHeight:20},{type:"label",name:"previewTitle",text:" ",style:"white-space: pre-wrap;",border:1,minWidth:140}]}],buttons:[{text:"Close",onclick:function(){t.close()}}]})},g=function(e){e.addCommand("mceShowCharmap",function(){m(e)})},p=function(e){e.addButton("charmap",{icon:"charmap",tooltip:"Special character",cmd:"mceShowCharmap"}),e.addMenuItem("charmap",{icon:"charmap",text:"Special character",cmd:"mceShowCharmap",context:"insert"})};e.add("charmap",function(e){return g(e),p(e),s(e)})}();!function(){"use strict";var o=tinymce.util.Tools.resolve("tinymce.PluginManager"),t=tinymce.util.Tools.resolve("tinymce.util.Tools"),e=function(o){o=t.trim(o);var e=function(t,e){o=o.replace(t,e)};return e(/<a.*?href=\"(.*?)\".*?>(.*?)<\/a>/gi,"[url=$1]$2[/url]"),e(/<font.*?color=\"(.*?)\".*?class=\"codeStyle\".*?>(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]"),e(/<font.*?color=\"(.*?)\".*?class=\"quoteStyle\".*?>(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]"),e(/<font.*?class=\"codeStyle\".*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]"),e(/<font.*?class=\"quoteStyle\".*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]"),e(/<span style=\"color: ?(.*?);\">(.*?)<\/span>/gi,"[color=$1]$2[/color]"),e(/<font.*?color=\"(.*?)\".*?>(.*?)<\/font>/gi,"[color=$1]$2[/color]"),e(/<span style=\"font-size:(.*?);\">(.*?)<\/span>/gi,"[size=$1]$2[/size]"),e(/<font>(.*?)<\/font>/gi,"$1"),e(/<img.*?src=\"(.*?)\".*?\/>/gi,"[img]$1[/img]"),e(/<span class=\"codeStyle\">(.*?)<\/span>/gi,"[code]$1[/code]"),e(/<span class=\"quoteStyle\">(.*?)<\/span>/gi,"[quote]$1[/quote]"),e(/<strong class=\"codeStyle\">(.*?)<\/strong>/gi,"[code][b]$1[/b][/code]"),e(/<strong class=\"quoteStyle\">(.*?)<\/strong>/gi,"[quote][b]$1[/b][/quote]"),e(/<em class=\"codeStyle\">(.*?)<\/em>/gi,"[code][i]$1[/i][/code]"),e(/<em class=\"quoteStyle\">(.*?)<\/em>/gi,"[quote][i]$1[/i][/quote]"),e(/<u class=\"codeStyle\">(.*?)<\/u>/gi,"[code][u]$1[/u][/code]"),e(/<u class=\"quoteStyle\">(.*?)<\/u>/gi,"[quote][u]$1[/u][/quote]"),e(/<\/(strong|b)>/gi,"[/b]"),e(/<(strong|b)>/gi,"[b]"),e(/<\/(em|i)>/gi,"[/i]"),e(/<(em|i)>/gi,"[i]"),e(/<\/u>/gi,"[/u]"),e(/<span style=\"text-decoration: ?underline;\">(.*?)<\/span>/gi,"[u]$1[/u]"),e(/<u>/gi,"[u]"),e(/<blockquote[^>]*>/gi,"[quote]"),e(/<\/blockquote>/gi,"[/quote]"),e(/<br \/>/gi,"\n"),e(/<br\/>/gi,"\n"),e(/<br>/gi,"\n"),e(/<p>/gi,""),e(/<\/p>/gi,"\n"),e(/ |\u00a0/gi," "),e(/"/gi,'"'),e(/</gi,"<"),e(/>/gi,">"),e(/&/gi,"&"),o},i=function(o){o=t.trim(o);var e=function(t,e){o=o.replace(t,e)};return e(/\n/gi,"<br />"),e(/\[b\]/gi,"<strong>"),e(/\[\/b\]/gi,"</strong>"),e(/\[i\]/gi,"<em>"),e(/\[\/i\]/gi,"</em>"),e(/\[u\]/gi,"<u>"),e(/\[\/u\]/gi,"</u>"),e(/\[url=([^\]]+)\](.*?)\[\/url\]/gi,'<a href="$1">$2</a>'),e(/\[url\](.*?)\[\/url\]/gi,'<a href="$1">$1</a>'),e(/\[img\](.*?)\[\/img\]/gi,'<img src="$1" />'),e(/\[color=(.*?)\](.*?)\[\/color\]/gi,'<font color="$1">$2</font>'),e(/\[code\](.*?)\[\/code\]/gi,'<span class="codeStyle">$1</span> '),e(/\[quote.*?\](.*?)\[\/quote\]/gi,'<span class="quoteStyle">$1</span> '),o};o.add("bbcode",function(){return{init:function(o){o.on("beforeSetContent",function(o){o.content=i(o.content)}),o.on("postProcess",function(o){o.set&&(o.content=i(o.content)),o.get&&(o.content=e(o.content))})}}})}();!function(){"use strict";var t=function(e){var r=e,n=function(){return r};return{get:n,set:function(t){r=t},clone:function(){return t(n())}}},e=tinymce.util.Tools.resolve("tinymce.PluginManager"),r=tinymce.util.Tools.resolve("tinymce.util.LocalStorage"),n=tinymce.util.Tools.resolve("tinymce.util.Tools"),a=function(t){return t.fire("RestoreDraft")},o=function(t){return t.fire("StoreDraft")},i=function(t){return t.fire("RemoveDraft")},s=function(t,e){return((t=/^(\d+)([ms]?)$/.exec(""+(t||e)))[2]?{s:1e3,m:6e4}[t[2]]:1)*parseInt(t,10)},u=function(t){return t.getParam("autosave_ask_before_unload",!0)},f=function(t){var e=t.getParam("autosave_prefix","tinymce-autosave-{path}{query}{hash}-{id}-");return e=(e=(e=(e=e.replace(/\{path\}/g,document.location.pathname)).replace(/\{query\}/g,document.location.search)).replace(/\{hash\}/g,document.location.hash)).replace(/\{id\}/g,t.id)},c=function(t){return s(t.settings.autosave_interval,"30s")},l=function(t){return s(t.settings.autosave_retention,"20m")},m=function(t,e){var r=t.settings.forced_root_block;return""===(e=n.trim(void 0===e?t.getBody().innerHTML:e))||new RegExp("^<"+r+"[^>]*>((\xa0| |[ \t]|<br[^>]*>)+?|)</"+r+">|<br>$","i").test(e)},v=function(t){var e=parseInt(r.getItem(f(t)+"time"),10)||0;return!((new Date).getTime()-e>l(t)&&(d(t,!1),1))},d=function(t,e){var n=f(t);r.removeItem(n+"draft"),r.removeItem(n+"time"),!1!==e&&i(t)},D=function(t){var e=f(t);!m(t)&&t.isDirty()&&(r.setItem(e+"draft",t.getContent({format:"raw",no_events:!0})),r.setItem(e+"time",(new Date).getTime().toString()),o(t))},g=function(t){var e=f(t);v(t)&&(t.setContent(r.getItem(e+"draft"),{format:"raw"}),a(t))},y={isEmpty:m,hasDraft:v,removeDraft:d,storeDraft:D,restoreDraft:g,startStoreDraft:function(t,e){var r=c(t);e.get()||(setInterval(function(){t.removed||D(t)},r),e.set(!0))},restoreLastDraft:function(t){t.undoManager.transact(function(){g(t),d(t)}),t.focus()}},p=function(t,e){return function(){var r=Array.prototype.slice.call(arguments);return t.apply(null,[e].concat(r))}},h=function(t){return{hasDraft:p(y.hasDraft,t),storeDraft:p(y.storeDraft,t),restoreDraft:p(y.restoreDraft,t),removeDraft:p(y.removeDraft,t),isEmpty:p(y.isEmpty,t)}},_=tinymce.util.Tools.resolve("tinymce.EditorManager");_._beforeUnloadHandler=function(){var t;return n.each(_.get(),function(e){e.plugins.autosave&&e.plugins.autosave.storeDraft(),!t&&e.isDirty()&&u(e)&&(t=e.translate("You have unsaved changes are you sure you want to navigate away?"))}),t};var b=function(t){window.onbeforeunload=_._beforeUnloadHandler},I=function(t,e){return function(r){var n=r.control;n.disabled(!y.hasDraft(t)),t.on("StoreDraft RestoreDraft RemoveDraft",function(){n.disabled(!y.hasDraft(t))}),y.startStoreDraft(t,e)}},w=function(t,e){t.addButton("restoredraft",{title:"Restore last draft",onclick:function(){y.restoreLastDraft(t)},onPostRender:I(t,e)}),t.addMenuItem("restoredraft",{text:"Restore last draft",onclick:function(){y.restoreLastDraft(t)},onPostRender:I(t,e),context:"file"})};e.add("autosave",function(e){var r=t(!1);return b(e),w(e,r),h(e)})}();!function(){"use strict";var t=function(e){var n=e,i=function(){return n};return{get:i,set:function(t){n=t},clone:function(){return t(i())}}},e=tinymce.util.Tools.resolve("tinymce.PluginManager"),n=tinymce.util.Tools.resolve("tinymce.Env"),i=tinymce.util.Tools.resolve("tinymce.util.Delay"),o=function(t){return parseInt(t.getParam("autoresize_min_height",t.getElement().offsetHeight),10)},r=function(t){return parseInt(t.getParam("autoresize_max_height",0),10)},a=function(t){return t.getParam("autoresize_overflow_padding",1)},u=function(t){return t.getParam("autoresize_bottom_margin",50)},s=function(t){return t.getParam("autoresize_on_init",!0)},l=function(t,e,n,o,r){i.setEditorTimeout(t,function(){c(t,e),n--?l(t,e,n,o,r):r&&r()},o)},g=function(t,e){var n=t.getBody();n&&(n.style.overflowY=e?"":"hidden",e||(n.scrollTop=0))},c=function(t,e){var i,a,u,s,l,f,d,m,p,y,h,v=t.dom;if(a=t.getDoc())if((S=t).plugins.fullscreen&&S.plugins.fullscreen.isFullscreen())g(t,!0);else{var S;u=a.body,s=o(t),f=v.getStyle(u,"margin-top",!0),d=v.getStyle(u,"margin-bottom",!0),m=v.getStyle(u,"padding-top",!0),p=v.getStyle(u,"padding-bottom",!0),y=v.getStyle(u,"border-top-width",!0),h=v.getStyle(u,"border-bottom-width",!0),l=u.offsetHeight+parseInt(f,10)+parseInt(d,10)+parseInt(m,10)+parseInt(p,10)+parseInt(y,10)+parseInt(h,10),(isNaN(l)||l<=0)&&(l=n.ie?u.scrollHeight:n.webkit&&0===u.clientHeight?0:u.offsetHeight),l>o(t)&&(s=l);var _=r(t);_&&l>_?(s=_,g(t,!0)):g(t,!1),s!==e.get()&&(i=s-e.get(),v.setStyle(t.iframeElement,"height",s+"px"),e.set(s),n.webkit&&i<0&&c(t,e))}},f={setup:function(t,e){t.on("init",function(){var e,n,i=t.dom;e=a(t),n=u(t),!1!==e&&i.setStyles(t.getBody(),{paddingLeft:e,paddingRight:e}),!1!==n&&i.setStyles(t.getBody(),{paddingBottom:n})}),t.on("nodechange setcontent keyup FullscreenStateChanged",function(n){c(t,e)}),s(t)&&t.on("init",function(){l(t,e,20,100,function(){l(t,e,5,1e3)})})},resize:c},d=function(t,e){t.addCommand("mceAutoResize",function(){f.resize(t,e)})};e.add("autoresize",function(e){if(!e.inline){var n=t(0);d(e,n),f.setup(e,n)}})}();!function(){"use strict";var e=tinymce.util.Tools.resolve("tinymce.PluginManager"),t=tinymce.util.Tools.resolve("tinymce.Env"),n=function(e){return e.getParam("autolink_pattern",/^(https?:\/\/|ssh:\/\/|ftp:\/\/|file:\/|www\.|(?:mailto:)?[A-Z0-9._%+\-]+@)(.+)$/i)},i=function(e){return e.getParam("default_link_target","")},o=function(e,t){if(t<0&&(t=0),3===e.nodeType){var n=e.data.length;t>n&&(t=n)}return t},r=function(e,t,n){1!==t.nodeType||t.hasChildNodes()?e.setStart(t,o(t,n)):e.setStartBefore(t)},a=function(e,t,n){1!==t.nodeType||t.hasChildNodes()?e.setEnd(t,o(t,n)):e.setEndAfter(t)},d=function(e,t,o){var d,f,s,l,c,u,g,h,C,m,y=n(e),k=i(e);if("A"!==e.selection.getNode().tagName){if((d=e.selection.getRng(!0).cloneRange()).startOffset<5){if(!(h=d.endContainer.previousSibling)){if(!d.endContainer.firstChild||!d.endContainer.firstChild.nextSibling)return;h=d.endContainer.firstChild.nextSibling}if(C=h.length,r(d,h,C),a(d,h,C),d.endOffset<5)return;f=d.endOffset,l=h}else{if(3!==(l=d.endContainer).nodeType&&l.firstChild){for(;3!==l.nodeType&&l.firstChild;)l=l.firstChild;3===l.nodeType&&(r(d,l,0),a(d,l,l.nodeValue.length))}f=1===d.endOffset?2:d.endOffset-1-t}s=f;do{r(d,l,f>=2?f-2:0),a(d,l,f>=1?f-1:0),f-=1,m=d.toString()}while(" "!==m&&""!==m&&160!==m.charCodeAt(0)&&f-2>=0&&m!==o);var p;(p=d.toString())===o||" "===p||160===p.charCodeAt(0)?(r(d,l,f),a(d,l,s),f+=1):0===d.startOffset?(r(d,l,0),a(d,l,s)):(r(d,l,f),a(d,l,s)),"."===(u=d.toString()).charAt(u.length-1)&&a(d,l,s-1),(g=(u=d.toString().trim()).match(y))&&("www."===g[1]?g[1]="http://www.":/@$/.test(g[1])&&!/^mailto:/.test(g[1])&&(g[1]="mailto:"+g[1]),c=e.selection.getBookmark(),e.selection.setRng(d),e.execCommand("createlink",!1,g[1]+g[2]),k&&e.dom.setAttrib(e.selection.getNode(),"target",k),e.selection.moveToBookmark(c),e.nodeChanged())}},f=function(e){var n;e.on("keydown",function(t){13!==t.keyCode||d(e,-1,"")}),t.ie?e.on("focus",function(){if(!n){n=!0;try{e.execCommand("AutoUrlDetect",!1,!0)}catch(t){}}}):(e.on("keypress",function(t){41!==t.keyCode||d(e,-1,"(")}),e.on("keyup",function(t){32!==t.keyCode||d(e,0,"")}))};e.add("autolink",function(e){f(e)})}();!function(){"use strict";var t=function(t){return/^[A-Za-z][A-Za-z0-9\-:._]*$/.test(t)},e=function(t){var e=t.selection.getNode();return"A"===e.tagName&&""===t.dom.getAttrib(e,"href")?e.id||e.name:""},n=function(t,e){var n=t.selection.getNode();"A"===n.tagName&&""===t.dom.getAttrib(n,"href")?(n.removeAttribute("name"),n.id=e):(t.focus(),t.selection.collapse(!0),t.execCommand("mceInsertContent",!1,t.dom.createHTML("a",{id:e})))},o=function(o){var r=e(o);o.windowManager.open({title:"Anchor",body:{type:"textbox",name:"id",size:40,label:"Id",value:r},onsubmit:function(e){var r,a,i=e.data.id;r=o,(t(a=i)?(n(r,a),0):(r.windowManager.alert("Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores."),1))&&e.preventDefault()}})},r=function(t){t.addCommand("mceAnchor",function(){o(t)})},a=function(t){return function(e){for(var n=0;n<e.length;n++)(o=e[n]).attr("href")||!o.attr("id")&&!o.attr("name")||o.firstChild||e[n].attr("contenteditable",t);var o}},i=function(t){t.on("PreInit",function(){t.parser.addNodeFilter("a",a("false")),t.serializer.addNodeFilter("a",a(null))})},c=function(t){t.addButton("anchor",{icon:"anchor",tooltip:"Anchor",cmd:"mceAnchor",stateSelector:"a:not([href])"}),t.addMenuItem("anchor",{icon:"anchor",text:"Anchor",context:"insert",cmd:"mceAnchor"})};tinymce.util.Tools.resolve("tinymce.PluginManager").add("anchor",function(t){i(t),r(t),c(t)})}();!function(){"use strict";var t=tinymce.util.Tools.resolve("tinymce.PluginManager"),e=tinymce.util.Tools.resolve("tinymce.util.Tools"),n=function(t,e,n){var r="UL"===e?"InsertUnorderedList":"InsertOrderedList";t.execCommand(r,!1,!1===n?null:{"list-style-type":n})},r=function(t){t.addCommand("ApplyUnorderedListStyle",function(e,r){n(t,"UL",r["list-style-type"])}),t.addCommand("ApplyOrderedListStyle",function(e,r){n(t,"OL",r["list-style-type"])})},o=function(t){var e=t.getParam("advlist_number_styles","default,lower-alpha,lower-greek,lower-roman,upper-alpha,upper-roman");return e?e.split(/[ ,]/):[]},i=function(t){var e=t.getParam("advlist_bullet_styles","default,circle,disc,square");return e?e.split(/[ ,]/):[]},l=function(t){return t&&/^(TH|TD)$/.test(t.nodeName)},a=function(t){return function(e){return e&&/^(OL|UL|DL)$/.test(e.nodeName)&&(r=e,(n=t).$.contains(n.getBody(),r));var n,r}},s=function(t){var e=t.dom.getParent(t.selection.getNode(),"ol,ul");return t.dom.getStyle(e,"listStyleType")||""},u=function(t){return e.map(t,function(t){return{text:t.replace(/\-/g," ").replace(/\b\w/g,function(t){return t.toUpperCase()}),data:"default"===t?"":t}})},c=function(t,n){return function(r){var o=r.control;t.on("NodeChange",function(r){var i=function(t,e){for(var n=0;n<t.length;n++)if(e(t[n]))return n;return-1}(r.parents,l),s=-1!==i?r.parents.slice(0,i):r.parents,u=e.grep(s,a(t));o.active(u.length>0&&u[0].nodeName===n)})}},d=function(t,e,r,o,i,l){var a;t.addButton(e,{active:!1,type:"splitbutton",tooltip:r,menu:u(l),onPostRender:c(t,i),onshow:(a=t,function(t){var e=s(a);t.control.items().each(function(t){t.active(t.settings.data===e)})}),onselect:function(e){n(t,i,e.control.settings.data)},onclick:function(){t.execCommand(o)}})},p=function(t,e,n,r,o,i){var l,a,s,u,p;i.length>0?d(t,e,n,r,o,i):(a=e,s=n,u=r,p=o,(l=t).addButton(a,{active:!1,type:"button",tooltip:s,onPostRender:c(l,p),onclick:function(){l.execCommand(u)}}))},f=function(t){p(t,"numlist","Numbered list","InsertOrderedList","OL",o(t)),p(t,"bullist","Bullet list","InsertUnorderedList","UL",i(t))};t.add("advlist",function(t){var n,o,i;o="lists",i=(n=t).settings.plugins?n.settings.plugins:"",-1!==e.inArray(i.split(/[ ,]/),o)&&(f(t),r(t))})}();!function(){"use strict";var e,t,n,i,r,o=tinymce.util.Tools.resolve("tinymce.ThemeManager"),s=tinymce.util.Tools.resolve("tinymce.EditorManager"),a=tinymce.util.Tools.resolve("tinymce.util.Tools"),l=function(e){return!1!==u(e)},u=function(e){return e.getParam("menubar")},c=function(e){return e.getParam("toolbar_items_size")},d=function(e){return e.getParam("menu")},f=function(e){return!1===e.settings.skin},h=function(e){var t=e.getParam("resize","vertical");return!1===t?"none":"both"===t?"both":"vertical"},m=tinymce.util.Tools.resolve("tinymce.dom.DOMUtils"),g=tinymce.util.Tools.resolve("tinymce.ui.Factory"),p=tinymce.util.Tools.resolve("tinymce.util.I18n"),v=function(e){return e.fire("SkinLoaded")},b=function(e){return e.fire("ResizeEditor")},y=function(e){return e.fire("BeforeRenderUI")},x=function(e,t){return function(){var n=e.find(t)[0];n&&n.focus(!0)}},w=function(e,t){e.shortcuts.add("Alt+F9","",x(t,"menubar")),e.shortcuts.add("Alt+F10,F10","",x(t,"toolbar")),e.shortcuts.add("Alt+F11","",x(t,"elementpath")),t.on("cancel",function(){e.focus()})},_=tinymce.util.Tools.resolve("tinymce.Env"),R=tinymce.util.Tools.resolve("tinymce.geom.Rect"),C=tinymce.util.Tools.resolve("tinymce.util.Delay"),k=function(e){return function(){return e}},E={noop:function(){},noarg:function(e){return function(){return e()}},compose:function(e,t){return function(){return e(t.apply(null,arguments))}},constant:k,identity:function(e){return e},tripleEquals:function(e,t){return e===t},curry:function(e){for(var t=new Array(arguments.length-1),n=1;n<arguments.length;n++)t[n-1]=arguments[n];return function(){for(var n=new Array(arguments.length),i=0;i<n.length;i++)n[i]=arguments[i];var r=t.concat(n);return e.apply(null,r)}},not:function(e){return function(){return!e.apply(null,arguments)}},die:function(e){return function(){throw new Error(e)}},apply:function(e){return e()},call:function(e){e()},never:k(!1),always:k(!0)},H=E.never,S=E.always,M=function(){return T},T=(i={fold:function(e,t){return e()},is:H,isSome:H,isNone:S,getOr:n=function(e){return e},getOrThunk:t=function(e){return e()},getOrDie:function(e){throw new Error(e||"error: getOrDie called on none.")},or:n,orThunk:t,map:M,ap:M,each:function(){},bind:M,flatten:M,exists:H,forall:S,filter:M,equals:e=function(e){return e.isNone()},equals_:e,toArray:function(){return[]},toString:E.constant("none()")},Object.freeze&&Object.freeze(i),i),P=function(e){var t=function(){return e},n=function(){return r},i=function(t){return t(e)},r={fold:function(t,n){return n(e)},is:function(t){return e===t},isSome:S,isNone:H,getOr:t,getOrThunk:t,getOrDie:t,or:n,orThunk:n,map:function(t){return P(t(e))},ap:function(t){return t.fold(M,function(t){return P(t(e))})},each:function(t){t(e)},bind:i,flatten:t,exists:i,forall:i,filter:function(t){return t(e)?r:T},equals:function(t){return t.is(e)},equals_:function(t,n){return t.fold(H,function(t){return n(e,t)})},toArray:function(){return[e]},toString:function(){return"some("+e+")"}};return r},W={some:P,none:M,from:function(e){return null===e||e===undefined?T:P(e)}},D=function(){var e=_.container;if(e&&"static"!==m.DOM.getStyle(e,"position",!0)){var t=m.DOM.getPos(e),n=e.scrollLeft-t.x,i=e.scrollTop-t.y;return W.some({x:n,y:i})}return W.none()},N=function(e,t,n){var i,r=[];if(t)return a.each(t.split(/[ ,]/),function(t){var o,s=function(){var n=e.selection;t.settings.stateSelector&&n.selectorChanged(t.settings.stateSelector,function(e){t.active(e)},!0),t.settings.disabledStateSelector&&n.selectorChanged(t.settings.disabledStateSelector,function(e){t.disabled(e)})};"|"===t?i=null:(i||(i={type:"buttongroup",items:[]},r.push(i)),e.buttons[t]&&(o=t,"function"==typeof(t=e.buttons[o])&&(t=t()),t.type=t.type||"button",t.size=n,t=g.create(t),i.items.push(t),e.initialized?s():e.on("init",s)))}),{type:"toolbar",layout:"flow",items:r}},A=N,B=function(e,t){var n,i,r=[];if(a.each(!1===(i=(n=e).getParam("toolbar"))?[]:a.isArray(i)?a.grep(i,function(e){return e.length>0}):function(e,t){for(var n=[],i=1;i<10;i++){var r=e["toolbar"+i];if(!r)break;n.push(r)}var o=e.toolbar?[e.toolbar]:[t];return n.length>0?n:o}(n.settings,"undo redo | styleselect | bold italic | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | link image"),function(n){var i;(i=n)&&r.push(N(e,i,t))}),r.length)return{type:"panel",layout:"stack",classes:"toolbar-grp",ariaRoot:!0,ariaRemember:!0,items:r}},O=m.DOM,z=function(e){return{left:e.x,top:e.y,width:e.w,height:e.h,right:e.x+e.w,bottom:e.y+e.h}},L=function(e,t){e.moveTo(t.left,t.top)},I=function(e,t,n,i,r,o){return o=z({x:t,y:n,w:o.w,h:o.h}),e&&(o=e({elementRect:z(i),contentAreaRect:z(r),panelRect:o})),o},F=function(e){var t,n=function(){return e.contextToolbars||[]},i=function(t,n){var i,r,o,s,l,u,c,d=e.getParam("inline_toolbar_position_handler");if(!e.removed){if(!t||!t.toolbar.panel)return f=e,void a.each(f.contextToolbars,function(e){e.panel&&e.panel.hide()});var f,h,m,g,p;c=["bc-tc","tc-bc","tl-bl","bl-tl","tr-br","br-tr"],l=t.toolbar.panel,n&&l.show(),h=t.element,m=O.getPos(e.getContentAreaContainer()),g=e.dom.getRect(h),"BODY"===(p=e.dom.getRoot()).nodeName&&(g.x-=p.ownerDocument.documentElement.scrollLeft||p.scrollLeft,g.y-=p.ownerDocument.documentElement.scrollTop||p.scrollTop),g.x+=m.x,g.y+=m.y,o=g,r=O.getRect(l.getEl()),s=O.getRect(e.getContentAreaContainer()||e.getBody());var v,b,y,x=D().getOr({x:0,y:0});if(o.x+=x.x,o.y+=x.y,r.x+=x.x,r.y+=x.y,s.x+=x.x,s.y+=x.y,"inline"!==O.getStyle(t.element,"display",!0)){var w=t.element.getBoundingClientRect();o.w=w.width,o.h=w.height}e.inline||(s.w=e.getDoc().documentElement.offsetWidth),e.selection.controlSelection.isResizable(t.element)&&o.w<25&&(o=R.inflate(o,0,8)),i=R.findBestRelativePosition(r,o,s,c),o=R.clamp(o,s),i?(u=R.relativePosition(r,o,i),L(l,I(d,u.x,u.y,o,s,r))):(s.h+=r.h,(o=R.intersect(s,o))?(i=R.findBestRelativePosition(r,o,s,["bc-tc","bl-tl","br-tr"]))?(u=R.relativePosition(r,o,i),L(l,I(d,u.x,u.y,o,s,r))):L(l,I(d,o.x,o.y,o,s,r)):l.hide()),v=l,y=function(e,t){return e===t},b=(b=i)?b.substr(0,2):"",a.each({t:"down",b:"up"},function(e,t){v.classes.toggle("arrow-"+e,y(t,b.substr(0,1)))}),a.each({l:"left",r:"right"},function(e,t){v.classes.toggle("arrow-"+e,y(t,b.substr(1,1)))})}},r=function(t){return function(){C.requestAnimationFrame(function(){e.selection&&i(l(e.selection.getNode()),t)})}},o=function(n){var o;if(n.toolbar.panel)return n.toolbar.panel.show(),void i(n);!function(){if(!t){var n=r(!0);t=e.selection.getScrollContainer()||e.getWin(),O.bind(t,"scroll",n),O.bind(_.container,"scroll",n),e.on("remove",function(){O.unbind(t,"scroll",n),O.unbind(_.container,"scroll",n)})}}(),o=g.create({type:"floatpanel",role:"dialog",classes:"tinymce tinymce-inline arrow",ariaLabel:"Inline toolbar",layout:"flex",direction:"column",align:"stretch",autohide:!1,autofix:!0,fixed:!0,border:1,items:A(e,n.toolbar.items),oncancel:function(){e.focus()}}),n.toolbar.panel=o,o.renderTo().reflow(),i(n)},s=function(){a.each(n(),function(e){e.panel&&e.panel.hide()})},l=function(t){var i,r,o,s=n();for(i=(o=e.$(t).parents().add(t)).length-1;i>=0;i--)for(r=s.length-1;r>=0;r--)if(s[r].predicate(o[i]))return{toolbar:s[r],element:o[i]};return null};e.on("click keyup setContent ObjectResized",function(t){("setcontent"!==t.type||t.selection)&&C.setEditorTimeout(e,function(){var t;(t=l(e.selection.getNode()))?(s(),o(t)):s()})}),e.on("blur hide contextmenu",s),e.on("ObjectResizeStart",function(){var t=l(e.selection.getNode());t&&t.toolbar.panel&&t.toolbar.panel.hide()}),e.on("ResizeEditor ResizeWindow",r(!0)),e.on("nodeChange",r(!1)),e.on("remove",function(){a.each(n(),function(e){e.panel&&e.panel.remove()}),e.contextToolbars={}}),e.shortcuts.add("ctrl+shift+e > ctrl+shift+p","",function(){var t=l(e.selection.getNode());t&&t.toolbar.panel&&t.toolbar.panel.items()[0].focus()})},V=(r=Array.prototype.indexOf)===undefined?function(e,t){return J(e,t)}:function(e,t){return r.call(e,t)},U=function(e,t){return V(e,t)>-1},Y=function(e,t){for(var n=e.length,i=new Array(n),r=0;r<n;r++){var o=e[r];i[r]=t(o,r,e)}return i},$=function(e,t){for(var n=0,i=e.length;n<i;n++)t(e[n],n,e)},j=function(e,t){for(var n=e.length-1;n>=0;n--)t(e[n],n,e)},q=function(e,t){for(var n=[],i=0,r=e.length;i<r;i++){var o=e[i];t(o,i,e)&&n.push(o)}return n},X=function(e,t){for(var n=0,i=e.length;n<i;n++)if(t(e[n],n,e))return W.some(n);return W.none()},J=function(e,t){for(var n=0,i=e.length;n<i;++n)if(e[n]===t)return n;return-1},G=Array.prototype.push,K=function(e){for(var t=[],n=0,i=e.length;n<i;++n){if(!Array.prototype.isPrototypeOf(e[n]))throw new Error("Arr.flatten item "+n+" was not an array, input: "+e);G.apply(t,e[n])}return t},Z=function(e,t){for(var n=0,i=e.length;n<i;++n)if(!0!==t(e[n],n,e))return!1;return!0},Q=Array.prototype.slice,ee={map:Y,each:$,eachr:j,partition:function(e,t){for(var n=[],i=[],r=0,o=e.length;r<o;r++){var s=e[r];(t(s,r,e)?n:i).push(s)}return{pass:n,fail:i}},filter:q,groupBy:function(e,t){if(0===e.length)return[];for(var n=t(e[0]),i=[],r=[],o=0,s=e.length;o<s;o++){var a=e[o],l=t(a);l!==n&&(i.push(r),r=[]),n=l,r.push(a)}return 0!==r.length&&i.push(r),i},indexOf:function(e,t){var n=V(e,t);return-1===n?W.none():W.some(n)},foldr:function(e,t,n){return j(e,function(e){n=t(n,e)}),n},foldl:function(e,t,n){return $(e,function(e){n=t(n,e)}),n},find:function(e,t){for(var n=0,i=e.length;n<i;n++){var r=e[n];if(t(r,n,e))return W.some(r)}return W.none()},findIndex:X,flatten:K,bind:function(e,t){var n=Y(e,t);return K(n)},forall:Z,exists:function(e,t){return X(e,t).isSome()},contains:U,equal:function(e,t){return e.length===t.length&&Z(e,function(e,n){return e===t[n]})},reverse:function(e){var t=Q.call(e,0);return t.reverse(),t},chunk:function(e,t){for(var n=[],i=0;i<e.length;i+=t){var r=e.slice(i,i+t);n.push(r)}return n},difference:function(e,t){return q(e,function(e){return!U(t,e)})},mapToObject:function(e,t){for(var n={},i=0,r=e.length;i<r;i++){var o=e[i];n[String(o)]=t(o,i)}return n},pure:function(e){return[e]},sort:function(e,t){var n=Q.call(e,0);return n.sort(t),n},range:function(e,t){for(var n=[],i=0;i<e;i++)n.push(t(i));return n},head:function(e){return 0===e.length?W.none():W.some(e[0])},last:function(e){return 0===e.length?W.none():W.some(e[e.length-1])}},te={file:{title:"File",items:"newdocument restoredraft | preview | print"},edit:{title:"Edit",items:"undo redo | cut copy paste pastetext | selectall"},view:{title:"View",items:"code | visualaid visualchars visualblocks | spellchecker | preview fullscreen"},insert:{title:"Insert",items:"image link media template codesample inserttable | charmap hr | pagebreak nonbreaking anchor toc | insertdatetime"},format:{title:"Format",items:"bold italic underline strikethrough superscript subscript codeformat | blockformats align | removeformat"},tools:{title:"Tools",items:"spellchecker spellcheckerlanguage | a11ycheck"},table:{title:"Table"},help:{title:"Help"}},ne=function(e,t){return"|"===e?{name:"|",item:{text:"|"}}:t?{name:e,item:t}:null},ie=function(e){return e&&"|"===e.item.text},re=function(e,t,n,i){var r,o,s,l,u,c,d,f;return t?(o=t[i],l=!0):o=te[i],o&&(r={text:o.title},s=[],a.each((o.items||"").split(/[ ,]/),function(t){var n=ne(t,e[t]);n&&s.push(n)}),l||a.each(e,function(e,t){var n,r;e.context!==i||(n=s,r=t,ee.findIndex(n,function(e){return e.name===r}).isSome())||("before"===e.separator&&s.push({name:"|",item:{text:"|"}}),e.prependToContext?s.unshift(ne(t,e)):s.push(ne(t,e)),"after"===e.separator&&s.push({name:"|",item:{text:"|"}}))}),r.menu=ee.map((u=s,c=n,d=ee.filter(u,function(e){return!1===c.hasOwnProperty(e.name)}),f=ee.filter(d,function(e,t,n){return!ie(e)||!ie(n[t-1])}),ee.filter(f,function(e,t,n){return!ie(e)||t>0&&t<n.length-1})),function(e){return e.item}),!r.menu.length)?null:r},oe=function(e){for(var t,n=[],i=function(e){var t,n=[],i=d(e);if(i)for(t in i)n.push(t);else for(t in te)n.push(t);return n}(e),r=a.makeMap((t=e,t.getParam("removed_menuitems","")).split(/[ ,]/)),o=u(e),s="string"==typeof o?o.split(/[ ,]/):i,l=0;l<s.length;l++){var c=s[l],f=re(e.menuItems,d(e),r,c);f&&n.push(f)}return n},se=m.DOM,ae=function(e){return{width:e.clientWidth,height:e.clientHeight}},le=function(e,t,n){var i,r,o,s;i=e.getContainer(),r=e.getContentAreaContainer().firstChild,o=ae(i),s=ae(r),null!==t&&(t=Math.max(e.getParam("min_width",100,"number"),t),t=Math.min(e.getParam("max_width",65535,"number"),t),se.setStyle(i,"width",t+(o.width-s.width)),se.setStyle(r,"width",t)),n=Math.max(e.getParam("min_height",100,"number"),n),n=Math.min(e.getParam("max_height",65535,"number"),n),se.setStyle(r,"height",n),b(e)},ue=le,ce=function(e,t,n){var i=e.getContentAreaContainer();le(e,i.clientWidth+t,i.clientHeight+n)},de=function(e,t,n){var i,r=e.settings[n];r&&r((i=t.getEl("body"),{element:function(){return i}}))},fe=function(e,t,n){return function(i){var r,o,s,l,u,c=i.control,d=c.parents().filter("panel")[0],f=d.find("#"+t)[0],h=(r=n,o=t,a.grep(r,function(e){return e.name===o})[0]);s=t,l=d,u=n,a.each(u,function(e){var t=l.items().filter("#"+e.name)[0];t&&t.visible()&&e.name!==s&&(de(e,t,"onhide"),t.visible(!1))}),c.parent().items().each(function(e){e.active(!1)}),f&&f.visible()?(de(h,f,"onhide"),f.hide(),c.active(!1)):(f?(f.show(),de(h,f,"onshow")):(f=g.create({type:"container",name:t,layout:"stack",classes:"sidebar-panel",html:""}),d.prepend(f),de(h,f,"onrender"),de(h,f,"onshow")),c.active(!0)),b(e)}},he=function(e){return!(_.ie&&!(_.ie>=11)||!e.sidebars)&&e.sidebars.length>0},me=function(e){return{type:"panel",name:"sidebar",layout:"stack",classes:"sidebar",items:[{type:"toolbar",layout:"stack",classes:"sidebar-toolbar",items:a.map(e.sidebars,function(t){var n=t.settings;return{type:"button",icon:n.icon,image:n.image,tooltip:n.tooltip,onclick:fe(e,t.name,e.sidebars)}})}]}},ge=function(e){var t=function(){e._skinLoaded=!0,v(e)};return function(){e.initialized?t():e.on("init",t)}},pe=m.DOM,ve=function(e){return{type:"panel",name:"iframe",layout:"stack",classes:"edit-area",border:e,html:""}},be=function(e,t,n){var i,r,o,s,a;if(!1===f(e)&&n.skinUiCss?pe.styleSheetLoader.load(n.skinUiCss,ge(e)):ge(e)(),i=t.panel=g.create({type:"panel",role:"application",classes:"tinymce",style:"visibility: hidden",layout:"stack",border:1,items:[{type:"container",classes:"top-part",items:[!1===l(e)?null:{type:"menubar",border:"0 0 1 0",items:oe(e)},B(e,c(e))]},he(e)?(s=e,{type:"panel",layout:"stack",classes:"edit-aria-container",border:"1 0 0 0",items:[ve("0"),me(s)]}):ve("1 0 0 0")]}),"none"!==h(e)&&(r={type:"resizehandle",direction:h(e),onResizeStart:function(){var t=e.getContentAreaContainer().firstChild;o={width:t.clientWidth,height:t.clientHeight}},onResize:function(t){"both"===h(e)?ue(e,o.width+t.deltaX,o.height+t.deltaY):ue(e,null,o.height+t.deltaY)}}),e.getParam("statusbar",!0,"boolean")){var u=p.translate(["Powered by {0}",'<a href="https://www.tinymce.com/?utm_campaign=editor_referral&utm_medium=poweredby&utm_source=tinymce" rel="noopener" target="_blank" role="presentation" tabindex="-1">tinymce</a>']),d=e.getParam("branding",!0,"boolean")?{type:"label",classes:"branding",html:" "+u}:null;i.add({type:"panel",name:"statusbar",classes:"statusbar",layout:"flow",border:"1 0 0 0",ariaRoot:!0,items:[{type:"elementpath",editor:e},r,d]})}return y(e),e.on("SwitchMode",(a=i,function(e){a.find("*").disabled("readonly"===e.mode)})),i.renderBefore(n.targetNode).reflow(),e.getParam("readonly",!1,"boolean")&&e.setMode("readonly"),n.width&&pe.setStyle(i.getEl(),"width",n.width),e.on("remove",function(){i.remove(),i=null}),w(e,i),F(e),{iframeContainer:i.find("#iframe")[0].getEl(),editorContainer:i.getEl()}},ye=tinymce.util.Tools.resolve("tinymce.dom.DomQuery"),xe=0,we={id:function(){return"mceu_"+xe++},create:function(e,t,n){var i=document.createElement(e);return m.DOM.setAttribs(i,t),"string"==typeof n?i.innerHTML=n:a.each(n,function(e){e.nodeType&&i.appendChild(e)}),i},createFragment:function(e){return m.DOM.createFragment(e)},getWindowSize:function(){return m.DOM.getViewPort()},getSize:function(e){var t,n;if(e.getBoundingClientRect){var i=e.getBoundingClientRect();t=Math.max(i.width||i.right-i.left,e.offsetWidth),n=Math.max(i.height||i.bottom-i.bottom,e.offsetHeight)}else t=e.offsetWidth,n=e.offsetHeight;return{width:t,height:n}},getPos:function(e,t){return m.DOM.getPos(e,t||we.getContainer())},getContainer:function(){return _.container?_.container:document.body},getViewPort:function(e){return m.DOM.getViewPort(e)},get:function(e){return document.getElementById(e)},addClass:function(e,t){return m.DOM.addClass(e,t)},removeClass:function(e,t){return m.DOM.removeClass(e,t)},hasClass:function(e,t){return m.DOM.hasClass(e,t)},toggleClass:function(e,t,n){return m.DOM.toggleClass(e,t,n)},css:function(e,t,n){return m.DOM.setStyle(e,t,n)},getRuntimeStyle:function(e,t){return m.DOM.getStyle(e,t,!0)},on:function(e,t,n,i){return m.DOM.bind(e,t,n,i)},off:function(e,t,n){return m.DOM.unbind(e,t,n)},fire:function(e,t,n){return m.DOM.fire(e,t,n)},innerHtml:function(e,t){m.DOM.setHTML(e,t)}};function _e(e,t,n){var i,r,o,s,a,l,u,c,d,f;return d=we.getViewPort(),o=(r=we.getPos(t)).x,s=r.y,e.state.get("fixed")&&"static"===we.getRuntimeStyle(document.body,"position")&&(o-=d.x,s-=d.y),i=e.getEl(),a=(f=we.getSize(i)).width,l=f.height,u=(f=we.getSize(t)).width,c=f.height,"b"===(n=(n||"").split(""))[0]&&(s+=c),"r"===n[1]&&(o+=u),"c"===n[0]&&(s+=Math.round(c/2)),"c"===n[1]&&(o+=Math.round(u/2)),"b"===n[3]&&(s-=l),"r"===n[4]&&(o-=a),"c"===n[3]&&(s-=Math.round(l/2)),"c"===n[4]&&(o-=Math.round(a/2)),{x:o,y:s,w:a,h:l}}var Re={testMoveRel:function(e,t){for(var n=we.getViewPort(),i=0;i<t.length;i++){var r=_e(this,e,t[i]);if(this.state.get("fixed")){if(r.x>0&&r.x+r.w<n.w&&r.y>0&&r.y+r.h<n.h)return t[i]}else if(r.x>n.x&&r.x+r.w<n.w+n.x&&r.y>n.y&&r.y+r.h<n.h+n.y)return t[i]}return t[0]},moveRel:function(e,t){"string"!=typeof t&&(t=this.testMoveRel(e,t));var n=_e(this,e,t);return this.moveTo(n.x,n.y)},moveBy:function(e,t){var n=this.layoutRect();return this.moveTo(n.x+e,n.y+t),this},moveTo:function(e,t){var n=this;function i(e,t,n){return e<0?0:e+n>t&&(e=t-n)<0?0:e}if(n.settings.constrainToViewport){var r=we.getViewPort(window),o=n.layoutRect();e=i(e,r.w+r.x,o.w),t=i(t,r.h+r.y,o.h)}return n.state.get("rendered")?n.layoutRect({x:e,y:t}).repaint():(n.settings.x=e,n.settings.y=t),n.fire("move",{x:e,y:t}),n}},Ce=tinymce.util.Tools.resolve("tinymce.util.Class"),ke=tinymce.util.Tools.resolve("tinymce.util.EventDispatcher"),Ee=function(e){var t;if(e)return"number"==typeof e?{top:e=e||0,left:e,bottom:e,right:e}:(1===(t=(e=e.split(" ")).length)?e[1]=e[2]=e[3]=e[0]:2===t?(e[2]=e[0],e[3]=e[1]):3===t&&(e[3]=e[1]),{top:parseInt(e[0],10)||0,right:parseInt(e[1],10)||0,bottom:parseInt(e[2],10)||0,left:parseInt(e[3],10)||0})},He=function(e,t){function n(t){var n=parseFloat(function(t){var n=e.ownerDocument.defaultView;if(n){var i=n.getComputedStyle(e,null);return i?(t=t.replace(/[A-Z]/g,function(e){return"-"+e}),i.getPropertyValue(t)):null}return e.currentStyle[t]}(t));return isNaN(n)?0:n}return{top:n(t+"TopWidth"),right:n(t+"RightWidth"),bottom:n(t+"BottomWidth"),left:n(t+"LeftWidth")}};function Se(){}function Me(e){this.cls=[],this.cls._map={},this.onchange=e||Se,this.prefix=""}a.extend(Me.prototype,{add:function(e){return e&&!this.contains(e)&&(this.cls._map[e]=!0,this.cls.push(e),this._change()),this},remove:function(e){if(this.contains(e)){var t=void 0;for(t=0;t<this.cls.length&&this.cls[t]!==e;t++);this.cls.splice(t,1),delete this.cls._map[e],this._change()}return this},toggle:function(e,t){var n=this.contains(e);return n!==t&&(n?this.remove(e):this.add(e),this._change()),this},contains:function(e){return!!this.cls._map[e]},_change:function(){delete this.clsValue,this.onchange.call(this)}}),Me.prototype.toString=function(){var e;if(this.clsValue)return this.clsValue;e="";for(var t=0;t<this.cls.length;t++)t>0&&(e+=" "),e+=this.prefix+this.cls[t];return e};var Te,Pe,We,De=/^([\w\\*]+)?(?:#([\w\-\\]+))?(?:\.([\w\\\.]+))?(?:\[\@?([\w\\]+)([\^\$\*!~]?=)([\w\\]+)\])?(?:\:(.+))?/i,Ne=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,Ae=/^\s*|\s*$/g,Be=Ce.extend({init:function(e){var t=this.match;function n(e,n,r){var o;function s(e){e&&n.push(e)}return s(function(e){if(e)return e=e.toLowerCase(),function(t){return"*"===e||t.type===e}}((o=De.exec(e.replace(Ae,"")))[1])),s(function(e){if(e)return function(t){return t._name===e}}(o[2])),s(function(e){if(e)return e=e.split("."),function(t){for(var n=e.length;n--;)if(!t.classes.contains(e[n]))return!1;return!0}}(o[3])),s(function(e,t,n){if(e)return function(i){var r=i[e]?i[e]():"";return t?"="===t?r===n:"*="===t?r.indexOf(n)>=0:"~="===t?(" "+r+" ").indexOf(" "+n+" ")>=0:"!="===t?r!==n:"^="===t?0===r.indexOf(n):"$="===t&&r.substr(r.length-n.length)===n:!!n}}(o[4],o[5],o[6])),s(function(e){var n;if(e)return(e=/(?:not\((.+)\))|(.+)/i.exec(e))[1]?(n=i(e[1],[]),function(e){return!t(e,n)}):(e=e[2],function(t,n,i){return"first"===e?0===n:"last"===e?n===i-1:"even"===e?n%2==0:"odd"===e?n%2==1:!!t[e]&&t[e]()})}(o[7])),n.pseudo=!!o[7],n.direct=r,n}function i(e,t){var r,o,s,a=[];do{if(Ne.exec(""),(o=Ne.exec(e))&&(e=o[3],a.push(o[1]),o[2])){r=o[3];break}}while(o);for(r&&i(r,t),e=[],s=0;s<a.length;s++)">"!==a[s]&&e.push(n(a[s],[],">"===a[s-1]));return t.push(e),t}this._selectors=i(e,[])},match:function(e,t){var n,i,r,o,s,a,l,u,c,d,f,h,m;for(n=0,i=(t=t||this._selectors).length;n<i;n++){for(m=e,h=0,r=(o=(s=t[n]).length)-1;r>=0;r--)for(u=s[r];m;){if(u.pseudo)for(c=d=(f=m.parent().items()).length;c--&&f[c]!==m;);for(a=0,l=u.length;a<l;a++)if(!u[a](m,c,d)){a=l+1;break}if(a===l){h++;break}if(r===o-1)break;m=m.parent()}if(h===o)return!0}return!1},find:function(e){var t,n,i=[],r=this._selectors;function o(e,t,n){var r,s,a,l,u,c=t[n];for(r=0,s=e.length;r<s;r++){for(u=e[r],a=0,l=c.length;a<l;a++)if(!c[a](u,r,s)){a=l+1;break}if(a===l)n===t.length-1?i.push(u):u.items&&o(u.items(),t,n+1);else if(c.direct)return;u.items&&o(u.items(),t,n)}}if(e.items){for(t=0,n=r.length;t<n;t++)o(e.items(),r[t],0);n>1&&(i=function(e){for(var t,n=[],i=e.length;i--;)(t=e[i]).__checked||(n.push(t),t.__checked=1);for(i=n.length;i--;)delete n[i].__checked;return n}(i))}return Te||(Te=Be.Collection),new Te(i)}}),Oe=Array.prototype.push,ze=Array.prototype.slice;We={length:0,init:function(e){e&&this.add(e)},add:function(e){return a.isArray(e)?Oe.apply(this,e):e instanceof Pe?this.add(e.toArray()):Oe.call(this,e),this},set:function(e){var t,n=this,i=n.length;for(n.length=0,n.add(e),t=n.length;t<i;t++)delete n[t];return n},filter:function(e){var t,n,i,r,o=[];for("string"==typeof e?(e=new Be(e),r=function(t){return e.match(t)}):r=e,t=0,n=this.length;t<n;t++)r(i=this[t])&&o.push(i);return new Pe(o)},slice:function(){return new Pe(ze.apply(this,arguments))},eq:function(e){return-1===e?this.slice(e):this.slice(e,+e+1)},each:function(e){return a.each(this,e),this},toArray:function(){return a.toArray(this)},indexOf:function(e){for(var t=this.length;t--&&this[t]!==e;);return t},reverse:function(){return new Pe(a.toArray(this).reverse())},hasClass:function(e){return!!this[0]&&this[0].classes.contains(e)},prop:function(e,t){var n;return t!==undefined?(this.each(function(n){n[e]&&n[e](t)}),this):(n=this[0])&&n[e]?n[e]():void 0},exec:function(e){var t=a.toArray(arguments).slice(1);return this.each(function(n){n[e]&&n[e].apply(n,t)}),this},remove:function(){for(var e=this.length;e--;)this[e].remove();return this},addClass:function(e){return this.each(function(t){t.classes.add(e)})},removeClass:function(e){return this.each(function(t){t.classes.remove(e)})}},a.each("fire on off show hide append prepend before after reflow".split(" "),function(e){We[e]=function(){var t=a.toArray(arguments);return this.each(function(n){e in n&&n[e].apply(n,t)}),this}}),a.each("text name disabled active selected checked visible parent value data".split(" "),function(e){We[e]=function(t){return this.prop(e,t)}}),Pe=Ce.extend(We),Be.Collection=Pe;var Le=Pe,Ie=function(e){this.create=e.create};Ie.create=function(e,t){return new Ie({create:function(n,i){var r,o=function(e){n.set(i,e.value)};return n.on("change:"+i,function(n){e.set(t,n.value)}),e.on("change:"+t,o),(r=n._bindings)||(r=n._bindings=[],n.on("destroy",function(){for(var e=r.length;e--;)r[e]()})),r.push(function(){e.off("change:"+t,o)}),e.get(t)}})};var Fe=tinymce.util.Tools.resolve("tinymce.util.Observable");function Ve(e){return e.nodeType>0}var Ue,Ye,$e=Ce.extend({Mixins:[Fe],init:function(e){var t,n;for(t in e=e||{})(n=e[t])instanceof Ie&&(e[t]=n.create(this,t));this.data=e},set:function(e,t){var n,i,r=this.data[e];if(t instanceof Ie&&(t=t.create(this,e)),"object"==typeof e){for(n in e)this.set(n,e[n]);return this}return function o(e,t){var n,i;if(e===t)return!0;if(null===e||null===t)return e===t;if("object"!=typeof e||"object"!=typeof t)return e===t;if(a.isArray(t)){if(e.length!==t.length)return!1;for(n=e.length;n--;)if(!o(e[n],t[n]))return!1}if(Ve(e)||Ve(t))return e===t;for(n in i={},t){if(!o(e[n],t[n]))return!1;i[n]=!0}for(n in e)if(!i[n]&&!o(e[n],t[n]))return!1;return!0}(r,t)||(this.data[e]=t,i={target:this,name:e,value:t,oldValue:r},this.fire("change:"+e,i),this.fire("change",i)),this},get:function(e){return this.data[e]},has:function(e){return e in this.data},bind:function(e){return Ie.create(this,e)},destroy:function(){this.fire("destroy")}}),je={},qe={add:function(e){var t=e.parent();if(t){if(!t._layout||t._layout.isNative())return;je[t._id]||(je[t._id]=t),Ue||(Ue=!0,C.requestAnimationFrame(function(){var e,t;for(e in Ue=!1,je)(t=je[e]).state.get("rendered")&&t.reflow();je={}},document.body))}},remove:function(e){je[e._id]&&delete je[e._id]}},Xe="onmousewheel"in document,Je=!1,Ge=0,Ke={Statics:{classPrefix:"mce-"},isRtl:function(){return Ye.rtl},classPrefix:"mce-",init:function(e){var t,n,i=this;function r(e){var t;for(e=e.split(" "),t=0;t<e.length;t++)i.classes.add(e[t])}i.settings=e=a.extend({},i.Defaults,e),i._id=e.id||"mceu_"+Ge++,i._aria={role:e.role},i._elmCache={},i.$=ye,i.state=new $e({visible:!0,active:!1,disabled:!1,value:""}),i.data=new $e(e.data),i.classes=new Me(function(){i.state.get("rendered")&&(i.getEl().className=this.toString())}),i.classes.prefix=i.classPrefix,(t=e.classes)&&(i.Defaults&&(n=i.Defaults.classes)&&t!==n&&r(n),r(t)),a.each("title text name visible disabled active value".split(" "),function(t){t in e&&i[t](e[t])}),i.on("click",function(){if(i.disabled())return!1}),i.settings=e,i.borderBox=Ee(e.border),i.paddingBox=Ee(e.padding),i.marginBox=Ee(e.margin),e.hidden&&i.hide()},Properties:"parent,name",getContainerElm:function(){return we.getContainer()},getParentCtrl:function(e){for(var t,n=this.getRoot().controlIdLookup;e&&n&&!(t=n[e.id]);)e=e.parentNode;return t},initLayoutRect:function(){var e,t,n,i,r,o,s,a,l,u,c=this,d=c.settings,f=c.getEl();e=c.borderBox=c.borderBox||He(f,"border"),c.paddingBox=c.paddingBox||He(f,"padding"),c.marginBox=c.marginBox||He(f,"margin"),u=we.getSize(f),a=d.minWidth,l=d.minHeight,r=a||u.width,o=l||u.height,n=d.width,i=d.height,s=void 0!==(s=d.autoResize)?s:!n&&!i,n=n||r,i=i||o;var h=e.left+e.right,m=e.top+e.bottom,g=d.maxWidth||65535,p=d.maxHeight||65535;return c._layoutRect=t={x:d.x||0,y:d.y||0,w:n,h:i,deltaW:h,deltaH:m,contentW:n-h,contentH:i-m,innerW:n-h,innerH:i-m,startMinWidth:a||0,startMinHeight:l||0,minW:Math.min(r,g),minH:Math.min(o,p),maxW:g,maxH:p,autoResize:s,scrollW:0},c._lastLayoutRect={},t},layoutRect:function(e){var t,n,i,r,o,s=this,a=s._layoutRect;return a||(a=s.initLayoutRect()),e?(i=a.deltaW,r=a.deltaH,e.x!==undefined&&(a.x=e.x),e.y!==undefined&&(a.y=e.y),e.minW!==undefined&&(a.minW=e.minW),e.minH!==undefined&&(a.minH=e.minH),(n=e.w)!==undefined&&(n=(n=n<a.minW?a.minW:n)>a.maxW?a.maxW:n,a.w=n,a.innerW=n-i),(n=e.h)!==undefined&&(n=(n=n<a.minH?a.minH:n)>a.maxH?a.maxH:n,a.h=n,a.innerH=n-r),(n=e.innerW)!==undefined&&(n=(n=n<a.minW-i?a.minW-i:n)>a.maxW-i?a.maxW-i:n,a.innerW=n,a.w=n+i),(n=e.innerH)!==undefined&&(n=(n=n<a.minH-r?a.minH-r:n)>a.maxH-r?a.maxH-r:n,a.innerH=n,a.h=n+r),e.contentW!==undefined&&(a.contentW=e.contentW),e.contentH!==undefined&&(a.contentH=e.contentH),(t=s._lastLayoutRect).x===a.x&&t.y===a.y&&t.w===a.w&&t.h===a.h||((o=Ye.repaintControls)&&o.map&&!o.map[s._id]&&(o.push(s),o.map[s._id]=!0),t.x=a.x,t.y=a.y,t.w=a.w,t.h=a.h),s):a},repaint:function(){var e,t,n,i,r,o,s,a,l,u,c=this;l=document.createRange?function(e){return e}:Math.round,e=c.getEl().style,i=c._layoutRect,a=c._lastRepaintRect||{},o=(r=c.borderBox).left+r.right,s=r.top+r.bottom,i.x!==a.x&&(e.left=l(i.x)+"px",a.x=i.x),i.y!==a.y&&(e.top=l(i.y)+"px",a.y=i.y),i.w!==a.w&&(u=l(i.w-o),e.width=(u>=0?u:0)+"px",a.w=i.w),i.h!==a.h&&(u=l(i.h-s),e.height=(u>=0?u:0)+"px",a.h=i.h),c._hasBody&&i.innerW!==a.innerW&&(u=l(i.innerW),(n=c.getEl("body"))&&((t=n.style).width=(u>=0?u:0)+"px"),a.innerW=i.innerW),c._hasBody&&i.innerH!==a.innerH&&(u=l(i.innerH),(n=n||c.getEl("body"))&&((t=t||n.style).height=(u>=0?u:0)+"px"),a.innerH=i.innerH),c._lastRepaintRect=a,c.fire("repaint",{},!1)},updateLayoutRect:function(){var e=this;e.parent()._lastRect=null,we.css(e.getEl(),{width:"",height:""}),e._layoutRect=e._lastRepaintRect=e._lastLayoutRect=null,e.initLayoutRect()},on:function(e,t){var n,i,r,o=this;return Ze(o).on(e,"string"!=typeof(n=t)?n:function(e){return i||o.parentsAndSelf().each(function(e){var t=e.settings.callbacks;if(t&&(i=t[n]))return r=e,!1}),i?i.call(r,e):(e.action=n,void this.fire("execute",e))}),o},off:function(e,t){return Ze(this).off(e,t),this},fire:function(e,t,n){if((t=t||{}).control||(t.control=this),t=Ze(this).fire(e,t),!1!==n&&this.parent)for(var i=this.parent();i&&!t.isPropagationStopped();)i.fire(e,t,!1),i=i.parent();return t},hasEventListeners:function(e){return Ze(this).has(e)},parents:function(e){var t,n=new Le;for(t=this.parent();t;t=t.parent())n.add(t);return e&&(n=n.filter(e)),n},parentsAndSelf:function(e){return new Le(this).add(this.parents(e))},next:function(){var e=this.parent().items();return e[e.indexOf(this)+1]},prev:function(){var e=this.parent().items();return e[e.indexOf(this)-1]},innerHtml:function(e){return this.$el.html(e),this},getEl:function(e){var t=e?this._id+"-"+e:this._id;return this._elmCache[t]||(this._elmCache[t]=ye("#"+t)[0]),this._elmCache[t]},show:function(){return this.visible(!0)},hide:function(){return this.visible(!1)},focus:function(){try{this.getEl().focus()}catch(e){}return this},blur:function(){return this.getEl().blur(),this},aria:function(e,t){var n=this,i=n.getEl(n.ariaTarget);return void 0===t?n._aria[e]:(n._aria[e]=t,n.state.get("rendered")&&i.setAttribute("role"===e?e:"aria-"+e,t),n)},encode:function(e,t){return!1!==t&&(e=this.translate(e)),(e||"").replace(/[&<>"]/g,function(e){return"&#"+e.charCodeAt(0)+";"})},translate:function(e){return Ye.translate?Ye.translate(e):e},before:function(e){var t=this.parent();return t&&t.insert(e,t.items().indexOf(this),!0),this},after:function(e){var t=this.parent();return t&&t.insert(e,t.items().indexOf(this)),this},remove:function(){var e,t,n=this,i=n.getEl(),r=n.parent();if(n.items){var o=n.items().toArray();for(t=o.length;t--;)o[t].remove()}r&&r.items&&(e=[],r.items().each(function(t){t!==n&&e.push(t)}),r.items().set(e),r._lastRect=null),n._eventsRoot&&n._eventsRoot===n&&ye(i).off();var s=n.getRoot().controlIdLookup;return s&&delete s[n._id],i&&i.parentNode&&i.parentNode.removeChild(i),n.state.set("rendered",!1),n.state.destroy(),n.fire("remove"),n},renderBefore:function(e){return ye(e).before(this.renderHtml()),this.postRender(),this},renderTo:function(e){return ye(e||this.getContainerElm()).append(this.renderHtml()),this.postRender(),this},preRender:function(){},render:function(){},renderHtml:function(){return'<div id="'+this._id+'" class="'+this.classes+'"></div>'},postRender:function(){var e,t,n,i,r,o=this,s=o.settings;for(i in o.$el=ye(o.getEl()),o.state.set("rendered",!0),s)0===i.indexOf("on")&&o.on(i.substr(2),s[i]);if(o._eventsRoot){for(n=o.parent();!r&&n;n=n.parent())r=n._eventsRoot;if(r)for(i in r._nativeEvents)o._nativeEvents[i]=!0}Qe(o),s.style&&(e=o.getEl())&&(e.setAttribute("style",s.style),e.style.cssText=s.style),o.settings.border&&(t=o.borderBox,o.$el.css({"border-top-width":t.top,"border-right-width":t.right,"border-bottom-width":t.bottom,"border-left-width":t.left}));var a=o.getRoot();for(var l in a.controlIdLookup||(a.controlIdLookup={}),a.controlIdLookup[o._id]=o,o._aria)o.aria(l,o._aria[l]);!1===o.state.get("visible")&&(o.getEl().style.display="none"),o.bindStates(),o.state.on("change:visible",function(e){var t,n=e.value;o.state.get("rendered")&&(o.getEl().style.display=!1===n?"none":"",o.getEl().getBoundingClientRect()),(t=o.parent())&&(t._lastRect=null),o.fire(n?"show":"hide"),qe.add(o)}),o.fire("postrender",{},!1)},bindStates:function(){},scrollIntoView:function(e){var t,n,i,r,o,s,a=this.getEl(),l=a.parentNode,u=function(e,t){var n,i,r=e;for(n=i=0;r&&r!==t&&r.nodeType;)n+=r.offsetLeft||0,i+=r.offsetTop||0,r=r.offsetParent;return{x:n,y:i}}(a,l);return t=u.x,n=u.y,i=a.offsetWidth,r=a.offsetHeight,o=l.clientWidth,s=l.clientHeight,"end"===e?(t-=o-i,n-=s-r):"center"===e&&(t-=o/2-i/2,n-=s/2-r/2),l.scrollLeft=t,l.scrollTop=n,this},getRoot:function(){for(var e,t=this,n=[];t;){if(t.rootControl){e=t.rootControl;break}n.push(t),e=t,t=t.parent()}e||(e=this);for(var i=n.length;i--;)n[i].rootControl=e;return e},reflow:function(){qe.remove(this);var e=this.parent();return e&&e._layout&&!e._layout.isNative()&&e.reflow(),this}};function Ze(e){return e._eventDispatcher||(e._eventDispatcher=new ke({scope:e,toggleEvent:function(t,n){n&&ke.isNative(t)&&(e._nativeEvents||(e._nativeEvents={}),e._nativeEvents[t]=!0,e.state.get("rendered")&&Qe(e))}})),e._eventDispatcher}function Qe(e){var t,n,i,r,o,s;function a(t){var n=e.getParentCtrl(t.target);n&&n.fire(t.type,t)}function l(){var e=r._lastHoverCtrl;e&&(e.fire("mouseleave",{target:e.getEl()}),e.parents().each(function(e){e.fire("mouseleave",{target:e.getEl()})}),r._lastHoverCtrl=null)}function u(t){var n,i,o,s=e.getParentCtrl(t.target),a=r._lastHoverCtrl,l=0;if(s!==a){if(r._lastHoverCtrl=s,(i=s.parents().toArray().reverse()).push(s),a){for((o=a.parents().toArray().reverse()).push(a),l=0;l<o.length&&i[l]===o[l];l++);for(n=o.length-1;n>=l;n--)(a=o[n]).fire("mouseleave",{target:a.getEl()})}for(n=l;n<i.length;n++)(s=i[n]).fire("mouseenter",{target:s.getEl()})}}function c(t){t.preventDefault(),"mousewheel"===t.type?(t.deltaY=-.025*t.wheelDelta,t.wheelDeltaX&&(t.deltaX=-.025*t.wheelDeltaX)):(t.deltaX=0,t.deltaY=t.detail),t=e.fire("wheel",t)}if(o=e._nativeEvents){for((i=e.parents().toArray()).unshift(e),t=0,n=i.length;!r&&t<n;t++)r=i[t]._eventsRoot;for(r||(r=i[i.length-1]||e),e._eventsRoot=r,n=t,t=0;t<n;t++)i[t]._eventsRoot=r;var d=r._delegates;for(s in d||(d=r._delegates={}),o){if(!o)return!1;"wheel"!==s||Je?("mouseenter"===s||"mouseleave"===s?r._hasMouseEnter||(ye(r.getEl()).on("mouseleave",l).on("mouseover",u),r._hasMouseEnter=1):d[s]||(ye(r.getEl()).on(s,a),d[s]=!0),o[s]=!1):Xe?ye(e.getEl()).on("mousewheel",c):ye(e.getEl()).on("DOMMouseScroll",c)}}}a.each("text title visible disabled active value".split(" "),function(e){Ke[e]=function(t){return 0===arguments.length?this.state.get(e):(void 0!==t&&this.state.set(e,t),this)}});var et=Ye=Ce.extend(Ke),tt=function(e){return!!e.getAttribute("data-mce-tabstop")},nt=function(e){var t,n,i=e.root;function r(e){return e&&1===e.nodeType}try{t=document.activeElement}catch(y){t=document.body}function o(e){return r(e=e||t)?e.getAttribute("role"):null}function s(e){for(var n,i=e||t;i=i.parentNode;)if(n=o(i))return n}function a(e){var n=t;if(r(n))return n.getAttribute("aria-"+e)}function l(e){var t=e.tagName.toUpperCase();return"INPUT"===t||"TEXTAREA"===t||"SELECT"===t}function u(e){var t=[];return function n(e){if(1===e.nodeType&&"none"!==e.style.display&&!e.disabled){var i;(l(i=e)&&!i.hidden||tt(i)||/^(button|menuitem|checkbox|tab|menuitemcheckbox|option|gridcell|slider)$/.test(o(i)))&&t.push(e);for(var r=0;r<e.childNodes.length;r++)n(e.childNodes[r])}}(e||i.getEl()),t}function c(e){var t,i;(i=(e=e||n).parents().toArray()).unshift(e);for(var r=0;r<i.length&&!(t=i[r]).settings.ariaRoot;r++);return t}function d(e,t){return e<0?e=t.length-1:e>=t.length&&(e=0),t[e]&&t[e].focus(),e}function f(e,n){var i=-1,r=c();n=n||u(r.getEl());for(var o=0;o<n.length;o++)n[o]===t&&(i=o);i+=e,r.lastAriaIndex=d(i,n)}function h(){"tablist"===s()?f(-1,u(t.parentNode)):n.parent().submenu?v():f(-1)}function m(){var e=o(),n=s();"tablist"===n?f(1,u(t.parentNode)):"menuitem"===e&&"menu"===n&&a("haspopup")?b():f(1)}function g(){f(-1)}function p(){var e=o(),t=s();"menuitem"===e&&"menubar"===t?b():"button"===e&&a("haspopup")?b({key:"down"}):f(1)}function v(){n.fire("cancel")}function b(e){e=e||{},n.fire("click",{target:t,aria:e})}return n=i.getParentCtrl(t),i.on("keydown",function(e){function i(e,n){l(t)||tt(t)||"slider"!==o(t)&&!1!==n(e)&&e.preventDefault()}if(!e.isDefaultPrevented())switch(e.keyCode){case 37:i(e,h);break;case 39:i(e,m);break;case 38:i(e,g);break;case 40:i(e,p);break;case 27:v();break;case 14:case 13:case 32:i(e,b);break;case 9:!function(e){if("tablist"===s()){var t=u(n.getEl("body"))[0];t&&t.focus()}else f(e.shiftKey?-1:1)}(e),e.preventDefault()}}),i.on("focusin",function(e){t=e.target,n=e.control}),{focusFirst:function(e){var t=c(e),n=u(t.getEl());t.settings.ariaRemember&&"lastAriaIndex"in t?d(t.lastAriaIndex,n):d(0,n)}}},it={},rt=et.extend({init:function(e){var t=this;t._super(e),(e=t.settings).fixed&&t.state.set("fixed",!0),t._items=new Le,t.isRtl()&&t.classes.add("rtl"),t.bodyClasses=new Me(function(){t.state.get("rendered")&&(t.getEl("body").className=this.toString())}),t.bodyClasses.prefix=t.classPrefix,t.classes.add("container"),t.bodyClasses.add("container-body"),e.containerCls&&t.classes.add(e.containerCls),t._layout=g.create((e.layout||"")+"layout"),t.settings.items?t.add(t.settings.items):t.add(t.render()),t._hasBody=!0},items:function(){return this._items},find:function(e){return(e=it[e]=it[e]||new Be(e)).find(this)},add:function(e){return this.items().add(this.create(e)).parent(this),this},focus:function(e){var t,n,i,r=this;if(!e||!(n=r.keyboardNav||r.parents().eq(-1)[0].keyboardNav))return i=r.find("*"),r.statusbar&&i.add(r.statusbar.items()),i.each(function(e){if(e.settings.autofocus)return t=null,!1;e.canFocus&&(t=t||e)}),t&&t.focus(),r;n.focusFirst(r)},replace:function(e,t){for(var n,i=this.items(),r=i.length;r--;)if(i[r]===e){i[r]=t;break}r>=0&&((n=t.getEl())&&n.parentNode.removeChild(n),(n=e.getEl())&&n.parentNode.removeChild(n)),t.parent(this)},create:function(e){var t,n=this,i=[];return a.isArray(e)||(e=[e]),a.each(e,function(e){e&&(e instanceof et||("string"==typeof e&&(e={type:e}),t=a.extend({},n.settings.defaults,e),e.type=t.type=t.type||e.type||n.settings.defaultType||(t.defaults?t.defaults.type:null),e=g.create(t)),i.push(e))}),i},renderNew:function(){var e=this;return e.items().each(function(t,n){var i;t.parent(e),t.state.get("rendered")||((i=e.getEl("body")).hasChildNodes()&&n<=i.childNodes.length-1?ye(i.childNodes[n]).before(t.renderHtml()):ye(i).append(t.renderHtml()),t.postRender(),qe.add(t))}),e._layout.applyClasses(e.items().filter(":visible")),e._lastRect=null,e},append:function(e){return this.add(e).renderNew()},prepend:function(e){return this.items().set(this.create(e).concat(this.items().toArray())),this.renderNew()},insert:function(e,t,n){var i,r,o;return e=this.create(e),i=this.items(),!n&&t<i.length-1&&(t+=1),t>=0&&t<i.length&&(r=i.slice(0,t).toArray(),o=i.slice(t).toArray(),i.set(r.concat(e,o))),this.renderNew()},fromJSON:function(e){for(var t in e)this.find("#"+t).value(e[t]);return this},toJSON:function(){var e={};return this.find("*").each(function(t){var n=t.name(),i=t.value();n&&void 0!==i&&(e[n]=i)}),e},renderHtml:function(){var e=this,t=e._layout,n=this.settings.role;return e.preRender(),t.preRender(e),'<div id="'+e._id+'" class="'+e.classes+'"'+(n?' role="'+this.settings.role+'"':"")+'><div id="'+e._id+'-body" class="'+e.bodyClasses+'">'+(e.settings.html||"")+t.renderHtml(e)+"</div></div>"},postRender:function(){var e,t=this;return t.items().exec("postRender"),t._super(),t._layout.postRender(t),t.state.set("rendered",!0),t.settings.style&&t.$el.css(t.settings.style),t.settings.border&&(e=t.borderBox,t.$el.css({"border-top-width":e.top,"border-right-width":e.right,"border-bottom-width":e.bottom,"border-left-width":e.left})),t.parent()||(t.keyboardNav=nt({root:t})),t},initLayoutRect:function(){var e=this._super();return this._layout.recalc(this),e},recalc:function(){var e=this,t=e._layoutRect,n=e._lastRect;if(!n||n.w!==t.w||n.h!==t.h)return e._layout.recalc(e),t=e.layoutRect(),e._lastRect={x:t.x,y:t.y,w:t.w,h:t.h},!0},reflow:function(){var e;if(qe.remove(this),this.visible()){for(et.repaintControls=[],et.repaintControls.map={},this.recalc(),e=et.repaintControls.length;e--;)et.repaintControls[e].repaint();"flow"!==this.settings.layout&&"stack"!==this.settings.layout&&this.repaint(),et.repaintControls=[]}return this}});function ot(e){var t,n;if(e.changedTouches)for(t="screenX screenY pageX pageY clientX clientY".split(" "),n=0;n<t.length;n++)e[t[n]]=e.changedTouches[0][t[n]]}var st,at,lt,ut,ct=function(e,t){var n,i,r,o,s,a,l,u=t.document||document;function c(){return u.getElementById(t.handle||e)}t=t||{},r=function(e){var r,d,f,h,m,g,p,v,b,y,x,w,_=(r=u,y=Math.max,d=r.documentElement,f=r.body,h=y(d.scrollWidth,f.scrollWidth),m=y(d.clientWidth,f.clientWidth),g=y(d.offsetWidth,f.offsetWidth),p=y(d.scrollHeight,f.scrollHeight),v=y(d.clientHeight,f.clientHeight),b=y(d.offsetHeight,f.offsetHeight),{width:h<g?m:h,height:p<b?v:p});ot(e),e.preventDefault(),i=e.button,x=c(),a=e.screenX,l=e.screenY,w=window.getComputedStyle?window.getComputedStyle(x,null).getPropertyValue("cursor"):x.runtimeStyle.cursor,n=ye("<div></div>").css({position:"absolute",top:0,left:0,width:_.width,height:_.height,zIndex:2147483647,opacity:1e-4,cursor:w}).appendTo(u.body),ye(u).on("mousemove touchmove",s).on("mouseup touchend",o),t.start(e)},s=function(e){if(ot(e),e.button!==i)return o(e);e.deltaX=e.screenX-a,e.deltaY=e.screenY-l,e.preventDefault(),t.drag(e)},o=function(e){ot(e),ye(u).off("mousemove touchmove",s).off("mouseup touchend",o),n.remove(),t.stop&&t.stop(e)},this.destroy=function(){ye(c()).off()},ye(c()).on("mousedown touchstart",r)},dt={init:function(){this.on("repaint",this.renderScroll)},renderScroll:function(){var e=this,t=2;function n(){var n,i,r;function o(r,o,s,a,l,u){var c,d,f,h,m,g,p,v;if(d=e.getEl("scroll"+r)){if(p=o.toLowerCase(),v=s.toLowerCase(),ye(e.getEl("absend")).css(p,e.layoutRect()[a]-1),!l)return void ye(d).css("display","none");ye(d).css("display","block"),c=e.getEl("body"),f=e.getEl("scroll"+r+"t"),h=c["client"+s]-2*t,m=(h-=n&&i?d["client"+u]:0)/c["scroll"+s],(g={})[p]=c["offset"+o]+t,g[v]=h,ye(d).css(g),(g={})[p]=c["scroll"+o]*m,g[v]=h*m,ye(f).css(g)}}r=e.getEl("body"),n=r.scrollWidth>r.clientWidth,i=r.scrollHeight>r.clientHeight,o("h","Left","Width","contentW",n,"Height"),o("v","Top","Height","contentH",i,"Width")}e.settings.autoScroll&&(e._hasScroll||(e._hasScroll=!0,function(){function n(n,i,r,o,s){var a,l=e._id+"-scroll"+n,u=e.classPrefix;ye(e.getEl()).append('<div id="'+l+'" class="'+u+"scrollbar "+u+"scrollbar-"+n+'"><div id="'+l+'t" class="'+u+'scrollbar-thumb"></div></div>'),e.draghelper=new ct(l+"t",{start:function(){a=e.getEl("body")["scroll"+i],ye("#"+l).addClass(u+"active")},drag:function(l){var u,c,d,f,h=e.layoutRect();c=h.contentW>h.innerW,d=h.contentH>h.innerH,f=e.getEl("body")["client"+r]-2*t,u=(f-=c&&d?e.getEl("scroll"+n)["client"+s]:0)/e.getEl("body")["scroll"+r],e.getEl("body")["scroll"+i]=a+l["delta"+o]/u},stop:function(){ye("#"+l).removeClass(u+"active")}})}e.classes.add("scroll"),n("v","Top","Height","Y","Width"),n("h","Left","Width","X","Height")}(),e.on("wheel",function(t){var i=e.getEl("body");i.scrollLeft+=10*(t.deltaX||0),i.scrollTop+=10*t.deltaY,n()}),ye(e.getEl("body")).on("scroll",n)),n())}},ft=rt.extend({Defaults:{layout:"fit",containerCls:"panel"},Mixins:[dt],renderHtml:function(){var e=this,t=e._layout,n=e.settings.html;return e.preRender(),t.preRender(e),void 0===n?n='<div id="'+e._id+'-body" class="'+e.bodyClasses+'">'+t.renderHtml(e)+"</div>":("function"==typeof n&&(n=n.call(e)),e._hasBody=!1),'<div id="'+e._id+'" class="'+e.classes+'" hidefocus="1" tabindex="-1" role="group">'+(e._preBodyHtml||"")+n+"</div>"}}),ht={resizeToContent:function(){this._layoutRect.autoResize=!0,this._lastRect=null,this.reflow()},resizeTo:function(e,t){if(e<=1||t<=1){var n=we.getWindowSize();e=e<=1?e*n.w:e,t=t<=1?t*n.h:t}return this._layoutRect.autoResize=!1,this.layoutRect({minW:e,minH:t,w:e,h:t}).reflow()},resizeBy:function(e,t){var n=this.layoutRect();return this.resizeTo(n.w+e,n.h+t)}},mt=[],gt=[];function pt(e,t){for(;e;){if(e===t)return!0;e=e.parent()}}function vt(){st||(st=function(e){2!==e.button&&function(e){for(var t=mt.length;t--;){var n=mt[t],i=n.getParentCtrl(e.target);if(n.settings.autohide){if(i&&(pt(i,n)||n.parent()===i))continue;(e=n.fire("autohide",{target:e.target})).isDefaultPrevented()||n.hide()}}}(e)},ye(document).on("click touchstart",st))}function bt(e){var t=we.getViewPort().y;function n(t,n){for(var i,r=0;r<mt.length;r++)if(mt[r]!==e)for(i=mt[r].parent();i&&(i=i.parent());)i===e&&mt[r].fixed(t).moveBy(0,n).repaint()}e.settings.autofix&&(e.state.get("fixed")?e._autoFixY>t&&(e.fixed(!1).layoutRect({y:e._autoFixY}).repaint(),n(!1,e._autoFixY-t)):(e._autoFixY=e.layoutRect().y,e._autoFixY<t&&(e.fixed(!0).layoutRect({y:0}).repaint(),n(!0,t-e._autoFixY))))}function yt(e,t){var n,i,r=xt.zIndex||65535;if(e)gt.push(t);else for(n=gt.length;n--;)gt[n]===t&>.splice(n,1);if(gt.length)for(n=0;n<gt.length;n++)gt[n].modal&&(r++,i=gt[n]),gt[n].getEl().style.zIndex=r,gt[n].zIndex=r,r++;var o=ye("#"+t.classPrefix+"modal-block",t.getContainerElm())[0];i?ye(o).css("z-index",i.zIndex-1):o&&(o.parentNode.removeChild(o),ut=!1),xt.currentZIndex=r}var xt=ft.extend({Mixins:[Re,ht],init:function(e){var t=this;t._super(e),t._eventsRoot=t,t.classes.add("floatpanel"),e.autohide&&(vt(),function(){if(!lt){var e=document.documentElement,t=e.clientWidth,n=e.clientHeight;lt=function(){document.all&&t===e.clientWidth&&n===e.clientHeight||(t=e.clientWidth,n=e.clientHeight,xt.hideAll())},ye(window).on("resize",lt)}}(),mt.push(t)),e.autofix&&(at||(at=function(){var e;for(e=mt.length;e--;)bt(mt[e])},ye(window).on("scroll",at)),t.on("move",function(){bt(this)})),t.on("postrender show",function(e){if(e.control===t){var n,i=t.classPrefix;t.modal&&!ut&&((n=ye("#"+i+"modal-block",t.getContainerElm()))[0]||(n=ye('<div id="'+i+'modal-block" class="'+i+"reset "+i+'fade"></div>').appendTo(t.getContainerElm())),C.setTimeout(function(){n.addClass(i+"in"),ye(t.getEl()).addClass(i+"in")}),ut=!0),yt(!0,t)}}),t.on("show",function(){t.parents().each(function(e){if(e.state.get("fixed"))return t.fixed(!0),!1})}),e.popover&&(t._preBodyHtml='<div class="'+t.classPrefix+'arrow"></div>',t.classes.add("popover").add("bottom").add(t.isRtl()?"end":"start")),t.aria("label",e.ariaLabel),t.aria("labelledby",t._id),t.aria("describedby",t.describedBy||t._id+"-none")},fixed:function(e){var t=this;if(t.state.get("fixed")!==e){if(t.state.get("rendered")){var n=we.getViewPort();e?t.layoutRect().y-=n.y:t.layoutRect().y+=n.y}t.classes.toggle("fixed",e),t.state.set("fixed",e)}return t},show:function(){var e,t=this._super();for(e=mt.length;e--&&mt[e]!==this;);return-1===e&&mt.push(this),t},hide:function(){return wt(this),yt(!1,this),this._super()},hideAll:function(){xt.hideAll()},close:function(){return this.fire("close").isDefaultPrevented()||(this.remove(),yt(!1,this)),this},remove:function(){wt(this),this._super()},postRender:function(){return this.settings.bodyRole&&this.getEl("body").setAttribute("role",this.settings.bodyRole),this._super()}});function wt(e){var t;for(t=mt.length;t--;)mt[t]===e&&mt.splice(t,1);for(t=gt.length;t--;)gt[t]===e&>.splice(t,1)}xt.hideAll=function(){for(var e=mt.length;e--;){var t=mt[e];t&&t.settings.autohide&&(t.hide(),mt.splice(e,1))}};var _t,Rt=function(e){return!(!e||_.container)},Ct=function(e,t,n){var i,r,o=m.DOM,s=e.getParam("fixed_toolbar_container");s&&(r=o.select(s)[0]);var a=function(){if(i&&i.moveRel&&i.visible()&&!i._fixed){var t=e.selection.getScrollContainer(),n=e.getBody(),r=0,s=0;if(t){var a=o.getPos(n),l=o.getPos(t);r=Math.max(0,l.x-a.x),s=Math.max(0,l.y-a.y)}i.fixed(!1).moveRel(n,e.rtl?["tr-br","br-tr"]:["tl-bl","bl-tl","tr-br"]).moveBy(r,s)}},u=function(){i&&(i.show(),a(),o.addClass(e.getBody(),"mce-edit-focus"))},d=function(){i&&(i.hide(),xt.hideAll(),o.removeClass(e.getBody(),"mce-edit-focus"))},h=function(){i?i.visible()||u():(i=t.panel=g.create({type:r?"panel":"floatpanel",role:"application",classes:"tinymce tinymce-inline",layout:"flex",direction:"column",align:"stretch",autohide:!1,autofix:Rt(r),fixed:Rt(r),border:1,items:[!1===l(e)?null:{type:"menubar",border:"0 0 1 0",items:oe(e)},B(e,c(e))]}),y(e),r?i.renderTo(r).reflow():i.renderTo().reflow(),w(e,i),u(),F(e),e.on("nodeChange",a),e.on("ResizeWindow",a),e.on("activate",u),e.on("deactivate",d),e.nodeChanged())};return e.settings.content_editable=!0,e.on("focus",function(){!1===f(e)&&n.skinUiCss?o.styleSheetLoader.load(n.skinUiCss,h,h):h()}),e.on("blur hide",d),e.on("remove",function(){i&&(i.remove(),i=null)}),!1===f(e)&&n.skinUiCss?o.styleSheetLoader.load(n.skinUiCss,ge(e)):ge(e)(),{}},kt=function(e,t){var n,i,r=this,o=et.classPrefix;r.show=function(s,a){function l(){n&&(ye(e).append('<div class="'+o+"throbber"+(t?" "+o+"throbber-inline":"")+'"></div>'),a&&a())}return r.hide(),n=!0,s?i=C.setTimeout(l,s):l(),r},r.hide=function(){var t=e.lastChild;return C.clearTimeout(i),t&&-1!==t.className.indexOf("throbber")&&t.parentNode.removeChild(t),n=!1,r}},Et=function(e,t){var n;e.on("ProgressState",function(e){n=n||new kt(t.panel.getEl("body")),e.state?n.show(e.time):n.hide()})},Ht=function(e,t,n){var i=function(e){var t=e.settings,n=t.skin,i=t.skin_url;if(!1!==n){var r=n||"lightgray";i=i?e.documentBaseURI.toAbsolute(i):s.baseURL+"/skins/"+r}return i}(e);return i&&(n.skinUiCss=i+"/skin.min.css",e.contentCSS.push(i+"/content"+(e.inline?".inline":"")+".min.css")),Et(e,t),e.getParam("inline",!1,"boolean")?Ct(e,t,n):be(e,t,n)},St=et.extend({Mixins:[Re],Defaults:{classes:"widget tooltip tooltip-n"},renderHtml:function(){var e=this,t=e.classPrefix;return'<div id="'+e._id+'" class="'+e.classes+'" role="presentation"><div class="'+t+'tooltip-arrow"></div><div class="'+t+'tooltip-inner">'+e.encode(e.state.get("text"))+"</div></div>"},bindStates:function(){var e=this;return e.state.on("change:text",function(t){e.getEl().lastChild.innerHTML=e.encode(t.value)}),e._super()},repaint:function(){var e,t;e=this.getEl().style,t=this._layoutRect,e.left=t.x+"px",e.top=t.y+"px",e.zIndex=131070}}),Mt=et.extend({init:function(e){var t=this;t._super(e),e=t.settings,t.canFocus=!0,e.tooltip&&!1!==Mt.tooltips&&(t.on("mouseenter",function(n){var i=t.tooltip().moveTo(-65535);if(n.control===t){var r=i.text(e.tooltip).show().testMoveRel(t.getEl(),["bc-tc","bc-tl","bc-tr"]);i.classes.toggle("tooltip-n","bc-tc"===r),i.classes.toggle("tooltip-nw","bc-tl"===r),i.classes.toggle("tooltip-ne","bc-tr"===r),i.moveRel(t.getEl(),r)}else i.hide()}),t.on("mouseleave mousedown click",function(){t.tooltip().hide()})),t.aria("label",e.ariaLabel||e.tooltip)},tooltip:function(){return _t||(_t=new St({type:"tooltip"})).renderTo(),_t},postRender:function(){var e=this,t=e.settings;e._super(),e.parent()||!t.width&&!t.height||(e.initLayoutRect(),e.repaint()),t.autofocus&&e.focus()},bindStates:function(){var e=this;function t(t){e.aria("disabled",t),e.classes.toggle("disabled",t)}function n(t){e.aria("pressed",t),e.classes.toggle("active",t)}return e.state.on("change:disabled",function(e){t(e.value)}),e.state.on("change:active",function(e){n(e.value)}),e.state.get("disabled")&&t(!0),e.state.get("active")&&n(!0),e._super()},remove:function(){this._super(),_t&&(_t.remove(),_t=null)}}),Tt=Mt.extend({Defaults:{value:0},init:function(e){this._super(e),this.classes.add("progress"),this.settings.filter||(this.settings.filter=function(e){return Math.round(e)})},renderHtml:function(){var e=this._id,t=this.classPrefix;return'<div id="'+e+'" class="'+this.classes+'"><div class="'+t+'bar-container"><div class="'+t+'bar"></div></div><div class="'+t+'text">0%</div></div>'},postRender:function(){return this._super(),this.value(this.settings.value),this},bindStates:function(){var e=this;function t(t){t=e.settings.filter(t),e.getEl().lastChild.innerHTML=t+"%",e.getEl().firstChild.firstChild.style.width=t+"%"}return e.state.on("change:value",function(e){t(e.value)}),t(e.state.get("value")),e._super()}}),Pt=function(e,t){e.getEl().lastChild.textContent=t+(e.progressBar?" "+e.progressBar.value()+"%":"")},Wt=et.extend({Mixins:[Re],Defaults:{classes:"widget notification"},init:function(e){var t=this;t._super(e),t.maxWidth=e.maxWidth,e.text&&t.text(e.text),e.icon&&(t.icon=e.icon),e.color&&(t.color=e.color),e.type&&t.classes.add("notification-"+e.type),e.timeout&&(e.timeout<0||e.timeout>0)&&!e.closeButton?t.closeButton=!1:(t.classes.add("has-close"),t.closeButton=!0),e.progressBar&&(t.progressBar=new Tt),t.on("click",function(e){-1!==e.target.className.indexOf(t.classPrefix+"close")&&t.close()})},renderHtml:function(){var e,t=this,n=t.classPrefix,i="",r="",o="";return t.icon&&(i='<i class="'+n+"ico "+n+"i-"+t.icon+'"></i>'),e=' style="max-width: '+t.maxWidth+"px;"+(t.color?"background-color: "+t.color+';"':'"'),t.closeButton&&(r='<button type="button" class="'+n+'close" aria-hidden="true">\xd7</button>'),t.progressBar&&(o=t.progressBar.renderHtml()),'<div id="'+t._id+'" class="'+t.classes+'"'+e+' role="presentation">'+i+'<div class="'+n+'notification-inner">'+t.state.get("text")+"</div>"+o+r+'<div style="clip: rect(1px, 1px, 1px, 1px);height: 1px;overflow: hidden;position: absolute;width: 1px;" aria-live="assertive" aria-relevant="additions" aria-atomic="true"></div></div>'},postRender:function(){var e=this;return C.setTimeout(function(){e.$el.addClass(e.classPrefix+"in"),Pt(e,e.state.get("text"))},100),e._super()},bindStates:function(){var e=this;return e.state.on("change:text",function(t){e.getEl().firstChild.innerHTML=t.value,Pt(e,t.value)}),e.progressBar&&(e.progressBar.bindStates(),e.progressBar.state.on("change:value",function(t){Pt(e,e.state.get("text"))})),e._super()},close:function(){return this.fire("close").isDefaultPrevented()||this.remove(),this},repaint:function(){var e,t;e=this.getEl().style,t=this._layoutRect,e.left=t.x+"px",e.top=t.y+"px",e.zIndex=65534}}),Dt=function(e){var t=function(e){return e.inline?e.getElement():e.getContentAreaContainer()};return{open:function(n,i){var r,o=a.extend(n,{maxWidth:(r=t(e),we.getSize(r).width)}),s=new Wt(o);return s.args=o,o.timeout>0&&(s.timer=setTimeout(function(){s.close(),i()},o.timeout)),s.on("close",function(){i()}),s.renderTo(),s},close:function(e){e.close()},reposition:function(n){var i;i=n,ee.each(i,function(e){e.moveTo(0,0)}),function(n){if(n.length>0){var i=n.slice(0,1)[0],r=t(e);i.moveRel(r,"tc-tc"),ee.each(n,function(e,t){t>0&&e.moveRel(n[t-1].getEl(),"bc-tc")})}}(n)},getArgs:function(e){return e.args}}},Nt=[],At="";function Bt(e){var t,n=ye("meta[name=viewport]")[0];!1!==_.overrideViewPort&&(n||((n=document.createElement("meta")).setAttribute("name","viewport"),document.getElementsByTagName("head")[0].appendChild(n)),(t=n.getAttribute("content"))&&void 0!==At&&(At=t),n.setAttribute("content",e?"width=device-width,initial-scale=1.0,user-scalable=0,minimum-scale=1.0,maximum-scale=1.0":At))}function Ot(e,t){(function(){for(var e=0;e<Nt.length;e++)if(Nt[e]._fullscreen)return!0;return!1})()&&!1===t&&ye([document.documentElement,document.body]).removeClass(e+"fullscreen")}var zt=xt.extend({modal:!0,Defaults:{border:1,layout:"flex",containerCls:"panel",role:"dialog",callbacks:{submit:function(){this.fire("submit",{data:this.toJSON()})},close:function(){this.close()}}},init:function(e){var t=this;t._super(e),t.isRtl()&&t.classes.add("rtl"),t.classes.add("window"),t.bodyClasses.add("window-body"),t.state.set("fixed",!0),e.buttons&&(t.statusbar=new ft({layout:"flex",border:"1 0 0 0",spacing:3,padding:10,align:"center",pack:t.isRtl()?"start":"end",defaults:{type:"button"},items:e.buttons}),t.statusbar.classes.add("foot"),t.statusbar.parent(t)),t.on("click",function(e){var n=t.classPrefix+"close";(we.hasClass(e.target,n)||we.hasClass(e.target.parentNode,n))&&t.close()}),t.on("cancel",function(){t.close()}),t.aria("describedby",t.describedBy||t._id+"-none"),t.aria("label",e.title),t._fullscreen=!1},recalc:function(){var e,t,n,i,r=this,o=r.statusbar;r._fullscreen&&(r.layoutRect(we.getWindowSize()),r.layoutRect().contentH=r.layoutRect().innerH),r._super(),e=r.layoutRect(),r.settings.title&&!r._fullscreen&&(t=e.headerW)>e.w&&(n=e.x-Math.max(0,t/2),r.layoutRect({w:t,x:n}),i=!0),o&&(o.layoutRect({w:r.layoutRect().innerW}).recalc(),(t=o.layoutRect().minW+e.deltaW)>e.w&&(n=e.x-Math.max(0,t-e.w),r.layoutRect({w:t,x:n}),i=!0)),i&&r.recalc()},initLayoutRect:function(){var e,t=this,n=t._super(),i=0;if(t.settings.title&&!t._fullscreen){e=t.getEl("head");var r=we.getSize(e);n.headerW=r.width,n.headerH=r.height,i+=n.headerH}t.statusbar&&(i+=t.statusbar.layoutRect().h),n.deltaH+=i,n.minH+=i,n.h+=i;var o=we.getWindowSize();return n.x=t.settings.x||Math.max(0,o.w/2-n.w/2),n.y=t.settings.y||Math.max(0,o.h/2-n.h/2),n},renderHtml:function(){var e=this,t=e._layout,n=e._id,i=e.classPrefix,r=e.settings,o="",s="",a=r.html;return e.preRender(),t.preRender(e),r.title&&(o='<div id="'+n+'-head" class="'+i+'window-head"><div id="'+n+'-title" class="'+i+'title">'+e.encode(r.title)+'</div><div id="'+n+'-dragh" class="'+i+'dragh"></div><button type="button" class="'+i+'close" aria-hidden="true"><i class="mce-ico mce-i-remove"></i></button></div>'),r.url&&(a='<iframe src="'+r.url+'" tabindex="-1"></iframe>'),void 0===a&&(a=t.renderHtml(e)),e.statusbar&&(s=e.statusbar.renderHtml()),'<div id="'+n+'" class="'+e.classes+'" hidefocus="1"><div class="'+e.classPrefix+'reset" role="application">'+o+'<div id="'+n+'-body" class="'+e.bodyClasses+'">'+a+"</div>"+s+"</div></div>"},fullscreen:function(e){var t,n,i=this,r=document.documentElement,o=i.classPrefix;if(e!==i._fullscreen)if(ye(window).on("resize",function(){var e;if(i._fullscreen)if(t)i._timer||(i._timer=C.setTimeout(function(){var e=we.getWindowSize();i.moveTo(0,0).resizeTo(e.w,e.h),i._timer=0},50));else{e=(new Date).getTime();var n=we.getWindowSize();i.moveTo(0,0).resizeTo(n.w,n.h),(new Date).getTime()-e>50&&(t=!0)}}),n=i.layoutRect(),i._fullscreen=e,e){i._initial={x:n.x,y:n.y,w:n.w,h:n.h},i.borderBox=Ee("0"),i.getEl("head").style.display="none",n.deltaH-=n.headerH+2,ye([r,document.body]).addClass(o+"fullscreen"),i.classes.add("fullscreen");var s=we.getWindowSize();i.moveTo(0,0).resizeTo(s.w,s.h)}else i.borderBox=Ee(i.settings.border),i.getEl("head").style.display="",n.deltaH+=n.headerH,ye([r,document.body]).removeClass(o+"fullscreen"),i.classes.remove("fullscreen"),i.moveTo(i._initial.x,i._initial.y).resizeTo(i._initial.w,i._initial.h);return i.reflow()},postRender:function(){var e,t=this;setTimeout(function(){t.classes.add("in"),t.fire("open")},0),t._super(),t.statusbar&&t.statusbar.postRender(),t.focus(),this.dragHelper=new ct(t._id+"-dragh",{start:function(){e={x:t.layoutRect().x,y:t.layoutRect().y}},drag:function(n){t.moveTo(e.x+n.deltaX,e.y+n.deltaY)}}),t.on("submit",function(e){e.isDefaultPrevented()||t.close()}),Nt.push(t),Bt(!0)},submit:function(){return this.fire("submit",{data:this.toJSON()})},remove:function(){var e,t=this;for(t.dragHelper.destroy(),t._super(),t.statusbar&&this.statusbar.remove(),Ot(t.classPrefix,!1),e=Nt.length;e--;)Nt[e]===t&&Nt.splice(e,1);Bt(Nt.length>0)},getContentWindow:function(){var e=this.getEl().getElementsByTagName("iframe")[0];return e?e.contentWindow:null}});!function(){if(!_.desktop){var e={w:window.innerWidth,h:window.innerHeight};C.setInterval(function(){var t=window.innerWidth,n=window.innerHeight;e.w===t&&e.h===n||(e={w:t,h:n},ye(window).trigger("resize"))},100)}ye(window).on("resize",function(){var e,t,n=we.getWindowSize();for(e=0;e<Nt.length;e++)t=Nt[e].layoutRect(),Nt[e].moveTo(Nt[e].settings.x||Math.max(0,n.w/2-t.w/2),Nt[e].settings.y||Math.max(0,n.h/2-t.h/2))})}();var Lt=zt.extend({init:function(e){e={border:1,padding:20,layout:"flex",pack:"center",align:"center",containerCls:"panel",autoScroll:!0,buttons:{type:"button",text:"Ok",action:"ok"},items:{type:"label",multiline:!0,maxWidth:500,maxHeight:200}},this._super(e)},Statics:{OK:1,OK_CANCEL:2,YES_NO:3,YES_NO_CANCEL:4,msgBox:function(e){var t,n=e.callback||function(){};function i(e,t,i){return{type:"button",text:e,subtype:i?"primary":"",onClick:function(e){e.control.parents()[1].close(),n(t)}}}switch(e.buttons){case Lt.OK_CANCEL:t=[i("Ok",!0,!0),i("Cancel",!1)];break;case Lt.YES_NO:case Lt.YES_NO_CANCEL:t=[i("Yes",1,!0),i("No",0)],e.buttons===Lt.YES_NO_CANCEL&&t.push(i("Cancel",-1));break;default:t=[i("Ok",!0,!0)]}return new zt({padding:20,x:e.x,y:e.y,minWidth:300,minHeight:100,layout:"flex",pack:"center",align:"center",buttons:t,title:e.title,role:"alertdialog",items:{type:"label",multiline:!0,maxWidth:500,maxHeight:200,text:e.text},onPostRender:function(){this.aria("describedby",this.items()[0]._id)},onClose:e.onClose,onCancel:function(){n(!1)}}).renderTo(document.body).reflow()},alert:function(e,t){return"string"==typeof e&&(e={text:e}),e.callback=t,Lt.msgBox(e)},confirm:function(e,t){return"string"==typeof e&&(e={text:e}),e.callback=t,e.buttons=Lt.OK_CANCEL,Lt.msgBox(e)}}}),It=function(e){return{renderUI:function(t){return Ht(e,this,t)},resizeTo:function(t,n){return ue(e,t,n)},resizeBy:function(t,n){return ce(e,t,n)},getNotificationManagerImpl:function(){return Dt(e)},getWindowManagerImpl:function(){return{open:function(e,t,n){var i;return e.title=e.title||" ",e.url=e.url||e.file,e.url&&(e.width=parseInt(e.width||320,10),e.height=parseInt(e.height||240,10)),e.body&&(e.items={defaults:e.defaults,type:e.bodyType||"form",items:e.body,data:e.data,callbacks:e.commands}),e.url||e.buttons||(e.buttons=[{text:"Ok",subtype:"primary",onclick:function(){i.find("form")[0].submit()}},{text:"Cancel",onclick:function(){i.close()}}]),(i=new zt(e)).on("close",function(){n(i)}),e.data&&i.on("postRender",function(){this.find("*").each(function(t){var n=t.name();n in e.data&&t.value(e.data[n])})}),i.features=e||{},i.params=t||{},i=i.renderTo().reflow()},alert:function(e,t,n){var i;return(i=Lt.alert(e,function(){t()})).on("close",function(){n(i)}),i},confirm:function(e,t,n){var i;return(i=Lt.confirm(e,function(e){t(e)})).on("close",function(){n(i)}),i},close:function(e){e.close()},getParams:function(e){return e.params},setParams:function(e,t){e.params=t}}}}},Ft=Ce.extend({Defaults:{firstControlClass:"first",lastControlClass:"last"},init:function(e){this.settings=a.extend({},this.Defaults,e)},preRender:function(e){e.bodyClasses.add(this.settings.containerClass)},applyClasses:function(e){var t,n,i,r,o=this.settings;t=o.firstControlClass,n=o.lastControlClass,e.each(function(e){e.classes.remove(t).remove(n).add(o.controlClass),e.visible()&&(i||(i=e),r=e)}),i&&i.classes.add(t),r&&r.classes.add(n)},renderHtml:function(e){var t="";return this.applyClasses(e.items()),e.items().each(function(e){t+=e.renderHtml()}),t},recalc:function(){},postRender:function(){},isNative:function(){return!1}}),Vt=Ft.extend({Defaults:{containerClass:"abs-layout",controlClass:"abs-layout-item"},recalc:function(e){e.items().filter(":visible").each(function(e){var t=e.settings;e.layoutRect({x:t.x,y:t.y,w:t.w,h:t.h}),e.recalc&&e.recalc()})},renderHtml:function(e){return'<div id="'+e._id+'-absend" class="'+e.classPrefix+'abs-end"></div>'+this._super(e)}}),Ut=Mt.extend({Defaults:{classes:"widget btn",role:"button"},init:function(e){var t,n=this;n._super(e),e=n.settings,t=n.settings.size,n.on("click mousedown",function(e){e.preventDefault()}),n.on("touchstart",function(e){n.fire("click",e),e.preventDefault()}),e.subtype&&n.classes.add(e.subtype),t&&n.classes.add("btn-"+t),e.icon&&n.icon(e.icon)},icon:function(e){return arguments.length?(this.state.set("icon",e),this):this.state.get("icon")},repaint:function(){var e,t=this.getEl().firstChild;t&&((e=t.style).width=e.height="100%"),this._super()},renderHtml:function(){var e,t,n=this,i=n._id,r=n.classPrefix,o=n.state.get("icon"),s=n.state.get("text"),a="",l=n.settings;return(e=l.image)?(o="none","string"!=typeof e&&(e=window.getSelection?e[0]:e[1]),e=" style=\"background-image: url('"+e+"')\""):e="",s&&(n.classes.add("btn-has-text"),a='<span class="'+r+'txt">'+n.encode(s)+"</span>"),o=o?r+"ico "+r+"i-"+o:"",t="boolean"==typeof l.active?' aria-pressed="'+l.active+'"':"",'<div id="'+i+'" class="'+n.classes+'" tabindex="-1"'+t+'><button id="'+i+'-button" role="presentation" type="button" tabindex="-1">'+(o?'<i class="'+o+'"'+e+"></i>":"")+a+"</button></div>"},bindStates:function(){var e=this,t=e.$,n=e.classPrefix+"txt";function i(i){var r=t("span."+n,e.getEl());i?(r[0]||(t("button:first",e.getEl()).append('<span class="'+n+'"></span>'),r=t("span."+n,e.getEl())),r.html(e.encode(i))):r.remove(),e.classes.toggle("btn-has-text",!!i)}return e.state.on("change:text",function(e){i(e.value)}),e.state.on("change:icon",function(t){var n=t.value,r=e.classPrefix;e.settings.icon=n,n=n?r+"ico "+r+"i-"+e.settings.icon:"";var o=e.getEl().firstChild,s=o.getElementsByTagName("i")[0];n?(s&&s===o.firstChild||(s=document.createElement("i"),o.insertBefore(s,o.firstChild)),s.className=n):s&&o.removeChild(s),i(e.state.get("text"))}),e._super()}}),Yt=Ut.extend({init:function(e){e=a.extend({text:"Browse...",multiple:!1,accept:null},e),this._super(e),this.classes.add("browsebutton"),e.multiple&&this.classes.add("multiple")},postRender:function(){var e=this,t=we.create("input",{type:"file",id:e._id+"-browse",accept:e.settings.accept});e._super(),ye(t).on("change",function(t){var n=t.target.files;e.value=function(){return n.length?e.settings.multiple?n:n[0]:null},t.preventDefault(),n.length&&e.fire("change",t)}),ye(t).on("click",function(e){e.stopPropagation()}),ye(e.getEl("button")).on("click",function(e){e.stopPropagation(),t.click()}),e.getEl().appendChild(t)},remove:function(){ye(this.getEl("button")).off(),ye(this.getEl("input")).off(),this._super()}}),$t=rt.extend({Defaults:{defaultType:"button",role:"group"},renderHtml:function(){var e=this,t=e._layout;return e.classes.add("btn-group"),e.preRender(),t.preRender(e),'<div id="'+e._id+'" class="'+e.classes+'"><div id="'+e._id+'-body">'+(e.settings.html||"")+t.renderHtml(e)+"</div></div>"}}),jt=Mt.extend({Defaults:{classes:"checkbox",role:"checkbox",checked:!1},init:function(e){var t=this;t._super(e),t.on("click mousedown",function(e){e.preventDefault()}),t.on("click",function(e){e.preventDefault(),t.disabled()||t.checked(!t.checked())}),t.checked(t.settings.checked)},checked:function(e){return arguments.length?(this.state.set("checked",e),this):this.state.get("checked")},value:function(e){return arguments.length?this.checked(e):this.checked()},renderHtml:function(){var e=this,t=e._id,n=e.classPrefix;return'<div id="'+t+'" class="'+e.classes+'" unselectable="on" aria-labelledby="'+t+'-al" tabindex="-1"><i class="'+n+"ico "+n+'i-checkbox"></i><span id="'+t+'-al" class="'+n+'label">'+e.encode(e.state.get("text"))+"</span></div>"},bindStates:function(){var e=this;function t(t){e.classes.toggle("checked",t),e.aria("checked",t)}return e.state.on("change:text",function(t){e.getEl("al").firstChild.data=e.translate(t.value)}),e.state.on("change:checked change:value",function(n){e.fire("change"),t(n.value)}),e.state.on("change:icon",function(t){var n=t.value,i=e.classPrefix;if(void 0===n)return e.settings.icon;e.settings.icon=n,n=n?i+"ico "+i+"i-"+e.settings.icon:"";var r=e.getEl().firstChild,o=r.getElementsByTagName("i")[0];n?(o&&o===r.firstChild||(o=document.createElement("i"),r.insertBefore(o,r.firstChild)),o.className=n):o&&r.removeChild(o)}),e.state.get("checked")&&t(!0),e._super()}}),qt=tinymce.util.Tools.resolve("tinymce.util.VK"),Xt=Mt.extend({init:function(e){var t=this;t._super(e),e=t.settings,t.classes.add("combobox"),t.subinput=!0,t.ariaTarget="inp",e.menu=e.menu||e.values,e.menu&&(e.icon="caret"),t.on("click",function(n){var i=n.target,r=t.getEl();if(ye.contains(r,i)||i===r)for(;i&&i!==r;)i.id&&-1!==i.id.indexOf("-open")&&(t.fire("action"),e.menu&&(t.showMenu(),n.aria&&t.menu.items()[0].focus())),i=i.parentNode}),t.on("keydown",function(e){var n;13===e.keyCode&&"INPUT"===e.target.nodeName&&(e.preventDefault(),t.parents().reverse().each(function(e){if(e.toJSON)return n=e,!1}),t.fire("submit",{data:n.toJSON()}))}),t.on("keyup",function(e){if("INPUT"===e.target.nodeName){var n=t.state.get("value"),i=e.target.value;i!==n&&(t.state.set("value",i),t.fire("autocomplete",e))}}),t.on("mouseover",function(e){var n=t.tooltip().moveTo(-65535);if(t.statusLevel()&&-1!==e.target.className.indexOf(t.classPrefix+"status")){var i=t.statusMessage()||"Ok",r=n.text(i).show().testMoveRel(e.target,["bc-tc","bc-tl","bc-tr"]);n.classes.toggle("tooltip-n","bc-tc"===r),n.classes.toggle("tooltip-nw","bc-tl"===r),n.classes.toggle("tooltip-ne","bc-tr"===r),n.moveRel(e.target,r)}})},statusLevel:function(e){return arguments.length>0&&this.state.set("statusLevel",e),this.state.get("statusLevel")},statusMessage:function(e){return arguments.length>0&&this.state.set("statusMessage",e),this.state.get("statusMessage")},showMenu:function(){var e,t=this,n=t.settings;t.menu||((e=n.menu||[]).length?e={type:"menu",items:e}:e.type=e.type||"menu",t.menu=g.create(e).parent(t).renderTo(t.getContainerElm()),t.fire("createmenu"),t.menu.reflow(),t.menu.on("cancel",function(e){e.control===t.menu&&t.focus()}),t.menu.on("show hide",function(e){e.control.items().each(function(e){e.active(e.value()===t.value())})}).fire("show"),t.menu.on("select",function(e){t.value(e.control.value())}),t.on("focusin",function(e){"INPUT"===e.target.tagName.toUpperCase()&&t.menu.hide()}),t.aria("expanded",!0)),t.menu.show(),t.menu.layoutRect({w:t.layoutRect().w}),t.menu.moveRel(t.getEl(),t.isRtl()?["br-tr","tr-br"]:["bl-tl","tl-bl"])},focus:function(){this.getEl("inp").focus()},repaint:function(){var e,t,n=this,i=n.getEl(),r=n.getEl("open"),o=n.layoutRect(),s=0,a=i.firstChild;n.statusLevel()&&"none"!==n.statusLevel()&&(s=parseInt(we.getRuntimeStyle(a,"padding-right"),10)-parseInt(we.getRuntimeStyle(a,"padding-left"),10)),e=r?o.w-we.getSize(r).width-10:o.w-10;var l=document;return l.all&&(!l.documentMode||l.documentMode<=8)&&(t=n.layoutRect().h-2+"px"),ye(a).css({width:e-s,lineHeight:t}),n._super(),n},postRender:function(){var e=this;return ye(this.getEl("inp")).on("change",function(t){e.state.set("value",t.target.value),e.fire("change",t)}),e._super()},renderHtml:function(){var e,t,n,i=this,r=i._id,o=i.settings,s=i.classPrefix,a=i.state.get("value")||"",l="",u="";return"spellcheck"in o&&(u+=' spellcheck="'+o.spellcheck+'"'),o.maxLength&&(u+=' maxlength="'+o.maxLength+'"'),o.size&&(u+=' size="'+o.size+'"'),o.subtype&&(u+=' type="'+o.subtype+'"'),n='<i id="'+r+'-status" class="mce-status mce-ico" style="display: none"></i>',i.disabled()&&(u+=' disabled="disabled"'),(e=o.icon)&&"caret"!==e&&(e=s+"ico "+s+"i-"+o.icon),t=i.state.get("text"),(e||t)&&(l='<div id="'+r+'-open" class="'+s+"btn "+s+'open" tabIndex="-1" role="button"><button id="'+r+'-action" type="button" hidefocus="1" tabindex="-1">'+("caret"!==e?'<i class="'+e+'"></i>':'<i class="'+s+'caret"></i>')+(t?(e?" ":"")+t:"")+"</button></div>",i.classes.add("has-open")),'<div id="'+r+'" class="'+i.classes+'"><input id="'+r+'-inp" class="'+s+'textbox" value="'+i.encode(a,!1)+'" hidefocus="1"'+u+' placeholder="'+i.encode(o.placeholder)+'" />'+n+l+"</div>"},value:function(e){return arguments.length?(this.state.set("value",e),this):(this.state.get("rendered")&&this.state.set("value",this.getEl("inp").value),this.state.get("value"))},showAutoComplete:function(e,t){var n=this;if(0!==e.length){n.menu?n.menu.items().remove():n.menu=g.create({type:"menu",classes:"combobox-menu",layout:"flow"}).parent(n).renderTo(),a.each(e,function(e){var i,r;n.menu.add({text:e.title,url:e.previewUrl,match:t,classes:"menu-item-ellipsis",onclick:(i=e.value,r=e.title,function(){n.fire("selectitem",{title:r,value:i})})})}),n.menu.renderNew(),n.hideMenu(),n.menu.on("cancel",function(e){e.control.parent()===n.menu&&(e.stopPropagation(),n.focus(),n.hideMenu())}),n.menu.on("select",function(){n.focus()});var i=n.layoutRect().w;n.menu.layoutRect({w:i,minW:0,maxW:i}),n.menu.repaint(),n.menu.reflow(),n.menu.show(),n.menu.moveRel(n.getEl(),n.isRtl()?["br-tr","tr-br"]:["bl-tl","tl-bl"])}else n.hideMenu()},hideMenu:function(){this.menu&&this.menu.hide()},bindStates:function(){var e=this;e.state.on("change:value",function(t){e.getEl("inp").value!==t.value&&(e.getEl("inp").value=t.value)}),e.state.on("change:disabled",function(t){e.getEl("inp").disabled=t.value}),e.state.on("change:statusLevel",function(t){var n=e.getEl("status"),i=e.classPrefix,r=t.value;we.css(n,"display","none"===r?"none":""),we.toggleClass(n,i+"i-checkmark","ok"===r),we.toggleClass(n,i+"i-warning","warn"===r),we.toggleClass(n,i+"i-error","error"===r),e.classes.toggle("has-status","none"!==r),e.repaint()}),we.on(e.getEl("status"),"mouseleave",function(){e.tooltip().hide()}),e.on("cancel",function(t){e.menu&&e.menu.visible()&&(t.stopPropagation(),e.hideMenu())});var t=function(e,t){t&&t.items().length>0&&t.items().eq(e)[0].focus()};return e.on("keydown",function(n){var i=n.keyCode;"INPUT"===n.target.nodeName&&(i===qt.DOWN?(n.preventDefault(),e.fire("autocomplete"),t(0,e.menu)):i===qt.UP&&(n.preventDefault(),t(-1,e.menu)))}),e._super()},remove:function(){ye(this.getEl("inp")).off(),this.menu&&this.menu.remove(),this._super()}}),Jt=Xt.extend({init:function(e){var t=this;e.spellcheck=!1,e.onaction&&(e.icon="none"),t._super(e),t.classes.add("colorbox"),t.on("change keyup postrender",function(){t.repaintColor(t.value())})},repaintColor:function(e){var t=this.getEl("open"),n=t?t.getElementsByTagName("i")[0]:null;if(n)try{n.style.background=e}catch(i){}},bindStates:function(){var e=this;return e.state.on("change:value",function(t){e.state.get("rendered")&&e.repaintColor(t.value)}),e._super()}}),Gt=Ut.extend({showPanel:function(){var e=this,t=e.settings;if(e.classes.add("opened"),e.panel)e.panel.show();else{var n=t.panel;n.type&&(n={layout:"grid",items:n}),n.role=n.role||"dialog",n.popover=!0,n.autohide=!0,n.ariaRoot=!0,e.panel=new xt(n).on("hide",function(){e.classes.remove("opened")}).on("cancel",function(t){t.stopPropagation(),e.focus(),e.hidePanel()}).parent(e).renderTo(e.getContainerElm()),e.panel.fire("show"),e.panel.reflow()}var i=e.panel.testMoveRel(e.getEl(),t.popoverAlign||(e.isRtl()?["bc-tc","bc-tl","bc-tr"]:["bc-tc","bc-tr","bc-tl"]));e.panel.classes.toggle("start","bc-tl"===i),e.panel.classes.toggle("end","bc-tr"===i),e.panel.moveRel(e.getEl(),i)},hidePanel:function(){this.panel&&this.panel.hide()},postRender:function(){var e=this;return e.aria("haspopup",!0),e.on("click",function(t){t.control===e&&(e.panel&&e.panel.visible()?e.hidePanel():(e.showPanel(),e.panel.focus(!!t.aria)))}),e._super()},remove:function(){return this.panel&&(this.panel.remove(),this.panel=null),this._super()}}),Kt=m.DOM,Zt=Gt.extend({init:function(e){this._super(e),this.classes.add("splitbtn"),this.classes.add("colorbutton")},color:function(e){return e?(this._color=e,this.getEl("preview").style.backgroundColor=e,this):this._color},resetColor:function(){return this._color=null,this.getEl("preview").style.backgroundColor=null,this},renderHtml:function(){var e=this,t=e._id,n=e.classPrefix,i=e.state.get("text"),r=e.settings.icon?n+"ico "+n+"i-"+e.settings.icon:"",o=e.settings.image?" style=\"background-image: url('"+e.settings.image+"')\"":"",s="";return i&&(e.classes.add("btn-has-text"),s='<span class="'+n+'txt">'+e.encode(i)+"</span>"),'<div id="'+t+'" class="'+e.classes+'" role="button" tabindex="-1" aria-haspopup="true"><button role="presentation" hidefocus="1" type="button" tabindex="-1">'+(r?'<i class="'+r+'"'+o+"></i>":"")+'<span id="'+t+'-preview" class="'+n+'preview"></span>'+s+'</button><button type="button" class="'+n+'open" hidefocus="1" tabindex="-1"> <i class="'+n+'caret"></i></button></div>'},postRender:function(){var e=this,t=e.settings.onclick;return e.on("click",function(n){n.aria&&"down"===n.aria.key||n.control!==e||Kt.getParent(n.target,"."+e.classPrefix+"open")||(n.stopImmediatePropagation(),t.call(e,n))}),delete e.settings.onclick,e._super()}}),Qt=tinymce.util.Tools.resolve("tinymce.util.Color"),en=Mt.extend({Defaults:{classes:"widget colorpicker"},init:function(e){this._super(e)},postRender:function(){var e,t,n,i,r,o=this,s=o.color();function a(e,t){var n,i,r=we.getPos(e);return n=t.pageX-r.x,i=t.pageY-r.y,{x:n=Math.max(0,Math.min(n/e.clientWidth,1)),y:i=Math.max(0,Math.min(i/e.clientHeight,1))}}function l(e,t){var s=(360-e.h)/360;we.css(n,{top:100*s+"%"}),t||we.css(r,{left:e.s+"%",top:100-e.v+"%"}),i.style.background=Qt({s:100,v:100,h:e.h}).toHex(),o.color().parse({s:e.s,v:e.v,h:e.h})}function u(t){var n;n=a(i,t),e.s=100*n.x,e.v=100*(1-n.y),l(e),o.fire("change")}function c(n){var i;i=a(t,n),(e=s.toHsv()).h=360*(1-i.y),l(e,!0),o.fire("change")}t=o.getEl("h"),n=o.getEl("hp"),i=o.getEl("sv"),r=o.getEl("svp"),o._repaint=function(){l(e=s.toHsv())},o._super(),o._svdraghelper=new ct(o._id+"-sv",{start:u,drag:u}),o._hdraghelper=new ct(o._id+"-h",{start:c,drag:c}),o._repaint()},rgb:function(){return this.color().toRgb()},value:function(e){if(!arguments.length)return this.color().toHex();this.color().parse(e),this._rendered&&this._repaint()},color:function(){return this._color||(this._color=Qt()),this._color},renderHtml:function(){var e,t=this._id,n=this.classPrefix,i="#ff0000,#ff0080,#ff00ff,#8000ff,#0000ff,#0080ff,#00ffff,#00ff80,#00ff00,#80ff00,#ffff00,#ff8000,#ff0000";return e='<div id="'+t+'-h" class="'+n+'colorpicker-h" style="background: -ms-linear-gradient(top,'+i+");background: linear-gradient(to bottom,"+i+');">'+function(){var e,t,r,o,s="";for(r="filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr=",e=0,t=(o=i.split(",")).length-1;e<t;e++)s+='<div class="'+n+'colorpicker-h-chunk" style="height:'+100/t+"%;"+r+o[e]+",endColorstr="+o[e+1]+");-ms-"+r+o[e]+",endColorstr="+o[e+1]+')"></div>';return s}()+'<div id="'+t+'-hp" class="'+n+'colorpicker-h-marker"></div></div>','<div id="'+t+'" class="'+this.classes+'"><div id="'+t+'-sv" class="'+n+'colorpicker-sv"><div class="'+n+'colorpicker-overlay1"><div class="'+n+'colorpicker-overlay2"><div id="'+t+'-svp" class="'+n+'colorpicker-selector1"><div class="'+n+'colorpicker-selector2"></div></div></div></div></div>'+e+"</div>"}}),tn=Mt.extend({init:function(e){e=a.extend({height:100,text:"Drop an image here",multiple:!1,accept:null},e),this._super(e),this.classes.add("dropzone"),e.multiple&&this.classes.add("multiple")},renderHtml:function(){var e,t,n=this.settings;return e={id:this._id,hidefocus:"1"},t=we.create("div",e,"<span>"+this.translate(n.text)+"</span>"),n.height&&we.css(t,"height",n.height+"px"),n.width&&we.css(t,"width",n.width+"px"),t.className=this.classes,t.outerHTML},postRender:function(){var e=this,t=function(t){t.preventDefault(),e.classes.toggle("dragenter"),e.getEl().className=e.classes};e._super(),e.$el.on("dragover",function(e){e.preventDefault()}),e.$el.on("dragenter",t),e.$el.on("dragleave",t),e.$el.on("drop",function(t){if(t.preventDefault(),!e.state.get("disabled")){var n=function(t){var n=e.settings.accept;if("string"!=typeof n)return t;var i=new RegExp("("+n.split(/\s*,\s*/).join("|")+")$","i");return a.grep(t,function(e){return i.test(e.name)})}(t.dataTransfer.files);e.value=function(){return n.length?e.settings.multiple?n:n[0]:null},n.length&&e.fire("change",t)}})},remove:function(){this.$el.off(),this._super()}}),nn=Mt.extend({init:function(e){var t=this;e.delimiter||(e.delimiter="\xbb"),t._super(e),t.classes.add("path"),t.canFocus=!0,t.on("click",function(e){var n;(n=e.target.getAttribute("data-index"))&&t.fire("select",{value:t.row()[n],index:n})}),t.row(t.settings.row)},focus:function(){return this.getEl().firstChild.focus(),this},row:function(e){return arguments.length?(this.state.set("row",e),this):this.state.get("row")},renderHtml:function(){return'<div id="'+this._id+'" class="'+this.classes+'">'+this._getDataPathHtml(this.state.get("row"))+"</div>"},bindStates:function(){var e=this;return e.state.on("change:row",function(t){e.innerHtml(e._getDataPathHtml(t.value))}),e._super()},_getDataPathHtml:function(e){var t,n,i=e||[],r="",o=this.classPrefix;for(t=0,n=i.length;t<n;t++)r+=(t>0?'<div class="'+o+'divider" aria-hidden="true"> '+this.settings.delimiter+" </div>":"")+'<div role="button" class="'+o+"path-item"+(t===n-1?" "+o+"last":"")+'" data-index="'+t+'" tabindex="-1" id="'+this._id+"-"+t+'" aria-level="'+(t+1)+'">'+i[t].name+"</div>";return r||(r='<div class="'+o+'path-item">\xa0</div>'),r}}),rn=nn.extend({postRender:function(){var e=this,t=e.settings.editor;function n(e){if(1===e.nodeType){if("BR"===e.nodeName||e.getAttribute("data-mce-bogus"))return!0;if("bookmark"===e.getAttribute("data-mce-type"))return!0}return!1}return!1!==t.settings.elementpath&&(e.on("select",function(e){t.focus(),t.selection.select(this.row()[e.index].element),t.nodeChanged()}),t.on("nodeChange",function(i){for(var r=[],o=i.parents,s=o.length;s--;)if(1===o[s].nodeType&&!n(o[s])){var a=t.fire("ResolveName",{name:o[s].nodeName.toLowerCase(),target:o[s]});if(a.isDefaultPrevented()||r.push({name:a.name,element:o[s]}),a.isPropagationStopped())break}e.row(r)})),e._super()}}),on=rt.extend({Defaults:{layout:"flex",align:"center",defaults:{flex:1}},renderHtml:function(){var e=this,t=e._layout,n=e.classPrefix;return e.classes.add("formitem"),t.preRender(e),'<div id="'+e._id+'" class="'+e.classes+'" hidefocus="1" tabindex="-1">'+(e.settings.title?'<div id="'+e._id+'-title" class="'+n+'title">'+e.settings.title+"</div>":"")+'<div id="'+e._id+'-body" class="'+e.bodyClasses+'">'+(e.settings.html||"")+t.renderHtml(e)+"</div></div>"}}),sn=rt.extend({Defaults:{containerCls:"form",layout:"flex",direction:"column",align:"stretch",flex:1,padding:15,labelGap:30,spacing:10,callbacks:{submit:function(){this.submit()}}},preRender:function(){var e=this,t=e.items();e.settings.formItemDefaults||(e.settings.formItemDefaults={layout:"flex",autoResize:"overflow",defaults:{flex:1}}),t.each(function(t){var n,i=t.settings.label;i&&((n=new on(a.extend({items:{type:"label",id:t._id+"-l",text:i,flex:0,forId:t._id,disabled:t.disabled()}},e.settings.formItemDefaults))).type="formitem",t.aria("labelledby",t._id+"-l"),"undefined"==typeof t.settings.flex&&(t.settings.flex=1),e.replace(t,n),n.add(t))})},submit:function(){return this.fire("submit",{data:this.toJSON()})},postRender:function(){this._super(),this.fromJSON(this.settings.data)},bindStates:function(){var e=this;function t(){var t,n,i=0,r=[];if(!1!==e.settings.labelGapCalc)for(("children"===e.settings.labelGapCalc?e.find("formitem"):e.items()).filter("formitem").each(function(e){var t=e.items()[0],n=t.getEl().clientWidth;i=n>i?n:i,r.push(t)}),n=e.settings.labelGap||0,t=r.length;t--;)r[t].settings.minWidth=i+n}e._super(),e.on("show",t),t()}}),an=sn.extend({Defaults:{containerCls:"fieldset",layout:"flex",direction:"column",align:"stretch",flex:1,padding:"25 15 5 15",labelGap:30,spacing:10,border:1},renderHtml:function(){var e=this,t=e._layout,n=e.classPrefix;return e.preRender(),t.preRender(e),'<fieldset id="'+e._id+'" class="'+e.classes+'" hidefocus="1" tabindex="-1">'+(e.settings.title?'<legend id="'+e._id+'-title" class="'+n+'fieldset-title">'+e.settings.title+"</legend>":"")+'<div id="'+e._id+'-body" class="'+e.bodyClasses+'">'+(e.settings.html||"")+t.renderHtml(e)+"</div></fieldset>"}}),ln=0,un=function(e){var t=(new Date).getTime();return e+"_"+Math.floor(1e9*Math.random())+ ++ln+String(t)},cn=function(e){if(null===e||e===undefined)throw new Error("Node cannot be null or undefined");return{dom:E.constant(e)}},dn={fromHtml:function(e,t){var n=(t||document).createElement("div");if(n.innerHTML=e,!n.hasChildNodes()||n.childNodes.length>1)throw console.error("HTML does not have a single root node",e),"HTML must have a single root node";return cn(n.childNodes[0])},fromTag:function(e,t){var n=(t||document).createElement(e);return cn(n)},fromText:function(e,t){var n=(t||document).createTextNode(e);return cn(n)},fromDom:cn,fromPoint:function(e,t,n){return W.from(e.dom().elementFromPoint(t,n)).map(cn)}},fn=function(e){var t,n=!1;return function(){return n||(n=!0,t=e.apply(null,arguments)),t}},hn=8,mn=9,gn=1,pn=3,vn=function(e){return e.dom().nodeName.toLowerCase()},bn=function(e){return e.dom().nodeType},yn=function(e){return function(t){return bn(t)===e}},xn=yn(gn),wn=yn(pn),_n=yn(mn),Rn={name:vn,type:bn,value:function(e){return e.dom().nodeValue},isElement:xn,isText:wn,isDocument:_n,isComment:function(e){return bn(e)===hn||"#comment"===vn(e)}},Cn=(fn(function(){return Cn(dn.fromDom(document))}),function(e){var t=e.dom().body;if(null===t||t===undefined)throw"Body is not available yet";return dn.fromDom(t)}),kn=function(e){return function(t){return function(e){if(null===e)return"null";var t=typeof e;return"object"===t&&Array.prototype.isPrototypeOf(e)?"array":"object"===t&&String.prototype.isPrototypeOf(e)?"string":t}(t)===e}},En=(kn("string"),kn("object"),kn("array"),kn("null"),kn("boolean"),kn("undefined"),kn("function"),kn("number"),Object.keys,undefined,function(){var e=arguments;return function(){for(var t=new Array(arguments.length),n=0;n<t.length;n++)t[n]=arguments[n];if(e.length!==t.length)throw new Error('Wrong number of arguments to struct. Expected "['+e.length+']", got '+t.length+" arguments");var i={};return ee.each(e,function(e,n){i[e]=E.constant(t[n])}),i}}),Hn=("undefined"!=typeof window?window:Function("return this;")(),function(e,t){var n=function(e,t){for(var n=0;n<e.length;n++){var i=e[n];if(i.test(t))return i}return undefined}(e,t);if(!n)return{major:0,minor:0};var i=function(e){return Number(t.replace(n,"$"+e))};return Mn(i(1),i(2))}),Sn=function(){return Mn(0,0)},Mn=function(e,t){return{major:e,minor:t}},Tn={nu:Mn,detect:function(e,t){var n=String(t).toLowerCase();return 0===e.length?Sn():Hn(e,n)},unknown:Sn},Pn="Firefox",Wn=function(e,t){return function(){return t===e}},Dn=function(e){var t=e.current;return{current:t,version:e.version,isEdge:Wn("Edge",t),isChrome:Wn("Chrome",t),isIE:Wn("IE",t),isOpera:Wn("Opera",t),isFirefox:Wn(Pn,t),isSafari:Wn("Safari",t)}},Nn={unknown:function(){return Dn({current:undefined,version:Tn.unknown()})},nu:Dn,edge:E.constant("Edge"),chrome:E.constant("Chrome"),ie:E.constant("IE"),opera:E.constant("Opera"),firefox:E.constant(Pn),safari:E.constant("Safari")},An="Windows",Bn="Android",On="Solaris",zn="FreeBSD",Ln=function(e,t){return function(){return t===e}},In=function(e){var t=e.current;return{current:t,version:e.version,isWindows:Ln(An,t),isiOS:Ln("iOS",t),isAndroid:Ln(Bn,t),isOSX:Ln("OSX",t),isLinux:Ln("Linux",t),isSolaris:Ln(On,t),isFreeBSD:Ln(zn,t)}},Fn={unknown:function(){return In({current:undefined,version:Tn.unknown()})},nu:In,windows:E.constant(An),ios:E.constant("iOS"),android:E.constant(Bn),linux:E.constant("Linux"),osx:E.constant("OSX"),solaris:E.constant(On),freebsd:E.constant(zn)},Vn=function(e,t){var n=String(t).toLowerCase();return ee.find(e,function(e){return e.search(n)})},Un=function(e,t){return Vn(e,t).map(function(e){var n=Tn.detect(e.versionRegexes,t);return{current:e.name,version:n}})},Yn=function(e,t){return Vn(e,t).map(function(e){var n=Tn.detect(e.versionRegexes,t);return{current:e.name,version:n}})},$n=function(e,t){return-1!==e.indexOf(t)},jn=/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,qn=function(e){return function(t){return $n(t,e)}},Xn=[{name:"Edge",versionRegexes:[/.*?edge\/ ?([0-9]+)\.([0-9]+)$/],search:function(e){return $n(e,"edge/")&&$n(e,"chrome")&&$n(e,"safari")&&$n(e,"applewebkit")}},{name:"Chrome",versionRegexes:[/.*?chrome\/([0-9]+)\.([0-9]+).*/,jn],search:function(e){return $n(e,"chrome")&&!$n(e,"chromeframe")}},{name:"IE",versionRegexes:[/.*?msie\ ?([0-9]+)\.([0-9]+).*/,/.*?rv:([0-9]+)\.([0-9]+).*/],search:function(e){return $n(e,"msie")||$n(e,"trident")}},{name:"Opera",versionRegexes:[jn,/.*?opera\/([0-9]+)\.([0-9]+).*/],search:qn("opera")},{name:"Firefox",versionRegexes:[/.*?firefox\/\ ?([0-9]+)\.([0-9]+).*/],search:qn("firefox")},{name:"Safari",versionRegexes:[jn,/.*?cpu os ([0-9]+)_([0-9]+).*/],search:function(e){return($n(e,"safari")||$n(e,"mobile/"))&&$n(e,"applewebkit")}}],Jn=[{name:"Windows",search:qn("win"),versionRegexes:[/.*?windows\ nt\ ?([0-9]+)\.([0-9]+).*/]},{name:"iOS",search:function(e){return $n(e,"iphone")||$n(e,"ipad")},versionRegexes:[/.*?version\/\ ?([0-9]+)\.([0-9]+).*/,/.*cpu os ([0-9]+)_([0-9]+).*/,/.*cpu iphone os ([0-9]+)_([0-9]+).*/]},{name:"Android",search:qn("android"),versionRegexes:[/.*?android\ ?([0-9]+)\.([0-9]+).*/]},{name:"OSX",search:qn("os x"),versionRegexes:[/.*?os\ x\ ?([0-9]+)_([0-9]+).*/]},{name:"Linux",search:qn("linux"),versionRegexes:[]},{name:"Solaris",search:qn("sunos"),versionRegexes:[]},{name:"FreeBSD",search:qn("freebsd"),versionRegexes:[]}],Gn={browsers:E.constant(Xn),oses:E.constant(Jn)},Kn=function(e){var t,n,i,r,o,s,a,l,u,c,d,f=Gn.browsers(),h=Gn.oses(),m=Un(f,e).fold(Nn.unknown,Nn.nu),g=Yn(h,e).fold(Fn.unknown,Fn.nu);return{browser:m,os:g,deviceType:(n=m,i=e,r=(t=g).isiOS()&&!0===/ipad/i.test(i),o=t.isiOS()&&!r,s=t.isAndroid()&&3===t.version.major,a=t.isAndroid()&&4===t.version.major,l=r||s||a&&!0===/mobile/i.test(i),u=t.isiOS()||t.isAndroid(),c=u&&!l,d=n.isSafari()&&t.isiOS()&&!1===/safari/i.test(i),{isiPad:E.constant(r),isiPhone:E.constant(o),isTablet:E.constant(l),isPhone:E.constant(c),isTouch:E.constant(u),isAndroid:t.isAndroid,isiOS:t.isiOS,isWebView:E.constant(d)})}},Zn=gn,Qn=mn,ei=function(e){return e.nodeType!==Zn&&e.nodeType!==Qn||0===e.childElementCount},ti={all:function(e,t){var n=t===undefined?document:t.dom();return ei(n)?[]:ee.map(n.querySelectorAll(e),dn.fromDom)},is:function(e,t){var n=e.dom();if(n.nodeType!==Zn)return!1;if(n.matches!==undefined)return n.matches(t);if(n.msMatchesSelector!==undefined)return n.msMatchesSelector(t);if(n.webkitMatchesSelector!==undefined)return n.webkitMatchesSelector(t);if(n.mozMatchesSelector!==undefined)return n.mozMatchesSelector(t);throw new Error("Browser lacks native selectors")},one:function(e,t){var n=t===undefined?document:t.dom();return ei(n)?W.none():W.from(n.querySelector(e)).map(dn.fromDom)}},ni=(fn(function(){var e=navigator.userAgent;return Kn(e)})().browser.isIE(),En("element","offset"),function(e,t){return ti.all(t,e)}),ii=a.trim,ri=function(e){return function(t){if(t&&1===t.nodeType){if(t.contentEditable===e)return!0;if(t.getAttribute("data-mce-contenteditable")===e)return!0}return!1}},oi=ri("true"),si=ri("false"),ai=function(e,t,n,i,r){return{type:e,title:t,url:n,level:i,attach:r}},li=function(e){return e.innerText||e.textContent},ui=function(e){return(t=e)&&"A"===t.nodeName&&(t.id||t.name)&&di(e);var t},ci=function(e){return e&&/^(H[1-6])$/.test(e.nodeName)},di=function(e){return function(e){for(;e=e.parentNode;){var t=e.contentEditable;if(t&&"inherit"!==t)return oi(e)}return!1}(e)&&!si(e)},fi=function(e){return ci(e)&&di(e)},hi=function(e){var t,n,i=(t=e).id?t.id:un("h");return ai("header",li(e),"#"+i,ci(n=e)?parseInt(n.nodeName.substr(1),10):0,function(){e.id=i})},mi=function(e){var t=e.id||e.name,n=li(e);return ai("anchor",n||"#"+t,"#"+t,0,E.noop)},gi=function(e){var t,n;return t="h1,h2,h3,h4,h5,h6,a:not([href])",n=e,ee.map(ni(dn.fromDom(n),t),function(e){return e.dom()})},pi=function(e){return ii(e.title).length>0},vi=function(e){var t,n,i=gi(e);return ee.filter((n=i,ee.map(ee.filter(n,fi),hi)).concat((t=i,ee.map(ee.filter(t,ui),mi))),pi)},bi={},yi=function(e){return{title:e.title,value:{title:{raw:e.title},url:e.url,attach:e.attach}}},xi=function(e,t){return{title:e,value:{title:e,url:t,attach:E.noop}}},wi=function(e,t,n){var i=t in e?e[t]:n;return!1===i?null:i},_i=function(e,t,n,i){var r,o,s,l,u={title:"-"},c=function(e){var i=e.hasOwnProperty(n)?e[n]:[],r=ee.filter(i,function(e){return n=e,i=t,!ee.exists(i,function(e){return e.url===n});var n,i});return a.map(r,function(e){return{title:e,value:{title:e,url:e,attach:E.noop}}})},d=function(e){var n,i=ee.filter(t,function(t){return t.type===e});return n=i,a.map(n,yi)};return!1===i.typeahead_urls?[]:"file"===n?(r=[Ri(e,c(bi)),Ri(e,d("header")),Ri(e,(o=d("anchor"),s=wi(i,"anchor_top","#top"),l=wi(i,"anchor_bottom","#bottom"),null!==s&&o.unshift(xi("<top>",s)),null!==l&&o.push(xi("<bottom>",l)),o))],ee.foldl(r,function(e,t){return 0===e.length||0===t.length?e.concat(t):e.concat(u,t)},[])):Ri(e,c(bi))},Ri=function(e,t){var n=e.toLowerCase(),i=a.grep(t,function(e){return-1!==e.title.toLowerCase().indexOf(n)});return 1===i.length&&i[0].title===e?[]:i},Ci=function(e,t,n,i){var r=function(r){var o=vi(n),s=_i(r,o,i,t);e.showAutoComplete(s,r)};e.on("autocomplete",function(){r(e.value())}),e.on("selectitem",function(t){var n=t.value;e.value(n.url);var r,o=(r=n.title).raw?r.raw:r;"image"===i?e.fire("change",{meta:{alt:o,attach:n.attach}}):e.fire("change",{meta:{text:o,attach:n.attach}}),e.focus()}),e.on("click",function(t){0===e.value().length&&"INPUT"===t.target.nodeName&&r("")}),e.on("PostRender",function(){e.getRoot().on("submit",function(t){var n,r,o;t.isDefaultPrevented()||(n=e.value(),o=bi[r=i],/^https?/.test(n)&&(o?-1===ee.indexOf(o,n)&&(bi[r]=o.slice(0,5).concat(n)):bi[r]=[n]))})})},ki=function(e,t,n){var i=t.filepicker_validator_handler;i&&e.state.on("change:value",function(t){var r;0!==(r=t.value).length?i({url:r,type:n},function(t){var n,i,r,o=(i=(n=t).status,r=n.message,"valid"===i?{status:"ok",message:r}:"unknown"===i?{status:"warn",message:r}:"invalid"===i?{status:"warn",message:r}:{status:"none",message:""});e.statusMessage(o.message),e.statusLevel(o.status)}):e.statusLevel("none")})},Ei=Xt.extend({Statics:{clearHistory:function(){bi={}}},init:function(e){var t,n,i,r=this,o=window.tinymce?window.tinymce.activeEditor:s.activeEditor,l=o.settings,u=e.filetype;e.spellcheck=!1,(i=l.file_picker_types||l.file_browser_callback_types)&&(i=a.makeMap(i,/[, ]/)),i&&!i[u]||(!(n=l.file_picker_callback)||i&&!i[u]?!(n=l.file_browser_callback)||i&&!i[u]||(t=function(){n(r.getEl("inp").id,r.value(),u,window)}):t=function(){var e=r.fire("beforecall").meta;e=a.extend({filetype:u},e),n.call(o,function(e,t){r.value(e).fire("change",{meta:t})},r.value(),e)}),t&&(e.icon="browse",e.onaction=t),r._super(e),r.classes.add("filepicker"),Ci(r,l,o.getBody(),u),ki(r,l,u)}}),Hi=Vt.extend({recalc:function(e){var t=e.layoutRect(),n=e.paddingBox;e.items().filter(":visible").each(function(e){e.layoutRect({x:n.left,y:n.top,w:t.innerW-n.right-n.left,h:t.innerH-n.top-n.bottom}),e.recalc&&e.recalc()})}}),Si=Vt.extend({recalc:function(e){var t,n,i,r,o,s,a,l,u,c,d,f,h,m,g,p,v,b,y,x,w,_,R,C,k,E,H,S,M,T,P,W,D,N,A,B,O,z=[],L=Math.max,I=Math.min;for(i=e.items().filter(":visible"),r=e.layoutRect(),o=e.paddingBox,s=e.settings,f=e.isRtl()?s.direction||"row-reversed":s.direction,a=s.align,l=e.isRtl()?s.pack||"end":s.pack,u=s.spacing||0,"row-reversed"!==f&&"column-reverse"!==f||(i=i.set(i.toArray().reverse()),f=f.split("-")[0]),"column"===f?(C="y",_="h",R="minH",k="maxH",H="innerH",E="top",S="deltaH",M="contentH",N="left",W="w",T="x",P="innerW",D="minW",A="right",B="deltaW",O="contentW"):(C="x",_="w",R="minW",k="maxW",H="innerW",E="left",S="deltaW",M="contentW",N="top",W="h",T="y",P="innerH",D="minH",A="bottom",B="deltaH",O="contentH"),d=r[H]-o[E]-o[E],w=c=0,t=0,n=i.length;t<n;t++)m=(h=i[t]).layoutRect(),g=h.settings.flex,d-=t<n-1?u:0,g>0&&(c+=g,m[k]&&z.push(h),m.flex=g),d-=m[R],(p=o[N]+m[D]+o[A])>w&&(w=p);if((y={})[R]=d<0?r[R]-d+r[S]:r[H]-d+r[S],y[D]=w+r[B],y[M]=r[H]-d,y[O]=w,y.minW=I(y.minW,r.maxW),y.minH=I(y.minH,r.maxH),y.minW=L(y.minW,r.startMinWidth),y.minH=L(y.minH,r.startMinHeight),!r.autoResize||y.minW===r.minW&&y.minH===r.minH){for(b=d/c,t=0,n=z.length;t<n;t++)v=(m=(h=z[t]).layoutRect())[k],(p=m[R]+m.flex*b)>v?(d-=m[k]-m[R],c-=m.flex,m.flex=0,m.maxFlexSize=v):m.maxFlexSize=0;for(b=d/c,x=o[E],y={},0===c&&("end"===l?x=d+o[E]:"center"===l?(x=Math.round(r[H]/2-(r[H]-d)/2)+o[E])<0&&(x=o[E]):"justify"===l&&(x=o[E],u=Math.floor(d/(i.length-1)))),y[T]=o[N],t=0,n=i.length;t<n;t++)p=(m=(h=i[t]).layoutRect()).maxFlexSize||m[R],"center"===a?y[T]=Math.round(r[P]/2-m[W]/2):"stretch"===a?(y[W]=L(m[D]||0,r[P]-o[N]-o[A]),y[T]=o[N]):"end"===a&&(y[T]=r[P]-m[W]-o.top),m.flex>0&&(p+=m.flex*b),y[_]=p,y[C]=x,h.layoutRect(y),h.recalc&&h.recalc(),x+=p+u}else if(y.w=y.minW,y.h=y.minH,e.layoutRect(y),this.recalc(e),null===e._lastRect){var F=e.parent();F&&(F._lastRect=null,F.recalc())}}}),Mi=Ft.extend({Defaults:{containerClass:"flow-layout",controlClass:"flow-layout-item",endClass:"break"},recalc:function(e){e.items().filter(":visible").each(function(e){e.recalc&&e.recalc()})},isNative:function(){return!0}}),Ti=function(e,t){return ti.one(t,e)},Pi=function(e,t){return function(){e.execCommand("mceToggleFormat",!1,t)}},Wi=function(e,t){return function(){var n=this;e.formatter?e.formatter.formatChanged(t,function(e){n.active(e)}):e.on("init",function(){e.formatter.formatChanged(t,function(e){n.active(e)})})}},Di=function(e){e.addMenuItem("align",{text:"Align",menu:[{text:"Left",icon:"alignleft",onclick:Pi(e,"alignleft")},{text:"Center",icon:"aligncenter",onclick:Pi(e,"aligncenter")},{text:"Right",icon:"alignright",onclick:Pi(e,"alignright")},{text:"Justify",icon:"alignjustify",onclick:Pi(e,"alignjustify")}]}),a.each({alignleft:["Align left","JustifyLeft"],aligncenter:["Align center","JustifyCenter"],alignright:["Align right","JustifyRight"],alignjustify:["Justify","JustifyFull"],alignnone:["No alignment","JustifyNone"]},function(t,n){e.addButton(n,{active:!1,tooltip:t[0],cmd:t[1],onPostRender:Wi(e,n)})})},Ni=function(e){return function(t,n){return W.from(n).map(dn.fromDom).filter(Rn.isElement).bind(function(n){return function(e,t,n){for(;n!==t;){if(n.style[e]){var i=n.style[e];return""!==i?W.some(i):W.none()}n=n.parentNode}return W.none()}(e,t,n.dom()).or((i=e,r=n.dom(),W.from(m.DOM.getStyle(r,i,!0))));var i,r}).getOr("")}},Ai={getFontSize:Ni("fontSize"),getFontFamily:E.compose(function(e){return e.replace(/[\'\"]/g,"").replace(/,\s+/g,",")},Ni("fontFamily")),toPt:function(e,t){return/[0-9.]+px$/.test(e)?(n=72*parseInt(e,10)/96,i=t||0,r=Math.pow(10,i),Math.round(n*r)/r+"pt"):e;var n,i,r}},Bi=function(e){return e?e.split(",")[0]:""},Oi=function(e,t){return function(){var n=this;e.on("init nodeChange",function(i){var r,o,s,l=Ai.getFontFamily(e.getBody(),i.element),u=(r=t,o=l,a.each(r,function(e){e.value.toLowerCase()===o.toLowerCase()&&(s=e.value)}),a.each(r,function(e){s||Bi(e.value).toLowerCase()!==Bi(o).toLowerCase()||(s=e.value)}),s);n.value(u||null),!u&&l&&n.text(Bi(l))})}},zi=function(e){e.addButton("fontselect",function(){var t,n=(t=function(e){for(var t=(e=e.replace(/;$/,"").split(";")).length;t--;)e[t]=e[t].split("=");return e}(e.settings.font_formats||"Andale Mono=andale mono,monospace;Arial=arial,helvetica,sans-serif;Arial Black=arial black,sans-serif;Book Antiqua=book antiqua,palatino,serif;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier,monospace;Georgia=georgia,palatino,serif;Helvetica=helvetica,arial,sans-serif;Impact=impact,sans-serif;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco,monospace;Times New Roman=times new roman,times,serif;Trebuchet MS=trebuchet ms,geneva,sans-serif;Verdana=verdana,geneva,sans-serif;Webdings=webdings;Wingdings=wingdings,zapf dingbats"),a.map(t,function(e){return{text:{raw:e[0]},value:e[1],textStyle:-1===e[1].indexOf("dings")?"font-family:"+e[1]:""}}));return{type:"listbox",text:"Font Family",tooltip:"Font Family",values:n,fixedWidth:!0,onPostRender:Oi(e,n),onselect:function(t){t.control.settings.value&&e.execCommand("FontName",!1,t.control.settings.value)}}})},Li=function(e){zi(e)},Ii=function(e,t,n){var i;return a.each(e,function(e){e.value===n?i=n:e.value===t&&(i=t)}),i},Fi=function(e){e.addButton("fontsizeselect",function(){var t,n,i,r=(t=e.settings.fontsize_formats||"8pt 10pt 12pt 14pt 18pt 24pt 36pt",a.map(t.split(" "),function(e){var t=e,n=e,i=e.split("=");return i.length>1&&(t=i[0],n=i[1]),{text:t,value:n}}));return{type:"listbox",text:"Font Sizes",tooltip:"Font Sizes",values:r,fixedWidth:!0,onPostRender:(n=e,i=r,function(){var e=this;n.on("init nodeChange",function(t){var r,o,s,a;if(r=Ai.getFontSize(n.getBody(),t.element))for(s=3;!a&&s>=0;s--)o=Ai.toPt(r,s),a=Ii(i,o,r);e.value(a||null),a||e.text(o)})}),onclick:function(t){t.control.settings.value&&e.execCommand("FontSize",!1,t.control.settings.value)}}})},Vi=function(e){Fi(e)},Ui=function(e,t){return function(){var n,i,r,o=[];return a.each(t,function(t){o.push({text:t[0],value:t[1],textStyle:function(){return e.formatter.getCssText(t[1])}})}),{type:"listbox",text:t[0][0],values:o,fixedWidth:!0,onselect:function(t){if(t.control){var n=t.control.value();Pi(e,n)()}},onPostRender:(n=e,i=o,function(){var e=this;n.on("nodeChange",function(t){var o=n.formatter,s=null;a.each(t.parents,function(e){if(a.each(i,function(t){if(r?o.matchNode(e,r,{value:t.value})&&(s=t.value):o.matchNode(e,t.value)&&(s=t.value),s)return!1}),s)return!1}),e.value(s)})})}}},Yi=function(e){var t,n,i=function(e){for(var t=(e=e.replace(/;$/,"").split(";")).length;t--;)e[t]=e[t].split("=");return e}(e.settings.block_formats||"Paragraph=p;Heading 1=h1;Heading 2=h2;Heading 3=h3;Heading 4=h4;Heading 5=h5;Heading 6=h6;Preformatted=pre");e.addMenuItem("blockformats",{text:"Blocks",menu:(t=e,n=i,a.map(n,function(e){return{text:e[0],onclick:Pi(t,e[1]),textStyle:function(){return t.formatter.getCssText(e[1])}}}))}),e.addButton("formatselect",Ui(e,i))},$i=function(e,t){var n=t.length;return a.each(t,function(t){t.menu&&(t.hidden=0===$i(e,t.menu));var i=t.format;i&&(t.hidden=!e.formatter.canApply(i)),t.hidden&&n--}),n},ji=function(e,t){var n=t.items().length;return t.items().each(function(t){t.menu&&t.visible(ji(e,t.menu)>0),!t.menu&&t.settings.menu&&t.visible($i(e,t.settings.menu)>0);var i=t.settings.format;i&&t.visible(e.formatter.canApply(i)),t.visible()||n--}),n},qi=function(e){var t,n,i,r,o,s,l,u,c=(n=0,i=[],r=[{title:"Headings",items:[{title:"Heading 1",format:"h1"},{title:"Heading 2",format:"h2"},{title:"Heading 3",format:"h3"},{title:"Heading 4",format:"h4"},{title:"Heading 5",format:"h5"},{title:"Heading 6",format:"h6"}]},{title:"Inline",items:[{title:"Bold",icon:"bold",format:"bold"},{title:"Italic",icon:"italic",format:"italic"},{title:"Underline",icon:"underline",format:"underline"},{title:"Strikethrough",icon:"strikethrough",format:"strikethrough"},{title:"Superscript",icon:"superscript",format:"superscript"},{title:"Subscript",icon:"subscript",format:"subscript"},{title:"Code",icon:"code",format:"code"}]},{title:"Blocks",items:[{title:"Paragraph",format:"p"},{title:"Blockquote",format:"blockquote"},{title:"Div",format:"div"},{title:"Pre",format:"pre"}]},{title:"Alignment",items:[{title:"Left",icon:"alignleft",format:"alignleft"},{title:"Center",icon:"aligncenter",format:"aligncenter"},{title:"Right",icon:"alignright",format:"alignright"},{title:"Justify",icon:"alignjustify",format:"alignjustify"}]}],o=function(e){var t=[];if(e)return a.each(e,function(e){var r={text:e.title,icon:e.icon};if(e.items)r.menu=o(e.items);else{var s=e.format||"custom"+n++;e.format||(e.name=s,i.push(e)),r.format=s,r.cmd=e.cmd}t.push(r)}),t},(t=e).on("init",function(){a.each(i,function(e){t.formatter.register(e.name,e)})}),{type:"menu",items:t.settings.style_formats_merge?t.settings.style_formats?o(r.concat(t.settings.style_formats)):o(r):o(t.settings.style_formats||r),onPostRender:function(e){t.fire("renderFormatsMenu",{control:e.control})},itemDefaults:{preview:!0,textStyle:function(){if(this.settings.format)return t.formatter.getCssText(this.settings.format)},onPostRender:function(){var e=this;e.parent().on("show",function(){var n,i;(n=e.settings.format)&&(e.disabled(!t.formatter.canApply(n)),e.active(t.formatter.match(n))),(i=e.settings.cmd)&&e.active(t.queryCommandState(i))})},onclick:function(){this.settings.format&&Pi(t,this.settings.format)(),this.settings.cmd&&t.execCommand(this.settings.cmd)}}});s=c,e.addMenuItem("formats",{text:"Formats",menu:s}),u=c,(l=e).addButton("styleselect",{type:"menubutton",text:"Formats",menu:u,onShowMenu:function(){l.settings.style_formats_autohide&&ji(l,this.menu)}})},Xi=function(e,t){var n,i;if("string"==typeof t)i=t.split(" ");else if(a.isArray(t))return ee.flatten(a.map(t,function(t){return Xi(e,t)}));return n=a.grep(i,function(t){return"|"===t||t in e.menuItems}),a.map(n,function(t){return"|"===t?{text:"-"}:e.menuItems[t]})},Ji=function(e){return e&&"-"===e.text},Gi=function(e){var t=ee.filter(e,function(e,t,n){return!Ji(e)||!Ji(n[t-1])});return ee.filter(t,function(e,t,n){return!Ji(e)||t>0&&t<n.length-1})},Ki=function(e){var t,n,i,r,o=e.settings.insert_button_items;return Gi(o?Xi(e,o):(t=e,n="insert",i=[{text:"-"}],r=a.grep(t.menuItems,function(e){return e.context===n}),a.each(r,function(e){"before"===e.separator&&i.push({text:"|"}),e.prependToContext?i.unshift(e):i.push(e),"after"===e.separator&&i.push({text:"|"})}),i))},Zi=function(e){var t;(t=e).addButton("insert",{type:"menubutton",icon:"insert",menu:[],oncreatemenu:function(){this.menu.add(Ki(t)),this.menu.renderNew()}})},Qi=function(e){var t,n,i;t=e,a.each({bold:"Bold",italic:"Italic",underline:"Underline",strikethrough:"Strikethrough",subscript:"Subscript",superscript:"Superscript"},function(e,n){t.addButton(n,{active:!1,tooltip:e,onPostRender:Wi(t,n),onclick:Pi(t,n)})}),n=e,a.each({outdent:["Decrease indent","Outdent"],indent:["Increase indent","Indent"],cut:["Cut","Cut"],copy:["Copy","Copy"],paste:["Paste","Paste"],help:["Help","mceHelp"],selectall:["Select all","SelectAll"],visualaid:["Visual aids","mceToggleVisualAid"],newdocument:["New document","mceNewDocument"],removeformat:["Clear formatting","RemoveFormat"],remove:["Remove","Delete"]},function(e,t){n.addButton(t,{tooltip:e[0],cmd:e[1]})}),i=e,a.each({blockquote:["Blockquote","mceBlockQuote"],subscript:["Subscript","Subscript"],superscript:["Superscript","Superscript"]},function(e,t){i.addButton(t,{active:!1,tooltip:e[0],cmd:e[1],onPostRender:Wi(i,t)})})},er=function(e){var t;Qi(e),t=e,a.each({bold:["Bold","Bold","Meta+B"],italic:["Italic","Italic","Meta+I"],underline:["Underline","Underline","Meta+U"],strikethrough:["Strikethrough","Strikethrough"],subscript:["Subscript","Subscript"],superscript:["Superscript","Superscript"],removeformat:["Clear formatting","RemoveFormat"],newdocument:["New document","mceNewDocument"],cut:["Cut","Cut","Meta+X"],copy:["Copy","Copy","Meta+C"],paste:["Paste","Paste","Meta+V"],selectall:["Select all","SelectAll","Meta+A"]},function(e,n){t.addMenuItem(n,{text:e[0],icon:n,shortcut:e[2],cmd:e[1]})}),t.addMenuItem("codeformat",{text:"Code",icon:"code",onclick:Pi(t,"code")})},tr=function(e,t){return function(){var n=this,i=function(){var n="redo"===t?"hasRedo":"hasUndo";return!!e.undoManager&&e.undoManager[n]()};n.disabled(!i()),e.on("Undo Redo AddUndo TypingUndo ClearUndos SwitchMode",function(){n.disabled(e.readonly||!i())})}},nr=function(e){var t,n;(t=e).addMenuItem("undo",{text:"Undo",icon:"undo",shortcut:"Meta+Z",onPostRender:tr(t,"undo"),cmd:"undo"}),t.addMenuItem("redo",{text:"Redo",icon:"redo",shortcut:"Meta+Y",onPostRender:tr(t,"redo"),cmd:"redo"}),(n=e).addButton("undo",{tooltip:"Undo",onPostRender:tr(n,"undo"),cmd:"undo"}),n.addButton("redo",{tooltip:"Redo",onPostRender:tr(n,"redo"),cmd:"redo"})},ir=function(e){var t,n;(t=e).addMenuItem("visualaid",{text:"Visual aids",selectable:!0,onPostRender:(n=t,function(){var e=this;n.on("VisualAid",function(t){e.active(t.hasVisual)}),e.active(n.hasVisual)}),cmd:"mceToggleVisualAid"})},rr={setup:function(e){var t;e.rtl&&(et.rtl=!0),e.on("mousedown",function(){xt.hideAll()}),(t=e).settings.ui_container&&(_.container=Ti(dn.fromDom(document.body),t.settings.ui_container).fold(E.constant(null),function(e){return e.dom()})),Mt.tooltips=!_.iOS,et.translate=function(e){return s.translate(e)},Yi(e),Di(e),er(e),nr(e),Vi(e),Li(e),qi(e),ir(e),Zi(e)}},or=Vt.extend({recalc:function(e){var t,n,i,r,o,s,a,l,u,c,d,f,h,m,g,p,v,b,y,x,w,_,R,C,k,E,H,S,M=[],T=[];t=e.settings,r=e.items().filter(":visible"),o=e.layoutRect(),i=t.columns||Math.ceil(Math.sqrt(r.length)),n=Math.ceil(r.length/i),b=t.spacingH||t.spacing||0,y=t.spacingV||t.spacing||0,x=t.alignH||t.align,w=t.alignV||t.align,p=e.paddingBox,S="reverseRows"in t?t.reverseRows:e.isRtl(),x&&"string"==typeof x&&(x=[x]),w&&"string"==typeof w&&(w=[w]);for(d=0;d<i;d++)M.push(0);for(f=0;f<n;f++)T.push(0);for(f=0;f<n;f++)for(d=0;d<i&&(c=r[f*i+d]);d++)C=(u=c.layoutRect()).minW,k=u.minH,M[d]=C>M[d]?C:M[d],T[f]=k>T[f]?k:T[f];for(E=o.innerW-p.left-p.right,_=0,d=0;d<i;d++)_+=M[d]+(d>0?b:0),E-=(d>0?b:0)+M[d];for(H=o.innerH-p.top-p.bottom,R=0,f=0;f<n;f++)R+=T[f]+(f>0?y:0),H-=(f>0?y:0)+T[f];if(_+=p.left+p.right,R+=p.top+p.bottom,(l={}).minW=_+(o.w-o.innerW),l.minH=R+(o.h-o.innerH),l.contentW=l.minW-o.deltaW,l.contentH=l.minH-o.deltaH,l.minW=Math.min(l.minW,o.maxW),l.minH=Math.min(l.minH,o.maxH),l.minW=Math.max(l.minW,o.startMinWidth),l.minH=Math.max(l.minH,o.startMinHeight),!o.autoResize||l.minW===o.minW&&l.minH===o.minH){var P;o.autoResize&&((l=e.layoutRect(l)).contentW=l.minW-o.deltaW,l.contentH=l.minH-o.deltaH),P="start"===t.packV?0:H>0?Math.floor(H/n):0;var W=0,D=t.flexWidths;if(D)for(d=0;d<D.length;d++)W+=D[d];else W=i;var N=E/W;for(d=0;d<i;d++)M[d]+=D?D[d]*N:N;for(m=p.top,f=0;f<n;f++){for(h=p.left,a=T[f]+P,d=0;d<i&&(c=r[S?f*i+i-1-d:f*i+d]);d++)g=c.settings,u=c.layoutRect(),s=Math.max(M[d],u.startMinWidth),u.x=h,u.y=m,"center"===(v=g.alignH||(x?x[d]||x[0]:null))?u.x=h+s/2-u.w/2:"right"===v?u.x=h+s-u.w:"stretch"===v&&(u.w=s),"center"===(v=g.alignV||(w?w[d]||w[0]:null))?u.y=m+a/2-u.h/2:"bottom"===v?u.y=m+a-u.h:"stretch"===v&&(u.h=a),c.layoutRect(u),h+=s+b,c.recalc&&c.recalc();m+=a+y}}else if(l.w=l.minW,l.h=l.minH,e.layoutRect(l),this.recalc(e),null===e._lastRect){var A=e.parent();A&&(A._lastRect=null,A.recalc())}}}),sr=Mt.extend({renderHtml:function(){var e=this;return e.classes.add("iframe"),e.canFocus=!1,'<iframe id="'+e._id+'" class="'+e.classes+'" tabindex="-1" src="'+(e.settings.url||"javascript:''")+'" frameborder="0"></iframe>'},src:function(e){this.getEl().src=e},html:function(e,t){var n=this,i=this.getEl().contentWindow.document.body;return i?(i.innerHTML=e,t&&t()):C.setTimeout(function(){n.html(e)}),this}}),ar=Mt.extend({init:function(e){this._super(e),this.classes.add("widget").add("infobox"),this.canFocus=!1},severity:function(e){this.classes.remove("error"),this.classes.remove("warning"),this.classes.remove("success"),this.classes.add(e)},help:function(e){this.state.set("help",e)},renderHtml:function(){var e=this,t=e.classPrefix;return'<div id="'+e._id+'" class="'+e.classes+'"><div id="'+e._id+'-body">'+e.encode(e.state.get("text"))+'<button role="button" tabindex="-1"><i class="'+t+"ico "+t+'i-help"></i></button></div></div>'},bindStates:function(){var e=this;return e.state.on("change:text",function(t){e.getEl("body").firstChild.data=e.encode(t.value),e.state.get("rendered")&&e.updateLayoutRect()}),e.state.on("change:help",function(t){e.classes.toggle("has-help",t.value),e.state.get("rendered")&&e.updateLayoutRect()}),e._super()}}),lr=Mt.extend({init:function(e){var t=this;t._super(e),t.classes.add("widget").add("label"),t.canFocus=!1,e.multiline&&t.classes.add("autoscroll"),e.strong&&t.classes.add("strong")},initLayoutRect:function(){var e=this,t=e._super();return e.settings.multiline&&(we.getSize(e.getEl()).width>t.maxW&&(t.minW=t.maxW,e.classes.add("multiline")),e.getEl().style.width=t.minW+"px",t.startMinH=t.h=t.minH=Math.min(t.maxH,we.getSize(e.getEl()).height)),t},repaint:function(){return this.settings.multiline||(this.getEl().style.lineHeight=this.layoutRect().h+"px"),this._super()},severity:function(e){this.classes.remove("error"),this.classes.remove("warning"),this.classes.remove("success"),this.classes.add(e)},renderHtml:function(){var e,t,n=this,i=n.settings.forId,r=n.settings.html?n.settings.html:n.encode(n.state.get("text"));return!i&&(t=n.settings.forName)&&(e=n.getRoot().find("#"+t)[0])&&(i=e._id),i?'<label id="'+n._id+'" class="'+n.classes+'"'+(i?' for="'+i+'"':"")+">"+r+"</label>":'<span id="'+n._id+'" class="'+n.classes+'">'+r+"</span>"},bindStates:function(){var e=this;return e.state.on("change:text",function(t){e.innerHtml(e.encode(t.value)),e.state.get("rendered")&&e.updateLayoutRect()}),e._super()}}),ur=rt.extend({Defaults:{role:"toolbar",layout:"flow"},init:function(e){this._super(e),this.classes.add("toolbar")},postRender:function(){return this.items().each(function(e){e.classes.add("toolbar-item")}),this._super()}}),cr=ur.extend({Defaults:{role:"menubar",containerCls:"menubar",ariaRoot:!0,defaults:{type:"menubutton"}}}),dr=Ut.extend({init:function(e){var t=this;t._renderOpen=!0,t._super(e),e=t.settings,t.classes.add("menubtn"),e.fixedWidth&&t.classes.add("fixed-width"),t.aria("haspopup",!0),t.state.set("menu",e.menu||t.render())},showMenu:function(e){var t,n=this;if(n.menu&&n.menu.visible()&&!1!==e)return n.hideMenu();n.menu||(t=n.state.get("menu")||[],n.classes.add("opened"),t.length?t={type:"menu",animate:!0,items:t}:(t.type=t.type||"menu",t.animate=!0),t.renderTo?n.menu=t.parent(n).show().renderTo():n.menu=g.create(t).parent(n).renderTo(),n.fire("createmenu"),n.menu.reflow(),n.menu.on("cancel",function(e){e.control.parent()===n.menu&&(e.stopPropagation(),n.focus(),n.hideMenu())}),n.menu.on("select",function(){n.focus()}),n.menu.on("show hide",function(e){e.control===n.menu&&(n.activeMenu("show"===e.type),n.classes.toggle("opened","show"===e.type)),n.aria("expanded","show"===e.type)}).fire("show")),n.menu.show(),n.menu.layoutRect({w:n.layoutRect().w}),n.menu.repaint(),n.menu.moveRel(n.getEl(),n.isRtl()?["br-tr","tr-br"]:["bl-tl","tl-bl"]),n.fire("showmenu")},hideMenu:function(){this.menu&&(this.menu.items().each(function(e){e.hideMenu&&e.hideMenu()}),this.menu.hide())},activeMenu:function(e){this.classes.toggle("active",e)},renderHtml:function(){var e,t=this,n=t._id,i=t.classPrefix,r=t.settings.icon,o=t.state.get("text"),s="";return(e=t.settings.image)?(r="none","string"!=typeof e&&(e=window.getSelection?e[0]:e[1]),e=" style=\"background-image: url('"+e+"')\""):e="",o&&(t.classes.add("btn-has-text"),s='<span class="'+i+'txt">'+t.encode(o)+"</span>"),r=t.settings.icon?i+"ico "+i+"i-"+r:"",t.aria("role",t.parent()instanceof cr?"menuitem":"button"),'<div id="'+n+'" class="'+t.classes+'" tabindex="-1" aria-labelledby="'+n+'"><button id="'+n+'-open" role="presentation" type="button" tabindex="-1">'+(r?'<i class="'+r+'"'+e+"></i>":"")+s+' <i class="'+i+'caret"></i></button></div>'},postRender:function(){var e=this;return e.on("click",function(t){t.control===e&&function(e,t){for(;e;){if(t===e)return!0;e=e.parentNode}return!1}(t.target,e.getEl())&&(e.focus(),e.showMenu(!t.aria),t.aria&&e.menu.items().filter(":visible")[0].focus())}),e.on("mouseenter",function(t){var n,i=t.control,r=e.parent();i&&r&&i instanceof dr&&i.parent()===r&&(r.items().filter("MenuButton").each(function(e){e.hideMenu&&e!==i&&(e.menu&&e.menu.visible()&&(n=!0),e.hideMenu())}),n&&(i.focus(),i.showMenu()))}),e._super()},bindStates:function(){var e=this;return e.state.on("change:menu",function(){e.menu&&e.menu.remove(),e.menu=null}),e._super()},remove:function(){this._super(),this.menu&&this.menu.remove()}}),fr=xt.extend({Defaults:{defaultType:"menuitem",border:1,layout:"stack",role:"application",bodyRole:"menu",ariaRoot:!0},init:function(e){if(e.autohide=!0,e.constrainToViewport=!0,"function"==typeof e.items&&(e.itemsFactory=e.items,e.items=[]),e.itemDefaults)for(var t=e.items,n=t.length;n--;)t[n]=a.extend({},e.itemDefaults,t[n]);this._super(e),this.classes.add("menu"),e.animate&&11!==_.ie&&this.classes.add("animate")},repaint:function(){return this.classes.toggle("menu-align",!0),this._super(),this.getEl().style.height="",this.getEl("body").style.height="",this},cancel:function(){this.hideAll(),this.fire("select")},load:function(){var e,t=this;function n(){t.throbber&&(t.throbber.hide(),t.throbber=null)}t.settings.itemsFactory&&(t.throbber||(t.throbber=new kt(t.getEl("body"),!0),0===t.items().length?(t.throbber.show(),t.fire("loading")):t.throbber.show(100,function(){t.items().remove(),t.fire("loading")}),t.on("hide close",n)),t.requestTime=e=(new Date).getTime(),t.settings.itemsFactory(function(i){0!==i.length?t.requestTime===e&&(t.getEl().style.width="",t.getEl("body").style.width="",n(),t.items().remove(),t.getEl("body").innerHTML="",t.add(i),t.renderNew(),t.fire("loaded")):t.hide()}))},hideAll:function(){return this.find("menuitem").exec("hideMenu"),this._super()},preRender:function(){var e=this;return e.items().each(function(t){var n=t.settings;if(n.icon||n.image||n.selectable)return e._hasIcons=!0,!1}),e.settings.itemsFactory&&e.on("postrender",function(){e.settings.itemsFactory&&e.load()}),e.on("show hide",function(t){t.control===e&&("show"===t.type?C.setTimeout(function(){e.classes.add("in")},0):e.classes.remove("in"))}),e._super()}}),hr=dr.extend({init:function(e){var t,n,i,r,o=this;o._super(e),e=o.settings,o._values=t=e.values,t&&("undefined"!=typeof e.value&&function s(t){for(var r=0;r<t.length;r++){if(n=t[r].selected||e.value===t[r].value)return i=i||t[r].text,o.state.set("value",t[r].value),!0;if(t[r].menu&&s(t[r].menu))return!0}}(t),!n&&t.length>0&&(i=t[0].text,o.state.set("value",t[0].value)),o.state.set("menu",t)),o.state.set("text",e.text||i),o.classes.add("listbox"),o.on("select",function(t){var n=t.control;r&&(t.lastControl=r),e.multiple?n.active(!n.active()):o.value(t.control.value()),r=n})},bindStates:function(){var e=this;return e.on("show",function(t){var n,i;n=t.control,i=e.value(),n instanceof fr&&n.items().each(function(e){e.hasMenus()||e.active(e.value()===i)})}),e.state.on("change:value",function(t){var n=function i(e,t){var n;if(e)for(var r=0;r<e.length;r++){if(e[r].value===t)return e[r];if(e[r].menu&&(n=i(e[r].menu,t)))return n}}(e.state.get("menu"),t.value);n?e.text(n.text):e.text(e.settings.text)}),e._super()}}),mr=Mt.extend({Defaults:{border:0,role:"menuitem"},init:function(e){var t,n=this;n._super(e),e=n.settings,n.classes.add("menu-item"),e.menu&&n.classes.add("menu-item-expand"),e.preview&&n.classes.add("menu-item-preview"),"-"!==(t=n.state.get("text"))&&"|"!==t||(n.classes.add("menu-item-sep"),n.aria("role","separator"),n.state.set("text","-")),e.selectable&&(n.aria("role","menuitemcheckbox"),n.classes.add("menu-item-checkbox"),e.icon="selected"),e.preview||e.selectable||n.classes.add("menu-item-normal"),n.on("mousedown",function(e){e.preventDefault()}),e.menu&&!e.ariaHideMenu&&n.aria("haspopup",!0)},hasMenus:function(){return!!this.settings.menu},showMenu:function(){var e,t=this,n=t.settings,i=t.parent();if(i.items().each(function(e){e!==t&&e.hideMenu()}),n.menu){(e=t.menu)?e.show():((e=n.menu).length?e={type:"menu",animate:!0,items:e}:(e.type=e.type||"menu",e.animate=!0),i.settings.itemDefaults&&(e.itemDefaults=i.settings.itemDefaults),(e=t.menu=g.create(e).parent(t).renderTo()).reflow(),e.on("cancel",function(n){n.stopPropagation(),t.focus(),e.hide()}),e.on("show hide",function(e){e.control.items&&e.control.items().each(function(e){e.active(e.settings.selected)})}).fire("show"),e.on("hide",function(n){n.control===e&&t.classes.remove("selected")}),e.submenu=!0),e._parentMenu=i,e.classes.add("menu-sub");var r=e.testMoveRel(t.getEl(),t.isRtl()?["tl-tr","bl-br","tr-tl","br-bl"]:["tr-tl","br-bl","tl-tr","bl-br"]);e.moveRel(t.getEl(),r),e.rel=r,r="menu-sub-"+r,e.classes.remove(e._lastRel).add(r),e._lastRel=r,t.classes.add("selected"),t.aria("expanded",!0)}},hideMenu:function(){var e=this;return e.menu&&(e.menu.items().each(function(e){e.hideMenu&&e.hideMenu()}),e.menu.hide(),e.aria("expanded",!1)),e},renderHtml:function(){var e,t=this,n=t._id,i=t.settings,r=t.classPrefix,o=t.state.get("text"),s=t.settings.icon,a="",l=i.shortcut,u=t.encode(i.url);function c(e){return e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function d(e){var t=i.match||"";return t?e.replace(new RegExp(c(t),"gi"),function(e){return"!mce~match["+e+"]mce~match!"}):e}function f(e){return e.replace(new RegExp(c("!mce~match["),"g"),"<b>").replace(new RegExp(c("]mce~match!"),"g"),"</b>")}return s&&t.parent().classes.add("menu-has-icons"),i.image&&(a=" style=\"background-image: url('"+i.image+"')\""),l&&(l=function(e){var t,n,i={};for(i=_.mac?{alt:"⌥",ctrl:"⌘",shift:"⇧",meta:"⌘"}:{meta:"Ctrl"},e=e.split("+"),t=0;t<e.length;t++)(n=i[e[t].toLowerCase()])&&(e[t]=n);return e.join("+")}(l)),s=r+"ico "+r+"i-"+(t.settings.icon||"none"),e="-"!==o?'<i class="'+s+'"'+a+"></i>\xa0":"",o=f(t.encode(d(o))),u=f(t.encode(d(u))),'<div id="'+n+'" class="'+t.classes+'" tabindex="-1">'+e+("-"!==o?'<span id="'+n+'-text" class="'+r+'text">'+o+"</span>":"")+(l?'<div id="'+n+'-shortcut" class="'+r+'menu-shortcut">'+l+"</div>":"")+(i.menu?'<div class="'+r+'caret"></div>':"")+(u?'<div class="'+r+'menu-item-link">'+u+"</div>":"")+"</div>"},postRender:function(){var e=this,t=e.settings,n=t.textStyle;if("function"==typeof n&&(n=n.call(this)),n){var i=e.getEl("text");i&&(i.setAttribute("style",n),e._textStyle=n)}return e.on("mouseenter click",function(n){n.control===e&&(t.menu||"click"!==n.type?(e.showMenu(),n.aria&&e.menu.focus(!0)):(e.fire("select"),C.requestAnimationFrame(function(){e.parent().hideAll()})))}),e._super(),e},hover:function(){return this.parent().items().each(function(e){e.classes.remove("selected")}),this.classes.toggle("selected",!0),this},active:function(e){return function(e,t){var n=e._textStyle;if(n){var i=e.getEl("text");i.setAttribute("style",n),t&&(i.style.color="",i.style.backgroundColor="")}}(this,e),void 0!==e&&this.aria("checked",e),this._super(e)},remove:function(){this._super(),this.menu&&this.menu.remove()}}),gr=jt.extend({Defaults:{classes:"radio",role:"radio"}}),pr=Mt.extend({renderHtml:function(){var e=this,t=e.classPrefix;return e.classes.add("resizehandle"),"both"===e.settings.direction&&e.classes.add("resizehandle-both"),e.canFocus=!1,'<div id="'+e._id+'" class="'+e.classes+'"><i class="'+t+"ico "+t+'i-resize"></i></div>'},postRender:function(){var e=this;e._super(),e.resizeDragHelper=new ct(this._id,{start:function(){e.fire("ResizeStart")},drag:function(t){"both"!==e.settings.direction&&(t.deltaX=0),e.fire("Resize",t)},stop:function(){e.fire("ResizeEnd")}})},remove:function(){return this.resizeDragHelper&&this.resizeDragHelper.destroy(),this._super()}});function vr(e){var t="";if(e)for(var n=0;n<e.length;n++)t+='<option value="'+e[n]+'">'+e[n]+"</option>";return t}var br=Mt.extend({Defaults:{classes:"selectbox",role:"selectbox",options:[]},init:function(e){var t=this;t._super(e),t.settings.size&&(t.size=t.settings.size),t.settings.options&&(t._options=t.settings.options),t.on("keydown",function(e){var n;13===e.keyCode&&(e.preventDefault(),t.parents().reverse().each(function(e){if(e.toJSON)return n=e,!1}),t.fire("submit",{data:n.toJSON()}))})},options:function(e){return arguments.length?(this.state.set("options",e),this):this.state.get("options")},renderHtml:function(){var e,t=this,n="";return e=vr(t._options),t.size&&(n=' size = "'+t.size+'"'),'<select id="'+t._id+'" class="'+t.classes+'"'+n+">"+e+"</select>"},bindStates:function(){var e=this;return e.state.on("change:options",function(t){e.getEl().innerHTML=vr(t.value)}),e._super()}});function yr(e,t,n){return e<t&&(e=t),e>n&&(e=n),e}function xr(e,t,n){e.setAttribute("aria-"+t,n)}function wr(e,t){var n,i,r,o,s;"v"===e.settings.orientation?(r="top",i="height",n="h"):(r="left",i="width",n="w"),s=e.getEl("handle"),o=((e.layoutRect()[n]||100)-we.getSize(s)[i])*((t-e._minValue)/(e._maxValue-e._minValue))+"px",s.style[r]=o,s.style.height=e.layoutRect().h+"px",xr(s,"valuenow",t),xr(s,"valuetext",""+e.settings.previewFilter(t)),xr(s,"valuemin",e._minValue),xr(s,"valuemax",e._maxValue)}var _r=Mt.extend({init:function(e){var t=this;e.previewFilter||(e.previewFilter=function(e){return Math.round(100*e)/100}),t._super(e),t.classes.add("slider"),"v"===e.orientation&&t.classes.add("vertical"),t._minValue=e.minValue||0,t._maxValue=e.maxValue||100,t._initValue=t.state.get("value")},renderHtml:function(){var e=this._id,t=this.classPrefix;return'<div id="'+e+'" class="'+this.classes+'"><div id="'+e+'-handle" class="'+t+'slider-handle" role="slider" tabindex="-1"></div></div>'},reset:function(){this.value(this._initValue).repaint()},postRender:function(){var e,t,n,i,r,o,s,a,l,u,c,d,f,h,m=this;e=m._minValue,t=m._maxValue,"v"===m.settings.orientation?(n="screenY",i="top",r="height",o="h"):(n="screenX",i="left",r="width",o="w"),m._super(),function(e,t){function n(n){var i,r,o;i=yr(i=(((i=m.value())+(o=e))/(t-o)+.05*n)*(t-(r=e))-r,e,t),m.value(i),m.fire("dragstart",{value:i}),m.fire("drag",{value:i}),m.fire("dragend",{value:i})}m.on("keydown",function(e){switch(e.keyCode){case 37:case 38:n(-1);break;case 39:case 40:n(1)}})}(e,t),s=e,a=t,l=m.getEl("handle"),m._dragHelper=new ct(m._id,{handle:m._id+"-handle",start:function(e){u=e[n],c=parseInt(m.getEl("handle").style[i],10),d=(m.layoutRect()[o]||100)-we.getSize(l)[r],m.fire("dragstart",{value:h})},drag:function(e){var t=e[n]-u;f=yr(c+t,0,d),l.style[i]=f+"px",h=s+f/d*(a-s),m.value(h),m.tooltip().text(""+m.settings.previewFilter(h)).show().moveRel(l,"bc tc"),m.fire("drag",{value:h})},stop:function(){m.tooltip().hide(),m.fire("dragend",{value:h})}})},repaint:function(){this._super(),wr(this,this.value())},bindStates:function(){var e=this;return e.state.on("change:value",function(t){wr(e,t.value)}),e._super()}}),Rr=Mt.extend({renderHtml:function(){return this.classes.add("spacer"),this.canFocus=!1,'<div id="'+this._id+'" class="'+this.classes+'"></div>'}}),Cr=dr.extend({Defaults:{classes:"widget btn splitbtn",role:"button"},repaint:function(){var e,t,n=this.getEl(),i=this.layoutRect();return this._super(),e=n.firstChild,t=n.lastChild,ye(e).css({width:i.w-we.getSize(t).width,height:i.h-2}),ye(t).css({height:i.h-2}),this},activeMenu:function(e){ye(this.getEl().lastChild).toggleClass(this.classPrefix+"active",e)},renderHtml:function(){var e,t,n=this,i=n._id,r=n.classPrefix,o=n.state.get("icon"),s=n.state.get("text"),a=n.settings,l="";return(e=a.image)?(o="none","string"!=typeof e&&(e=window.getSelection?e[0]:e[1]),e=" style=\"background-image: url('"+e+"')\""):e="",o=a.icon?r+"ico "+r+"i-"+o:"",s&&(n.classes.add("btn-has-text"),l='<span class="'+r+'txt">'+n.encode(s)+"</span>"),t="boolean"==typeof a.active?' aria-pressed="'+a.active+'"':"",'<div id="'+i+'" class="'+n.classes+'" role="button"'+t+' tabindex="-1"><button type="button" hidefocus="1" tabindex="-1">'+(o?'<i class="'+o+'"'+e+"></i>":"")+l+'</button><button type="button" class="'+r+'open" hidefocus="1" tabindex="-1">'+(n._menuBtnText?(o?"\xa0":"")+n._menuBtnText:"")+' <i class="'+r+'caret"></i></button></div>'},postRender:function(){var e=this.settings.onclick;return this.on("click",function(t){var n=t.target;if(t.control===this)for(;n;){if(t.aria&&"down"!==t.aria.key||"BUTTON"===n.nodeName&&-1===n.className.indexOf("open"))return t.stopImmediatePropagation(),void(e&&e.call(this,t));n=n.parentNode}}),delete this.settings.onclick,this._super()}}),kr=Mi.extend({Defaults:{containerClass:"stack-layout",controlClass:"stack-layout-item",endClass:"break"},isNative:function(){return!0}}),Er=ft.extend({Defaults:{layout:"absolute",defaults:{type:"panel"}},activateTab:function(e){var t;this.activeTabId&&(t=this.getEl(this.activeTabId),ye(t).removeClass(this.classPrefix+"active"),t.setAttribute("aria-selected","false")),this.activeTabId="t"+e,(t=this.getEl("t"+e)).setAttribute("aria-selected","true"),ye(t).addClass(this.classPrefix+"active"),this.items()[e].show().fire("showtab"),this.reflow(),this.items().each(function(t,n){e!==n&&t.hide()})},renderHtml:function(){var e=this,t=e._layout,n="",i=e.classPrefix;return e.preRender(),t.preRender(e),e.items().each(function(t,r){var o=e._id+"-t"+r;t.aria("role","tabpanel"),t.aria("labelledby",o),n+='<div id="'+o+'" class="'+i+'tab" unselectable="on" role="tab" aria-controls="'+t._id+'" aria-selected="false" tabIndex="-1">'+e.encode(t.settings.title)+"</div>"}),'<div id="'+e._id+'" class="'+e.classes+'" hidefocus="1" tabindex="-1"><div id="'+e._id+'-head" class="'+i+'tabs" role="tablist">'+n+'</div><div id="'+e._id+'-body" class="'+e.bodyClasses+'">'+t.renderHtml(e)+"</div></div>"},postRender:function(){var e=this;e._super(),e.settings.activeTab=e.settings.activeTab||0,e.activateTab(e.settings.activeTab),this.on("click",function(t){var n=t.target.parentNode;if(n&&n.id===e._id+"-head")for(var i=n.childNodes.length;i--;)n.childNodes[i]===t.target&&e.activateTab(i)})},initLayoutRect:function(){var e,t,n,i=this;t=(t=we.getSize(i.getEl("head")).width)<0?0:t,n=0,i.items().each(function(e){t=Math.max(t,e.layoutRect().minW),n=Math.max(n,e.layoutRect().minH)}),i.items().each(function(e){e.settings.x=0,e.settings.y=0,e.settings.w=t,e.settings.h=n,e.layoutRect({x:0,y:0,w:t,h:n})});var r=we.getSize(i.getEl("head")).height;return i.settings.minWidth=t,i.settings.minHeight=n+r,(e=i._super()).deltaH+=r,e.innerH=e.h-e.deltaH,e}}),Hr=Mt.extend({init:function(e){var t=this;t._super(e),t.classes.add("textbox"),e.multiline?t.classes.add("multiline"):(t.on("keydown",function(e){var n;13===e.keyCode&&(e.preventDefault(),t.parents().reverse().each(function(e){if(e.toJSON)return n=e,!1}),t.fire("submit",{data:n.toJSON()}))}),t.on("keyup",function(e){t.state.set("value",e.target.value)}))},repaint:function(){var e,t,n,i,r,o=this,s=0;e=o.getEl().style,t=o._layoutRect,r=o._lastRepaintRect||{};var a=document;return!o.settings.multiline&&a.all&&(!a.documentMode||a.documentMode<=8)&&(e.lineHeight=t.h-s+"px"),i=(n=o.borderBox).left+n.right+8,s=n.top+n.bottom+(o.settings.multiline?8:0),t.x!==r.x&&(e.left=t.x+"px",r.x=t.x),t.y!==r.y&&(e.top=t.y+"px",r.y=t.y),t.w!==r.w&&(e.width=t.w-i+"px",r.w=t.w),t.h!==r.h&&(e.height=t.h-s+"px",r.h=t.h),o._lastRepaintRect=r,o.fire("repaint",{},!1),o},renderHtml:function(){var e,t,n=this,i=n.settings;return e={id:n._id,hidefocus:"1"},a.each(["rows","spellcheck","maxLength","size","readonly","min","max","step","list","pattern","placeholder","required","multiple"],function(t){e[t]=i[t]}),n.disabled()&&(e.disabled="disabled"),i.subtype&&(e.type=i.subtype),(t=we.create(i.multiline?"textarea":"input",e)).value=n.state.get("value"),t.className=n.classes,t.outerHTML},value:function(e){return arguments.length?(this.state.set("value",e),this):(this.state.get("rendered")&&this.state.set("value",this.getEl().value),this.state.get("value"))},postRender:function(){var e=this;e.getEl().value=e.state.get("value"),e._super(),e.$el.on("change",function(t){e.state.set("value",t.target.value),e.fire("change",t)})},bindStates:function(){var e=this;return e.state.on("change:value",function(t){e.getEl().value!==t.value&&(e.getEl().value=t.value)}),e.state.on("change:disabled",function(t){e.getEl().disabled=t.value}),e._super()},remove:function(){this.$el.off(),this._super()}}),Sr=function(){return{Selector:Be,Collection:Le,ReflowQueue:qe,Control:et,Factory:g,KeyboardNavigation:nt,Container:rt,DragHelper:ct,Scrollable:dt,Panel:ft,Movable:Re,Resizable:ht,FloatPanel:xt,Window:zt,MessageBox:Lt,Tooltip:St,Widget:Mt,Progress:Tt,Notification:Wt,Layout:Ft,AbsoluteLayout:Vt,Button:Ut,ButtonGroup:$t,Checkbox:jt,ComboBox:Xt,ColorBox:Jt,PanelButton:Gt,ColorButton:Zt,ColorPicker:en,Path:nn,ElementPath:rn,FormItem:on,Form:sn,FieldSet:an,FilePicker:Ei,FitLayout:Hi,FlexLayout:Si,FlowLayout:Mi,FormatControls:rr,GridLayout:or,Iframe:sr,InfoBox:ar,Label:lr,Toolbar:ur,MenuBar:cr,MenuButton:dr,MenuItem:mr,Throbber:kt,Menu:fr,ListBox:hr,Radio:gr,ResizeHandle:pr,SelectBox:br,Slider:_r,Spacer:Rr,SplitButton:Cr,StackLayout:kr,TabPanel:Er,TextBox:Hr,DropZone:tn,BrowseButton:Yt}},Mr=function(e){e.ui?a.each(Sr(),function(t,n){e.ui[n]=t}):e.ui=Sr()};a.each(Sr(),function(e,t){g.add(t,e)}),Mr(window.tinymce?window.tinymce:{}),o.add("modern",function(e){return rr.setup(e),It(e)})}();
\ No newline at end of file
diff --git a/src/App.vue b/src/App.vue
new file mode 100644
index 0000000..ec9032c
--- /dev/null
+++ b/src/App.vue
@@ -0,0 +1,11 @@
+<template>
+ <div id="app">
+ <router-view />
+ </div>
+</template>
+
+<script>
+export default {
+ name: 'App'
+}
+</script>
diff --git a/src/api/authInformation.js b/src/api/authInformation.js
new file mode 100644
index 0000000..f237e06
--- /dev/null
+++ b/src/api/authInformation.js
@@ -0,0 +1,41 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+import req from './req'
+
+/**
+ * 鏌ヨ鎺堟潈
+ * @param pram
+ */
+ export function authCertQuery(prams) {
+ const data = {
+ domain_name:prams.host,
+ label:22,
+ version:'2.0'
+ }
+ return req({
+ url: document.location.protocol + '//authorize.CMS.net/api/auth_cert_query',
+ // url: 'https://authorize.CMS.net/api/auth_cert_query',
+ method: 'POST',
+ data
+ })
+}
+
+/**
+ * 鎺堟潈琛ㄥ崟鎻愪氦
+ */
+ export function authCertSubmit(data) {
+ return req({
+ url: document.location.protocol + '//authorize.CMS.net/api/auth_apply',
+ // url: 'https://authorize.CMS.net/api/auth_apply',
+ method: 'POST',
+ data
+ })
+}
\ No newline at end of file
diff --git a/src/api/categoryApi.js b/src/api/categoryApi.js
new file mode 100644
index 0000000..8ebd867
--- /dev/null
+++ b/src/api/categoryApi.js
@@ -0,0 +1,160 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+import request from '@/utils/request'
+
+/**
+ * 鏂板鍒嗙被
+ * @param pram
+ */
+export function addCategroy(pram) {
+ const data = {
+ extra: pram.extra,
+ name: pram.name,
+ pid: pram.pid,
+ sort: pram.sort,
+ status: pram.status,
+ type: pram.type,
+ url: pram.url
+ }
+ return request({
+ url: '/admin/category/save',
+ method: 'POST',
+ params: data
+ })
+}
+
+/**
+ * 鍒嗙被璇︽儏
+ * @param pram
+ */
+export function infoCategroy(pram) {
+ const data = {
+ id: pram.id
+ }
+ return request({
+ url: '/admin/category/info',
+ method: 'GET',
+ params: data
+ })
+}
+
+/**
+ * 鍒犻櫎鍒嗙被
+ * @param pram
+ */
+export function deleteCategroy(pram) {
+ const data = {
+ id: pram.id
+ }
+ return request({
+ url: '/admin/category/delete',
+ method: 'GET',
+ params: data
+ })
+}
+
+/**
+ * 鍒嗙被鍒楄〃
+ * @param pram
+ */
+export function listCategroy(pram) {
+ const data = {
+ limit: pram.limit,
+ name: pram.name,
+ page: pram.page,
+ pid: pram.pid,
+ status: pram.status,
+ type: pram.type
+
+ }
+ return request({
+ url: '/admin/category/list',
+ method: 'GET',
+ params: data
+ })
+}
+
+/**
+ * 鍒嗙被鏁版嵁tree鏁版嵁
+ * @param pram
+ */
+export function treeCategroy(pram) {
+ const data = {
+ type: pram.type,
+ status: pram.status,
+ name: pram.name
+ }
+ return request({
+ url: '/admin/category/list/tree',
+ method: 'GET',
+ params: data
+ })
+}
+
+/**
+ * 鏇存柊鍒嗙被
+ * @param pram
+ */
+export function updateCategroy(pram) {
+ const data = {
+ extra: pram.extra,
+ name: pram.name,
+ pid: pram.pid,
+ sort: pram.sort,
+ status: pram.status,
+ type: pram.type,
+ url: pram.url,
+ id: pram.id
+ }
+ return request({
+ url: '/admin/category/update',
+ method: 'POST',
+ params: data
+ })
+}
+
+/**
+ * 鏍规嵁id闆嗗悎鏌ヨ瀵瑰簲鍒嗙被鍒楄〃
+ * @param pram
+ */
+export function categroyByIds(pram) {
+ const data = {
+ ids: pram.ids
+ }
+ return request({
+ url: '/admin/category/list/ids',
+ method: 'GET',
+ params: data
+ })
+}
+
+/**
+ * 淇敼 鏄剧ず鍏抽棴鐘舵��
+ * @param pram
+ */
+export function categroyUpdateStatus(id) {
+ return request({
+ url: `/admin/category/updateStatus/${id}`,
+ method: 'GET'
+ })
+}
+
+/**
+ * 鏂囩珷璇︽儏
+ * @param pram
+ */
+export function articleInfoApi(params) {
+ return request({
+ url: `/admin/article/info`,
+ method: 'GET',
+ params
+ })
+}
diff --git a/src/api/configApi.js b/src/api/configApi.js
new file mode 100644
index 0000000..569441a
--- /dev/null
+++ b/src/api/configApi.js
@@ -0,0 +1,111 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+import request from '@/utils/request'
+
+// 閰嶇疆绠$悊
+
+export function configDelete(pram) {
+ const data = {
+ id: pram.id
+ }
+ return request({
+ url: 'admin/system/config/delete',
+ method: 'GET',
+ params: data
+ })
+}
+
+export function configInfo(pram) {
+ const data = {
+ id: pram.id
+ }
+ return request({
+ url: 'admin/system/config/info',
+ method: 'GET',
+ params: data
+ })
+}
+export function configList(pram) {
+ const data = {
+ id: pram.id,
+ configTabId: pram.configTabId,
+ desc: pram.desc,
+ high: pram.high,
+ info: pram.info,
+ inputType: pram.inputType,
+ menuName: pram.menuName,
+ parameter: pram.parameter,
+ required: pram.required,
+ sort: pram.sort,
+ status: pram.status,
+ type: pram.type,
+ updateType: pram.updateType,
+ value: pram.value,
+ width: pram.width,
+ page: pram.page,
+ limit: pram.limit
+ }
+ return request({
+ url: 'admin/system/config/list',
+ method: 'POST',
+ params: data
+ })
+}
+
+export function configSave(pram) {
+ const data = {
+ id: pram.id,
+ configTabId: pram.configTabId,
+ desc: pram.desc,
+ high: pram.high,
+ info: pram.info,
+ inputType: pram.inputType,
+ menuName: pram.menuName,
+ parameter: pram.parameter,
+ required: pram.required,
+ sort: pram.sort,
+ status: pram.status,
+ type: pram.type,
+ updateType: pram.updateType,
+ value: pram.value,
+ width: pram.width
+ }
+ return request({
+ url: 'admin/system/config/save',
+ method: 'POST',
+ params: data
+ })
+}
+
+export function configUpdate(pram) {
+ const data = {
+ id: pram.id,
+ configTabId: pram.configTabId,
+ desc: pram.desc,
+ high: pram.high,
+ info: pram.info,
+ inputType: pram.inputType,
+ menuName: pram.menuName,
+ parameter: pram.parameter,
+ required: pram.required,
+ sort: pram.sort,
+ status: pram.status,
+ type: pram.type,
+ updateType: pram.updateType,
+ value: pram.value,
+ width: pram.width
+ }
+ return request({
+ url: 'admin/system/config/update',
+ method: 'POST',
+ params: data
+ })
+}
diff --git a/src/api/configTabApi.js b/src/api/configTabApi.js
new file mode 100644
index 0000000..3ce8fbe
--- /dev/null
+++ b/src/api/configTabApi.js
@@ -0,0 +1,105 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+import request from '@/utils/request'
+
+// 閰嶇疆鍒嗙被绠$悊
+// 娉ㄦ剰鏆傛椂娌$敤鍒帮紝浣跨敤鏃犻檺鏋佸垎绫诲疄鐜�
+
+export function configTabDelete(pram) {
+ const data = {
+ id: pram.id
+ }
+ return request({
+ url: 'admin/system/config/tab/delete',
+ method: 'GET',
+ params: data
+ })
+}
+
+export function configTabInfo(pram) {
+ const data = {
+ id: pram.id
+ }
+ return request({
+ url: 'admin/system/config/tab/info',
+ method: 'GET',
+ params: data
+ })
+}
+
+export function configTabList(pram) {
+ const data = {
+ id: pram.id,
+ engTitle: pram.engTitle,
+ icon: pram.icon,
+ info: pram.info,
+ title: pram.title,
+ parameter: pram.parameter,
+ status: pram.status,
+ page: pram.page,
+ limit: pram.limit
+ }
+ return request({
+ url: 'admin/system/config/tab/list',
+ method: 'POST',
+ params: data
+ })
+}
+
+export function configSave(pram) {
+ const data = {
+ id: pram.id,
+ configTabId: pram.configTabId,
+ desc: pram.desc,
+ high: pram.high,
+ info: pram.info,
+ inputType: pram.inputType,
+ menuName: pram.menuName,
+ parameter: pram.parameter,
+ required: pram.required,
+ sort: pram.sort,
+ status: pram.status,
+ type: pram.type,
+ updateType: pram.updateType,
+ value: pram.value,
+ width: pram.width
+ }
+ return request({
+ url: 'admin/system/config/save',
+ method: 'POST',
+ params: data
+ })
+}
+
+export function configUpdate(pram) {
+ const data = {
+ id: pram.id,
+ configTabId: pram.configTabId,
+ desc: pram.desc,
+ high: pram.high,
+ info: pram.info,
+ inputType: pram.inputType,
+ menuName: pram.menuName,
+ parameter: pram.parameter,
+ required: pram.required,
+ sort: pram.sort,
+ status: pram.status,
+ type: pram.type,
+ updateType: pram.updateType,
+ value: pram.value,
+ width: pram.width
+ }
+ return request({
+ url: 'admin/system/config/update',
+ method: 'POST',
+ params: data
+ })
+}
diff --git a/src/api/req.js b/src/api/req.js
new file mode 100644
index 0000000..b04e2a9
--- /dev/null
+++ b/src/api/req.js
@@ -0,0 +1,33 @@
+import axios from 'axios'
+
+const service = axios.create({
+ timeout: 40000,
+})
+service.interceptors.request.use(
+ config => {
+ return config
+ },
+ error => {
+ Promise.reject(error)
+ }
+)
+
+// response interceptor
+service.interceptors.response.use(
+ response => {
+ const res = response
+ if (res.status !== 200 && res.status !== 401) {
+ Message({
+ message: res.data.msg || 'Error',
+ type: 'error',
+ duration: 5 * 1000
+ })
+ return Promise.reject()
+ }else {
+ return res.data
+ }
+ },
+ error => {
+ }
+)
+export default service
diff --git a/src/api/role.js b/src/api/role.js
new file mode 100644
index 0000000..5827129
--- /dev/null
+++ b/src/api/role.js
@@ -0,0 +1,120 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+import request from '@/utils/request'
+
+/**
+ * 鏂板
+ * @param
+ */
+export function addRole(pram) {
+ const data = {
+ level: pram.level,
+ roleName: pram.roleName,
+ status: pram.status,
+ rules: pram.rules
+ }
+ // data.rules = pram.rules.join(',')
+ return request({
+ url: '/admin/system/role/save',
+ method: 'POST',
+ data: data
+ })
+}
+
+/**
+ * 鍒犻櫎
+ * @param
+ */
+export function delRole(pram) {
+ const data = {
+ id: pram.id
+ }
+ return request({
+ url: '/admin/system/role/delete',
+ method: 'GET',
+ params: data
+ })
+}
+
+/**
+ * 璇︽儏
+ * @param
+ */
+export function getInfo(pram) {
+ return request({
+ url: `/admin/system/role/info/${pram}`,
+ method: 'GET',
+ })
+}
+
+/**
+ * 鍒嗛〉鍒楄〃
+ * @param
+ */
+export function getRoleList(pram) {
+ const data = {
+ createTime: pram.createTime,
+ updateTime: pram.updateTime,
+ level: pram.level,
+ page: pram.page,
+ limit: pram.limit,
+ roleName: pram.roleName,
+ rules: pram.rules,
+ status: pram.status
+ }
+ return request({
+ url: '/admin/system/role/list',
+ method: 'get',
+ params: data
+ })
+}
+
+/**
+ * 淇敼
+ * @param
+ */
+export function updateRole(pram) {
+ const data = {
+ id: pram.id,
+ roleName: pram.roleName,
+ rules: pram.rules,
+ status: pram.status
+ }
+ return request({
+ url: '/admin/system/role/update',
+ method: 'post',
+ params: {id: pram.id},
+ data: data
+ })
+}
+
+/**
+ * 淇敼韬唤鐘舵��
+ * @param
+ */
+export function updateRoleStatus(pram) {
+ return request({
+ url: '/admin/system/role/updateStatus',
+ method: 'get',
+ params: {id: pram.id,status:pram.status},
+ })
+}
+
+/**
+ * 缂撳瓨鑿滃崟
+ * @param
+ */
+ export function menuCacheList(pram) {
+ return request({
+ url: '/admin/system/menu/cache/tree',
+ method: 'get',
+ })
+}
\ No newline at end of file
diff --git a/src/api/roleApi.js b/src/api/roleApi.js
new file mode 100644
index 0000000..0544373
--- /dev/null
+++ b/src/api/roleApi.js
@@ -0,0 +1,32 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+import request from '@/utils/request'
+
+/**
+ * 瑙掕壊璇︽儏
+ */
+export function getRoleById(pram) {
+ return request({
+ url: `/admin/system/role/info/${pram.roles}`,
+ method: 'GET',
+ })
+}
+
+/**
+ * 鑿滃崟
+ * @param pram
+ */
+export function menuListApi() {
+ return request({
+ url: '/admin/getMenus',
+ method: 'GET'
+ })
+}
diff --git a/src/api/sms.js b/src/api/sms.js
new file mode 100644
index 0000000..113ef3d
--- /dev/null
+++ b/src/api/sms.js
@@ -0,0 +1,215 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+import request from '@/utils/request'
+/**
+ * @description 鐭俊鍙戦�佽褰� -- 鍒楄〃
+ */
+export function smsLstApi(params) {
+ return request({
+ url: '/admin/pass/user/record',
+ method: 'get',
+ params
+ })
+}
+/**
+ * @description 鐭俊璐︽埛 -- 鐧诲綍
+ */
+export function configApi(data) {
+ return request({
+ url: '/admin/pass/login',
+ method: 'post',
+ data
+ })
+}
+/**
+ * @description 鐭俊璐︽埛 -- 鑾峰彇楠岃瘉鐮�
+ */
+export function captchaApi(params) {
+ return request({
+ url: `/admin/pass/sendUserCode`,
+ method: 'get',
+ params
+ })
+}
+/**
+ * @description 鐭俊璐︽埛 -- 娉ㄥ唽
+ */
+export function registerApi(data) {
+ return request({
+ url: '/admin/pass/register',
+ method: 'post',
+ data
+ })
+}
+/**
+ * @description 鐭俊璐︽埛 -- 鏄惁鐧诲綍
+ */
+export function isLoginApi() {
+ return request({
+ url: '/admin/pass/isLogin',
+ method: 'get'
+ })
+}
+/**
+ * @description 鐭俊璐︽埛 -- 閫�鍑虹櫥褰�
+ */
+export function logoutApi() {
+ return request({
+ url: '/admin/pass/logout',
+ method: 'get'
+ })
+}
+/**
+ * @description 鐭俊璐︽埛 -- 鍓╀綑鏉℃暟
+ */
+export function smsNumberApi() {
+ return request({
+ url: '/admin/sms/logout',
+ method: 'get'
+ })
+}
+/**
+ * @description 鐭俊妯℃澘 -- 鍒楄〃
+ */
+export function smsTempLstApi(params) {
+ return request({
+ url: '/admin/sms/temps',
+ method: 'get',
+ params
+ })
+}
+/**
+ * @description 鐭俊璐拱 -- 鏀粯濂楅
+ */
+export function smsPriceApi(params) {
+ return request({
+ url: '/admin/pass/meal/list',
+ method: 'get',
+ params
+ })
+}
+/**
+ * @description 鐭俊璐拱 -- 鏀粯鐮�
+ */
+export function payCodeApi(data) {
+ return request({
+ url: '/admin/pass/meal/code',
+ method: 'post',
+ data
+ })
+}
+/**
+ * @description 鐭俊妯℃澘 -- 娣诲姞琛ㄥ崟
+ */
+export function tempCreateApi(data) {
+ return request({
+ url: '/admin/sms/temp/apply',
+ method: 'post',
+ data
+ })
+}
+/**
+ * @description 鐭俊 -- 鐢ㄦ埛淇℃伅
+ */
+export function smsInfoApi() {
+ return request({
+ url: '/admin/pass/info',
+ method: 'get'
+ })
+}
+
+/**
+ * @description 鐭俊 -- 鐭俊鎻愰啋寮�鍏充繚瀛�
+ */
+export function smsSaveApi(params) {
+ return request({
+ url: '/admin/sms/config/save',
+ method: 'post',
+ params
+ })
+}
+
+/**
+ * @description 鐭俊 -- 淇敼瀵嗙爜
+ */
+export function updatePasswordApi(data) {
+ return request({
+ url: '/admin/pass/update/password',
+ method: 'post',
+ data
+ })
+}
+
+/**
+ * @description 鐭俊 -- 淇敼鎵嬫満鍙�
+ */
+export function updateHoneApi(data) {
+ return request({
+ url: '/admin/pass/update/phone',
+ method: 'post',
+ data
+ })
+}
+
+/**
+ * @description 涓�鍙烽�� -- 鏈嶅姟寮�閫�
+ */
+export function serviceOpenApi(data) {
+ return request({
+ url: '/admin/pass/service/open',
+ method: 'post',
+ data
+ })
+}
+
+/**
+ * @description 涓�鍙烽�� -- 鐢靛瓙闈㈠崟妯℃澘
+ */
+export function exportTempApi(params) {
+ return request({
+ url: '/admin/express/template',
+ method: 'get',
+ params
+ })
+}
+
+/**
+ * @description 鍏ㄩ儴鐗╂祦鍏徃
+ */
+export function expressAllApi(params) {
+ return request({
+ url: 'admin/express/all',
+ method: 'get',
+ params
+ })
+}
+
+/**
+ * @description 淇敼绛惧悕
+ */
+export function smsSignApi(data) {
+ return request({
+ url: 'admin/sms/modify/sign',
+ method: 'post',
+ data
+ })
+}
+
+/**
+ * @description 淇敼鎵嬫満鍙烽獙璇佽处鍙峰瘑鐮�
+ */
+export function phoneValidatorApi(data) {
+ return request({
+ url: 'admin/pass/update/phone/validator',
+ method: 'post',
+ data
+ })
+}
diff --git a/src/api/system.js b/src/api/system.js
new file mode 100644
index 0000000..20f5c61
--- /dev/null
+++ b/src/api/system.js
@@ -0,0 +1,57 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+import request from '@/utils/request'
+/**
+ * @description 闄勪欢鍒嗙被 -- 鎵�鏈夊垎绫�
+ */
+export function formatLstApi(data) {
+ return request.get({
+ url: '/admin/product/save',
+ method: 'POST',
+ data
+ })
+}
+/**
+ * @description 闄勪欢鍒嗙被 -- 娣诲姞鍒嗙被
+ */
+export function attachmentCreateApi() {
+ return request.get(`system/attachment/category/create/form`)
+}
+/**
+ * @description 闄勪欢鍒嗙被 -- 缂栬緫鍒嗙被
+ */
+export function attachmentUpdateApi(id) {
+ return request.get(`system/attachment/category/update/form/${id}`)
+}
+/**
+ * @description 闄勪欢鍒嗙被 -- 鍒犻櫎鍒嗙被
+ */
+export function attachmentDeleteApi(id) {
+ return request.delete(`system/attachment/category/delete/${id}`)
+}
+/**
+ * @description 鍥剧墖鍒楄〃
+ */
+export function attachmentListApi(data) {
+ return request.get(`system/attachment/lst`, data)
+}
+/**
+ * @description 鍥剧墖鍒楄〃 -- 鍒犻櫎
+ */
+export function picDeleteApi(id) {
+ return request.delete(`system/attachment/delete`, id)
+}
+/**
+ * @description 鍥剧墖鍒楄〃 -- 淇敼闄勪欢鍒嗙被
+ */
+export function categoryApi(ids, attachment_category_id) {
+ return request.post(`system/attachment/category`, { ids, attachment_category_id })
+}
diff --git a/src/api/systemConfig.js b/src/api/systemConfig.js
new file mode 100644
index 0000000..ef73e89
--- /dev/null
+++ b/src/api/systemConfig.js
@@ -0,0 +1,121 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+import request from '@/utils/request'
+
+export function configCheckUnique(pram) {
+ const data = {
+ name: pram.name
+ }
+ return request({
+ url: '/admin/system/config/check',
+ method: 'GET',
+ params: data
+ })
+}
+
+export function configDelete(pram) {
+ const data = {
+ id: pram.id
+ }
+ return request({
+ url: '/admin/system/config/delete',
+ method: 'GET',
+ params: data
+ })
+}
+
+export function configInfo(pram) {
+ const data = {
+ formId: pram.id
+ }
+ return request({
+ url: '/admin/system/config/info',
+ method: 'GET',
+ params: data
+ })
+}
+
+export function configList(pram) {
+ const data = {
+ page: pram.page,
+ limit: pram.limit
+ }
+ return request({
+ url: '/admin/system/config/list',
+ method: 'GET',
+ params: data
+ })
+}
+
+export function configSave(pram) {
+ const data = {
+ systemConfigRequest: {
+ desc: pram.desc,
+ groupId: pram.groupId,
+ info: pram.info,
+ name: pram.name,
+ pid: pram.pid,
+ status: pram.status,
+ type: pram.type,
+ value: pram.value // value 瀛樺偍琛ㄥ崟閰嶇疆鏁版嵁锛屽叾浠栫殑鍙傛暟鏉ヨ嚜浜庣埗绾ф暟鎹� justForAPI
+ }
+ }
+ return request({
+ url: '/admin/system/config/save',
+ method: 'POST',
+ params: data
+ })
+}
+
+export function configSaveForm(pram) {
+ return request({
+ url: '/admin/system/config/save/form',
+ method: 'POST',
+ data: pram
+ })
+}
+
+export function configUpdate(pram) {
+ const data = {
+ id: pram.id,
+ systemConfigRequest: pram.systemConfigRequest
+ }
+ return request({
+ url: '/admin/system/config/update',
+ method: 'POST',
+ params: data
+ })
+}
+
+export function configSaveUniq(pram) {
+ const data = {
+ key: pram.key,
+ value: pram.value
+ }
+ return request({
+ url: '/admin/system/config/saveuniq',
+ method: 'POST',
+ params: data
+ })
+}
+
+export function configGetUniq(pram) {
+ const data = {
+ key: pram.key
+ }
+ return request({
+ url: '/admin/system/config/getuniq',
+ method: 'GET',
+ params: data
+ })
+}
+
+
diff --git a/src/api/systemFormConfig.js b/src/api/systemFormConfig.js
new file mode 100644
index 0000000..b8a342d
--- /dev/null
+++ b/src/api/systemFormConfig.js
@@ -0,0 +1,147 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+import request from '@/utils/request'
+
+export function getFormConfigInfo(pram) {
+ const data = {
+ id: pram.id
+ }
+ return request({
+ url: '/admin/system/form/temp/info',
+ method: 'GET',
+ params: data
+ })
+}
+
+export function getFormConfigList(pram) {
+ const data = {
+ keywords: pram.keywords,
+ page: pram.page,
+ limit: pram.limit
+ }
+ return request({
+ url: '/admin/system/form/temp/list',
+ method: 'GET',
+ params: data
+ })
+}
+
+export function getFormConfigSave(pram) {
+ const data = {
+ content: pram.content,
+ info: pram.info,
+ name: pram.name
+ }
+ return request({
+ url: '/admin/system/form/temp/save',
+ method: 'POST',
+ data: data
+ })
+}
+
+export function getFormConfigEdit(pram) {
+ const params = { id: pram.id }
+ const data = {
+ content: pram.content,
+ info: pram.info,
+ name: pram.name
+ }
+ return request({
+ url: '/admin/system/form/temp/update',
+ method: 'POST',
+ params: params,
+ data: data
+ })
+}
+
+/**
+ * 绯荤粺閫氱煡鍒楄〃
+ * @param pram
+ */
+export function notificationListApi(pram) {
+ const data = {
+ sendType: pram.sendType
+ //鍙戦�佺被鍨嬶紙1锛氶�氱煡浼氬憳锛�2锛氶�氱煡骞冲彴锛�
+ }
+ return request({
+ url: '/admin/system/notification/list',
+ method: 'GET',
+ params: data
+ })
+}
+
+/**
+ * 灏忕▼搴忚闃呮ā鏉垮紑鍏�
+ * @param pram
+ */
+ export function notificationRoutine(id) {
+ return request({
+ url: `/admin/system/notification/routine/switch/${id}`,
+ method: 'post',
+ })
+}
+
+/**
+ * 鍏紬鍙锋ā鏉垮紑鍏�
+ * @param pram
+ */
+ export function notificationWechat(id) {
+ return request({
+ url: `/admin/system/notification/wechat/switch/${id}`,
+ method: 'post',
+ })
+}
+
+/**
+ * 鍙戦�佺煭淇″紑鍏�
+ * @param pram
+ */
+ export function notificationSms(id) {
+ return request({
+ url: `/admin/system/notification/sms/switch/${id}`,
+ method: 'post',
+ })
+}
+
+/**
+ * 閫氱煡璇︽儏
+ * @param pram
+ */
+ export function notificationDetail(param) {
+ let data = {
+ detailType:param.type,
+ id:param.id
+ };
+ return request({
+ url: `/admin/system/notification/detail`,
+ method: 'get',
+ params:data
+ })
+}
+
+//admin/system/notification/detail
+/**
+ * 淇敼閫氱煡
+ * @param pram
+ */
+ export function notificationUpdate(param) {
+ let data = {
+ detailType:param.type,
+ id:param.id,
+ status:param.status,
+ tempId:param.tempId
+ };
+ return request({
+ url: `/admin/system/notification/update`,
+ method: 'post',
+ data
+ })
+}
\ No newline at end of file
diff --git a/src/api/systemGroup.js b/src/api/systemGroup.js
new file mode 100644
index 0000000..f5e0942
--- /dev/null
+++ b/src/api/systemGroup.js
@@ -0,0 +1,152 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+import request from '@/utils/request'
+
+export function groupDelete(pram) {
+ const data = {
+ id: pram.id
+ }
+ return request({
+ url: '/admin/system/group/delete',
+ method: 'GET',
+ params: data
+ })
+}
+
+export function groupInfo(pram) {
+ const data = {
+ id: pram.id
+ }
+ return request({
+ url: '/admin/system/group/info',
+ method: 'GET',
+ params: data
+ })
+}
+
+export function groupList(pram) {
+ const data = {
+ keywords: pram.keywords,
+ page: pram.page,
+ limit: pram.limit
+ }
+ return request({
+ url: '/admin/system/group/list',
+ method: 'GET',
+ params: data
+ })
+}
+
+export function groupDataList(pram) {
+ const data = {
+ gid:pram.gid,
+ keywords: pram.keywords,
+ page: pram.page,
+ limit: pram.limit
+ }
+ return request({
+ url: '/admin/system/group/data/list',
+ method: 'GET',
+ params: data
+ })
+}
+
+export function groupSave(pram) {
+ const data = {
+ formId: pram.formId,
+ info: pram.info,
+ name: pram.name
+ }
+ return request({
+ url: '/admin/system/group/save',
+ method: 'POST',
+ params: data
+ })
+}
+
+export function groupEdit(pram) {
+ const data = {
+ formId: pram.formId,
+ info: pram.info,
+ name: pram.name,
+ id: pram.id
+ }
+ return request({
+ url: '/admin/system/group/update',
+ method: 'POST',
+ params: data
+ })
+}
+
+/**
+ * @description 椤甸潰璁捐 鑾峰彇鏁版嵁
+ */
+export function designListApi() {
+ return request.get(`/admin/page/layout/index`)
+}
+
+/**
+ * @description 椤甸潰璁捐鍟嗗搧Tab 鑾峰彇鏁版嵁
+ */
+ export function goodDesignList(pram) {
+ const data = {
+ gid: pram.gid,
+ }
+ return request({
+ url: '/admin/system/group/data/list',
+ method: 'GET',
+ params: data
+ })
+}
+
+/**
+ * @description 椤甸潰璁捐 淇濆瓨
+ */
+export function SaveDataApi(data, url) {
+ return request({
+ url: url,
+ method: 'POST',
+ data
+ })
+}
+
+/**
+ * @description 鑾峰彇閰嶇疆
+ */
+ export function getDataApi(data) {
+ return request({
+ url: '/admin/page/layout/category/config',
+ method: 'GET',
+ data
+ })
+}
+
+/**
+ * @description 淇濆瓨璁剧疆
+ */
+ export function themeSave(params) {
+ return request({
+ url: `/admin/system/config/saveuniq`,
+ method: 'post',
+ params
+ })
+}
+
+/**
+ * @description 鑾峰彇璁剧疆
+ */
+ export function getTheme(params) {
+ return request({
+ url: `/admin/system/config/getuniq`,
+ method: 'get',
+ params
+ })
+}
diff --git a/src/api/systemGroupData.js b/src/api/systemGroupData.js
new file mode 100644
index 0000000..51f38ba
--- /dev/null
+++ b/src/api/systemGroupData.js
@@ -0,0 +1,65 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+import request from '@/utils/request'
+
+export function groupDataDelete(pram) {
+ const data = {
+ id: pram.id
+ }
+ return request({
+ url: '/admin/system/group/data/delete',
+ method: 'GET',
+ params: data
+ })
+}
+
+export function groupDataInfo(pram) {
+ const data = {
+ id: pram.id
+ }
+ return request({
+ url: '/admin/system/group/data/info',
+ method: 'GET',
+ params: data
+ })
+}
+
+export function groupDataList(pram) {
+ const data = {
+ gid: pram.gid,
+ keywords: pram.keywords,
+ status: pram.status, // 1=寮�鍚� 2=鍏抽棴
+ page: pram.page,
+ limit: pram.limit
+ }
+ return request({
+ url: '/admin/system/group/data/list',
+ method: 'GET',
+ params: data
+ })
+}
+
+export function groupDataSave(pram) {
+ return request({
+ url: '/admin/system/group/data/save',
+ method: 'POST',
+ data: pram
+ })
+}
+
+export function groupDataEdit(pram, id) {
+ return request({
+ url: '/admin/system/group/data/update',
+ method: 'POST',
+ data: pram,
+ params: { id: id }
+ })
+}
diff --git a/src/api/systemSetting.js b/src/api/systemSetting.js
new file mode 100644
index 0000000..5fe51da
--- /dev/null
+++ b/src/api/systemSetting.js
@@ -0,0 +1,118 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+import request from '@/utils/request'
+
+export function systemConfigCheck(pram) {
+ const data = {
+ name: pram.name
+ }
+ return request({
+ url: '/admin/system/config/check',
+ method: 'GET',
+ params: data
+ })
+}
+
+export function systemConfigInfo(pram) {
+ const data = {
+ formId: pram.id
+ }
+ return request({
+ url: '/admin/system/config/info',
+ method: 'GET',
+ params: data
+ })
+}
+
+export function systemConfigSave(pram) {
+ return request({
+ url: '/admin/system/config/save/form',
+ method: 'POST',
+ data: pram
+ })
+}
+
+
+/**
+ * 鏂囦欢涓婁紶
+ * @param data
+ */
+export function fileFileApi(data, params) {
+ return request({
+ url: '/admin/upload/file',
+ method: 'POST',
+ params,
+ data
+ })
+}
+
+/**
+ * 鍥剧墖涓婁紶
+ * @param data
+ */
+export function fileImageApi(data, params) {
+ return request({
+ url: '/admin/upload/image',
+ method: 'POST',
+ params,
+ data
+ })
+}
+
+/**
+ * 鍥剧墖鍒楄〃
+ * @param data
+ */
+export function fileListApi(params) {
+ return request({
+ url: '/admin/system/attachment/list',
+ method: 'get',
+ params
+ })
+}
+
+/**
+ * 鍥剧墖鍒楄〃 鍒犻櫎鍥剧墖
+ * @param data
+ */
+export function fileDeleteApi(id) {
+ return request({
+ url: `/admin/system/attachment/delete/${id}`,
+ method: 'get'
+ })
+}
+
+/**
+ * 鍥剧墖鍒楄〃 绉诲嫊鍒嗛
+ * @param data
+ */
+export function attachmentMoveApi(data) {
+ return request({
+ url: `/admin/system/attachment/move`,
+ method: 'post',
+ data
+ })
+}
+
+
+/**
+ * 寰俊涓婁紶鍥剧墖
+ * @param data
+ */
+export function wechatUploadApi(data, params) {
+ return request({
+ url: `/admin/wechat/media/upload`,
+ method: 'post',
+ data,
+ params
+ })
+}
+
diff --git a/src/api/systemadmin.js b/src/api/systemadmin.js
new file mode 100644
index 0000000..1db07f5
--- /dev/null
+++ b/src/api/systemadmin.js
@@ -0,0 +1,197 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+import request from "@/utils/request";
+
+export function getMenu() {
+ return request({
+ url: "/admin/system/role/testMenu",
+ method: "GET",
+ });
+}
+
+export function adminDel(pram) {
+ const data = {
+ id: pram.id,
+ };
+ return request({
+ url: "/admin/system/admin/delete",
+ method: "GET",
+ params: data,
+ });
+}
+
+export function adminInfo(pram) {
+ const data = {
+ id: pram.id,
+ };
+ return request({
+ url: "/admin/system/admin/info",
+ method: "GET",
+ params: data,
+ });
+}
+
+export function adminList(params) {
+ return request({
+ url: "/admin/system/admin/list",
+ method: "GET",
+ params,
+ });
+}
+
+export function adminAdd(pram) {
+ const data = {
+ account: pram.account,
+ level: pram.level,
+ pwd: pram.pwd,
+ realName: pram.realName,
+ roles: pram.roles.join(","),
+ status: pram.status,
+ phone: pram.phone,
+ };
+ return request({
+ url: "/admin/system/admin/save",
+ method: "POST",
+ data: data,
+ });
+}
+
+export function adminUpdate(pram) {
+ const data = {
+ account: pram.account,
+ level: pram.level,
+ pwd: pram.pwd,
+ roles: pram.roles,
+ realName: pram.realName,
+ status: pram.status,
+ id: pram.id,
+ isDel: pram.isDel,
+ areaId: (pram.areaId && pram.areaId.length) > 0 ? pram.areaId : null,
+ };
+ return request({
+ url: "/admin/system/admin/update",
+ method: "POST",
+ data,
+ });
+}
+
+/**
+ * 淇敼鐘舵��
+ * @param pram
+ */
+export function updateStatusApi(params) {
+ return request({
+ url: `/admin/system/admin/updateStatus`,
+ method: "get",
+ params,
+ });
+}
+
+/**
+ * 淇敼鍚庡彴绠$悊鍛樻槸鍚︽帴鏀剁姸鎬�
+ * @param pram
+ */
+export function updateIsSmsApi(params) {
+ return request({
+ url: `/admin/system/admin/update/isSms`,
+ method: "get",
+ params,
+ });
+}
+
+/**
+ * 鏉冮檺瑙勫垯鑿滃崟鍒楄〃
+ * @param pram
+ */
+export function menuListApi(params) {
+ const data = {
+ menuType: params.menuType, //鑿滃崟绫诲瀷:M-鐩綍锛孋-鑿滃崟锛孉-鎸夐挳
+ name: params.name, //鑿滃崟鍚嶇О
+ };
+ return request({
+ url: `/admin/system/menu/list`,
+ method: "get",
+ params: data,
+ });
+}
+
+/**
+ * 鏉冮檺瑙勫垯鏂板鑿滃崟
+ * @param data
+ */
+export function menuAdd(data) {
+ let systemMenuRequest = data;
+ return request({
+ url: `/admin/system/menu/add`,
+ method: "post",
+ data: systemMenuRequest,
+ });
+}
+
+/**
+ * 鏉冮檺瑙勫垯鍒犻櫎鑿滃崟
+ * @param data
+ */
+export function menuDelete(id) {
+ return request({
+ url: `/admin/system/menu/delete/${id}`,
+ method: "post",
+ });
+}
+
+/**
+ * 鏉冮檺瑙勫垯鑿滃崟璇︽儏
+ * @param data
+ */
+export function menuInfo(id) {
+ return request({
+ url: `/admin/system/menu/info/${id}`,
+ method: "get",
+ });
+}
+
+/**
+ * 鏉冮檺瑙勫垯鑿滃崟淇敼
+ * @param data
+ */
+export function menuUpdate(data) {
+ let systemMenuRequest = data;
+ return request({
+ url: `/admin/system/menu/update`,
+ method: "post",
+ data: systemMenuRequest,
+ });
+}
+
+/**
+ * 鏉冮檺瑙勫垯淇敼鑿滃崟鏄剧ず鐘舵��
+ * @param data
+ */
+export function menuUpdateShowStatus(params) {
+ return request({
+ url: `/admin/system/menu/updateShowStatus`,
+ method: "post",
+ params,
+ });
+}
+
+//
+/**
+ * 鏉冮檺瑙勫垯鑿滃崟璇︽儏
+ * @param data
+ */
+export function sensitiveListApi(params) {
+ return request({
+ url: `/admin/log/sensitive/list`,
+ method: "get",
+ params,
+ });
+}
diff --git a/src/api/user.js b/src/api/user.js
new file mode 100644
index 0000000..5830090
--- /dev/null
+++ b/src/api/user.js
@@ -0,0 +1,390 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+import request from '@/utils/request'
+
+export function login(data) {
+ return request({
+ url: '/admin/login',
+ method: 'post',
+ data
+ })
+}
+
+export function getInfo(token) {
+ return request({
+ url: '/admin/getAdminInfoByToken',
+ method: 'get',
+ params: { token }
+ })
+}
+
+export function logout() {
+ return request({
+ url: '/admin/logout',
+ method: 'get'
+ })
+}
+
+/**
+ * 浼氬憳绠$悊 鍒楄〃
+ * @param pram
+ */
+export function userListApi(params) {
+ return request({
+ url: `/admin/user/list`,
+ method: 'get',
+ params
+ })
+}
+
+/**
+ * 浼氬憳绠$悊 淇敼
+ * @param pram
+ */
+export function userUpdateApi(params, data) {
+ return request({
+ url: `/admin/user/update`,
+ method: 'post',
+ params,
+ data
+ })
+}
+
+/**
+ * 浼氬憳绠$悊绛夌骇 淇敼
+ * @param pram
+ */
+ export function userLevelUpdateApi( data) {
+ return request({
+ url: `/admin/user/update/level`,
+ method: 'post',
+ data
+ })
+}
+
+/**
+ * 浼氬憳绠$悊 璇︽儏
+ * @param pram
+ */
+export function userInfoApi(params) {
+ return request({
+ url: `/admin/user/info`,
+ method: 'get',
+ params
+ })
+}
+
+/**
+ * 浼氬憳绠$悊 璐︽埛璇︽儏
+ * @param pram
+ */
+export function infobyconditionApi(params) {
+ return request({
+ url: `/admin/user/infobycondition`,
+ method: 'get',
+ params
+ })
+}
+
+/**
+ * 浼氬憳绠$悊 璐︽埛璇︽儏top鏁版嵁
+ * @param pram
+ */
+export function topdetailApi(params) {
+ return request({
+ url: `/admin/user/topdetail`,
+ method: 'get',
+ params
+ })
+}
+
+/**
+ * 浼氬憳绠$悊 鎵归噺璁剧疆鍒嗙粍
+ * @param pram
+ */
+export function groupPiApi(params) {
+ return request({
+ url: `/admin/user/group`,
+ method: 'post',
+ params
+ })
+}
+
+/**
+ * 浼氬憳绠$悊 鎵归噺璁剧疆鏍囩
+ * @param pram
+ */
+export function tagPiApi(params) {
+ return request({
+ url: `/admin/user/tag`,
+ method: 'post',
+ params
+ })
+}
+
+/**
+ * 浼氬憳绠$悊 绉垎浣欓
+ * @param pram
+ */
+export function foundsApi(params) {
+ return request({
+ url: `/admin/user/operate/founds`,
+ method: 'get',
+ params
+ })
+}
+
+/**
+ * 浼氬憳绠$悊 鍒犻櫎
+ * @param pram
+ */
+export function userDeleteApi(params) {
+ return request({
+ url: `/admin/user/delete`,
+ method: 'get',
+ params
+ })
+}
+
+/**
+ * 浼氬憳绛夌骇 鍒楄〃
+ * @param pram
+ */
+export function levelListApi() {
+ return request({
+ url: `/admin/system/user/level/list`,
+ method: 'get'
+ })
+}
+
+/**
+ * 浼氬憳绛夌骇 鏂板
+ * @param pram
+ */
+export function levelSaveApi(data) {
+ return request({
+ url: `/admin/system/user/level/save`,
+ method: 'post',
+ data
+ })
+}
+
+/**
+ * 浼氬憳绛夌骇 缂栬緫
+ * @param pram
+ */
+ export function levelUpdateApi(params, data) {
+ return request({
+ url: `/admin/system/user/level/update/${params}`,
+ method: 'post',
+ // params,
+ data
+ })
+}
+
+/**
+ * 浼氬憳绛夌骇 璇︽儏
+ * @param pram
+ */
+export function levelInfoApi(params) {
+ return request({
+ url: `/admin/system/user/level/info`,
+ method: 'get',
+ params
+ })
+}
+
+/**
+ * 浼氬憳绛夌骇 鍒犻櫎
+ * @param pram
+ */
+ export function levelDeleteApi(id) {
+ return request({
+ url: `/admin/system/user/level/delete/${id}`,
+ method: 'post'
+ })
+}
+
+/**
+ * 浼氬憳绛夌骇 鏄惁鏄剧ず
+ * @param pram
+ */
+export function levelUseApi(data) {
+ return request({
+ url: `/admin/system/user/level/use`,
+ method: 'post',
+ data
+ })
+}
+
+/**
+ * 浼氬憳鏍囩 鍒楄〃
+ * @param pram
+ */
+export function tagListApi(params) {
+ return request({
+ url: `/admin/user/tag/list`,
+ method: 'get',
+ params
+ })
+}
+
+/**
+ * 浼氬憳鏍囩 鏂板
+ * @param pram
+ */
+export function tagSaveApi(data) {
+ return request({
+ url: `/admin/user/tag/save`,
+ method: 'post',
+ data
+ })
+}
+
+/**
+ * 浼氬憳鏍囩 缂栬緫
+ * @param pram
+ */
+export function tagUpdateApi(params, data) {
+ return request({
+ url: `/admin/user/tag/update`,
+ method: 'post',
+ params,
+ data
+ })
+}
+
+/**
+ * 浼氬憳鏍囩 璇︽儏
+ * @param pram
+ */
+export function tagInfoApi(params) {
+ return request({
+ url: `/admin/user/tag/info`,
+ method: 'get',
+ params
+ })
+}
+
+/**
+ * 浼氬憳鏍囩 鍒犻櫎
+ * @param pram
+ */
+export function tagDeleteApi(params) {
+ return request({
+ url: `/admin/user/tag/delete`,
+ method: 'get',
+ params
+ })
+}
+
+/**
+ * 浼氬憳鍒嗙粍 鍒楄〃
+ * @param pram
+ */
+export function groupListApi(params) {
+ return request({
+ url: `/admin/user/group/list`,
+ method: 'get',
+ params
+ })
+}
+
+/**
+ * 浼氬憳鍒嗙粍 鏂板
+ * @param pram
+ */
+export function groupSaveApi(data) {
+ return request({
+ url: `/admin/user/group/save`,
+ method: 'post',
+ data
+ })
+}
+
+/**
+ * 浼氬憳鍒嗙粍 缂栬緫
+ * @param pram
+ */
+export function groupUpdateApi(params, data) {
+ return request({
+ url: `/admin/user/group/update`,
+ method: 'post',
+ params,
+ data
+ })
+}
+
+/**
+ * 浼氬憳鍒嗙粍 璇︽儏
+ * @param pram
+ */
+export function groupInfoApi(params) {
+ return request({
+ url: `/admin/user/group/info`,
+ method: 'get',
+ params
+ })
+}
+
+/**
+ * 浼氬憳鍒嗙粍 鍒犻櫎
+ * @param pram
+ */
+export function groupDeleteApi(params) {
+ return request({
+ url: `/admin/user/group/delete`,
+ method: 'get',
+ params
+ })
+}
+
+/**
+ *鑾峰彇鐧诲綍椤靛浘鐗�
+ */
+export function getLoginPicApi() {
+ return request({
+ url: `/admin/getLoginPic`,
+ method: 'get'
+ })
+}
+
+/**
+ * @description 楠岃瘉鐮�
+ */
+export function captchaApi() {
+ return request({
+ url: `/admin/validate/code/get`,
+ method: 'get'
+ })
+}
+
+/**
+ * @description 淇敼涓婄骇鎺ㄥ箍浜�
+ */
+export function updateSpreadApi(data) {
+ return request({
+ url: `/admin/user/update/spread`,
+ method: 'post',
+ data
+ })
+}
+
+/**
+ * @description 淇敼鎵嬫満鍙�
+ */
+export function updatePhoneApi(params) {
+ return request({
+ url: `/admin/user/update/phone`,
+ method: 'get',
+ params
+ })
+}
diff --git a/src/api/vehicle.js b/src/api/vehicle.js
new file mode 100644
index 0000000..9dc9001
--- /dev/null
+++ b/src/api/vehicle.js
@@ -0,0 +1,155 @@
+import request from "@/utils/request";
+import { handleRemoveEmptyContent } from "@/utils/utils";
+
+export function addVehicleApi(data) {
+ return request({
+ url: "/admin/vehicle/add",
+ method: "post",
+ data: handleRemoveEmptyContent(data),
+ });
+}
+export function editVehicleApi(data) {
+ return request({
+ url: "/admin/vehicle/edit",
+ method: "post",
+ data: handleRemoveEmptyContent(data),
+ });
+}
+export function getVehicleListApi(data) {
+ return request({
+ url: "/admin/vehicle/page",
+ method: "post",
+ data: handleRemoveEmptyContent(data),
+ });
+}
+
+export function deleteVehicleApi(data) {
+ return request({
+ url: `/admin/vehicle/delete?masterId=${data}`,
+ method: "post",
+ });
+}
+/*=====================鎺掗槦鍙彿=======================*/
+//鑾峰彇鍏宠仈鍏崇郴
+export function getMasterIdApi() {
+ return request({
+ url: "/admin/vehicle/master",
+ method: "get",
+ });
+}
+
+//鎺掗槦鍙彿鍒楄〃
+export function getVehicleQueueListApi(data) {
+ return request({
+ url: "/admin/vehicle/queue",
+ method: "get",
+ params: handleRemoveEmptyContent(data),
+ });
+}
+
+//璋冩暣鎺掑簭
+export function putQueueSortApi(vehicleId, sort) {
+ return request({
+ url: `/admin/vehicle/sort/${vehicleId}/${sort}`,
+ method: "PUT",
+ });
+}
+//鎵嬪姩鍙彿
+export function putQueueCallNumberApi(masterId) {
+ return request({
+ url: `/admin/vehicle/call/number/${masterId}`,
+ method: "PUT",
+ });
+}
+//鏍囪杩囧彿
+export function putQueuePassNumberApi(masterId) {
+ return request({
+ url: `/admin/vehicle/pass/number/${masterId}`,
+ method: "PUT",
+ });
+}
+//閲嶆柊鎺掗槦
+export function putQueueReQueueApi(masterId, sort) {
+ return request({
+ url: `/admin/vehicle/reQueue/${masterId}/${sort}`,
+ method: "PUT",
+ });
+}
+
+//鍙戦�佺煭淇℃彁閱�
+export function sendSmsApi(masterId) {
+ return request({
+ url: `/admin/vehicle/sendSms/${masterId}`,
+ method: "POST",
+ });
+}
+
+//鑾峰彇杞﹁締缁熻淇℃伅
+export function getVehicleStsInfoApi(data) {
+ return request({
+ url: "/admin/vehicle/statistics",
+ method: "get",
+ params: handleRemoveEmptyContent(data),
+ });
+}
+
+//鏍规嵁韬唤璇佸彿鑾峰彇鏈�杩戠殑涓�鏉¤溅杈嗕俊鎭暟鎹�
+export function getVehicleByIdCardApi(data) {
+ return request({
+ url: "/admin/vehicle/getVehicleInfoByCard",
+ method: "get",
+ params: handleRemoveEmptyContent(data),
+ });
+}
+
+//鎵撳嵃鏃惰幏鍙栬溅杈嗘帓闃熶俊鎭�
+export function getPrintVehcicleInfoApi(data) {
+ return request({
+ url: "/admin/vehicle/info",
+ method: "get",
+ params: handleRemoveEmptyContent(data),
+ });
+}
+
+/*=====================绯荤粺鏃ュ織=======================*/
+export function getSystemLogListApi(data) {
+ let prar;
+ return request({
+ url: "/admin/system/log/page",
+ method: "get",
+ params: handleRemoveEmptyContent(data),
+ });
+}
+
+/*=====================闂ㄥ崼=======================*/
+//鏍规嵁杞﹁締淇℃伅ID鏌ヨ杞﹁締淇℃伅
+export function getVeghicleByNumApi(num, isLinkCode) {
+ return request({
+ url: isLinkCode
+ ? `/admin/vehicle/getVehicleInfoById?linkCode=${num}`
+ : `/admin/vehicle/getVehicleInfoById?queueNumber=${num}`,
+ method: "get",
+ });
+}
+//杞﹁締鍏ュ巶/绂诲巶鏍搁攢
+export function vehicleInOutApi(type, id) {
+ return request({
+ url:
+ type == "in" ? `/admin/vehicle/vehicleIn` : "/admin/vehicle/vehicleOut",
+ method: "post",
+ params: {
+ masterId: id,
+ },
+ });
+}
+
+//鍙告満绔�
+export function driversQueryInfo(id) {
+ return request({
+ url: "/admin/vehicle/drivers/info",
+ method: "get",
+ params: {
+ vehicleId: id,
+ },
+ });
+}
diff --git a/src/api/wxApi.js b/src/api/wxApi.js
new file mode 100644
index 0000000..7fbd48d
--- /dev/null
+++ b/src/api/wxApi.js
@@ -0,0 +1,401 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+import request from '@/utils/request'
+
+export function menuCreate(data) {
+ return request({
+ url: '/admin/wechat/menu/public/create',
+ method: 'post',
+ params: data
+ })
+}
+
+export function menuDelete(data) {
+ return request({
+ url: '/admin/wechat/menu/public/delete',
+ method: 'post',
+ params: data
+ })
+}
+
+export function menuInfo(pram) {
+ const data = {
+ isAsync: pram.isAsync
+ }
+ return request({
+ url: '/admin/wechat/menu/public/get',
+ method: 'post',
+ params: data
+ })
+}
+
+/**
+ * 寰俊妯℃澘娑堟伅 鍒楄〃
+ * @param pram
+ */
+export function wechatTemplateListApi(params) {
+ return request({
+ url: `/admin/wechat/template/list`,
+ method: 'get',
+ params
+ })
+}
+
+/**
+ * 寰俊妯℃澘娑堟伅 鏂板
+ * @param pram
+ */
+export function wechatTemplateSaveApi(data) {
+ return request({
+ url: `/admin/wechat/template/save`,
+ method: 'post',
+ data
+ })
+}
+
+/**
+ * 寰俊妯℃澘娑堟伅 缂栬緫
+ * @param pram
+ */
+export function wechatTemplateUpdateApi(id, data) {
+ return request({
+ url: `/admin/wechat/template/update/${id}`,
+ method: 'post',
+ data
+ })
+}
+
+/**
+ * 寰俊妯℃澘娑堟伅 璇︽儏
+ * @param pram
+ */
+export function wechatTemplateInfoApi(id) {
+ return request({
+ url: `/admin/wechat/template/info/${id}`,
+ method: 'get'
+ })
+}
+
+/**
+ * 寰俊妯℃澘娑堟伅 淇敼鐘舵��
+ * @param pram
+ */
+export function wechatTemplateStatusApi(id, params) {
+ return request({
+ url: `/admin/wechat/template/update/status/${id}`,
+ method: 'post',
+ params
+ })
+}
+
+/**
+ * 寰俊妯℃澘娑堟伅 鍒犻櫎
+ * @param pram
+ */
+export function wechatTemplateDeleteApi(id) {
+ return request({
+ url: `/admin/wechat/template/delete/${id}`,
+ method: 'get'
+ })
+}
+
+/**
+ * 鍏抽敭瀛楀洖澶� 鍒楄〃
+ * @param pram
+ */
+export function replyListApi(params) {
+ return request({
+ url: `/admin/wechat/keywords/reply/list`,
+ method: 'get',
+ params
+ })
+}
+
+/**
+ * 鍏抽敭瀛楀洖澶� 鏂板
+ * @param pram
+ */
+export function replySaveApi(data) {
+ return request({
+ url: `/admin/wechat/keywords/reply/save`,
+ method: 'post',
+ data
+ })
+}
+
+/**
+ * 鍏抽敭瀛楀洖澶� 淇敼鐘舵��
+ * @param pram
+ */
+export function replyStatusApi(params) {
+ return request({
+ url: `/admin/wechat/keywords/reply/status`,
+ method: 'post',
+ params
+ })
+}
+/**
+ * 鍏抽敭瀛楀洖澶� 缂栬緫
+ * @param pram
+ */
+export function replyUpdateApi(params, data) {
+ return request({
+ url: `/admin/wechat/keywords/reply/update`,
+ method: 'post',
+ params,
+ data
+ })
+}
+
+/**
+ * 鍏抽敭瀛楀洖澶� 璇︽儏
+ * @param pram
+ */
+export function replyInfoApi(params) {
+ return request({
+ url: `/admin/wechat/keywords/reply/info`,
+ method: 'get',
+ params
+ })
+}
+
+/**
+ * 鍏抽敭瀛楀洖澶� 鍒犻櫎
+ * @param pram
+ */
+export function replyDeleteApi(params) {
+ return request({
+ url: `/admin/wechat/keywords/reply/delete`,
+ method: 'get',
+ params
+ })
+}
+
+/**
+ * 鍏抽敭瀛楁煡璇㈡暟鎹�
+ * @param pram
+ */
+export function keywordsInfoApi(params) {
+ return request({
+ url: `/admin/wechat/keywords/reply/info/keywords`,
+ method: 'get',
+ params
+ })
+}
+
+/**
+ * 寰俊鑿滃崟 鑾峰彇鏁版嵁
+ * @param pram
+ */
+export function wechatMenuApi(params) {
+ return request({
+ url: `/admin/wechat/menu/public/get`,
+ method: 'get',
+ params
+ })
+}
+
+/**
+ * 寰俊鑿滃崟 鏂板
+ * @param pram
+ */
+export function wechatMenuAddApi(data) {
+ return request({
+ url: `/admin/wechat/menu/public/create`,
+ method: 'post',
+ data
+ })
+}
+
+/**
+ * 灏忕▼搴� 鍏叡妯℃澘鍒楄〃
+ */
+export function publicTempListApi(params) {
+ return request({
+ url: `/admin/wechat/program/public/temp/list`,
+ method: 'get',
+ params
+ })
+}
+
+/**
+ * 灏忕▼搴� 妯$増鎵�灞炵被鐩�
+ */
+export function categoryApi() {
+ return request({
+ url: `/admin/wechat/program/category`,
+ method: 'get'
+ })
+}
+
+/**
+ * 灏忕▼搴� 閫氳繃寰俊妯℃澘tid鑾峰彇鍏抽敭瀛楀垪琛�
+ */
+export function getWeChatKeywordsByTidApi(params) {
+ return request({
+ url: `/admin/wechat/program/getWeChatKeywordsByTid`,
+ method: 'get',
+ params
+ })
+}
+
+/**
+ * 灏忕▼搴� 妯℃澘璇︽儏锛屼富瑕佹槸鑾峰彇宸︿晶鏍囬
+ */
+export function publicTempInfoApi(params) {
+ return request({
+ url: `/admin/wechat/program/public/temp/info`,
+ method: 'get',
+ params
+ })
+}
+
+/**
+ * 灏忕▼搴� 鎴戠殑妯℃澘鍒楄〃
+ */
+export function myTempListApi(params) {
+ return request({
+ url: `/admin/wechat/program/my/temp/list`,
+ method: 'get',
+ params
+ })
+}
+
+/**
+ * 灏忕▼搴� 鎴戠殑妯℃澘璇︽儏
+ */
+export function myTempInfoApi(params) {
+ return request({
+ url: `/admin/wechat/program/my/temp/info`,
+ method: 'get',
+ params
+ })
+}
+
+/**
+ * 灏忕▼搴� 妯℃澘鏂板
+ */
+export function myTempSaveApi(data) {
+ return request({
+ url: `/admin/wechat/program/my/temp/save`,
+ method: 'post',
+ data
+ })
+}
+
+/**
+ * 灏忕▼搴� 妯℃澘淇敼
+ */
+export function myTempUpdateApi(params, data) {
+ return request({
+ url: `/admin/wechat/program/my/temp/update`,
+ method: 'post',
+ params,
+ data
+ })
+}
+
+/**
+ * 灏忕▼搴� 鎴戠殑妯℃澘淇敼鐘舵��
+ */
+export function myTempStatusApi(params) {
+ return request({
+ url: `/admin/wechat/program/my/temp/update/status`,
+ method: 'get',
+ params
+ })
+}
+
+
+/**
+ * 灏忕▼搴� 鎴戠殑妯℃澘淇敼搴旂敤鍦烘櫙
+ */
+export function myTempTypeApi(params) {
+ return request({
+ url: `/admin/wechat/program/my/temp/update/type`,
+ method: 'get',
+ params
+ })
+}
+
+/**
+ * 鑾峰彇寰俊sdk閰嶇疆
+ * @returns {*}
+ */
+export function getWechatConfig() {
+ return request({
+ url: `/admin/wechat/config`,
+ method: 'get',
+ params:{ url: encodeURIComponent(location.href.split('#')[0]) } // for Test
+ })
+}
+
+/**
+ * 寰俊鎺堟潈鐧诲綍
+ * @returns {*}
+ */
+export function wechatAuth(code) {
+ return request({
+ url: `/admin/authorize/login`,
+ method: 'get',
+ params: { code }
+ })
+}
+
+/**
+ * 涓庡井淇¤В缁戣处鍙�
+ */
+export function unbindApi() {
+ return request({
+ url: `/admin/unbind`,
+ method: 'get'
+ })
+}
+
+/**
+ * 涓�閿悓姝ユ垜鐨勬ā鏉垮埌灏忕▼搴�
+ */
+export function tempAsyncApi() {
+ return request({
+ url: `/admin/wechat/program/my/temp/async`,
+ method: 'get'
+ })
+}
+
+/**
+ * 鍏紬鍙锋ā鏉挎秷鎭悓姝�
+ */
+ export function wechatAsyncApi() {
+ return request({
+ url: `/admin/wechat/template/whcbqhn/sync`,
+ method: 'post'
+ })
+}
+
+/**
+ * 灏忕▼搴忔ā鏉挎秷鎭悓姝�
+ */
+ export function routineAsyncApi() {
+ return request({
+ url: `/admin/wechat/template/routine/sync`,
+ method: 'post'
+ })
+}
+
+/**
+ * 灏忕▼搴忔簮鐮佷笅杞�
+ */
+ export function wechatCodeDownload() {
+ return request({
+ url: `/admin/wechat/code/download`,
+ method: 'get'
+ })
+}
\ No newline at end of file
diff --git a/src/assets/401_images/401.gif b/src/assets/401_images/401.gif
new file mode 100644
index 0000000..cd6e0d9
--- /dev/null
+++ b/src/assets/401_images/401.gif
Binary files differ
diff --git a/src/assets/404_images/404.png b/src/assets/404_images/404.png
new file mode 100644
index 0000000..3d8e230
--- /dev/null
+++ b/src/assets/404_images/404.png
Binary files differ
diff --git a/src/assets/404_images/404_cloud.png b/src/assets/404_images/404_cloud.png
new file mode 100644
index 0000000..c6281d0
--- /dev/null
+++ b/src/assets/404_images/404_cloud.png
Binary files differ
diff --git a/src/assets/custom-theme/fonts/element-icons.ttf b/src/assets/custom-theme/fonts/element-icons.ttf
new file mode 100644
index 0000000..570a3e1
--- /dev/null
+++ b/src/assets/custom-theme/fonts/element-icons.ttf
Binary files differ
diff --git a/src/assets/custom-theme/fonts/element-icons.woff b/src/assets/custom-theme/fonts/element-icons.woff
new file mode 100644
index 0000000..c2bcc00
--- /dev/null
+++ b/src/assets/custom-theme/fonts/element-icons.woff
Binary files differ
diff --git a/src/assets/custom-theme/index.css b/src/assets/custom-theme/index.css
new file mode 100644
index 0000000..e8b4e08
--- /dev/null
+++ b/src/assets/custom-theme/index.css
@@ -0,0 +1 @@
+@charset "UTF-8";.custom-theme .fade-in-linear-enter-active,.custom-theme .fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.custom-theme .fade-in-linear-enter,.custom-theme .fade-in-linear-leave,.custom-theme .fade-in-linear-leave-active{opacity:0}.custom-theme .el-fade-in-linear-enter-active,.custom-theme .el-fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.custom-theme .el-fade-in-linear-enter,.custom-theme .el-fade-in-linear-leave,.custom-theme .el-fade-in-linear-leave-active{opacity:0}.custom-theme .el-fade-in-enter-active,.custom-theme .el-fade-in-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.custom-theme .el-fade-in-enter,.custom-theme .el-fade-in-leave-active{opacity:0}.custom-theme .el-zoom-in-center-enter-active,.custom-theme .el-zoom-in-center-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.custom-theme .el-zoom-in-center-enter,.custom-theme .el-zoom-in-center-leave-active{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}.custom-theme .el-zoom-in-top-enter-active,.custom-theme .el-zoom-in-top-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;transition:opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;transition:transform .3s cubic-bezier(.23,1,.32,1) .1s,opacity .3s cubic-bezier(.23,1,.32,1) .1s;transition:transform .3s cubic-bezier(.23,1,.32,1) .1s,opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;-webkit-transform-origin:center top;transform-origin:center top}.custom-theme .el-zoom-in-top-enter,.custom-theme .el-zoom-in-top-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.custom-theme .el-zoom-in-bottom-enter-active,.custom-theme .el-zoom-in-bottom-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;transition:opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;transition:transform .3s cubic-bezier(.23,1,.32,1) .1s,opacity .3s cubic-bezier(.23,1,.32,1) .1s;transition:transform .3s cubic-bezier(.23,1,.32,1) .1s,opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;-webkit-transform-origin:center bottom;transform-origin:center bottom}.custom-theme .el-zoom-in-bottom-enter,.custom-theme .el-zoom-in-bottom-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.custom-theme .el-zoom-in-left-enter-active,.custom-theme .el-zoom-in-left-leave-active{opacity:1;-webkit-transform:scale(1,1);transform:scale(1,1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;transition:opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;transition:transform .3s cubic-bezier(.23,1,.32,1) .1s,opacity .3s cubic-bezier(.23,1,.32,1) .1s;transition:transform .3s cubic-bezier(.23,1,.32,1) .1s,opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;-webkit-transform-origin:top left;transform-origin:top left}.custom-theme .el-zoom-in-left-enter,.custom-theme .el-zoom-in-left-leave-active{opacity:0;-webkit-transform:scale(.45,.45);transform:scale(.45,.45)}.custom-theme .collapse-transition{-webkit-transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out;transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out}.custom-theme .horizontal-collapse-transition{-webkit-transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out;transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out}.custom-theme .el-list-enter-active,.custom-theme .el-list-leave-active{-webkit-transition:all 1s;transition:all 1s}.custom-theme .el-list-enter,.custom-theme .el-list-leave-active{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}.custom-theme .el-opacity-transition{-webkit-transition:opacity .3s cubic-bezier(.55,0,.1,1);transition:opacity .3s cubic-bezier(.55,0,.1,1)}@font-face{font-family:element-icons;src:url(fonts/element-icons.woff?t=1508751886602) format("woff"),url(fonts/element-icons.ttf?t=1508751886602) format("truetype");font-weight:400;font-style:normal}.custom-theme [class*=" el-icon-"],.custom-theme [class^=el-icon-]{font-family:element-icons!important;speak:none;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1;vertical-align:baseline;display:inline-block;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.custom-theme .el-icon-upload:before{content:"\e60d"}.custom-theme .el-icon-error:before{content:"\e62c"}.custom-theme .el-icon-success:before{content:"\e62d"}.custom-theme .el-icon-warning:before{content:"\e62e"}.custom-theme .el-icon-sort-down:before{content:"\e630"}.custom-theme .el-icon-sort-up:before{content:"\e631"}.custom-theme .el-icon-arrow-left:before{content:"\e600"}.custom-theme .el-icon-circle-plus:before{content:"\e601"}.custom-theme .el-icon-circle-plus-outline:before{content:"\e602"}.custom-theme .el-icon-arrow-down:before{content:"\e603"}.custom-theme .el-icon-arrow-right:before{content:"\e604"}.custom-theme .el-icon-arrow-up:before{content:"\e605"}.custom-theme .el-icon-back:before{content:"\e606"}.custom-theme .el-icon-circle-close:before{content:"\e607"}.custom-theme .el-icon-date:before{content:"\e608"}.custom-theme .el-icon-circle-close-outline:before{content:"\e609"}.custom-theme .el-icon-caret-left:before{content:"\e60a"}.custom-theme .el-icon-caret-bottom:before{content:"\e60b"}.custom-theme .el-icon-caret-top:before{content:"\e60c"}.custom-theme .el-icon-caret-right:before{content:"\e60e"}.custom-theme .el-icon-close:before{content:"\e60f"}.custom-theme .el-icon-d-arrow-left:before{content:"\e610"}.custom-theme .el-icon-check:before{content:"\e611"}.custom-theme .el-icon-delete:before{content:"\e612"}.custom-theme .el-icon-d-arrow-right:before{content:"\e613"}.custom-theme .el-icon-document:before{content:"\e614"}.custom-theme .el-icon-d-caret:before{content:"\e615"}.custom-theme .el-icon-edit-outline:before{content:"\e616"}.custom-theme .el-icon-download:before{content:"\e617"}.custom-theme .el-icon-goods:before{content:"\e618"}.custom-theme .el-icon-search:before{content:"\e619"}.custom-theme .el-icon-info:before{content:"\e61a"}.custom-theme .el-icon-message:before{content:"\e61b"}.custom-theme .el-icon-edit:before{content:"\e61c"}.custom-theme .el-icon-location:before{content:"\e61d"}.custom-theme .el-icon-loading:before{content:"\e61e"}.custom-theme .el-icon-location-outline:before{content:"\e61f"}.custom-theme .el-icon-menu:before{content:"\e620"}.custom-theme .el-icon-minus:before{content:"\e621"}.custom-theme .el-icon-bell:before{content:"\e622"}.custom-theme .el-icon-mobile-phone:before{content:"\e624"}.custom-theme .el-icon-news:before{content:"\e625"}.custom-theme .el-icon-more:before{content:"\e646"}.custom-theme .el-icon-more-outline:before{content:"\e626"}.custom-theme .el-icon-phone:before{content:"\e627"}.custom-theme .el-icon-phone-outline:before{content:"\e628"}.custom-theme .el-icon-picture:before{content:"\e629"}.custom-theme .el-icon-picture-outline:before{content:"\e62a"}.custom-theme .el-icon-plus:before{content:"\e62b"}.custom-theme .el-icon-printer:before{content:"\e62f"}.custom-theme .el-icon-rank:before{content:"\e632"}.custom-theme .el-icon-refresh:before{content:"\e633"}.custom-theme .el-icon-question:before{content:"\e634"}.custom-theme .el-icon-remove:before{content:"\e635"}.custom-theme .el-icon-share:before{content:"\e636"}.custom-theme .el-icon-star-on:before{content:"\e637"}.custom-theme .el-icon-setting:before{content:"\e638"}.custom-theme .el-icon-circle-check:before{content:"\e639"}.custom-theme .el-icon-service:before{content:"\e63a"}.custom-theme .el-icon-sold-out:before{content:"\e63b"}.custom-theme .el-icon-remove-outline:before{content:"\e63c"}.custom-theme .el-icon-star-off:before{content:"\e63d"}.custom-theme .el-icon-circle-check-outline:before{content:"\e63e"}.custom-theme .el-icon-tickets:before{content:"\e63f"}.custom-theme .el-icon-sort:before{content:"\e640"}.custom-theme .el-icon-zoom-in:before{content:"\e641"}.custom-theme .el-icon-time:before{content:"\e642"}.custom-theme .el-icon-view:before{content:"\e643"}.custom-theme .el-icon-upload2:before{content:"\e644"}.custom-theme .el-icon-zoom-out:before{content:"\e645"}.custom-theme .el-icon-loading{-webkit-animation:rotating 2s linear infinite;animation:rotating 2s linear infinite}.custom-theme .el-icon--right{margin-left:5px}.custom-theme .el-icon--left{margin-right:5px}@-webkit-keyframes rotating{0%{-webkit-transform:rotateZ(0);transform:rotateZ(0)}100%{-webkit-transform:rotateZ(360deg);transform:rotateZ(360deg)}}@keyframes rotating{0%{-webkit-transform:rotateZ(0);transform:rotateZ(0)}100%{-webkit-transform:rotateZ(360deg);transform:rotateZ(360deg)}}.custom-theme .el-popper .popper__arrow,.custom-theme .el-popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.custom-theme .el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.custom-theme .el-popper .popper__arrow::after{content:" ";border-width:6px}.custom-theme .el-popper[x-placement^=top]{margin-bottom:12px}.custom-theme .el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#e6ebf5;border-bottom-width:0}.custom-theme .el-popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-6px;border-top-color:#fff;border-bottom-width:0}.custom-theme .el-popper[x-placement^=bottom]{margin-top:12px}.custom-theme .el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#e6ebf5}.custom-theme .el-popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#fff}.custom-theme .el-popper[x-placement^=right]{margin-left:12px}.custom-theme .el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#e6ebf5;border-left-width:0}.custom-theme .el-popper[x-placement^=right] .popper__arrow::after{bottom:-6px;left:1px;border-right-color:#fff;border-left-width:0}.custom-theme .el-popper[x-placement^=left]{margin-right:12px}.custom-theme .el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#e6ebf5}.custom-theme .el-popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#fff}.custom-theme .el-select-dropdown{position:absolute;z-index:1001;border:solid 1px #dfe4ed;border-radius:4px;background-color:#fff;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);-webkit-box-sizing:border-box;box-sizing:border-box;margin:5px 0}.custom-theme .el-select-dropdown.is-multiple .el-select-dropdown__item.selected{color:#262729;background-color:#fff}.custom-theme .el-select-dropdown.is-multiple .el-select-dropdown__item.selected.hover{background-color:#f5f7fa}.custom-theme .el-select-dropdown.is-multiple .el-select-dropdown__item.selected::after{position:absolute;right:20px;font-family:element-icons;content:"\E611";font-size:12px;font-weight:700;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.custom-theme .el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list{padding:0}.custom-theme .el-select-dropdown .popper__arrow{-webkit-transform:translateX(-400%);transform:translateX(-400%)}.custom-theme .el-select-dropdown.is-arrow-fixed .popper__arrow{-webkit-transform:translateX(-200%);transform:translateX(-200%)}.custom-theme .el-select-dropdown__empty{padding:10px 0;margin:0;text-align:center;color:#999;font-size:14px}.custom-theme .el-select-dropdown__wrap{max-height:274px}.custom-theme .el-select-dropdown__list{list-style:none;padding:6px 0;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box}.custom-theme .el-input{position:relative;font-size:14px;display:inline-block;width:100%}.custom-theme .el-input::-webkit-scrollbar{z-index:11;width:6px}.custom-theme .el-input::-webkit-scrollbar:horizontal{height:6px}.custom-theme .el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.custom-theme .el-input::-webkit-scrollbar-corner{background:#fff}.custom-theme .el-input::-webkit-scrollbar-track{background:#fff}.custom-theme .el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.custom-theme .el-input__inner{-webkit-appearance:none;background-color:#fff;background-image:none;border-radius:4px;border:1px solid #d8dce5;-webkit-box-sizing:border-box;box-sizing:border-box;color:#5a5e66;display:inline-block;font-size:inherit;height:40px;line-height:1;outline:0;padding:0 15px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.custom-theme .el-input__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner::placeholder{color:#b4bccc}.custom-theme .el-input__inner:hover{border-color:#b4bccc}.custom-theme .el-input__inner:focus{outline:0;border-color:#262729}.custom-theme .el-input__suffix{position:absolute;height:100%;right:5px;top:0;text-align:center;color:#b4bccc;-webkit-transition:all .3s;transition:all .3s;pointer-events:none}.custom-theme .el-input__suffix-inner{pointer-events:all}.custom-theme .el-input__prefix{position:absolute;height:100%;left:5px;top:0;text-align:center;color:#b4bccc;-webkit-transition:all .3s;transition:all .3s}.custom-theme .el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.custom-theme .el-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.custom-theme .el-input__validateIcon{pointer-events:none}.custom-theme .el-input.is-active .el-input__inner{outline:0;border-color:#262729}.custom-theme .el-input.is-disabled .el-input__inner{background-color:#f5f7fa;border-color:#dfe4ed;color:#b4bccc;cursor:not-allowed}.custom-theme .el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner::placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__icon{cursor:not-allowed}.custom-theme .el-input--suffix .el-input__inner{padding-right:30px}.custom-theme .el-input--prefix .el-input__inner{padding-left:30px}.custom-theme .el-input--medium{font-size:14px}.custom-theme .el-input--medium .el-input__inner{height:36px}.custom-theme .el-input--medium .el-input__icon{line-height:36px}.custom-theme .el-input--small{font-size:13px}.custom-theme .el-input--small .el-input__inner{height:32px}.custom-theme .el-input--small .el-input__icon{line-height:32px}.custom-theme .el-input--mini{font-size:12px}.custom-theme .el-input--mini .el-input__inner{height:28px}.custom-theme .el-input--mini .el-input__icon{line-height:28px}.custom-theme .el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate}.custom-theme .el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.custom-theme .el-input-group__append,.custom-theme .el-input-group__prepend{background-color:#f5f7fa;color:#0a76a4;vertical-align:middle;display:table-cell;position:relative;border:1px solid #d8dce5;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.custom-theme .el-input-group__append:focus,.custom-theme .el-input-group__prepend:focus{outline:0}.custom-theme .el-input-group__append .el-button,.custom-theme .el-input-group__append .el-select,.custom-theme .el-input-group__prepend .el-button,.custom-theme .el-input-group__prepend .el-select{display:inline-block;margin:-20px}.custom-theme .el-input-group__append button.el-button,.custom-theme .el-input-group__append div.el-select .el-input__inner,.custom-theme .el-input-group__append div.el-select:hover .el-input__inner,.custom-theme .el-input-group__prepend button.el-button,.custom-theme .el-input-group__prepend div.el-select .el-input__inner,.custom-theme .el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.custom-theme .el-input-group__append .el-button,.custom-theme .el-input-group__append .el-input,.custom-theme .el-input-group__prepend .el-button,.custom-theme .el-input-group__prepend .el-input{font-size:inherit}.custom-theme .el-input-group__prepend{border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.custom-theme .el-input-group__append{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.custom-theme .el-input-group--prepend .el-input__inner{border-top-left-radius:0;border-bottom-left-radius:0}.custom-theme .el-input-group--append .el-input__inner{border-top-right-radius:0;border-bottom-right-radius:0}.custom-theme .el-textarea{display:inline-block;width:100%;vertical-align:bottom}.custom-theme .el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;font-size:14px;color:#5a5e66;background-color:#fff;background-image:none;border:1px solid #d8dce5;border-radius:4px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.custom-theme .el-textarea__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner::placeholder{color:#b4bccc}.custom-theme .el-textarea__inner:hover{border-color:#b4bccc}.custom-theme .el-textarea__inner:focus{outline:0;border-color:#262729}.custom-theme .el-textarea.is-disabled .el-textarea__inner{background-color:#f5f7fa;border-color:#dfe4ed;color:#b4bccc;cursor:not-allowed}.custom-theme .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner::placeholder{color:#b4bccc}.custom-theme .el-tag{background-color:rgba(38,39,41,.1);display:inline-block;padding:0 10px;height:32px;line-height:30px;font-size:12px;color:#262729;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid rgba(38,39,41,.2);white-space:nowrap}.custom-theme .el-tag .el-icon-close{border-radius:50%;text-align:center;position:relative;cursor:pointer;font-size:12px;height:18px;width:18px;line-height:18px;vertical-align:middle;top:-1px;right:-5px;color:#262729}.custom-theme .el-tag .el-icon-close::before{display:block}.custom-theme .el-tag .el-icon-close:hover{background-color:#262729;color:#fff}.custom-theme .el-tag--info{background-color:rgba(10,118,164,.1);border-color:rgba(10,118,164,.2);color:#0a76a4}.custom-theme .el-tag--info.is-hit{border-color:#0a76a4}.custom-theme .el-tag--info .el-tag__close{color:#0a76a4}.custom-theme .el-tag--info .el-tag__close:hover{background-color:#0a76a4;color:#fff}.custom-theme .el-tag--success{background-color:rgba(64,145,103,.1);border-color:rgba(64,145,103,.2);color:#409167}.custom-theme .el-tag--success.is-hit{border-color:#409167}.custom-theme .el-tag--success .el-tag__close{color:#409167}.custom-theme .el-tag--success .el-tag__close:hover{background-color:#409167;color:#fff}.custom-theme .el-tag--warning{background-color:rgba(157,164,8,.1);border-color:rgba(157,164,8,.2);color:#9da408}.custom-theme .el-tag--warning.is-hit{border-color:#9da408}.custom-theme .el-tag--warning .el-tag__close{color:#9da408}.custom-theme .el-tag--warning .el-tag__close:hover{background-color:#9da408;color:#fff}.custom-theme .el-tag--danger{background-color:rgba(179,69,14,.1);border-color:rgba(179,69,14,.2);color:#b3450e}.custom-theme .el-tag--danger.is-hit{border-color:#b3450e}.custom-theme .el-tag--danger .el-tag__close{color:#b3450e}.custom-theme .el-tag--danger .el-tag__close:hover{background-color:#b3450e;color:#fff}.custom-theme .el-tag--medium{height:28px;line-height:26px}.custom-theme .el-tag--medium .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.custom-theme .el-tag--small{height:24px;padding:0 8px;line-height:22px}.custom-theme .el-tag--small .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.custom-theme .el-tag--mini{height:20px;padding:0 5px;line-height:19px}.custom-theme .el-tag--mini .el-icon-close{margin-left:-3px;-webkit-transform:scale(.7);transform:scale(.7)}.custom-theme .el-select-dropdown__item{font-size:14px;padding:0 20px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#5a5e66;height:34px;line-height:34px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer}.custom-theme .el-select-dropdown__item.is-disabled{color:#b4bccc;cursor:not-allowed}.custom-theme .el-select-dropdown__item.is-disabled:hover{background-color:#fff}.custom-theme .el-select-dropdown__item.hover,.custom-theme .el-select-dropdown__item:hover{background-color:#f5f7fa}.custom-theme .el-select-dropdown__item.selected{color:#262729;font-weight:700}.custom-theme .el-select-dropdown__item span{line-height:34px!important}.custom-theme .el-select-group{margin:0;padding:0}.custom-theme .el-select-group__wrap{position:relative;list-style:none;margin:0;padding:0}.custom-theme .el-select-group__wrap:not(:last-of-type){padding-bottom:24px}.custom-theme .el-select-group__wrap:not(:last-of-type)::after{content:'';position:absolute;display:block;left:20px;right:20px;bottom:12px;height:1px;background:#dfe4ed}.custom-theme .el-select-group__title{padding-left:20px;font-size:12px;color:#0a76a4;line-height:30px}.custom-theme .el-select-group .el-select-dropdown__item{padding-left:20px}.custom-theme .el-scrollbar{overflow:hidden;position:relative}.custom-theme .el-scrollbar:active>.el-scrollbar__bar,.custom-theme .el-scrollbar:focus>.el-scrollbar__bar,.custom-theme .el-scrollbar:hover>.el-scrollbar__bar{opacity:1;-webkit-transition:opacity 340ms ease-out;transition:opacity 340ms ease-out}.custom-theme .el-scrollbar__wrap{overflow:scroll;height:100%}.custom-theme .el-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.custom-theme .el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(135,141,153,.3);-webkit-transition:.3s background-color;transition:.3s background-color}.custom-theme .el-scrollbar__thumb:hover{background-color:rgba(135,141,153,.5)}.custom-theme .el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px;opacity:0;-webkit-transition:opacity 120ms ease-out;transition:opacity 120ms ease-out}.custom-theme .el-scrollbar__bar.is-vertical{width:6px;top:2px}.custom-theme .el-scrollbar__bar.is-vertical>div{width:100%}.custom-theme .el-scrollbar__bar.is-horizontal{height:6px;left:2px}.custom-theme .el-scrollbar__bar.is-horizontal>div{height:100%}.custom-theme .el-select{display:inline-block;position:relative}.custom-theme .el-select:hover .el-input__inner{border-color:#b4bccc}.custom-theme .el-select .el-input__inner{cursor:pointer;padding-right:35px}.custom-theme .el-select .el-input__inner:focus{border-color:#262729}.custom-theme .el-select .el-input .el-select__caret{color:#b4bccc;font-size:14px;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg);line-height:16px;cursor:pointer}.custom-theme .el-select .el-input .el-select__caret.is-reverse{-webkit-transform:rotateZ(0);transform:rotateZ(0)}.custom-theme .el-select .el-input .el-select__caret.is-show-close{font-size:14px;text-align:center;-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg);border-radius:100%;color:#b4bccc;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.custom-theme .el-select .el-input .el-select__caret.is-show-close:hover{color:#878d99}.custom-theme .el-select .el-input.is-disabled .el-input__inner{cursor:not-allowed}.custom-theme .el-select .el-input.is-disabled .el-input__inner:hover{border-color:#dfe4ed}.custom-theme .el-select>.el-input{display:block}.custom-theme .el-select__input{border:none;outline:0;padding:0;margin-left:15px;color:#666;font-size:14px;vertical-align:baseline;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:28px;background-color:transparent}.custom-theme .el-select__input.is-mini{height:14px}.custom-theme .el-select__close{cursor:pointer;position:absolute;top:8px;z-index:1000;right:25px;color:#b4bccc;line-height:18px;font-size:14px}.custom-theme .el-select__close:hover{color:#878d99}.custom-theme .el-select__tags{position:absolute;line-height:normal;white-space:normal;z-index:1;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.custom-theme .el-select .el-tag__close{margin-top:-2px}.custom-theme .el-select .el-tag{-webkit-box-sizing:border-box;box-sizing:border-box;border-color:transparent;margin:3px 0 3px 6px;background-color:#f0f2f5}.custom-theme .el-select .el-tag__close.el-icon-close{background-color:#b4bccc;right:-7px;color:#fff}.custom-theme .el-select .el-tag__close.el-icon-close:hover{background-color:#878d99}.custom-theme .el-select .el-tag__close.el-icon-close::before{display:block;-webkit-transform:translate(0,.5px);transform:translate(0,.5px)}.custom-theme .el-select__tag{display:inline-block;height:24px;line-height:24px;font-size:14px;border-radius:4px;color:#fff;background-color:#262729}.custom-theme .el-select__tag .el-icon-close{font-size:14px}.custom-theme .el-pagination{white-space:nowrap;padding:2px 5px;color:#2d2f33;font-weight:700}.custom-theme .el-pagination::after,.custom-theme .el-pagination::before{display:table;content:""}.custom-theme .el-pagination::after{clear:both}.custom-theme .el-pagination button,.custom-theme .el-pagination span:not([class*=suffix]){display:inline-block;font-size:13px;min-width:35.5px;height:28px;line-height:28px;vertical-align:top;-webkit-box-sizing:border-box;box-sizing:border-box}.custom-theme .el-pagination .el-input__inner{text-align:center}.custom-theme .el-pagination .el-input__suffix{right:0;-webkit-transform:scale(.8);transform:scale(.8)}.custom-theme .el-pagination .el-select .el-input{width:100px;margin:0 5px}.custom-theme .el-pagination .el-select .el-input .el-input__inner{padding-right:25px;border-radius:3px;height:28px}.custom-theme .el-pagination button{border:none;padding:0 6px;background:0 0}.custom-theme .el-pagination button:focus{outline:0}.custom-theme .el-pagination button:hover{color:#262729}.custom-theme .el-pagination button.disabled{color:#b4bccc;background-color:#fff;cursor:not-allowed}.custom-theme .el-pagination .btn-next,.custom-theme .el-pagination .btn-prev{background:center center no-repeat;background-size:16px;background-color:#fff;cursor:pointer;margin:0;color:#2d2f33}.custom-theme .el-pagination .btn-next .el-icon,.custom-theme .el-pagination .btn-prev .el-icon{display:block;font-size:12px}.custom-theme .el-pagination .btn-prev{padding-right:12px}.custom-theme .el-pagination .btn-next{padding-left:12px}.custom-theme .el-pagination--small .btn-next,.custom-theme .el-pagination--small .btn-prev,.custom-theme .el-pagination--small .el-pager li,.custom-theme .el-pagination--small .el-pager li:last-child{border-color:transparent;font-size:12px;line-height:22px;height:22px;min-width:22px}.custom-theme .el-pagination--small .arrow.disabled{visibility:hidden}.custom-theme .el-pagination__sizes{margin:0 10px 0 0;font-weight:400;color:#5a5e66}.custom-theme .el-pagination__sizes .el-input .el-input__inner{font-size:13px;padding-left:8px}.custom-theme .el-pagination__sizes .el-input .el-input__inner:hover{border-color:#262729}.custom-theme .el-pagination__total{margin-right:10px;font-weight:400;color:#5a5e66}.custom-theme .el-pagination__jump{margin-left:24px;font-weight:400;color:#5a5e66}.custom-theme .el-pagination__jump .el-input__inner{padding:0 3px}.custom-theme .el-pagination__rightwrapper{float:right}.custom-theme .el-pagination__editor{line-height:18px;padding:0 2px;height:28px;text-align:center;margin:0 2px;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:3px;-moz-appearance:textfield}.custom-theme .el-pagination__editor.el-input{width:50px}.custom-theme .el-pagination__editor.el-input .el-input__inner{height:28px}.custom-theme .el-pagination__editor .el-input__inner::-webkit-inner-spin-button,.custom-theme .el-pagination__editor .el-input__inner::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.custom-theme .el-pager{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;list-style:none;display:inline-block;vertical-align:top;font-size:0;padding:0;margin:0}.custom-theme .el-pager .el-icon-more::before{vertical-align:-4px}.custom-theme .el-pager li{padding:0 4px;background:#fff;vertical-align:top;display:inline-block;font-size:13px;min-width:35.5px;height:28px;line-height:28px;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;margin:0}.custom-theme .el-pager li.btn-quicknext,.custom-theme .el-pager li.btn-quickprev{line-height:28px;color:#2d2f33}.custom-theme .el-pager li.btn-quickprev:hover{cursor:pointer}.custom-theme .el-pager li.btn-quicknext:hover{cursor:pointer}.custom-theme .el-pager li.active+li{border-left:0}.custom-theme .el-pager li:hover{color:#262729}.custom-theme .el-pager li.active{color:#262729;cursor:default}.custom-theme .v-modal-enter{-webkit-animation:v-modal-in .2s ease;animation:v-modal-in .2s ease}.custom-theme .v-modal-leave{-webkit-animation:v-modal-out .2s ease forwards;animation:v-modal-out .2s ease forwards}@-webkit-keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-in{0%{opacity:0}}@-webkit-keyframes v-modal-out{100%{opacity:0}}@keyframes v-modal-out{100%{opacity:0}}.custom-theme .v-modal{position:fixed;left:0;top:0;width:100%;height:100%;opacity:.5;background:#000}.custom-theme .el-dialog{position:relative;margin:0 auto 50px;background:#fff;border-radius:2px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.3);box-shadow:0 1px 3px rgba(0,0,0,.3);-webkit-box-sizing:border-box;box-sizing:border-box;width:50%}.custom-theme .el-dialog.is-fullscreen{width:100%;margin-top:0;margin-bottom:0;height:100%;overflow:auto}.custom-theme .el-dialog__wrapper{position:fixed;top:0;right:0;bottom:0;left:0;overflow:auto;margin:0}.custom-theme .el-dialog__header{padding:15px;padding-bottom:10px}.custom-theme .el-dialog__headerbtn{position:absolute;top:15px;right:15px;padding:0;background:0 0;border:none;outline:0;cursor:pointer;font-size:16px}.custom-theme .el-dialog__headerbtn .el-dialog__close{color:#0a76a4}.custom-theme .el-dialog__headerbtn:focus .el-dialog__close,.custom-theme .el-dialog__headerbtn:hover .el-dialog__close{color:#262729}.custom-theme .el-dialog__title{line-height:24px;font-size:18px;color:#2d2f33}.custom-theme .el-dialog__body{padding:30px 20px;color:#5a5e66;line-height:24px;font-size:14px}.custom-theme .el-dialog__footer{padding:15px;padding-top:10px;text-align:right;-webkit-box-sizing:border-box;box-sizing:border-box}.custom-theme .el-dialog--center{text-align:center}.custom-theme .el-dialog--center .el-dialog__header{padding-top:30px}.custom-theme .el-dialog--center .el-dialog__body{text-align:initial;padding:25px 27px 30px}.custom-theme .el-dialog--center .el-dialog__footer{text-align:inherit;padding-bottom:30px}.custom-theme .dialog-fade-enter-active{-webkit-animation:dialog-fade-in .3s;animation:dialog-fade-in .3s}.custom-theme .dialog-fade-leave-active{-webkit-animation:dialog-fade-out .3s;animation:dialog-fade-out .3s}@-webkit-keyframes dialog-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes dialog-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes dialog-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}@keyframes dialog-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}.custom-theme .el-input{position:relative;font-size:14px;display:inline-block;width:100%}.custom-theme .el-input::-webkit-scrollbar{z-index:11;width:6px}.custom-theme .el-input::-webkit-scrollbar:horizontal{height:6px}.custom-theme .el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.custom-theme .el-input::-webkit-scrollbar-corner{background:#fff}.custom-theme .el-input::-webkit-scrollbar-track{background:#fff}.custom-theme .el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.custom-theme .el-input__inner{-webkit-appearance:none;background-color:#fff;background-image:none;border-radius:4px;border:1px solid #d8dce5;-webkit-box-sizing:border-box;box-sizing:border-box;color:#5a5e66;display:inline-block;font-size:inherit;height:40px;line-height:1;outline:0;padding:0 15px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.custom-theme .el-input__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner::placeholder{color:#b4bccc}.custom-theme .el-input__inner:hover{border-color:#b4bccc}.custom-theme .el-input__inner:focus{outline:0;border-color:#262729}.custom-theme .el-input__suffix{position:absolute;height:100%;right:5px;top:0;text-align:center;color:#b4bccc;-webkit-transition:all .3s;transition:all .3s;pointer-events:none}.custom-theme .el-input__suffix-inner{pointer-events:all}.custom-theme .el-input__prefix{position:absolute;height:100%;left:5px;top:0;text-align:center;color:#b4bccc;-webkit-transition:all .3s;transition:all .3s}.custom-theme .el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.custom-theme .el-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.custom-theme .el-input__validateIcon{pointer-events:none}.custom-theme .el-input.is-active .el-input__inner{outline:0;border-color:#262729}.custom-theme .el-input.is-disabled .el-input__inner{background-color:#f5f7fa;border-color:#dfe4ed;color:#b4bccc;cursor:not-allowed}.custom-theme .el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner::placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__icon{cursor:not-allowed}.custom-theme .el-input--suffix .el-input__inner{padding-right:30px}.custom-theme .el-input--prefix .el-input__inner{padding-left:30px}.custom-theme .el-input--medium{font-size:14px}.custom-theme .el-input--medium .el-input__inner{height:36px}.custom-theme .el-input--medium .el-input__icon{line-height:36px}.custom-theme .el-input--small{font-size:13px}.custom-theme .el-input--small .el-input__inner{height:32px}.custom-theme .el-input--small .el-input__icon{line-height:32px}.custom-theme .el-input--mini{font-size:12px}.custom-theme .el-input--mini .el-input__inner{height:28px}.custom-theme .el-input--mini .el-input__icon{line-height:28px}.custom-theme .el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate}.custom-theme .el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.custom-theme .el-input-group__append,.custom-theme .el-input-group__prepend{background-color:#f5f7fa;color:#0a76a4;vertical-align:middle;display:table-cell;position:relative;border:1px solid #d8dce5;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.custom-theme .el-input-group__append:focus,.custom-theme .el-input-group__prepend:focus{outline:0}.custom-theme .el-input-group__append .el-button,.custom-theme .el-input-group__append .el-select,.custom-theme .el-input-group__prepend .el-button,.custom-theme .el-input-group__prepend .el-select{display:inline-block;margin:-20px}.custom-theme .el-input-group__append button.el-button,.custom-theme .el-input-group__append div.el-select .el-input__inner,.custom-theme .el-input-group__append div.el-select:hover .el-input__inner,.custom-theme .el-input-group__prepend button.el-button,.custom-theme .el-input-group__prepend div.el-select .el-input__inner,.custom-theme .el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.custom-theme .el-input-group__append .el-button,.custom-theme .el-input-group__append .el-input,.custom-theme .el-input-group__prepend .el-button,.custom-theme .el-input-group__prepend .el-input{font-size:inherit}.custom-theme .el-input-group__prepend{border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.custom-theme .el-input-group__append{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.custom-theme .el-input-group--prepend .el-input__inner{border-top-left-radius:0;border-bottom-left-radius:0}.custom-theme .el-input-group--append .el-input__inner{border-top-right-radius:0;border-bottom-right-radius:0}.custom-theme .el-textarea{display:inline-block;width:100%;vertical-align:bottom}.custom-theme .el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;font-size:14px;color:#5a5e66;background-color:#fff;background-image:none;border:1px solid #d8dce5;border-radius:4px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.custom-theme .el-textarea__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner::placeholder{color:#b4bccc}.custom-theme .el-textarea__inner:hover{border-color:#b4bccc}.custom-theme .el-textarea__inner:focus{outline:0;border-color:#262729}.custom-theme .el-textarea.is-disabled .el-textarea__inner{background-color:#f5f7fa;border-color:#dfe4ed;color:#b4bccc;cursor:not-allowed}.custom-theme .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner::placeholder{color:#b4bccc}.custom-theme .el-scrollbar{overflow:hidden;position:relative}.custom-theme .el-scrollbar:active>.el-scrollbar__bar,.custom-theme .el-scrollbar:focus>.el-scrollbar__bar,.custom-theme .el-scrollbar:hover>.el-scrollbar__bar{opacity:1;-webkit-transition:opacity 340ms ease-out;transition:opacity 340ms ease-out}.custom-theme .el-scrollbar__wrap{overflow:scroll;height:100%}.custom-theme .el-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.custom-theme .el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(135,141,153,.3);-webkit-transition:.3s background-color;transition:.3s background-color}.custom-theme .el-scrollbar__thumb:hover{background-color:rgba(135,141,153,.5)}.custom-theme .el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px;opacity:0;-webkit-transition:opacity 120ms ease-out;transition:opacity 120ms ease-out}.custom-theme .el-scrollbar__bar.is-vertical{width:6px;top:2px}.custom-theme .el-scrollbar__bar.is-vertical>div{width:100%}.custom-theme .el-scrollbar__bar.is-horizontal{height:6px;left:2px}.custom-theme .el-scrollbar__bar.is-horizontal>div{height:100%}.custom-theme .el-popper .popper__arrow,.custom-theme .el-popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.custom-theme .el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.custom-theme .el-popper .popper__arrow::after{content:" ";border-width:6px}.custom-theme .el-popper[x-placement^=top]{margin-bottom:12px}.custom-theme .el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#e6ebf5;border-bottom-width:0}.custom-theme .el-popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-6px;border-top-color:#fff;border-bottom-width:0}.custom-theme .el-popper[x-placement^=bottom]{margin-top:12px}.custom-theme .el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#e6ebf5}.custom-theme .el-popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#fff}.custom-theme .el-popper[x-placement^=right]{margin-left:12px}.custom-theme .el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#e6ebf5;border-left-width:0}.custom-theme .el-popper[x-placement^=right] .popper__arrow::after{bottom:-6px;left:1px;border-right-color:#fff;border-left-width:0}.custom-theme .el-popper[x-placement^=left]{margin-right:12px}.custom-theme .el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#e6ebf5}.custom-theme .el-popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#fff}.custom-theme .el-autocomplete{position:relative;display:inline-block}.custom-theme .el-autocomplete-suggestion{margin:5px 0;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);border-radius:4px}.custom-theme .el-autocomplete-suggestion.el-popper .popper__arrow{left:24px!important}.custom-theme .el-autocomplete-suggestion__wrap{max-height:280px;padding:10px 0;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:auto;background-color:#fff;border:1px solid #dfe4ed;border-radius:4px}.custom-theme .el-autocomplete-suggestion__list{margin:0;padding:0}.custom-theme .el-autocomplete-suggestion li{padding:0 20px;margin:0;line-height:34px;cursor:pointer;color:#5a5e66;font-size:14px;list-style:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.custom-theme .el-autocomplete-suggestion li:hover{background-color:#f5f7fa}.custom-theme .el-autocomplete-suggestion li.highlighted{background-color:#f5f7fa}.custom-theme .el-autocomplete-suggestion li.divider{margin-top:6px;border-top:1px solid #000}.custom-theme .el-autocomplete-suggestion li.divider:last-child{margin-bottom:-6px}.custom-theme .el-autocomplete-suggestion.is-loading li{text-align:center;height:100px;line-height:100px;font-size:20px;color:#999}.custom-theme .el-autocomplete-suggestion.is-loading li::after{display:inline-block;content:"";height:100%;vertical-align:middle}.custom-theme .el-autocomplete-suggestion.is-loading li:hover{background-color:#fff}.custom-theme .el-autocomplete-suggestion.is-loading .el-icon-loading{vertical-align:middle}.custom-theme .el-button{display:inline-block;line-height:1;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #d8dce5;border-color:#d8dce5;color:#5a5e66;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;-webkit-transition:.1s;transition:.1s;font-weight:500;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;padding:12px 20px;font-size:14px;border-radius:4px}.custom-theme .el-button+.el-button{margin-left:10px}.custom-theme .el-button.is-round{padding:12px 20px}.custom-theme .el-button:focus,.custom-theme .el-button:hover{color:#262729;border-color:#bebebf;background-color:#e9e9ea}.custom-theme .el-button:active{color:#222325;border-color:#222325;outline:0}.custom-theme .el-button::-moz-focus-inner{border:0}.custom-theme .el-button [class*=el-icon-]+span{margin-left:5px}.custom-theme .el-button.is-plain:focus,.custom-theme .el-button.is-plain:hover{background:#fff;border-color:#262729;color:#262729}.custom-theme .el-button.is-plain:active{background:#fff;border-color:#222325;color:#222325;outline:0}.custom-theme .el-button.is-active{color:#222325;border-color:#222325}.custom-theme .el-button.is-disabled,.custom-theme .el-button.is-disabled:focus,.custom-theme .el-button.is-disabled:hover{color:#b4bccc;cursor:not-allowed;background-image:none;background-color:#fff;border-color:#e6ebf5}.custom-theme .el-button.is-disabled.el-button--text{background-color:transparent}.custom-theme .el-button.is-disabled.is-plain,.custom-theme .el-button.is-disabled.is-plain:focus,.custom-theme .el-button.is-disabled.is-plain:hover{background-color:#fff;border-color:#e6ebf5;color:#b4bccc}.custom-theme .el-button.is-loading{position:relative;pointer-events:none}.custom-theme .el-button.is-loading:before{pointer-events:none;content:'';position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;border-radius:inherit;background-color:rgba(255,255,255,.35)}.custom-theme .el-button.is-round{border-radius:20px;padding:12px 23px}.custom-theme .el-button--primary{color:#fff;background-color:#262729;border-color:#262729}.custom-theme .el-button--primary:focus,.custom-theme .el-button--primary:hover{background:#515254;border-color:#515254;color:#fff}.custom-theme .el-button--primary:active{background:#222325;border-color:#222325;color:#fff;outline:0}.custom-theme .el-button--primary.is-active{background:#222325;border-color:#222325;color:#fff}.custom-theme .el-button--primary.is-disabled,.custom-theme .el-button--primary.is-disabled:active,.custom-theme .el-button--primary.is-disabled:focus,.custom-theme .el-button--primary.is-disabled:hover{color:#fff;background-color:#939394;border-color:#939394}.custom-theme .el-button--primary.is-plain{color:#262729;background:#e9e9ea;border-color:#a8a9a9}.custom-theme .el-button--primary.is-plain:focus,.custom-theme .el-button--primary.is-plain:hover{background:#262729;border-color:#262729;color:#fff}.custom-theme .el-button--primary.is-plain:active{background:#222325;border-color:#222325;color:#fff;outline:0}.custom-theme .el-button--primary.is-plain.is-disabled,.custom-theme .el-button--primary.is-plain.is-disabled:active,.custom-theme .el-button--primary.is-plain.is-disabled:focus,.custom-theme .el-button--primary.is-plain.is-disabled:hover{color:#7d7d7f;background-color:#e9e9ea;border-color:#d4d4d4}.custom-theme .el-button--success{color:#fff;background-color:#409167;border-color:#409167}.custom-theme .el-button--success:focus,.custom-theme .el-button--success:hover{background:#66a785;border-color:#66a785;color:#fff}.custom-theme .el-button--success:active{background:#3a835d;border-color:#3a835d;color:#fff;outline:0}.custom-theme .el-button--success.is-active{background:#3a835d;border-color:#3a835d;color:#fff}.custom-theme .el-button--success.is-disabled,.custom-theme .el-button--success.is-disabled:active,.custom-theme .el-button--success.is-disabled:focus,.custom-theme .el-button--success.is-disabled:hover{color:#fff;background-color:#a0c8b3;border-color:#a0c8b3}.custom-theme .el-button--success.is-plain{color:#409167;background:#ecf4f0;border-color:#b3d3c2}.custom-theme .el-button--success.is-plain:focus,.custom-theme .el-button--success.is-plain:hover{background:#409167;border-color:#409167;color:#fff}.custom-theme .el-button--success.is-plain:active{background:#3a835d;border-color:#3a835d;color:#fff;outline:0}.custom-theme .el-button--success.is-plain.is-disabled,.custom-theme .el-button--success.is-plain.is-disabled:active,.custom-theme .el-button--success.is-plain.is-disabled:focus,.custom-theme .el-button--success.is-plain.is-disabled:hover{color:#8cbda4;background-color:#ecf4f0;border-color:#d9e9e1}.custom-theme .el-button--warning{color:#fff;background-color:#9da408;border-color:#9da408}.custom-theme .el-button--warning:focus,.custom-theme .el-button--warning:hover{background:#b1b639;border-color:#b1b639;color:#fff}.custom-theme .el-button--warning:active{background:#8d9407;border-color:#8d9407;color:#fff;outline:0}.custom-theme .el-button--warning.is-active{background:#8d9407;border-color:#8d9407;color:#fff}.custom-theme .el-button--warning.is-disabled,.custom-theme .el-button--warning.is-disabled:active,.custom-theme .el-button--warning.is-disabled:focus,.custom-theme .el-button--warning.is-disabled:hover{color:#fff;background-color:#ced284;border-color:#ced284}.custom-theme .el-button--warning.is-plain{color:#9da408;background:#f5f6e6;border-color:#d8db9c}.custom-theme .el-button--warning.is-plain:focus,.custom-theme .el-button--warning.is-plain:hover{background:#9da408;border-color:#9da408;color:#fff}.custom-theme .el-button--warning.is-plain:active{background:#8d9407;border-color:#8d9407;color:#fff;outline:0}.custom-theme .el-button--warning.is-plain.is-disabled,.custom-theme .el-button--warning.is-plain.is-disabled:active,.custom-theme .el-button--warning.is-plain.is-disabled:focus,.custom-theme .el-button--warning.is-plain.is-disabled:hover{color:#c4c86b;background-color:#f5f6e6;border-color:#ebedce}.custom-theme .el-button--danger{color:#fff;background-color:#b3450e;border-color:#b3450e}.custom-theme .el-button--danger:focus,.custom-theme .el-button--danger:hover{background:#c26a3e;border-color:#c26a3e;color:#fff}.custom-theme .el-button--danger:active{background:#a13e0d;border-color:#a13e0d;color:#fff;outline:0}.custom-theme .el-button--danger.is-active{background:#a13e0d;border-color:#a13e0d;color:#fff}.custom-theme .el-button--danger.is-disabled,.custom-theme .el-button--danger.is-disabled:active,.custom-theme .el-button--danger.is-disabled:focus,.custom-theme .el-button--danger.is-disabled:hover{color:#fff;background-color:#d9a287;border-color:#d9a287}.custom-theme .el-button--danger.is-plain{color:#b3450e;background:#f7ece7;border-color:#e1b59f}.custom-theme .el-button--danger.is-plain:focus,.custom-theme .el-button--danger.is-plain:hover{background:#b3450e;border-color:#b3450e;color:#fff}.custom-theme .el-button--danger.is-plain:active{background:#a13e0d;border-color:#a13e0d;color:#fff;outline:0}.custom-theme .el-button--danger.is-plain.is-disabled,.custom-theme .el-button--danger.is-plain.is-disabled:active,.custom-theme .el-button--danger.is-plain.is-disabled:focus,.custom-theme .el-button--danger.is-plain.is-disabled:hover{color:#d18f6e;background-color:#f7ece7;border-color:#f0dacf}.custom-theme .el-button--info{color:#fff;background-color:#0a76a4;border-color:#0a76a4}.custom-theme .el-button--info:focus,.custom-theme .el-button--info:hover{background:#3b91b6;border-color:#3b91b6;color:#fff}.custom-theme .el-button--info:active{background:#096a94;border-color:#096a94;color:#fff;outline:0}.custom-theme .el-button--info.is-active{background:#096a94;border-color:#096a94;color:#fff}.custom-theme .el-button--info.is-disabled,.custom-theme .el-button--info.is-disabled:active,.custom-theme .el-button--info.is-disabled:focus,.custom-theme .el-button--info.is-disabled:hover{color:#fff;background-color:#85bbd2;border-color:#85bbd2}.custom-theme .el-button--info.is-plain{color:#0a76a4;background:#e7f1f6;border-color:#9dc8db}.custom-theme .el-button--info.is-plain:focus,.custom-theme .el-button--info.is-plain:hover{background:#0a76a4;border-color:#0a76a4;color:#fff}.custom-theme .el-button--info.is-plain:active{background:#096a94;border-color:#096a94;color:#fff;outline:0}.custom-theme .el-button--info.is-plain.is-disabled,.custom-theme .el-button--info.is-plain.is-disabled:active,.custom-theme .el-button--info.is-plain.is-disabled:focus,.custom-theme .el-button--info.is-plain.is-disabled:hover{color:#6cadc8;background-color:#e7f1f6;border-color:#cee4ed}.custom-theme .el-button--medium{padding:10px 20px;font-size:14px;border-radius:4px}.custom-theme .el-button--medium.is-round{padding:10px 20px}.custom-theme .el-button--small{padding:9px 15px;font-size:12px;border-radius:3px}.custom-theme .el-button--small.is-round{padding:9px 15px}.custom-theme .el-button--mini{padding:7px 15px;font-size:12px;border-radius:3px}.custom-theme .el-button--mini.is-round{padding:7px 15px}.custom-theme .el-button--text{border:none;color:#262729;background:0 0;padding-left:0;padding-right:0}.custom-theme .el-button--text:focus,.custom-theme .el-button--text:hover{color:#515254;border-color:transparent;background-color:transparent}.custom-theme .el-button--text:active{color:#222325;border-color:transparent;background-color:transparent}.custom-theme .el-button-group{display:inline-block;vertical-align:middle}.custom-theme .el-button-group::after,.custom-theme .el-button-group::before{display:table;content:""}.custom-theme .el-button-group::after{clear:both}.custom-theme .el-button-group .el-button{float:left;position:relative}.custom-theme .el-button-group .el-button+.el-button{margin-left:0}.custom-theme .el-button-group .el-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.custom-theme .el-button-group .el-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.custom-theme .el-button-group .el-button:not(:first-child):not(:last-child){border-radius:0}.custom-theme .el-button-group .el-button:not(:last-child){margin-right:-1px}.custom-theme .el-button-group .el-button:active,.custom-theme .el-button-group .el-button:focus,.custom-theme .el-button-group .el-button:hover{z-index:1}.custom-theme .el-button-group .el-button.is-active{z-index:1}.custom-theme .el-button-group .el-button--primary:first-child{border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--primary:last-child{border-left-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--primary:not(:first-child):not(:last-child){border-left-color:rgba(255,255,255,.5);border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--success:first-child{border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--success:last-child{border-left-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--success:not(:first-child):not(:last-child){border-left-color:rgba(255,255,255,.5);border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--warning:first-child{border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--warning:last-child{border-left-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--warning:not(:first-child):not(:last-child){border-left-color:rgba(255,255,255,.5);border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--danger:first-child{border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--danger:last-child{border-left-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--danger:not(:first-child):not(:last-child){border-left-color:rgba(255,255,255,.5);border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--info:first-child{border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--info:last-child{border-left-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--info:not(:first-child):not(:last-child){border-left-color:rgba(255,255,255,.5);border-right-color:rgba(255,255,255,.5)}.custom-theme .el-popper .popper__arrow,.custom-theme .el-popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.custom-theme .el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.custom-theme .el-popper .popper__arrow::after{content:" ";border-width:6px}.custom-theme .el-popper[x-placement^=top]{margin-bottom:12px}.custom-theme .el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#e6ebf5;border-bottom-width:0}.custom-theme .el-popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-6px;border-top-color:#fff;border-bottom-width:0}.custom-theme .el-popper[x-placement^=bottom]{margin-top:12px}.custom-theme .el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#e6ebf5}.custom-theme .el-popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#fff}.custom-theme .el-popper[x-placement^=right]{margin-left:12px}.custom-theme .el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#e6ebf5;border-left-width:0}.custom-theme .el-popper[x-placement^=right] .popper__arrow::after{bottom:-6px;left:1px;border-right-color:#fff;border-left-width:0}.custom-theme .el-popper[x-placement^=left]{margin-right:12px}.custom-theme .el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#e6ebf5}.custom-theme .el-popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#fff}.custom-theme .el-dropdown{display:inline-block;position:relative;color:#5a5e66;font-size:14px}.custom-theme .el-dropdown .el-button-group{display:block}.custom-theme .el-dropdown .el-button-group .el-button{float:none}.custom-theme .el-dropdown .el-dropdown__caret-button{padding-left:5px;padding-right:5px;position:relative;border-left:none}.custom-theme .el-dropdown .el-dropdown__caret-button::before{content:'';position:absolute;display:block;width:1px;top:5px;bottom:5px;left:0;background:rgba(255,255,255,.5)}.custom-theme .el-dropdown .el-dropdown__caret-button:hover::before{top:0;bottom:0}.custom-theme .el-dropdown .el-dropdown__caret-button .el-dropdown__icon{padding-left:0}.custom-theme .el-dropdown__icon{font-size:12px;margin:0 3px}.custom-theme .el-dropdown-menu{position:absolute;top:0;left:0;z-index:10;padding:10px 0;margin:5px 0;background-color:#fff;border:1px solid #e6ebf5;border-radius:4px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.custom-theme .el-dropdown-menu__item{list-style:none;line-height:36px;padding:0 20px;margin:0;font-size:14px;color:#5a5e66;cursor:pointer}.custom-theme .el-dropdown-menu__item:not(.is-disabled):hover{background-color:#e9e9ea;color:#515254}.custom-theme .el-dropdown-menu__item--divided{position:relative;margin-top:6px;border-top:1px solid #e6ebf5}.custom-theme .el-dropdown-menu__item--divided:before{content:'';height:6px;display:block;margin:0 -20px;background-color:#fff}.custom-theme .el-dropdown-menu__item.is-disabled{cursor:default;color:#bbb;pointer-events:none}.custom-theme .el-dropdown-menu--medium{padding:6px 0}.custom-theme .el-dropdown-menu--medium .el-dropdown-menu__item{line-height:30px;padding:0 17px;font-size:14px}.custom-theme .el-dropdown-menu--medium .el-dropdown-menu__item.el-dropdown-menu__item--divided{margin-top:6px}.custom-theme .el-dropdown-menu--medium .el-dropdown-menu__item.el-dropdown-menu__item--divided:before{height:6px;margin:0 -17px}.custom-theme .el-dropdown-menu--small{padding:6px 0}.custom-theme .el-dropdown-menu--small .el-dropdown-menu__item{line-height:27px;padding:0 15px;font-size:13px}.custom-theme .el-dropdown-menu--small .el-dropdown-menu__item.el-dropdown-menu__item--divided{margin-top:4px}.custom-theme .el-dropdown-menu--small .el-dropdown-menu__item.el-dropdown-menu__item--divided:before{height:4px;margin:0 -15px}.custom-theme .el-dropdown-menu--mini{padding:3px 0}.custom-theme .el-dropdown-menu--mini .el-dropdown-menu__item{line-height:24px;padding:0 10px;font-size:12px}.custom-theme .el-dropdown-menu--mini .el-dropdown-menu__item.el-dropdown-menu__item--divided{margin-top:3px}.custom-theme .el-dropdown-menu--mini .el-dropdown-menu__item.el-dropdown-menu__item--divided:before{height:3px;margin:0 -10px}.custom-theme .el-menu{border-right:solid 1px #e6e6e6;list-style:none;position:relative;margin:0;padding-left:0;background-color:#fff}.custom-theme .el-menu::after,.custom-theme .el-menu::before{display:table;content:""}.custom-theme .el-menu::after{clear:both}.custom-theme .el-menu li{list-style:none}.custom-theme .el-menu--horizontal{border-right:none;border-bottom:solid 1px #e6e6e6}.custom-theme .el-menu--horizontal .el-menu-item{float:left;height:60px;line-height:60px;margin:0;cursor:pointer;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;border-bottom:2px solid transparent;color:#878d99}.custom-theme .el-menu--horizontal .el-menu-item a,.custom-theme .el-menu--horizontal .el-menu-item a:hover{color:inherit}.custom-theme .el-menu--horizontal .el-menu-item:focus,.custom-theme .el-menu--horizontal .el-menu-item:hover{background-color:#fff}.custom-theme .el-menu--horizontal .el-submenu{float:left;position:relative}.custom-theme .el-menu--horizontal .el-submenu:focus{outline:0}.custom-theme .el-menu--horizontal .el-submenu:focus>.el-submenu__title{color:#2d2f33}.custom-theme .el-menu--horizontal .el-submenu>.el-menu{position:absolute;top:65px;left:0;border:none;padding:5px 0;background-color:#fff;z-index:100;min-width:100%;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);border-radius:2px}.custom-theme .el-menu--horizontal .el-submenu .el-submenu__title{height:60px;line-height:60px;border-bottom:2px solid transparent;color:#878d99}.custom-theme .el-menu--horizontal .el-submenu .el-submenu__title:hover{background-color:#fff}.custom-theme .el-menu--horizontal .el-submenu .el-menu-item{background-color:#fff;float:none;height:36px;line-height:36px;padding:0 10px}.custom-theme .el-menu--horizontal .el-submenu .el-submenu__icon-arrow{position:static;vertical-align:middle;margin-left:8px;margin-top:-3px}.custom-theme .el-menu--horizontal .el-menu-item:focus,.custom-theme .el-menu--horizontal .el-menu-item:hover,.custom-theme .el-menu--horizontal .el-submenu__title:hover{outline:0;color:#2d2f33}.custom-theme .el-menu--horizontal>.el-menu-item.is-active,.custom-theme .el-menu--horizontal>.el-submenu.is-active .el-submenu__title{border-bottom:2px solid #262729;color:#2d2f33}.custom-theme .el-menu--collapse{width:64px}.custom-theme .el-menu--collapse>.el-menu-item [class^=el-icon-],.custom-theme .el-menu--collapse>.el-submenu>.el-submenu__title [class^=el-icon-]{margin:0;vertical-align:middle;width:24px;text-align:center}.custom-theme .el-menu--collapse>.el-menu-item .el-submenu__icon-arrow,.custom-theme .el-menu--collapse>.el-submenu>.el-submenu__title .el-submenu__icon-arrow{display:none}.custom-theme .el-menu--collapse>.el-menu-item span,.custom-theme .el-menu--collapse>.el-submenu>.el-submenu__title span{height:0;width:0;overflow:hidden;visibility:hidden;display:inline-block}.custom-theme .el-menu--collapse>.el-menu-item.is-active i{color:inherit}.custom-theme .el-menu--collapse .el-menu .el-submenu{min-width:200px}.custom-theme .el-menu--collapse .el-submenu{position:relative}.custom-theme .el-menu--collapse .el-submenu .el-menu{position:absolute;margin-left:5px;top:0;left:100%;z-index:10;border:1px solid #dfe4ed;border-radius:2px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.custom-theme .el-menu--collapse .el-submenu.is-opened>.el-submenu__title .el-submenu__icon-arrow{-webkit-transform:none;transform:none}.custom-theme .el-menu-item{height:56px;line-height:56px;font-size:14px;color:#2d2f33;padding:0 20px;cursor:pointer;position:relative;-webkit-transition:border-color .3s,background-color .3s,color .3s;transition:border-color .3s,background-color .3s,color .3s;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap}.custom-theme .el-menu-item [class^=el-icon-]{margin-right:5px;width:24px;text-align:center;font-size:18px}.custom-theme .el-menu-item *{vertical-align:middle}.custom-theme .el-menu-item:first-child{margin-left:0}.custom-theme .el-menu-item:last-child{margin-right:0}.custom-theme .el-menu-item:focus,.custom-theme .el-menu-item:hover{outline:0;background-color:#e9e9ea}.custom-theme .el-menu-item i{color:#878d99}.custom-theme .el-menu-item.is-active{color:#262729}.custom-theme .el-menu-item.is-active i{color:inherit}.custom-theme .el-submenu__title{position:relative;height:56px;line-height:56px;font-size:14px;color:#2d2f33;padding:0 20px;cursor:pointer;position:relative;-webkit-transition:border-color .3s,background-color .3s,color .3s;transition:border-color .3s,background-color .3s,color .3s;-webkit-box-sizing:border-box;box-sizing:border-box;white-space:nowrap}.custom-theme .el-submenu__title *{vertical-align:middle}.custom-theme .el-submenu__title i{color:#878d99}.custom-theme .el-submenu__title:hover{background-color:#e9e9ea}.custom-theme .el-submenu .el-menu{border:none}.custom-theme .el-submenu .el-menu-item{height:50px;line-height:50px;padding:0 45px;min-width:200px}.custom-theme .el-submenu__icon-arrow{position:absolute;top:50%;right:20px;margin-top:-7px;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;font-size:12px}.custom-theme .el-submenu.is-active .el-submenu__title{border-bottom-color:#262729}.custom-theme .el-submenu.is-opened>.el-submenu__title .el-submenu__icon-arrow{-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg)}.custom-theme .el-submenu [class^=el-icon-]{vertical-align:middle;margin-right:5px;width:24px;text-align:center;font-size:18px}.custom-theme .el-menu-item-group>ul{padding:0}.custom-theme .el-menu-item-group__title{padding:7px 0 7px 20px;line-height:normal;font-size:12px;color:#878d99}.custom-theme .horizontal-collapse-transition .el-submenu__title .el-submenu__icon-arrow{-webkit-transition:.2s;transition:.2s;opacity:0}.custom-theme .el-input{position:relative;font-size:14px;display:inline-block;width:100%}.custom-theme .el-input::-webkit-scrollbar{z-index:11;width:6px}.custom-theme .el-input::-webkit-scrollbar:horizontal{height:6px}.custom-theme .el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.custom-theme .el-input::-webkit-scrollbar-corner{background:#fff}.custom-theme .el-input::-webkit-scrollbar-track{background:#fff}.custom-theme .el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.custom-theme .el-input__inner{-webkit-appearance:none;background-color:#fff;background-image:none;border-radius:4px;border:1px solid #d8dce5;-webkit-box-sizing:border-box;box-sizing:border-box;color:#5a5e66;display:inline-block;font-size:inherit;height:40px;line-height:1;outline:0;padding:0 15px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.custom-theme .el-input__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner::placeholder{color:#b4bccc}.custom-theme .el-input__inner:hover{border-color:#b4bccc}.custom-theme .el-input__inner:focus{outline:0;border-color:#262729}.custom-theme .el-input__suffix{position:absolute;height:100%;right:5px;top:0;text-align:center;color:#b4bccc;-webkit-transition:all .3s;transition:all .3s;pointer-events:none}.custom-theme .el-input__suffix-inner{pointer-events:all}.custom-theme .el-input__prefix{position:absolute;height:100%;left:5px;top:0;text-align:center;color:#b4bccc;-webkit-transition:all .3s;transition:all .3s}.custom-theme .el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.custom-theme .el-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.custom-theme .el-input__validateIcon{pointer-events:none}.custom-theme .el-input.is-active .el-input__inner{outline:0;border-color:#262729}.custom-theme .el-input.is-disabled .el-input__inner{background-color:#f5f7fa;border-color:#dfe4ed;color:#b4bccc;cursor:not-allowed}.custom-theme .el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner::placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__icon{cursor:not-allowed}.custom-theme .el-input--suffix .el-input__inner{padding-right:30px}.custom-theme .el-input--prefix .el-input__inner{padding-left:30px}.custom-theme .el-input--medium{font-size:14px}.custom-theme .el-input--medium .el-input__inner{height:36px}.custom-theme .el-input--medium .el-input__icon{line-height:36px}.custom-theme .el-input--small{font-size:13px}.custom-theme .el-input--small .el-input__inner{height:32px}.custom-theme .el-input--small .el-input__icon{line-height:32px}.custom-theme .el-input--mini{font-size:12px}.custom-theme .el-input--mini .el-input__inner{height:28px}.custom-theme .el-input--mini .el-input__icon{line-height:28px}.custom-theme .el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate}.custom-theme .el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.custom-theme .el-input-group__append,.custom-theme .el-input-group__prepend{background-color:#f5f7fa;color:#0a76a4;vertical-align:middle;display:table-cell;position:relative;border:1px solid #d8dce5;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.custom-theme .el-input-group__append:focus,.custom-theme .el-input-group__prepend:focus{outline:0}.custom-theme .el-input-group__append .el-button,.custom-theme .el-input-group__append .el-select,.custom-theme .el-input-group__prepend .el-button,.custom-theme .el-input-group__prepend .el-select{display:inline-block;margin:-20px}.custom-theme .el-input-group__append button.el-button,.custom-theme .el-input-group__append div.el-select .el-input__inner,.custom-theme .el-input-group__append div.el-select:hover .el-input__inner,.custom-theme .el-input-group__prepend button.el-button,.custom-theme .el-input-group__prepend div.el-select .el-input__inner,.custom-theme .el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.custom-theme .el-input-group__append .el-button,.custom-theme .el-input-group__append .el-input,.custom-theme .el-input-group__prepend .el-button,.custom-theme .el-input-group__prepend .el-input{font-size:inherit}.custom-theme .el-input-group__prepend{border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.custom-theme .el-input-group__append{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.custom-theme .el-input-group--prepend .el-input__inner{border-top-left-radius:0;border-bottom-left-radius:0}.custom-theme .el-input-group--append .el-input__inner{border-top-right-radius:0;border-bottom-right-radius:0}.custom-theme .el-textarea{display:inline-block;width:100%;vertical-align:bottom}.custom-theme .el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;font-size:14px;color:#5a5e66;background-color:#fff;background-image:none;border:1px solid #d8dce5;border-radius:4px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.custom-theme .el-textarea__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner::placeholder{color:#b4bccc}.custom-theme .el-textarea__inner:hover{border-color:#b4bccc}.custom-theme .el-textarea__inner:focus{outline:0;border-color:#262729}.custom-theme .el-textarea.is-disabled .el-textarea__inner{background-color:#f5f7fa;border-color:#dfe4ed;color:#b4bccc;cursor:not-allowed}.custom-theme .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner::placeholder{color:#b4bccc}.custom-theme .el-input{position:relative;font-size:14px;display:inline-block;width:100%}.custom-theme .el-input::-webkit-scrollbar{z-index:11;width:6px}.custom-theme .el-input::-webkit-scrollbar:horizontal{height:6px}.custom-theme .el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.custom-theme .el-input::-webkit-scrollbar-corner{background:#fff}.custom-theme .el-input::-webkit-scrollbar-track{background:#fff}.custom-theme .el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.custom-theme .el-input__inner{-webkit-appearance:none;background-color:#fff;background-image:none;border-radius:4px;border:1px solid #d8dce5;-webkit-box-sizing:border-box;box-sizing:border-box;color:#5a5e66;display:inline-block;font-size:inherit;height:40px;line-height:1;outline:0;padding:0 15px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.custom-theme .el-input__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner::placeholder{color:#b4bccc}.custom-theme .el-input__inner:hover{border-color:#b4bccc}.custom-theme .el-input__inner:focus{outline:0;border-color:#262729}.custom-theme .el-input__suffix{position:absolute;height:100%;right:5px;top:0;text-align:center;color:#b4bccc;-webkit-transition:all .3s;transition:all .3s;pointer-events:none}.custom-theme .el-input__suffix-inner{pointer-events:all}.custom-theme .el-input__prefix{position:absolute;height:100%;left:5px;top:0;text-align:center;color:#b4bccc;-webkit-transition:all .3s;transition:all .3s}.custom-theme .el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.custom-theme .el-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.custom-theme .el-input__validateIcon{pointer-events:none}.custom-theme .el-input.is-active .el-input__inner{outline:0;border-color:#262729}.custom-theme .el-input.is-disabled .el-input__inner{background-color:#f5f7fa;border-color:#dfe4ed;color:#b4bccc;cursor:not-allowed}.custom-theme .el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner::placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__icon{cursor:not-allowed}.custom-theme .el-input--suffix .el-input__inner{padding-right:30px}.custom-theme .el-input--prefix .el-input__inner{padding-left:30px}.custom-theme .el-input--medium{font-size:14px}.custom-theme .el-input--medium .el-input__inner{height:36px}.custom-theme .el-input--medium .el-input__icon{line-height:36px}.custom-theme .el-input--small{font-size:13px}.custom-theme .el-input--small .el-input__inner{height:32px}.custom-theme .el-input--small .el-input__icon{line-height:32px}.custom-theme .el-input--mini{font-size:12px}.custom-theme .el-input--mini .el-input__inner{height:28px}.custom-theme .el-input--mini .el-input__icon{line-height:28px}.custom-theme .el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate}.custom-theme .el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.custom-theme .el-input-group__append,.custom-theme .el-input-group__prepend{background-color:#f5f7fa;color:#0a76a4;vertical-align:middle;display:table-cell;position:relative;border:1px solid #d8dce5;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.custom-theme .el-input-group__append:focus,.custom-theme .el-input-group__prepend:focus{outline:0}.custom-theme .el-input-group__append .el-button,.custom-theme .el-input-group__append .el-select,.custom-theme .el-input-group__prepend .el-button,.custom-theme .el-input-group__prepend .el-select{display:inline-block;margin:-20px}.custom-theme .el-input-group__append button.el-button,.custom-theme .el-input-group__append div.el-select .el-input__inner,.custom-theme .el-input-group__append div.el-select:hover .el-input__inner,.custom-theme .el-input-group__prepend button.el-button,.custom-theme .el-input-group__prepend div.el-select .el-input__inner,.custom-theme .el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.custom-theme .el-input-group__append .el-button,.custom-theme .el-input-group__append .el-input,.custom-theme .el-input-group__prepend .el-button,.custom-theme .el-input-group__prepend .el-input{font-size:inherit}.custom-theme .el-input-group__prepend{border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.custom-theme .el-input-group__append{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.custom-theme .el-input-group--prepend .el-input__inner{border-top-left-radius:0;border-bottom-left-radius:0}.custom-theme .el-input-group--append .el-input__inner{border-top-right-radius:0;border-bottom-right-radius:0}.custom-theme .el-textarea{display:inline-block;width:100%;vertical-align:bottom}.custom-theme .el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;font-size:14px;color:#5a5e66;background-color:#fff;background-image:none;border:1px solid #d8dce5;border-radius:4px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.custom-theme .el-textarea__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner::placeholder{color:#b4bccc}.custom-theme .el-textarea__inner:hover{border-color:#b4bccc}.custom-theme .el-textarea__inner:focus{outline:0;border-color:#262729}.custom-theme .el-textarea.is-disabled .el-textarea__inner{background-color:#f5f7fa;border-color:#dfe4ed;color:#b4bccc;cursor:not-allowed}.custom-theme .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner::placeholder{color:#b4bccc}.custom-theme .el-input-number{position:relative;display:inline-block;width:180px;line-height:38px}.custom-theme .el-input-number .el-input{display:block}.custom-theme .el-input-number .el-input__inner{-webkit-appearance:none;padding-left:50px;padding-right:50px;text-align:center}.custom-theme .el-input-number__decrease,.custom-theme .el-input-number__increase{position:absolute;z-index:1;top:1px;width:40px;height:auto;text-align:center;background:#f5f7fa;color:#5a5e66;cursor:pointer;font-size:13px}.custom-theme .el-input-number__decrease:hover,.custom-theme .el-input-number__increase:hover{color:#262729}.custom-theme .el-input-number__decrease:hover:not(.is-disabled)~.el-input .el-input__inner:not(.is-disabled),.custom-theme .el-input-number__increase:hover:not(.is-disabled)~.el-input .el-input__inner:not(.is-disabled){border-color:#262729}.custom-theme .el-input-number__decrease.is-disabled,.custom-theme .el-input-number__increase.is-disabled{color:#b4bccc;cursor:not-allowed}.custom-theme .el-input-number__increase{right:1px;border-radius:0 4px 4px 0;border-left:1px solid #d8dce5}.custom-theme .el-input-number__decrease{left:1px;border-radius:4px 0 0 4px;border-right:1px solid #d8dce5}.custom-theme .el-input-number.is-disabled .el-input-number__decrease,.custom-theme .el-input-number.is-disabled .el-input-number__increase{border-color:#dfe4ed;color:#dfe4ed}.custom-theme .el-input-number.is-disabled .el-input-number__decrease:hover,.custom-theme .el-input-number.is-disabled .el-input-number__increase:hover{color:#dfe4ed;cursor:not-allowed}.custom-theme .el-input-number--medium{width:200px;line-height:34px}.custom-theme .el-input-number--medium .el-input-number__decrease,.custom-theme .el-input-number--medium .el-input-number__increase{width:36px;font-size:14px}.custom-theme .el-input-number--medium .el-input__inner{padding-left:43px;padding-right:43px}.custom-theme .el-input-number--small{width:130px;line-height:30px}.custom-theme .el-input-number--small .el-input-number__decrease,.custom-theme .el-input-number--small .el-input-number__increase{width:32px;font-size:13px}.custom-theme .el-input-number--small .el-input-number__decrease [class*=el-icon],.custom-theme .el-input-number--small .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.9);transform:scale(.9)}.custom-theme .el-input-number--small .el-input__inner{padding-left:39px;padding-right:39px}.custom-theme .el-input-number--mini{width:130px;line-height:26px}.custom-theme .el-input-number--mini .el-input-number__decrease,.custom-theme .el-input-number--mini .el-input-number__increase{width:28px;font-size:12px}.custom-theme .el-input-number--mini .el-input-number__decrease [class*=el-icon],.custom-theme .el-input-number--mini .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.8);transform:scale(.8)}.custom-theme .el-input-number--mini .el-input__inner{padding-left:35px;padding-right:35px}.custom-theme .el-input-number.is-without-controls .el-input__inner{padding-left:15px;padding-right:15px}.custom-theme .el-input-number.is-controls-right .el-input__inner{padding-left:15px;padding-right:50px}.custom-theme .el-input-number.is-controls-right .el-input-number__decrease,.custom-theme .el-input-number.is-controls-right .el-input-number__increase{height:auto;line-height:19px}.custom-theme .el-input-number.is-controls-right .el-input-number__decrease [class*=el-icon],.custom-theme .el-input-number.is-controls-right .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.8);transform:scale(.8)}.custom-theme .el-input-number.is-controls-right .el-input-number__increase{border-radius:0 4px 0 0;border-bottom:1px solid #d8dce5}.custom-theme .el-input-number.is-controls-right .el-input-number__decrease{right:1px;bottom:1px;top:auto;left:auto;border-right:none;border-left:1px solid #d8dce5;border-radius:0 0 4px 0}.custom-theme .el-input-number.is-controls-right[class*=medium] [class*=decrease],.custom-theme .el-input-number.is-controls-right[class*=medium] [class*=increase]{line-height:17px}.custom-theme .el-input-number.is-controls-right[class*=small] [class*=decrease],.custom-theme .el-input-number.is-controls-right[class*=small] [class*=increase]{line-height:15px}.custom-theme .el-input-number.is-controls-right[class*=mini] [class*=decrease],.custom-theme .el-input-number.is-controls-right[class*=mini] [class*=increase]{line-height:13px}.custom-theme .el-radio{color:#5a5e66;font-weight:500;line-height:1;position:relative;cursor:pointer;display:inline-block;white-space:nowrap;outline:0;font-size:14px;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none}.custom-theme .el-radio.is-bordered{padding:10px 20px 10px 10px;border-radius:4px;border:1px solid #d8dce5}.custom-theme .el-radio.is-bordered.is-checked{border-color:#262729}.custom-theme .el-radio.is-bordered.is-disabled{cursor:not-allowed;border-color:#e6ebf5}.custom-theme .el-radio.is-bordered+.el-radio.is-bordered{margin-left:10px}.custom-theme .el-radio--medium.is-bordered{padding:8px 20px 8px 10px;border-radius:4px}.custom-theme .el-radio--medium.is-bordered .el-radio__label{font-size:14px}.custom-theme .el-radio--medium.is-bordered .el-radio__inner{height:14px;width:14px}.custom-theme .el-radio--small.is-bordered{padding:6px 15px 6px 10px;border-radius:3px}.custom-theme .el-radio--small.is-bordered .el-radio__label{font-size:12px}.custom-theme .el-radio--small.is-bordered .el-radio__inner{height:12px;width:12px}.custom-theme .el-radio--mini.is-bordered{padding:4px 15px 4px 10px;border-radius:3px}.custom-theme .el-radio--mini.is-bordered .el-radio__label{font-size:12px}.custom-theme .el-radio--mini.is-bordered .el-radio__inner{height:12px;width:12px}.custom-theme .el-radio+.el-radio{margin-left:30px}.custom-theme .el-radio__input{white-space:nowrap;cursor:pointer;outline:0;display:inline-block;line-height:1;position:relative;vertical-align:middle}.custom-theme .el-radio__input.is-disabled .el-radio__inner{background-color:#f5f7fa;border-color:#dfe4ed;cursor:not-allowed}.custom-theme .el-radio__input.is-disabled .el-radio__inner::after{cursor:not-allowed;background-color:#f5f7fa}.custom-theme .el-radio__input.is-disabled .el-radio__inner+.el-radio__label{cursor:not-allowed}.custom-theme .el-radio__input.is-disabled.is-checked .el-radio__inner{background-color:#f5f7fa;border-color:#dfe4ed}.custom-theme .el-radio__input.is-disabled.is-checked .el-radio__inner::after{background-color:#b4bccc}.custom-theme .el-radio__input.is-disabled+span.el-radio__label{color:#b4bccc;cursor:not-allowed}.custom-theme .el-radio__input.is-checked .el-radio__inner{border-color:#262729;background:#262729}.custom-theme .el-radio__input.is-checked .el-radio__inner::after{-webkit-transform:translate(-50%,-50%) scale(1);transform:translate(-50%,-50%) scale(1)}.custom-theme .el-radio__input.is-checked+.el-radio__label{color:#262729}.custom-theme .el-radio__input.is-focus .el-radio__inner{border-color:#262729}.custom-theme .el-radio__inner{border:1px solid #d8dce5;border-radius:100%;width:14px;height:14px;background-color:#fff;position:relative;cursor:pointer;display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box}.custom-theme .el-radio__inner:hover{border-color:#262729}.custom-theme .el-radio__inner::after{width:4px;height:4px;border-radius:100%;background-color:#fff;content:"";position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%) scale(0);transform:translate(-50%,-50%) scale(0);-webkit-transition:-webkit-transform .15s cubic-bezier(.71,-.46,.88,.6);transition:-webkit-transform .15s cubic-bezier(.71,-.46,.88,.6);transition:transform .15s cubic-bezier(.71,-.46,.88,.6);transition:transform .15s cubic-bezier(.71,-.46,.88,.6),-webkit-transform .15s cubic-bezier(.71,-.46,.88,.6)}.custom-theme .el-radio__original{opacity:0;outline:0;position:absolute;z-index:-1;top:0;left:0;right:0;bottom:0;margin:0}.custom-theme .el-radio:focus:not(.is-focus):not(:active) .el-radio__inner{-webkit-box-shadow:0 0 2px 2px #262729;box-shadow:0 0 2px 2px #262729}.custom-theme .el-radio__label{font-size:14px;padding-left:10px}.custom-theme .el-radio-group{display:inline-block;line-height:1;vertical-align:middle;font-size:0}.custom-theme .el-radio-button{position:relative;display:inline-block;outline:0}.custom-theme .el-radio-button__inner{display:inline-block;line-height:1;white-space:nowrap;vertical-align:middle;background:#fff;border:1px solid #d8dce5;font-weight:500;border-left:0;color:#5a5e66;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;position:relative;cursor:pointer;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);padding:12px 20px;font-size:14px;border-radius:0}.custom-theme .el-radio-button__inner.is-round{padding:12px 20px}.custom-theme .el-radio-button__inner:hover{color:#262729}.custom-theme .el-radio-button__inner [class*=el-icon-]{line-height:.9}.custom-theme .el-radio-button__inner [class*=el-icon-]+span{margin-left:5px}.custom-theme .el-radio-button__orig-radio{opacity:0;outline:0;position:absolute;z-index:-1;left:-999px}.custom-theme .el-radio-button__orig-radio:checked+.el-radio-button__inner{color:#fff;background-color:#262729;border-color:#262729;-webkit-box-shadow:-1px 0 0 0 #262729;box-shadow:-1px 0 0 0 #262729}.custom-theme .el-radio-button__orig-radio:disabled+.el-radio-button__inner{color:#b4bccc;cursor:not-allowed;background-image:none;background-color:#fff;border-color:#e6ebf5;-webkit-box-shadow:none;box-shadow:none}.custom-theme .el-radio-button__orig-radio:disabled:checked+.el-radio-button__inner{background-color:#edf2fc}.custom-theme .el-radio-button:first-child .el-radio-button__inner{border-left:1px solid #d8dce5;border-radius:4px 0 0 4px;-webkit-box-shadow:none!important;box-shadow:none!important}.custom-theme .el-radio-button:last-child .el-radio-button__inner{border-radius:0 4px 4px 0}.custom-theme .el-radio-button:first-child:last-child .el-radio-button__inner{border-radius:4px}.custom-theme .el-radio-button--medium .el-radio-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.custom-theme .el-radio-button--medium .el-radio-button__inner.is-round{padding:10px 20px}.custom-theme .el-radio-button--small .el-radio-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.custom-theme .el-radio-button--small .el-radio-button__inner.is-round{padding:9px 15px}.custom-theme .el-radio-button--mini .el-radio-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.custom-theme .el-radio-button--mini .el-radio-button__inner.is-round{padding:7px 15px}.custom-theme .el-radio-button:focus:not(.is-focus):not(:active){-webkit-box-shadow:0 0 2px 2px #262729;box-shadow:0 0 2px 2px #262729}.custom-theme .el-checkbox{color:#5a5e66;font-weight:500;font-size:14px;position:relative;cursor:pointer;display:inline-block;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.custom-theme .el-checkbox.is-bordered{padding:9px 20px 9px 10px;border-radius:4px;border:1px solid #d8dce5}.custom-theme .el-checkbox.is-bordered.is-checked{border-color:#262729}.custom-theme .el-checkbox.is-bordered.is-disabled{border-color:#e6ebf5;cursor:not-allowed}.custom-theme .el-checkbox.is-bordered+.el-checkbox.is-bordered{margin-left:10px}.custom-theme .el-checkbox.is-bordered.el-checkbox--medium{padding:7px 20px 7px 10px;border-radius:4px}.custom-theme .el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label{line-height:17px;font-size:14px}.custom-theme .el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner{height:14px;width:14px}.custom-theme .el-checkbox.is-bordered.el-checkbox--small{padding:3px 15px 7px 10px;border-radius:3px}.custom-theme .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{line-height:15px;font-size:12px}.custom-theme .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.custom-theme .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after{height:6px;width:2px}.custom-theme .el-checkbox.is-bordered.el-checkbox--mini{padding:1px 15px 5px 10px;border-radius:3px}.custom-theme .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label{line-height:12px;font-size:12px}.custom-theme .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner{height:12px;width:12px}.custom-theme .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after{height:6px;width:2px}.custom-theme .el-checkbox__input{white-space:nowrap;cursor:pointer;outline:0;display:inline-block;line-height:1;position:relative;vertical-align:middle}.custom-theme .el-checkbox__input.is-disabled .el-checkbox__inner{background-color:#edf2fc;border-color:#d8dce5;cursor:not-allowed}.custom-theme .el-checkbox__input.is-disabled .el-checkbox__inner::after{cursor:not-allowed;border-color:#b4bccc}.custom-theme .el-checkbox__input.is-disabled .el-checkbox__inner+.el-checkbox__label{cursor:not-allowed}.custom-theme .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:#edf2fc;border-color:#d8dce5}.custom-theme .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after{border-color:#b4bccc}.custom-theme .el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:#edf2fc;border-color:#d8dce5}.custom-theme .el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before{background-color:#b4bccc;border-color:#b4bccc}.custom-theme .el-checkbox__input.is-disabled+span.el-checkbox__label{color:#b4bccc;cursor:not-allowed}.custom-theme .el-checkbox__input.is-checked .el-checkbox__inner{background-color:#262729;border-color:#262729}.custom-theme .el-checkbox__input.is-checked .el-checkbox__inner::after{-webkit-transform:rotate(45deg) scaleY(1);transform:rotate(45deg) scaleY(1)}.custom-theme .el-checkbox__input.is-checked+.el-checkbox__label{color:#262729}.custom-theme .el-checkbox__input.is-focus .el-checkbox__inner{border-color:#262729}.custom-theme .el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:#262729;border-color:#262729}.custom-theme .el-checkbox__input.is-indeterminate .el-checkbox__inner::before{content:'';position:absolute;display:block;background-color:#fff;height:2px;-webkit-transform:scale(.5);transform:scale(.5);left:0;right:0;top:5px}.custom-theme .el-checkbox__input.is-indeterminate .el-checkbox__inner::after{display:none}.custom-theme .el-checkbox__inner{display:inline-block;position:relative;border:1px solid #d8dce5;border-radius:2px;-webkit-box-sizing:border-box;box-sizing:border-box;width:14px;height:14px;background-color:#fff;z-index:1;-webkit-transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46);transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.custom-theme .el-checkbox__inner:hover{border-color:#262729}.custom-theme .el-checkbox__inner::after{-webkit-box-sizing:content-box;box-sizing:content-box;content:"";border:1px solid #fff;border-left:0;border-top:0;height:7px;left:4px;position:absolute;top:1px;-webkit-transform:rotate(45deg) scaleY(0);transform:rotate(45deg) scaleY(0);width:3px;-webkit-transition:-webkit-transform .15s cubic-bezier(.71,-.46,.88,.6) 50ms;transition:-webkit-transform .15s cubic-bezier(.71,-.46,.88,.6) 50ms;transition:transform .15s cubic-bezier(.71,-.46,.88,.6) 50ms;transition:transform .15s cubic-bezier(.71,-.46,.88,.6) 50ms,-webkit-transform .15s cubic-bezier(.71,-.46,.88,.6) 50ms;-webkit-transform-origin:center;transform-origin:center}.custom-theme .el-checkbox__original{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;left:-999px}.custom-theme .el-checkbox__label{display:inline-block;padding-left:10px;line-height:19px;font-size:14px}.custom-theme .el-checkbox+.el-checkbox{margin-left:30px}.custom-theme .el-checkbox-button{position:relative;display:inline-block}.custom-theme .el-checkbox-button__inner{display:inline-block;line-height:1;font-weight:500;white-space:nowrap;vertical-align:middle;cursor:pointer;background:#fff;border:1px solid #d8dce5;border-left:0;color:#5a5e66;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;position:relative;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;padding:12px 20px;font-size:14px;border-radius:0}.custom-theme .el-checkbox-button__inner.is-round{padding:12px 20px}.custom-theme .el-checkbox-button__inner:hover{color:#262729}.custom-theme .el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.custom-theme .el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.custom-theme .el-checkbox-button__original{opacity:0;outline:0;position:absolute;margin:0;left:-999px}.custom-theme .el-checkbox-button.is-checked .el-checkbox-button__inner{color:#fff;background-color:#262729;border-color:#262729;-webkit-box-shadow:-1px 0 0 0 #7d7d7f;box-shadow:-1px 0 0 0 #7d7d7f}.custom-theme .el-checkbox-button.is-disabled .el-checkbox-button__inner{color:#b4bccc;cursor:not-allowed;background-image:none;background-color:#fff;border-color:#e6ebf5;-webkit-box-shadow:none;box-shadow:none}.custom-theme .el-checkbox-button:first-child .el-checkbox-button__inner{border-left:1px solid #d8dce5;border-radius:4px 0 0 4px;-webkit-box-shadow:none!important;box-shadow:none!important}.custom-theme .el-checkbox-button.is-focus .el-checkbox-button__inner{border-color:#262729}.custom-theme .el-checkbox-button:last-child .el-checkbox-button__inner{border-radius:0 4px 4px 0}.custom-theme .el-checkbox-button--medium .el-checkbox-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.custom-theme .el-checkbox-button--medium .el-checkbox-button__inner.is-round{padding:10px 20px}.custom-theme .el-checkbox-button--small .el-checkbox-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.custom-theme .el-checkbox-button--small .el-checkbox-button__inner.is-round{padding:9px 15px}.custom-theme .el-checkbox-button--mini .el-checkbox-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.custom-theme .el-checkbox-button--mini .el-checkbox-button__inner.is-round{padding:7px 15px}.custom-theme .el-checkbox-group{font-size:0}.custom-theme .el-switch{display:inline-block;position:relative;font-size:14px;line-height:20px;height:20px;vertical-align:middle}.custom-theme .el-switch.is-disabled .el-switch__core,.custom-theme .el-switch.is-disabled .el-switch__label{cursor:not-allowed}.custom-theme .el-switch__label{-webkit-transition:.2s;transition:.2s;height:20px;display:inline-block;font-size:14px;font-weight:500;cursor:pointer;vertical-align:middle;color:#2d2f33}.custom-theme .el-switch__label.is-active{color:#262729}.custom-theme .el-switch__label--left{margin-right:10px}.custom-theme .el-switch__label--right{margin-left:10px}.custom-theme .el-switch__label *{line-height:1;font-size:14px;display:inline-block}.custom-theme .el-switch__input{position:absolute;width:0;height:0;opacity:0;margin:0}.custom-theme .el-switch__input:focus~.el-switch__core{outline:1px solid #262729}.custom-theme .el-switch__core{margin:0;display:inline-block;position:relative;width:40px;height:20px;border:1px solid #d8dce5;outline:0;border-radius:10px;-webkit-box-sizing:border-box;box-sizing:border-box;background:#d8dce5;cursor:pointer;-webkit-transition:border-color .3s,background-color .3s;transition:border-color .3s,background-color .3s;vertical-align:middle}.custom-theme .el-switch__core .el-switch__button{position:absolute;top:1px;left:1px;border-radius:100%;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;width:16px;height:16px;background-color:#fff}.custom-theme .el-switch.is-checked .el-switch__core{border-color:#262729;background-color:#262729}.custom-theme .el-switch.is-disabled{opacity:.6}.custom-theme .el-switch--wide .el-switch__label.el-switch__label--left span{left:10px}.custom-theme .el-switch--wide .el-switch__label.el-switch__label--right span{right:10px}.custom-theme .el-switch .label-fade-enter,.custom-theme .el-switch .label-fade-leave-active{opacity:0}.custom-theme .el-popper .popper__arrow,.custom-theme .el-popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.custom-theme .el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.custom-theme .el-popper .popper__arrow::after{content:" ";border-width:6px}.custom-theme .el-popper[x-placement^=top]{margin-bottom:12px}.custom-theme .el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#e6ebf5;border-bottom-width:0}.custom-theme .el-popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-6px;border-top-color:#fff;border-bottom-width:0}.custom-theme .el-popper[x-placement^=bottom]{margin-top:12px}.custom-theme .el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#e6ebf5}.custom-theme .el-popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#fff}.custom-theme .el-popper[x-placement^=right]{margin-left:12px}.custom-theme .el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#e6ebf5;border-left-width:0}.custom-theme .el-popper[x-placement^=right] .popper__arrow::after{bottom:-6px;left:1px;border-right-color:#fff;border-left-width:0}.custom-theme .el-popper[x-placement^=left]{margin-right:12px}.custom-theme .el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#e6ebf5}.custom-theme .el-popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#fff}.custom-theme .el-select-dropdown{position:absolute;z-index:1001;border:solid 1px #dfe4ed;border-radius:4px;background-color:#fff;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);-webkit-box-sizing:border-box;box-sizing:border-box;margin:5px 0}.custom-theme .el-select-dropdown.is-multiple .el-select-dropdown__item.selected{color:#262729;background-color:#fff}.custom-theme .el-select-dropdown.is-multiple .el-select-dropdown__item.selected.hover{background-color:#f5f7fa}.custom-theme .el-select-dropdown.is-multiple .el-select-dropdown__item.selected::after{position:absolute;right:20px;font-family:element-icons;content:"\E611";font-size:12px;font-weight:700;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.custom-theme .el-select-dropdown .el-scrollbar.is-empty .el-select-dropdown__list{padding:0}.custom-theme .el-select-dropdown .popper__arrow{-webkit-transform:translateX(-400%);transform:translateX(-400%)}.custom-theme .el-select-dropdown.is-arrow-fixed .popper__arrow{-webkit-transform:translateX(-200%);transform:translateX(-200%)}.custom-theme .el-select-dropdown__empty{padding:10px 0;margin:0;text-align:center;color:#999;font-size:14px}.custom-theme .el-select-dropdown__wrap{max-height:274px}.custom-theme .el-select-dropdown__list{list-style:none;padding:6px 0;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box}.custom-theme .el-input{position:relative;font-size:14px;display:inline-block;width:100%}.custom-theme .el-input::-webkit-scrollbar{z-index:11;width:6px}.custom-theme .el-input::-webkit-scrollbar:horizontal{height:6px}.custom-theme .el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.custom-theme .el-input::-webkit-scrollbar-corner{background:#fff}.custom-theme .el-input::-webkit-scrollbar-track{background:#fff}.custom-theme .el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.custom-theme .el-input__inner{-webkit-appearance:none;background-color:#fff;background-image:none;border-radius:4px;border:1px solid #d8dce5;-webkit-box-sizing:border-box;box-sizing:border-box;color:#5a5e66;display:inline-block;font-size:inherit;height:40px;line-height:1;outline:0;padding:0 15px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.custom-theme .el-input__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner::placeholder{color:#b4bccc}.custom-theme .el-input__inner:hover{border-color:#b4bccc}.custom-theme .el-input__inner:focus{outline:0;border-color:#262729}.custom-theme .el-input__suffix{position:absolute;height:100%;right:5px;top:0;text-align:center;color:#b4bccc;-webkit-transition:all .3s;transition:all .3s;pointer-events:none}.custom-theme .el-input__suffix-inner{pointer-events:all}.custom-theme .el-input__prefix{position:absolute;height:100%;left:5px;top:0;text-align:center;color:#b4bccc;-webkit-transition:all .3s;transition:all .3s}.custom-theme .el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.custom-theme .el-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.custom-theme .el-input__validateIcon{pointer-events:none}.custom-theme .el-input.is-active .el-input__inner{outline:0;border-color:#262729}.custom-theme .el-input.is-disabled .el-input__inner{background-color:#f5f7fa;border-color:#dfe4ed;color:#b4bccc;cursor:not-allowed}.custom-theme .el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner::placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__icon{cursor:not-allowed}.custom-theme .el-input--suffix .el-input__inner{padding-right:30px}.custom-theme .el-input--prefix .el-input__inner{padding-left:30px}.custom-theme .el-input--medium{font-size:14px}.custom-theme .el-input--medium .el-input__inner{height:36px}.custom-theme .el-input--medium .el-input__icon{line-height:36px}.custom-theme .el-input--small{font-size:13px}.custom-theme .el-input--small .el-input__inner{height:32px}.custom-theme .el-input--small .el-input__icon{line-height:32px}.custom-theme .el-input--mini{font-size:12px}.custom-theme .el-input--mini .el-input__inner{height:28px}.custom-theme .el-input--mini .el-input__icon{line-height:28px}.custom-theme .el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate}.custom-theme .el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.custom-theme .el-input-group__append,.custom-theme .el-input-group__prepend{background-color:#f5f7fa;color:#0a76a4;vertical-align:middle;display:table-cell;position:relative;border:1px solid #d8dce5;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.custom-theme .el-input-group__append:focus,.custom-theme .el-input-group__prepend:focus{outline:0}.custom-theme .el-input-group__append .el-button,.custom-theme .el-input-group__append .el-select,.custom-theme .el-input-group__prepend .el-button,.custom-theme .el-input-group__prepend .el-select{display:inline-block;margin:-20px}.custom-theme .el-input-group__append button.el-button,.custom-theme .el-input-group__append div.el-select .el-input__inner,.custom-theme .el-input-group__append div.el-select:hover .el-input__inner,.custom-theme .el-input-group__prepend button.el-button,.custom-theme .el-input-group__prepend div.el-select .el-input__inner,.custom-theme .el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.custom-theme .el-input-group__append .el-button,.custom-theme .el-input-group__append .el-input,.custom-theme .el-input-group__prepend .el-button,.custom-theme .el-input-group__prepend .el-input{font-size:inherit}.custom-theme .el-input-group__prepend{border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.custom-theme .el-input-group__append{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.custom-theme .el-input-group--prepend .el-input__inner{border-top-left-radius:0;border-bottom-left-radius:0}.custom-theme .el-input-group--append .el-input__inner{border-top-right-radius:0;border-bottom-right-radius:0}.custom-theme .el-textarea{display:inline-block;width:100%;vertical-align:bottom}.custom-theme .el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;font-size:14px;color:#5a5e66;background-color:#fff;background-image:none;border:1px solid #d8dce5;border-radius:4px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.custom-theme .el-textarea__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner::placeholder{color:#b4bccc}.custom-theme .el-textarea__inner:hover{border-color:#b4bccc}.custom-theme .el-textarea__inner:focus{outline:0;border-color:#262729}.custom-theme .el-textarea.is-disabled .el-textarea__inner{background-color:#f5f7fa;border-color:#dfe4ed;color:#b4bccc;cursor:not-allowed}.custom-theme .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner::placeholder{color:#b4bccc}.custom-theme .el-tag{background-color:rgba(38,39,41,.1);display:inline-block;padding:0 10px;height:32px;line-height:30px;font-size:12px;color:#262729;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid rgba(38,39,41,.2);white-space:nowrap}.custom-theme .el-tag .el-icon-close{border-radius:50%;text-align:center;position:relative;cursor:pointer;font-size:12px;height:18px;width:18px;line-height:18px;vertical-align:middle;top:-1px;right:-5px;color:#262729}.custom-theme .el-tag .el-icon-close::before{display:block}.custom-theme .el-tag .el-icon-close:hover{background-color:#262729;color:#fff}.custom-theme .el-tag--info{background-color:rgba(10,118,164,.1);border-color:rgba(10,118,164,.2);color:#0a76a4}.custom-theme .el-tag--info.is-hit{border-color:#0a76a4}.custom-theme .el-tag--info .el-tag__close{color:#0a76a4}.custom-theme .el-tag--info .el-tag__close:hover{background-color:#0a76a4;color:#fff}.custom-theme .el-tag--success{background-color:rgba(64,145,103,.1);border-color:rgba(64,145,103,.2);color:#409167}.custom-theme .el-tag--success.is-hit{border-color:#409167}.custom-theme .el-tag--success .el-tag__close{color:#409167}.custom-theme .el-tag--success .el-tag__close:hover{background-color:#409167;color:#fff}.custom-theme .el-tag--warning{background-color:rgba(157,164,8,.1);border-color:rgba(157,164,8,.2);color:#9da408}.custom-theme .el-tag--warning.is-hit{border-color:#9da408}.custom-theme .el-tag--warning .el-tag__close{color:#9da408}.custom-theme .el-tag--warning .el-tag__close:hover{background-color:#9da408;color:#fff}.custom-theme .el-tag--danger{background-color:rgba(179,69,14,.1);border-color:rgba(179,69,14,.2);color:#b3450e}.custom-theme .el-tag--danger.is-hit{border-color:#b3450e}.custom-theme .el-tag--danger .el-tag__close{color:#b3450e}.custom-theme .el-tag--danger .el-tag__close:hover{background-color:#b3450e;color:#fff}.custom-theme .el-tag--medium{height:28px;line-height:26px}.custom-theme .el-tag--medium .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.custom-theme .el-tag--small{height:24px;padding:0 8px;line-height:22px}.custom-theme .el-tag--small .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.custom-theme .el-tag--mini{height:20px;padding:0 5px;line-height:19px}.custom-theme .el-tag--mini .el-icon-close{margin-left:-3px;-webkit-transform:scale(.7);transform:scale(.7)}.custom-theme .el-select-dropdown__item{font-size:14px;padding:0 20px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#5a5e66;height:34px;line-height:34px;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer}.custom-theme .el-select-dropdown__item.is-disabled{color:#b4bccc;cursor:not-allowed}.custom-theme .el-select-dropdown__item.is-disabled:hover{background-color:#fff}.custom-theme .el-select-dropdown__item.hover,.custom-theme .el-select-dropdown__item:hover{background-color:#f5f7fa}.custom-theme .el-select-dropdown__item.selected{color:#262729;font-weight:700}.custom-theme .el-select-dropdown__item span{line-height:34px!important}.custom-theme .el-select-group{margin:0;padding:0}.custom-theme .el-select-group__wrap{position:relative;list-style:none;margin:0;padding:0}.custom-theme .el-select-group__wrap:not(:last-of-type){padding-bottom:24px}.custom-theme .el-select-group__wrap:not(:last-of-type)::after{content:'';position:absolute;display:block;left:20px;right:20px;bottom:12px;height:1px;background:#dfe4ed}.custom-theme .el-select-group__title{padding-left:20px;font-size:12px;color:#0a76a4;line-height:30px}.custom-theme .el-select-group .el-select-dropdown__item{padding-left:20px}.custom-theme .el-scrollbar{overflow:hidden;position:relative}.custom-theme .el-scrollbar:active>.el-scrollbar__bar,.custom-theme .el-scrollbar:focus>.el-scrollbar__bar,.custom-theme .el-scrollbar:hover>.el-scrollbar__bar{opacity:1;-webkit-transition:opacity 340ms ease-out;transition:opacity 340ms ease-out}.custom-theme .el-scrollbar__wrap{overflow:scroll;height:100%}.custom-theme .el-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.custom-theme .el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(135,141,153,.3);-webkit-transition:.3s background-color;transition:.3s background-color}.custom-theme .el-scrollbar__thumb:hover{background-color:rgba(135,141,153,.5)}.custom-theme .el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px;opacity:0;-webkit-transition:opacity 120ms ease-out;transition:opacity 120ms ease-out}.custom-theme .el-scrollbar__bar.is-vertical{width:6px;top:2px}.custom-theme .el-scrollbar__bar.is-vertical>div{width:100%}.custom-theme .el-scrollbar__bar.is-horizontal{height:6px;left:2px}.custom-theme .el-scrollbar__bar.is-horizontal>div{height:100%}.custom-theme .el-select{display:inline-block;position:relative}.custom-theme .el-select:hover .el-input__inner{border-color:#b4bccc}.custom-theme .el-select .el-input__inner{cursor:pointer;padding-right:35px}.custom-theme .el-select .el-input__inner:focus{border-color:#262729}.custom-theme .el-select .el-input .el-select__caret{color:#b4bccc;font-size:14px;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg);line-height:16px;cursor:pointer}.custom-theme .el-select .el-input .el-select__caret.is-reverse{-webkit-transform:rotateZ(0);transform:rotateZ(0)}.custom-theme .el-select .el-input .el-select__caret.is-show-close{font-size:14px;text-align:center;-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg);border-radius:100%;color:#b4bccc;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.custom-theme .el-select .el-input .el-select__caret.is-show-close:hover{color:#878d99}.custom-theme .el-select .el-input.is-disabled .el-input__inner{cursor:not-allowed}.custom-theme .el-select .el-input.is-disabled .el-input__inner:hover{border-color:#dfe4ed}.custom-theme .el-select>.el-input{display:block}.custom-theme .el-select__input{border:none;outline:0;padding:0;margin-left:15px;color:#666;font-size:14px;vertical-align:baseline;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:28px;background-color:transparent}.custom-theme .el-select__input.is-mini{height:14px}.custom-theme .el-select__close{cursor:pointer;position:absolute;top:8px;z-index:1000;right:25px;color:#b4bccc;line-height:18px;font-size:14px}.custom-theme .el-select__close:hover{color:#878d99}.custom-theme .el-select__tags{position:absolute;line-height:normal;white-space:normal;z-index:1;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%)}.custom-theme .el-select .el-tag__close{margin-top:-2px}.custom-theme .el-select .el-tag{-webkit-box-sizing:border-box;box-sizing:border-box;border-color:transparent;margin:3px 0 3px 6px;background-color:#f0f2f5}.custom-theme .el-select .el-tag__close.el-icon-close{background-color:#b4bccc;right:-7px;color:#fff}.custom-theme .el-select .el-tag__close.el-icon-close:hover{background-color:#878d99}.custom-theme .el-select .el-tag__close.el-icon-close::before{display:block;-webkit-transform:translate(0,.5px);transform:translate(0,.5px)}.custom-theme .el-select__tag{display:inline-block;height:24px;line-height:24px;font-size:14px;border-radius:4px;color:#fff;background-color:#262729}.custom-theme .el-select__tag .el-icon-close{font-size:14px}.custom-theme .el-button{display:inline-block;line-height:1;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #d8dce5;border-color:#d8dce5;color:#5a5e66;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;-webkit-transition:.1s;transition:.1s;font-weight:500;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;padding:12px 20px;font-size:14px;border-radius:4px}.custom-theme .el-button+.el-button{margin-left:10px}.custom-theme .el-button.is-round{padding:12px 20px}.custom-theme .el-button:focus,.custom-theme .el-button:hover{color:#262729;border-color:#bebebf;background-color:#e9e9ea}.custom-theme .el-button:active{color:#222325;border-color:#222325;outline:0}.custom-theme .el-button::-moz-focus-inner{border:0}.custom-theme .el-button [class*=el-icon-]+span{margin-left:5px}.custom-theme .el-button.is-plain:focus,.custom-theme .el-button.is-plain:hover{background:#fff;border-color:#262729;color:#262729}.custom-theme .el-button.is-plain:active{background:#fff;border-color:#222325;color:#222325;outline:0}.custom-theme .el-button.is-active{color:#222325;border-color:#222325}.custom-theme .el-button.is-disabled,.custom-theme .el-button.is-disabled:focus,.custom-theme .el-button.is-disabled:hover{color:#b4bccc;cursor:not-allowed;background-image:none;background-color:#fff;border-color:#e6ebf5}.custom-theme .el-button.is-disabled.el-button--text{background-color:transparent}.custom-theme .el-button.is-disabled.is-plain,.custom-theme .el-button.is-disabled.is-plain:focus,.custom-theme .el-button.is-disabled.is-plain:hover{background-color:#fff;border-color:#e6ebf5;color:#b4bccc}.custom-theme .el-button.is-loading{position:relative;pointer-events:none}.custom-theme .el-button.is-loading:before{pointer-events:none;content:'';position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;border-radius:inherit;background-color:rgba(255,255,255,.35)}.custom-theme .el-button.is-round{border-radius:20px;padding:12px 23px}.custom-theme .el-button--primary{color:#fff;background-color:#262729;border-color:#262729}.custom-theme .el-button--primary:focus,.custom-theme .el-button--primary:hover{background:#515254;border-color:#515254;color:#fff}.custom-theme .el-button--primary:active{background:#222325;border-color:#222325;color:#fff;outline:0}.custom-theme .el-button--primary.is-active{background:#222325;border-color:#222325;color:#fff}.custom-theme .el-button--primary.is-disabled,.custom-theme .el-button--primary.is-disabled:active,.custom-theme .el-button--primary.is-disabled:focus,.custom-theme .el-button--primary.is-disabled:hover{color:#fff;background-color:#939394;border-color:#939394}.custom-theme .el-button--primary.is-plain{color:#262729;background:#e9e9ea;border-color:#a8a9a9}.custom-theme .el-button--primary.is-plain:focus,.custom-theme .el-button--primary.is-plain:hover{background:#262729;border-color:#262729;color:#fff}.custom-theme .el-button--primary.is-plain:active{background:#222325;border-color:#222325;color:#fff;outline:0}.custom-theme .el-button--primary.is-plain.is-disabled,.custom-theme .el-button--primary.is-plain.is-disabled:active,.custom-theme .el-button--primary.is-plain.is-disabled:focus,.custom-theme .el-button--primary.is-plain.is-disabled:hover{color:#7d7d7f;background-color:#e9e9ea;border-color:#d4d4d4}.custom-theme .el-button--success{color:#fff;background-color:#409167;border-color:#409167}.custom-theme .el-button--success:focus,.custom-theme .el-button--success:hover{background:#66a785;border-color:#66a785;color:#fff}.custom-theme .el-button--success:active{background:#3a835d;border-color:#3a835d;color:#fff;outline:0}.custom-theme .el-button--success.is-active{background:#3a835d;border-color:#3a835d;color:#fff}.custom-theme .el-button--success.is-disabled,.custom-theme .el-button--success.is-disabled:active,.custom-theme .el-button--success.is-disabled:focus,.custom-theme .el-button--success.is-disabled:hover{color:#fff;background-color:#a0c8b3;border-color:#a0c8b3}.custom-theme .el-button--success.is-plain{color:#409167;background:#ecf4f0;border-color:#b3d3c2}.custom-theme .el-button--success.is-plain:focus,.custom-theme .el-button--success.is-plain:hover{background:#409167;border-color:#409167;color:#fff}.custom-theme .el-button--success.is-plain:active{background:#3a835d;border-color:#3a835d;color:#fff;outline:0}.custom-theme .el-button--success.is-plain.is-disabled,.custom-theme .el-button--success.is-plain.is-disabled:active,.custom-theme .el-button--success.is-plain.is-disabled:focus,.custom-theme .el-button--success.is-plain.is-disabled:hover{color:#8cbda4;background-color:#ecf4f0;border-color:#d9e9e1}.custom-theme .el-button--warning{color:#fff;background-color:#9da408;border-color:#9da408}.custom-theme .el-button--warning:focus,.custom-theme .el-button--warning:hover{background:#b1b639;border-color:#b1b639;color:#fff}.custom-theme .el-button--warning:active{background:#8d9407;border-color:#8d9407;color:#fff;outline:0}.custom-theme .el-button--warning.is-active{background:#8d9407;border-color:#8d9407;color:#fff}.custom-theme .el-button--warning.is-disabled,.custom-theme .el-button--warning.is-disabled:active,.custom-theme .el-button--warning.is-disabled:focus,.custom-theme .el-button--warning.is-disabled:hover{color:#fff;background-color:#ced284;border-color:#ced284}.custom-theme .el-button--warning.is-plain{color:#9da408;background:#f5f6e6;border-color:#d8db9c}.custom-theme .el-button--warning.is-plain:focus,.custom-theme .el-button--warning.is-plain:hover{background:#9da408;border-color:#9da408;color:#fff}.custom-theme .el-button--warning.is-plain:active{background:#8d9407;border-color:#8d9407;color:#fff;outline:0}.custom-theme .el-button--warning.is-plain.is-disabled,.custom-theme .el-button--warning.is-plain.is-disabled:active,.custom-theme .el-button--warning.is-plain.is-disabled:focus,.custom-theme .el-button--warning.is-plain.is-disabled:hover{color:#c4c86b;background-color:#f5f6e6;border-color:#ebedce}.custom-theme .el-button--danger{color:#fff;background-color:#b3450e;border-color:#b3450e}.custom-theme .el-button--danger:focus,.custom-theme .el-button--danger:hover{background:#c26a3e;border-color:#c26a3e;color:#fff}.custom-theme .el-button--danger:active{background:#a13e0d;border-color:#a13e0d;color:#fff;outline:0}.custom-theme .el-button--danger.is-active{background:#a13e0d;border-color:#a13e0d;color:#fff}.custom-theme .el-button--danger.is-disabled,.custom-theme .el-button--danger.is-disabled:active,.custom-theme .el-button--danger.is-disabled:focus,.custom-theme .el-button--danger.is-disabled:hover{color:#fff;background-color:#d9a287;border-color:#d9a287}.custom-theme .el-button--danger.is-plain{color:#b3450e;background:#f7ece7;border-color:#e1b59f}.custom-theme .el-button--danger.is-plain:focus,.custom-theme .el-button--danger.is-plain:hover{background:#b3450e;border-color:#b3450e;color:#fff}.custom-theme .el-button--danger.is-plain:active{background:#a13e0d;border-color:#a13e0d;color:#fff;outline:0}.custom-theme .el-button--danger.is-plain.is-disabled,.custom-theme .el-button--danger.is-plain.is-disabled:active,.custom-theme .el-button--danger.is-plain.is-disabled:focus,.custom-theme .el-button--danger.is-plain.is-disabled:hover{color:#d18f6e;background-color:#f7ece7;border-color:#f0dacf}.custom-theme .el-button--info{color:#fff;background-color:#0a76a4;border-color:#0a76a4}.custom-theme .el-button--info:focus,.custom-theme .el-button--info:hover{background:#3b91b6;border-color:#3b91b6;color:#fff}.custom-theme .el-button--info:active{background:#096a94;border-color:#096a94;color:#fff;outline:0}.custom-theme .el-button--info.is-active{background:#096a94;border-color:#096a94;color:#fff}.custom-theme .el-button--info.is-disabled,.custom-theme .el-button--info.is-disabled:active,.custom-theme .el-button--info.is-disabled:focus,.custom-theme .el-button--info.is-disabled:hover{color:#fff;background-color:#85bbd2;border-color:#85bbd2}.custom-theme .el-button--info.is-plain{color:#0a76a4;background:#e7f1f6;border-color:#9dc8db}.custom-theme .el-button--info.is-plain:focus,.custom-theme .el-button--info.is-plain:hover{background:#0a76a4;border-color:#0a76a4;color:#fff}.custom-theme .el-button--info.is-plain:active{background:#096a94;border-color:#096a94;color:#fff;outline:0}.custom-theme .el-button--info.is-plain.is-disabled,.custom-theme .el-button--info.is-plain.is-disabled:active,.custom-theme .el-button--info.is-plain.is-disabled:focus,.custom-theme .el-button--info.is-plain.is-disabled:hover{color:#6cadc8;background-color:#e7f1f6;border-color:#cee4ed}.custom-theme .el-button--medium{padding:10px 20px;font-size:14px;border-radius:4px}.custom-theme .el-button--medium.is-round{padding:10px 20px}.custom-theme .el-button--small{padding:9px 15px;font-size:12px;border-radius:3px}.custom-theme .el-button--small.is-round{padding:9px 15px}.custom-theme .el-button--mini{padding:7px 15px;font-size:12px;border-radius:3px}.custom-theme .el-button--mini.is-round{padding:7px 15px}.custom-theme .el-button--text{border:none;color:#262729;background:0 0;padding-left:0;padding-right:0}.custom-theme .el-button--text:focus,.custom-theme .el-button--text:hover{color:#515254;border-color:transparent;background-color:transparent}.custom-theme .el-button--text:active{color:#222325;border-color:transparent;background-color:transparent}.custom-theme .el-button-group{display:inline-block;vertical-align:middle}.custom-theme .el-button-group::after,.custom-theme .el-button-group::before{display:table;content:""}.custom-theme .el-button-group::after{clear:both}.custom-theme .el-button-group .el-button{float:left;position:relative}.custom-theme .el-button-group .el-button+.el-button{margin-left:0}.custom-theme .el-button-group .el-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.custom-theme .el-button-group .el-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.custom-theme .el-button-group .el-button:not(:first-child):not(:last-child){border-radius:0}.custom-theme .el-button-group .el-button:not(:last-child){margin-right:-1px}.custom-theme .el-button-group .el-button:active,.custom-theme .el-button-group .el-button:focus,.custom-theme .el-button-group .el-button:hover{z-index:1}.custom-theme .el-button-group .el-button.is-active{z-index:1}.custom-theme .el-button-group .el-button--primary:first-child{border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--primary:last-child{border-left-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--primary:not(:first-child):not(:last-child){border-left-color:rgba(255,255,255,.5);border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--success:first-child{border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--success:last-child{border-left-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--success:not(:first-child):not(:last-child){border-left-color:rgba(255,255,255,.5);border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--warning:first-child{border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--warning:last-child{border-left-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--warning:not(:first-child):not(:last-child){border-left-color:rgba(255,255,255,.5);border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--danger:first-child{border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--danger:last-child{border-left-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--danger:not(:first-child):not(:last-child){border-left-color:rgba(255,255,255,.5);border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--info:first-child{border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--info:last-child{border-left-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--info:not(:first-child):not(:last-child){border-left-color:rgba(255,255,255,.5);border-right-color:rgba(255,255,255,.5)}.custom-theme .el-checkbox{color:#5a5e66;font-weight:500;font-size:14px;position:relative;cursor:pointer;display:inline-block;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.custom-theme .el-checkbox.is-bordered{padding:9px 20px 9px 10px;border-radius:4px;border:1px solid #d8dce5}.custom-theme .el-checkbox.is-bordered.is-checked{border-color:#262729}.custom-theme .el-checkbox.is-bordered.is-disabled{border-color:#e6ebf5;cursor:not-allowed}.custom-theme .el-checkbox.is-bordered+.el-checkbox.is-bordered{margin-left:10px}.custom-theme .el-checkbox.is-bordered.el-checkbox--medium{padding:7px 20px 7px 10px;border-radius:4px}.custom-theme .el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label{line-height:17px;font-size:14px}.custom-theme .el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner{height:14px;width:14px}.custom-theme .el-checkbox.is-bordered.el-checkbox--small{padding:3px 15px 7px 10px;border-radius:3px}.custom-theme .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{line-height:15px;font-size:12px}.custom-theme .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.custom-theme .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after{height:6px;width:2px}.custom-theme .el-checkbox.is-bordered.el-checkbox--mini{padding:1px 15px 5px 10px;border-radius:3px}.custom-theme .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label{line-height:12px;font-size:12px}.custom-theme .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner{height:12px;width:12px}.custom-theme .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after{height:6px;width:2px}.custom-theme .el-checkbox__input{white-space:nowrap;cursor:pointer;outline:0;display:inline-block;line-height:1;position:relative;vertical-align:middle}.custom-theme .el-checkbox__input.is-disabled .el-checkbox__inner{background-color:#edf2fc;border-color:#d8dce5;cursor:not-allowed}.custom-theme .el-checkbox__input.is-disabled .el-checkbox__inner::after{cursor:not-allowed;border-color:#b4bccc}.custom-theme .el-checkbox__input.is-disabled .el-checkbox__inner+.el-checkbox__label{cursor:not-allowed}.custom-theme .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:#edf2fc;border-color:#d8dce5}.custom-theme .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after{border-color:#b4bccc}.custom-theme .el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:#edf2fc;border-color:#d8dce5}.custom-theme .el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before{background-color:#b4bccc;border-color:#b4bccc}.custom-theme .el-checkbox__input.is-disabled+span.el-checkbox__label{color:#b4bccc;cursor:not-allowed}.custom-theme .el-checkbox__input.is-checked .el-checkbox__inner{background-color:#262729;border-color:#262729}.custom-theme .el-checkbox__input.is-checked .el-checkbox__inner::after{-webkit-transform:rotate(45deg) scaleY(1);transform:rotate(45deg) scaleY(1)}.custom-theme .el-checkbox__input.is-checked+.el-checkbox__label{color:#262729}.custom-theme .el-checkbox__input.is-focus .el-checkbox__inner{border-color:#262729}.custom-theme .el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:#262729;border-color:#262729}.custom-theme .el-checkbox__input.is-indeterminate .el-checkbox__inner::before{content:'';position:absolute;display:block;background-color:#fff;height:2px;-webkit-transform:scale(.5);transform:scale(.5);left:0;right:0;top:5px}.custom-theme .el-checkbox__input.is-indeterminate .el-checkbox__inner::after{display:none}.custom-theme .el-checkbox__inner{display:inline-block;position:relative;border:1px solid #d8dce5;border-radius:2px;-webkit-box-sizing:border-box;box-sizing:border-box;width:14px;height:14px;background-color:#fff;z-index:1;-webkit-transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46);transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.custom-theme .el-checkbox__inner:hover{border-color:#262729}.custom-theme .el-checkbox__inner::after{-webkit-box-sizing:content-box;box-sizing:content-box;content:"";border:1px solid #fff;border-left:0;border-top:0;height:7px;left:4px;position:absolute;top:1px;-webkit-transform:rotate(45deg) scaleY(0);transform:rotate(45deg) scaleY(0);width:3px;-webkit-transition:-webkit-transform .15s cubic-bezier(.71,-.46,.88,.6) 50ms;transition:-webkit-transform .15s cubic-bezier(.71,-.46,.88,.6) 50ms;transition:transform .15s cubic-bezier(.71,-.46,.88,.6) 50ms;transition:transform .15s cubic-bezier(.71,-.46,.88,.6) 50ms,-webkit-transform .15s cubic-bezier(.71,-.46,.88,.6) 50ms;-webkit-transform-origin:center;transform-origin:center}.custom-theme .el-checkbox__original{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;left:-999px}.custom-theme .el-checkbox__label{display:inline-block;padding-left:10px;line-height:19px;font-size:14px}.custom-theme .el-checkbox+.el-checkbox{margin-left:30px}.custom-theme .el-checkbox-button{position:relative;display:inline-block}.custom-theme .el-checkbox-button__inner{display:inline-block;line-height:1;font-weight:500;white-space:nowrap;vertical-align:middle;cursor:pointer;background:#fff;border:1px solid #d8dce5;border-left:0;color:#5a5e66;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;position:relative;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;padding:12px 20px;font-size:14px;border-radius:0}.custom-theme .el-checkbox-button__inner.is-round{padding:12px 20px}.custom-theme .el-checkbox-button__inner:hover{color:#262729}.custom-theme .el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.custom-theme .el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.custom-theme .el-checkbox-button__original{opacity:0;outline:0;position:absolute;margin:0;left:-999px}.custom-theme .el-checkbox-button.is-checked .el-checkbox-button__inner{color:#fff;background-color:#262729;border-color:#262729;-webkit-box-shadow:-1px 0 0 0 #7d7d7f;box-shadow:-1px 0 0 0 #7d7d7f}.custom-theme .el-checkbox-button.is-disabled .el-checkbox-button__inner{color:#b4bccc;cursor:not-allowed;background-image:none;background-color:#fff;border-color:#e6ebf5;-webkit-box-shadow:none;box-shadow:none}.custom-theme .el-checkbox-button:first-child .el-checkbox-button__inner{border-left:1px solid #d8dce5;border-radius:4px 0 0 4px;-webkit-box-shadow:none!important;box-shadow:none!important}.custom-theme .el-checkbox-button.is-focus .el-checkbox-button__inner{border-color:#262729}.custom-theme .el-checkbox-button:last-child .el-checkbox-button__inner{border-radius:0 4px 4px 0}.custom-theme .el-checkbox-button--medium .el-checkbox-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.custom-theme .el-checkbox-button--medium .el-checkbox-button__inner.is-round{padding:10px 20px}.custom-theme .el-checkbox-button--small .el-checkbox-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.custom-theme .el-checkbox-button--small .el-checkbox-button__inner.is-round{padding:9px 15px}.custom-theme .el-checkbox-button--mini .el-checkbox-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.custom-theme .el-checkbox-button--mini .el-checkbox-button__inner.is-round{padding:7px 15px}.custom-theme .el-checkbox-group{font-size:0}.custom-theme .el-tag{background-color:rgba(38,39,41,.1);display:inline-block;padding:0 10px;height:32px;line-height:30px;font-size:12px;color:#262729;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid rgba(38,39,41,.2);white-space:nowrap}.custom-theme .el-tag .el-icon-close{border-radius:50%;text-align:center;position:relative;cursor:pointer;font-size:12px;height:18px;width:18px;line-height:18px;vertical-align:middle;top:-1px;right:-5px;color:#262729}.custom-theme .el-tag .el-icon-close::before{display:block}.custom-theme .el-tag .el-icon-close:hover{background-color:#262729;color:#fff}.custom-theme .el-tag--info{background-color:rgba(10,118,164,.1);border-color:rgba(10,118,164,.2);color:#0a76a4}.custom-theme .el-tag--info.is-hit{border-color:#0a76a4}.custom-theme .el-tag--info .el-tag__close{color:#0a76a4}.custom-theme .el-tag--info .el-tag__close:hover{background-color:#0a76a4;color:#fff}.custom-theme .el-tag--success{background-color:rgba(64,145,103,.1);border-color:rgba(64,145,103,.2);color:#409167}.custom-theme .el-tag--success.is-hit{border-color:#409167}.custom-theme .el-tag--success .el-tag__close{color:#409167}.custom-theme .el-tag--success .el-tag__close:hover{background-color:#409167;color:#fff}.custom-theme .el-tag--warning{background-color:rgba(157,164,8,.1);border-color:rgba(157,164,8,.2);color:#9da408}.custom-theme .el-tag--warning.is-hit{border-color:#9da408}.custom-theme .el-tag--warning .el-tag__close{color:#9da408}.custom-theme .el-tag--warning .el-tag__close:hover{background-color:#9da408;color:#fff}.custom-theme .el-tag--danger{background-color:rgba(179,69,14,.1);border-color:rgba(179,69,14,.2);color:#b3450e}.custom-theme .el-tag--danger.is-hit{border-color:#b3450e}.custom-theme .el-tag--danger .el-tag__close{color:#b3450e}.custom-theme .el-tag--danger .el-tag__close:hover{background-color:#b3450e;color:#fff}.custom-theme .el-tag--medium{height:28px;line-height:26px}.custom-theme .el-tag--medium .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.custom-theme .el-tag--small{height:24px;padding:0 8px;line-height:22px}.custom-theme .el-tag--small .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.custom-theme .el-tag--mini{height:20px;padding:0 5px;line-height:19px}.custom-theme .el-tag--mini .el-icon-close{margin-left:-3px;-webkit-transform:scale(.7);transform:scale(.7)}.custom-theme .el-table{position:relative;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-box-flex:1;-ms-flex:1;flex:1;width:100%;max-width:100%;background-color:#fff;font-size:14px;color:#5a5e66}.custom-theme .el-table__empty-block{position:relative;min-height:60px;text-align:center;width:100%;height:100%}.custom-theme .el-table__empty-text{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);color:color(#262729 s(16%) l(44%))}.custom-theme .el-table__expand-column .cell{padding:0;text-align:center}.custom-theme .el-table__expand-icon{position:relative;cursor:pointer;color:#666;font-size:12px;-webkit-transition:-webkit-transform .2s ease-in-out;transition:-webkit-transform .2s ease-in-out;transition:transform .2s ease-in-out;transition:transform .2s ease-in-out,-webkit-transform .2s ease-in-out;height:20px}.custom-theme .el-table__expand-icon--expanded{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.custom-theme .el-table__expand-icon>.el-icon{position:absolute;left:50%;top:50%;margin-left:-5px;margin-top:-5px}.custom-theme .el-table__expanded-cell{background-color:#fff}.custom-theme .el-table__expanded-cell[class*=cell]{padding:20px 50px}.custom-theme .el-table__expanded-cell:hover{background-color:#f5f7fa!important}.custom-theme .el-table--fit{border-right:0;border-bottom:0}.custom-theme .el-table--fit td.gutter,.custom-theme .el-table--fit th.gutter{border-right-width:1px}.custom-theme .el-table thead{color:#878d99;font-weight:500}.custom-theme .el-table thead.is-group th{background:#f5f7fa}.custom-theme .el-table td,.custom-theme .el-table th{padding:12px 0;min-width:0;-webkit-box-sizing:border-box;box-sizing:border-box;text-overflow:ellipsis;vertical-align:middle;position:relative}.custom-theme .el-table td.is-center,.custom-theme .el-table th.is-center{text-align:center}.custom-theme .el-table td.is-left,.custom-theme .el-table th.is-left{text-align:left}.custom-theme .el-table td.is-right,.custom-theme .el-table th.is-right{text-align:right}.custom-theme .el-table td.gutter,.custom-theme .el-table th.gutter{width:15px;border-right-width:0;border-bottom-width:0;padding:0}.custom-theme .el-table td.is-hidden>*,.custom-theme .el-table th.is-hidden>*{visibility:hidden}.custom-theme .el-table--medium td,.custom-theme .el-table--medium th{padding:10px 0}.custom-theme .el-table--small{font-size:12px}.custom-theme .el-table--small td,.custom-theme .el-table--small th{padding:8px 0}.custom-theme .el-table--mini{font-size:12px}.custom-theme .el-table--mini td,.custom-theme .el-table--mini th{padding:6px 0}.custom-theme .el-table tr{background-color:#fff}.custom-theme .el-table tr input[type=checkbox]{margin:0}.custom-theme .el-table td,.custom-theme .el-table th.is-leaf{border-bottom:1px solid #e6ebf5}.custom-theme .el-table th.is-sortable{cursor:pointer}.custom-theme .el-table th{white-space:nowrap;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-align:left}.custom-theme .el-table th div{display:inline-block;padding-left:10px;padding-right:10px;line-height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.custom-theme .el-table th>.cell{position:relative;word-wrap:normal;text-overflow:ellipsis;display:inline-block;vertical-align:middle;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.custom-theme .el-table th>.cell.highlight{color:#262729}.custom-theme .el-table th.required>div::before{display:inline-block;content:"";width:8px;height:8px;border-radius:50%;background:#ff4d51;margin-right:5px;vertical-align:middle}.custom-theme .el-table td div{-webkit-box-sizing:border-box;box-sizing:border-box}.custom-theme .el-table td.gutter{width:0}.custom-theme .el-table .cell{-webkit-box-sizing:border-box;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;white-space:normal;word-break:break-all;line-height:23px;padding-left:10px;padding-right:10px}.custom-theme .el-table .cell.el-tooltip{white-space:nowrap;min-width:50px}.custom-theme .el-table td:first-child .cell,.custom-theme .el-table th:first-child .cell{padding-left:0}.custom-theme .el-table--border,.custom-theme .el-table--group{border:1px solid #e6ebf5}.custom-theme .el-table--border::after,.custom-theme .el-table--group::after,.custom-theme .el-table::before{content:'';position:absolute;background-color:#e6ebf5;z-index:1}.custom-theme .el-table--border::after,.custom-theme .el-table--group::after{top:0;right:0;width:1px;height:100%}.custom-theme .el-table::before{left:0;bottom:0;width:100%;height:1px}.custom-theme .el-table--border{border-right:none;border-bottom:none}.custom-theme .el-table--border td,.custom-theme .el-table--border th{border-right:1px solid #e6ebf5}.custom-theme .el-table--border td:first-child .cell,.custom-theme .el-table--border th:first-child .cell{padding-left:10px}.custom-theme .el-table--border .has-gutter td:nth-last-of-type(2),.custom-theme .el-table--border .has-gutter th:nth-last-of-type(2){border-right:none}.custom-theme .el-table--border th.gutter:last-of-type{border-bottom:1px solid #e6ebf5;border-bottom-width:1px}.custom-theme .el-table--border th{border-bottom:1px solid #e6ebf5}.custom-theme .el-table--hidden{visibility:hidden}.custom-theme .el-table__fixed,.custom-theme .el-table__fixed-right{position:absolute;top:0;left:0;overflow-x:hidden;-webkit-box-shadow:0 0 10px rgba(0,0,0,.12);box-shadow:0 0 10px rgba(0,0,0,.12)}.custom-theme .el-table__fixed-right::before,.custom-theme .el-table__fixed::before{content:'';position:absolute;left:0;bottom:0;width:100%;height:1px;background-color:#e6ebf5;z-index:4}.custom-theme .el-table__fixed-right-patch{position:absolute;top:-1px;right:0;background-color:#fff;border-bottom:1px solid #e6ebf5}.custom-theme .el-table__fixed-right{top:0;left:auto;right:0}.custom-theme .el-table__fixed-right .el-table__fixed-body-wrapper,.custom-theme .el-table__fixed-right .el-table__fixed-footer-wrapper,.custom-theme .el-table__fixed-right .el-table__fixed-header-wrapper{left:auto;right:0}.custom-theme .el-table__fixed-header-wrapper{position:absolute;left:0;top:0;z-index:3}.custom-theme .el-table__fixed-footer-wrapper{position:absolute;left:0;bottom:0;z-index:3}.custom-theme .el-table__fixed-footer-wrapper tbody td{border-top:1px solid #e6ebf5;background-color:#f5f7fa;color:#5a5e66}.custom-theme .el-table__fixed-body-wrapper{position:absolute;left:0;top:37px;overflow:hidden;z-index:3}.custom-theme .el-table__body-wrapper,.custom-theme .el-table__footer-wrapper,.custom-theme .el-table__header-wrapper{width:100%}.custom-theme .el-table__footer-wrapper{margin-top:-1px}.custom-theme .el-table__footer-wrapper td{border-top:1px solid #e6ebf5}.custom-theme .el-table__body,.custom-theme .el-table__footer,.custom-theme .el-table__header{table-layout:fixed}.custom-theme .el-table__footer-wrapper,.custom-theme .el-table__header-wrapper{overflow:hidden}.custom-theme .el-table__footer-wrapper tbody td,.custom-theme .el-table__header-wrapper tbody td{background-color:#f5f7fa;color:#5a5e66}.custom-theme .el-table__body-wrapper{overflow:auto;position:relative}.custom-theme .el-table__body-wrapper.is-scroll-none~.el-table__fixed,.custom-theme .el-table__body-wrapper.is-scroll-none~.el-table__fixed-right{-webkit-box-shadow:none;box-shadow:none}.custom-theme .el-table__body-wrapper.is-scroll-left~.el-table__fixed{-webkit-box-shadow:none;box-shadow:none}.custom-theme .el-table__body-wrapper.is-scroll-right~.el-table__fixed-right{-webkit-box-shadow:none;box-shadow:none}.custom-theme .el-table__body-wrapper .el-table--border.is-scroll-right~.el-table__fixed-right{border-left:1px solid #e6ebf5}.custom-theme .el-table__body-wrapper .el-table--border.is-scroll-left~.el-table__fixed{border-right:1px solid #e6ebf5}.custom-theme .el-table .caret-wrapper{position:relative;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:13px;width:24px;cursor:pointer;overflow:initial}.custom-theme .el-table .sort-caret{color:#0a76a4;width:14px;overflow:hidden;font-size:13px}.custom-theme .el-table .ascending .sort-caret.ascending{color:#262729}.custom-theme .el-table .descending .sort-caret.descending{color:#262729}.custom-theme .el-table .hidden-columns{visibility:hidden;position:absolute;z-index:-1}.custom-theme .el-table--striped .el-table__body tr.el-table__row--striped td{background:#fafafa}.custom-theme .el-table--striped .el-table__body tr.el-table__row--striped.current-row td{background-color:#e9e9ea}.custom-theme .el-table__body tr.hover-row.current-row>td,.custom-theme .el-table__body tr.hover-row.el-table__row--striped.current-row>td,.custom-theme .el-table__body tr.hover-row.el-table__row--striped>td,.custom-theme .el-table__body tr.hover-row>td{background-color:#e9e9ea}.custom-theme .el-table__body tr.current-row>td{background-color:#e9e9ea}.custom-theme .el-table__column-resize-proxy{position:absolute;left:200px;top:0;bottom:0;width:0;border-left:1px solid #e6ebf5;z-index:10}.custom-theme .el-table__column-filter-trigger{display:inline-block;line-height:34px;cursor:pointer}.custom-theme .el-table__column-filter-trigger i{color:#0a76a4;font-size:12px;-webkit-transform:scale(.75);transform:scale(.75)}.custom-theme .el-table--enable-row-transition .el-table__body td{-webkit-transition:background-color .25s ease;transition:background-color .25s ease}.custom-theme .el-table--enable-row-hover .el-table__body tr:hover>td{background-color:#f5f7fa}.custom-theme .el-table--fluid-height .el-table__fixed,.custom-theme .el-table--fluid-height .el-table__fixed-right{bottom:0;overflow:hidden}.custom-theme .el-checkbox{color:#5a5e66;font-weight:500;font-size:14px;position:relative;cursor:pointer;display:inline-block;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.custom-theme .el-checkbox.is-bordered{padding:9px 20px 9px 10px;border-radius:4px;border:1px solid #d8dce5}.custom-theme .el-checkbox.is-bordered.is-checked{border-color:#262729}.custom-theme .el-checkbox.is-bordered.is-disabled{border-color:#e6ebf5;cursor:not-allowed}.custom-theme .el-checkbox.is-bordered+.el-checkbox.is-bordered{margin-left:10px}.custom-theme .el-checkbox.is-bordered.el-checkbox--medium{padding:7px 20px 7px 10px;border-radius:4px}.custom-theme .el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label{line-height:17px;font-size:14px}.custom-theme .el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner{height:14px;width:14px}.custom-theme .el-checkbox.is-bordered.el-checkbox--small{padding:3px 15px 7px 10px;border-radius:3px}.custom-theme .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{line-height:15px;font-size:12px}.custom-theme .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.custom-theme .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after{height:6px;width:2px}.custom-theme .el-checkbox.is-bordered.el-checkbox--mini{padding:1px 15px 5px 10px;border-radius:3px}.custom-theme .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label{line-height:12px;font-size:12px}.custom-theme .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner{height:12px;width:12px}.custom-theme .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after{height:6px;width:2px}.custom-theme .el-checkbox__input{white-space:nowrap;cursor:pointer;outline:0;display:inline-block;line-height:1;position:relative;vertical-align:middle}.custom-theme .el-checkbox__input.is-disabled .el-checkbox__inner{background-color:#edf2fc;border-color:#d8dce5;cursor:not-allowed}.custom-theme .el-checkbox__input.is-disabled .el-checkbox__inner::after{cursor:not-allowed;border-color:#b4bccc}.custom-theme .el-checkbox__input.is-disabled .el-checkbox__inner+.el-checkbox__label{cursor:not-allowed}.custom-theme .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:#edf2fc;border-color:#d8dce5}.custom-theme .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after{border-color:#b4bccc}.custom-theme .el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:#edf2fc;border-color:#d8dce5}.custom-theme .el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before{background-color:#b4bccc;border-color:#b4bccc}.custom-theme .el-checkbox__input.is-disabled+span.el-checkbox__label{color:#b4bccc;cursor:not-allowed}.custom-theme .el-checkbox__input.is-checked .el-checkbox__inner{background-color:#262729;border-color:#262729}.custom-theme .el-checkbox__input.is-checked .el-checkbox__inner::after{-webkit-transform:rotate(45deg) scaleY(1);transform:rotate(45deg) scaleY(1)}.custom-theme .el-checkbox__input.is-checked+.el-checkbox__label{color:#262729}.custom-theme .el-checkbox__input.is-focus .el-checkbox__inner{border-color:#262729}.custom-theme .el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:#262729;border-color:#262729}.custom-theme .el-checkbox__input.is-indeterminate .el-checkbox__inner::before{content:'';position:absolute;display:block;background-color:#fff;height:2px;-webkit-transform:scale(.5);transform:scale(.5);left:0;right:0;top:5px}.custom-theme .el-checkbox__input.is-indeterminate .el-checkbox__inner::after{display:none}.custom-theme .el-checkbox__inner{display:inline-block;position:relative;border:1px solid #d8dce5;border-radius:2px;-webkit-box-sizing:border-box;box-sizing:border-box;width:14px;height:14px;background-color:#fff;z-index:1;-webkit-transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46);transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.custom-theme .el-checkbox__inner:hover{border-color:#262729}.custom-theme .el-checkbox__inner::after{-webkit-box-sizing:content-box;box-sizing:content-box;content:"";border:1px solid #fff;border-left:0;border-top:0;height:7px;left:4px;position:absolute;top:1px;-webkit-transform:rotate(45deg) scaleY(0);transform:rotate(45deg) scaleY(0);width:3px;-webkit-transition:-webkit-transform .15s cubic-bezier(.71,-.46,.88,.6) 50ms;transition:-webkit-transform .15s cubic-bezier(.71,-.46,.88,.6) 50ms;transition:transform .15s cubic-bezier(.71,-.46,.88,.6) 50ms;transition:transform .15s cubic-bezier(.71,-.46,.88,.6) 50ms,-webkit-transform .15s cubic-bezier(.71,-.46,.88,.6) 50ms;-webkit-transform-origin:center;transform-origin:center}.custom-theme .el-checkbox__original{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;left:-999px}.custom-theme .el-checkbox__label{display:inline-block;padding-left:10px;line-height:19px;font-size:14px}.custom-theme .el-checkbox+.el-checkbox{margin-left:30px}.custom-theme .el-checkbox-button{position:relative;display:inline-block}.custom-theme .el-checkbox-button__inner{display:inline-block;line-height:1;font-weight:500;white-space:nowrap;vertical-align:middle;cursor:pointer;background:#fff;border:1px solid #d8dce5;border-left:0;color:#5a5e66;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;position:relative;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;padding:12px 20px;font-size:14px;border-radius:0}.custom-theme .el-checkbox-button__inner.is-round{padding:12px 20px}.custom-theme .el-checkbox-button__inner:hover{color:#262729}.custom-theme .el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.custom-theme .el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.custom-theme .el-checkbox-button__original{opacity:0;outline:0;position:absolute;margin:0;left:-999px}.custom-theme .el-checkbox-button.is-checked .el-checkbox-button__inner{color:#fff;background-color:#262729;border-color:#262729;-webkit-box-shadow:-1px 0 0 0 #7d7d7f;box-shadow:-1px 0 0 0 #7d7d7f}.custom-theme .el-checkbox-button.is-disabled .el-checkbox-button__inner{color:#b4bccc;cursor:not-allowed;background-image:none;background-color:#fff;border-color:#e6ebf5;-webkit-box-shadow:none;box-shadow:none}.custom-theme .el-checkbox-button:first-child .el-checkbox-button__inner{border-left:1px solid #d8dce5;border-radius:4px 0 0 4px;-webkit-box-shadow:none!important;box-shadow:none!important}.custom-theme .el-checkbox-button.is-focus .el-checkbox-button__inner{border-color:#262729}.custom-theme .el-checkbox-button:last-child .el-checkbox-button__inner{border-radius:0 4px 4px 0}.custom-theme .el-checkbox-button--medium .el-checkbox-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.custom-theme .el-checkbox-button--medium .el-checkbox-button__inner.is-round{padding:10px 20px}.custom-theme .el-checkbox-button--small .el-checkbox-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.custom-theme .el-checkbox-button--small .el-checkbox-button__inner.is-round{padding:9px 15px}.custom-theme .el-checkbox-button--mini .el-checkbox-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.custom-theme .el-checkbox-button--mini .el-checkbox-button__inner.is-round{padding:7px 15px}.custom-theme .el-checkbox-group{font-size:0}.custom-theme .el-tag{background-color:rgba(38,39,41,.1);display:inline-block;padding:0 10px;height:32px;line-height:30px;font-size:12px;color:#262729;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid rgba(38,39,41,.2);white-space:nowrap}.custom-theme .el-tag .el-icon-close{border-radius:50%;text-align:center;position:relative;cursor:pointer;font-size:12px;height:18px;width:18px;line-height:18px;vertical-align:middle;top:-1px;right:-5px;color:#262729}.custom-theme .el-tag .el-icon-close::before{display:block}.custom-theme .el-tag .el-icon-close:hover{background-color:#262729;color:#fff}.custom-theme .el-tag--info{background-color:rgba(10,118,164,.1);border-color:rgba(10,118,164,.2);color:#0a76a4}.custom-theme .el-tag--info.is-hit{border-color:#0a76a4}.custom-theme .el-tag--info .el-tag__close{color:#0a76a4}.custom-theme .el-tag--info .el-tag__close:hover{background-color:#0a76a4;color:#fff}.custom-theme .el-tag--success{background-color:rgba(64,145,103,.1);border-color:rgba(64,145,103,.2);color:#409167}.custom-theme .el-tag--success.is-hit{border-color:#409167}.custom-theme .el-tag--success .el-tag__close{color:#409167}.custom-theme .el-tag--success .el-tag__close:hover{background-color:#409167;color:#fff}.custom-theme .el-tag--warning{background-color:rgba(157,164,8,.1);border-color:rgba(157,164,8,.2);color:#9da408}.custom-theme .el-tag--warning.is-hit{border-color:#9da408}.custom-theme .el-tag--warning .el-tag__close{color:#9da408}.custom-theme .el-tag--warning .el-tag__close:hover{background-color:#9da408;color:#fff}.custom-theme .el-tag--danger{background-color:rgba(179,69,14,.1);border-color:rgba(179,69,14,.2);color:#b3450e}.custom-theme .el-tag--danger.is-hit{border-color:#b3450e}.custom-theme .el-tag--danger .el-tag__close{color:#b3450e}.custom-theme .el-tag--danger .el-tag__close:hover{background-color:#b3450e;color:#fff}.custom-theme .el-tag--medium{height:28px;line-height:26px}.custom-theme .el-tag--medium .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.custom-theme .el-tag--small{height:24px;padding:0 8px;line-height:22px}.custom-theme .el-tag--small .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.custom-theme .el-tag--mini{height:20px;padding:0 5px;line-height:19px}.custom-theme .el-tag--mini .el-icon-close{margin-left:-3px;-webkit-transform:scale(.7);transform:scale(.7)}.custom-theme .el-table-column--selection .cell{padding-left:14px;padding-right:14px}.custom-theme .el-table-filter{border:solid 1px #e6ebf5;border-radius:2px;background-color:#fff;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);-webkit-box-sizing:border-box;box-sizing:border-box;margin:2px 0}.custom-theme .el-table-filter__list{padding:5px 0;margin:0;list-style:none;min-width:100px}.custom-theme .el-table-filter__list-item{line-height:36px;padding:0 10px;cursor:pointer;font-size:14px}.custom-theme .el-table-filter__list-item:hover{background-color:#e9e9ea;color:#515254}.custom-theme .el-table-filter__list-item.is-active{background-color:#262729;color:#fff}.custom-theme .el-table-filter__content{min-width:100px}.custom-theme .el-table-filter__bottom{border-top:1px solid #e6ebf5;padding:8px}.custom-theme .el-table-filter__bottom button{background:0 0;border:none;color:#5a5e66;cursor:pointer;font-size:13px;padding:0 3px}.custom-theme .el-table-filter__bottom button:hover{color:#262729}.custom-theme .el-table-filter__bottom button:focus{outline:0}.custom-theme .el-table-filter__bottom button.is-disabled{color:#b4bccc;cursor:not-allowed}.custom-theme .el-table-filter__checkbox-group{padding:10px}.custom-theme .el-table-filter__checkbox-group label.el-checkbox{display:block;margin-bottom:8px;margin-left:5px}.custom-theme .el-table-filter__checkbox-group .el-checkbox:last-child{margin-bottom:0}.custom-theme .el-date-table{font-size:12px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.custom-theme .el-date-table.is-week-mode .el-date-table__row:hover div{background-color:#edf2fc}.custom-theme .el-date-table.is-week-mode .el-date-table__row:hover td.available:hover{color:#5a5e66}.custom-theme .el-date-table.is-week-mode .el-date-table__row:hover td:first-child div{margin-left:5px;border-top-left-radius:15px;border-bottom-left-radius:15px}.custom-theme .el-date-table.is-week-mode .el-date-table__row:hover td:last-child div{margin-right:5px;border-top-right-radius:15px;border-bottom-right-radius:15px}.custom-theme .el-date-table.is-week-mode .el-date-table__row.current div{background-color:#edf2fc}.custom-theme .el-date-table td{width:32px;height:30px;padding:4px 0;-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;cursor:pointer;position:relative}.custom-theme .el-date-table td div{height:30px;padding:3px 0;-webkit-box-sizing:border-box;box-sizing:border-box}.custom-theme .el-date-table td span{width:24px;height:24px;display:block;margin:0 auto;line-height:24px;position:absolute;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);border-radius:50%}.custom-theme .el-date-table td.next-month,.custom-theme .el-date-table td.prev-month{color:#b4bccc}.custom-theme .el-date-table td.today{position:relative}.custom-theme .el-date-table td.today span{color:#262729}.custom-theme .el-date-table td.today.end-date span,.custom-theme .el-date-table td.today.start-date span{color:#fff}.custom-theme .el-date-table td.available:hover{color:#262729}.custom-theme .el-date-table td.in-range div{background-color:#edf2fc}.custom-theme .el-date-table td.in-range div:hover{background-color:#edf2fc}.custom-theme .el-date-table td.current:not(.disabled) span{color:#fff;background-color:#262729}.custom-theme .el-date-table td.end-date div,.custom-theme .el-date-table td.start-date div{color:#fff}.custom-theme .el-date-table td.end-date span,.custom-theme .el-date-table td.start-date span{background-color:#262729}.custom-theme .el-date-table td.start-date div{margin-left:5px;border-top-left-radius:15px;border-bottom-left-radius:15px}.custom-theme .el-date-table td.end-date div{margin-right:5px;border-top-right-radius:15px;border-bottom-right-radius:15px}.custom-theme .el-date-table td.disabled div{background-color:#f5f7fa;opacity:1;cursor:not-allowed;color:#b4bccc}.custom-theme .el-date-table td.week{font-size:80%;color:#5a5e66}.custom-theme .el-date-table th{padding:5px;color:#5a5e66;font-weight:400;border-bottom:solid 1px #e6ebf5}.custom-theme .el-month-table{font-size:12px;margin:-1px;border-collapse:collapse}.custom-theme .el-month-table td{text-align:center;padding:20px 3px;cursor:pointer}.custom-theme .el-month-table td.disabled .cell{background-color:#f5f7fa;cursor:not-allowed;color:#b4bccc}.custom-theme .el-month-table td.disabled .cell:hover{color:#b4bccc}.custom-theme .el-month-table td .cell{width:48px;height:32px;display:block;line-height:32px;color:#5a5e66;margin:0 auto}.custom-theme .el-month-table td .cell:hover{color:#262729}.custom-theme .el-month-table td.current:not(.disabled) .cell{color:#262729}.custom-theme .el-year-table{font-size:12px;margin:-1px;border-collapse:collapse}.custom-theme .el-year-table .el-icon{color:#2d2f33}.custom-theme .el-year-table td{text-align:center;padding:20px 3px;cursor:pointer}.custom-theme .el-year-table td.disabled .cell{background-color:#f5f7fa;cursor:not-allowed;color:#b4bccc}.custom-theme .el-year-table td.disabled .cell:hover{color:#b4bccc}.custom-theme .el-year-table td .cell{width:48px;height:32px;display:block;line-height:32px;color:#5a5e66;margin:0 auto}.custom-theme .el-year-table td .cell:hover{color:#262729}.custom-theme .el-year-table td.current:not(.disabled) .cell{color:#262729}.custom-theme .el-time-spinner.has-seconds .el-time-spinner__wrapper{width:33.3%}.custom-theme .el-time-spinner.has-seconds .el-time-spinner__wrapper:nth-child(2){margin-left:1%}.custom-theme .el-time-spinner__wrapper{max-height:190px;overflow:auto;display:inline-block;width:50%;vertical-align:top;position:relative}.custom-theme .el-time-spinner__wrapper .el-scrollbar__wrap:not(.el-scrollbar__wrap--hidden-default){padding-bottom:15px}.custom-theme .el-time-spinner__wrapper.is-arrow{-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;overflow:hidden}.custom-theme .el-time-spinner__wrapper.is-arrow .el-time-spinner__list{-webkit-transform:translateY(-32px);transform:translateY(-32px)}.custom-theme .el-time-spinner__wrapper.is-arrow .el-time-spinner__item:hover:not(.disabled):not(.active){background:#fff;cursor:default}.custom-theme .el-time-spinner__arrow{font-size:12px;color:#878d99;position:absolute;left:0;width:100%;z-index:1;text-align:center;height:30px;line-height:30px;cursor:pointer}.custom-theme .el-time-spinner__arrow:hover{color:#262729}.custom-theme .el-time-spinner__arrow.el-icon-arrow-up{top:10px}.custom-theme .el-time-spinner__arrow.el-icon-arrow-down{bottom:10px}.custom-theme .el-time-spinner__input.el-input{width:70%}.custom-theme .el-time-spinner__input.el-input .el-input__inner{padding:0;text-align:center}.custom-theme .el-time-spinner__list{padding:0;margin:0;list-style:none;text-align:center}.custom-theme .el-time-spinner__list::after,.custom-theme .el-time-spinner__list::before{content:'';display:block;width:100%;height:80px}.custom-theme .el-time-spinner__item{height:32px;line-height:32px;font-size:12px;color:#5a5e66}.custom-theme .el-time-spinner__item:hover:not(.disabled):not(.active){background:#f5f7fa;cursor:pointer}.custom-theme .el-time-spinner__item.active:not(.disabled){color:#2d2f33;font-weight:700}.custom-theme .el-time-spinner__item.disabled{color:#b4bccc;cursor:not-allowed}.custom-theme .fade-in-linear-enter-active,.custom-theme .fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.custom-theme .fade-in-linear-enter,.custom-theme .fade-in-linear-leave,.custom-theme .fade-in-linear-leave-active{opacity:0}.custom-theme .el-fade-in-linear-enter-active,.custom-theme .el-fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.custom-theme .el-fade-in-linear-enter,.custom-theme .el-fade-in-linear-leave,.custom-theme .el-fade-in-linear-leave-active{opacity:0}.custom-theme .el-fade-in-enter-active,.custom-theme .el-fade-in-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.custom-theme .el-fade-in-enter,.custom-theme .el-fade-in-leave-active{opacity:0}.custom-theme .el-zoom-in-center-enter-active,.custom-theme .el-zoom-in-center-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.custom-theme .el-zoom-in-center-enter,.custom-theme .el-zoom-in-center-leave-active{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}.custom-theme .el-zoom-in-top-enter-active,.custom-theme .el-zoom-in-top-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;transition:opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;transition:transform .3s cubic-bezier(.23,1,.32,1) .1s,opacity .3s cubic-bezier(.23,1,.32,1) .1s;transition:transform .3s cubic-bezier(.23,1,.32,1) .1s,opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;-webkit-transform-origin:center top;transform-origin:center top}.custom-theme .el-zoom-in-top-enter,.custom-theme .el-zoom-in-top-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.custom-theme .el-zoom-in-bottom-enter-active,.custom-theme .el-zoom-in-bottom-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;transition:opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;transition:transform .3s cubic-bezier(.23,1,.32,1) .1s,opacity .3s cubic-bezier(.23,1,.32,1) .1s;transition:transform .3s cubic-bezier(.23,1,.32,1) .1s,opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;-webkit-transform-origin:center bottom;transform-origin:center bottom}.custom-theme .el-zoom-in-bottom-enter,.custom-theme .el-zoom-in-bottom-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.custom-theme .el-zoom-in-left-enter-active,.custom-theme .el-zoom-in-left-leave-active{opacity:1;-webkit-transform:scale(1,1);transform:scale(1,1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;transition:opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;transition:transform .3s cubic-bezier(.23,1,.32,1) .1s,opacity .3s cubic-bezier(.23,1,.32,1) .1s;transition:transform .3s cubic-bezier(.23,1,.32,1) .1s,opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;-webkit-transform-origin:top left;transform-origin:top left}.custom-theme .el-zoom-in-left-enter,.custom-theme .el-zoom-in-left-leave-active{opacity:0;-webkit-transform:scale(.45,.45);transform:scale(.45,.45)}.custom-theme .collapse-transition{-webkit-transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out;transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out}.custom-theme .horizontal-collapse-transition{-webkit-transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out;transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out}.custom-theme .el-list-enter-active,.custom-theme .el-list-leave-active{-webkit-transition:all 1s;transition:all 1s}.custom-theme .el-list-enter,.custom-theme .el-list-leave-active{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}.custom-theme .el-opacity-transition{-webkit-transition:opacity .3s cubic-bezier(.55,0,.1,1);transition:opacity .3s cubic-bezier(.55,0,.1,1)}.custom-theme .el-date-editor{position:relative;display:inline-block;text-align:left}.custom-theme .el-date-editor.el-input,.custom-theme .el-date-editor.el-input__inner{width:220px}.custom-theme .el-date-editor--daterange.el-input,.custom-theme .el-date-editor--daterange.el-input__inner,.custom-theme .el-date-editor--timerange.el-input,.custom-theme .el-date-editor--timerange.el-input__inner{width:350px}.custom-theme .el-date-editor--datetimerange.el-input,.custom-theme .el-date-editor--datetimerange.el-input__inner{width:400px}.custom-theme .el-date-editor .el-range__icon{font-size:14px;margin-left:-5px;color:#b4bccc;float:left;line-height:32px}.custom-theme .el-date-editor .el-range-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;outline:0;display:inline-block;height:100%;margin:0;padding:0;width:39%;text-align:center;font-size:14px;color:#5a5e66}.custom-theme .el-date-editor .el-range-input::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-date-editor .el-range-input:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-date-editor .el-range-input::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-date-editor .el-range-input::placeholder{color:#b4bccc}.custom-theme .el-date-editor .el-range-separator{display:inline-block;height:100%;padding:0 5px;margin:0;text-align:center;line-height:32px;font-size:14px;width:5%;color:#2d2f33}.custom-theme .el-date-editor .el-range__close-icon{font-size:14px;color:#b4bccc;width:25px;display:inline-block;float:right;line-height:32px}.custom-theme .el-range-editor.el-input__inner{padding:3px 10px}.custom-theme .el-range-editor.is-active{border-color:#262729}.custom-theme .el-range-editor.is-active:hover{border-color:#262729}.custom-theme .el-range-editor--medium.el-input__inner{height:36px}.custom-theme .el-range-editor--medium .el-range-separator{line-height:28px;font-size:14px}.custom-theme .el-range-editor--medium .el-range-input{font-size:14px}.custom-theme .el-range-editor--medium .el-range__close-icon,.custom-theme .el-range-editor--medium .el-range__icon{line-height:28px}.custom-theme .el-range-editor--small.el-input__inner{height:32px}.custom-theme .el-range-editor--small .el-range-separator{line-height:24px;font-size:13px}.custom-theme .el-range-editor--small .el-range-input{font-size:13px}.custom-theme .el-range-editor--small .el-range__close-icon,.custom-theme .el-range-editor--small .el-range__icon{line-height:24px}.custom-theme .el-range-editor--mini.el-input__inner{height:28px}.custom-theme .el-range-editor--mini .el-range-separator{line-height:20px;font-size:12px}.custom-theme .el-range-editor--mini .el-range-input{font-size:12px}.custom-theme .el-range-editor--mini .el-range__close-icon,.custom-theme .el-range-editor--mini .el-range__icon{line-height:20px}.custom-theme .el-range-editor.is-disabled{background-color:#f5f7fa;border-color:#dfe4ed;color:#b4bccc;cursor:not-allowed}.custom-theme .el-range-editor.is-disabled:focus,.custom-theme .el-range-editor.is-disabled:hover{border-color:#dfe4ed}.custom-theme .el-range-editor.is-disabled input{background-color:#f5f7fa;color:#b4bccc;cursor:not-allowed}.custom-theme .el-range-editor.is-disabled input::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-range-editor.is-disabled input:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-range-editor.is-disabled input::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-range-editor.is-disabled input::placeholder{color:#b4bccc}.custom-theme .el-range-editor.is-disabled .el-range-separator{color:#b4bccc}.custom-theme .el-picker-panel{color:#5a5e66;border:1px solid #dfe4ed;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);background:#fff;border-radius:4px;line-height:30px;margin:5px 0}.custom-theme .el-picker-panel__body-wrapper::after,.custom-theme .el-picker-panel__body::after{content:"";display:table;clear:both}.custom-theme .el-picker-panel__content{position:relative;margin:15px}.custom-theme .el-picker-panel__footer{border-top:1px solid #e4e4e4;padding:4px;text-align:right;background-color:#fff;position:relative;font-size:0}.custom-theme .el-picker-panel__shortcut{display:block;width:100%;border:0;background-color:transparent;line-height:28px;font-size:14px;color:#5a5e66;padding-left:12px;text-align:left;outline:0;cursor:pointer}.custom-theme .el-picker-panel__shortcut:hover{color:#262729}.custom-theme .el-picker-panel__shortcut.active{background-color:#e6f1fe;color:#262729}.custom-theme .el-picker-panel__btn{border:1px solid #dcdcdc;color:#333;line-height:24px;border-radius:2px;padding:0 20px;cursor:pointer;background-color:transparent;outline:0;font-size:12px}.custom-theme .el-picker-panel__btn[disabled]{color:#ccc;cursor:not-allowed}.custom-theme .el-picker-panel__icon-btn{font-size:12px;color:#2d2f33;border:0;background:0 0;cursor:pointer;outline:0;margin-top:8px}.custom-theme .el-picker-panel__icon-btn:hover{color:#262729}.custom-theme .el-picker-panel__icon-btn.is-disabled{color:#bbb}.custom-theme .el-picker-panel__icon-btn.is-disabled:hover{cursor:not-allowed}.custom-theme .el-picker-panel__link-btn{vertical-align:middle}.custom-theme .el-picker-panel .popper__arrow{-webkit-transform:translateX(-400%);transform:translateX(-400%)}.custom-theme .el-picker-panel [slot=sidebar],.custom-theme .el-picker-panel__sidebar{position:absolute;top:0;bottom:0;width:110px;border-right:1px solid #e4e4e4;-webkit-box-sizing:border-box;box-sizing:border-box;padding-top:6px;background-color:#fff;overflow:auto}.custom-theme .el-picker-panel [slot=sidebar]+.el-picker-panel__body,.custom-theme .el-picker-panel__sidebar+.el-picker-panel__body{margin-left:110px}.custom-theme .el-date-picker{width:322px}.custom-theme .el-date-picker.has-sidebar.has-time{width:434px}.custom-theme .el-date-picker.has-sidebar{width:438px}.custom-theme .el-date-picker.has-time .el-picker-panel__body-wrapper{position:relative}.custom-theme .el-date-picker .el-picker-panel__content{width:292px}.custom-theme .el-date-picker table{table-layout:fixed;width:100%}.custom-theme .el-date-picker__editor-wrap{position:relative;display:table-cell;padding:0 5px}.custom-theme .el-date-picker__time-header{position:relative;border-bottom:1px solid #e4e4e4;font-size:12px;padding:8px 5px 5px 5px;display:table;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.custom-theme .el-date-picker__header{margin:12px;text-align:center}.custom-theme .el-date-picker__header--bordered{margin-bottom:0;padding-bottom:12px;border-bottom:solid 1px #e6ebf5}.custom-theme .el-date-picker__header--bordered+.el-picker-panel__content{margin-top:0}.custom-theme .el-date-picker__header-label{font-size:16px;font-weight:500;padding:0 5px;line-height:22px;text-align:center;cursor:pointer;color:#5a5e66}.custom-theme .el-date-picker__header-label:hover{color:#262729}.custom-theme .el-date-picker__header-label.active{color:#262729}.custom-theme .el-date-picker__prev-btn{float:left}.custom-theme .el-date-picker__next-btn{float:right}.custom-theme .el-date-picker__time-wrap{padding:10px;text-align:center}.custom-theme .el-date-picker__time-label{float:left;cursor:pointer;line-height:30px;margin-left:10px}.custom-theme .el-date-range-picker{width:646px}.custom-theme .el-date-range-picker.has-sidebar{width:756px}.custom-theme .el-date-range-picker table{table-layout:fixed;width:100%}.custom-theme .el-date-range-picker .el-picker-panel__body{min-width:513px}.custom-theme .el-date-range-picker .el-picker-panel__content{margin:0}.custom-theme .el-date-range-picker__header{position:relative;text-align:center;height:28px}.custom-theme .el-date-range-picker__header [class*=arrow-left]{float:left}.custom-theme .el-date-range-picker__header [class*=arrow-right]{float:right}.custom-theme .el-date-range-picker__header div{font-size:16px;font-weight:500;margin-right:50px}.custom-theme .el-date-range-picker__content{float:left;width:50%;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:16px}.custom-theme .el-date-range-picker__content.is-left{border-right:1px solid #e4e4e4}.custom-theme .el-date-range-picker__content.is-right .el-date-range-picker__header div{margin-left:50px;margin-right:50px}.custom-theme .el-date-range-picker__editors-wrap{-webkit-box-sizing:border-box;box-sizing:border-box;display:table-cell}.custom-theme .el-date-range-picker__editors-wrap.is-right{text-align:right}.custom-theme .el-date-range-picker__time-header{position:relative;border-bottom:1px solid #e4e4e4;font-size:12px;padding:8px 5px 5px 5px;display:table;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.custom-theme .el-date-range-picker__time-header>.el-icon-arrow-right{font-size:20px;vertical-align:middle;display:table-cell;color:#2d2f33}.custom-theme .el-date-range-picker__time-picker-wrap{position:relative;display:table-cell;padding:0 5px}.custom-theme .el-date-range-picker__time-picker-wrap .el-picker-panel{position:absolute;top:13px;right:0;z-index:1;background:#fff}.custom-theme .el-time-range-picker{width:354px;overflow:visible}.custom-theme .el-time-range-picker__content{position:relative;text-align:center;padding:10px}.custom-theme .el-time-range-picker__cell{-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:4px 7px 7px;width:50%;display:inline-block}.custom-theme .el-time-range-picker__header{margin-bottom:5px;text-align:center;font-size:14px}.custom-theme .el-time-range-picker__body{border-radius:2px;border:1px solid #dfe4ed}.custom-theme .el-time-panel{margin:5px 0;border:solid 1px #dfe4ed;background-color:#fff;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);border-radius:2px;position:absolute;width:180px;left:0;z-index:1000;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.custom-theme .el-time-panel__content{font-size:0;position:relative;overflow:hidden}.custom-theme .el-time-panel__content::after,.custom-theme .el-time-panel__content::before{content:"";top:50%;position:absolute;margin-top:-15px;height:32px;z-index:-1;left:0;right:0;-webkit-box-sizing:border-box;box-sizing:border-box;padding-top:6px;text-align:left;border-top:1px solid #dfe4ed;border-bottom:1px solid #dfe4ed}.custom-theme .el-time-panel__content::after{left:50%;margin-left:12%;margin-right:12%}.custom-theme .el-time-panel__content::before{padding-left:50%;margin-right:12%;margin-left:12%}.custom-theme .el-time-panel__content.has-seconds::after{left:calc(100% / 3 * 2)}.custom-theme .el-time-panel__content.has-seconds::before{padding-left:calc(100% / 3)}.custom-theme .el-time-panel__footer{border-top:1px solid #e4e4e4;padding:4px;height:36px;line-height:25px;text-align:right;-webkit-box-sizing:border-box;box-sizing:border-box}.custom-theme .el-time-panel__btn{border:none;line-height:28px;padding:0 5px;margin:0 5px;cursor:pointer;background-color:transparent;outline:0;font-size:12px;color:#2d2f33}.custom-theme .el-time-panel__btn.confirm{font-weight:800;color:#262729}.custom-theme .el-time-panel .popper__arrow{-webkit-transform:translateX(-400%);transform:translateX(-400%)}.custom-theme .el-input{position:relative;font-size:14px;display:inline-block;width:100%}.custom-theme .el-input::-webkit-scrollbar{z-index:11;width:6px}.custom-theme .el-input::-webkit-scrollbar:horizontal{height:6px}.custom-theme .el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.custom-theme .el-input::-webkit-scrollbar-corner{background:#fff}.custom-theme .el-input::-webkit-scrollbar-track{background:#fff}.custom-theme .el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.custom-theme .el-input__inner{-webkit-appearance:none;background-color:#fff;background-image:none;border-radius:4px;border:1px solid #d8dce5;-webkit-box-sizing:border-box;box-sizing:border-box;color:#5a5e66;display:inline-block;font-size:inherit;height:40px;line-height:1;outline:0;padding:0 15px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.custom-theme .el-input__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner::placeholder{color:#b4bccc}.custom-theme .el-input__inner:hover{border-color:#b4bccc}.custom-theme .el-input__inner:focus{outline:0;border-color:#262729}.custom-theme .el-input__suffix{position:absolute;height:100%;right:5px;top:0;text-align:center;color:#b4bccc;-webkit-transition:all .3s;transition:all .3s;pointer-events:none}.custom-theme .el-input__suffix-inner{pointer-events:all}.custom-theme .el-input__prefix{position:absolute;height:100%;left:5px;top:0;text-align:center;color:#b4bccc;-webkit-transition:all .3s;transition:all .3s}.custom-theme .el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.custom-theme .el-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.custom-theme .el-input__validateIcon{pointer-events:none}.custom-theme .el-input.is-active .el-input__inner{outline:0;border-color:#262729}.custom-theme .el-input.is-disabled .el-input__inner{background-color:#f5f7fa;border-color:#dfe4ed;color:#b4bccc;cursor:not-allowed}.custom-theme .el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner::placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__icon{cursor:not-allowed}.custom-theme .el-input--suffix .el-input__inner{padding-right:30px}.custom-theme .el-input--prefix .el-input__inner{padding-left:30px}.custom-theme .el-input--medium{font-size:14px}.custom-theme .el-input--medium .el-input__inner{height:36px}.custom-theme .el-input--medium .el-input__icon{line-height:36px}.custom-theme .el-input--small{font-size:13px}.custom-theme .el-input--small .el-input__inner{height:32px}.custom-theme .el-input--small .el-input__icon{line-height:32px}.custom-theme .el-input--mini{font-size:12px}.custom-theme .el-input--mini .el-input__inner{height:28px}.custom-theme .el-input--mini .el-input__icon{line-height:28px}.custom-theme .el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate}.custom-theme .el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.custom-theme .el-input-group__append,.custom-theme .el-input-group__prepend{background-color:#f5f7fa;color:#0a76a4;vertical-align:middle;display:table-cell;position:relative;border:1px solid #d8dce5;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.custom-theme .el-input-group__append:focus,.custom-theme .el-input-group__prepend:focus{outline:0}.custom-theme .el-input-group__append .el-button,.custom-theme .el-input-group__append .el-select,.custom-theme .el-input-group__prepend .el-button,.custom-theme .el-input-group__prepend .el-select{display:inline-block;margin:-20px}.custom-theme .el-input-group__append button.el-button,.custom-theme .el-input-group__append div.el-select .el-input__inner,.custom-theme .el-input-group__append div.el-select:hover .el-input__inner,.custom-theme .el-input-group__prepend button.el-button,.custom-theme .el-input-group__prepend div.el-select .el-input__inner,.custom-theme .el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.custom-theme .el-input-group__append .el-button,.custom-theme .el-input-group__append .el-input,.custom-theme .el-input-group__prepend .el-button,.custom-theme .el-input-group__prepend .el-input{font-size:inherit}.custom-theme .el-input-group__prepend{border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.custom-theme .el-input-group__append{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.custom-theme .el-input-group--prepend .el-input__inner{border-top-left-radius:0;border-bottom-left-radius:0}.custom-theme .el-input-group--append .el-input__inner{border-top-right-radius:0;border-bottom-right-radius:0}.custom-theme .el-textarea{display:inline-block;width:100%;vertical-align:bottom}.custom-theme .el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;font-size:14px;color:#5a5e66;background-color:#fff;background-image:none;border:1px solid #d8dce5;border-radius:4px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.custom-theme .el-textarea__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner::placeholder{color:#b4bccc}.custom-theme .el-textarea__inner:hover{border-color:#b4bccc}.custom-theme .el-textarea__inner:focus{outline:0;border-color:#262729}.custom-theme .el-textarea.is-disabled .el-textarea__inner{background-color:#f5f7fa;border-color:#dfe4ed;color:#b4bccc;cursor:not-allowed}.custom-theme .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner::placeholder{color:#b4bccc}.custom-theme .el-scrollbar{overflow:hidden;position:relative}.custom-theme .el-scrollbar:active>.el-scrollbar__bar,.custom-theme .el-scrollbar:focus>.el-scrollbar__bar,.custom-theme .el-scrollbar:hover>.el-scrollbar__bar{opacity:1;-webkit-transition:opacity 340ms ease-out;transition:opacity 340ms ease-out}.custom-theme .el-scrollbar__wrap{overflow:scroll;height:100%}.custom-theme .el-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.custom-theme .el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(135,141,153,.3);-webkit-transition:.3s background-color;transition:.3s background-color}.custom-theme .el-scrollbar__thumb:hover{background-color:rgba(135,141,153,.5)}.custom-theme .el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px;opacity:0;-webkit-transition:opacity 120ms ease-out;transition:opacity 120ms ease-out}.custom-theme .el-scrollbar__bar.is-vertical{width:6px;top:2px}.custom-theme .el-scrollbar__bar.is-vertical>div{width:100%}.custom-theme .el-scrollbar__bar.is-horizontal{height:6px;left:2px}.custom-theme .el-scrollbar__bar.is-horizontal>div{height:100%}.custom-theme .el-popper .popper__arrow,.custom-theme .el-popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.custom-theme .el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.custom-theme .el-popper .popper__arrow::after{content:" ";border-width:6px}.custom-theme .el-popper[x-placement^=top]{margin-bottom:12px}.custom-theme .el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#e6ebf5;border-bottom-width:0}.custom-theme .el-popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-6px;border-top-color:#fff;border-bottom-width:0}.custom-theme .el-popper[x-placement^=bottom]{margin-top:12px}.custom-theme .el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#e6ebf5}.custom-theme .el-popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#fff}.custom-theme .el-popper[x-placement^=right]{margin-left:12px}.custom-theme .el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#e6ebf5;border-left-width:0}.custom-theme .el-popper[x-placement^=right] .popper__arrow::after{bottom:-6px;left:1px;border-right-color:#fff;border-left-width:0}.custom-theme .el-popper[x-placement^=left]{margin-right:12px}.custom-theme .el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#e6ebf5}.custom-theme .el-popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#fff}.custom-theme .fade-in-linear-enter-active,.custom-theme .fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.custom-theme .fade-in-linear-enter,.custom-theme .fade-in-linear-leave,.custom-theme .fade-in-linear-leave-active{opacity:0}.custom-theme .el-fade-in-linear-enter-active,.custom-theme .el-fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.custom-theme .el-fade-in-linear-enter,.custom-theme .el-fade-in-linear-leave,.custom-theme .el-fade-in-linear-leave-active{opacity:0}.custom-theme .el-fade-in-enter-active,.custom-theme .el-fade-in-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.custom-theme .el-fade-in-enter,.custom-theme .el-fade-in-leave-active{opacity:0}.custom-theme .el-zoom-in-center-enter-active,.custom-theme .el-zoom-in-center-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.custom-theme .el-zoom-in-center-enter,.custom-theme .el-zoom-in-center-leave-active{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}.custom-theme .el-zoom-in-top-enter-active,.custom-theme .el-zoom-in-top-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;transition:opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;transition:transform .3s cubic-bezier(.23,1,.32,1) .1s,opacity .3s cubic-bezier(.23,1,.32,1) .1s;transition:transform .3s cubic-bezier(.23,1,.32,1) .1s,opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;-webkit-transform-origin:center top;transform-origin:center top}.custom-theme .el-zoom-in-top-enter,.custom-theme .el-zoom-in-top-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.custom-theme .el-zoom-in-bottom-enter-active,.custom-theme .el-zoom-in-bottom-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;transition:opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;transition:transform .3s cubic-bezier(.23,1,.32,1) .1s,opacity .3s cubic-bezier(.23,1,.32,1) .1s;transition:transform .3s cubic-bezier(.23,1,.32,1) .1s,opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;-webkit-transform-origin:center bottom;transform-origin:center bottom}.custom-theme .el-zoom-in-bottom-enter,.custom-theme .el-zoom-in-bottom-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.custom-theme .el-zoom-in-left-enter-active,.custom-theme .el-zoom-in-left-leave-active{opacity:1;-webkit-transform:scale(1,1);transform:scale(1,1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;transition:opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;transition:transform .3s cubic-bezier(.23,1,.32,1) .1s,opacity .3s cubic-bezier(.23,1,.32,1) .1s;transition:transform .3s cubic-bezier(.23,1,.32,1) .1s,opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;-webkit-transform-origin:top left;transform-origin:top left}.custom-theme .el-zoom-in-left-enter,.custom-theme .el-zoom-in-left-leave-active{opacity:0;-webkit-transform:scale(.45,.45);transform:scale(.45,.45)}.custom-theme .collapse-transition{-webkit-transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out;transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out}.custom-theme .horizontal-collapse-transition{-webkit-transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out;transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out}.custom-theme .el-list-enter-active,.custom-theme .el-list-leave-active{-webkit-transition:all 1s;transition:all 1s}.custom-theme .el-list-enter,.custom-theme .el-list-leave-active{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}.custom-theme .el-opacity-transition{-webkit-transition:opacity .3s cubic-bezier(.55,0,.1,1);transition:opacity .3s cubic-bezier(.55,0,.1,1)}.custom-theme .el-date-editor{position:relative;display:inline-block;text-align:left}.custom-theme .el-date-editor.el-input,.custom-theme .el-date-editor.el-input__inner{width:220px}.custom-theme .el-date-editor--daterange.el-input,.custom-theme .el-date-editor--daterange.el-input__inner,.custom-theme .el-date-editor--timerange.el-input,.custom-theme .el-date-editor--timerange.el-input__inner{width:350px}.custom-theme .el-date-editor--datetimerange.el-input,.custom-theme .el-date-editor--datetimerange.el-input__inner{width:400px}.custom-theme .el-date-editor .el-range__icon{font-size:14px;margin-left:-5px;color:#b4bccc;float:left;line-height:32px}.custom-theme .el-date-editor .el-range-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;outline:0;display:inline-block;height:100%;margin:0;padding:0;width:39%;text-align:center;font-size:14px;color:#5a5e66}.custom-theme .el-date-editor .el-range-input::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-date-editor .el-range-input:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-date-editor .el-range-input::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-date-editor .el-range-input::placeholder{color:#b4bccc}.custom-theme .el-date-editor .el-range-separator{display:inline-block;height:100%;padding:0 5px;margin:0;text-align:center;line-height:32px;font-size:14px;width:5%;color:#2d2f33}.custom-theme .el-date-editor .el-range__close-icon{font-size:14px;color:#b4bccc;width:25px;display:inline-block;float:right;line-height:32px}.custom-theme .el-range-editor.el-input__inner{padding:3px 10px}.custom-theme .el-range-editor.is-active{border-color:#262729}.custom-theme .el-range-editor.is-active:hover{border-color:#262729}.custom-theme .el-range-editor--medium.el-input__inner{height:36px}.custom-theme .el-range-editor--medium .el-range-separator{line-height:28px;font-size:14px}.custom-theme .el-range-editor--medium .el-range-input{font-size:14px}.custom-theme .el-range-editor--medium .el-range__close-icon,.custom-theme .el-range-editor--medium .el-range__icon{line-height:28px}.custom-theme .el-range-editor--small.el-input__inner{height:32px}.custom-theme .el-range-editor--small .el-range-separator{line-height:24px;font-size:13px}.custom-theme .el-range-editor--small .el-range-input{font-size:13px}.custom-theme .el-range-editor--small .el-range__close-icon,.custom-theme .el-range-editor--small .el-range__icon{line-height:24px}.custom-theme .el-range-editor--mini.el-input__inner{height:28px}.custom-theme .el-range-editor--mini .el-range-separator{line-height:20px;font-size:12px}.custom-theme .el-range-editor--mini .el-range-input{font-size:12px}.custom-theme .el-range-editor--mini .el-range__close-icon,.custom-theme .el-range-editor--mini .el-range__icon{line-height:20px}.custom-theme .el-range-editor.is-disabled{background-color:#f5f7fa;border-color:#dfe4ed;color:#b4bccc;cursor:not-allowed}.custom-theme .el-range-editor.is-disabled:focus,.custom-theme .el-range-editor.is-disabled:hover{border-color:#dfe4ed}.custom-theme .el-range-editor.is-disabled input{background-color:#f5f7fa;color:#b4bccc;cursor:not-allowed}.custom-theme .el-range-editor.is-disabled input::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-range-editor.is-disabled input:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-range-editor.is-disabled input::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-range-editor.is-disabled input::placeholder{color:#b4bccc}.custom-theme .el-range-editor.is-disabled .el-range-separator{color:#b4bccc}.custom-theme .el-picker-panel{color:#5a5e66;border:1px solid #dfe4ed;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);background:#fff;border-radius:4px;line-height:30px;margin:5px 0}.custom-theme .el-picker-panel__body-wrapper::after,.custom-theme .el-picker-panel__body::after{content:"";display:table;clear:both}.custom-theme .el-picker-panel__content{position:relative;margin:15px}.custom-theme .el-picker-panel__footer{border-top:1px solid #e4e4e4;padding:4px;text-align:right;background-color:#fff;position:relative;font-size:0}.custom-theme .el-picker-panel__shortcut{display:block;width:100%;border:0;background-color:transparent;line-height:28px;font-size:14px;color:#5a5e66;padding-left:12px;text-align:left;outline:0;cursor:pointer}.custom-theme .el-picker-panel__shortcut:hover{color:#262729}.custom-theme .el-picker-panel__shortcut.active{background-color:#e6f1fe;color:#262729}.custom-theme .el-picker-panel__btn{border:1px solid #dcdcdc;color:#333;line-height:24px;border-radius:2px;padding:0 20px;cursor:pointer;background-color:transparent;outline:0;font-size:12px}.custom-theme .el-picker-panel__btn[disabled]{color:#ccc;cursor:not-allowed}.custom-theme .el-picker-panel__icon-btn{font-size:12px;color:#2d2f33;border:0;background:0 0;cursor:pointer;outline:0;margin-top:8px}.custom-theme .el-picker-panel__icon-btn:hover{color:#262729}.custom-theme .el-picker-panel__icon-btn.is-disabled{color:#bbb}.custom-theme .el-picker-panel__icon-btn.is-disabled:hover{cursor:not-allowed}.custom-theme .el-picker-panel__link-btn{vertical-align:middle}.custom-theme .el-picker-panel .popper__arrow{-webkit-transform:translateX(-400%);transform:translateX(-400%)}.custom-theme .el-picker-panel [slot=sidebar],.custom-theme .el-picker-panel__sidebar{position:absolute;top:0;bottom:0;width:110px;border-right:1px solid #e4e4e4;-webkit-box-sizing:border-box;box-sizing:border-box;padding-top:6px;background-color:#fff;overflow:auto}.custom-theme .el-picker-panel [slot=sidebar]+.el-picker-panel__body,.custom-theme .el-picker-panel__sidebar+.el-picker-panel__body{margin-left:110px}.custom-theme .el-date-picker{width:322px}.custom-theme .el-date-picker.has-sidebar.has-time{width:434px}.custom-theme .el-date-picker.has-sidebar{width:438px}.custom-theme .el-date-picker.has-time .el-picker-panel__body-wrapper{position:relative}.custom-theme .el-date-picker .el-picker-panel__content{width:292px}.custom-theme .el-date-picker table{table-layout:fixed;width:100%}.custom-theme .el-date-picker__editor-wrap{position:relative;display:table-cell;padding:0 5px}.custom-theme .el-date-picker__time-header{position:relative;border-bottom:1px solid #e4e4e4;font-size:12px;padding:8px 5px 5px 5px;display:table;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.custom-theme .el-date-picker__header{margin:12px;text-align:center}.custom-theme .el-date-picker__header--bordered{margin-bottom:0;padding-bottom:12px;border-bottom:solid 1px #e6ebf5}.custom-theme .el-date-picker__header--bordered+.el-picker-panel__content{margin-top:0}.custom-theme .el-date-picker__header-label{font-size:16px;font-weight:500;padding:0 5px;line-height:22px;text-align:center;cursor:pointer;color:#5a5e66}.custom-theme .el-date-picker__header-label:hover{color:#262729}.custom-theme .el-date-picker__header-label.active{color:#262729}.custom-theme .el-date-picker__prev-btn{float:left}.custom-theme .el-date-picker__next-btn{float:right}.custom-theme .el-date-picker__time-wrap{padding:10px;text-align:center}.custom-theme .el-date-picker__time-label{float:left;cursor:pointer;line-height:30px;margin-left:10px}.custom-theme .el-scrollbar{overflow:hidden;position:relative}.custom-theme .el-scrollbar:active>.el-scrollbar__bar,.custom-theme .el-scrollbar:focus>.el-scrollbar__bar,.custom-theme .el-scrollbar:hover>.el-scrollbar__bar{opacity:1;-webkit-transition:opacity 340ms ease-out;transition:opacity 340ms ease-out}.custom-theme .el-scrollbar__wrap{overflow:scroll;height:100%}.custom-theme .el-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.custom-theme .el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(135,141,153,.3);-webkit-transition:.3s background-color;transition:.3s background-color}.custom-theme .el-scrollbar__thumb:hover{background-color:rgba(135,141,153,.5)}.custom-theme .el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px;opacity:0;-webkit-transition:opacity 120ms ease-out;transition:opacity 120ms ease-out}.custom-theme .el-scrollbar__bar.is-vertical{width:6px;top:2px}.custom-theme .el-scrollbar__bar.is-vertical>div{width:100%}.custom-theme .el-scrollbar__bar.is-horizontal{height:6px;left:2px}.custom-theme .el-scrollbar__bar.is-horizontal>div{height:100%}.custom-theme .el-popper .popper__arrow,.custom-theme .el-popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.custom-theme .el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.custom-theme .el-popper .popper__arrow::after{content:" ";border-width:6px}.custom-theme .el-popper[x-placement^=top]{margin-bottom:12px}.custom-theme .el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#e6ebf5;border-bottom-width:0}.custom-theme .el-popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-6px;border-top-color:#fff;border-bottom-width:0}.custom-theme .el-popper[x-placement^=bottom]{margin-top:12px}.custom-theme .el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#e6ebf5}.custom-theme .el-popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#fff}.custom-theme .el-popper[x-placement^=right]{margin-left:12px}.custom-theme .el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#e6ebf5;border-left-width:0}.custom-theme .el-popper[x-placement^=right] .popper__arrow::after{bottom:-6px;left:1px;border-right-color:#fff;border-left-width:0}.custom-theme .el-popper[x-placement^=left]{margin-right:12px}.custom-theme .el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#e6ebf5}.custom-theme .el-popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#fff}.custom-theme .time-select{margin:5px 0;min-width:0}.custom-theme .time-select .el-picker-panel__content{max-height:200px;margin:0}.custom-theme .time-select-item{padding:8px 10px;font-size:14px;line-height:20px}.custom-theme .time-select-item.selected:not(.disabled){color:#262729;font-weight:700}.custom-theme .time-select-item.disabled{color:#dfe4ed;cursor:not-allowed}.custom-theme .time-select-item:hover{background-color:#f5f7fa;font-weight:700;cursor:pointer}.custom-theme .fade-in-linear-enter-active,.custom-theme .fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.custom-theme .fade-in-linear-enter,.custom-theme .fade-in-linear-leave,.custom-theme .fade-in-linear-leave-active{opacity:0}.custom-theme .el-fade-in-linear-enter-active,.custom-theme .el-fade-in-linear-leave-active{-webkit-transition:opacity .2s linear;transition:opacity .2s linear}.custom-theme .el-fade-in-linear-enter,.custom-theme .el-fade-in-linear-leave,.custom-theme .el-fade-in-linear-leave-active{opacity:0}.custom-theme .el-fade-in-enter-active,.custom-theme .el-fade-in-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.custom-theme .el-fade-in-enter,.custom-theme .el-fade-in-leave-active{opacity:0}.custom-theme .el-zoom-in-center-enter-active,.custom-theme .el-zoom-in-center-leave-active{-webkit-transition:all .3s cubic-bezier(.55,0,.1,1);transition:all .3s cubic-bezier(.55,0,.1,1)}.custom-theme .el-zoom-in-center-enter,.custom-theme .el-zoom-in-center-leave-active{opacity:0;-webkit-transform:scaleX(0);transform:scaleX(0)}.custom-theme .el-zoom-in-top-enter-active,.custom-theme .el-zoom-in-top-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;transition:opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;transition:transform .3s cubic-bezier(.23,1,.32,1) .1s,opacity .3s cubic-bezier(.23,1,.32,1) .1s;transition:transform .3s cubic-bezier(.23,1,.32,1) .1s,opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;-webkit-transform-origin:center top;transform-origin:center top}.custom-theme .el-zoom-in-top-enter,.custom-theme .el-zoom-in-top-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.custom-theme .el-zoom-in-bottom-enter-active,.custom-theme .el-zoom-in-bottom-leave-active{opacity:1;-webkit-transform:scaleY(1);transform:scaleY(1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;transition:opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;transition:transform .3s cubic-bezier(.23,1,.32,1) .1s,opacity .3s cubic-bezier(.23,1,.32,1) .1s;transition:transform .3s cubic-bezier(.23,1,.32,1) .1s,opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;-webkit-transform-origin:center bottom;transform-origin:center bottom}.custom-theme .el-zoom-in-bottom-enter,.custom-theme .el-zoom-in-bottom-leave-active{opacity:0;-webkit-transform:scaleY(0);transform:scaleY(0)}.custom-theme .el-zoom-in-left-enter-active,.custom-theme .el-zoom-in-left-leave-active{opacity:1;-webkit-transform:scale(1,1);transform:scale(1,1);-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;transition:opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;transition:transform .3s cubic-bezier(.23,1,.32,1) .1s,opacity .3s cubic-bezier(.23,1,.32,1) .1s;transition:transform .3s cubic-bezier(.23,1,.32,1) .1s,opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;-webkit-transform-origin:top left;transform-origin:top left}.custom-theme .el-zoom-in-left-enter,.custom-theme .el-zoom-in-left-leave-active{opacity:0;-webkit-transform:scale(.45,.45);transform:scale(.45,.45)}.custom-theme .collapse-transition{-webkit-transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out;transition:.3s height ease-in-out,.3s padding-top ease-in-out,.3s padding-bottom ease-in-out}.custom-theme .horizontal-collapse-transition{-webkit-transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out;transition:.3s width ease-in-out,.3s padding-left ease-in-out,.3s padding-right ease-in-out}.custom-theme .el-list-enter-active,.custom-theme .el-list-leave-active{-webkit-transition:all 1s;transition:all 1s}.custom-theme .el-list-enter,.custom-theme .el-list-leave-active{opacity:0;-webkit-transform:translateY(-30px);transform:translateY(-30px)}.custom-theme .el-opacity-transition{-webkit-transition:opacity .3s cubic-bezier(.55,0,.1,1);transition:opacity .3s cubic-bezier(.55,0,.1,1)}.custom-theme .el-date-editor{position:relative;display:inline-block;text-align:left}.custom-theme .el-date-editor.el-input,.custom-theme .el-date-editor.el-input__inner{width:220px}.custom-theme .el-date-editor--daterange.el-input,.custom-theme .el-date-editor--daterange.el-input__inner,.custom-theme .el-date-editor--timerange.el-input,.custom-theme .el-date-editor--timerange.el-input__inner{width:350px}.custom-theme .el-date-editor--datetimerange.el-input,.custom-theme .el-date-editor--datetimerange.el-input__inner{width:400px}.custom-theme .el-date-editor .el-range__icon{font-size:14px;margin-left:-5px;color:#b4bccc;float:left;line-height:32px}.custom-theme .el-date-editor .el-range-input{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:none;outline:0;display:inline-block;height:100%;margin:0;padding:0;width:39%;text-align:center;font-size:14px;color:#5a5e66}.custom-theme .el-date-editor .el-range-input::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-date-editor .el-range-input:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-date-editor .el-range-input::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-date-editor .el-range-input::placeholder{color:#b4bccc}.custom-theme .el-date-editor .el-range-separator{display:inline-block;height:100%;padding:0 5px;margin:0;text-align:center;line-height:32px;font-size:14px;width:5%;color:#2d2f33}.custom-theme .el-date-editor .el-range__close-icon{font-size:14px;color:#b4bccc;width:25px;display:inline-block;float:right;line-height:32px}.custom-theme .el-range-editor.el-input__inner{padding:3px 10px}.custom-theme .el-range-editor.is-active{border-color:#262729}.custom-theme .el-range-editor.is-active:hover{border-color:#262729}.custom-theme .el-range-editor--medium.el-input__inner{height:36px}.custom-theme .el-range-editor--medium .el-range-separator{line-height:28px;font-size:14px}.custom-theme .el-range-editor--medium .el-range-input{font-size:14px}.custom-theme .el-range-editor--medium .el-range__close-icon,.custom-theme .el-range-editor--medium .el-range__icon{line-height:28px}.custom-theme .el-range-editor--small.el-input__inner{height:32px}.custom-theme .el-range-editor--small .el-range-separator{line-height:24px;font-size:13px}.custom-theme .el-range-editor--small .el-range-input{font-size:13px}.custom-theme .el-range-editor--small .el-range__close-icon,.custom-theme .el-range-editor--small .el-range__icon{line-height:24px}.custom-theme .el-range-editor--mini.el-input__inner{height:28px}.custom-theme .el-range-editor--mini .el-range-separator{line-height:20px;font-size:12px}.custom-theme .el-range-editor--mini .el-range-input{font-size:12px}.custom-theme .el-range-editor--mini .el-range__close-icon,.custom-theme .el-range-editor--mini .el-range__icon{line-height:20px}.custom-theme .el-range-editor.is-disabled{background-color:#f5f7fa;border-color:#dfe4ed;color:#b4bccc;cursor:not-allowed}.custom-theme .el-range-editor.is-disabled:focus,.custom-theme .el-range-editor.is-disabled:hover{border-color:#dfe4ed}.custom-theme .el-range-editor.is-disabled input{background-color:#f5f7fa;color:#b4bccc;cursor:not-allowed}.custom-theme .el-range-editor.is-disabled input::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-range-editor.is-disabled input:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-range-editor.is-disabled input::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-range-editor.is-disabled input::placeholder{color:#b4bccc}.custom-theme .el-range-editor.is-disabled .el-range-separator{color:#b4bccc}.custom-theme .el-time-spinner.has-seconds .el-time-spinner__wrapper{width:33.3%}.custom-theme .el-time-spinner.has-seconds .el-time-spinner__wrapper:nth-child(2){margin-left:1%}.custom-theme .el-time-spinner__wrapper{max-height:190px;overflow:auto;display:inline-block;width:50%;vertical-align:top;position:relative}.custom-theme .el-time-spinner__wrapper .el-scrollbar__wrap:not(.el-scrollbar__wrap--hidden-default){padding-bottom:15px}.custom-theme .el-time-spinner__wrapper.is-arrow{-webkit-box-sizing:border-box;box-sizing:border-box;text-align:center;overflow:hidden}.custom-theme .el-time-spinner__wrapper.is-arrow .el-time-spinner__list{-webkit-transform:translateY(-32px);transform:translateY(-32px)}.custom-theme .el-time-spinner__wrapper.is-arrow .el-time-spinner__item:hover:not(.disabled):not(.active){background:#fff;cursor:default}.custom-theme .el-time-spinner__arrow{font-size:12px;color:#878d99;position:absolute;left:0;width:100%;z-index:1;text-align:center;height:30px;line-height:30px;cursor:pointer}.custom-theme .el-time-spinner__arrow:hover{color:#262729}.custom-theme .el-time-spinner__arrow.el-icon-arrow-up{top:10px}.custom-theme .el-time-spinner__arrow.el-icon-arrow-down{bottom:10px}.custom-theme .el-time-spinner__input.el-input{width:70%}.custom-theme .el-time-spinner__input.el-input .el-input__inner{padding:0;text-align:center}.custom-theme .el-time-spinner__list{padding:0;margin:0;list-style:none;text-align:center}.custom-theme .el-time-spinner__list::after,.custom-theme .el-time-spinner__list::before{content:'';display:block;width:100%;height:80px}.custom-theme .el-time-spinner__item{height:32px;line-height:32px;font-size:12px;color:#5a5e66}.custom-theme .el-time-spinner__item:hover:not(.disabled):not(.active){background:#f5f7fa;cursor:pointer}.custom-theme .el-time-spinner__item.active:not(.disabled){color:#2d2f33;font-weight:700}.custom-theme .el-time-spinner__item.disabled{color:#b4bccc;cursor:not-allowed}.custom-theme .el-time-panel{margin:5px 0;border:solid 1px #dfe4ed;background-color:#fff;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);border-radius:2px;position:absolute;width:180px;left:0;z-index:1000;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.custom-theme .el-time-panel__content{font-size:0;position:relative;overflow:hidden}.custom-theme .el-time-panel__content::after,.custom-theme .el-time-panel__content::before{content:"";top:50%;position:absolute;margin-top:-15px;height:32px;z-index:-1;left:0;right:0;-webkit-box-sizing:border-box;box-sizing:border-box;padding-top:6px;text-align:left;border-top:1px solid #dfe4ed;border-bottom:1px solid #dfe4ed}.custom-theme .el-time-panel__content::after{left:50%;margin-left:12%;margin-right:12%}.custom-theme .el-time-panel__content::before{padding-left:50%;margin-right:12%;margin-left:12%}.custom-theme .el-time-panel__content.has-seconds::after{left:calc(100% / 3 * 2)}.custom-theme .el-time-panel__content.has-seconds::before{padding-left:calc(100% / 3)}.custom-theme .el-time-panel__footer{border-top:1px solid #e4e4e4;padding:4px;height:36px;line-height:25px;text-align:right;-webkit-box-sizing:border-box;box-sizing:border-box}.custom-theme .el-time-panel__btn{border:none;line-height:28px;padding:0 5px;margin:0 5px;cursor:pointer;background-color:transparent;outline:0;font-size:12px;color:#2d2f33}.custom-theme .el-time-panel__btn.confirm{font-weight:800;color:#262729}.custom-theme .el-time-panel .popper__arrow{-webkit-transform:translateX(-400%);transform:translateX(-400%)}.custom-theme .el-input{position:relative;font-size:14px;display:inline-block;width:100%}.custom-theme .el-input::-webkit-scrollbar{z-index:11;width:6px}.custom-theme .el-input::-webkit-scrollbar:horizontal{height:6px}.custom-theme .el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.custom-theme .el-input::-webkit-scrollbar-corner{background:#fff}.custom-theme .el-input::-webkit-scrollbar-track{background:#fff}.custom-theme .el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.custom-theme .el-input__inner{-webkit-appearance:none;background-color:#fff;background-image:none;border-radius:4px;border:1px solid #d8dce5;-webkit-box-sizing:border-box;box-sizing:border-box;color:#5a5e66;display:inline-block;font-size:inherit;height:40px;line-height:1;outline:0;padding:0 15px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.custom-theme .el-input__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner::placeholder{color:#b4bccc}.custom-theme .el-input__inner:hover{border-color:#b4bccc}.custom-theme .el-input__inner:focus{outline:0;border-color:#262729}.custom-theme .el-input__suffix{position:absolute;height:100%;right:5px;top:0;text-align:center;color:#b4bccc;-webkit-transition:all .3s;transition:all .3s;pointer-events:none}.custom-theme .el-input__suffix-inner{pointer-events:all}.custom-theme .el-input__prefix{position:absolute;height:100%;left:5px;top:0;text-align:center;color:#b4bccc;-webkit-transition:all .3s;transition:all .3s}.custom-theme .el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.custom-theme .el-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.custom-theme .el-input__validateIcon{pointer-events:none}.custom-theme .el-input.is-active .el-input__inner{outline:0;border-color:#262729}.custom-theme .el-input.is-disabled .el-input__inner{background-color:#f5f7fa;border-color:#dfe4ed;color:#b4bccc;cursor:not-allowed}.custom-theme .el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner::placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__icon{cursor:not-allowed}.custom-theme .el-input--suffix .el-input__inner{padding-right:30px}.custom-theme .el-input--prefix .el-input__inner{padding-left:30px}.custom-theme .el-input--medium{font-size:14px}.custom-theme .el-input--medium .el-input__inner{height:36px}.custom-theme .el-input--medium .el-input__icon{line-height:36px}.custom-theme .el-input--small{font-size:13px}.custom-theme .el-input--small .el-input__inner{height:32px}.custom-theme .el-input--small .el-input__icon{line-height:32px}.custom-theme .el-input--mini{font-size:12px}.custom-theme .el-input--mini .el-input__inner{height:28px}.custom-theme .el-input--mini .el-input__icon{line-height:28px}.custom-theme .el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate}.custom-theme .el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.custom-theme .el-input-group__append,.custom-theme .el-input-group__prepend{background-color:#f5f7fa;color:#0a76a4;vertical-align:middle;display:table-cell;position:relative;border:1px solid #d8dce5;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.custom-theme .el-input-group__append:focus,.custom-theme .el-input-group__prepend:focus{outline:0}.custom-theme .el-input-group__append .el-button,.custom-theme .el-input-group__append .el-select,.custom-theme .el-input-group__prepend .el-button,.custom-theme .el-input-group__prepend .el-select{display:inline-block;margin:-20px}.custom-theme .el-input-group__append button.el-button,.custom-theme .el-input-group__append div.el-select .el-input__inner,.custom-theme .el-input-group__append div.el-select:hover .el-input__inner,.custom-theme .el-input-group__prepend button.el-button,.custom-theme .el-input-group__prepend div.el-select .el-input__inner,.custom-theme .el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.custom-theme .el-input-group__append .el-button,.custom-theme .el-input-group__append .el-input,.custom-theme .el-input-group__prepend .el-button,.custom-theme .el-input-group__prepend .el-input{font-size:inherit}.custom-theme .el-input-group__prepend{border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.custom-theme .el-input-group__append{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.custom-theme .el-input-group--prepend .el-input__inner{border-top-left-radius:0;border-bottom-left-radius:0}.custom-theme .el-input-group--append .el-input__inner{border-top-right-radius:0;border-bottom-right-radius:0}.custom-theme .el-textarea{display:inline-block;width:100%;vertical-align:bottom}.custom-theme .el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;font-size:14px;color:#5a5e66;background-color:#fff;background-image:none;border:1px solid #d8dce5;border-radius:4px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.custom-theme .el-textarea__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner::placeholder{color:#b4bccc}.custom-theme .el-textarea__inner:hover{border-color:#b4bccc}.custom-theme .el-textarea__inner:focus{outline:0;border-color:#262729}.custom-theme .el-textarea.is-disabled .el-textarea__inner{background-color:#f5f7fa;border-color:#dfe4ed;color:#b4bccc;cursor:not-allowed}.custom-theme .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner::placeholder{color:#b4bccc}.custom-theme .el-scrollbar{overflow:hidden;position:relative}.custom-theme .el-scrollbar:active>.el-scrollbar__bar,.custom-theme .el-scrollbar:focus>.el-scrollbar__bar,.custom-theme .el-scrollbar:hover>.el-scrollbar__bar{opacity:1;-webkit-transition:opacity 340ms ease-out;transition:opacity 340ms ease-out}.custom-theme .el-scrollbar__wrap{overflow:scroll;height:100%}.custom-theme .el-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.custom-theme .el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(135,141,153,.3);-webkit-transition:.3s background-color;transition:.3s background-color}.custom-theme .el-scrollbar__thumb:hover{background-color:rgba(135,141,153,.5)}.custom-theme .el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px;opacity:0;-webkit-transition:opacity 120ms ease-out;transition:opacity 120ms ease-out}.custom-theme .el-scrollbar__bar.is-vertical{width:6px;top:2px}.custom-theme .el-scrollbar__bar.is-vertical>div{width:100%}.custom-theme .el-scrollbar__bar.is-horizontal{height:6px;left:2px}.custom-theme .el-scrollbar__bar.is-horizontal>div{height:100%}.custom-theme .el-popper .popper__arrow,.custom-theme .el-popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.custom-theme .el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.custom-theme .el-popper .popper__arrow::after{content:" ";border-width:6px}.custom-theme .el-popper[x-placement^=top]{margin-bottom:12px}.custom-theme .el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#e6ebf5;border-bottom-width:0}.custom-theme .el-popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-6px;border-top-color:#fff;border-bottom-width:0}.custom-theme .el-popper[x-placement^=bottom]{margin-top:12px}.custom-theme .el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#e6ebf5}.custom-theme .el-popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#fff}.custom-theme .el-popper[x-placement^=right]{margin-left:12px}.custom-theme .el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#e6ebf5;border-left-width:0}.custom-theme .el-popper[x-placement^=right] .popper__arrow::after{bottom:-6px;left:1px;border-right-color:#fff;border-left-width:0}.custom-theme .el-popper[x-placement^=left]{margin-right:12px}.custom-theme .el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#e6ebf5}.custom-theme .el-popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#fff}.custom-theme .el-popper .popper__arrow,.custom-theme .el-popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.custom-theme .el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.custom-theme .el-popper .popper__arrow::after{content:" ";border-width:6px}.custom-theme .el-popper[x-placement^=top]{margin-bottom:12px}.custom-theme .el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#e6ebf5;border-bottom-width:0}.custom-theme .el-popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-6px;border-top-color:#fff;border-bottom-width:0}.custom-theme .el-popper[x-placement^=bottom]{margin-top:12px}.custom-theme .el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#e6ebf5}.custom-theme .el-popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#fff}.custom-theme .el-popper[x-placement^=right]{margin-left:12px}.custom-theme .el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#e6ebf5;border-left-width:0}.custom-theme .el-popper[x-placement^=right] .popper__arrow::after{bottom:-6px;left:1px;border-right-color:#fff;border-left-width:0}.custom-theme .el-popper[x-placement^=left]{margin-right:12px}.custom-theme .el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#e6ebf5}.custom-theme .el-popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#fff}.custom-theme .el-popover{position:absolute;background:#fff;min-width:150px;border-radius:4px;border:1px solid #e6ebf5;padding:12px;z-index:2000;color:#5a5e66;line-height:1.4;text-align:justify;word-break:break-all;font-size:14px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.custom-theme .el-popover--plain{padding:18px 20px}.custom-theme .el-popover__title{color:#2d2f33;font-size:16px;line-height:1;margin-bottom:12px}.custom-theme .el-tooltip__popper{position:absolute;border-radius:4px;padding:10px;z-index:2000;font-size:12px;line-height:1.2}.custom-theme .el-tooltip__popper .popper__arrow,.custom-theme .el-tooltip__popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.custom-theme .el-tooltip__popper .popper__arrow{border-width:6px}.custom-theme .el-tooltip__popper .popper__arrow::after{content:" ";border-width:5px}.custom-theme .el-tooltip__popper[x-placement^=top]{margin-bottom:12px}.custom-theme .el-tooltip__popper[x-placement^=top] .popper__arrow{bottom:-6px;border-top-color:#2d2f33;border-bottom-width:0}.custom-theme .el-tooltip__popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-5px;border-top-color:#2d2f33;border-bottom-width:0}.custom-theme .el-tooltip__popper[x-placement^=bottom]{margin-top:12px}.custom-theme .el-tooltip__popper[x-placement^=bottom] .popper__arrow{top:-6px;border-top-width:0;border-bottom-color:#2d2f33}.custom-theme .el-tooltip__popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-5px;border-top-width:0;border-bottom-color:#2d2f33}.custom-theme .el-tooltip__popper[x-placement^=right]{margin-left:12px}.custom-theme .el-tooltip__popper[x-placement^=right] .popper__arrow{left:-6px;border-right-color:#2d2f33;border-left-width:0}.custom-theme .el-tooltip__popper[x-placement^=right] .popper__arrow::after{bottom:-5px;left:1px;border-right-color:#2d2f33;border-left-width:0}.custom-theme .el-tooltip__popper[x-placement^=left]{margin-right:12px}.custom-theme .el-tooltip__popper[x-placement^=left] .popper__arrow{right:-6px;border-right-width:0;border-left-color:#2d2f33}.custom-theme .el-tooltip__popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-5px;margin-left:-5px;border-right-width:0;border-left-color:#2d2f33}.custom-theme .el-tooltip__popper.is-dark{background:#2d2f33;color:#fff}.custom-theme .el-tooltip__popper.is-light{background:#fff;border:1px solid #2d2f33}.custom-theme .el-tooltip__popper.is-light[x-placement^=top] .popper__arrow{border-top-color:#2d2f33}.custom-theme .el-tooltip__popper.is-light[x-placement^=top] .popper__arrow::after{border-top-color:#fff}.custom-theme .el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow{border-bottom-color:#2d2f33}.custom-theme .el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow::after{border-bottom-color:#fff}.custom-theme .el-tooltip__popper.is-light[x-placement^=left] .popper__arrow{border-left-color:#2d2f33}.custom-theme .el-tooltip__popper.is-light[x-placement^=left] .popper__arrow::after{border-left-color:#fff}.custom-theme .el-tooltip__popper.is-light[x-placement^=right] .popper__arrow{border-right-color:#2d2f33}.custom-theme .el-tooltip__popper.is-light[x-placement^=right] .popper__arrow::after{border-right-color:#fff}.custom-theme .v-modal-enter{-webkit-animation:v-modal-in .2s ease;animation:v-modal-in .2s ease}.custom-theme .v-modal-leave{-webkit-animation:v-modal-out .2s ease forwards;animation:v-modal-out .2s ease forwards}@keyframes v-modal-in{0%{opacity:0}}@keyframes v-modal-out{100%{opacity:0}}.custom-theme .v-modal{position:fixed;left:0;top:0;width:100%;height:100%;opacity:.5;background:#000}.custom-theme .el-button{display:inline-block;line-height:1;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #d8dce5;border-color:#d8dce5;color:#5a5e66;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;-webkit-transition:.1s;transition:.1s;font-weight:500;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;padding:12px 20px;font-size:14px;border-radius:4px}.custom-theme .el-button+.el-button{margin-left:10px}.custom-theme .el-button.is-round{padding:12px 20px}.custom-theme .el-button:focus,.custom-theme .el-button:hover{color:#262729;border-color:#bebebf;background-color:#e9e9ea}.custom-theme .el-button:active{color:#222325;border-color:#222325;outline:0}.custom-theme .el-button::-moz-focus-inner{border:0}.custom-theme .el-button [class*=el-icon-]+span{margin-left:5px}.custom-theme .el-button.is-plain:focus,.custom-theme .el-button.is-plain:hover{background:#fff;border-color:#262729;color:#262729}.custom-theme .el-button.is-plain:active{background:#fff;border-color:#222325;color:#222325;outline:0}.custom-theme .el-button.is-active{color:#222325;border-color:#222325}.custom-theme .el-button.is-disabled,.custom-theme .el-button.is-disabled:focus,.custom-theme .el-button.is-disabled:hover{color:#b4bccc;cursor:not-allowed;background-image:none;background-color:#fff;border-color:#e6ebf5}.custom-theme .el-button.is-disabled.el-button--text{background-color:transparent}.custom-theme .el-button.is-disabled.is-plain,.custom-theme .el-button.is-disabled.is-plain:focus,.custom-theme .el-button.is-disabled.is-plain:hover{background-color:#fff;border-color:#e6ebf5;color:#b4bccc}.custom-theme .el-button.is-loading{position:relative;pointer-events:none}.custom-theme .el-button.is-loading:before{pointer-events:none;content:'';position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;border-radius:inherit;background-color:rgba(255,255,255,.35)}.custom-theme .el-button.is-round{border-radius:20px;padding:12px 23px}.custom-theme .el-button--primary{color:#fff;background-color:#262729;border-color:#262729}.custom-theme .el-button--primary:focus,.custom-theme .el-button--primary:hover{background:#515254;border-color:#515254;color:#fff}.custom-theme .el-button--primary:active{background:#222325;border-color:#222325;color:#fff;outline:0}.custom-theme .el-button--primary.is-active{background:#222325;border-color:#222325;color:#fff}.custom-theme .el-button--primary.is-disabled,.custom-theme .el-button--primary.is-disabled:active,.custom-theme .el-button--primary.is-disabled:focus,.custom-theme .el-button--primary.is-disabled:hover{color:#fff;background-color:#939394;border-color:#939394}.custom-theme .el-button--primary.is-plain{color:#262729;background:#e9e9ea;border-color:#a8a9a9}.custom-theme .el-button--primary.is-plain:focus,.custom-theme .el-button--primary.is-plain:hover{background:#262729;border-color:#262729;color:#fff}.custom-theme .el-button--primary.is-plain:active{background:#222325;border-color:#222325;color:#fff;outline:0}.custom-theme .el-button--primary.is-plain.is-disabled,.custom-theme .el-button--primary.is-plain.is-disabled:active,.custom-theme .el-button--primary.is-plain.is-disabled:focus,.custom-theme .el-button--primary.is-plain.is-disabled:hover{color:#7d7d7f;background-color:#e9e9ea;border-color:#d4d4d4}.custom-theme .el-button--success{color:#fff;background-color:#409167;border-color:#409167}.custom-theme .el-button--success:focus,.custom-theme .el-button--success:hover{background:#66a785;border-color:#66a785;color:#fff}.custom-theme .el-button--success:active{background:#3a835d;border-color:#3a835d;color:#fff;outline:0}.custom-theme .el-button--success.is-active{background:#3a835d;border-color:#3a835d;color:#fff}.custom-theme .el-button--success.is-disabled,.custom-theme .el-button--success.is-disabled:active,.custom-theme .el-button--success.is-disabled:focus,.custom-theme .el-button--success.is-disabled:hover{color:#fff;background-color:#a0c8b3;border-color:#a0c8b3}.custom-theme .el-button--success.is-plain{color:#409167;background:#ecf4f0;border-color:#b3d3c2}.custom-theme .el-button--success.is-plain:focus,.custom-theme .el-button--success.is-plain:hover{background:#409167;border-color:#409167;color:#fff}.custom-theme .el-button--success.is-plain:active{background:#3a835d;border-color:#3a835d;color:#fff;outline:0}.custom-theme .el-button--success.is-plain.is-disabled,.custom-theme .el-button--success.is-plain.is-disabled:active,.custom-theme .el-button--success.is-plain.is-disabled:focus,.custom-theme .el-button--success.is-plain.is-disabled:hover{color:#8cbda4;background-color:#ecf4f0;border-color:#d9e9e1}.custom-theme .el-button--warning{color:#fff;background-color:#9da408;border-color:#9da408}.custom-theme .el-button--warning:focus,.custom-theme .el-button--warning:hover{background:#b1b639;border-color:#b1b639;color:#fff}.custom-theme .el-button--warning:active{background:#8d9407;border-color:#8d9407;color:#fff;outline:0}.custom-theme .el-button--warning.is-active{background:#8d9407;border-color:#8d9407;color:#fff}.custom-theme .el-button--warning.is-disabled,.custom-theme .el-button--warning.is-disabled:active,.custom-theme .el-button--warning.is-disabled:focus,.custom-theme .el-button--warning.is-disabled:hover{color:#fff;background-color:#ced284;border-color:#ced284}.custom-theme .el-button--warning.is-plain{color:#9da408;background:#f5f6e6;border-color:#d8db9c}.custom-theme .el-button--warning.is-plain:focus,.custom-theme .el-button--warning.is-plain:hover{background:#9da408;border-color:#9da408;color:#fff}.custom-theme .el-button--warning.is-plain:active{background:#8d9407;border-color:#8d9407;color:#fff;outline:0}.custom-theme .el-button--warning.is-plain.is-disabled,.custom-theme .el-button--warning.is-plain.is-disabled:active,.custom-theme .el-button--warning.is-plain.is-disabled:focus,.custom-theme .el-button--warning.is-plain.is-disabled:hover{color:#c4c86b;background-color:#f5f6e6;border-color:#ebedce}.custom-theme .el-button--danger{color:#fff;background-color:#b3450e;border-color:#b3450e}.custom-theme .el-button--danger:focus,.custom-theme .el-button--danger:hover{background:#c26a3e;border-color:#c26a3e;color:#fff}.custom-theme .el-button--danger:active{background:#a13e0d;border-color:#a13e0d;color:#fff;outline:0}.custom-theme .el-button--danger.is-active{background:#a13e0d;border-color:#a13e0d;color:#fff}.custom-theme .el-button--danger.is-disabled,.custom-theme .el-button--danger.is-disabled:active,.custom-theme .el-button--danger.is-disabled:focus,.custom-theme .el-button--danger.is-disabled:hover{color:#fff;background-color:#d9a287;border-color:#d9a287}.custom-theme .el-button--danger.is-plain{color:#b3450e;background:#f7ece7;border-color:#e1b59f}.custom-theme .el-button--danger.is-plain:focus,.custom-theme .el-button--danger.is-plain:hover{background:#b3450e;border-color:#b3450e;color:#fff}.custom-theme .el-button--danger.is-plain:active{background:#a13e0d;border-color:#a13e0d;color:#fff;outline:0}.custom-theme .el-button--danger.is-plain.is-disabled,.custom-theme .el-button--danger.is-plain.is-disabled:active,.custom-theme .el-button--danger.is-plain.is-disabled:focus,.custom-theme .el-button--danger.is-plain.is-disabled:hover{color:#d18f6e;background-color:#f7ece7;border-color:#f0dacf}.custom-theme .el-button--info{color:#fff;background-color:#0a76a4;border-color:#0a76a4}.custom-theme .el-button--info:focus,.custom-theme .el-button--info:hover{background:#3b91b6;border-color:#3b91b6;color:#fff}.custom-theme .el-button--info:active{background:#096a94;border-color:#096a94;color:#fff;outline:0}.custom-theme .el-button--info.is-active{background:#096a94;border-color:#096a94;color:#fff}.custom-theme .el-button--info.is-disabled,.custom-theme .el-button--info.is-disabled:active,.custom-theme .el-button--info.is-disabled:focus,.custom-theme .el-button--info.is-disabled:hover{color:#fff;background-color:#85bbd2;border-color:#85bbd2}.custom-theme .el-button--info.is-plain{color:#0a76a4;background:#e7f1f6;border-color:#9dc8db}.custom-theme .el-button--info.is-plain:focus,.custom-theme .el-button--info.is-plain:hover{background:#0a76a4;border-color:#0a76a4;color:#fff}.custom-theme .el-button--info.is-plain:active{background:#096a94;border-color:#096a94;color:#fff;outline:0}.custom-theme .el-button--info.is-plain.is-disabled,.custom-theme .el-button--info.is-plain.is-disabled:active,.custom-theme .el-button--info.is-plain.is-disabled:focus,.custom-theme .el-button--info.is-plain.is-disabled:hover{color:#6cadc8;background-color:#e7f1f6;border-color:#cee4ed}.custom-theme .el-button--medium{padding:10px 20px;font-size:14px;border-radius:4px}.custom-theme .el-button--medium.is-round{padding:10px 20px}.custom-theme .el-button--small{padding:9px 15px;font-size:12px;border-radius:3px}.custom-theme .el-button--small.is-round{padding:9px 15px}.custom-theme .el-button--mini{padding:7px 15px;font-size:12px;border-radius:3px}.custom-theme .el-button--mini.is-round{padding:7px 15px}.custom-theme .el-button--text{border:none;color:#262729;background:0 0;padding-left:0;padding-right:0}.custom-theme .el-button--text:focus,.custom-theme .el-button--text:hover{color:#515254;border-color:transparent;background-color:transparent}.custom-theme .el-button--text:active{color:#222325;border-color:transparent;background-color:transparent}.custom-theme .el-button-group{display:inline-block;vertical-align:middle}.custom-theme .el-button-group::after,.custom-theme .el-button-group::before{display:table;content:""}.custom-theme .el-button-group::after{clear:both}.custom-theme .el-button-group .el-button{float:left;position:relative}.custom-theme .el-button-group .el-button+.el-button{margin-left:0}.custom-theme .el-button-group .el-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.custom-theme .el-button-group .el-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.custom-theme .el-button-group .el-button:not(:first-child):not(:last-child){border-radius:0}.custom-theme .el-button-group .el-button:not(:last-child){margin-right:-1px}.custom-theme .el-button-group .el-button:active,.custom-theme .el-button-group .el-button:focus,.custom-theme .el-button-group .el-button:hover{z-index:1}.custom-theme .el-button-group .el-button.is-active{z-index:1}.custom-theme .el-button-group .el-button--primary:first-child{border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--primary:last-child{border-left-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--primary:not(:first-child):not(:last-child){border-left-color:rgba(255,255,255,.5);border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--success:first-child{border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--success:last-child{border-left-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--success:not(:first-child):not(:last-child){border-left-color:rgba(255,255,255,.5);border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--warning:first-child{border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--warning:last-child{border-left-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--warning:not(:first-child):not(:last-child){border-left-color:rgba(255,255,255,.5);border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--danger:first-child{border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--danger:last-child{border-left-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--danger:not(:first-child):not(:last-child){border-left-color:rgba(255,255,255,.5);border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--info:first-child{border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--info:last-child{border-left-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--info:not(:first-child):not(:last-child){border-left-color:rgba(255,255,255,.5);border-right-color:rgba(255,255,255,.5)}.custom-theme .el-input{position:relative;font-size:14px;display:inline-block;width:100%}.custom-theme .el-input::-webkit-scrollbar{z-index:11;width:6px}.custom-theme .el-input::-webkit-scrollbar:horizontal{height:6px}.custom-theme .el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.custom-theme .el-input::-webkit-scrollbar-corner{background:#fff}.custom-theme .el-input::-webkit-scrollbar-track{background:#fff}.custom-theme .el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.custom-theme .el-input__inner{-webkit-appearance:none;background-color:#fff;background-image:none;border-radius:4px;border:1px solid #d8dce5;-webkit-box-sizing:border-box;box-sizing:border-box;color:#5a5e66;display:inline-block;font-size:inherit;height:40px;line-height:1;outline:0;padding:0 15px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.custom-theme .el-input__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner::placeholder{color:#b4bccc}.custom-theme .el-input__inner:hover{border-color:#b4bccc}.custom-theme .el-input__inner:focus{outline:0;border-color:#262729}.custom-theme .el-input__suffix{position:absolute;height:100%;right:5px;top:0;text-align:center;color:#b4bccc;-webkit-transition:all .3s;transition:all .3s;pointer-events:none}.custom-theme .el-input__suffix-inner{pointer-events:all}.custom-theme .el-input__prefix{position:absolute;height:100%;left:5px;top:0;text-align:center;color:#b4bccc;-webkit-transition:all .3s;transition:all .3s}.custom-theme .el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.custom-theme .el-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.custom-theme .el-input__validateIcon{pointer-events:none}.custom-theme .el-input.is-active .el-input__inner{outline:0;border-color:#262729}.custom-theme .el-input.is-disabled .el-input__inner{background-color:#f5f7fa;border-color:#dfe4ed;color:#b4bccc;cursor:not-allowed}.custom-theme .el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner::placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__icon{cursor:not-allowed}.custom-theme .el-input--suffix .el-input__inner{padding-right:30px}.custom-theme .el-input--prefix .el-input__inner{padding-left:30px}.custom-theme .el-input--medium{font-size:14px}.custom-theme .el-input--medium .el-input__inner{height:36px}.custom-theme .el-input--medium .el-input__icon{line-height:36px}.custom-theme .el-input--small{font-size:13px}.custom-theme .el-input--small .el-input__inner{height:32px}.custom-theme .el-input--small .el-input__icon{line-height:32px}.custom-theme .el-input--mini{font-size:12px}.custom-theme .el-input--mini .el-input__inner{height:28px}.custom-theme .el-input--mini .el-input__icon{line-height:28px}.custom-theme .el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate}.custom-theme .el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.custom-theme .el-input-group__append,.custom-theme .el-input-group__prepend{background-color:#f5f7fa;color:#0a76a4;vertical-align:middle;display:table-cell;position:relative;border:1px solid #d8dce5;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.custom-theme .el-input-group__append:focus,.custom-theme .el-input-group__prepend:focus{outline:0}.custom-theme .el-input-group__append .el-button,.custom-theme .el-input-group__append .el-select,.custom-theme .el-input-group__prepend .el-button,.custom-theme .el-input-group__prepend .el-select{display:inline-block;margin:-20px}.custom-theme .el-input-group__append button.el-button,.custom-theme .el-input-group__append div.el-select .el-input__inner,.custom-theme .el-input-group__append div.el-select:hover .el-input__inner,.custom-theme .el-input-group__prepend button.el-button,.custom-theme .el-input-group__prepend div.el-select .el-input__inner,.custom-theme .el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.custom-theme .el-input-group__append .el-button,.custom-theme .el-input-group__append .el-input,.custom-theme .el-input-group__prepend .el-button,.custom-theme .el-input-group__prepend .el-input{font-size:inherit}.custom-theme .el-input-group__prepend{border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.custom-theme .el-input-group__append{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.custom-theme .el-input-group--prepend .el-input__inner{border-top-left-radius:0;border-bottom-left-radius:0}.custom-theme .el-input-group--append .el-input__inner{border-top-right-radius:0;border-bottom-right-radius:0}.custom-theme .el-textarea{display:inline-block;width:100%;vertical-align:bottom}.custom-theme .el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;font-size:14px;color:#5a5e66;background-color:#fff;background-image:none;border:1px solid #d8dce5;border-radius:4px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.custom-theme .el-textarea__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner::placeholder{color:#b4bccc}.custom-theme .el-textarea__inner:hover{border-color:#b4bccc}.custom-theme .el-textarea__inner:focus{outline:0;border-color:#262729}.custom-theme .el-textarea.is-disabled .el-textarea__inner{background-color:#f5f7fa;border-color:#dfe4ed;color:#b4bccc;cursor:not-allowed}.custom-theme .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner::placeholder{color:#b4bccc}.custom-theme .el-message-box{display:inline-block;width:420px;padding-bottom:10px;vertical-align:middle;background-color:#fff;border-radius:4px;border:1px solid #e6ebf5;font-size:18px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);text-align:left;overflow:hidden;-webkit-backface-visibility:hidden;backface-visibility:hidden}.custom-theme .el-message-box__wrapper{position:fixed;top:0;bottom:0;left:0;right:0;text-align:center}.custom-theme .el-message-box__wrapper::after{content:"";display:inline-block;height:100%;width:0;vertical-align:middle}.custom-theme .el-message-box__header{position:relative;padding:15px;padding-bottom:10px}.custom-theme .el-message-box__title{padding-left:0;margin-bottom:0;font-size:18px;line-height:1;color:#2d2f33}.custom-theme .el-message-box__headerbtn{position:absolute;top:15px;right:15px;padding:0;border:none;outline:0;background:0 0;font-size:16px;cursor:pointer}.custom-theme .el-message-box__headerbtn .el-message-box__close{color:#0a76a4}.custom-theme .el-message-box__headerbtn:focus .el-message-box__close,.custom-theme .el-message-box__headerbtn:hover .el-message-box__close{color:#262729}.custom-theme .el-message-box__content{position:relative;padding:10px 15px;color:#5a5e66;font-size:14px}.custom-theme .el-message-box__input{padding-top:15px}.custom-theme .el-message-box__input input.invalid{border-color:#b3450e}.custom-theme .el-message-box__input input.invalid:focus{border-color:#b3450e}.custom-theme .el-message-box__status{position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);font-size:24px!important}.custom-theme .el-message-box__status::before{padding-left:1px}.custom-theme .el-message-box__status+.el-message-box__message{padding-left:36px;padding-right:12px}.custom-theme .el-message-box__status.el-icon-success{color:#409167}.custom-theme .el-message-box__status.el-icon-info{color:#0a76a4}.custom-theme .el-message-box__status.el-icon-warning{color:#9da408}.custom-theme .el-message-box__status.el-icon-error{color:#b3450e}.custom-theme .el-message-box__message{margin:0}.custom-theme .el-message-box__message p{margin:0;line-height:24px}.custom-theme .el-message-box__errormsg{color:#b3450e;font-size:12px;min-height:18px;margin-top:2px}.custom-theme .el-message-box__btns{padding:5px 15px 0;text-align:right}.custom-theme .el-message-box__btns button:nth-child(2){margin-left:10px}.custom-theme .el-message-box__btns-reverse{-webkit-box-orient:horizontal;-webkit-box-direction:reverse;-ms-flex-direction:row-reverse;flex-direction:row-reverse}.custom-theme .el-message-box--center{padding-bottom:30px}.custom-theme .el-message-box--center .el-message-box__header{padding-top:30px}.custom-theme .el-message-box--center .el-message-box__title{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.custom-theme .el-message-box--center .el-message-box__status{position:relative;top:auto;padding-right:5px;text-align:center;-webkit-transform:translateY(-1px);transform:translateY(-1px)}.custom-theme .el-message-box--center .el-message-box__message{margin-left:0}.custom-theme .el-message-box--center .el-message-box__btns,.custom-theme .el-message-box--center .el-message-box__content{text-align:center}.custom-theme .el-message-box--center .el-message-box__content{padding-left:27px;padding-right:27px}.custom-theme .msgbox-fade-enter-active{-webkit-animation:msgbox-fade-in .3s;animation:msgbox-fade-in .3s}.custom-theme .msgbox-fade-leave-active{-webkit-animation:msgbox-fade-out .3s;animation:msgbox-fade-out .3s}@-webkit-keyframes msgbox-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@keyframes msgbox-fade-in{0%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}100%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}}@-webkit-keyframes msgbox-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}@keyframes msgbox-fade-out{0%{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);opacity:1}100%{-webkit-transform:translate3d(0,-20px,0);transform:translate3d(0,-20px,0);opacity:0}}.custom-theme .el-breadcrumb{font-size:14px;line-height:1}.custom-theme .el-breadcrumb::after,.custom-theme .el-breadcrumb::before{display:table;content:""}.custom-theme .el-breadcrumb::after{clear:both}.custom-theme .el-breadcrumb__separator{margin:0 9px;font-weight:700;color:#b4bccc}.custom-theme .el-breadcrumb__separator[class*=icon]{margin:0 6px;font-weight:400}.custom-theme .el-breadcrumb__item{float:left}.custom-theme .el-breadcrumb__inner,.custom-theme .el-breadcrumb__inner a{font-weight:700;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1);color:#2d2f33}.custom-theme .el-breadcrumb__inner a:hover,.custom-theme .el-breadcrumb__inner:hover{color:#262729;cursor:pointer}.custom-theme .el-breadcrumb__item:last-child .el-breadcrumb__inner,.custom-theme .el-breadcrumb__item:last-child .el-breadcrumb__inner a,.custom-theme .el-breadcrumb__item:last-child .el-breadcrumb__inner a:hover,.custom-theme .el-breadcrumb__item:last-child .el-breadcrumb__inner:hover{font-weight:400;color:#5a5e66;cursor:text}.custom-theme .el-breadcrumb__item:last-child .el-breadcrumb__separator{display:none}.custom-theme .el-form--label-left .el-form-item__label{text-align:left}.custom-theme .el-form--label-top .el-form-item__label{float:none;display:inline-block;text-align:left;padding:0 0 10px 0}.custom-theme .el-form--inline .el-form-item{display:inline-block;margin-right:10px;vertical-align:top}.custom-theme .el-form--inline .el-form-item__label{float:none;display:inline-block}.custom-theme .el-form--inline .el-form-item__content{display:inline-block;vertical-align:top}.custom-theme .el-form--inline.el-form--label-top .el-form-item__content{display:block}.custom-theme .el-form-item{margin-bottom:22px}.custom-theme .el-form-item::after,.custom-theme .el-form-item::before{display:table;content:""}.custom-theme .el-form-item::after{clear:both}.custom-theme .el-form-item .el-form-item{margin-bottom:0}.custom-theme .el-form-item .el-input__validateIcon{display:none}.custom-theme .el-form-item--medium .el-form-item__label{line-height:36px}.custom-theme .el-form-item--medium .el-form-item__content{line-height:36px}.custom-theme .el-form-item--small .el-form-item__label{line-height:32px}.custom-theme .el-form-item--small .el-form-item__content{line-height:32px}.custom-theme .el-form-item--small.el-form-item{margin-bottom:18px}.custom-theme .el-form-item--small .el-form-item__error{padding-top:2px}.custom-theme .el-form-item--mini .el-form-item__label{line-height:28px}.custom-theme .el-form-item--mini .el-form-item__content{line-height:28px}.custom-theme .el-form-item--mini.el-form-item{margin-bottom:18px}.custom-theme .el-form-item--mini .el-form-item__error{padding-top:1px}.custom-theme .el-form-item__label{text-align:right;vertical-align:middle;float:left;font-size:14px;color:#5a5e66;line-height:40px;padding:0 12px 0 0;-webkit-box-sizing:border-box;box-sizing:border-box}.custom-theme .el-form-item__content{line-height:40px;position:relative;font-size:14px}.custom-theme .el-form-item__content::after,.custom-theme .el-form-item__content::before{display:table;content:""}.custom-theme .el-form-item__content::after{clear:both}.custom-theme .el-form-item__error{color:#b3450e;font-size:12px;line-height:1;padding-top:4px;position:absolute;top:100%;left:0}.custom-theme .el-form-item__error--inline{position:relative;top:auto;left:auto;display:inline-block;margin-left:10px}.custom-theme .el-form-item.is-required .el-form-item__label:before{content:'*';color:#b3450e;margin-right:4px}.custom-theme .el-form-item.is-error .el-input__inner,.custom-theme .el-form-item.is-error .el-input__inner:focus,.custom-theme .el-form-item.is-error .el-textarea__inner,.custom-theme .el-form-item.is-error .el-textarea__inner:focus{border-color:#b3450e}.custom-theme .el-form-item.is-error .el-input-group__append .el-input__inner,.custom-theme .el-form-item.is-error .el-input-group__prepend .el-input__inner{border-color:transparent}.custom-theme .el-form-item.is-error .el-input__validateIcon{color:#b3450e}.custom-theme .el-form-item.is-success .el-input__inner,.custom-theme .el-form-item.is-success .el-input__inner:focus,.custom-theme .el-form-item.is-success .el-textarea__inner,.custom-theme .el-form-item.is-success .el-textarea__inner:focus{border-color:#409167}.custom-theme .el-form-item.is-success .el-input-group__append .el-input__inner,.custom-theme .el-form-item.is-success .el-input-group__prepend .el-input__inner{border-color:transparent}.custom-theme .el-form-item.is-success .el-input__validateIcon{color:#409167}.custom-theme .el-form-item--feedback .el-input__validateIcon{display:inline-block}.custom-theme .el-tabs__header{padding:0;position:relative;margin:0 0 15px}.custom-theme .el-tabs__active-bar{position:absolute;bottom:0;left:0;height:2px;background-color:#262729;z-index:1;-webkit-transition:-webkit-transform .3s cubic-bezier(.645,.045,.355,1);transition:-webkit-transform .3s cubic-bezier(.645,.045,.355,1);transition:transform .3s cubic-bezier(.645,.045,.355,1);transition:transform .3s cubic-bezier(.645,.045,.355,1),-webkit-transform .3s cubic-bezier(.645,.045,.355,1);list-style:none}.custom-theme .el-tabs__new-tab{float:right;border:1px solid #d3dce6;height:18px;width:18px;line-height:18px;margin:12px 0 9px 10px;border-radius:3px;text-align:center;font-size:12px;color:#d3dce6;cursor:pointer;-webkit-transition:all .15s;transition:all .15s}.custom-theme .el-tabs__new-tab .el-icon-plus{-webkit-transform:scale(.8,.8);transform:scale(.8,.8)}.custom-theme .el-tabs__new-tab:hover{color:#262729}.custom-theme .el-tabs__nav-wrap{overflow:hidden;margin-bottom:-1px;position:relative}.custom-theme .el-tabs__nav-wrap::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:2px;background-color:#dfe4ed;z-index:1}.custom-theme .el-tabs__nav-wrap.is-scrollable{padding:0 20px;-webkit-box-sizing:border-box;box-sizing:border-box}.custom-theme .el-tabs__nav-scroll{overflow:hidden}.custom-theme .el-tabs__nav-next,.custom-theme .el-tabs__nav-prev{position:absolute;cursor:pointer;line-height:44px;font-size:12px;color:#878d99}.custom-theme .el-tabs__nav-next{right:0}.custom-theme .el-tabs__nav-prev{left:0}.custom-theme .el-tabs__nav{white-space:nowrap;position:relative;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;float:left;z-index:2}.custom-theme .el-tabs__item{padding:0 20px;height:40px;-webkit-box-sizing:border-box;box-sizing:border-box;line-height:40px;display:inline-block;list-style:none;font-size:14px;font-weight:500;color:#2d2f33;position:relative}.custom-theme .el-tabs__item:focus,.custom-theme .el-tabs__item:focus:active{outline:0}.custom-theme .el-tabs__item .el-icon-close{border-radius:50%;text-align:center;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);margin-left:5px}.custom-theme .el-tabs__item .el-icon-close:before{-webkit-transform:scale(.9);transform:scale(.9);display:inline-block}.custom-theme .el-tabs__item .el-icon-close:hover{background-color:#b4bccc;color:#fff}.custom-theme .el-tabs__item.is-active{color:#262729}.custom-theme .el-tabs__item:hover{color:#262729;cursor:pointer}.custom-theme .el-tabs__item.is-disabled{color:#b4bccc;cursor:default}.custom-theme .el-tabs__content{overflow:hidden;position:relative}.custom-theme .el-tabs--card>.el-tabs__header{border-bottom:1px solid #dfe4ed}.custom-theme .el-tabs--card>.el-tabs__header .el-tabs__nav-wrap::after{content:none}.custom-theme .el-tabs--card>.el-tabs__header .el-tabs__nav{border:1px solid #dfe4ed;border-bottom:none;border-radius:4px 4px 0 0}.custom-theme .el-tabs--card>.el-tabs__header .el-tabs__active-bar{display:none}.custom-theme .el-tabs--card>.el-tabs__header .el-tabs__item .el-icon-close{position:relative;font-size:12px;width:0;height:14px;vertical-align:middle;line-height:15px;overflow:hidden;top:-1px;right:-2px;-webkit-transform-origin:100% 50%;transform-origin:100% 50%}.custom-theme .el-tabs--card>.el-tabs__header .el-tabs__item{border-bottom:1px solid transparent;border-left:1px solid #dfe4ed;-webkit-transition:color .3s cubic-bezier(.645,.045,.355,1),padding .3s cubic-bezier(.645,.045,.355,1);transition:color .3s cubic-bezier(.645,.045,.355,1),padding .3s cubic-bezier(.645,.045,.355,1)}.custom-theme .el-tabs--card>.el-tabs__header .el-tabs__item:first-child{border-left:none}.custom-theme .el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover{padding-left:13px;padding-right:13px}.custom-theme .el-tabs--card>.el-tabs__header .el-tabs__item.is-closable:hover .el-icon-close{width:14px}.custom-theme .el-tabs--card>.el-tabs__header .el-tabs__item.is-active{border-bottom-color:#fff}.custom-theme .el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable{padding-left:20px;padding-right:20px}.custom-theme .el-tabs--card>.el-tabs__header .el-tabs__item.is-active.is-closable .el-icon-close{width:14px}.custom-theme .el-tabs--border-card{background:#fff;border:1px solid #d8dce5;-webkit-box-shadow:0 2px 4px 0 rgba(0,0,0,.12),0 0 6px 0 rgba(0,0,0,.04);box-shadow:0 2px 4px 0 rgba(0,0,0,.12),0 0 6px 0 rgba(0,0,0,.04)}.custom-theme .el-tabs--border-card>.el-tabs__content{padding:15px}.custom-theme .el-tabs--border-card>.el-tabs__header{background-color:#f5f7fa;border-bottom:1px solid #dfe4ed;margin:0}.custom-theme .el-tabs--border-card>.el-tabs__header .el-tabs__nav-wrap::after{content:none}.custom-theme .el-tabs--border-card>.el-tabs__header .el-tabs__item{-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);border:1px solid transparent;margin:-1px -1px 0;color:#878d99}.custom-theme .el-tabs--border-card>.el-tabs__header .el-tabs__item.is-active{color:#262729;background-color:#fff;border-right-color:#d8dce5;border-left-color:#d8dce5}.custom-theme .el-tabs--border-card>.el-tabs__header .el-tabs__item:hover{color:#262729}.custom-theme .el-tabs--bottom:not(.el-tabs--border-card):not(.el-tabs--card) .el-tabs__item:nth-child(2),.custom-theme .el-tabs--top:not(.el-tabs--border-card):not(.el-tabs--card) .el-tabs__item:nth-child(2){padding-left:0}.custom-theme .el-tabs--bottom .el-tabs__header{margin-bottom:0;margin-top:10px}.custom-theme .el-tabs--bottom.el-tabs--border-card .el-tabs__header{border-bottom:0;border-top:1px solid #d8dce5}.custom-theme .el-tabs--bottom.el-tabs--border-card .el-tabs__nav-wrap{margin-top:-1px;margin-bottom:0}.custom-theme .el-tabs--bottom.el-tabs--border-card .el-tabs__item{border:1px solid transparent;margin:0 -1px -1px -1px}.custom-theme .el-tabs--left,.custom-theme .el-tabs--right{overflow:hidden}.custom-theme .el-tabs--left .el-tabs__header,.custom-theme .el-tabs--left .el-tabs__nav-scroll,.custom-theme .el-tabs--left .el-tabs__nav-wrap,.custom-theme .el-tabs--right .el-tabs__header,.custom-theme .el-tabs--right .el-tabs__nav-scroll,.custom-theme .el-tabs--right .el-tabs__nav-wrap{height:100%}.custom-theme .el-tabs--left .el-tabs__active-bar,.custom-theme .el-tabs--right .el-tabs__active-bar{top:0;bottom:auto;width:2px;height:auto}.custom-theme .el-tabs--left .el-tabs__nav-wrap,.custom-theme .el-tabs--right .el-tabs__nav-wrap{margin-bottom:0}.custom-theme .el-tabs--left .el-tabs__nav-wrap.is-scrollable,.custom-theme .el-tabs--right .el-tabs__nav-wrap.is-scrollable{padding:30px 0}.custom-theme .el-tabs--left .el-tabs__nav-wrap::after,.custom-theme .el-tabs--right .el-tabs__nav-wrap::after{height:100%;width:2px;bottom:auto;top:0}.custom-theme .el-tabs--left .el-tabs__nav,.custom-theme .el-tabs--right .el-tabs__nav{float:none}.custom-theme .el-tabs--left .el-tabs__item,.custom-theme .el-tabs--right .el-tabs__item{display:block}.custom-theme .el-tabs--left .el-tabs__nav-next,.custom-theme .el-tabs--left .el-tabs__nav-prev,.custom-theme .el-tabs--right .el-tabs__nav-next,.custom-theme .el-tabs--right .el-tabs__nav-prev{height:30px;line-height:30px;width:100%;text-align:center;cursor:pointer}.custom-theme .el-tabs--left .el-tabs__nav-next i,.custom-theme .el-tabs--left .el-tabs__nav-prev i,.custom-theme .el-tabs--right .el-tabs__nav-next i,.custom-theme .el-tabs--right .el-tabs__nav-prev i{-webkit-transform:rotateZ(90deg);transform:rotateZ(90deg)}.custom-theme .el-tabs--left .el-tabs__nav-prev,.custom-theme .el-tabs--right .el-tabs__nav-prev{left:auto;top:0}.custom-theme .el-tabs--left .el-tabs__nav-next,.custom-theme .el-tabs--right .el-tabs__nav-next{right:auto;bottom:0}.custom-theme .el-tabs--left .el-tabs__header{float:left;margin-bottom:0;margin-right:10px}.custom-theme .el-tabs--left .el-tabs__nav-wrap{margin-right:-1px}.custom-theme .el-tabs--left .el-tabs__nav-wrap::after{left:auto;right:0}.custom-theme .el-tabs--left .el-tabs__active-bar{right:0;left:auto}.custom-theme .el-tabs--left .el-tabs__item{text-align:right}.custom-theme .el-tabs--left.el-tabs--card .el-tabs__active-bar{display:none}.custom-theme .el-tabs--left.el-tabs--card .el-tabs__item{border-left:none;border-right:1px solid #dfe4ed;border-bottom:none;border-top:1px solid #dfe4ed}.custom-theme .el-tabs--left.el-tabs--card .el-tabs__item:first-child{border-right:1px solid #dfe4ed;border-top:none}.custom-theme .el-tabs--left.el-tabs--card .el-tabs__item.is-active{border:1px solid #dfe4ed;border-right-color:#fff;border-left:none;border-bottom:none}.custom-theme .el-tabs--left.el-tabs--card .el-tabs__item.is-active:first-child{border-top:none}.custom-theme .el-tabs--left.el-tabs--card .el-tabs__item.is-active:last-child{border-bottom:none}.custom-theme .el-tabs--left.el-tabs--card .el-tabs__nav{border-radius:4px 0 0 4px;border-bottom:1px solid #dfe4ed;border-right:none}.custom-theme .el-tabs--left.el-tabs--card .el-tabs__new-tab{float:none}.custom-theme .el-tabs--left.el-tabs--border-card .el-tabs__header{border-right:1px solid #dfe4ed}.custom-theme .el-tabs--left.el-tabs--border-card .el-tabs__item{border:1px solid transparent;margin:-1px 0 -1px -1px}.custom-theme .el-tabs--left.el-tabs--border-card .el-tabs__item.is-active{border-color:transparent;border-top-color:#d1dbe5;border-bottom-color:#d1dbe5}.custom-theme .el-tabs--right .el-tabs__header{float:right;margin-bottom:0;margin-left:10px}.custom-theme .el-tabs--right .el-tabs__nav-wrap{margin-left:-1px}.custom-theme .el-tabs--right .el-tabs__nav-wrap::after{left:0;right:auto}.custom-theme .el-tabs--right .el-tabs__active-bar{left:0}.custom-theme .el-tabs--right.el-tabs--card .el-tabs__active-bar{display:none}.custom-theme .el-tabs--right.el-tabs--card .el-tabs__item{border-bottom:none;border-top:1px solid #dfe4ed}.custom-theme .el-tabs--right.el-tabs--card .el-tabs__item:first-child{border-left:1px solid #dfe4ed;border-top:none}.custom-theme .el-tabs--right.el-tabs--card .el-tabs__item.is-active{border:1px solid #dfe4ed;border-left-color:#fff;border-right:none;border-bottom:none}.custom-theme .el-tabs--right.el-tabs--card .el-tabs__item.is-active:first-child{border-top:none}.custom-theme .el-tabs--right.el-tabs--card .el-tabs__item.is-active:last-child{border-bottom:none}.custom-theme .el-tabs--right.el-tabs--card .el-tabs__nav{border-radius:0 4px 4px 0;border-bottom:1px solid #dfe4ed;border-left:none}.custom-theme .el-tabs--right.el-tabs--border-card .el-tabs__header{border-left:1px solid #dfe4ed}.custom-theme .el-tabs--right.el-tabs--border-card .el-tabs__item{border:1px solid transparent;margin:-1px -1px -1px 0}.custom-theme .el-tabs--right.el-tabs--border-card .el-tabs__item.is-active{border-color:transparent;border-top-color:#d1dbe5;border-bottom-color:#d1dbe5}.custom-theme .slideInLeft-transition,.custom-theme .slideInRight-transition{display:inline-block}.custom-theme .slideInRight-enter{-webkit-animation:slideInRight-enter .3s;animation:slideInRight-enter .3s}.custom-theme .slideInRight-leave{position:absolute;left:0;right:0;-webkit-animation:slideInRight-leave .3s;animation:slideInRight-leave .3s}.custom-theme .slideInLeft-enter{-webkit-animation:slideInLeft-enter .3s;animation:slideInLeft-enter .3s}.custom-theme .slideInLeft-leave{position:absolute;left:0;right:0;-webkit-animation:slideInLeft-leave .3s;animation:slideInLeft-leave .3s}@-webkit-keyframes slideInRight-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInRight-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes slideInRight-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%);opacity:0}}@keyframes slideInRight-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(100%);transform:translateX(100%);opacity:0}}@-webkit-keyframes slideInLeft-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@keyframes slideInLeft-enter{0%{opacity:0;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}to{opacity:1;-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0)}}@-webkit-keyframes slideInLeft-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%);opacity:0}}@keyframes slideInLeft-leave{0%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(0);transform:translateX(0);opacity:1}100%{-webkit-transform-origin:0 0;transform-origin:0 0;-webkit-transform:translateX(-100%);transform:translateX(-100%);opacity:0}}.custom-theme .el-tag{background-color:rgba(38,39,41,.1);display:inline-block;padding:0 10px;height:32px;line-height:30px;font-size:12px;color:#262729;border-radius:4px;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid rgba(38,39,41,.2);white-space:nowrap}.custom-theme .el-tag .el-icon-close{border-radius:50%;text-align:center;position:relative;cursor:pointer;font-size:12px;height:18px;width:18px;line-height:18px;vertical-align:middle;top:-1px;right:-5px;color:#262729}.custom-theme .el-tag .el-icon-close::before{display:block}.custom-theme .el-tag .el-icon-close:hover{background-color:#262729;color:#fff}.custom-theme .el-tag--info{background-color:rgba(10,118,164,.1);border-color:rgba(10,118,164,.2);color:#0a76a4}.custom-theme .el-tag--info.is-hit{border-color:#0a76a4}.custom-theme .el-tag--info .el-tag__close{color:#0a76a4}.custom-theme .el-tag--info .el-tag__close:hover{background-color:#0a76a4;color:#fff}.custom-theme .el-tag--success{background-color:rgba(64,145,103,.1);border-color:rgba(64,145,103,.2);color:#409167}.custom-theme .el-tag--success.is-hit{border-color:#409167}.custom-theme .el-tag--success .el-tag__close{color:#409167}.custom-theme .el-tag--success .el-tag__close:hover{background-color:#409167;color:#fff}.custom-theme .el-tag--warning{background-color:rgba(157,164,8,.1);border-color:rgba(157,164,8,.2);color:#9da408}.custom-theme .el-tag--warning.is-hit{border-color:#9da408}.custom-theme .el-tag--warning .el-tag__close{color:#9da408}.custom-theme .el-tag--warning .el-tag__close:hover{background-color:#9da408;color:#fff}.custom-theme .el-tag--danger{background-color:rgba(179,69,14,.1);border-color:rgba(179,69,14,.2);color:#b3450e}.custom-theme .el-tag--danger.is-hit{border-color:#b3450e}.custom-theme .el-tag--danger .el-tag__close{color:#b3450e}.custom-theme .el-tag--danger .el-tag__close:hover{background-color:#b3450e;color:#fff}.custom-theme .el-tag--medium{height:28px;line-height:26px}.custom-theme .el-tag--medium .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.custom-theme .el-tag--small{height:24px;padding:0 8px;line-height:22px}.custom-theme .el-tag--small .el-icon-close{-webkit-transform:scale(.8);transform:scale(.8)}.custom-theme .el-tag--mini{height:20px;padding:0 5px;line-height:19px}.custom-theme .el-tag--mini .el-icon-close{margin-left:-3px;-webkit-transform:scale(.7);transform:scale(.7)}.custom-theme .el-tree{cursor:default;background:#fff;color:#5a5e66}.custom-theme .el-tree__empty-block{position:relative;min-height:60px;text-align:center;width:100%;height:100%}.custom-theme .el-tree__empty-text{position:absolute;left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);color:#623615}.custom-theme .el-tree-node{white-space:nowrap}.custom-theme .el-tree-node__content{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;height:26px;cursor:pointer}.custom-theme .el-tree-node__content>.el-tree-node__expand-icon{padding:6px}.custom-theme .el-tree-node__content>.el-checkbox{margin-right:8px}.custom-theme .el-tree-node__content:hover{background-color:#f5f7fa}.custom-theme .el-tree-node__expand-icon{cursor:pointer;color:#b4bccc;font-size:12px;-webkit-transform:rotate(0);transform:rotate(0);-webkit-transition:-webkit-transform .3s ease-in-out;transition:-webkit-transform .3s ease-in-out;transition:transform .3s ease-in-out;transition:transform .3s ease-in-out,-webkit-transform .3s ease-in-out}.custom-theme .el-tree-node__expand-icon.expanded{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.custom-theme .el-tree-node__expand-icon.is-leaf{color:transparent;cursor:default}.custom-theme .el-tree-node__label{font-size:14px}.custom-theme .el-tree-node__loading-icon{margin-right:8px;font-size:14px;color:#b4bccc}.custom-theme .el-tree-node>.el-tree-node__children{overflow:hidden;background-color:transparent}.custom-theme .el-tree-node.is-expanded>.el-tree-node__children{display:block}.custom-theme .el-tree--highlight-current .el-tree-node.is-current>.el-tree-node__content{background-color:#eee}.custom-theme .el-alert{width:100%;padding:8px 16px;margin:0;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:4px;position:relative;background-color:#fff;overflow:hidden;opacity:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-transition:opacity .2s;transition:opacity .2s}.custom-theme .el-alert.is-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.custom-theme .el-alert--success{background-color:#ecf4f0;color:#409167}.custom-theme .el-alert--success .el-alert__description{color:#409167}.custom-theme .el-alert--info{background-color:#e7f1f6;color:#0a76a4}.custom-theme .el-alert--info .el-alert__description{color:#0a76a4}.custom-theme .el-alert--warning{background-color:#f5f6e6;color:#9da408}.custom-theme .el-alert--warning .el-alert__description{color:#9da408}.custom-theme .el-alert--error{background-color:#f7ece7;color:#b3450e}.custom-theme .el-alert--error .el-alert__description{color:#b3450e}.custom-theme .el-alert__content{display:table-cell;padding:0 8px}.custom-theme .el-alert__icon{font-size:16px;width:16px}.custom-theme .el-alert__icon.is-big{font-size:28px;width:28px}.custom-theme .el-alert__title{font-size:13px;line-height:18px}.custom-theme .el-alert__title.is-bold{font-weight:700}.custom-theme .el-alert .el-alert__description{font-size:12px;margin:5px 0 0 0}.custom-theme .el-alert__closebtn{font-size:12px;color:#b4bccc;opacity:1;position:absolute;top:12px;right:15px;cursor:pointer}.custom-theme .el-alert__closebtn.is-customed{font-style:normal;font-size:13px;top:9px}.custom-theme .el-alert-fade-enter,.custom-theme .el-alert-fade-leave-active{opacity:0}.custom-theme .el-notification{display:-webkit-box;display:-ms-flexbox;display:flex;width:330px;padding:14px 26px 14px 13px;border-radius:8px;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #e6ebf5;position:fixed;background-color:#fff;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);-webkit-transition:opacity .3s,left .3s,right .3s,top .4s,bottom .3s,-webkit-transform .3s;transition:opacity .3s,left .3s,right .3s,top .4s,bottom .3s,-webkit-transform .3s;transition:opacity .3s,transform .3s,left .3s,right .3s,top .4s,bottom .3s;transition:opacity .3s,transform .3s,left .3s,right .3s,top .4s,bottom .3s,-webkit-transform .3s;overflow:hidden}.custom-theme .el-notification.right{right:16px}.custom-theme .el-notification.left{left:16px}.custom-theme .el-notification__group{margin-left:13px}.custom-theme .el-notification__title{font-weight:700;font-size:16px;color:#2d2f33;margin:0}.custom-theme .el-notification__content{font-size:14px;line-height:21px;margin:6px 0 0 0;color:#5a5e66;text-align:justify}.custom-theme .el-notification__content p{margin:0}.custom-theme .el-notification__icon{height:24px;width:24px;font-size:24px;-webkit-transform:translateY(4px);transform:translateY(4px)}.custom-theme .el-notification__closeBtn{position:absolute;top:15px;right:15px;cursor:pointer;color:#878d99;font-size:16px}.custom-theme .el-notification__closeBtn:hover{color:#5a5e66}.custom-theme .el-notification .el-icon-success{color:#409167}.custom-theme .el-notification .el-icon-error{color:#b3450e}.custom-theme .el-notification .el-icon-info{color:#0a76a4}.custom-theme .el-notification .el-icon-warning{color:#9da408}.custom-theme .el-notification-fade-enter.right{right:0;-webkit-transform:translateX(100%);transform:translateX(100%)}.custom-theme .el-notification-fade-enter.left{left:0;-webkit-transform:translateX(-100%);transform:translateX(-100%)}.custom-theme .el-notification-fade-leave-active{opacity:0}.custom-theme .el-input{position:relative;font-size:14px;display:inline-block;width:100%}.custom-theme .el-input::-webkit-scrollbar{z-index:11;width:6px}.custom-theme .el-input::-webkit-scrollbar:horizontal{height:6px}.custom-theme .el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.custom-theme .el-input::-webkit-scrollbar-corner{background:#fff}.custom-theme .el-input::-webkit-scrollbar-track{background:#fff}.custom-theme .el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.custom-theme .el-input__inner{-webkit-appearance:none;background-color:#fff;background-image:none;border-radius:4px;border:1px solid #d8dce5;-webkit-box-sizing:border-box;box-sizing:border-box;color:#5a5e66;display:inline-block;font-size:inherit;height:40px;line-height:1;outline:0;padding:0 15px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.custom-theme .el-input__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner::placeholder{color:#b4bccc}.custom-theme .el-input__inner:hover{border-color:#b4bccc}.custom-theme .el-input__inner:focus{outline:0;border-color:#262729}.custom-theme .el-input__suffix{position:absolute;height:100%;right:5px;top:0;text-align:center;color:#b4bccc;-webkit-transition:all .3s;transition:all .3s;pointer-events:none}.custom-theme .el-input__suffix-inner{pointer-events:all}.custom-theme .el-input__prefix{position:absolute;height:100%;left:5px;top:0;text-align:center;color:#b4bccc;-webkit-transition:all .3s;transition:all .3s}.custom-theme .el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.custom-theme .el-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.custom-theme .el-input__validateIcon{pointer-events:none}.custom-theme .el-input.is-active .el-input__inner{outline:0;border-color:#262729}.custom-theme .el-input.is-disabled .el-input__inner{background-color:#f5f7fa;border-color:#dfe4ed;color:#b4bccc;cursor:not-allowed}.custom-theme .el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner::placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__icon{cursor:not-allowed}.custom-theme .el-input--suffix .el-input__inner{padding-right:30px}.custom-theme .el-input--prefix .el-input__inner{padding-left:30px}.custom-theme .el-input--medium{font-size:14px}.custom-theme .el-input--medium .el-input__inner{height:36px}.custom-theme .el-input--medium .el-input__icon{line-height:36px}.custom-theme .el-input--small{font-size:13px}.custom-theme .el-input--small .el-input__inner{height:32px}.custom-theme .el-input--small .el-input__icon{line-height:32px}.custom-theme .el-input--mini{font-size:12px}.custom-theme .el-input--mini .el-input__inner{height:28px}.custom-theme .el-input--mini .el-input__icon{line-height:28px}.custom-theme .el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate}.custom-theme .el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.custom-theme .el-input-group__append,.custom-theme .el-input-group__prepend{background-color:#f5f7fa;color:#0a76a4;vertical-align:middle;display:table-cell;position:relative;border:1px solid #d8dce5;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.custom-theme .el-input-group__append:focus,.custom-theme .el-input-group__prepend:focus{outline:0}.custom-theme .el-input-group__append .el-button,.custom-theme .el-input-group__append .el-select,.custom-theme .el-input-group__prepend .el-button,.custom-theme .el-input-group__prepend .el-select{display:inline-block;margin:-20px}.custom-theme .el-input-group__append button.el-button,.custom-theme .el-input-group__append div.el-select .el-input__inner,.custom-theme .el-input-group__append div.el-select:hover .el-input__inner,.custom-theme .el-input-group__prepend button.el-button,.custom-theme .el-input-group__prepend div.el-select .el-input__inner,.custom-theme .el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.custom-theme .el-input-group__append .el-button,.custom-theme .el-input-group__append .el-input,.custom-theme .el-input-group__prepend .el-button,.custom-theme .el-input-group__prepend .el-input{font-size:inherit}.custom-theme .el-input-group__prepend{border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.custom-theme .el-input-group__append{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.custom-theme .el-input-group--prepend .el-input__inner{border-top-left-radius:0;border-bottom-left-radius:0}.custom-theme .el-input-group--append .el-input__inner{border-top-right-radius:0;border-bottom-right-radius:0}.custom-theme .el-textarea{display:inline-block;width:100%;vertical-align:bottom}.custom-theme .el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;font-size:14px;color:#5a5e66;background-color:#fff;background-image:none;border:1px solid #d8dce5;border-radius:4px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.custom-theme .el-textarea__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner::placeholder{color:#b4bccc}.custom-theme .el-textarea__inner:hover{border-color:#b4bccc}.custom-theme .el-textarea__inner:focus{outline:0;border-color:#262729}.custom-theme .el-textarea.is-disabled .el-textarea__inner{background-color:#f5f7fa;border-color:#dfe4ed;color:#b4bccc;cursor:not-allowed}.custom-theme .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner::placeholder{color:#b4bccc}.custom-theme .el-input-number{position:relative;display:inline-block;width:180px;line-height:38px}.custom-theme .el-input-number .el-input{display:block}.custom-theme .el-input-number .el-input__inner{-webkit-appearance:none;padding-left:50px;padding-right:50px;text-align:center}.custom-theme .el-input-number__decrease,.custom-theme .el-input-number__increase{position:absolute;z-index:1;top:1px;width:40px;height:auto;text-align:center;background:#f5f7fa;color:#5a5e66;cursor:pointer;font-size:13px}.custom-theme .el-input-number__decrease:hover,.custom-theme .el-input-number__increase:hover{color:#262729}.custom-theme .el-input-number__decrease:hover:not(.is-disabled)~.el-input .el-input__inner:not(.is-disabled),.custom-theme .el-input-number__increase:hover:not(.is-disabled)~.el-input .el-input__inner:not(.is-disabled){border-color:#262729}.custom-theme .el-input-number__decrease.is-disabled,.custom-theme .el-input-number__increase.is-disabled{color:#b4bccc;cursor:not-allowed}.custom-theme .el-input-number__increase{right:1px;border-radius:0 4px 4px 0;border-left:1px solid #d8dce5}.custom-theme .el-input-number__decrease{left:1px;border-radius:4px 0 0 4px;border-right:1px solid #d8dce5}.custom-theme .el-input-number.is-disabled .el-input-number__decrease,.custom-theme .el-input-number.is-disabled .el-input-number__increase{border-color:#dfe4ed;color:#dfe4ed}.custom-theme .el-input-number.is-disabled .el-input-number__decrease:hover,.custom-theme .el-input-number.is-disabled .el-input-number__increase:hover{color:#dfe4ed;cursor:not-allowed}.custom-theme .el-input-number--medium{width:200px;line-height:34px}.custom-theme .el-input-number--medium .el-input-number__decrease,.custom-theme .el-input-number--medium .el-input-number__increase{width:36px;font-size:14px}.custom-theme .el-input-number--medium .el-input__inner{padding-left:43px;padding-right:43px}.custom-theme .el-input-number--small{width:130px;line-height:30px}.custom-theme .el-input-number--small .el-input-number__decrease,.custom-theme .el-input-number--small .el-input-number__increase{width:32px;font-size:13px}.custom-theme .el-input-number--small .el-input-number__decrease [class*=el-icon],.custom-theme .el-input-number--small .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.9);transform:scale(.9)}.custom-theme .el-input-number--small .el-input__inner{padding-left:39px;padding-right:39px}.custom-theme .el-input-number--mini{width:130px;line-height:26px}.custom-theme .el-input-number--mini .el-input-number__decrease,.custom-theme .el-input-number--mini .el-input-number__increase{width:28px;font-size:12px}.custom-theme .el-input-number--mini .el-input-number__decrease [class*=el-icon],.custom-theme .el-input-number--mini .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.8);transform:scale(.8)}.custom-theme .el-input-number--mini .el-input__inner{padding-left:35px;padding-right:35px}.custom-theme .el-input-number.is-without-controls .el-input__inner{padding-left:15px;padding-right:15px}.custom-theme .el-input-number.is-controls-right .el-input__inner{padding-left:15px;padding-right:50px}.custom-theme .el-input-number.is-controls-right .el-input-number__decrease,.custom-theme .el-input-number.is-controls-right .el-input-number__increase{height:auto;line-height:19px}.custom-theme .el-input-number.is-controls-right .el-input-number__decrease [class*=el-icon],.custom-theme .el-input-number.is-controls-right .el-input-number__increase [class*=el-icon]{-webkit-transform:scale(.8);transform:scale(.8)}.custom-theme .el-input-number.is-controls-right .el-input-number__increase{border-radius:0 4px 0 0;border-bottom:1px solid #d8dce5}.custom-theme .el-input-number.is-controls-right .el-input-number__decrease{right:1px;bottom:1px;top:auto;left:auto;border-right:none;border-left:1px solid #d8dce5;border-radius:0 0 4px 0}.custom-theme .el-input-number.is-controls-right[class*=medium] [class*=decrease],.custom-theme .el-input-number.is-controls-right[class*=medium] [class*=increase]{line-height:17px}.custom-theme .el-input-number.is-controls-right[class*=small] [class*=decrease],.custom-theme .el-input-number.is-controls-right[class*=small] [class*=increase]{line-height:15px}.custom-theme .el-input-number.is-controls-right[class*=mini] [class*=decrease],.custom-theme .el-input-number.is-controls-right[class*=mini] [class*=increase]{line-height:13px}.custom-theme .el-tooltip__popper{position:absolute;border-radius:4px;padding:10px;z-index:2000;font-size:12px;line-height:1.2}.custom-theme .el-tooltip__popper .popper__arrow,.custom-theme .el-tooltip__popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.custom-theme .el-tooltip__popper .popper__arrow{border-width:6px}.custom-theme .el-tooltip__popper .popper__arrow::after{content:" ";border-width:5px}.custom-theme .el-tooltip__popper[x-placement^=top]{margin-bottom:12px}.custom-theme .el-tooltip__popper[x-placement^=top] .popper__arrow{bottom:-6px;border-top-color:#2d2f33;border-bottom-width:0}.custom-theme .el-tooltip__popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-5px;border-top-color:#2d2f33;border-bottom-width:0}.custom-theme .el-tooltip__popper[x-placement^=bottom]{margin-top:12px}.custom-theme .el-tooltip__popper[x-placement^=bottom] .popper__arrow{top:-6px;border-top-width:0;border-bottom-color:#2d2f33}.custom-theme .el-tooltip__popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-5px;border-top-width:0;border-bottom-color:#2d2f33}.custom-theme .el-tooltip__popper[x-placement^=right]{margin-left:12px}.custom-theme .el-tooltip__popper[x-placement^=right] .popper__arrow{left:-6px;border-right-color:#2d2f33;border-left-width:0}.custom-theme .el-tooltip__popper[x-placement^=right] .popper__arrow::after{bottom:-5px;left:1px;border-right-color:#2d2f33;border-left-width:0}.custom-theme .el-tooltip__popper[x-placement^=left]{margin-right:12px}.custom-theme .el-tooltip__popper[x-placement^=left] .popper__arrow{right:-6px;border-right-width:0;border-left-color:#2d2f33}.custom-theme .el-tooltip__popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-5px;margin-left:-5px;border-right-width:0;border-left-color:#2d2f33}.custom-theme .el-tooltip__popper.is-dark{background:#2d2f33;color:#fff}.custom-theme .el-tooltip__popper.is-light{background:#fff;border:1px solid #2d2f33}.custom-theme .el-tooltip__popper.is-light[x-placement^=top] .popper__arrow{border-top-color:#2d2f33}.custom-theme .el-tooltip__popper.is-light[x-placement^=top] .popper__arrow::after{border-top-color:#fff}.custom-theme .el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow{border-bottom-color:#2d2f33}.custom-theme .el-tooltip__popper.is-light[x-placement^=bottom] .popper__arrow::after{border-bottom-color:#fff}.custom-theme .el-tooltip__popper.is-light[x-placement^=left] .popper__arrow{border-left-color:#2d2f33}.custom-theme .el-tooltip__popper.is-light[x-placement^=left] .popper__arrow::after{border-left-color:#fff}.custom-theme .el-tooltip__popper.is-light[x-placement^=right] .popper__arrow{border-right-color:#2d2f33}.custom-theme .el-tooltip__popper.is-light[x-placement^=right] .popper__arrow::after{border-right-color:#fff}.custom-theme .el-slider::after,.custom-theme .el-slider::before{display:table;content:""}.custom-theme .el-slider::after{clear:both}.custom-theme .el-slider__runway{width:100%;height:6px;margin:16px 0;background-color:#dfe4ed;border-radius:3px;position:relative;cursor:pointer;vertical-align:middle}.custom-theme .el-slider__runway.show-input{margin-right:160px;width:auto}.custom-theme .el-slider__runway.disabled{cursor:default}.custom-theme .el-slider__runway.disabled .el-slider__bar{background-color:#b4bccc}.custom-theme .el-slider__runway.disabled .el-slider__button{border-color:#b4bccc}.custom-theme .el-slider__runway.disabled .el-slider__button-wrapper.hover,.custom-theme .el-slider__runway.disabled .el-slider__button-wrapper:hover{cursor:not-allowed}.custom-theme .el-slider__runway.disabled .el-slider__button-wrapper.dragging{cursor:not-allowed}.custom-theme .el-slider__runway.disabled .el-slider__button.dragging,.custom-theme .el-slider__runway.disabled .el-slider__button.hover,.custom-theme .el-slider__runway.disabled .el-slider__button:hover{-webkit-transform:scale(1);transform:scale(1)}.custom-theme .el-slider__runway.disabled .el-slider__button.hover,.custom-theme .el-slider__runway.disabled .el-slider__button:hover{cursor:not-allowed}.custom-theme .el-slider__runway.disabled .el-slider__button.dragging{cursor:not-allowed}.custom-theme .el-slider__input{float:right;margin-top:3px}.custom-theme .el-slider__bar{height:6px;background-color:#262729;border-top-left-radius:3px;border-bottom-left-radius:3px;position:absolute}.custom-theme .el-slider__button-wrapper{height:36px;width:36px;position:absolute;z-index:1001;top:-15px;-webkit-transform:translateX(-50%);transform:translateX(-50%);background-color:transparent;text-align:center;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.custom-theme .el-slider__button-wrapper::after{display:inline-block;content:"";height:100%;vertical-align:middle}.custom-theme .el-slider__button-wrapper .el-tooltip{vertical-align:middle;display:inline-block}.custom-theme .el-slider__button-wrapper.hover,.custom-theme .el-slider__button-wrapper:hover{cursor:-webkit-grab;cursor:grab}.custom-theme .el-slider__button-wrapper.dragging{cursor:-webkit-grabbing;cursor:grabbing}.custom-theme .el-slider__button{width:16px;height:16px;border:solid 2px #262729;background-color:#fff;border-radius:50%;-webkit-transition:.2s;transition:.2s;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.custom-theme .el-slider__button.dragging,.custom-theme .el-slider__button.hover,.custom-theme .el-slider__button:hover{-webkit-transform:scale(1.2);transform:scale(1.2)}.custom-theme .el-slider__button.hover,.custom-theme .el-slider__button:hover{cursor:-webkit-grab;cursor:grab}.custom-theme .el-slider__button.dragging{cursor:-webkit-grabbing;cursor:grabbing}.custom-theme .el-slider__stop{position:absolute;height:6px;width:6px;border-radius:100%;background-color:#fff;-webkit-transform:translateX(-50%);transform:translateX(-50%)}.custom-theme .el-slider.is-vertical{position:relative}.custom-theme .el-slider.is-vertical .el-slider__runway{width:4px;height:100%;margin:0 16px}.custom-theme .el-slider.is-vertical .el-slider__bar{width:4px;height:auto;border-radius:0 0 3px 3px}.custom-theme .el-slider.is-vertical .el-slider__button-wrapper{top:auto;left:-15px;-webkit-transform:translateY(50%);transform:translateY(50%)}.custom-theme .el-slider.is-vertical .el-slider__stop{-webkit-transform:translateY(50%);transform:translateY(50%)}.custom-theme .el-slider.is-vertical.el-slider--with-input{padding-bottom:58px}.custom-theme .el-slider.is-vertical.el-slider--with-input .el-slider__input{overflow:visible;float:none;position:absolute;bottom:22px;width:36px;margin-top:15px}.custom-theme .el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input__inner{text-align:center;padding-left:5px;padding-right:5px}.custom-theme .el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__decrease,.custom-theme .el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase{top:32px;margin-top:-1px;border:1px solid #d8dce5;line-height:20px;-webkit-box-sizing:border-box;box-sizing:border-box;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.custom-theme .el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__decrease{width:18px;right:18px;border-bottom-left-radius:4px}.custom-theme .el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase{width:19px;border-bottom-right-radius:4px}.custom-theme .el-slider.is-vertical.el-slider--with-input .el-slider__input .el-input-number__increase~.el-input .el-input__inner{border-bottom-left-radius:0;border-bottom-right-radius:0}.custom-theme .el-slider.is-vertical.el-slider--with-input .el-slider__input:hover .el-input-number__decrease,.custom-theme .el-slider.is-vertical.el-slider--with-input .el-slider__input:hover .el-input-number__increase{border-color:#b4bccc}.custom-theme .el-slider.is-vertical.el-slider--with-input .el-slider__input:active .el-input-number__decrease,.custom-theme .el-slider.is-vertical.el-slider--with-input .el-slider__input:active .el-input-number__increase{border-color:#262729}.custom-theme .el-loading-parent--relative{position:relative!important}.custom-theme .el-loading-parent--hidden{overflow:hidden!important}.custom-theme .el-loading-mask{position:absolute;z-index:10000;background-color:rgba(255,255,255,.9);margin:0;top:0;right:0;bottom:0;left:0;-webkit-transition:opacity .3s;transition:opacity .3s}.custom-theme .el-loading-mask.is-fullscreen{position:fixed}.custom-theme .el-loading-mask.is-fullscreen .el-loading-spinner{margin-top:-25px}.custom-theme .el-loading-mask.is-fullscreen .el-loading-spinner .circular{height:50px;width:50px}.custom-theme .el-loading-spinner{top:50%;margin-top:-21px;width:100%;text-align:center;position:absolute}.custom-theme .el-loading-spinner .el-loading-text{color:#262729;margin:3px 0;font-size:14px}.custom-theme .el-loading-spinner .circular{height:42px;width:42px;-webkit-animation:loading-rotate 2s linear infinite;animation:loading-rotate 2s linear infinite}.custom-theme .el-loading-spinner .path{-webkit-animation:loading-dash 1.5s ease-in-out infinite;animation:loading-dash 1.5s ease-in-out infinite;stroke-dasharray:90,150;stroke-dashoffset:0;stroke-width:2;stroke:#262729;stroke-linecap:round}.custom-theme .el-loading-spinner i{color:#262729}.custom-theme .el-loading-fade-enter,.custom-theme .el-loading-fade-leave-active{opacity:0}@-webkit-keyframes loading-rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes loading-rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}100%{stroke-dasharray:90,150;stroke-dashoffset:-120px}}@keyframes loading-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-40px}100%{stroke-dasharray:90,150;stroke-dashoffset:-120px}}.custom-theme .el-row{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box}.custom-theme .el-row::after,.custom-theme .el-row::before{display:table;content:""}.custom-theme .el-row::after{clear:both}.custom-theme .el-row--flex{display:-webkit-box;display:-ms-flexbox;display:flex}.custom-theme .el-row--flex:after,.custom-theme .el-row--flex:before{display:none}.custom-theme .el-row--flex.is-justify-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.custom-theme .el-row--flex.is-justify-end{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}.custom-theme .el-row--flex.is-justify-space-between{-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.custom-theme .el-row--flex.is-justify-space-around{-ms-flex-pack:distribute;justify-content:space-around}.custom-theme .el-row--flex.is-align-middle{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.custom-theme .el-row--flex.is-align-bottom{-webkit-box-align:end;-ms-flex-align:end;align-items:flex-end}.custom-theme [class*=el-col-]{float:left;-webkit-box-sizing:border-box;box-sizing:border-box}.custom-theme .el-col-0{display:none}.custom-theme .el-col-1{width:4.16667%}.custom-theme .el-col-offset-1{margin-left:4.16667%}.custom-theme .el-col-pull-1{position:relative;right:4.16667%}.custom-theme .el-col-push-1{position:relative;left:4.16667%}.custom-theme .el-col-2{width:8.33333%}.custom-theme .el-col-offset-2{margin-left:8.33333%}.custom-theme .el-col-pull-2{position:relative;right:8.33333%}.custom-theme .el-col-push-2{position:relative;left:8.33333%}.custom-theme .el-col-3{width:12.5%}.custom-theme .el-col-offset-3{margin-left:12.5%}.custom-theme .el-col-pull-3{position:relative;right:12.5%}.custom-theme .el-col-push-3{position:relative;left:12.5%}.custom-theme .el-col-4{width:16.66667%}.custom-theme .el-col-offset-4{margin-left:16.66667%}.custom-theme .el-col-pull-4{position:relative;right:16.66667%}.custom-theme .el-col-push-4{position:relative;left:16.66667%}.custom-theme .el-col-5{width:20.83333%}.custom-theme .el-col-offset-5{margin-left:20.83333%}.custom-theme .el-col-pull-5{position:relative;right:20.83333%}.custom-theme .el-col-push-5{position:relative;left:20.83333%}.custom-theme .el-col-6{width:25%}.custom-theme .el-col-offset-6{margin-left:25%}.custom-theme .el-col-pull-6{position:relative;right:25%}.custom-theme .el-col-push-6{position:relative;left:25%}.custom-theme .el-col-7{width:29.16667%}.custom-theme .el-col-offset-7{margin-left:29.16667%}.custom-theme .el-col-pull-7{position:relative;right:29.16667%}.custom-theme .el-col-push-7{position:relative;left:29.16667%}.custom-theme .el-col-8{width:33.33333%}.custom-theme .el-col-offset-8{margin-left:33.33333%}.custom-theme .el-col-pull-8{position:relative;right:33.33333%}.custom-theme .el-col-push-8{position:relative;left:33.33333%}.custom-theme .el-col-9{width:37.5%}.custom-theme .el-col-offset-9{margin-left:37.5%}.custom-theme .el-col-pull-9{position:relative;right:37.5%}.custom-theme .el-col-push-9{position:relative;left:37.5%}.custom-theme .el-col-10{width:41.66667%}.custom-theme .el-col-offset-10{margin-left:41.66667%}.custom-theme .el-col-pull-10{position:relative;right:41.66667%}.custom-theme .el-col-push-10{position:relative;left:41.66667%}.custom-theme .el-col-11{width:45.83333%}.custom-theme .el-col-offset-11{margin-left:45.83333%}.custom-theme .el-col-pull-11{position:relative;right:45.83333%}.custom-theme .el-col-push-11{position:relative;left:45.83333%}.custom-theme .el-col-12{width:50%}.custom-theme .el-col-offset-12{margin-left:50%}.custom-theme .el-col-pull-12{position:relative;right:50%}.custom-theme .el-col-push-12{position:relative;left:50%}.custom-theme .el-col-13{width:54.16667%}.custom-theme .el-col-offset-13{margin-left:54.16667%}.custom-theme .el-col-pull-13{position:relative;right:54.16667%}.custom-theme .el-col-push-13{position:relative;left:54.16667%}.custom-theme .el-col-14{width:58.33333%}.custom-theme .el-col-offset-14{margin-left:58.33333%}.custom-theme .el-col-pull-14{position:relative;right:58.33333%}.custom-theme .el-col-push-14{position:relative;left:58.33333%}.custom-theme .el-col-15{width:62.5%}.custom-theme .el-col-offset-15{margin-left:62.5%}.custom-theme .el-col-pull-15{position:relative;right:62.5%}.custom-theme .el-col-push-15{position:relative;left:62.5%}.custom-theme .el-col-16{width:66.66667%}.custom-theme .el-col-offset-16{margin-left:66.66667%}.custom-theme .el-col-pull-16{position:relative;right:66.66667%}.custom-theme .el-col-push-16{position:relative;left:66.66667%}.custom-theme .el-col-17{width:70.83333%}.custom-theme .el-col-offset-17{margin-left:70.83333%}.custom-theme .el-col-pull-17{position:relative;right:70.83333%}.custom-theme .el-col-push-17{position:relative;left:70.83333%}.custom-theme .el-col-18{width:75%}.custom-theme .el-col-offset-18{margin-left:75%}.custom-theme .el-col-pull-18{position:relative;right:75%}.custom-theme .el-col-push-18{position:relative;left:75%}.custom-theme .el-col-19{width:79.16667%}.custom-theme .el-col-offset-19{margin-left:79.16667%}.custom-theme .el-col-pull-19{position:relative;right:79.16667%}.custom-theme .el-col-push-19{position:relative;left:79.16667%}.custom-theme .el-col-20{width:83.33333%}.custom-theme .el-col-offset-20{margin-left:83.33333%}.custom-theme .el-col-pull-20{position:relative;right:83.33333%}.custom-theme .el-col-push-20{position:relative;left:83.33333%}.custom-theme .el-col-21{width:87.5%}.custom-theme .el-col-offset-21{margin-left:87.5%}.custom-theme .el-col-pull-21{position:relative;right:87.5%}.custom-theme .el-col-push-21{position:relative;left:87.5%}.custom-theme .el-col-22{width:91.66667%}.custom-theme .el-col-offset-22{margin-left:91.66667%}.custom-theme .el-col-pull-22{position:relative;right:91.66667%}.custom-theme .el-col-push-22{position:relative;left:91.66667%}.custom-theme .el-col-23{width:95.83333%}.custom-theme .el-col-offset-23{margin-left:95.83333%}.custom-theme .el-col-pull-23{position:relative;right:95.83333%}.custom-theme .el-col-push-23{position:relative;left:95.83333%}.custom-theme .el-col-24{width:100%}.custom-theme .el-col-offset-24{margin-left:100%}.custom-theme .el-col-pull-24{position:relative;right:100%}.custom-theme .el-col-push-24{position:relative;left:100%}@media only screen and (max-width:768px){.custom-theme .el-col-xs-0{display:none}.custom-theme .el-col-xs-1{width:4.16667%}.custom-theme .el-col-xs-offset-1{margin-left:4.16667%}.custom-theme .el-col-xs-pull-1{position:relative;right:4.16667%}.custom-theme .el-col-xs-push-1{position:relative;left:4.16667%}.custom-theme .el-col-xs-2{width:8.33333%}.custom-theme .el-col-xs-offset-2{margin-left:8.33333%}.custom-theme .el-col-xs-pull-2{position:relative;right:8.33333%}.custom-theme .el-col-xs-push-2{position:relative;left:8.33333%}.custom-theme .el-col-xs-3{width:12.5%}.custom-theme .el-col-xs-offset-3{margin-left:12.5%}.custom-theme .el-col-xs-pull-3{position:relative;right:12.5%}.custom-theme .el-col-xs-push-3{position:relative;left:12.5%}.custom-theme .el-col-xs-4{width:16.66667%}.custom-theme .el-col-xs-offset-4{margin-left:16.66667%}.custom-theme .el-col-xs-pull-4{position:relative;right:16.66667%}.custom-theme .el-col-xs-push-4{position:relative;left:16.66667%}.custom-theme .el-col-xs-5{width:20.83333%}.custom-theme .el-col-xs-offset-5{margin-left:20.83333%}.custom-theme .el-col-xs-pull-5{position:relative;right:20.83333%}.custom-theme .el-col-xs-push-5{position:relative;left:20.83333%}.custom-theme .el-col-xs-6{width:25%}.custom-theme .el-col-xs-offset-6{margin-left:25%}.custom-theme .el-col-xs-pull-6{position:relative;right:25%}.custom-theme .el-col-xs-push-6{position:relative;left:25%}.custom-theme .el-col-xs-7{width:29.16667%}.custom-theme .el-col-xs-offset-7{margin-left:29.16667%}.custom-theme .el-col-xs-pull-7{position:relative;right:29.16667%}.custom-theme .el-col-xs-push-7{position:relative;left:29.16667%}.custom-theme .el-col-xs-8{width:33.33333%}.custom-theme .el-col-xs-offset-8{margin-left:33.33333%}.custom-theme .el-col-xs-pull-8{position:relative;right:33.33333%}.custom-theme .el-col-xs-push-8{position:relative;left:33.33333%}.custom-theme .el-col-xs-9{width:37.5%}.custom-theme .el-col-xs-offset-9{margin-left:37.5%}.custom-theme .el-col-xs-pull-9{position:relative;right:37.5%}.custom-theme .el-col-xs-push-9{position:relative;left:37.5%}.custom-theme .el-col-xs-10{width:41.66667%}.custom-theme .el-col-xs-offset-10{margin-left:41.66667%}.custom-theme .el-col-xs-pull-10{position:relative;right:41.66667%}.custom-theme .el-col-xs-push-10{position:relative;left:41.66667%}.custom-theme .el-col-xs-11{width:45.83333%}.custom-theme .el-col-xs-offset-11{margin-left:45.83333%}.custom-theme .el-col-xs-pull-11{position:relative;right:45.83333%}.custom-theme .el-col-xs-push-11{position:relative;left:45.83333%}.custom-theme .el-col-xs-12{width:50%}.custom-theme .el-col-xs-offset-12{margin-left:50%}.custom-theme .el-col-xs-pull-12{position:relative;right:50%}.custom-theme .el-col-xs-push-12{position:relative;left:50%}.custom-theme .el-col-xs-13{width:54.16667%}.custom-theme .el-col-xs-offset-13{margin-left:54.16667%}.custom-theme .el-col-xs-pull-13{position:relative;right:54.16667%}.custom-theme .el-col-xs-push-13{position:relative;left:54.16667%}.custom-theme .el-col-xs-14{width:58.33333%}.custom-theme .el-col-xs-offset-14{margin-left:58.33333%}.custom-theme .el-col-xs-pull-14{position:relative;right:58.33333%}.custom-theme .el-col-xs-push-14{position:relative;left:58.33333%}.custom-theme .el-col-xs-15{width:62.5%}.custom-theme .el-col-xs-offset-15{margin-left:62.5%}.custom-theme .el-col-xs-pull-15{position:relative;right:62.5%}.custom-theme .el-col-xs-push-15{position:relative;left:62.5%}.custom-theme .el-col-xs-16{width:66.66667%}.custom-theme .el-col-xs-offset-16{margin-left:66.66667%}.custom-theme .el-col-xs-pull-16{position:relative;right:66.66667%}.custom-theme .el-col-xs-push-16{position:relative;left:66.66667%}.custom-theme .el-col-xs-17{width:70.83333%}.custom-theme .el-col-xs-offset-17{margin-left:70.83333%}.custom-theme .el-col-xs-pull-17{position:relative;right:70.83333%}.custom-theme .el-col-xs-push-17{position:relative;left:70.83333%}.custom-theme .el-col-xs-18{width:75%}.custom-theme .el-col-xs-offset-18{margin-left:75%}.custom-theme .el-col-xs-pull-18{position:relative;right:75%}.custom-theme .el-col-xs-push-18{position:relative;left:75%}.custom-theme .el-col-xs-19{width:79.16667%}.custom-theme .el-col-xs-offset-19{margin-left:79.16667%}.custom-theme .el-col-xs-pull-19{position:relative;right:79.16667%}.custom-theme .el-col-xs-push-19{position:relative;left:79.16667%}.custom-theme .el-col-xs-20{width:83.33333%}.custom-theme .el-col-xs-offset-20{margin-left:83.33333%}.custom-theme .el-col-xs-pull-20{position:relative;right:83.33333%}.custom-theme .el-col-xs-push-20{position:relative;left:83.33333%}.custom-theme .el-col-xs-21{width:87.5%}.custom-theme .el-col-xs-offset-21{margin-left:87.5%}.custom-theme .el-col-xs-pull-21{position:relative;right:87.5%}.custom-theme .el-col-xs-push-21{position:relative;left:87.5%}.custom-theme .el-col-xs-22{width:91.66667%}.custom-theme .el-col-xs-offset-22{margin-left:91.66667%}.custom-theme .el-col-xs-pull-22{position:relative;right:91.66667%}.custom-theme .el-col-xs-push-22{position:relative;left:91.66667%}.custom-theme .el-col-xs-23{width:95.83333%}.custom-theme .el-col-xs-offset-23{margin-left:95.83333%}.custom-theme .el-col-xs-pull-23{position:relative;right:95.83333%}.custom-theme .el-col-xs-push-23{position:relative;left:95.83333%}.custom-theme .el-col-xs-24{width:100%}.custom-theme .el-col-xs-offset-24{margin-left:100%}.custom-theme .el-col-xs-pull-24{position:relative;right:100%}.custom-theme .el-col-xs-push-24{position:relative;left:100%}}@media only screen and (min-width:768px){.custom-theme .el-col-sm-0{display:none}.custom-theme .el-col-sm-1{width:4.16667%}.custom-theme .el-col-sm-offset-1{margin-left:4.16667%}.custom-theme .el-col-sm-pull-1{position:relative;right:4.16667%}.custom-theme .el-col-sm-push-1{position:relative;left:4.16667%}.custom-theme .el-col-sm-2{width:8.33333%}.custom-theme .el-col-sm-offset-2{margin-left:8.33333%}.custom-theme .el-col-sm-pull-2{position:relative;right:8.33333%}.custom-theme .el-col-sm-push-2{position:relative;left:8.33333%}.custom-theme .el-col-sm-3{width:12.5%}.custom-theme .el-col-sm-offset-3{margin-left:12.5%}.custom-theme .el-col-sm-pull-3{position:relative;right:12.5%}.custom-theme .el-col-sm-push-3{position:relative;left:12.5%}.custom-theme .el-col-sm-4{width:16.66667%}.custom-theme .el-col-sm-offset-4{margin-left:16.66667%}.custom-theme .el-col-sm-pull-4{position:relative;right:16.66667%}.custom-theme .el-col-sm-push-4{position:relative;left:16.66667%}.custom-theme .el-col-sm-5{width:20.83333%}.custom-theme .el-col-sm-offset-5{margin-left:20.83333%}.custom-theme .el-col-sm-pull-5{position:relative;right:20.83333%}.custom-theme .el-col-sm-push-5{position:relative;left:20.83333%}.custom-theme .el-col-sm-6{width:25%}.custom-theme .el-col-sm-offset-6{margin-left:25%}.custom-theme .el-col-sm-pull-6{position:relative;right:25%}.custom-theme .el-col-sm-push-6{position:relative;left:25%}.custom-theme .el-col-sm-7{width:29.16667%}.custom-theme .el-col-sm-offset-7{margin-left:29.16667%}.custom-theme .el-col-sm-pull-7{position:relative;right:29.16667%}.custom-theme .el-col-sm-push-7{position:relative;left:29.16667%}.custom-theme .el-col-sm-8{width:33.33333%}.custom-theme .el-col-sm-offset-8{margin-left:33.33333%}.custom-theme .el-col-sm-pull-8{position:relative;right:33.33333%}.custom-theme .el-col-sm-push-8{position:relative;left:33.33333%}.custom-theme .el-col-sm-9{width:37.5%}.custom-theme .el-col-sm-offset-9{margin-left:37.5%}.custom-theme .el-col-sm-pull-9{position:relative;right:37.5%}.custom-theme .el-col-sm-push-9{position:relative;left:37.5%}.custom-theme .el-col-sm-10{width:41.66667%}.custom-theme .el-col-sm-offset-10{margin-left:41.66667%}.custom-theme .el-col-sm-pull-10{position:relative;right:41.66667%}.custom-theme .el-col-sm-push-10{position:relative;left:41.66667%}.custom-theme .el-col-sm-11{width:45.83333%}.custom-theme .el-col-sm-offset-11{margin-left:45.83333%}.custom-theme .el-col-sm-pull-11{position:relative;right:45.83333%}.custom-theme .el-col-sm-push-11{position:relative;left:45.83333%}.custom-theme .el-col-sm-12{width:50%}.custom-theme .el-col-sm-offset-12{margin-left:50%}.custom-theme .el-col-sm-pull-12{position:relative;right:50%}.custom-theme .el-col-sm-push-12{position:relative;left:50%}.custom-theme .el-col-sm-13{width:54.16667%}.custom-theme .el-col-sm-offset-13{margin-left:54.16667%}.custom-theme .el-col-sm-pull-13{position:relative;right:54.16667%}.custom-theme .el-col-sm-push-13{position:relative;left:54.16667%}.custom-theme .el-col-sm-14{width:58.33333%}.custom-theme .el-col-sm-offset-14{margin-left:58.33333%}.custom-theme .el-col-sm-pull-14{position:relative;right:58.33333%}.custom-theme .el-col-sm-push-14{position:relative;left:58.33333%}.custom-theme .el-col-sm-15{width:62.5%}.custom-theme .el-col-sm-offset-15{margin-left:62.5%}.custom-theme .el-col-sm-pull-15{position:relative;right:62.5%}.custom-theme .el-col-sm-push-15{position:relative;left:62.5%}.custom-theme .el-col-sm-16{width:66.66667%}.custom-theme .el-col-sm-offset-16{margin-left:66.66667%}.custom-theme .el-col-sm-pull-16{position:relative;right:66.66667%}.custom-theme .el-col-sm-push-16{position:relative;left:66.66667%}.custom-theme .el-col-sm-17{width:70.83333%}.custom-theme .el-col-sm-offset-17{margin-left:70.83333%}.custom-theme .el-col-sm-pull-17{position:relative;right:70.83333%}.custom-theme .el-col-sm-push-17{position:relative;left:70.83333%}.custom-theme .el-col-sm-18{width:75%}.custom-theme .el-col-sm-offset-18{margin-left:75%}.custom-theme .el-col-sm-pull-18{position:relative;right:75%}.custom-theme .el-col-sm-push-18{position:relative;left:75%}.custom-theme .el-col-sm-19{width:79.16667%}.custom-theme .el-col-sm-offset-19{margin-left:79.16667%}.custom-theme .el-col-sm-pull-19{position:relative;right:79.16667%}.custom-theme .el-col-sm-push-19{position:relative;left:79.16667%}.custom-theme .el-col-sm-20{width:83.33333%}.custom-theme .el-col-sm-offset-20{margin-left:83.33333%}.custom-theme .el-col-sm-pull-20{position:relative;right:83.33333%}.custom-theme .el-col-sm-push-20{position:relative;left:83.33333%}.custom-theme .el-col-sm-21{width:87.5%}.custom-theme .el-col-sm-offset-21{margin-left:87.5%}.custom-theme .el-col-sm-pull-21{position:relative;right:87.5%}.custom-theme .el-col-sm-push-21{position:relative;left:87.5%}.custom-theme .el-col-sm-22{width:91.66667%}.custom-theme .el-col-sm-offset-22{margin-left:91.66667%}.custom-theme .el-col-sm-pull-22{position:relative;right:91.66667%}.custom-theme .el-col-sm-push-22{position:relative;left:91.66667%}.custom-theme .el-col-sm-23{width:95.83333%}.custom-theme .el-col-sm-offset-23{margin-left:95.83333%}.custom-theme .el-col-sm-pull-23{position:relative;right:95.83333%}.custom-theme .el-col-sm-push-23{position:relative;left:95.83333%}.custom-theme .el-col-sm-24{width:100%}.custom-theme .el-col-sm-offset-24{margin-left:100%}.custom-theme .el-col-sm-pull-24{position:relative;right:100%}.custom-theme .el-col-sm-push-24{position:relative;left:100%}}@media only screen and (min-width:992px){.custom-theme .el-col-md-0{display:none}.custom-theme .el-col-md-1{width:4.16667%}.custom-theme .el-col-md-offset-1{margin-left:4.16667%}.custom-theme .el-col-md-pull-1{position:relative;right:4.16667%}.custom-theme .el-col-md-push-1{position:relative;left:4.16667%}.custom-theme .el-col-md-2{width:8.33333%}.custom-theme .el-col-md-offset-2{margin-left:8.33333%}.custom-theme .el-col-md-pull-2{position:relative;right:8.33333%}.custom-theme .el-col-md-push-2{position:relative;left:8.33333%}.custom-theme .el-col-md-3{width:12.5%}.custom-theme .el-col-md-offset-3{margin-left:12.5%}.custom-theme .el-col-md-pull-3{position:relative;right:12.5%}.custom-theme .el-col-md-push-3{position:relative;left:12.5%}.custom-theme .el-col-md-4{width:16.66667%}.custom-theme .el-col-md-offset-4{margin-left:16.66667%}.custom-theme .el-col-md-pull-4{position:relative;right:16.66667%}.custom-theme .el-col-md-push-4{position:relative;left:16.66667%}.custom-theme .el-col-md-5{width:20.83333%}.custom-theme .el-col-md-offset-5{margin-left:20.83333%}.custom-theme .el-col-md-pull-5{position:relative;right:20.83333%}.custom-theme .el-col-md-push-5{position:relative;left:20.83333%}.custom-theme .el-col-md-6{width:25%}.custom-theme .el-col-md-offset-6{margin-left:25%}.custom-theme .el-col-md-pull-6{position:relative;right:25%}.custom-theme .el-col-md-push-6{position:relative;left:25%}.custom-theme .el-col-md-7{width:29.16667%}.custom-theme .el-col-md-offset-7{margin-left:29.16667%}.custom-theme .el-col-md-pull-7{position:relative;right:29.16667%}.custom-theme .el-col-md-push-7{position:relative;left:29.16667%}.custom-theme .el-col-md-8{width:33.33333%}.custom-theme .el-col-md-offset-8{margin-left:33.33333%}.custom-theme .el-col-md-pull-8{position:relative;right:33.33333%}.custom-theme .el-col-md-push-8{position:relative;left:33.33333%}.custom-theme .el-col-md-9{width:37.5%}.custom-theme .el-col-md-offset-9{margin-left:37.5%}.custom-theme .el-col-md-pull-9{position:relative;right:37.5%}.custom-theme .el-col-md-push-9{position:relative;left:37.5%}.custom-theme .el-col-md-10{width:41.66667%}.custom-theme .el-col-md-offset-10{margin-left:41.66667%}.custom-theme .el-col-md-pull-10{position:relative;right:41.66667%}.custom-theme .el-col-md-push-10{position:relative;left:41.66667%}.custom-theme .el-col-md-11{width:45.83333%}.custom-theme .el-col-md-offset-11{margin-left:45.83333%}.custom-theme .el-col-md-pull-11{position:relative;right:45.83333%}.custom-theme .el-col-md-push-11{position:relative;left:45.83333%}.custom-theme .el-col-md-12{width:50%}.custom-theme .el-col-md-offset-12{margin-left:50%}.custom-theme .el-col-md-pull-12{position:relative;right:50%}.custom-theme .el-col-md-push-12{position:relative;left:50%}.custom-theme .el-col-md-13{width:54.16667%}.custom-theme .el-col-md-offset-13{margin-left:54.16667%}.custom-theme .el-col-md-pull-13{position:relative;right:54.16667%}.custom-theme .el-col-md-push-13{position:relative;left:54.16667%}.custom-theme .el-col-md-14{width:58.33333%}.custom-theme .el-col-md-offset-14{margin-left:58.33333%}.custom-theme .el-col-md-pull-14{position:relative;right:58.33333%}.custom-theme .el-col-md-push-14{position:relative;left:58.33333%}.custom-theme .el-col-md-15{width:62.5%}.custom-theme .el-col-md-offset-15{margin-left:62.5%}.custom-theme .el-col-md-pull-15{position:relative;right:62.5%}.custom-theme .el-col-md-push-15{position:relative;left:62.5%}.custom-theme .el-col-md-16{width:66.66667%}.custom-theme .el-col-md-offset-16{margin-left:66.66667%}.custom-theme .el-col-md-pull-16{position:relative;right:66.66667%}.custom-theme .el-col-md-push-16{position:relative;left:66.66667%}.custom-theme .el-col-md-17{width:70.83333%}.custom-theme .el-col-md-offset-17{margin-left:70.83333%}.custom-theme .el-col-md-pull-17{position:relative;right:70.83333%}.custom-theme .el-col-md-push-17{position:relative;left:70.83333%}.custom-theme .el-col-md-18{width:75%}.custom-theme .el-col-md-offset-18{margin-left:75%}.custom-theme .el-col-md-pull-18{position:relative;right:75%}.custom-theme .el-col-md-push-18{position:relative;left:75%}.custom-theme .el-col-md-19{width:79.16667%}.custom-theme .el-col-md-offset-19{margin-left:79.16667%}.custom-theme .el-col-md-pull-19{position:relative;right:79.16667%}.custom-theme .el-col-md-push-19{position:relative;left:79.16667%}.custom-theme .el-col-md-20{width:83.33333%}.custom-theme .el-col-md-offset-20{margin-left:83.33333%}.custom-theme .el-col-md-pull-20{position:relative;right:83.33333%}.custom-theme .el-col-md-push-20{position:relative;left:83.33333%}.custom-theme .el-col-md-21{width:87.5%}.custom-theme .el-col-md-offset-21{margin-left:87.5%}.custom-theme .el-col-md-pull-21{position:relative;right:87.5%}.custom-theme .el-col-md-push-21{position:relative;left:87.5%}.custom-theme .el-col-md-22{width:91.66667%}.custom-theme .el-col-md-offset-22{margin-left:91.66667%}.custom-theme .el-col-md-pull-22{position:relative;right:91.66667%}.custom-theme .el-col-md-push-22{position:relative;left:91.66667%}.custom-theme .el-col-md-23{width:95.83333%}.custom-theme .el-col-md-offset-23{margin-left:95.83333%}.custom-theme .el-col-md-pull-23{position:relative;right:95.83333%}.custom-theme .el-col-md-push-23{position:relative;left:95.83333%}.custom-theme .el-col-md-24{width:100%}.custom-theme .el-col-md-offset-24{margin-left:100%}.custom-theme .el-col-md-pull-24{position:relative;right:100%}.custom-theme .el-col-md-push-24{position:relative;left:100%}}@media only screen and (min-width:1200px){.custom-theme .el-col-lg-0{display:none}.custom-theme .el-col-lg-1{width:4.16667%}.custom-theme .el-col-lg-offset-1{margin-left:4.16667%}.custom-theme .el-col-lg-pull-1{position:relative;right:4.16667%}.custom-theme .el-col-lg-push-1{position:relative;left:4.16667%}.custom-theme .el-col-lg-2{width:8.33333%}.custom-theme .el-col-lg-offset-2{margin-left:8.33333%}.custom-theme .el-col-lg-pull-2{position:relative;right:8.33333%}.custom-theme .el-col-lg-push-2{position:relative;left:8.33333%}.custom-theme .el-col-lg-3{width:12.5%}.custom-theme .el-col-lg-offset-3{margin-left:12.5%}.custom-theme .el-col-lg-pull-3{position:relative;right:12.5%}.custom-theme .el-col-lg-push-3{position:relative;left:12.5%}.custom-theme .el-col-lg-4{width:16.66667%}.custom-theme .el-col-lg-offset-4{margin-left:16.66667%}.custom-theme .el-col-lg-pull-4{position:relative;right:16.66667%}.custom-theme .el-col-lg-push-4{position:relative;left:16.66667%}.custom-theme .el-col-lg-5{width:20.83333%}.custom-theme .el-col-lg-offset-5{margin-left:20.83333%}.custom-theme .el-col-lg-pull-5{position:relative;right:20.83333%}.custom-theme .el-col-lg-push-5{position:relative;left:20.83333%}.custom-theme .el-col-lg-6{width:25%}.custom-theme .el-col-lg-offset-6{margin-left:25%}.custom-theme .el-col-lg-pull-6{position:relative;right:25%}.custom-theme .el-col-lg-push-6{position:relative;left:25%}.custom-theme .el-col-lg-7{width:29.16667%}.custom-theme .el-col-lg-offset-7{margin-left:29.16667%}.custom-theme .el-col-lg-pull-7{position:relative;right:29.16667%}.custom-theme .el-col-lg-push-7{position:relative;left:29.16667%}.custom-theme .el-col-lg-8{width:33.33333%}.custom-theme .el-col-lg-offset-8{margin-left:33.33333%}.custom-theme .el-col-lg-pull-8{position:relative;right:33.33333%}.custom-theme .el-col-lg-push-8{position:relative;left:33.33333%}.custom-theme .el-col-lg-9{width:37.5%}.custom-theme .el-col-lg-offset-9{margin-left:37.5%}.custom-theme .el-col-lg-pull-9{position:relative;right:37.5%}.custom-theme .el-col-lg-push-9{position:relative;left:37.5%}.custom-theme .el-col-lg-10{width:41.66667%}.custom-theme .el-col-lg-offset-10{margin-left:41.66667%}.custom-theme .el-col-lg-pull-10{position:relative;right:41.66667%}.custom-theme .el-col-lg-push-10{position:relative;left:41.66667%}.custom-theme .el-col-lg-11{width:45.83333%}.custom-theme .el-col-lg-offset-11{margin-left:45.83333%}.custom-theme .el-col-lg-pull-11{position:relative;right:45.83333%}.custom-theme .el-col-lg-push-11{position:relative;left:45.83333%}.custom-theme .el-col-lg-12{width:50%}.custom-theme .el-col-lg-offset-12{margin-left:50%}.custom-theme .el-col-lg-pull-12{position:relative;right:50%}.custom-theme .el-col-lg-push-12{position:relative;left:50%}.custom-theme .el-col-lg-13{width:54.16667%}.custom-theme .el-col-lg-offset-13{margin-left:54.16667%}.custom-theme .el-col-lg-pull-13{position:relative;right:54.16667%}.custom-theme .el-col-lg-push-13{position:relative;left:54.16667%}.custom-theme .el-col-lg-14{width:58.33333%}.custom-theme .el-col-lg-offset-14{margin-left:58.33333%}.custom-theme .el-col-lg-pull-14{position:relative;right:58.33333%}.custom-theme .el-col-lg-push-14{position:relative;left:58.33333%}.custom-theme .el-col-lg-15{width:62.5%}.custom-theme .el-col-lg-offset-15{margin-left:62.5%}.custom-theme .el-col-lg-pull-15{position:relative;right:62.5%}.custom-theme .el-col-lg-push-15{position:relative;left:62.5%}.custom-theme .el-col-lg-16{width:66.66667%}.custom-theme .el-col-lg-offset-16{margin-left:66.66667%}.custom-theme .el-col-lg-pull-16{position:relative;right:66.66667%}.custom-theme .el-col-lg-push-16{position:relative;left:66.66667%}.custom-theme .el-col-lg-17{width:70.83333%}.custom-theme .el-col-lg-offset-17{margin-left:70.83333%}.custom-theme .el-col-lg-pull-17{position:relative;right:70.83333%}.custom-theme .el-col-lg-push-17{position:relative;left:70.83333%}.custom-theme .el-col-lg-18{width:75%}.custom-theme .el-col-lg-offset-18{margin-left:75%}.custom-theme .el-col-lg-pull-18{position:relative;right:75%}.custom-theme .el-col-lg-push-18{position:relative;left:75%}.custom-theme .el-col-lg-19{width:79.16667%}.custom-theme .el-col-lg-offset-19{margin-left:79.16667%}.custom-theme .el-col-lg-pull-19{position:relative;right:79.16667%}.custom-theme .el-col-lg-push-19{position:relative;left:79.16667%}.custom-theme .el-col-lg-20{width:83.33333%}.custom-theme .el-col-lg-offset-20{margin-left:83.33333%}.custom-theme .el-col-lg-pull-20{position:relative;right:83.33333%}.custom-theme .el-col-lg-push-20{position:relative;left:83.33333%}.custom-theme .el-col-lg-21{width:87.5%}.custom-theme .el-col-lg-offset-21{margin-left:87.5%}.custom-theme .el-col-lg-pull-21{position:relative;right:87.5%}.custom-theme .el-col-lg-push-21{position:relative;left:87.5%}.custom-theme .el-col-lg-22{width:91.66667%}.custom-theme .el-col-lg-offset-22{margin-left:91.66667%}.custom-theme .el-col-lg-pull-22{position:relative;right:91.66667%}.custom-theme .el-col-lg-push-22{position:relative;left:91.66667%}.custom-theme .el-col-lg-23{width:95.83333%}.custom-theme .el-col-lg-offset-23{margin-left:95.83333%}.custom-theme .el-col-lg-pull-23{position:relative;right:95.83333%}.custom-theme .el-col-lg-push-23{position:relative;left:95.83333%}.custom-theme .el-col-lg-24{width:100%}.custom-theme .el-col-lg-offset-24{margin-left:100%}.custom-theme .el-col-lg-pull-24{position:relative;right:100%}.custom-theme .el-col-lg-push-24{position:relative;left:100%}}@media only screen and (min-width:1920px){.custom-theme .el-col-xl-0{display:none}.custom-theme .el-col-xl-1{width:4.16667%}.custom-theme .el-col-xl-offset-1{margin-left:4.16667%}.custom-theme .el-col-xl-pull-1{position:relative;right:4.16667%}.custom-theme .el-col-xl-push-1{position:relative;left:4.16667%}.custom-theme .el-col-xl-2{width:8.33333%}.custom-theme .el-col-xl-offset-2{margin-left:8.33333%}.custom-theme .el-col-xl-pull-2{position:relative;right:8.33333%}.custom-theme .el-col-xl-push-2{position:relative;left:8.33333%}.custom-theme .el-col-xl-3{width:12.5%}.custom-theme .el-col-xl-offset-3{margin-left:12.5%}.custom-theme .el-col-xl-pull-3{position:relative;right:12.5%}.custom-theme .el-col-xl-push-3{position:relative;left:12.5%}.custom-theme .el-col-xl-4{width:16.66667%}.custom-theme .el-col-xl-offset-4{margin-left:16.66667%}.custom-theme .el-col-xl-pull-4{position:relative;right:16.66667%}.custom-theme .el-col-xl-push-4{position:relative;left:16.66667%}.custom-theme .el-col-xl-5{width:20.83333%}.custom-theme .el-col-xl-offset-5{margin-left:20.83333%}.custom-theme .el-col-xl-pull-5{position:relative;right:20.83333%}.custom-theme .el-col-xl-push-5{position:relative;left:20.83333%}.custom-theme .el-col-xl-6{width:25%}.custom-theme .el-col-xl-offset-6{margin-left:25%}.custom-theme .el-col-xl-pull-6{position:relative;right:25%}.custom-theme .el-col-xl-push-6{position:relative;left:25%}.custom-theme .el-col-xl-7{width:29.16667%}.custom-theme .el-col-xl-offset-7{margin-left:29.16667%}.custom-theme .el-col-xl-pull-7{position:relative;right:29.16667%}.custom-theme .el-col-xl-push-7{position:relative;left:29.16667%}.custom-theme .el-col-xl-8{width:33.33333%}.custom-theme .el-col-xl-offset-8{margin-left:33.33333%}.custom-theme .el-col-xl-pull-8{position:relative;right:33.33333%}.custom-theme .el-col-xl-push-8{position:relative;left:33.33333%}.custom-theme .el-col-xl-9{width:37.5%}.custom-theme .el-col-xl-offset-9{margin-left:37.5%}.custom-theme .el-col-xl-pull-9{position:relative;right:37.5%}.custom-theme .el-col-xl-push-9{position:relative;left:37.5%}.custom-theme .el-col-xl-10{width:41.66667%}.custom-theme .el-col-xl-offset-10{margin-left:41.66667%}.custom-theme .el-col-xl-pull-10{position:relative;right:41.66667%}.custom-theme .el-col-xl-push-10{position:relative;left:41.66667%}.custom-theme .el-col-xl-11{width:45.83333%}.custom-theme .el-col-xl-offset-11{margin-left:45.83333%}.custom-theme .el-col-xl-pull-11{position:relative;right:45.83333%}.custom-theme .el-col-xl-push-11{position:relative;left:45.83333%}.custom-theme .el-col-xl-12{width:50%}.custom-theme .el-col-xl-offset-12{margin-left:50%}.custom-theme .el-col-xl-pull-12{position:relative;right:50%}.custom-theme .el-col-xl-push-12{position:relative;left:50%}.custom-theme .el-col-xl-13{width:54.16667%}.custom-theme .el-col-xl-offset-13{margin-left:54.16667%}.custom-theme .el-col-xl-pull-13{position:relative;right:54.16667%}.custom-theme .el-col-xl-push-13{position:relative;left:54.16667%}.custom-theme .el-col-xl-14{width:58.33333%}.custom-theme .el-col-xl-offset-14{margin-left:58.33333%}.custom-theme .el-col-xl-pull-14{position:relative;right:58.33333%}.custom-theme .el-col-xl-push-14{position:relative;left:58.33333%}.custom-theme .el-col-xl-15{width:62.5%}.custom-theme .el-col-xl-offset-15{margin-left:62.5%}.custom-theme .el-col-xl-pull-15{position:relative;right:62.5%}.custom-theme .el-col-xl-push-15{position:relative;left:62.5%}.custom-theme .el-col-xl-16{width:66.66667%}.custom-theme .el-col-xl-offset-16{margin-left:66.66667%}.custom-theme .el-col-xl-pull-16{position:relative;right:66.66667%}.custom-theme .el-col-xl-push-16{position:relative;left:66.66667%}.custom-theme .el-col-xl-17{width:70.83333%}.custom-theme .el-col-xl-offset-17{margin-left:70.83333%}.custom-theme .el-col-xl-pull-17{position:relative;right:70.83333%}.custom-theme .el-col-xl-push-17{position:relative;left:70.83333%}.custom-theme .el-col-xl-18{width:75%}.custom-theme .el-col-xl-offset-18{margin-left:75%}.custom-theme .el-col-xl-pull-18{position:relative;right:75%}.custom-theme .el-col-xl-push-18{position:relative;left:75%}.custom-theme .el-col-xl-19{width:79.16667%}.custom-theme .el-col-xl-offset-19{margin-left:79.16667%}.custom-theme .el-col-xl-pull-19{position:relative;right:79.16667%}.custom-theme .el-col-xl-push-19{position:relative;left:79.16667%}.custom-theme .el-col-xl-20{width:83.33333%}.custom-theme .el-col-xl-offset-20{margin-left:83.33333%}.custom-theme .el-col-xl-pull-20{position:relative;right:83.33333%}.custom-theme .el-col-xl-push-20{position:relative;left:83.33333%}.custom-theme .el-col-xl-21{width:87.5%}.custom-theme .el-col-xl-offset-21{margin-left:87.5%}.custom-theme .el-col-xl-pull-21{position:relative;right:87.5%}.custom-theme .el-col-xl-push-21{position:relative;left:87.5%}.custom-theme .el-col-xl-22{width:91.66667%}.custom-theme .el-col-xl-offset-22{margin-left:91.66667%}.custom-theme .el-col-xl-pull-22{position:relative;right:91.66667%}.custom-theme .el-col-xl-push-22{position:relative;left:91.66667%}.custom-theme .el-col-xl-23{width:95.83333%}.custom-theme .el-col-xl-offset-23{margin-left:95.83333%}.custom-theme .el-col-xl-pull-23{position:relative;right:95.83333%}.custom-theme .el-col-xl-push-23{position:relative;left:95.83333%}.custom-theme .el-col-xl-24{width:100%}.custom-theme .el-col-xl-offset-24{margin-left:100%}.custom-theme .el-col-xl-pull-24{position:relative;right:100%}.custom-theme .el-col-xl-push-24{position:relative;left:100%}}.custom-theme .el-progress{position:relative;line-height:1}.custom-theme .el-progress__text{font-size:14px;color:#5a5e66;display:inline-block;vertical-align:middle;margin-left:10px;line-height:1}.custom-theme .el-progress__text i{vertical-align:middle;display:block}.custom-theme .el-progress--circle{display:inline-block}.custom-theme .el-progress--circle .el-progress__text{position:absolute;top:50%;left:0;width:100%;text-align:center;margin:0;-webkit-transform:translate(0,-50%);transform:translate(0,-50%)}.custom-theme .el-progress--circle .el-progress__text i{vertical-align:middle;display:inline-block}.custom-theme .el-progress--without-text .el-progress__text{display:none}.custom-theme .el-progress--without-text .el-progress-bar{padding-right:0;margin-right:0;display:block}.custom-theme .el-progress--text-inside .el-progress-bar{padding-right:0;margin-right:0}.custom-theme .el-progress.is-success .el-progress-bar__inner{background-color:#409167}.custom-theme .el-progress.is-success .el-progress__text{color:#409167}.custom-theme .el-progress.is-exception .el-progress-bar__inner{background-color:#b3450e}.custom-theme .el-progress.is-exception .el-progress__text{color:#b3450e}.custom-theme .el-progress-bar{padding-right:50px;display:inline-block;vertical-align:middle;width:100%;margin-right:-55px;-webkit-box-sizing:border-box;box-sizing:border-box}.custom-theme .el-progress-bar__outer{height:6px;border-radius:100px;background-color:#e6ebf5;overflow:hidden;position:relative;vertical-align:middle}.custom-theme .el-progress-bar__inner{position:absolute;left:0;top:0;height:100%;background-color:#262729;text-align:right;border-radius:100px;line-height:1;white-space:nowrap}.custom-theme .el-progress-bar__inner::after{display:inline-block;content:"";height:100%;vertical-align:middle}.custom-theme .el-progress-bar__innerText{display:inline-block;vertical-align:middle;color:#fff;font-size:12px;margin:0 5px}@-webkit-keyframes progress{0%{background-position:0 0}100%{background-position:32px 0}}@keyframes progress{0%{background-position:0 0}100%{background-position:32px 0}}.custom-theme .el-upload{display:inline-block;text-align:center;cursor:pointer}.custom-theme .el-upload__input{display:none}.custom-theme .el-upload__tip{font-size:12px;color:#5a5e66;margin-top:7px}.custom-theme .el-upload iframe{position:absolute;z-index:-1;top:0;left:0;opacity:0}.custom-theme .el-upload--picture-card{background-color:#fbfdff;border:1px dashed #c0ccda;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;width:148px;height:148px;cursor:pointer;line-height:146px;vertical-align:top}.custom-theme .el-upload--picture-card i{font-size:28px;color:#8c939d}.custom-theme .el-upload--picture-card:hover{border-color:#262729;color:#262729}.custom-theme .el-upload-dragger{background-color:#fff;border:1px dashed #d9d9d9;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;width:360px;height:180px;text-align:center;cursor:pointer;position:relative;overflow:hidden}.custom-theme .el-upload-dragger .el-icon-upload{font-size:67px;color:#b4bccc;margin:40px 0 16px;line-height:50px}.custom-theme .el-upload-dragger+.el-upload__tip{text-align:center}.custom-theme .el-upload-dragger~.el-upload__files{border-top:1px solid #d8dce5;margin-top:7px;padding-top:5px}.custom-theme .el-upload-dragger .el-upload__text{color:#5a5e66;font-size:14px;text-align:center}.custom-theme .el-upload-dragger .el-upload__text em{color:#262729;font-style:normal}.custom-theme .el-upload-dragger:hover{border-color:#262729}.custom-theme .el-upload-dragger.is-dragover{background-color:rgba(32,159,255,.06);border:2px dashed #262729}.custom-theme .el-upload-list{margin:0;padding:0;list-style:none}.custom-theme .el-upload-list__item{-webkit-transition:all .5s cubic-bezier(.55,0,.1,1);transition:all .5s cubic-bezier(.55,0,.1,1);font-size:14px;color:#5a5e66;line-height:1.8;margin-top:5px;position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:4px;width:100%}.custom-theme .el-upload-list__item .el-progress{position:absolute;top:20px;width:100%}.custom-theme .el-upload-list__item .el-progress__text{position:absolute;right:0;top:-13px}.custom-theme .el-upload-list__item .el-progress-bar{margin-right:0;padding-right:0}.custom-theme .el-upload-list__item:first-child{margin-top:10px}.custom-theme .el-upload-list__item .el-icon-upload-success{color:#409167}.custom-theme .el-upload-list__item .el-icon-close{display:none;position:absolute;top:5px;right:5px;cursor:pointer;opacity:.75;color:#5a5e66}.custom-theme .el-upload-list__item .el-icon-close:hover{opacity:1}.custom-theme .el-upload-list__item .el-icon-close-tip{display:none;position:absolute;top:5px;right:0;cursor:pointer;opacity:1;color:#262729;-webkit-transform:translate(15%,0);transform:translate(15%,0)}.custom-theme .el-upload-list__item:hover{background-color:#f5f7fa}.custom-theme .el-upload-list__item:hover .el-icon-close{display:inline-block}.custom-theme .el-upload-list__item:hover .el-progress__text{display:none}.custom-theme .el-upload-list__item.is-success .el-upload-list__item-status-label{display:block}.custom-theme .el-upload-list__item.is-success .el-upload-list__item-name:focus,.custom-theme .el-upload-list__item.is-success .el-upload-list__item-name:hover{color:#262729;cursor:pointer}.custom-theme .el-upload-list__item.is-success:focus .el-icon-close-tip{display:inline-block}.custom-theme .el-upload-list__item.is-success:active,.custom-theme .el-upload-list__item.is-success:focus:not(.focusing){outline-width:0}.custom-theme .el-upload-list__item.is-success:active .el-icon-close-tip,.custom-theme .el-upload-list__item.is-success:focus:not(.focusing) .el-icon-close-tip{display:none}.custom-theme .el-upload-list__item.is-success:focus .el-upload-list__item-status-label,.custom-theme .el-upload-list__item.is-success:hover .el-upload-list__item-status-label{display:none}.custom-theme .el-upload-list.is-disabled .el-upload-list__item:hover .el-upload-list__item-status-label{display:block}.custom-theme .el-upload-list__item-name{color:#5a5e66;display:block;margin-right:40px;overflow:hidden;padding-left:4px;text-overflow:ellipsis;-webkit-transition:color .3s;transition:color .3s;white-space:nowrap}.custom-theme .el-upload-list__item-name [class^=el-icon]{height:100%;margin-right:7px;color:#878d99;line-height:inherit}.custom-theme .el-upload-list__item-status-label{position:absolute;right:5px;top:0;line-height:inherit;display:none}.custom-theme .el-upload-list__item-delete{position:absolute;right:10px;top:0;font-size:12px;color:#5a5e66;display:none}.custom-theme .el-upload-list__item-delete:hover{color:#262729}.custom-theme .el-upload-list--picture-card{margin:0;display:inline;vertical-align:top}.custom-theme .el-upload-list--picture-card .el-upload-list__item{overflow:hidden;background-color:#fff;border:1px solid #c0ccda;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;width:148px;height:148px;margin:0 8px 8px 0;display:inline-block}.custom-theme .el-upload-list--picture-card .el-upload-list__item .el-icon-check,.custom-theme .el-upload-list--picture-card .el-upload-list__item .el-icon-circle-check{color:#fff}.custom-theme .el-upload-list--picture-card .el-upload-list__item .el-icon-close{display:none}.custom-theme .el-upload-list--picture-card .el-upload-list__item:hover .el-upload-list__item-status-label{display:none}.custom-theme .el-upload-list--picture-card .el-upload-list__item:hover .el-progress__text{display:block}.custom-theme .el-upload-list--picture-card .el-upload-list__item-name{display:none}.custom-theme .el-upload-list--picture-card .el-upload-list__item-thumbnail{width:100%;height:100%}.custom-theme .el-upload-list--picture-card .el-upload-list__item-status-label{position:absolute;right:-15px;top:-6px;width:40px;height:24px;background:#13ce66;text-align:center;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-box-shadow:0 0 1pc 1px rgba(0,0,0,.2);box-shadow:0 0 1pc 1px rgba(0,0,0,.2)}.custom-theme .el-upload-list--picture-card .el-upload-list__item-status-label i{font-size:12px;margin-top:11px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.custom-theme .el-upload-list--picture-card .el-upload-list__item-actions{position:absolute;width:100%;height:100%;left:0;top:0;cursor:default;text-align:center;color:#fff;opacity:0;font-size:20px;background-color:rgba(0,0,0,.5);-webkit-transition:opacity .3s;transition:opacity .3s}.custom-theme .el-upload-list--picture-card .el-upload-list__item-actions::after{display:inline-block;content:"";height:100%;vertical-align:middle}.custom-theme .el-upload-list--picture-card .el-upload-list__item-actions span{display:none;cursor:pointer}.custom-theme .el-upload-list--picture-card .el-upload-list__item-actions span+span{margin-left:15px}.custom-theme .el-upload-list--picture-card .el-upload-list__item-actions .el-upload-list__item-delete{position:static;font-size:inherit;color:inherit}.custom-theme .el-upload-list--picture-card .el-upload-list__item-actions:hover{opacity:1}.custom-theme .el-upload-list--picture-card .el-upload-list__item-actions:hover span{display:inline-block}.custom-theme .el-upload-list--picture-card .el-progress{top:50%;left:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);bottom:auto;width:126px}.custom-theme .el-upload-list--picture-card .el-progress .el-progress__text{top:50%}.custom-theme .el-upload-list--picture .el-upload-list__item{overflow:hidden;background-color:#fff;border:1px solid #c0ccda;border-radius:6px;-webkit-box-sizing:border-box;box-sizing:border-box;margin-top:10px;padding:10px 10px 10px 90px;height:92px}.custom-theme .el-upload-list--picture .el-upload-list__item .el-icon-check,.custom-theme .el-upload-list--picture .el-upload-list__item .el-icon-circle-check{color:#fff}.custom-theme .el-upload-list--picture .el-upload-list__item:hover .el-upload-list__item-status-label{background:0 0;-webkit-box-shadow:none;box-shadow:none;top:-2px;right:-12px}.custom-theme .el-upload-list--picture .el-upload-list__item:hover .el-progress__text{display:block}.custom-theme .el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name{line-height:70px;margin-top:0}.custom-theme .el-upload-list--picture .el-upload-list__item.is-success .el-upload-list__item-name i{display:none}.custom-theme .el-upload-list--picture .el-upload-list__item-thumbnail{vertical-align:middle;display:inline-block;width:70px;height:70px;float:left;position:relative;z-index:1;margin-left:-80px}.custom-theme .el-upload-list--picture .el-upload-list__item-name{display:block;margin-top:20px}.custom-theme .el-upload-list--picture .el-upload-list__item-name i{font-size:70px;line-height:1;position:absolute;left:9px;top:10px}.custom-theme .el-upload-list--picture .el-upload-list__item-status-label{position:absolute;right:-17px;top:-7px;width:46px;height:26px;background:#13ce66;text-align:center;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-box-shadow:0 1px 1px #ccc;box-shadow:0 1px 1px #ccc}.custom-theme .el-upload-list--picture .el-upload-list__item-status-label i{font-size:12px;margin-top:12px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg)}.custom-theme .el-upload-list--picture .el-progress{position:relative;top:-7px}.custom-theme .el-upload-cover{position:absolute;left:0;top:0;width:100%;height:100%;overflow:hidden;z-index:10;cursor:default}.custom-theme .el-upload-cover::after{display:inline-block;content:"";height:100%;vertical-align:middle}.custom-theme .el-upload-cover img{display:block;width:100%;height:100%}.custom-theme .el-upload-cover__label{position:absolute;right:-15px;top:-6px;width:40px;height:24px;background:#13ce66;text-align:center;-webkit-transform:rotate(45deg);transform:rotate(45deg);-webkit-box-shadow:0 0 1pc 1px rgba(0,0,0,.2);box-shadow:0 0 1pc 1px rgba(0,0,0,.2)}.custom-theme .el-upload-cover__label i{font-size:12px;margin-top:11px;-webkit-transform:rotate(-45deg);transform:rotate(-45deg);color:#fff}.custom-theme .el-upload-cover__progress{display:inline-block;vertical-align:middle;position:static;width:243px}.custom-theme .el-upload-cover__progress+.el-upload__inner{opacity:0}.custom-theme .el-upload-cover__content{position:absolute;top:0;left:0;width:100%;height:100%}.custom-theme .el-upload-cover__interact{position:absolute;bottom:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.72);text-align:center}.custom-theme .el-upload-cover__interact .btn{display:inline-block;color:#fff;font-size:14px;cursor:pointer;vertical-align:middle;-webkit-transition:opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;transition:opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;transition:transform .3s cubic-bezier(.23,1,.32,1) .1s,opacity .3s cubic-bezier(.23,1,.32,1) .1s;transition:transform .3s cubic-bezier(.23,1,.32,1) .1s,opacity .3s cubic-bezier(.23,1,.32,1) .1s,-webkit-transform .3s cubic-bezier(.23,1,.32,1) .1s;margin-top:60px}.custom-theme .el-upload-cover__interact .btn i{margin-top:0}.custom-theme .el-upload-cover__interact .btn span{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.custom-theme .el-upload-cover__interact .btn:not(:first-child){margin-left:35px}.custom-theme .el-upload-cover__interact .btn:hover{-webkit-transform:translateY(-13px);transform:translateY(-13px)}.custom-theme .el-upload-cover__interact .btn:hover span{opacity:1}.custom-theme .el-upload-cover__interact .btn i{color:#fff;display:block;font-size:24px;line-height:inherit;margin:0 auto 5px}.custom-theme .el-upload-cover__title{position:absolute;bottom:0;left:0;background-color:#fff;height:36px;width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:400;text-align:left;padding:0 10px;margin:0;line-height:36px;font-size:14px;color:#2d2f33}.custom-theme .el-upload-cover+.el-upload__inner{opacity:0;position:relative;z-index:1}.custom-theme .el-progress{position:relative;line-height:1}.custom-theme .el-progress__text{font-size:14px;color:#5a5e66;display:inline-block;vertical-align:middle;margin-left:10px;line-height:1}.custom-theme .el-progress__text i{vertical-align:middle;display:block}.custom-theme .el-progress--circle{display:inline-block}.custom-theme .el-progress--circle .el-progress__text{position:absolute;top:50%;left:0;width:100%;text-align:center;margin:0;-webkit-transform:translate(0,-50%);transform:translate(0,-50%)}.custom-theme .el-progress--circle .el-progress__text i{vertical-align:middle;display:inline-block}.custom-theme .el-progress--without-text .el-progress__text{display:none}.custom-theme .el-progress--without-text .el-progress-bar{padding-right:0;margin-right:0;display:block}.custom-theme .el-progress--text-inside .el-progress-bar{padding-right:0;margin-right:0}.custom-theme .el-progress.is-success .el-progress-bar__inner{background-color:#409167}.custom-theme .el-progress.is-success .el-progress__text{color:#409167}.custom-theme .el-progress.is-exception .el-progress-bar__inner{background-color:#b3450e}.custom-theme .el-progress.is-exception .el-progress__text{color:#b3450e}.custom-theme .el-progress-bar{padding-right:50px;display:inline-block;vertical-align:middle;width:100%;margin-right:-55px;-webkit-box-sizing:border-box;box-sizing:border-box}.custom-theme .el-progress-bar__outer{height:6px;border-radius:100px;background-color:#e6ebf5;overflow:hidden;position:relative;vertical-align:middle}.custom-theme .el-progress-bar__inner{position:absolute;left:0;top:0;height:100%;background-color:#262729;text-align:right;border-radius:100px;line-height:1;white-space:nowrap}.custom-theme .el-progress-bar__inner::after{display:inline-block;content:"";height:100%;vertical-align:middle}.custom-theme .el-progress-bar__innerText{display:inline-block;vertical-align:middle;color:#fff;font-size:12px;margin:0 5px}@keyframes progress{0%{background-position:0 0}100%{background-position:32px 0}}.custom-theme .el-time-spinner{width:100%;white-space:nowrap}.custom-theme .el-spinner{display:inline-block;vertical-align:middle}.custom-theme .el-spinner-inner{-webkit-animation:rotate 2s linear infinite;animation:rotate 2s linear infinite;width:50px;height:50px}.custom-theme .el-spinner-inner .path{stroke:#ececec;stroke-linecap:round;-webkit-animation:dash 1.5s ease-in-out infinite;animation:dash 1.5s ease-in-out infinite}@-webkit-keyframes rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes rotate{100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@-webkit-keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}100%{stroke-dasharray:90,150;stroke-dashoffset:-124}}@keyframes dash{0%{stroke-dasharray:1,150;stroke-dashoffset:0}50%{stroke-dasharray:90,150;stroke-dashoffset:-35}100%{stroke-dasharray:90,150;stroke-dashoffset:-124}}.custom-theme .el-message{min-width:380px;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:4px;border-width:1px;border-style:solid;border-color:#e6ebf5;position:fixed;left:50%;top:20px;-webkit-transform:translateX(-50%);transform:translateX(-50%);background-color:#edf2fc;-webkit-transition:opacity .3s,-webkit-transform .4s;transition:opacity .3s,-webkit-transform .4s;transition:opacity .3s,transform .4s;transition:opacity .3s,transform .4s,-webkit-transform .4s;overflow:hidden;padding:15px 15px 15px 20px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.custom-theme .el-message.is-center{-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.custom-theme .el-message p{margin:0}.custom-theme .el-message--info .el-message__content{color:#0a76a4}.custom-theme .el-message--success{background-color:#ecf4f0;border-color:#d9e9e1}.custom-theme .el-message--success .el-message__content{color:#409167}.custom-theme .el-message--warning{background-color:#f5f6e6;border-color:#ebedce}.custom-theme .el-message--warning .el-message__content{color:#9da408}.custom-theme .el-message--error{background-color:#f7ece7;border-color:#f0dacf}.custom-theme .el-message--error .el-message__content{color:#b3450e}.custom-theme .el-message__icon{margin-right:10px}.custom-theme .el-message__content{padding:0;font-size:14px;line-height:1}.custom-theme .el-message__content:focus{outline-width:0}.custom-theme .el-message__closeBtn{position:absolute;top:50%;right:15px;-webkit-transform:translateY(-50%);transform:translateY(-50%);cursor:pointer;color:#b4bccc;font-size:16px}.custom-theme .el-message__closeBtn:focus{outline-width:0}.custom-theme .el-message__closeBtn:hover{color:#878d99}.custom-theme .el-message .el-icon-success{color:#409167}.custom-theme .el-message .el-icon-error{color:#b3450e}.custom-theme .el-message .el-icon-info{color:#0a76a4}.custom-theme .el-message .el-icon-warning{color:#9da408}.custom-theme .el-message-fade-enter,.custom-theme .el-message-fade-leave-active{opacity:0;-webkit-transform:translate(-50%,-100%);transform:translate(-50%,-100%)}.custom-theme .el-badge{position:relative;vertical-align:middle;display:inline-block}.custom-theme .el-badge__content{background-color:#b3450e;border-radius:10px;color:#fff;display:inline-block;font-size:12px;height:18px;line-height:18px;padding:0 6px;text-align:center;white-space:nowrap;border:1px solid #fff}.custom-theme .el-badge__content.is-fixed{position:absolute;top:0;right:10px;-webkit-transform:translateY(-50%) translateX(100%);transform:translateY(-50%) translateX(100%)}.custom-theme .el-badge__content.is-fixed.is-dot{right:5px}.custom-theme .el-badge__content.is-dot{height:8px;width:8px;padding:0;right:0;border-radius:50%}.custom-theme .el-card{border-radius:4px;border:1px solid #e6ebf5;background-color:#fff;overflow:hidden;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1);color:#2d2f33}.custom-theme .el-card__header{padding:18px 20px;border-bottom:1px solid #e6ebf5;-webkit-box-sizing:border-box;box-sizing:border-box}.custom-theme .el-card__body{padding:20px}.custom-theme .el-rate{height:20px;line-height:1}.custom-theme .el-rate:active,.custom-theme .el-rate:focus{outline-width:0}.custom-theme .el-rate__item{display:inline-block;position:relative;font-size:0;vertical-align:middle}.custom-theme .el-rate__icon{position:relative;display:inline-block;font-size:18px;margin-right:6px;color:#b4bccc;-webkit-transition:.3s;transition:.3s}.custom-theme .el-rate__icon.hover{-webkit-transform:scale(1.15);transform:scale(1.15)}.custom-theme .el-rate__icon .path2{position:absolute;left:0;top:0}.custom-theme .el-rate__decimal{position:absolute;top:0;left:0;display:inline-block;overflow:hidden}.custom-theme .el-rate__text{font-size:14px;vertical-align:middle}.custom-theme .el-steps{display:-webkit-box;display:-ms-flexbox;display:flex}.custom-theme .el-steps--simple{padding:13px 8%;border-radius:4px;background:#f5f7fa}.custom-theme .el-steps--horizontal{white-space:nowrap}.custom-theme .el-steps--vertical{height:100%;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-flow:column;flex-flow:column}.custom-theme .el-step{position:relative;-ms-flex-negative:1;flex-shrink:1}.custom-theme .el-step:last-of-type .el-step__line{display:none}.custom-theme .el-step:last-of-type.is-flex{-ms-flex-preferred-size:auto!important;flex-basis:auto!important;-ms-flex-negative:0;flex-shrink:0;-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0}.custom-theme .el-step:last-of-type .el-step__description,.custom-theme .el-step:last-of-type .el-step__main{padding-right:0}.custom-theme .el-step__head{position:relative;width:100%}.custom-theme .el-step__head.is-process{color:#2d2f33;border-color:#2d2f33}.custom-theme .el-step__head.is-wait{color:#b4bccc;border-color:#b4bccc}.custom-theme .el-step__head.is-success{color:#409167;border-color:#409167}.custom-theme .el-step__head.is-error{color:#b3450e;border-color:#b3450e}.custom-theme .el-step__head.is-finish{color:#262729;border-color:#262729}.custom-theme .el-step__icon{position:relative;z-index:1;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;width:24px;height:24px;font-size:14px;-webkit-box-sizing:border-box;box-sizing:border-box;background:#fff;-webkit-transition:.15s ease-out;transition:.15s ease-out}.custom-theme .el-step__icon.is-text{border-radius:50%;border:2px solid;border-color:inherit}.custom-theme .el-step__icon.is-icon{width:40px}.custom-theme .el-step__icon-inner{display:inline-block;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;text-align:center;font-weight:700;line-height:1;color:inherit}.custom-theme .el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:25px;font-weight:400}.custom-theme .el-step__icon-inner.is-status{-webkit-transform:translateY(1px);transform:translateY(1px)}.custom-theme .el-step__line{position:absolute;border-color:inherit;background-color:#b4bccc}.custom-theme .el-step__line-inner{display:block;border-width:1px;border-style:solid;border-color:inherit;-webkit-transition:.15s ease-out;transition:.15s ease-out;-webkit-box-sizing:border-box;box-sizing:border-box;width:0;height:0}.custom-theme .el-step__main{white-space:normal;text-align:left}.custom-theme .el-step__title{font-size:16px;line-height:38px}.custom-theme .el-step__title.is-process{font-weight:700;color:#2d2f33}.custom-theme .el-step__title.is-wait{color:#b4bccc}.custom-theme .el-step__title.is-success{color:#409167}.custom-theme .el-step__title.is-error{color:#b3450e}.custom-theme .el-step__title.is-finish{color:#262729}.custom-theme .el-step__description{padding-right:10%;margin-top:-5px;font-size:12px;line-height:20px;font-weight:400}.custom-theme .el-step__description.is-process{color:#2d2f33}.custom-theme .el-step__description.is-wait{color:#b4bccc}.custom-theme .el-step__description.is-success{color:#409167}.custom-theme .el-step__description.is-error{color:#b3450e}.custom-theme .el-step__description.is-finish{color:#262729}.custom-theme .el-step.is-horizontal{display:inline-block}.custom-theme .el-step.is-horizontal .el-step__line{height:2px;top:11px;left:0;right:0}.custom-theme .el-step.is-vertical{display:-webkit-box;display:-ms-flexbox;display:flex}.custom-theme .el-step.is-vertical .el-step__head{-webkit-box-flex:0;-ms-flex-positive:0;flex-grow:0;width:24px}.custom-theme .el-step.is-vertical .el-step__main{padding-left:10px;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.custom-theme .el-step.is-vertical .el-step__title{line-height:24px;padding-bottom:8px}.custom-theme .el-step.is-vertical .el-step__line{width:2px;top:0;bottom:0;left:11px}.custom-theme .el-step.is-vertical .el-step__icon.is-icon{width:24px}.custom-theme .el-step.is-center .el-step__head{text-align:center}.custom-theme .el-step.is-center .el-step__main{text-align:center}.custom-theme .el-step.is-center .el-step__description{padding-left:20%;padding-right:20%}.custom-theme .el-step.is-center .el-step__line{left:50%;right:-50%}.custom-theme .el-step.is-simple{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.custom-theme .el-step.is-simple .el-step__head{width:auto;font-size:0;padding-right:10px}.custom-theme .el-step.is-simple .el-step__icon{background:0 0;width:16px;height:16px;font-size:12px}.custom-theme .el-step.is-simple .el-step__icon-inner[class*=el-icon]:not(.is-status){font-size:18px}.custom-theme .el-step.is-simple .el-step__icon-inner.is-status{-webkit-transform:scale(.8) translateY(1px);transform:scale(.8) translateY(1px)}.custom-theme .el-step.is-simple .el-step__main{position:relative;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch;-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1}.custom-theme .el-step.is-simple .el-step__title{font-size:16px;line-height:20px}.custom-theme .el-step.is-simple:not(:last-of-type) .el-step__title{max-width:50%;word-break:break-all}.custom-theme .el-step.is-simple .el-step__arrow{-webkit-box-flex:1;-ms-flex-positive:1;flex-grow:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.custom-theme .el-step.is-simple .el-step__arrow::after,.custom-theme .el-step.is-simple .el-step__arrow::before{content:'';display:inline-block;position:absolute;height:15px;width:1px;background:#b4bccc}.custom-theme .el-step.is-simple .el-step__arrow::before{-webkit-transform:rotate(-45deg) translateY(-4px);transform:rotate(-45deg) translateY(-4px);-webkit-transform-origin:0 0;transform-origin:0 0}.custom-theme .el-step.is-simple .el-step__arrow::after{-webkit-transform:rotate(45deg) translateY(4px);transform:rotate(45deg) translateY(4px);-webkit-transform-origin:100% 100%;transform-origin:100% 100%}.custom-theme .el-step.is-simple:last-of-type .el-step__arrow{display:none}.custom-theme .el-carousel{overflow-x:hidden;position:relative}.custom-theme .el-carousel__container{position:relative;height:300px}.custom-theme .el-carousel__arrow{border:none;outline:0;padding:0;margin:0;height:36px;width:36px;cursor:pointer;-webkit-transition:.3s;transition:.3s;border-radius:50%;background-color:rgba(31,45,61,.11);color:#fff;position:absolute;top:50%;z-index:10;-webkit-transform:translateY(-50%);transform:translateY(-50%);text-align:center;font-size:12px}.custom-theme .el-carousel__arrow--left{left:16px}.custom-theme .el-carousel__arrow--right{right:16px}.custom-theme .el-carousel__arrow:hover{background-color:rgba(31,45,61,.23)}.custom-theme .el-carousel__arrow i{cursor:pointer}.custom-theme .el-carousel__indicators{position:absolute;list-style:none;bottom:0;left:50%;-webkit-transform:translateX(-50%);transform:translateX(-50%);margin:0;padding:0;z-index:2}.custom-theme .el-carousel__indicators--outside{bottom:26px;text-align:center;position:static;-webkit-transform:none;transform:none}.custom-theme .el-carousel__indicators--outside .el-carousel__indicator:hover button{opacity:.64}.custom-theme .el-carousel__indicators--outside button{background-color:#b4bccc;opacity:.24}.custom-theme .el-carousel__indicators--labels{left:0;right:0;-webkit-transform:none;transform:none;text-align:center}.custom-theme .el-carousel__indicators--labels .el-carousel__button{height:auto;width:auto;padding:2px 18px;font-size:12px}.custom-theme .el-carousel__indicators--labels .el-carousel__indicator{padding:6px 4px}.custom-theme .el-carousel__indicator{display:inline-block;background-color:transparent;padding:12px 4px;cursor:pointer}.custom-theme .el-carousel__indicator:hover button{opacity:.72}.custom-theme .el-carousel__indicator.is-active button{opacity:1}.custom-theme .el-carousel__button{display:block;opacity:.48;width:30px;height:2px;background-color:#fff;border:none;outline:0;padding:0;margin:0;cursor:pointer;-webkit-transition:.3s;transition:.3s}.custom-theme .carousel-arrow-left-enter,.custom-theme .carousel-arrow-left-leave-active{-webkit-transform:translateY(-50%) translateX(-10px);transform:translateY(-50%) translateX(-10px);opacity:0}.custom-theme .carousel-arrow-right-enter,.custom-theme .carousel-arrow-right-leave-active{-webkit-transform:translateY(-50%) translateX(10px);transform:translateY(-50%) translateX(10px);opacity:0}.custom-theme .el-scrollbar{overflow:hidden;position:relative}.custom-theme .el-scrollbar:active>.el-scrollbar__bar,.custom-theme .el-scrollbar:focus>.el-scrollbar__bar,.custom-theme .el-scrollbar:hover>.el-scrollbar__bar{opacity:1;-webkit-transition:opacity 340ms ease-out;transition:opacity 340ms ease-out}.custom-theme .el-scrollbar__wrap{overflow:scroll;height:100%}.custom-theme .el-scrollbar__wrap--hidden-default::-webkit-scrollbar{width:0;height:0}.custom-theme .el-scrollbar__thumb{position:relative;display:block;width:0;height:0;cursor:pointer;border-radius:inherit;background-color:rgba(135,141,153,.3);-webkit-transition:.3s background-color;transition:.3s background-color}.custom-theme .el-scrollbar__thumb:hover{background-color:rgba(135,141,153,.5)}.custom-theme .el-scrollbar__bar{position:absolute;right:2px;bottom:2px;z-index:1;border-radius:4px;opacity:0;-webkit-transition:opacity 120ms ease-out;transition:opacity 120ms ease-out}.custom-theme .el-scrollbar__bar.is-vertical{width:6px;top:2px}.custom-theme .el-scrollbar__bar.is-vertical>div{width:100%}.custom-theme .el-scrollbar__bar.is-horizontal{height:6px;left:2px}.custom-theme .el-scrollbar__bar.is-horizontal>div{height:100%}.custom-theme .el-carousel__item{position:absolute;top:0;left:0;width:100%;height:100%;display:inline-block;overflow:hidden;z-index:0}.custom-theme .el-carousel__item.is-active{z-index:2}.custom-theme .el-carousel__item.is-animating{-webkit-transition:-webkit-transform .4s ease-in-out;transition:-webkit-transform .4s ease-in-out;transition:transform .4s ease-in-out;transition:transform .4s ease-in-out,-webkit-transform .4s ease-in-out}.custom-theme .el-carousel__item--card{width:50%;-webkit-transition:-webkit-transform .4s ease-in-out;transition:-webkit-transform .4s ease-in-out;transition:transform .4s ease-in-out;transition:transform .4s ease-in-out,-webkit-transform .4s ease-in-out}.custom-theme .el-carousel__item--card.is-in-stage{cursor:pointer;z-index:1}.custom-theme .el-carousel__item--card.is-in-stage.is-hover .el-carousel__mask,.custom-theme .el-carousel__item--card.is-in-stage:hover .el-carousel__mask{opacity:.12}.custom-theme .el-carousel__item--card.is-active{z-index:2}.custom-theme .el-carousel__mask{position:absolute;width:100%;height:100%;top:0;left:0;background-color:#fff;opacity:.24;-webkit-transition:.2s;transition:.2s}.custom-theme .el-collapse{border-top:1px solid #e6ebf5;border-bottom:1px solid #e6ebf5}.custom-theme .el-collapse-item__header{height:48px;line-height:48px;background-color:#fff;color:#2d2f33;cursor:pointer;border-bottom:1px solid #e6ebf5;font-size:13px;font-weight:500;-webkit-transition:border-bottom-color .3s;transition:border-bottom-color .3s}.custom-theme .el-collapse-item__header:active,.custom-theme .el-collapse-item__header:focus:not(.focusing){outline-width:0}.custom-theme .el-collapse-item__arrow{margin-right:8px;-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;float:right;line-height:48px;font-weight:300}.custom-theme .el-collapse-item__wrap{will-change:height;background-color:#fff;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;border-bottom:1px solid #e6ebf5}.custom-theme .el-collapse-item__content{padding-bottom:25px;font-size:13px;color:#2d2f33;line-height:1.769230769230769}.custom-theme .el-collapse-item.is-active .el-collapse-item__header{border-bottom-color:transparent}.custom-theme .el-collapse-item.is-active .el-collapse-item__header .el-collapse-item__arrow{-webkit-transform:rotate(90deg);transform:rotate(90deg)}.custom-theme .el-collapse-item:last-child{margin-bottom:-1px}.custom-theme .el-input{position:relative;font-size:14px;display:inline-block;width:100%}.custom-theme .el-input::-webkit-scrollbar{z-index:11;width:6px}.custom-theme .el-input::-webkit-scrollbar:horizontal{height:6px}.custom-theme .el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.custom-theme .el-input::-webkit-scrollbar-corner{background:#fff}.custom-theme .el-input::-webkit-scrollbar-track{background:#fff}.custom-theme .el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.custom-theme .el-input__inner{-webkit-appearance:none;background-color:#fff;background-image:none;border-radius:4px;border:1px solid #d8dce5;-webkit-box-sizing:border-box;box-sizing:border-box;color:#5a5e66;display:inline-block;font-size:inherit;height:40px;line-height:1;outline:0;padding:0 15px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.custom-theme .el-input__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner::placeholder{color:#b4bccc}.custom-theme .el-input__inner:hover{border-color:#b4bccc}.custom-theme .el-input__inner:focus{outline:0;border-color:#262729}.custom-theme .el-input__suffix{position:absolute;height:100%;right:5px;top:0;text-align:center;color:#b4bccc;-webkit-transition:all .3s;transition:all .3s;pointer-events:none}.custom-theme .el-input__suffix-inner{pointer-events:all}.custom-theme .el-input__prefix{position:absolute;height:100%;left:5px;top:0;text-align:center;color:#b4bccc;-webkit-transition:all .3s;transition:all .3s}.custom-theme .el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.custom-theme .el-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.custom-theme .el-input__validateIcon{pointer-events:none}.custom-theme .el-input.is-active .el-input__inner{outline:0;border-color:#262729}.custom-theme .el-input.is-disabled .el-input__inner{background-color:#f5f7fa;border-color:#dfe4ed;color:#b4bccc;cursor:not-allowed}.custom-theme .el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner::placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__icon{cursor:not-allowed}.custom-theme .el-input--suffix .el-input__inner{padding-right:30px}.custom-theme .el-input--prefix .el-input__inner{padding-left:30px}.custom-theme .el-input--medium{font-size:14px}.custom-theme .el-input--medium .el-input__inner{height:36px}.custom-theme .el-input--medium .el-input__icon{line-height:36px}.custom-theme .el-input--small{font-size:13px}.custom-theme .el-input--small .el-input__inner{height:32px}.custom-theme .el-input--small .el-input__icon{line-height:32px}.custom-theme .el-input--mini{font-size:12px}.custom-theme .el-input--mini .el-input__inner{height:28px}.custom-theme .el-input--mini .el-input__icon{line-height:28px}.custom-theme .el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate}.custom-theme .el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.custom-theme .el-input-group__append,.custom-theme .el-input-group__prepend{background-color:#f5f7fa;color:#0a76a4;vertical-align:middle;display:table-cell;position:relative;border:1px solid #d8dce5;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.custom-theme .el-input-group__append:focus,.custom-theme .el-input-group__prepend:focus{outline:0}.custom-theme .el-input-group__append .el-button,.custom-theme .el-input-group__append .el-select,.custom-theme .el-input-group__prepend .el-button,.custom-theme .el-input-group__prepend .el-select{display:inline-block;margin:-20px}.custom-theme .el-input-group__append button.el-button,.custom-theme .el-input-group__append div.el-select .el-input__inner,.custom-theme .el-input-group__append div.el-select:hover .el-input__inner,.custom-theme .el-input-group__prepend button.el-button,.custom-theme .el-input-group__prepend div.el-select .el-input__inner,.custom-theme .el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.custom-theme .el-input-group__append .el-button,.custom-theme .el-input-group__append .el-input,.custom-theme .el-input-group__prepend .el-button,.custom-theme .el-input-group__prepend .el-input{font-size:inherit}.custom-theme .el-input-group__prepend{border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.custom-theme .el-input-group__append{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.custom-theme .el-input-group--prepend .el-input__inner{border-top-left-radius:0;border-bottom-left-radius:0}.custom-theme .el-input-group--append .el-input__inner{border-top-right-radius:0;border-bottom-right-radius:0}.custom-theme .el-textarea{display:inline-block;width:100%;vertical-align:bottom}.custom-theme .el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;font-size:14px;color:#5a5e66;background-color:#fff;background-image:none;border:1px solid #d8dce5;border-radius:4px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.custom-theme .el-textarea__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner::placeholder{color:#b4bccc}.custom-theme .el-textarea__inner:hover{border-color:#b4bccc}.custom-theme .el-textarea__inner:focus{outline:0;border-color:#262729}.custom-theme .el-textarea.is-disabled .el-textarea__inner{background-color:#f5f7fa;border-color:#dfe4ed;color:#b4bccc;cursor:not-allowed}.custom-theme .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner::placeholder{color:#b4bccc}.custom-theme .el-popper .popper__arrow,.custom-theme .el-popper .popper__arrow::after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.custom-theme .el-popper .popper__arrow{border-width:6px;-webkit-filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03));filter:drop-shadow(0 2px 12px rgba(0, 0, 0, .03))}.custom-theme .el-popper .popper__arrow::after{content:" ";border-width:6px}.custom-theme .el-popper[x-placement^=top]{margin-bottom:12px}.custom-theme .el-popper[x-placement^=top] .popper__arrow{bottom:-6px;left:50%;margin-right:3px;border-top-color:#e6ebf5;border-bottom-width:0}.custom-theme .el-popper[x-placement^=top] .popper__arrow::after{bottom:1px;margin-left:-6px;border-top-color:#fff;border-bottom-width:0}.custom-theme .el-popper[x-placement^=bottom]{margin-top:12px}.custom-theme .el-popper[x-placement^=bottom] .popper__arrow{top:-6px;left:50%;margin-right:3px;border-top-width:0;border-bottom-color:#e6ebf5}.custom-theme .el-popper[x-placement^=bottom] .popper__arrow::after{top:1px;margin-left:-6px;border-top-width:0;border-bottom-color:#fff}.custom-theme .el-popper[x-placement^=right]{margin-left:12px}.custom-theme .el-popper[x-placement^=right] .popper__arrow{top:50%;left:-6px;margin-bottom:3px;border-right-color:#e6ebf5;border-left-width:0}.custom-theme .el-popper[x-placement^=right] .popper__arrow::after{bottom:-6px;left:1px;border-right-color:#fff;border-left-width:0}.custom-theme .el-popper[x-placement^=left]{margin-right:12px}.custom-theme .el-popper[x-placement^=left] .popper__arrow{top:50%;right:-6px;margin-bottom:3px;border-right-width:0;border-left-color:#e6ebf5}.custom-theme .el-popper[x-placement^=left] .popper__arrow::after{right:1px;bottom:-6px;margin-left:-6px;border-right-width:0;border-left-color:#fff}.custom-theme .el-cascader{display:inline-block;position:relative;font-size:14px;line-height:40px}.custom-theme .el-cascader .el-input,.custom-theme .el-cascader .el-input__inner{cursor:pointer}.custom-theme .el-cascader .el-input__icon{-webkit-transition:none;transition:none}.custom-theme .el-cascader .el-icon-arrow-down{-webkit-transition:-webkit-transform .3s;transition:-webkit-transform .3s;transition:transform .3s;transition:transform .3s,-webkit-transform .3s;font-size:14px}.custom-theme .el-cascader .el-icon-arrow-down.is-reverse{-webkit-transform:rotateZ(180deg);transform:rotateZ(180deg)}.custom-theme .el-cascader .el-icon-circle-close{z-index:2;-webkit-transition:color .2s cubic-bezier(.645,.045,.355,1);transition:color .2s cubic-bezier(.645,.045,.355,1)}.custom-theme .el-cascader .el-icon-circle-close:hover{color:#878d99}.custom-theme .el-cascader__clearIcon{z-index:2;position:relative}.custom-theme .el-cascader__label{position:absolute;left:0;top:0;height:100%;padding:0 25px 0 15px;color:#5a5e66;width:100%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer;text-align:left;font-size:inherit}.custom-theme .el-cascader__label span{color:#000}.custom-theme .el-cascader--medium{font-size:14px;line-height:36px}.custom-theme .el-cascader--small{font-size:13px;line-height:32px}.custom-theme .el-cascader--mini{font-size:12px;line-height:28px}.custom-theme .el-cascader.is-disabled .el-cascader__label{z-index:2;color:#b4bccc}.custom-theme .el-cascader-menus{white-space:nowrap;background:#fff;position:absolute;margin:5px 0;z-index:2;border:solid 1px #dfe4ed;border-radius:2px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.custom-theme .el-cascader-menus .popper__arrow{-webkit-transform:translateX(-400%);transform:translateX(-400%)}.custom-theme .el-cascader-menu{display:inline-block;vertical-align:top;height:204px;overflow:auto;border-right:solid 1px #dfe4ed;background-color:#fff;-webkit-box-sizing:border-box;box-sizing:border-box;margin:0;padding:6px 0;min-width:160px}.custom-theme .el-cascader-menu:last-child{border-right:0}.custom-theme .el-cascader-menu__item{font-size:14px;padding:8px 20px;position:relative;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#5a5e66;height:34px;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box;cursor:pointer}.custom-theme .el-cascader-menu__item--extensible:after{font-family:element-icons;content:"\e604";font-size:14px;color:#bfcbd9;position:absolute;right:15px}.custom-theme .el-cascader-menu__item.is-disabled{color:#b4bccc;background-color:#fff;cursor:not-allowed}.custom-theme .el-cascader-menu__item.is-disabled:hover{background-color:#fff}.custom-theme .el-cascader-menu__item.is-active{color:#262729}.custom-theme .el-cascader-menu__item:hover{background-color:#f5f7fa}.custom-theme .el-cascader-menu__item.selected{color:#fff;background-color:#f5f7fa}.custom-theme .el-cascader-menu__item__keyword{font-weight:700}.custom-theme .el-cascader-menu--flexible{height:auto;max-height:180px;overflow:auto}.custom-theme .el-cascader-menu--flexible .el-cascader-menu__item{overflow:visible}.custom-theme .el-color-hue-slider{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;width:280px;height:12px;background-color:red;padding:0 2px}.custom-theme .el-color-hue-slider__bar{position:relative;background:-webkit-gradient(linear,left top,right top,from(red),color-stop(17%,#ff0),color-stop(33%,#0f0),color-stop(50%,#0ff),color-stop(67%,#00f),color-stop(83%,#f0f),to(red));background:linear-gradient(to right,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%);height:100%}.custom-theme .el-color-hue-slider__thumb{position:absolute;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box;left:0;top:0;width:4px;height:100%;border-radius:1px;background:#fff;border:1px solid #f0f0f0;-webkit-box-shadow:0 0 2px rgba(0,0,0,.6);box-shadow:0 0 2px rgba(0,0,0,.6);z-index:1}.custom-theme .el-color-hue-slider.is-vertical{width:12px;height:180px;padding:2px 0}.custom-theme .el-color-hue-slider.is-vertical .el-color-hue-slider__bar{background:-webkit-gradient(linear,left top,left bottom,from(red),color-stop(17%,#ff0),color-stop(33%,#0f0),color-stop(50%,#0ff),color-stop(67%,#00f),color-stop(83%,#f0f),to(red));background:linear-gradient(to bottom,red 0,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%)}.custom-theme .el-color-hue-slider.is-vertical .el-color-hue-slider__thumb{left:0;top:0;width:100%;height:4px}.custom-theme .el-color-svpanel{position:relative;width:280px;height:180px}.custom-theme .el-color-svpanel__black,.custom-theme .el-color-svpanel__white{position:absolute;top:0;left:0;right:0;bottom:0}.custom-theme .el-color-svpanel__white{background:-webkit-gradient(linear,left top,right top,from(#fff),to(rgba(255,255,255,0)));background:linear-gradient(to right,#fff,rgba(255,255,255,0))}.custom-theme .el-color-svpanel__black{background:-webkit-gradient(linear,left bottom,left top,from(#000),to(transparent));background:linear-gradient(to top,#000,transparent)}.custom-theme .el-color-svpanel__cursor{position:absolute}.custom-theme .el-color-svpanel__cursor>div{cursor:head;width:4px;height:4px;-webkit-box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px rgba(0,0,0,.3),0 0 1px 2px rgba(0,0,0,.4);box-shadow:0 0 0 1.5px #fff,inset 0 0 1px 1px rgba(0,0,0,.3),0 0 1px 2px rgba(0,0,0,.4);border-radius:50%;-webkit-transform:translate(-2px,-2px);transform:translate(-2px,-2px)}.custom-theme .el-color-alpha-slider{position:relative;-webkit-box-sizing:border-box;box-sizing:border-box;width:280px;height:12px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.custom-theme .el-color-alpha-slider__bar{position:relative;background:-webkit-gradient(linear,left top,right top,from(rgba(255,255,255,0)),to(white));background:linear-gradient(to right,rgba(255,255,255,0) 0,#fff 100%);height:100%}.custom-theme .el-color-alpha-slider__thumb{position:absolute;cursor:pointer;-webkit-box-sizing:border-box;box-sizing:border-box;left:0;top:0;width:4px;height:100%;border-radius:1px;background:#fff;border:1px solid #f0f0f0;-webkit-box-shadow:0 0 2px rgba(0,0,0,.6);box-shadow:0 0 2px rgba(0,0,0,.6);z-index:1}.custom-theme .el-color-alpha-slider.is-vertical{width:20px;height:180px}.custom-theme .el-color-alpha-slider.is-vertical .el-color-alpha-slider__bar{background:-webkit-gradient(linear,left top,left bottom,from(rgba(255,255,255,0)),to(white));background:linear-gradient(to bottom,rgba(255,255,255,0) 0,#fff 100%)}.custom-theme .el-color-alpha-slider.is-vertical .el-color-alpha-slider__thumb{left:0;top:0;width:100%;height:4px}.custom-theme .el-color-dropdown{width:300px}.custom-theme .el-color-dropdown__main-wrapper{margin-bottom:6px}.custom-theme .el-color-dropdown__main-wrapper::after{content:"";display:table;clear:both}.custom-theme .el-color-dropdown__btns{margin-top:6px;text-align:right}.custom-theme .el-color-dropdown__value{float:left;line-height:26px;font-size:12px;color:#000;width:160px}.custom-theme .el-color-dropdown__btn{border:1px solid #dcdcdc;color:#333;line-height:24px;border-radius:2px;padding:0 20px;cursor:pointer;background-color:transparent;outline:0;font-size:12px}.custom-theme .el-color-dropdown__btn[disabled]{color:#ccc;cursor:not-allowed}.custom-theme .el-color-dropdown__btn:hover{color:#262729;border-color:#262729}.custom-theme .el-color-dropdown__link-btn{cursor:pointer;color:#262729;text-decoration:none;padding:15px;font-size:12px}.custom-theme .el-color-dropdown__link-btn:hover{color:tint(#262729,20%)}.custom-theme .el-color-picker{display:inline-block;position:relative;line-height:normal;height:40px}.custom-theme .el-color-picker.is-disabled .el-color-picker__trigger{cursor:not-allowed}.custom-theme .el-color-picker--medium{height:36px}.custom-theme .el-color-picker--medium .el-color-picker__trigger{height:36px;width:36px}.custom-theme .el-color-picker--medium .el-color-picker__mask{height:34px;width:34px}.custom-theme .el-color-picker--small{height:32px}.custom-theme .el-color-picker--small .el-color-picker__trigger{height:32px;width:32px}.custom-theme .el-color-picker--small .el-color-picker__mask{height:30px;width:30px}.custom-theme .el-color-picker--small .el-color-picker__empty,.custom-theme .el-color-picker--small .el-color-picker__icon{-webkit-transform:translate3d(-50%,-50%,0) scale(.8);transform:translate3d(-50%,-50%,0) scale(.8)}.custom-theme .el-color-picker--mini{height:28px}.custom-theme .el-color-picker--mini .el-color-picker__trigger{height:28px;width:28px}.custom-theme .el-color-picker--mini .el-color-picker__mask{height:26px;width:26px}.custom-theme .el-color-picker--mini .el-color-picker__empty,.custom-theme .el-color-picker--mini .el-color-picker__icon{-webkit-transform:translate3d(-50%,-50%,0) scale(.8);transform:translate3d(-50%,-50%,0) scale(.8)}.custom-theme .el-color-picker__mask{height:38px;width:38px;border-radius:4px;position:absolute;top:1px;left:1px;z-index:1;cursor:not-allowed;background-color:rgba(255,255,255,.7)}.custom-theme .el-color-picker__trigger{display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;height:40px;width:40px;padding:4px;border:1px solid #e6e6e6;border-radius:4px;font-size:0;position:relative;cursor:pointer}.custom-theme .el-color-picker__color{position:relative;display:block;-webkit-box-sizing:border-box;box-sizing:border-box;border:1px solid #999;border-radius:2px;width:100%;height:100%;text-align:center}.custom-theme .el-color-picker__color.is-alpha{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAIAAADZF8uwAAAAGUlEQVQYV2M4gwH+YwCGIasIUwhT25BVBADtzYNYrHvv4gAAAABJRU5ErkJggg==)}.custom-theme .el-color-picker__color-inner{position:absolute;left:0;top:0;right:0;bottom:0}.custom-theme .el-color-picker__empty{font-size:12px;color:#999;position:absolute;top:50%;left:50%;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0)}.custom-theme .el-color-picker__icon{display:inline-block;position:absolute;width:100%;top:50%;left:50%;-webkit-transform:translate3d(-50%,-50%,0);transform:translate3d(-50%,-50%,0);color:#fff;text-align:center;font-size:12px}.custom-theme .el-color-picker__panel{position:absolute;z-index:10;padding:6px;background-color:#fff;border:1px solid #e6ebf5;border-radius:4px;-webkit-box-shadow:0 2px 12px 0 rgba(0,0,0,.1);box-shadow:0 2px 12px 0 rgba(0,0,0,.1)}.custom-theme .el-input{position:relative;font-size:14px;display:inline-block;width:100%}.custom-theme .el-input::-webkit-scrollbar{z-index:11;width:6px}.custom-theme .el-input::-webkit-scrollbar:horizontal{height:6px}.custom-theme .el-input::-webkit-scrollbar-thumb{border-radius:5px;width:6px;background:#b4bccc}.custom-theme .el-input::-webkit-scrollbar-corner{background:#fff}.custom-theme .el-input::-webkit-scrollbar-track{background:#fff}.custom-theme .el-input::-webkit-scrollbar-track-piece{background:#fff;width:6px}.custom-theme .el-input__inner{-webkit-appearance:none;background-color:#fff;background-image:none;border-radius:4px;border:1px solid #d8dce5;-webkit-box-sizing:border-box;box-sizing:border-box;color:#5a5e66;display:inline-block;font-size:inherit;height:40px;line-height:1;outline:0;padding:0 15px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1);width:100%}.custom-theme .el-input__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input__inner::placeholder{color:#b4bccc}.custom-theme .el-input__inner:hover{border-color:#b4bccc}.custom-theme .el-input__inner:focus{outline:0;border-color:#262729}.custom-theme .el-input__suffix{position:absolute;height:100%;right:5px;top:0;text-align:center;color:#b4bccc;-webkit-transition:all .3s;transition:all .3s;pointer-events:none}.custom-theme .el-input__suffix-inner{pointer-events:all}.custom-theme .el-input__prefix{position:absolute;height:100%;left:5px;top:0;text-align:center;color:#b4bccc;-webkit-transition:all .3s;transition:all .3s}.custom-theme .el-input__icon{height:100%;width:25px;text-align:center;-webkit-transition:all .3s;transition:all .3s;line-height:40px}.custom-theme .el-input__icon:after{content:'';height:100%;width:0;display:inline-block;vertical-align:middle}.custom-theme .el-input__validateIcon{pointer-events:none}.custom-theme .el-input.is-active .el-input__inner{outline:0;border-color:#262729}.custom-theme .el-input.is-disabled .el-input__inner{background-color:#f5f7fa;border-color:#dfe4ed;color:#b4bccc;cursor:not-allowed}.custom-theme .el-input.is-disabled .el-input__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__inner::placeholder{color:#b4bccc}.custom-theme .el-input.is-disabled .el-input__icon{cursor:not-allowed}.custom-theme .el-input--suffix .el-input__inner{padding-right:30px}.custom-theme .el-input--prefix .el-input__inner{padding-left:30px}.custom-theme .el-input--medium{font-size:14px}.custom-theme .el-input--medium .el-input__inner{height:36px}.custom-theme .el-input--medium .el-input__icon{line-height:36px}.custom-theme .el-input--small{font-size:13px}.custom-theme .el-input--small .el-input__inner{height:32px}.custom-theme .el-input--small .el-input__icon{line-height:32px}.custom-theme .el-input--mini{font-size:12px}.custom-theme .el-input--mini .el-input__inner{height:28px}.custom-theme .el-input--mini .el-input__icon{line-height:28px}.custom-theme .el-input-group{line-height:normal;display:inline-table;width:100%;border-collapse:separate}.custom-theme .el-input-group>.el-input__inner{vertical-align:middle;display:table-cell}.custom-theme .el-input-group__append,.custom-theme .el-input-group__prepend{background-color:#f5f7fa;color:#0a76a4;vertical-align:middle;display:table-cell;position:relative;border:1px solid #d8dce5;border-radius:4px;padding:0 20px;width:1px;white-space:nowrap}.custom-theme .el-input-group__append:focus,.custom-theme .el-input-group__prepend:focus{outline:0}.custom-theme .el-input-group__append .el-button,.custom-theme .el-input-group__append .el-select,.custom-theme .el-input-group__prepend .el-button,.custom-theme .el-input-group__prepend .el-select{display:inline-block;margin:-20px}.custom-theme .el-input-group__append button.el-button,.custom-theme .el-input-group__append div.el-select .el-input__inner,.custom-theme .el-input-group__append div.el-select:hover .el-input__inner,.custom-theme .el-input-group__prepend button.el-button,.custom-theme .el-input-group__prepend div.el-select .el-input__inner,.custom-theme .el-input-group__prepend div.el-select:hover .el-input__inner{border-color:transparent;background-color:transparent;color:inherit;border-top:0;border-bottom:0}.custom-theme .el-input-group__append .el-button,.custom-theme .el-input-group__append .el-input,.custom-theme .el-input-group__prepend .el-button,.custom-theme .el-input-group__prepend .el-input{font-size:inherit}.custom-theme .el-input-group__prepend{border-right:0;border-top-right-radius:0;border-bottom-right-radius:0}.custom-theme .el-input-group__append{border-left:0;border-top-left-radius:0;border-bottom-left-radius:0}.custom-theme .el-input-group--prepend .el-input__inner{border-top-left-radius:0;border-bottom-left-radius:0}.custom-theme .el-input-group--append .el-input__inner{border-top-right-radius:0;border-bottom-right-radius:0}.custom-theme .el-textarea{display:inline-block;width:100%;vertical-align:bottom}.custom-theme .el-textarea__inner{display:block;resize:vertical;padding:5px 15px;line-height:1.5;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;font-size:14px;color:#5a5e66;background-color:#fff;background-image:none;border:1px solid #d8dce5;border-radius:4px;-webkit-transition:border-color .2s cubic-bezier(.645,.045,.355,1);transition:border-color .2s cubic-bezier(.645,.045,.355,1)}.custom-theme .el-textarea__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea__inner::placeholder{color:#b4bccc}.custom-theme .el-textarea__inner:hover{border-color:#b4bccc}.custom-theme .el-textarea__inner:focus{outline:0;border-color:#262729}.custom-theme .el-textarea.is-disabled .el-textarea__inner{background-color:#f5f7fa;border-color:#dfe4ed;color:#b4bccc;cursor:not-allowed}.custom-theme .el-textarea.is-disabled .el-textarea__inner::-webkit-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner:-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner::-ms-input-placeholder{color:#b4bccc}.custom-theme .el-textarea.is-disabled .el-textarea__inner::placeholder{color:#b4bccc}.custom-theme .el-button{display:inline-block;line-height:1;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #d8dce5;border-color:#d8dce5;color:#5a5e66;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;-webkit-transition:.1s;transition:.1s;font-weight:500;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;padding:12px 20px;font-size:14px;border-radius:4px}.custom-theme .el-button+.el-button{margin-left:10px}.custom-theme .el-button.is-round{padding:12px 20px}.custom-theme .el-button:focus,.custom-theme .el-button:hover{color:#262729;border-color:#bebebf;background-color:#e9e9ea}.custom-theme .el-button:active{color:#222325;border-color:#222325;outline:0}.custom-theme .el-button::-moz-focus-inner{border:0}.custom-theme .el-button [class*=el-icon-]+span{margin-left:5px}.custom-theme .el-button.is-plain:focus,.custom-theme .el-button.is-plain:hover{background:#fff;border-color:#262729;color:#262729}.custom-theme .el-button.is-plain:active{background:#fff;border-color:#222325;color:#222325;outline:0}.custom-theme .el-button.is-active{color:#222325;border-color:#222325}.custom-theme .el-button.is-disabled,.custom-theme .el-button.is-disabled:focus,.custom-theme .el-button.is-disabled:hover{color:#b4bccc;cursor:not-allowed;background-image:none;background-color:#fff;border-color:#e6ebf5}.custom-theme .el-button.is-disabled.el-button--text{background-color:transparent}.custom-theme .el-button.is-disabled.is-plain,.custom-theme .el-button.is-disabled.is-plain:focus,.custom-theme .el-button.is-disabled.is-plain:hover{background-color:#fff;border-color:#e6ebf5;color:#b4bccc}.custom-theme .el-button.is-loading{position:relative;pointer-events:none}.custom-theme .el-button.is-loading:before{pointer-events:none;content:'';position:absolute;left:-1px;top:-1px;right:-1px;bottom:-1px;border-radius:inherit;background-color:rgba(255,255,255,.35)}.custom-theme .el-button.is-round{border-radius:20px;padding:12px 23px}.custom-theme .el-button--primary{color:#fff;background-color:#262729;border-color:#262729}.custom-theme .el-button--primary:focus,.custom-theme .el-button--primary:hover{background:#515254;border-color:#515254;color:#fff}.custom-theme .el-button--primary:active{background:#222325;border-color:#222325;color:#fff;outline:0}.custom-theme .el-button--primary.is-active{background:#222325;border-color:#222325;color:#fff}.custom-theme .el-button--primary.is-disabled,.custom-theme .el-button--primary.is-disabled:active,.custom-theme .el-button--primary.is-disabled:focus,.custom-theme .el-button--primary.is-disabled:hover{color:#fff;background-color:#939394;border-color:#939394}.custom-theme .el-button--primary.is-plain{color:#262729;background:#e9e9ea;border-color:#a8a9a9}.custom-theme .el-button--primary.is-plain:focus,.custom-theme .el-button--primary.is-plain:hover{background:#262729;border-color:#262729;color:#fff}.custom-theme .el-button--primary.is-plain:active{background:#222325;border-color:#222325;color:#fff;outline:0}.custom-theme .el-button--primary.is-plain.is-disabled,.custom-theme .el-button--primary.is-plain.is-disabled:active,.custom-theme .el-button--primary.is-plain.is-disabled:focus,.custom-theme .el-button--primary.is-plain.is-disabled:hover{color:#7d7d7f;background-color:#e9e9ea;border-color:#d4d4d4}.custom-theme .el-button--success{color:#fff;background-color:#409167;border-color:#409167}.custom-theme .el-button--success:focus,.custom-theme .el-button--success:hover{background:#66a785;border-color:#66a785;color:#fff}.custom-theme .el-button--success:active{background:#3a835d;border-color:#3a835d;color:#fff;outline:0}.custom-theme .el-button--success.is-active{background:#3a835d;border-color:#3a835d;color:#fff}.custom-theme .el-button--success.is-disabled,.custom-theme .el-button--success.is-disabled:active,.custom-theme .el-button--success.is-disabled:focus,.custom-theme .el-button--success.is-disabled:hover{color:#fff;background-color:#a0c8b3;border-color:#a0c8b3}.custom-theme .el-button--success.is-plain{color:#409167;background:#ecf4f0;border-color:#b3d3c2}.custom-theme .el-button--success.is-plain:focus,.custom-theme .el-button--success.is-plain:hover{background:#409167;border-color:#409167;color:#fff}.custom-theme .el-button--success.is-plain:active{background:#3a835d;border-color:#3a835d;color:#fff;outline:0}.custom-theme .el-button--success.is-plain.is-disabled,.custom-theme .el-button--success.is-plain.is-disabled:active,.custom-theme .el-button--success.is-plain.is-disabled:focus,.custom-theme .el-button--success.is-plain.is-disabled:hover{color:#8cbda4;background-color:#ecf4f0;border-color:#d9e9e1}.custom-theme .el-button--warning{color:#fff;background-color:#9da408;border-color:#9da408}.custom-theme .el-button--warning:focus,.custom-theme .el-button--warning:hover{background:#b1b639;border-color:#b1b639;color:#fff}.custom-theme .el-button--warning:active{background:#8d9407;border-color:#8d9407;color:#fff;outline:0}.custom-theme .el-button--warning.is-active{background:#8d9407;border-color:#8d9407;color:#fff}.custom-theme .el-button--warning.is-disabled,.custom-theme .el-button--warning.is-disabled:active,.custom-theme .el-button--warning.is-disabled:focus,.custom-theme .el-button--warning.is-disabled:hover{color:#fff;background-color:#ced284;border-color:#ced284}.custom-theme .el-button--warning.is-plain{color:#9da408;background:#f5f6e6;border-color:#d8db9c}.custom-theme .el-button--warning.is-plain:focus,.custom-theme .el-button--warning.is-plain:hover{background:#9da408;border-color:#9da408;color:#fff}.custom-theme .el-button--warning.is-plain:active{background:#8d9407;border-color:#8d9407;color:#fff;outline:0}.custom-theme .el-button--warning.is-plain.is-disabled,.custom-theme .el-button--warning.is-plain.is-disabled:active,.custom-theme .el-button--warning.is-plain.is-disabled:focus,.custom-theme .el-button--warning.is-plain.is-disabled:hover{color:#c4c86b;background-color:#f5f6e6;border-color:#ebedce}.custom-theme .el-button--danger{color:#fff;background-color:#b3450e;border-color:#b3450e}.custom-theme .el-button--danger:focus,.custom-theme .el-button--danger:hover{background:#c26a3e;border-color:#c26a3e;color:#fff}.custom-theme .el-button--danger:active{background:#a13e0d;border-color:#a13e0d;color:#fff;outline:0}.custom-theme .el-button--danger.is-active{background:#a13e0d;border-color:#a13e0d;color:#fff}.custom-theme .el-button--danger.is-disabled,.custom-theme .el-button--danger.is-disabled:active,.custom-theme .el-button--danger.is-disabled:focus,.custom-theme .el-button--danger.is-disabled:hover{color:#fff;background-color:#d9a287;border-color:#d9a287}.custom-theme .el-button--danger.is-plain{color:#b3450e;background:#f7ece7;border-color:#e1b59f}.custom-theme .el-button--danger.is-plain:focus,.custom-theme .el-button--danger.is-plain:hover{background:#b3450e;border-color:#b3450e;color:#fff}.custom-theme .el-button--danger.is-plain:active{background:#a13e0d;border-color:#a13e0d;color:#fff;outline:0}.custom-theme .el-button--danger.is-plain.is-disabled,.custom-theme .el-button--danger.is-plain.is-disabled:active,.custom-theme .el-button--danger.is-plain.is-disabled:focus,.custom-theme .el-button--danger.is-plain.is-disabled:hover{color:#d18f6e;background-color:#f7ece7;border-color:#f0dacf}.custom-theme .el-button--info{color:#fff;background-color:#0a76a4;border-color:#0a76a4}.custom-theme .el-button--info:focus,.custom-theme .el-button--info:hover{background:#3b91b6;border-color:#3b91b6;color:#fff}.custom-theme .el-button--info:active{background:#096a94;border-color:#096a94;color:#fff;outline:0}.custom-theme .el-button--info.is-active{background:#096a94;border-color:#096a94;color:#fff}.custom-theme .el-button--info.is-disabled,.custom-theme .el-button--info.is-disabled:active,.custom-theme .el-button--info.is-disabled:focus,.custom-theme .el-button--info.is-disabled:hover{color:#fff;background-color:#85bbd2;border-color:#85bbd2}.custom-theme .el-button--info.is-plain{color:#0a76a4;background:#e7f1f6;border-color:#9dc8db}.custom-theme .el-button--info.is-plain:focus,.custom-theme .el-button--info.is-plain:hover{background:#0a76a4;border-color:#0a76a4;color:#fff}.custom-theme .el-button--info.is-plain:active{background:#096a94;border-color:#096a94;color:#fff;outline:0}.custom-theme .el-button--info.is-plain.is-disabled,.custom-theme .el-button--info.is-plain.is-disabled:active,.custom-theme .el-button--info.is-plain.is-disabled:focus,.custom-theme .el-button--info.is-plain.is-disabled:hover{color:#6cadc8;background-color:#e7f1f6;border-color:#cee4ed}.custom-theme .el-button--medium{padding:10px 20px;font-size:14px;border-radius:4px}.custom-theme .el-button--medium.is-round{padding:10px 20px}.custom-theme .el-button--small{padding:9px 15px;font-size:12px;border-radius:3px}.custom-theme .el-button--small.is-round{padding:9px 15px}.custom-theme .el-button--mini{padding:7px 15px;font-size:12px;border-radius:3px}.custom-theme .el-button--mini.is-round{padding:7px 15px}.custom-theme .el-button--text{border:none;color:#262729;background:0 0;padding-left:0;padding-right:0}.custom-theme .el-button--text:focus,.custom-theme .el-button--text:hover{color:#515254;border-color:transparent;background-color:transparent}.custom-theme .el-button--text:active{color:#222325;border-color:transparent;background-color:transparent}.custom-theme .el-button-group{display:inline-block;vertical-align:middle}.custom-theme .el-button-group::after,.custom-theme .el-button-group::before{display:table;content:""}.custom-theme .el-button-group::after{clear:both}.custom-theme .el-button-group .el-button{float:left;position:relative}.custom-theme .el-button-group .el-button+.el-button{margin-left:0}.custom-theme .el-button-group .el-button:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.custom-theme .el-button-group .el-button:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.custom-theme .el-button-group .el-button:not(:first-child):not(:last-child){border-radius:0}.custom-theme .el-button-group .el-button:not(:last-child){margin-right:-1px}.custom-theme .el-button-group .el-button:active,.custom-theme .el-button-group .el-button:focus,.custom-theme .el-button-group .el-button:hover{z-index:1}.custom-theme .el-button-group .el-button.is-active{z-index:1}.custom-theme .el-button-group .el-button--primary:first-child{border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--primary:last-child{border-left-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--primary:not(:first-child):not(:last-child){border-left-color:rgba(255,255,255,.5);border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--success:first-child{border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--success:last-child{border-left-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--success:not(:first-child):not(:last-child){border-left-color:rgba(255,255,255,.5);border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--warning:first-child{border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--warning:last-child{border-left-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--warning:not(:first-child):not(:last-child){border-left-color:rgba(255,255,255,.5);border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--danger:first-child{border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--danger:last-child{border-left-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--danger:not(:first-child):not(:last-child){border-left-color:rgba(255,255,255,.5);border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--info:first-child{border-right-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--info:last-child{border-left-color:rgba(255,255,255,.5)}.custom-theme .el-button-group .el-button--info:not(:first-child):not(:last-child){border-left-color:rgba(255,255,255,.5);border-right-color:rgba(255,255,255,.5)}.custom-theme .el-checkbox{color:#5a5e66;font-weight:500;font-size:14px;position:relative;cursor:pointer;display:inline-block;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.custom-theme .el-checkbox.is-bordered{padding:9px 20px 9px 10px;border-radius:4px;border:1px solid #d8dce5}.custom-theme .el-checkbox.is-bordered.is-checked{border-color:#262729}.custom-theme .el-checkbox.is-bordered.is-disabled{border-color:#e6ebf5;cursor:not-allowed}.custom-theme .el-checkbox.is-bordered+.el-checkbox.is-bordered{margin-left:10px}.custom-theme .el-checkbox.is-bordered.el-checkbox--medium{padding:7px 20px 7px 10px;border-radius:4px}.custom-theme .el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__label{line-height:17px;font-size:14px}.custom-theme .el-checkbox.is-bordered.el-checkbox--medium .el-checkbox__inner{height:14px;width:14px}.custom-theme .el-checkbox.is-bordered.el-checkbox--small{padding:3px 15px 7px 10px;border-radius:3px}.custom-theme .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__label{line-height:15px;font-size:12px}.custom-theme .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner{height:12px;width:12px}.custom-theme .el-checkbox.is-bordered.el-checkbox--small .el-checkbox__inner::after{height:6px;width:2px}.custom-theme .el-checkbox.is-bordered.el-checkbox--mini{padding:1px 15px 5px 10px;border-radius:3px}.custom-theme .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__label{line-height:12px;font-size:12px}.custom-theme .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner{height:12px;width:12px}.custom-theme .el-checkbox.is-bordered.el-checkbox--mini .el-checkbox__inner::after{height:6px;width:2px}.custom-theme .el-checkbox__input{white-space:nowrap;cursor:pointer;outline:0;display:inline-block;line-height:1;position:relative;vertical-align:middle}.custom-theme .el-checkbox__input.is-disabled .el-checkbox__inner{background-color:#edf2fc;border-color:#d8dce5;cursor:not-allowed}.custom-theme .el-checkbox__input.is-disabled .el-checkbox__inner::after{cursor:not-allowed;border-color:#b4bccc}.custom-theme .el-checkbox__input.is-disabled .el-checkbox__inner+.el-checkbox__label{cursor:not-allowed}.custom-theme .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner{background-color:#edf2fc;border-color:#d8dce5}.custom-theme .el-checkbox__input.is-disabled.is-checked .el-checkbox__inner::after{border-color:#b4bccc}.custom-theme .el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner{background-color:#edf2fc;border-color:#d8dce5}.custom-theme .el-checkbox__input.is-disabled.is-indeterminate .el-checkbox__inner::before{background-color:#b4bccc;border-color:#b4bccc}.custom-theme .el-checkbox__input.is-disabled+span.el-checkbox__label{color:#b4bccc;cursor:not-allowed}.custom-theme .el-checkbox__input.is-checked .el-checkbox__inner{background-color:#262729;border-color:#262729}.custom-theme .el-checkbox__input.is-checked .el-checkbox__inner::after{-webkit-transform:rotate(45deg) scaleY(1);transform:rotate(45deg) scaleY(1)}.custom-theme .el-checkbox__input.is-checked+.el-checkbox__label{color:#262729}.custom-theme .el-checkbox__input.is-focus .el-checkbox__inner{border-color:#262729}.custom-theme .el-checkbox__input.is-indeterminate .el-checkbox__inner{background-color:#262729;border-color:#262729}.custom-theme .el-checkbox__input.is-indeterminate .el-checkbox__inner::before{content:'';position:absolute;display:block;background-color:#fff;height:2px;-webkit-transform:scale(.5);transform:scale(.5);left:0;right:0;top:5px}.custom-theme .el-checkbox__input.is-indeterminate .el-checkbox__inner::after{display:none}.custom-theme .el-checkbox__inner{display:inline-block;position:relative;border:1px solid #d8dce5;border-radius:2px;-webkit-box-sizing:border-box;box-sizing:border-box;width:14px;height:14px;background-color:#fff;z-index:1;-webkit-transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46);transition:border-color .25s cubic-bezier(.71,-.46,.29,1.46),background-color .25s cubic-bezier(.71,-.46,.29,1.46)}.custom-theme .el-checkbox__inner:hover{border-color:#262729}.custom-theme .el-checkbox__inner::after{-webkit-box-sizing:content-box;box-sizing:content-box;content:"";border:1px solid #fff;border-left:0;border-top:0;height:7px;left:4px;position:absolute;top:1px;-webkit-transform:rotate(45deg) scaleY(0);transform:rotate(45deg) scaleY(0);width:3px;-webkit-transition:-webkit-transform .15s cubic-bezier(.71,-.46,.88,.6) 50ms;transition:-webkit-transform .15s cubic-bezier(.71,-.46,.88,.6) 50ms;transition:transform .15s cubic-bezier(.71,-.46,.88,.6) 50ms;transition:transform .15s cubic-bezier(.71,-.46,.88,.6) 50ms,-webkit-transform .15s cubic-bezier(.71,-.46,.88,.6) 50ms;-webkit-transform-origin:center;transform-origin:center}.custom-theme .el-checkbox__original{opacity:0;outline:0;position:absolute;margin:0;width:0;height:0;left:-999px}.custom-theme .el-checkbox__label{display:inline-block;padding-left:10px;line-height:19px;font-size:14px}.custom-theme .el-checkbox+.el-checkbox{margin-left:30px}.custom-theme .el-checkbox-button{position:relative;display:inline-block}.custom-theme .el-checkbox-button__inner{display:inline-block;line-height:1;font-weight:500;white-space:nowrap;vertical-align:middle;cursor:pointer;background:#fff;border:1px solid #d8dce5;border-left:0;color:#5a5e66;-webkit-appearance:none;text-align:center;-webkit-box-sizing:border-box;box-sizing:border-box;outline:0;margin:0;position:relative;-webkit-transition:all .3s cubic-bezier(.645,.045,.355,1);transition:all .3s cubic-bezier(.645,.045,.355,1);-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;padding:12px 20px;font-size:14px;border-radius:0}.custom-theme .el-checkbox-button__inner.is-round{padding:12px 20px}.custom-theme .el-checkbox-button__inner:hover{color:#262729}.custom-theme .el-checkbox-button__inner [class*=el-icon-]{line-height:.9}.custom-theme .el-checkbox-button__inner [class*=el-icon-]+span{margin-left:5px}.custom-theme .el-checkbox-button__original{opacity:0;outline:0;position:absolute;margin:0;left:-999px}.custom-theme .el-checkbox-button.is-checked .el-checkbox-button__inner{color:#fff;background-color:#262729;border-color:#262729;-webkit-box-shadow:-1px 0 0 0 #7d7d7f;box-shadow:-1px 0 0 0 #7d7d7f}.custom-theme .el-checkbox-button.is-disabled .el-checkbox-button__inner{color:#b4bccc;cursor:not-allowed;background-image:none;background-color:#fff;border-color:#e6ebf5;-webkit-box-shadow:none;box-shadow:none}.custom-theme .el-checkbox-button:first-child .el-checkbox-button__inner{border-left:1px solid #d8dce5;border-radius:4px 0 0 4px;-webkit-box-shadow:none!important;box-shadow:none!important}.custom-theme .el-checkbox-button.is-focus .el-checkbox-button__inner{border-color:#262729}.custom-theme .el-checkbox-button:last-child .el-checkbox-button__inner{border-radius:0 4px 4px 0}.custom-theme .el-checkbox-button--medium .el-checkbox-button__inner{padding:10px 20px;font-size:14px;border-radius:0}.custom-theme .el-checkbox-button--medium .el-checkbox-button__inner.is-round{padding:10px 20px}.custom-theme .el-checkbox-button--small .el-checkbox-button__inner{padding:9px 15px;font-size:12px;border-radius:0}.custom-theme .el-checkbox-button--small .el-checkbox-button__inner.is-round{padding:9px 15px}.custom-theme .el-checkbox-button--mini .el-checkbox-button__inner{padding:7px 15px;font-size:12px;border-radius:0}.custom-theme .el-checkbox-button--mini .el-checkbox-button__inner.is-round{padding:7px 15px}.custom-theme .el-checkbox-group{font-size:0}.custom-theme .el-transfer{font-size:14px}.custom-theme .el-transfer__buttons{display:inline-block;vertical-align:middle;padding:0 30px}.custom-theme .el-transfer__button{display:block;margin:0 auto;padding:10px;border-radius:50%;color:#fff;background-color:#262729;font-size:0}.custom-theme .el-transfer__button.is-with-texts{border-radius:4px}.custom-theme .el-transfer__button.is-disabled{border:1px solid #d8dce5;background-color:#f5f7fa;color:#b4bccc}.custom-theme .el-transfer__button.is-disabled:hover{border:1px solid #d8dce5;background-color:#f5f7fa;color:#b4bccc}.custom-theme .el-transfer__button:first-child{margin-bottom:10px}.custom-theme .el-transfer__button:nth-child(2){margin:0}.custom-theme .el-transfer__button i,.custom-theme .el-transfer__button span{font-size:14px}.custom-theme .el-transfer__button [class*=el-icon-]+span{margin-left:0}.custom-theme .el-transfer-panel{border:1px solid #e6ebf5;border-radius:4px;overflow:hidden;background:#fff;display:inline-block;vertical-align:middle;width:200px;-webkit-box-sizing:border-box;box-sizing:border-box;position:relative}.custom-theme .el-transfer-panel__body{height:246px}.custom-theme .el-transfer-panel__body.is-with-footer{padding-bottom:40px}.custom-theme .el-transfer-panel__list{margin:0;padding:6px 0;list-style:none;height:246px;overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box}.custom-theme .el-transfer-panel__list.is-filterable{height:194px;padding-top:0}.custom-theme .el-transfer-panel__item{height:30px;line-height:30px;padding-left:15px;display:block}.custom-theme .el-transfer-panel__item+.el-transfer-panel__item{margin-left:0}.custom-theme .el-transfer-panel__item.el-checkbox{color:#5a5e66}.custom-theme .el-transfer-panel__item:hover{color:#262729}.custom-theme .el-transfer-panel__item.el-checkbox .el-checkbox__label{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:block;-webkit-box-sizing:border-box;box-sizing:border-box;padding-left:24px;line-height:30px}.custom-theme .el-transfer-panel__item .el-checkbox__input{position:absolute;top:8px}.custom-theme .el-transfer-panel__filter{text-align:center;margin:15px;-webkit-box-sizing:border-box;box-sizing:border-box;display:block;width:auto}.custom-theme .el-transfer-panel__filter .el-input__inner{height:32px;width:100%;font-size:12px;display:inline-block;-webkit-box-sizing:border-box;box-sizing:border-box;border-radius:16px;padding-right:10px;padding-left:30px}.custom-theme .el-transfer-panel__filter .el-input__icon{margin-left:5px}.custom-theme .el-transfer-panel__filter .el-icon-circle-close{cursor:pointer}.custom-theme .el-transfer-panel .el-transfer-panel__header{height:40px;line-height:40px;background:#f5f7fa;margin:0;padding-left:15px;border-bottom:1px solid #e6ebf5;-webkit-box-sizing:border-box;box-sizing:border-box;color:#000}.custom-theme .el-transfer-panel .el-transfer-panel__header .el-checkbox{display:block;line-height:40px}.custom-theme .el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label{font-size:16px;color:#2d2f33;font-weight:400}.custom-theme .el-transfer-panel .el-transfer-panel__header .el-checkbox .el-checkbox__label span{position:absolute;right:15px;color:#878d99;font-size:12px;font-weight:400}.custom-theme .el-transfer-panel .el-transfer-panel__footer{height:40px;background:#fff;margin:0;padding:0;border-top:1px solid #e6ebf5;position:absolute;bottom:0;left:0;width:100%;z-index:1}.custom-theme .el-transfer-panel .el-transfer-panel__footer::after{display:inline-block;content:"";height:100%;vertical-align:middle}.custom-theme .el-transfer-panel .el-transfer-panel__footer .el-checkbox{padding-left:20px;color:#5a5e66}.custom-theme .el-transfer-panel .el-transfer-panel__empty{margin:0;height:30px;line-height:30px;padding:6px 15px 0;color:#878d99}.custom-theme .el-transfer-panel .el-checkbox__label{padding-left:8px}.custom-theme .el-transfer-panel .el-checkbox__inner{height:14px;width:14px;border-radius:3px}.custom-theme .el-transfer-panel .el-checkbox__inner::after{height:6px;width:3px;left:4px}.custom-theme .el-container{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;-webkit-box-flex:1;-ms-flex:1;flex:1;-webkit-box-sizing:border-box;box-sizing:border-box}.custom-theme .el-container.is-vertical{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.custom-theme .el-header{padding:0 20px;-webkit-box-sizing:border-box;box-sizing:border-box}.custom-theme .el-aside{overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box}.custom-theme .el-main{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box;padding:20px}.custom-theme .el-footer{padding:0 20px;-webkit-box-sizing:border-box;box-sizing:border-box}
\ No newline at end of file
diff --git a/src/assets/iconfont/iconfont.css b/src/assets/iconfont/iconfont.css
new file mode 100644
index 0000000..59097fc
--- /dev/null
+++ b/src/assets/iconfont/iconfont.css
@@ -0,0 +1,1082 @@
+@font-face {
+ font-family: "iconfont"; /* Project id 2326639 */
+ src: url('//at.alicdn.com/t/font_2326639_b4q88cyap27.woff2?t=1639620759456') format('woff2'),
+ url('//at.alicdn.com/t/font_2326639_b4q88cyap27.woff?t=1639620759456') format('woff'),
+ url('//at.alicdn.com/t/font_2326639_b4q88cyap27.ttf?t=1639620759456') format('truetype');
+}
+
+.iconfont {
+ font-family: "iconfont" !important;
+ font-size: 16px;
+ font-style: normal;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+}
+
+.icongongzhonghao:before {
+ content: "\e791";
+}
+
+.iconxiaochengxu:before {
+ content: "\e792";
+}
+
+.iconyingyongpeizhi:before {
+ content: "\e790";
+}
+
+.iconzhandianpeizhi:before {
+ content: "\e78b";
+}
+
+.iconanzhuangxitong:before {
+ content: "\e78c";
+}
+
+.iconzhifupeizhi:before {
+ content: "\e78d";
+}
+
+.iconyihaotongkaitong:before {
+ content: "\e78e";
+}
+
+.iconwanchenganzhuang:before {
+ content: "\e78f";
+}
+
+.iconweixinzhifujine:before {
+ content: "\e787";
+}
+
+.iconleijiyonghushu:before {
+ content: "\e788";
+}
+
+.icondingdanjine:before {
+ content: "\e789";
+}
+
+.iconyuezhifujine2:before {
+ content: "\e78a";
+}
+
+.iconliulanliang:before {
+ content: "\e785";
+}
+
+.iconjiagouliang:before {
+ content: "\e786";
+}
+
+.iconjiaoyijianshu:before {
+ content: "\e781";
+}
+
+.iconshoucangliang:before {
+ content: "\e782";
+}
+
+.iconjiaoyichenggongshu:before {
+ content: "\e783";
+}
+
+.iconxinzengliang:before {
+ content: "\e784";
+}
+
+.iconzhifuyongjinjine1:before {
+ content: "\e780";
+}
+
+.iconchongzhijine:before {
+ content: "\e77a";
+}
+
+.iconshangpintuikuanjine:before {
+ content: "\e77b";
+}
+
+.iconyingyee1:before {
+ content: "\e77c";
+}
+
+.iconshangpinzhifujine1:before {
+ content: "\e77d";
+}
+
+.iconyuezhifujine1:before {
+ content: "\e77e";
+}
+
+.iconzhichujine1:before {
+ content: "\e77f";
+}
+
+.iconshangpinguanli:before {
+ content: "\e778";
+}
+
+.iconwenzhangguanli:before {
+ content: "\e779";
+}
+
+.iconduanxinpeizhi:before {
+ content: "\e772";
+}
+
+.icondingdanguanli:before {
+ content: "\e773";
+}
+
+.iconfenxiaoguanli:before {
+ content: "\e774";
+}
+
+.iconyouhuiquan:before {
+ content: "\e775";
+}
+
+.iconxitongshezhi:before {
+ content: "\e776";
+}
+
+.iconhuiyuanguanli:before {
+ content: "\e777";
+}
+
+.iconyonghu:before {
+ content: "\e76e";
+}
+
+.iconxiaoshoue:before {
+ content: "\e76f";
+}
+
+.icondingdan:before {
+ content: "\e770";
+}
+
+.iconxinzengyonghu:before {
+ content: "\e771";
+}
+
+.icondrag2:before {
+ content: "\e6ac";
+}
+
+.iconline-addcommodity:before {
+ content: "\e65c";
+}
+
+.iconline-achievement:before {
+ content: "\e65d";
+}
+
+.iconline-check:before {
+ content: "\e65e";
+}
+
+.iconline-coin:before {
+ content: "\e65f";
+}
+
+.iconline-applets:before {
+ content: "\e660";
+}
+
+.iconline-company:before {
+ content: "\e661";
+}
+
+.iconline-ancrown:before {
+ content: "\e662";
+}
+
+.iconline-label:before {
+ content: "\e665";
+}
+
+.iconline-order:before {
+ content: "\e667";
+}
+
+.iconline-purchase:before {
+ content: "\e669";
+}
+
+.iconline-service:before {
+ content: "\e66e";
+}
+
+.iconline-shop:before {
+ content: "\e66f";
+}
+
+.iconline-system:before {
+ content: "\e670";
+}
+
+.iconline-shipment:before {
+ content: "\e671";
+}
+
+.iconline-team:before {
+ content: "\e672";
+}
+
+.iconline-statistics:before {
+ content: "\e673";
+}
+
+.iconline-wallet:before {
+ content: "\e674";
+}
+
+.iconline-workset:before {
+ content: "\e675";
+}
+
+.iconline-organizational:before {
+ content: "\e6a2";
+}
+
+.iconline-shoppingcart:before {
+ content: "\e6a9";
+}
+
+.iconline-purchase1:before {
+ content: "\e6a5";
+}
+
+.iconline-template:before {
+ content: "\e6ab";
+}
+
+.iconmd-heart-empty:before {
+ content: "\e75f";
+}
+
+.iconios-remove-circle-outline:before {
+ content: "\e760";
+}
+
+.iconios-notifications-outline:before {
+ content: "\e761";
+}
+
+.iconios-resize:before {
+ content: "\e762";
+}
+
+.iconios-shuffle:before {
+ content: "\e763";
+}
+
+.iconios-return-left:before {
+ content: "\e764";
+}
+
+.iconios-swap:before {
+ content: "\e765";
+}
+
+.iconios-search:before {
+ content: "\e766";
+}
+
+.iconios-repeat:before {
+ content: "\e767";
+}
+
+.iconios-qr-scanner:before {
+ content: "\e768";
+}
+
+.iconios-trending-up:before {
+ content: "\e769";
+}
+
+.iconios-refresh:before {
+ content: "\e76a";
+}
+
+.iconios-crop:before {
+ content: "\e76b";
+}
+
+.iconios-female:before {
+ content: "\e76c";
+}
+
+.iconios-male:before {
+ content: "\e76d";
+}
+
+.iconmd-wallet:before {
+ content: "\e6e8";
+}
+
+.iconmd-train:before {
+ content: "\e6e9";
+}
+
+.iconmd-bookmarks:before {
+ content: "\e6ea";
+}
+
+.iconmd-basket:before {
+ content: "\e6eb";
+}
+
+.iconmd-build:before {
+ content: "\e6ec";
+}
+
+.iconmd-boat:before {
+ content: "\e6ed";
+}
+
+.iconmd-chatbubbles:before {
+ content: "\e6ee";
+}
+
+.iconmd-compass:before {
+ content: "\e6ef";
+}
+
+.iconmd-bowtie:before {
+ content: "\e6f0";
+}
+
+.iconmd-camera:before {
+ content: "\e6f1";
+}
+
+.iconmd-cloudy:before {
+ content: "\e6f2";
+}
+
+.iconmd-cafe:before {
+ content: "\e6f3";
+}
+
+.iconmd-document:before {
+ content: "\e6f4";
+}
+
+.iconmd-color-palette:before {
+ content: "\e6f5";
+}
+
+.iconmd-disc:before {
+ content: "\e6f6";
+}
+
+.iconmd-flask:before {
+ content: "\e6f7";
+}
+
+.iconmd-cube:before {
+ content: "\e6f8";
+}
+
+.iconmd-help-buoy:before {
+ content: "\e6f9";
+}
+
+.iconmd-cart:before {
+ content: "\e6fa";
+}
+
+.iconmd-chatboxes:before {
+ content: "\e6fb";
+}
+
+.iconmd-image:before {
+ content: "\e6fc";
+}
+
+.iconmd-ice-cream:before {
+ content: "\e6fd";
+}
+
+.iconmd-jet:before {
+ content: "\e6fe";
+}
+
+.iconmd-film:before {
+ content: "\e6ff";
+}
+
+.iconmd-cloudy-night:before {
+ content: "\e700";
+}
+
+.iconmd-flower:before {
+ content: "\e701";
+}
+
+.iconmd-nutrition:before {
+ content: "\e702";
+}
+
+.iconmd-medal:before {
+ content: "\e703";
+}
+
+.iconmd-cloud-circle:before {
+ content: "\e704";
+}
+
+.iconmd-contact:before {
+ content: "\e705";
+}
+
+.iconmd-microphone:before {
+ content: "\e706";
+}
+
+.iconmd-contrast:before {
+ content: "\e707";
+}
+
+.iconmd-person-add:before {
+ content: "\e708";
+}
+
+.iconmd-easel:before {
+ content: "\e709";
+}
+
+.iconmd-partly-sunny:before {
+ content: "\e70a";
+}
+
+.iconmd-outlet:before {
+ content: "\e70b";
+}
+
+.iconmd-people:before {
+ content: "\e70c";
+}
+
+.iconmd-heart-dislike:before {
+ content: "\e70d";
+}
+
+.iconmd-moon:before {
+ content: "\e70e";
+}
+
+.iconmd-laptop:before {
+ content: "\e70f";
+}
+
+.iconmd-heart:before {
+ content: "\e710";
+}
+
+.iconmd-flame:before {
+ content: "\e711";
+}
+
+.iconmd-lock:before {
+ content: "\e712";
+}
+
+.iconmd-musical-note:before {
+ content: "\e713";
+}
+
+.iconmd-information-circle:before {
+ content: "\e714";
+}
+
+.iconmd-help-circle:before {
+ content: "\e715";
+}
+
+.iconmd-mail:before {
+ content: "\e716";
+}
+
+.iconmd-journal:before {
+ content: "\e717";
+}
+
+.iconmd-mail-unread:before {
+ content: "\e718";
+}
+
+.iconmd-notifications-off:before {
+ content: "\e719";
+}
+
+.iconmd-notifications:before {
+ content: "\e71a";
+}
+
+.iconmd-nuclear:before {
+ content: "\e71b";
+}
+
+.iconmd-medkit:before {
+ content: "\e71c";
+}
+
+.iconmd-paw:before {
+ content: "\e71d";
+}
+
+.iconmd-person:before {
+ content: "\e71e";
+}
+
+.iconios-notifications-off:before {
+ content: "\e71f";
+}
+
+.iconios-notifications:before {
+ content: "\e720";
+}
+
+.iconios-pie:before {
+ content: "\e721";
+}
+
+.iconios-rocket:before {
+ content: "\e722";
+}
+
+.iconios-people:before {
+ content: "\e723";
+}
+
+.iconios-save:before {
+ content: "\e724";
+}
+
+.iconios-school:before {
+ content: "\e725";
+}
+
+.iconios-ribbon:before {
+ content: "\e726";
+}
+
+.iconios-stopwatch:before {
+ content: "\e727";
+}
+
+.iconios-print:before {
+ content: "\e728";
+}
+
+.iconios-refresh-circle:before {
+ content: "\e729";
+}
+
+.iconios-switch:before {
+ content: "\e72a";
+}
+
+.iconios-warning:before {
+ content: "\e72b";
+}
+
+.iconmd-albums:before {
+ content: "\e72c";
+}
+
+.iconlogo-html:before {
+ content: "\e72d";
+}
+
+.iconlogo-chrome:before {
+ content: "\e72e";
+}
+
+.iconios-tennisball:before {
+ content: "\e72f";
+}
+
+.iconios-umbrella:before {
+ content: "\e730";
+}
+
+.iconlogo-rss:before {
+ content: "\e731";
+}
+
+.iconlogo-octocat:before {
+ content: "\e732";
+}
+
+.iconlogo-slack:before {
+ content: "\e733";
+}
+
+.iconlogo-game-controller-b:before {
+ content: "\e734";
+}
+
+.iconlogo-windows:before {
+ content: "\e735";
+}
+
+.iconios-add-circle:before {
+ content: "\e736";
+}
+
+.iconios-archive:before {
+ content: "\e737";
+}
+
+.iconios-aperture:before {
+ content: "\e738";
+}
+
+.iconios-appstore:before {
+ content: "\e739";
+}
+
+.iconios-alarm:before {
+ content: "\e73a";
+}
+
+.iconios-apps:before {
+ content: "\e73b";
+}
+
+.iconios-beaker:before {
+ content: "\e73c";
+}
+
+.iconios-albums:before {
+ content: "\e73d";
+}
+
+.iconios-briefcase:before {
+ content: "\e73e";
+}
+
+.iconios-bed:before {
+ content: "\e73f";
+}
+
+.iconios-bookmarks:before {
+ content: "\e740";
+}
+
+.iconios-book:before {
+ content: "\e741";
+}
+
+.iconios-camera:before {
+ content: "\e742";
+}
+
+.iconios-boat:before {
+ content: "\e743";
+}
+
+.iconios-bulb:before {
+ content: "\e744";
+}
+
+.iconios-cash:before {
+ content: "\e745";
+}
+
+.iconios-close-circle-outline:before {
+ content: "\e746";
+}
+
+.iconios-checkbox-outline:before {
+ content: "\e747";
+}
+
+.iconios-checkmark-circle:before {
+ content: "\e748";
+}
+
+.iconios-close-circle:before {
+ content: "\e749";
+}
+
+.iconios-cloud-upload:before {
+ content: "\e74a";
+}
+
+.iconios-cloud:before {
+ content: "\e74b";
+}
+
+.iconios-cloud-done:before {
+ content: "\e74c";
+}
+
+.iconios-contact:before {
+ content: "\e74d";
+}
+
+.iconios-cloud-download:before {
+ content: "\e74e";
+}
+
+.iconios-clipboard:before {
+ content: "\e74f";
+}
+
+.iconios-eye-off:before {
+ content: "\e750";
+}
+
+.iconios-copy:before {
+ content: "\e751";
+}
+
+.iconios-eye:before {
+ content: "\e752";
+}
+
+.iconios-filing:before {
+ content: "\e753";
+}
+
+.iconios-folder-open:before {
+ content: "\e754";
+}
+
+.iconios-gift:before {
+ content: "\e755";
+}
+
+.iconios-funnel:before {
+ content: "\e756";
+}
+
+.iconios-flag:before {
+ content: "\e757";
+}
+
+.iconios-home:before {
+ content: "\e758";
+}
+
+.iconios-journal:before {
+ content: "\e759";
+}
+
+.iconios-folder:before {
+ content: "\e75a";
+}
+
+.iconios-image:before {
+ content: "\e75b";
+}
+
+.iconios-mail:before {
+ content: "\e75c";
+}
+
+.iconios-map:before {
+ content: "\e75d";
+}
+
+.iconios-medkit:before {
+ content: "\e75e";
+}
+
+.iconmd-phone-portrait:before {
+ content: "\e6c2";
+}
+
+.iconmd-photos:before {
+ content: "\e6c3";
+}
+
+.iconmd-pin:before {
+ content: "\e6c4";
+}
+
+.iconmd-pie:before {
+ content: "\e6c5";
+}
+
+.iconmd-podium:before {
+ content: "\e6c6";
+}
+
+.iconmd-pint:before {
+ content: "\e6c7";
+}
+
+.iconmd-phone-landscape:before {
+ content: "\e6c8";
+}
+
+.iconmd-play-circle:before {
+ content: "\e6c9";
+}
+
+.iconmd-pizza:before {
+ content: "\e6ca";
+}
+
+.iconmd-print:before {
+ content: "\e6cb";
+}
+
+.iconmd-pricetags:before {
+ content: "\e6cc";
+}
+
+.iconmd-pricetag:before {
+ content: "\e6cd";
+}
+
+.iconmd-remove-circle:before {
+ content: "\e6ce";
+}
+
+.iconmd-refresh-circle:before {
+ content: "\e6cf";
+}
+
+.iconmd-school:before {
+ content: "\e6d0";
+}
+
+.iconmd-rainy:before {
+ content: "\e6d1";
+}
+
+.iconmd-rocket:before {
+ content: "\e6d2";
+}
+
+.iconmd-reverse-camera:before {
+ content: "\e6d3";
+}
+
+.iconmd-send:before {
+ content: "\e6d4";
+}
+
+.iconmd-share-alt:before {
+ content: "\e6d5";
+}
+
+.iconmd-star:before {
+ content: "\e6d6";
+}
+
+.iconmd-subway:before {
+ content: "\e6d7";
+}
+
+.iconmd-ribbon:before {
+ content: "\e6d8";
+}
+
+.iconmd-shirt:before {
+ content: "\e6d9";
+}
+
+.iconmd-snow:before {
+ content: "\e6da";
+}
+
+.iconmd-rose:before {
+ content: "\e6db";
+}
+
+.iconmd-save:before {
+ content: "\e6dc";
+}
+
+.iconmd-thermometer:before {
+ content: "\e6dd";
+}
+
+.iconmd-thunderstorm:before {
+ content: "\e6de";
+}
+
+.iconmd-settings:before {
+ content: "\e6df";
+}
+
+.iconmd-trash:before {
+ content: "\e6e0";
+}
+
+.iconmd-thumbs-down:before {
+ content: "\e6e1";
+}
+
+.iconmd-trophy:before {
+ content: "\e6e2";
+}
+
+.iconmd-warning:before {
+ content: "\e6e3";
+}
+
+.iconmd-thumbs-up:before {
+ content: "\e6e4";
+}
+
+.iconmd-watch:before {
+ content: "\e6e5";
+}
+
+.iconmd-umbrella:before {
+ content: "\e6e6";
+}
+
+.iconmd-tennisball:before {
+ content: "\e6e7";
+}
+
+.iconchengjiaoyonghushu:before {
+ content: "\e63d";
+}
+
+.iconchongzhijianshu:before {
+ content: "\e63e";
+}
+
+.iconchengbenjine:before {
+ content: "\e640";
+}
+
+.iconfufeihuiyuanshu:before {
+ content: "\e641";
+}
+
+.iconchongzhiyonghushu:before {
+ content: "\e643";
+}
+
+.icongoumaihuiyuanjine:before {
+ content: "\e644";
+}
+
+.iconfangke-zhifuzhuanhuashuai:before {
+ content: "\e645";
+}
+
+.iconjingzengyonghu:before {
+ content: "\e646";
+}
+
+.iconkedanjia:before {
+ content: "\e647";
+}
+
+.iconjiagoujianshu:before {
+ content: "\e648";
+}
+
+.iconleijichongzhiyonghu:before {
+ content: "\e649";
+}
+
+.iconleijichengjiaoyonghu:before {
+ content: "\e64a";
+}
+
+.iconleijihuiyuanshu:before {
+ content: "\e64b";
+}
+
+.iconshangpinliulanliang:before {
+ content: "\e64c";
+}
+
+.iconshangpinzhifujine:before {
+ content: "\e64d";
+}
+
+.icontuikuanjianshu:before {
+ content: "\e64e";
+}
+
+.iconleijiguanzhuyonghu:before {
+ content: "\e64f";
+}
+
+.icontuikuan:before {
+ content: "\e650";
+}
+
+.iconxiadanjianshu:before {
+ content: "\e651";
+}
+
+.iconleijiquguanyonghu:before {
+ content: "\e652";
+}
+
+.iconleijiyonghu:before {
+ content: "\e653";
+}
+
+.iconxinzengquguanyonghu:before {
+ content: "\e654";
+}
+
+.iconshangpinfangkeshu:before {
+ content: "\e655";
+}
+
+.iconxinzengyonghushu:before {
+ content: "\e656";
+}
+
+.iconxinzengguanzhuyonghu:before {
+ content: "\e657";
+}
+
+.iconzhifujine:before {
+ content: "\e658";
+}
+
+.iconyingyee:before {
+ content: "\e659";
+}
+
+.iconzhifujianshu:before {
+ content: "\e65a";
+}
+
+.iconzhichujine:before {
+ content: "\e65b";
+}
+
+.iconfangwenliang:before {
+ content: "\e642";
+}
+
+.iconfangkeshu:before {
+ content: "\e63f";
+}
+
+.iconjiaoyijine:before {
+ content: "\e67a";
+}
+
+.iconyuezhifujine:before {
+ content: "\e67b";
+}
+
+.iconzhifuyongjinjine:before {
+ content: "\e67c";
+}
+
+.iconxianxiashouyinjine:before {
+ content: "\e67d";
+}
diff --git a/src/assets/iconfont/iconfont.eot b/src/assets/iconfont/iconfont.eot
new file mode 100644
index 0000000..aa49d3f
--- /dev/null
+++ b/src/assets/iconfont/iconfont.eot
Binary files differ
diff --git a/src/assets/iconfont/iconfont.js b/src/assets/iconfont/iconfont.js
new file mode 100644
index 0000000..267138d
--- /dev/null
+++ b/src/assets/iconfont/iconfont.js
@@ -0,0 +1 @@
+!function(c){var h,l,a,o,i,s,t='<svg><symbol id="icondrag2" viewBox="0 0 1024 1024"><path d="M315.125 95.75a33.75 33.75 0 1 0 67.5 0 33.75 33.75 0 1 0-67.5 0zM315.125 236.375a33.75 33.75 0 1 0 67.5 0 33.75 33.75 0 1 0-67.5 0zM315.125 371.375a33.75 33.75 0 1 0 67.5 0 33.75 33.75 0 1 0-67.5 0zM315.125 512a33.75 33.75 0 1 0 67.5 0 33.75 33.75 0 1 0-67.5 0zM315.125 652.625a33.75 33.75 0 1 0 67.5 0 33.75 33.75 0 1 0-67.5 0zM315.125 787.625a33.75 33.75 0 1 0 67.5 0 33.75 33.75 0 1 0-67.5 0zM315.125 928.25a33.75 33.75 0 1 0 67.5 0 33.75 33.75 0 1 0-67.5 0zM478.25 95.75a33.75 33.75 0 1 0 67.5 0 33.75 33.75 0 1 0-67.5 0zM478.25 236.375a33.75 33.75 0 1 0 67.5 0 33.75 33.75 0 1 0-67.5 0zM478.25 371.375a33.75 33.75 0 1 0 67.5 0 33.75 33.75 0 1 0-67.5 0zM478.25 512a33.75 33.75 0 1 0 67.5 0 33.75 33.75 0 1 0-67.5 0zM478.25 652.625a33.75 33.75 0 1 0 67.5 0 33.75 33.75 0 1 0-67.5 0zM478.25 787.625a33.75 33.75 0 1 0 67.5 0 33.75 33.75 0 1 0-67.5 0zM478.25 928.25a33.75 33.75 0 1 0 67.5 0 33.75 33.75 0 1 0-67.5 0zM641.375 95.75a33.75 33.75 0 1 0 67.5 0 33.75 33.75 0 1 0-67.5 0zM641.375 236.375a33.75 33.75 0 1 0 67.5 0 33.75 33.75 0 1 0-67.5 0zM641.375 371.375a33.75 33.75 0 1 0 67.5 0 33.75 33.75 0 1 0-67.5 0zM641.375 512a33.75 33.75 0 1 0 67.5 0 33.75 33.75 0 1 0-67.5 0zM641.375 652.625a33.75 33.75 0 1 0 67.5 0 33.75 33.75 0 1 0-67.5 0zM641.375 787.625a33.75 33.75 0 1 0 67.5 0 33.75 33.75 0 1 0-67.5 0zM641.375 928.25a33.75 33.75 0 1 0 67.5 0 33.75 33.75 0 1 0-67.5 0z" fill="#8a8a8a" ></path></symbol><symbol id="iconline-addcommodity" viewBox="0 0 1024 1024"><path d="M832 96H192c-52.9 0-96 43.1-96 96v640c0 52.9 43.1 96 96 96h320c17.7 0 32-14.3 32-32s-14.3-32-32-32H192c-17.6 0-32-14.4-32-32V192c0-17.6 14.4-32 32-32h640c17.6 0 32 14.4 32 32v320c0 17.7 14.3 32 32 32s32-14.3 32-32V192c0-52.9-43.1-96-96-96z" ></path><path d="M338.2 272c0-26.5-21.5-48-48-48s-48 21.5-48 48c0 24.3 18 44.3 41.4 47.5 22.5 29.2 50.4 53.9 82.3 72.7C410 418.3 460.5 432 512 432s102-13.7 146.1-39.7c31.8-18.8 59.8-43.6 82.3-72.7 23.4-3.2 41.4-23.3 41.4-47.5 0-26.5-21.5-48-48-48s-48 21.5-48 48c0 4 0.5 7.9 1.4 11.6-17.1 21.4-37.9 39.6-61.6 53.5C591.3 357.3 552 368 512 368s-79.3-10.7-113.6-30.9c-23.7-13.9-44.5-32.2-61.6-53.5 1-3.7 1.4-7.6 1.4-11.6zM896 759h-73v-73c0-17.7-14.3-32-32-32s-32 14.3-32 32v73h-73c-17.7 0-32 14.3-32 32s14.3 32 32 32h73v73c0 17.7 14.3 32 32 32s32-14.3 32-32v-73h73c17.7 0 32-14.3 32-32s-14.3-32-32-32z" ></path></symbol><symbol id="iconline-achievement" viewBox="0 0 1024 1024"><path d="M825 96H185c-52.935 0-96 43.065-96 96v640c0 52.935 43.065 96 96 96h640c52.935 0 96-43.065 96-96V192c0-52.935-43.065-96-96-96z m32 736c0 17.645-14.355 32-32 32H185c-17.645 0-32-14.355-32-32V192c0-17.645 14.355-32 32-32h640c17.645 0 32 14.355 32 32z" ></path><path d="M792.906 253.671c-0.02-0.271-0.035-0.542-0.062-0.812-0.03-0.313-0.072-0.622-0.112-0.932-0.026-0.204-0.047-0.407-0.078-0.61a29.96 29.96 0 0 0-0.169-1.003c-0.032-0.176-0.06-0.353-0.094-0.529-0.066-0.339-0.143-0.673-0.22-1.008-0.04-0.172-0.077-0.345-0.12-0.517-0.081-0.324-0.17-0.645-0.26-0.965-0.052-0.185-0.102-0.369-0.157-0.553-0.09-0.297-0.188-0.592-0.286-0.886-0.069-0.207-0.137-0.414-0.21-0.62-0.094-0.263-0.195-0.523-0.295-0.783-0.091-0.235-0.181-0.47-0.277-0.703-0.094-0.225-0.193-0.447-0.292-0.67-0.116-0.262-0.231-0.524-0.355-0.785-0.09-0.189-0.185-0.375-0.278-0.562a31.227 31.227 0 0 0-0.438-0.854c-0.085-0.159-0.175-0.314-0.263-0.472-0.168-0.3-0.337-0.6-0.515-0.896-0.085-0.142-0.175-0.28-0.262-0.42a31.728 31.728 0 0 0-0.576-0.898c-0.092-0.138-0.189-0.271-0.284-0.407-0.201-0.29-0.402-0.579-0.614-0.863-0.111-0.149-0.227-0.293-0.34-0.439-0.203-0.263-0.404-0.527-0.617-0.785-0.154-0.188-0.316-0.369-0.475-0.553-0.181-0.21-0.357-0.422-0.545-0.629-0.299-0.33-0.608-0.651-0.921-0.969-0.056-0.057-0.108-0.117-0.165-0.173-0.054-0.054-0.111-0.104-0.166-0.158-0.32-0.315-0.644-0.627-0.977-0.929-0.204-0.184-0.413-0.358-0.619-0.536-0.188-0.162-0.372-0.327-0.563-0.484-0.254-0.209-0.515-0.408-0.774-0.608-0.15-0.116-0.298-0.235-0.451-0.349a30.849 30.849 0 0 0-0.854-0.607c-0.139-0.097-0.276-0.196-0.417-0.29a29.791 29.791 0 0 0-0.89-0.57c-0.143-0.089-0.284-0.181-0.429-0.268a31.35 31.35 0 0 0-0.888-0.511c-0.16-0.089-0.318-0.181-0.48-0.268-0.281-0.15-0.564-0.293-0.848-0.435-0.189-0.094-0.376-0.19-0.567-0.28-0.26-0.123-0.521-0.239-0.784-0.354-0.223-0.098-0.445-0.198-0.67-0.291-0.234-0.097-0.471-0.188-0.707-0.279-0.258-0.1-0.516-0.2-0.777-0.293-0.208-0.075-0.418-0.143-0.628-0.213a33.169 33.169 0 0 0-0.877-0.283c-0.187-0.056-0.375-0.107-0.563-0.16a30.362 30.362 0 0 0-0.953-0.257c-0.178-0.044-0.357-0.083-0.536-0.124a30.06 30.06 0 0 0-0.99-0.216c-0.183-0.036-0.367-0.065-0.55-0.099-0.327-0.058-0.653-0.117-0.983-0.166-0.213-0.032-0.428-0.055-0.642-0.082-0.299-0.038-0.597-0.079-0.898-0.108-0.29-0.029-0.581-0.046-0.872-0.066-0.229-0.016-0.457-0.038-0.688-0.049a32.743 32.743 0 0 0-1.598-0.04H569c-17.673 0-32 14.327-32 32 0 17.673 14.327 32 32 32h114.745L541 430.745l-68.872-68.872c-12.498-12.497-32.758-12.497-45.256 0l-200.5 200.5c-12.496 12.497-12.496 32.759 0 45.256C232.621 613.876 240.811 617 249 617s16.379-3.124 22.628-9.372L449.5 429.755l68.872 68.872C524.621 504.876 532.811 508 541 508s16.379-3.124 22.628-9.373L729 333.255V448c0 17.673 14.327 32 32 32s32-14.327 32-32V255.999c0-0.527-0.014-1.055-0.04-1.581-0.012-0.251-0.036-0.498-0.054-0.747zM761 736H249c-17.673 0-32 14.327-32 32 0 17.673 14.327 32 32 32h512c17.673 0 32-14.327 32-32 0-17.673-14.327-32-32-32z" ></path></symbol><symbol id="iconline-check" viewBox="0 0 1024 1024"><path d="M416 896H224c-17.6 0-32-14.4-32-32V160c0-17.6 14.4-32 32-32h576c17.6 0 32 14.4 32 32v256c0 17.7 14.3 32 32 32s32-14.3 32-32V160c0-52.9-43.1-96-96-96H224c-52.9 0-96 43.1-96 96v704c0 52.9 43.1 96 96 96h192c17.7 0 32-14.3 32-32s-14.3-32-32-32z" ></path><path d="M704 288c0-17.7-14.3-32-32-32H352c-17.7 0-32 14.3-32 32s14.3 32 32 32h320c17.7 0 32-14.3 32-32zM352 480c-17.7 0-32 14.3-32 32s14.3 32 32 32h192c17.7 0 32-14.3 32-32s-14.3-32-32-32H352zM950.6 649.4c-12.5-12.5-32.8-12.5-45.3 0L672 882.7 534.6 745.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160c4.7 4.7 10.5 7.6 16.5 8.8 2 0.4 4.1 0.6 6.1 0.6s4.1-0.2 6.1-0.6c6.1-1.2 11.8-4.1 16.5-8.8l256-256c12.6-12.6 12.6-32.8 0.1-45.3z" ></path></symbol><symbol id="iconline-coin" viewBox="0 0 1024 1024"><path d="M924.781 337.608c-22.566-53.352-54.864-101.259-95.997-142.393-41.134-41.133-89.041-73.431-142.393-95.997C631.14 75.85 572.465 64 512 64S392.86 75.85 337.608 99.219c-53.352 22.565-101.259 54.864-142.393 95.997-41.133 41.133-73.431 89.041-95.997 142.392C75.85 392.861 64 451.535 64 512c0 60.466 11.85 119.14 35.219 174.392 22.565 53.352 54.864 101.26 95.997 142.393s89.041 73.431 142.392 95.997C392.861 948.15 451.535 960 512 960c60.466 0 119.14-11.85 174.392-35.219 53.352-22.566 101.26-54.864 142.393-95.997 41.133-41.134 73.431-89.041 95.997-142.393C948.15 631.14 960 572.465 960 512s-11.85-119.14-35.219-174.392zM783.529 783.529C711.001 856.057 614.57 896 512 896s-199.001-39.943-271.529-112.471S128 614.57 128 512s39.943-199 112.471-271.529C312.999 167.943 409.43 128 512 128s199.001 39.943 271.529 112.471S896 409.43 896 512s-39.943 199.001-112.471 271.529z" ></path><path d="M656 496c17.673 0 32-14.327 32-32s-14.327-32-32-32h-98.496l105.623-105.623c12.497-12.497 12.497-32.758 0-45.255-12.496-12.497-32.758-12.497-45.254 0L512 386.995 406.627 281.623c-12.497-12.497-32.758-12.497-45.255 0s-12.497 32.758 0 45.255L466.495 432H368c-17.673 0-32 14.327-32 32s14.327 32 32 32h112v64H368c-17.673 0-32 14.327-32 32s14.327 32 32 32h112v96.25c0 17.673 14.327 32 32 32 17.673 0 32-14.327 32-32V624h112c17.673 0 32-14.327 32-32s-14.327-32-32-32H544v-64h112z" ></path></symbol><symbol id="iconline-applets" viewBox="0 0 1024 1024"><path d="M869.276 256.694L554.957 75.432c-26.509-15.243-59.29-15.243-85.799 0L154.84 256.694c-26.39 15.243-42.84 43.72-42.84 74.088v362.405c0 30.486 16.45 58.845 42.84 74.206l314.319 181.143c13.254 7.681 28.047 11.462 42.84 11.462s29.704-3.781 42.84-11.462l314.318-181.261c26.391-15.243 42.84-43.72 42.84-74.088V330.782c0.237-30.486-16.212-58.845-42.721-74.088z m-16.213 74.088v171.336l-26.39-15.243-256.095-147.468 28.047-16.188 133.846-77.16 107.219 61.799c8.284 4.726 13.373 13.47 13.373 22.924zM512.117 651.12L270.934 512.161l240.473-138.605L752.59 512.634 512.117 651.12zM184.426 307.858l314.319-181.261c4.142-2.363 8.639-3.545 13.254-3.545s9.231 1.182 13.254 3.545l147.929 85.313-502.01 289.498V330.782c-0.001-9.453 5.088-18.197 13.254-22.924z m-13.255 385.446V569.588l40.592-23.396 241.183 139.077-161.065 92.876-107.337-61.917c-8.284-4.727-13.373-13.471-13.373-22.924z m668.519 22.924L525.371 897.489c-8.166 4.727-18.343 4.727-26.627 0l-147.81-85.195 142.84-82.359 27.456-15.834 290.413-167.436 41.183 23.751v122.889c0.237 9.452-4.852 18.196-13.136 22.923z" ></path></symbol><symbol id="iconline-company" viewBox="0 0 1024 1024"><path d="M832 352H608V192c0-52.935-43.065-96-96-96H192c-52.935 0-96 43.065-96 96v640c0 52.935 43.065 96 96 96h640c52.935 0 96-43.065 96-96V448c0-52.935-43.065-96-96-96zM544 864H192c-17.645 0-32-14.355-32-32V192c0-17.645 14.355-32 32-32h320c17.645 0 32 14.355 32 32v672z m320-32c0 17.645-14.355 32-32 32H608V416h224c17.645 0 32 14.355 32 32v384z" ></path><path d="M768 512h-64c-17.673 0-32 14.327-32 32s14.327 32 32 32h64c17.673 0 32-14.327 32-32s-14.327-32-32-32zM768 704h-64c-17.673 0-32 14.327-32 32s14.327 32 32 32h64c17.673 0 32-14.327 32-32s-14.327-32-32-32zM416 480H288c-17.673 0-32 14.327-32 32 0 17.673 14.327 32 32 32h128c17.673 0 32-14.327 32-32 0-17.673-14.327-32-32-32zM416 288H288c-17.673 0-32 14.327-32 32s14.327 32 32 32h128c17.673 0 32-14.327 32-32s-14.327-32-32-32zM416 672H288c-17.673 0-32 14.327-32 32s14.327 32 32 32h128c17.673 0 32-14.327 32-32s-14.327-32-32-32z" ></path></symbol><symbol id="iconline-ancrown" viewBox="0 0 1024 1024"><path d="M935.016 351.844c-20.479-17.255-48.429-21.38-72.947-10.719l-143.824 62.367-91.254-109.815c8.447-15.248 13.815-32.065 15.767-49.734 4.342-38.947-8.397-77.514-34.967-105.842-25.324-26.979-59.517-41.932-96.47-42.101-36.836 0.026-71.079 14.624-96.404 41.106-26.924 28.151-40.049 66.71-35.977 105.792 1.885 18.023 7.286 35.177 15.886 50.72l-91.221 109.789-141.451-61.903c-24.568-10.744-52.552-6.696-73.081 10.568-20.512 17.255-29.363 44.184-23.087 70.278l108.671 451.843C182.262 905.87 210.28 928 242.79 928h538.357c32.51 0 60.528-22.13 68.133-53.792l108.739-452.146c6.26-26.059-2.558-52.963-23.003-70.218zM781.146 858.91l-539.484-0.894-108.671-451.859 1.599-1.332 165.161 72.277c14.051 6.173 30.44 2.244 40.267-9.556l124.675-150.051c10.971-13.216 10.584-32.512-0.926-45.272-9.356-10.373-14.825-22.653-16.272-36.492-1.952-18.833 4.292-37.353 17.164-50.805 12.401-12.972 28.556-19.828 46.528-19.836 17.686 0.084 34.177 7.312 46.41 20.342 12.688 13.536 18.762 32.065 16.676 50.855-1.497 13.451-7.101 25.883-16.205 35.936-11.544 12.752-11.948 32.082-0.96 45.323l124.674 150.026c9.794 11.765 26.15 15.712 40.167 9.59L889.43 404.53l-13.681-31.703 15.263 33.043-109.866 453.04z" ></path><path d="M322.766 587.142c-3.846-17.25-20.943-28.117-38.196-24.271-17.25 3.846-28.116 20.946-24.271 38.196l35 157c3.323 14.906 16.542 25.044 31.204 25.044a32.16 32.16 0 0 0 6.993-0.773c17.25-3.846 28.116-20.946 24.271-38.196l-35.001-157z" ></path></symbol><symbol id="iconline-label" viewBox="0 0 1024 1024"><path d="M773.818 64H250.182C200.456 64 160 107.065 160 160v768c0 0.133 0.008 0.264 0.01 0.397 0.004 0.342 0.011 0.684 0.026 1.027 0.009 0.195 0.021 0.389 0.033 0.584 0.021 0.333 0.045 0.666 0.076 0.999 0.019 0.206 0.042 0.411 0.065 0.616a29.602 29.602 0 0 0 0.221 1.598 32.635 32.635 0 0 0 0.488 2.393 29.106 29.106 0 0 0 0.406 1.5c0.073 0.245 0.148 0.49 0.226 0.733a34.617 34.617 0 0 0 0.804 2.206 32.265 32.265 0 0 0 0.983 2.18 31.832 31.832 0 0 0 2.472 4.148c0.113 0.16 0.225 0.321 0.341 0.48 0.201 0.276 0.409 0.546 0.619 0.815 0.082 0.105 0.158 0.214 0.242 0.318 0.037 0.046 0.077 0.088 0.114 0.134 0.291 0.359 0.59 0.71 0.896 1.055 0.086 0.098 0.17 0.2 0.257 0.297 0.367 0.406 0.745 0.802 1.133 1.188 0.205 0.205 0.417 0.399 0.627 0.598 0.189 0.179 0.377 0.359 0.571 0.533 0.249 0.224 0.502 0.44 0.757 0.655a31.654 31.654 0 0 0 1.312 1.053c0.154 0.117 0.31 0.23 0.465 0.344 0.288 0.21 0.577 0.419 0.871 0.619 0.158 0.107 0.319 0.209 0.479 0.314 0.297 0.194 0.592 0.39 0.894 0.573 0.213 0.129 0.432 0.249 0.648 0.374 0.392 0.226 0.786 0.444 1.186 0.652 0.344 0.18 0.689 0.357 1.04 0.525 0.152 0.072 0.307 0.138 0.46 0.208 0.374 0.171 0.75 0.337 1.132 0.494 0.133 0.055 0.268 0.106 0.402 0.159 0.41 0.162 0.823 0.316 1.241 0.462 0.112 0.039 0.225 0.076 0.337 0.114 0.445 0.149 0.895 0.289 1.348 0.418 0.092 0.026 0.183 0.053 0.275 0.078 0.474 0.131 0.952 0.251 1.435 0.36 0.078 0.018 0.155 0.037 0.233 0.054 0.492 0.108 0.989 0.203 1.489 0.288l0.213 0.038c0.498 0.081 0.999 0.149 1.504 0.207 0.074 0.009 0.148 0.02 0.222 0.028 0.488 0.052 0.979 0.091 1.473 0.121 0.089 0.005 0.178 0.015 0.267 0.02 0.499 0.026 1.002 0.038 1.508 0.041 0.074 0 0.147 0.006 0.221 0.006 0.51 0 1.02-0.016 1.53-0.04 0.113-0.005 0.224-0.014 0.337-0.021 0.391-0.023 0.782-0.052 1.173-0.089 0.149-0.014 0.298-0.03 0.447-0.046 0.357-0.039 0.713-0.085 1.07-0.136 0.151-0.022 0.303-0.042 0.453-0.066 0.386-0.061 0.772-0.131 1.157-0.207 0.105-0.021 0.211-0.038 0.316-0.059 0.477-0.099 0.953-0.208 1.427-0.329 0.138-0.035 0.275-0.076 0.412-0.113 0.333-0.09 0.666-0.182 0.997-0.283 0.186-0.057 0.369-0.118 0.553-0.178a33.113 33.113 0 0 0 1.42-0.498 37.055 37.055 0 0 0 1.372-0.554c0.26-0.112 0.518-0.231 0.776-0.351 0.188-0.087 0.377-0.173 0.563-0.263 0.262-0.128 0.522-0.265 0.782-0.401 0.175-0.091 0.352-0.179 0.524-0.273a32.477 32.477 0 0 0 1.857-1.107c0.196-0.125 0.393-0.246 0.586-0.376 0.226-0.151 0.447-0.31 0.669-0.467 0.177-0.125 0.355-0.247 0.529-0.377 0.215-0.158 0.424-0.322 0.635-0.486 0.128-0.099 0.258-0.193 0.385-0.294L512 712.979l300.01 240.008c0.129 0.103 0.261 0.199 0.391 0.299 0.208 0.161 0.415 0.323 0.626 0.479 0.18 0.133 0.364 0.26 0.546 0.388 0.216 0.153 0.43 0.307 0.651 0.455 0.215 0.144 0.434 0.279 0.651 0.417 0.243 0.154 0.486 0.309 0.733 0.457 0.354 0.212 0.71 0.418 1.069 0.615 0.158 0.086 0.319 0.166 0.478 0.249 0.276 0.145 0.552 0.289 0.831 0.426 0.174 0.085 0.351 0.165 0.527 0.247 0.271 0.126 0.542 0.251 0.815 0.369a32.976 32.976 0 0 0 1.376 0.555 27.915 27.915 0 0 0 1.427 0.499c0.173 0.056 0.345 0.114 0.519 0.167 0.35 0.107 0.701 0.205 1.053 0.299 0.12 0.032 0.238 0.068 0.358 0.099 0.479 0.122 0.96 0.233 1.442 0.333 0.094 0.019 0.189 0.035 0.283 0.053 0.395 0.078 0.791 0.149 1.188 0.212 0.146 0.023 0.293 0.043 0.44 0.064a30.394 30.394 0 0 0 1.52 0.182c0.393 0.037 0.786 0.067 1.179 0.09l0.333 0.021c0.51 0.024 1.02 0.04 1.531 0.04 0.074 0 0.147-0.006 0.221-0.006a32.804 32.804 0 0 0 1.508-0.041c0.088-0.005 0.176-0.015 0.264-0.02 0.495-0.03 0.988-0.069 1.477-0.121 0.073-0.008 0.145-0.019 0.218-0.028 0.507-0.058 1.01-0.126 1.509-0.207 0.069-0.011 0.138-0.025 0.207-0.037a30.863 30.863 0 0 0 1.496-0.29l0.227-0.052c0.485-0.11 0.965-0.23 1.441-0.362l0.269-0.076a31.245 31.245 0 0 0 2.934-0.996c0.132-0.052 0.265-0.103 0.397-0.157 0.383-0.157 0.761-0.324 1.136-0.496 0.152-0.069 0.306-0.135 0.457-0.207 0.351-0.167 0.695-0.345 1.039-0.524 0.409-0.213 0.812-0.437 1.213-0.668 0.207-0.12 0.417-0.234 0.621-0.358 0.305-0.185 0.603-0.382 0.902-0.578 0.157-0.103 0.315-0.202 0.47-0.308 0.296-0.201 0.587-0.412 0.878-0.624 0.153-0.112 0.307-0.224 0.458-0.338a32.182 32.182 0 0 0 1.311-1.052c0.256-0.216 0.511-0.434 0.762-0.66 0.192-0.173 0.378-0.351 0.565-0.528 0.211-0.2 0.425-0.396 0.631-0.602 0.388-0.386 0.765-0.782 1.133-1.188 0.085-0.094 0.166-0.194 0.251-0.289 0.309-0.349 0.612-0.704 0.906-1.067 0.036-0.044 0.074-0.085 0.109-0.129 0.08-0.101 0.153-0.205 0.232-0.306a24.214 24.214 0 0 0 0.961-1.296c0.196-0.278 0.388-0.558 0.575-0.843 0.111-0.168 0.218-0.338 0.325-0.508a32.63 32.63 0 0 0 0.828-1.389 33.284 33.284 0 0 0 1.118-2.183 33.498 33.498 0 0 0 1.171-2.88 28.95 28.95 0 0 0 0.478-1.48 30.562 30.562 0 0 0 0.736-3.016 32.26 32.26 0 0 0 0.517-4.085c0.012-0.193 0.024-0.386 0.033-0.581 0.015-0.344 0.022-0.688 0.026-1.032 0.002-0.131 0.01-0.261 0.01-0.393V160c0.003-52.935-40.452-96-90.179-96zM224 160c0-17.645 11.745-32 26.182-32h523.637C788.255 128 800 142.355 800 160v701.421L532.466 647.394c-0.048-0.04-0.098-0.077-0.146-0.117l-0.331-0.264c-0.031-0.025-0.063-0.047-0.094-0.071a31.42 31.42 0 0 0-1.162-0.882l-0.141-0.1c-0.384-0.274-0.772-0.54-1.166-0.795l-0.23-0.147a31.111 31.111 0 0 0-1.074-0.656c-0.128-0.075-0.257-0.148-0.386-0.221a34.642 34.642 0 0 0-1.495-0.794 37.286 37.286 0 0 0-1.515-0.705 29.802 29.802 0 0 0-1.957-0.772c-0.36-0.129-0.721-0.251-1.084-0.366l-0.326-0.101c-0.394-0.12-0.789-0.234-1.186-0.338l-0.266-0.068a31.222 31.222 0 0 0-1.237-0.29l-0.264-0.054a32.398 32.398 0 0 0-2.715-0.434c-0.141-0.016-0.283-0.03-0.424-0.045a31.332 31.332 0 0 0-1.056-0.092c-0.189-0.013-0.379-0.022-0.568-0.032a30.471 30.471 0 0 0-0.906-0.035c-0.246-0.006-0.491-0.006-0.737-0.006s-0.492 0.001-0.737 0.006c-0.302 0.007-0.604 0.02-0.906 0.035-0.19 0.01-0.379 0.019-0.569 0.032-0.352 0.024-0.704 0.056-1.055 0.092-0.142 0.015-0.284 0.028-0.425 0.045a32.95 32.95 0 0 0-2.714 0.433l-0.268 0.055c-0.412 0.088-0.823 0.184-1.232 0.288l-0.272 0.069a32.859 32.859 0 0 0-3.034 0.965c-0.31 0.116-0.618 0.237-0.926 0.364a27.496 27.496 0 0 0-1.344 0.587 32.141 32.141 0 0 0-2.269 1.166c-0.123 0.07-0.245 0.139-0.367 0.21-0.369 0.215-0.733 0.438-1.094 0.668l-0.21 0.134c-0.402 0.261-0.797 0.531-1.189 0.811l-0.116 0.083c-0.402 0.29-0.798 0.591-1.188 0.902l-0.078 0.059-0.272 0.218c-0.07 0.057-0.142 0.111-0.212 0.169L224 861.421V160z" ></path><path d="M352 288h320c17.673 0 32-14.327 32-32s-14.327-32-32-32H352c-17.673 0-32 14.327-32 32s14.327 32 32 32z" ></path></symbol><symbol id="iconline-order" viewBox="0 0 1024 1024"><path d="M416 896H224c-17.645 0-32-14.355-32-32V160c0-17.645 14.355-32 32-32h576c17.645 0 32 14.355 32 32v256c0 17.673 14.327 32 32 32s32-14.327 32-32V160c0-52.935-43.065-96-96-96H224c-52.935 0-96 43.065-96 96v704c0 52.935 43.065 96 96 96h192c17.673 0 32-14.327 32-32s-14.327-32-32-32z" ></path><path d="M704 288c0-17.673-14.327-32-32-32H352c-17.673 0-32 14.327-32 32s14.327 32 32 32h320c17.673 0 32-14.327 32-32zM352 480c-17.673 0-32 14.327-32 32 0 17.673 14.327 32 32 32h192c17.673 0 32-14.327 32-32s-14.327-32-32-32H352zM894.392 577.606c-42.308-42.308-98.559-65.607-158.392-65.607s-116.084 23.3-158.393 65.607C535.3 619.915 512 676.166 512 735.999c0 59.832 23.3 116.084 65.607 158.392 42.309 42.309 98.56 65.608 158.393 65.608s116.084-23.3 158.393-65.608C936.7 852.082 960 795.831 960 735.998c0-59.832-23.3-116.083-65.608-158.392zM736 895.999c-88.225 0-160-71.776-160-160.001 0-88.224 71.775-159.999 160-159.999s160 71.775 160 160-71.775 160-160 160z" ></path><path d="M768 727.425v-55.426c0-17.673-14.327-32-32-32s-32 14.327-32 32v64c0 0.051 0.004 0.102 0.004 0.153 0.002 0.456 0.013 0.912 0.035 1.368l0.012 0.248a31.968 31.968 0 0 0 0.543 4.364c0.035 0.178 0.069 0.357 0.107 0.534 0.065 0.304 0.136 0.608 0.21 0.911 0.057 0.233 0.114 0.466 0.176 0.698 0.065 0.241 0.134 0.482 0.205 0.722 0.085 0.289 0.171 0.577 0.264 0.863a39.418 39.418 0 0 0 0.551 1.557 31.49 31.49 0 0 0 1.334 3.007l0.129 0.252c0.204 0.394 0.416 0.784 0.636 1.168 0.029 0.051 0.054 0.102 0.083 0.153l32 55.426c5.928 10.267 16.683 16.005 27.743 16.005a31.858 31.858 0 0 0 15.97-4.292c15.306-8.837 20.55-28.407 11.713-43.713L768 727.425z" ></path></symbol><symbol id="iconline-purchase" viewBox="0 0 1024 1024"><path d="M832 96H192c-52.935 0-96 43.065-96 96v640c0 52.935 43.065 96 96 96h640c52.935 0 96-43.065 96-96V192c0-52.935-43.065-96-96-96z m-192 64v32c0 17.645-14.355 32-32 32H416c-17.645 0-32-14.355-32-32v-32h256z m224 672c0 17.645-14.355 32-32 32H192c-17.645 0-32-14.355-32-32V192c0-17.645 14.355-32 32-32h128v32c0 52.935 43.065 96 96 96h192c52.935 0 96-43.065 96-96v-32h128c17.645 0 32 14.355 32 32v640z" ></path><path d="M672 516H471.426l62.851-36.287c15.306-8.836 20.55-28.408 11.713-43.713s-28.406-20.551-43.713-11.713l-166.277 96c-0.044 0.025-0.085 0.053-0.128 0.079-0.352 0.206-0.698 0.418-1.041 0.637-0.134 0.085-0.267 0.169-0.399 0.256-0.275 0.181-0.545 0.367-0.814 0.556-0.193 0.135-0.386 0.27-0.575 0.409-0.184 0.136-0.365 0.276-0.546 0.415-0.259 0.199-0.518 0.399-0.77 0.605l-0.277 0.233c-0.325 0.272-0.646 0.547-0.959 0.831l-0.025 0.023a31.78 31.78 0 0 0-5.803 7.031c-0.127 0.208-0.245 0.423-0.368 0.634-0.125 0.216-0.254 0.43-0.373 0.649a31.75 31.75 0 0 0-3.186 8.538l-0.008 0.035a29.96 29.96 0 0 0-0.239 1.243c-0.021 0.12-0.044 0.239-0.064 0.359-0.052 0.319-0.096 0.64-0.138 0.962-0.031 0.23-0.062 0.459-0.088 0.69a31.94 31.94 0 0 0-0.066 0.694c-0.03 0.33-0.056 0.66-0.075 0.991-0.009 0.156-0.015 0.312-0.022 0.468-0.018 0.409-0.029 0.818-0.031 1.229 0 0.049-0.004 0.097-0.004 0.146 0 0.056 0.004 0.111 0.004 0.167 0.002 0.447 0.013 0.895 0.034 1.343l0.014 0.269a30.933 30.933 0 0 0 0.132 1.636 31.515 31.515 0 0 0 0.408 2.707c0.036 0.185 0.072 0.37 0.111 0.554 0.064 0.298 0.134 0.596 0.206 0.893 0.058 0.239 0.117 0.477 0.18 0.714a36.85 36.85 0 0 0 0.468 1.584c0.059 0.18 0.12 0.36 0.182 0.539 0.117 0.342 0.239 0.681 0.368 1.017 0.051 0.133 0.104 0.265 0.156 0.397 0.151 0.38 0.308 0.756 0.474 1.129 0.043 0.098 0.088 0.195 0.132 0.292a29.47 29.47 0 0 0 0.698 1.436c0.204 0.395 0.417 0.785 0.637 1.17 0.029 0.05 0.054 0.102 0.083 0.152 0.019 0.033 0.041 0.064 0.06 0.097a31.993 31.993 0 0 0 2.214 3.309 35.719 35.719 0 0 0 1.164 1.432c0.185 0.216 0.367 0.433 0.557 0.643 0.342 0.378 0.694 0.747 1.053 1.108 0.265 0.266 0.538 0.521 0.811 0.777 0.18 0.168 0.359 0.336 0.543 0.499 0.266 0.238 0.535 0.472 0.808 0.7 0.204 0.171 0.413 0.335 0.622 0.5 0.365 0.29 0.735 0.573 1.111 0.845 0.334 0.242 0.67 0.482 1.014 0.711 0.203 0.135 0.409 0.264 0.615 0.394 0.355 0.226 0.714 0.444 1.078 0.656 0.162 0.094 0.322 0.188 0.485 0.279a31.854 31.854 0 0 0 5.432 2.397l0.056 0.019c1.281 0.425 2.596 0.774 3.944 1.037l0.06 0.011c0.582 0.112 1.169 0.206 1.762 0.286 0.165 0.023 0.331 0.043 0.497 0.063 0.444 0.053 0.89 0.096 1.34 0.13 0.221 0.017 0.441 0.038 0.662 0.05 0.421 0.024 0.845 0.034 1.27 0.041 0.195 0.004 0.388 0.019 0.583 0.019 0.051 0 0.102-0.005 0.153-0.005H672c17.673 0 32-14.327 32-32S689.673 516 672 516zM672 672H352c-17.673 0-32 14.327-32 32s14.327 32 32 32h320c17.673 0 32-14.327 32-32s-14.327-32-32-32z" ></path></symbol><symbol id="iconline-service" viewBox="0 0 1024 1024"><path d="M320 96h-64c-88.225 0-160 71.776-160 160v64c0 88.224 71.775 160 160 160h192c17.673 0 32-14.327 32-32V256c0-88.224-71.775-160-160-160z m96 224v96H256c-52.935 0-96-43.065-96-96v-64c0-52.935 43.065-96 96-96h64c52.935 0 96 43.065 96 96v64zM768 96h-64c-88.225 0-160 71.776-160 160v192c0 17.673 14.327 32 32 32h192c88.225 0 160-71.776 160-160v-64c0-88.224-71.775-160-160-160z m96 224c0 52.935-43.065 96-96 96H608V256c0-52.935 43.065-96 96-96h64c52.935 0 96 43.065 96 96v64zM448 544H256c-88.225 0-160 71.775-160 160v64c0 88.225 71.775 160 160 160h64c88.225 0 160-71.775 160-160V576c0-17.673-14.327-32-32-32z m-32 160v64c0 52.935-43.065 96-96 96h-64c-52.935 0-96-43.065-96-96v-64c0-52.935 43.065-96 96-96h160v96zM768 544H576c-17.673 0-32 14.327-32 32v192c0 88.225 71.775 160 160 160h64c88.225 0 160-71.775 160-160v-64c0-88.225-71.775-160-160-160z m96 224c0 52.935-43.065 96-96 96h-64c-52.935 0-96-43.065-96-96V608h160c52.935 0 96 43.065 96 96v64z" ></path></symbol><symbol id="iconline-shop" viewBox="0 0 1024 1024"><path d="M928 342.01c0.06-12.75-5-27.04-55.02-138.29-11.91-26.48-23.19-51.57-30.46-68.74C832.49 111.3 809.36 96 783.61 96H242.2c-25.6 0-48.66 15.16-58.74 38.59-7.39 17.17-18.94 42.37-31.11 68.98C101.19 315.31 96 329.65 96 342.48c0.06 53.18 22.84 102.76 61.4 137.23V832c0 52.935 43.065 96 96 96h517.215c52.935 0 96-43.065 96-96h-0.015V479.32c38.61-34.55 61.41-84.28 61.4-137.31z m-717.46-111.8c12.41-27.11 24.16-52.79 31.66-70.21h541.41c7.41 17.49 18.88 43.02 30.99 69.96 17.92 39.86 44.63 99.28 49.36 114.8-0.84 36.22-17.91 69.73-45.81 91.73a31.844 31.844 0 0 0-5.08 3.77c-3.76 2.65-7.67 5.12-11.77 7.35-15.95 8.75-35.33 13.23-57.44 13.34-35.72 0-69.25-15.53-91.99-42.62-12.2-14.5-36.89-14.48-49.03 0.01-22.54 26.85-55.62 42.41-90.34 42.69-35.46-0.21-68.77-15.75-91.4-42.6a31.971 31.971 0 0 0-24.47-11.39h-0.03a32 32 0 0 0-24.47 11.42c-22.78 27.13-56.24 42.75-91.71 42.85-21.41 0-40.17-4.13-55.8-12.28-0.28-0.17-0.58-0.32-0.86-0.48-3.99-2.13-7.82-4.47-11.5-6.99-2.3-2.36-4.98-4.37-7.92-5.92a120.182 120.182 0 0 1-44.29-90.17c4.92-15.71 32.19-75.28 50.49-115.26zM770.615 864H253.4c-17.645 0-32-14.355-32-32V516.67c18.17 5.73 37.94 8.64 59.11 8.64 21.42-0.07 42.35-3.81 61.97-10.85a183.46 183.46 0 0 0 54.2-30.69c32.3 26.26 72.96 41 115.87 41.26 42.31-0.33 82.69-15.11 114.82-41.37 32.53 26.54 73.52 41.29 116.65 41.29 20.97-0.1 40.57-3.03 58.58-8.7V832h0.015c0 17.645-14.355 32-32 32z" ></path><path d="M512 640c-17.673 0-32 14.327-32 32v96c0 17.673 14.327 32 32 32 17.674 0 32-14.327 32-32v-96c0-17.673-14.327-32-32-32z" ></path></symbol><symbol id="iconline-system" viewBox="0 0 1024 1024"><path d="M832 97H192c-52.935 0-96 43.065-96 96v640c0 52.935 43.065 96 96 96h640c52.935 0 96-43.065 96-96V193c0-52.935-43.065-96-96-96z m32 736c0 17.645-14.355 32-32 32H192c-17.645 0-32-14.355-32-32V193c0-17.645 14.355-32 32-32h640c17.645 0 32 14.355 32 32v640z" ></path><path d="M768 321H544a32.36 32.36 0 0 0-3.986 0.256C525.858 265.981 475.625 225 416 225s-109.857 40.981-124.014 96.256A32.165 32.165 0 0 0 288 321h-32c-17.673 0-32 14.327-32 32s14.327 32 32 32h32a32.36 32.36 0 0 0 3.986-0.256C306.142 440.019 356.375 481 416 481s109.857-40.981 124.014-96.256c1.307 0.163 2.635 0.256 3.986 0.256h224c17.673 0 32-14.327 32-32s-14.327-32-32-32z m-352 96c-35.29 0-64-28.71-64-64s28.71-64 64-64 64 28.71 64 64-28.71 64-64 64zM768 641h-32a32.36 32.36 0 0 0-3.986 0.256C717.858 585.981 667.625 545 608 545s-109.857 40.981-124.014 96.256A32.165 32.165 0 0 0 480 641H288c-17.673 0-32 14.327-32 32s14.327 32 32 32h192a32.36 32.36 0 0 0 3.986-0.256C498.142 760.019 548.375 801 608 801s109.857-40.981 124.014-96.256c1.307 0.163 2.635 0.256 3.986 0.256h32c17.673 0 32-14.327 32-32s-14.327-32-32-32z m-160 96c-35.29 0-64-28.71-64-64s28.71-64 64-64 64 28.71 64 64-28.71 64-64 64z" ></path></symbol><symbol id="iconline-shipment" viewBox="0 0 1024 1024"><path d="M832 96H192c-52.935 0-96 43.065-96 96v640c0 52.935 43.065 96 96 96h640c52.935 0 96-43.065 96-96V192c0-52.935-43.065-96-96-96z m-192 64v32c0 17.645-14.355 32-32 32H416c-17.645 0-32-14.355-32-32v-32h256z m224 672c0 17.645-14.355 32-32 32H192c-17.645 0-32-14.355-32-32V192c0-17.645 14.355-32 32-32h128v32c0 52.935 43.065 96 96 96h192c52.935 0 96-43.065 96-96v-32h128c17.645 0 32 14.355 32 32v640z" ></path><path d="M672 672H352c-17.673 0-32 14.327-32 32s14.327 32 32 32h320c17.673 0 32-14.327 32-32s-14.327-32-32-32zM703.965 546.608a32.074 32.074 0 0 0-0.02-0.438c-0.02-0.341-0.047-0.681-0.078-1.021-0.02-0.223-0.039-0.445-0.063-0.667-0.027-0.24-0.059-0.48-0.091-0.719a28.624 28.624 0 0 0-0.134-0.932c-0.022-0.132-0.047-0.264-0.071-0.396a31.747 31.747 0 0 0-0.232-1.207l-0.018-0.076a31.77 31.77 0 0 0-2.494-7.182l-0.023-0.044c-0.211-0.43-0.43-0.856-0.659-1.275-0.132-0.242-0.275-0.48-0.413-0.719-0.109-0.188-0.214-0.379-0.327-0.565a31.793 31.793 0 0 0-5.815-7.043l-0.014-0.013a32.408 32.408 0 0 0-0.967-0.837c-0.09-0.076-0.179-0.153-0.269-0.227a33.464 33.464 0 0 0-0.774-0.609c-0.18-0.139-0.359-0.277-0.542-0.412-0.19-0.139-0.384-0.275-0.578-0.411a32.279 32.279 0 0 0-0.812-0.555 27.471 27.471 0 0 0-0.402-0.257 32.455 32.455 0 0 0-1.04-0.636c-0.044-0.025-0.085-0.053-0.129-0.079l-166.277-96c-15.303-8.837-34.876-3.593-43.712 11.713-8.836 15.305-3.592 34.876 11.713 43.713L552.574 516H352c-17.673 0-32 14.327-32 32s14.327 32 32 32h319.817c0.051 0 0.102 0.005 0.153 0.005 0.194 0 0.387-0.015 0.581-0.019 0.426-0.007 0.851-0.017 1.273-0.041 0.22-0.013 0.439-0.033 0.658-0.05 0.451-0.035 0.9-0.078 1.346-0.131 0.163-0.02 0.326-0.04 0.489-0.062a32.327 32.327 0 0 0 1.775-0.288l0.047-0.008a31.83 31.83 0 0 0 3.956-1.04l0.036-0.012c0.64-0.214 1.272-0.446 1.894-0.698l0.03-0.012a31.823 31.823 0 0 0 3.53-1.697c0.155-0.086 0.307-0.176 0.46-0.265a31.13 31.13 0 0 0 1.108-0.674c0.198-0.126 0.397-0.25 0.592-0.38 0.364-0.243 0.72-0.495 1.072-0.753 0.351-0.255 0.695-0.52 1.036-0.79 0.219-0.174 0.439-0.346 0.653-0.525a32.23 32.23 0 0 0 1.355-1.204c0.256-0.239 0.512-0.477 0.761-0.725a32.12 32.12 0 0 0 1.094-1.151c0.187-0.207 0.368-0.422 0.55-0.635a32.659 32.659 0 0 0 1.166-1.435 32.105 32.105 0 0 0 2.216-3.312c0.019-0.033 0.041-0.064 0.06-0.097 0.029-0.05 0.054-0.102 0.083-0.153 0.22-0.385 0.432-0.774 0.636-1.168l0.129-0.252c0.197-0.39 0.386-0.784 0.568-1.182l0.136-0.3a31.49 31.49 0 0 0 0.995-2.533c0.063-0.183 0.126-0.365 0.186-0.549 0.093-0.286 0.179-0.574 0.264-0.863 0.071-0.24 0.14-0.481 0.205-0.722 0.062-0.231 0.119-0.464 0.176-0.698 0.074-0.303 0.145-0.607 0.21-0.911 0.038-0.177 0.072-0.356 0.107-0.534 0.071-0.363 0.137-0.727 0.195-1.091 0.021-0.131 0.04-0.263 0.059-0.394 0.061-0.414 0.114-0.828 0.158-1.243l0.029-0.292c0.044-0.448 0.078-0.896 0.102-1.344 0.004-0.082 0.009-0.165 0.012-0.248 0.021-0.456 0.033-0.912 0.035-1.368 0-0.051 0.004-0.102 0.004-0.153 0-0.045-0.003-0.088-0.003-0.133 0.001-0.423-0.01-0.843-0.029-1.262z" ></path></symbol><symbol id="iconline-team" viewBox="0 0 1024 1024"><path d="M669.102 654.089c39.847-23.658 73.758-56.33 99.051-95.648 31.072-48.305 47.496-104.344 47.496-162.058 0-79.952-31.053-155.122-87.437-211.665C671.804 128.152 596.798 97 517.013 97s-154.791 31.152-211.199 87.719c-56.384 56.543-87.437 131.713-87.437 211.665 0 60.505 17.923 118.808 51.831 168.605 27.755 40.762 64.655 73.7 107.763 96.426l-57.494 218.441c-4.498 17.091 5.71 34.593 22.801 39.091 17.095 4.498 34.593-5.71 39.092-22.801l64.276-244.211c4.079-15.498-3.935-31.622-18.75-37.73-42.518-17.528-78.753-47.002-104.787-85.236-26.646-39.133-40.731-84.98-40.731-132.584 0-62.89 24.418-122.011 68.755-166.473C395.445 185.473 454.356 161 517.013 161s121.567 24.473 165.881 68.911c44.337 44.461 68.755 103.583 68.755 166.473 0 45.41-12.905 89.476-37.322 127.434-23.799 36.997-57.281 66.507-96.829 85.341-14.104 6.717-21.298 22.637-17.016 37.662l71.233 249.951c4.009 14.066 16.824 23.238 30.758 23.238a32 32 0 0 0 8.787-1.234c16.996-4.844 26.848-22.548 22.004-39.545l-64.162-225.142z" ></path><path d="M236.612 619.767c-30.481 0-51.497-21.59-63.76-39.703C155.412 554.305 145 519.582 145 487.18c0-35.3 16.112-75.12 39.182-96.834 12.869-12.113 13.482-32.365 1.369-45.234-12.114-12.869-32.365-13.481-45.234-1.369C104.283 377.658 81 433.961 81 487.18c0 45.359 14.163 92.292 38.856 128.766 20.209 29.85 45.943 50.547 74.768 60.681l-62.74 188.692c-5.576 16.771 3.498 34.886 20.269 40.462a31.976 31.976 0 0 0 10.102 1.644c13.405 0 25.898-8.493 30.36-21.912l74.363-223.647a32 32 0 0 0-30.366-42.099zM911.144 615.945C935.837 579.472 950 532.539 950 487.18c0-53.219-23.283-109.521-59.316-143.438-12.87-12.112-33.121-11.5-45.234 1.369s-11.5 33.122 1.369 45.234C869.888 412.06 886 451.879 886 487.18c0 32.402-10.412 67.125-27.853 92.885-12.263 18.112-33.278 39.703-63.76 39.703a32 32 0 0 0-30.365 42.097l74.363 223.647c4.462 13.42 16.954 21.912 30.36 21.912 3.347 0 6.751-0.529 10.102-1.644 16.771-5.576 25.845-23.691 20.269-40.462l-62.74-188.692c28.824-10.133 54.559-30.831 74.768-60.681z" ></path></symbol><symbol id="iconline-statistics" viewBox="0 0 1024 1024"><path d="M924.534 434.485c0.261-0.091 0.525-0.177 0.782-0.275 0.096-0.037 0.189-0.079 0.285-0.116 14.981-5.851 23.488-22.151 19.238-38.052C903.616 241.805 782.194 120.383 627.958 79.16c-17.003-4.546-34.469 5.499-39.118 22.449-0.018 0.064-0.039 0.126-0.056 0.19l-0.001 0.005-0.003 0.009-0.002 0.009-10.168 37.948C546.475 131.954 513.436 128 480 128c-56.146 0-110.628 11.003-161.936 32.705-49.541 20.954-94.026 50.945-132.221 89.139s-68.185 82.68-89.139 132.221C75.003 433.372 64 487.854 64 544s11.003 110.629 32.705 161.936c20.954 49.541 50.945 94.026 89.139 132.221s82.68 68.186 132.221 89.14C369.372 948.996 423.854 960 480 960s110.629-11.004 161.936-32.704c49.541-20.954 94.026-50.945 132.221-89.14s68.186-82.68 89.14-132.221C884.996 654.629 896 600.146 896 544c0-33.436-3.954-66.475-11.769-98.61l37.971-10.174c0.424-0.114 0.841-0.241 1.256-0.371 0.104-0.032 0.21-0.059 0.313-0.093 0.258-0.083 0.509-0.178 0.763-0.267z m-51.081-52.465l-37.413 10.025-0.049 0.013-278.737 74.687 74.685-278.73 0.018-0.067 10.022-37.402c107.534 38.667 192.808 123.94 231.474 231.474zM832 544c0 94.022-36.614 182.417-103.099 248.901S574.022 896 480 896s-182.417-36.614-248.901-103.099C164.614 726.417 128 638.022 128 544s36.614-182.417 103.099-248.901C297.583 228.614 385.978 192 480 192c27.823 0 55.302 3.237 82.038 9.618l-80.947 302.1-0.039 0.162c-0.114 0.433-0.219 0.868-0.315 1.307l-0.056 0.263a31.53 31.53 0 0 0-0.245 1.304c-0.017 0.103-0.035 0.206-0.051 0.31-0.064 0.405-0.119 0.812-0.166 1.221-0.016 0.138-0.033 0.277-0.047 0.415-0.037 0.36-0.067 0.722-0.093 1.084-0.013 0.188-0.026 0.376-0.036 0.564-0.016 0.305-0.025 0.61-0.032 0.916-0.006 0.246-0.011 0.491-0.011 0.736s0.005 0.491 0.011 0.736c0.007 0.306 0.016 0.611 0.032 0.916 0.01 0.188 0.023 0.376 0.036 0.564 0.025 0.363 0.055 0.724 0.093 1.085 0.014 0.138 0.031 0.276 0.047 0.414a31.24 31.24 0 0 0 0.836 4.409c0.014 0.053 0.024 0.106 0.038 0.159l0.026 0.083c0.221 0.813 0.472 1.616 0.755 2.407 0.041 0.114 0.085 0.226 0.127 0.34 0.274 0.739 0.568 1.47 0.895 2.186 0.065 0.144 0.138 0.282 0.206 0.424 0.263 0.554 0.543 1.1 0.838 1.637 0.111 0.204 0.218 0.411 0.334 0.612 0.328 0.57 0.679 1.126 1.042 1.675a31.5 31.5 0 0 0 1.648 2.278c0.138 0.173 0.28 0.34 0.421 0.51 0.421 0.508 0.856 1.006 1.309 1.489 0.058 0.062 0.113 0.127 0.171 0.188a32.078 32.078 0 0 0 1.697 1.641l0.214 0.194c0.609 0.54 1.239 1.059 1.891 1.554l0.024 0.018a31.747 31.747 0 0 0 4.252 2.715l0.134 0.071c0.721 0.38 1.458 0.737 2.215 1.064l0.148 0.061c0.644 0.274 1.301 0.525 1.969 0.759 0.174 0.061 0.348 0.125 0.523 0.184 0.588 0.194 1.182 0.377 1.788 0.539 0.061 0.016 0.122 0.027 0.182 0.043 0.366 0.096 0.737 0.175 1.108 0.258 0.408 0.092 0.817 0.181 1.225 0.256a33.05 33.05 0 0 0 2.467 0.352c0.318 0.033 0.635 0.07 0.955 0.094 0.729 0.054 1.456 0.086 2.18 0.091 0.049 0 0.096 0.006 0.145 0.006l0.02-0.001 0.02 0.001c0.049 0 0.097-0.006 0.146-0.006a31.76 31.76 0 0 0 2.175-0.09c0.324-0.024 0.645-0.061 0.968-0.095a31.382 31.382 0 0 0 2.463-0.352c0.405-0.075 0.81-0.163 1.215-0.254 0.371-0.083 0.743-0.162 1.11-0.259 0.061-0.016 0.123-0.026 0.184-0.043l302.101-80.947C828.763 488.698 832 516.177 832 544z" ></path></symbol><symbol id="iconline-wallet" viewBox="0 0 1024 1024"><path d="M864 128H160c-52.93 0-96 43.07-96 96v576c0 52.93 43.07 96 96 96h704c52.93 0 96-43.07 96-96V224c0-52.93-43.07-96-96-96z m32 512H672c-17.645 0-32-14.355-32-32V416c0-17.645 14.355-32 32-32h224v256zM672 320c-52.935 0-96 43.065-96 96v192c0 52.935 43.065 96 96 96h224v96c0 17.65-14.35 32-32 32H160c-17.65 0-32-14.35-32-32V224c0-17.65 14.35-32 32-32h704c17.65 0 32 14.35 32 32v96H672z" ></path><path d="M768 560c26.51 0 48-21.49 48-48s-21.49-48-48-48-48 21.49-48 48 21.49 48 48 48z" ></path></symbol><symbol id="iconline-workset" viewBox="0 0 1024 1024"><path d="M832 96H192c-52.935 0-96 43.065-96 96v448c0 52.935 43.065 96 96 96h288v128H288c-17.673 0-32 14.327-32 32 0 17.673 14.327 32 32 32h448c17.673 0 32-14.327 32-32 0-17.673-14.327-32-32-32H544V736h288c52.935 0 96-43.065 96-96V192c0-52.935-43.065-96-96-96z m32 544c0 17.645-14.355 32-32 32H192c-17.645 0-32-14.355-32-32V192c0-17.645 14.355-32 32-32h640c17.645 0 32 14.355 32 32v448z" ></path><path d="M603.998 289.016A31.998 31.998 0 0 0 576.276 273h-128a31.999 31.999 0 0 0-27.722 16.016l-64 111a32 32 0 0 0 0 31.968l64 111A31.998 31.998 0 0 0 448.276 559h128a31.999 31.999 0 0 0 27.722-16.016l64-111a32 32 0 0 0 0-31.968l-64-111zM557.789 495h-91.025l-45.549-79 45.549-79h91.025l45.549 79-45.549 79z" ></path></symbol><symbol id="iconline-organizational" viewBox="0 0 1024 1024"><path d="M864 608.002h-47.999V512c0-2.209-0.224-4.366-0.65-6.449s-1.055-4.092-1.865-6.007a31.976 31.976 0 0 0-4.793-7.899 32.157 32.157 0 0 0-9.44-7.783A31.905 31.905 0 0 0 784 479.999H547v-64h48c52.935 0 96-43.065 96-96V160c0-52.935-43.065-96-96-96H435c-52.935 0-96 43.065-96 96v160c0 52.935 43.065 96 96 96h48v64H239.999a31.89 31.89 0 0 0-15.253 3.863 32.075 32.075 0 0 0-9.44 7.783 32.037 32.037 0 0 0-4.793 7.899c-0.81 1.914-1.438 3.924-1.865 6.007s-0.65 4.24-0.65 6.449v96.002H160c-52.935 0-96 43.065-96 95.999V864c0 52.935 43.065 96 96 96h159.999c52.935 0 96-43.065 96-96V704.001c0-52.934-43.065-95.999-96-95.999H272V544h480.001v64.002h-47.999c-52.935 0-96 43.065-96 96V864c0 52.935 43.065 96 96 96H864c52.935 0 96-43.065 96-96V704.002c0-52.935-43.065-96-96-96zM403 320V160c0-17.645 14.355-32 32-32h160c17.645 0 32 14.355 32 32v160c0 17.645-14.355 32-32 32H435c-17.645 0-32-14.355-32-32z m-51.001 384.001V864c0 17.645-14.355 32-32 32H160c-17.645 0-32-14.355-32-32V704.001c0-17.645 14.355-31.999 32-31.999h77.997c0.663 0.041 1.329 0.069 2.002 0.069 0.673 0 1.339-0.028 2.002-0.069h77.997c17.646 0 32.001 14.354 32.001 31.999zM896 864c0 17.645-14.355 32-32 32H704.002c-17.645 0-32-14.355-32-32V704.002c0-17.645 14.355-32 32-32H864c17.645 0 32 14.355 32 32V864z" ></path></symbol><symbol id="iconline-shoppingcart" viewBox="0 0 1024 1024"><path d="M945.933 289.588c-13.157-17.293-33.16-27.208-54.896-27.208H156.77l-24.327-145.632c-3.13-18.731-20.727-31.368-39.654-28.285-18.776 3.127-31.444 20.864-28.315 39.612L165.77 734.499C171.338 767.816 199.922 792 233.737 792h547.795c32.486 0 60.733-22.763 67.731-54.333l108.161-387.972c5.837-20.907 1.648-42.814-11.491-60.107zM782.592 720.239c-0.236 0.84-0.892 2.075-1.06 2.924H233.738l-65.461-391.947h722.76L782.592 720.239zM320 840c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48zM704 840c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48z" ></path><path d="M384 664h256c17.673 0 32-14.327 32-32s-14.327-32-32-32H384c-17.673 0-32 14.327-32 32s14.327 32 32 32z" ></path></symbol><symbol id="iconline-purchase1" viewBox="0 0 1024 1024"><path d="M832 96H192c-52.935 0-96 43.065-96 96v640c0 52.935 43.065 96 96 96h640c52.935 0 96-43.065 96-96V192c0-52.935-43.065-96-96-96z m-192 64v32c0 17.645-14.355 32-32 32H416c-17.645 0-32-14.355-32-32v-32h256z m224 672c0 17.645-14.355 32-32 32H192c-17.645 0-32-14.355-32-32V192c0-17.645 14.355-32 32-32h128v32c0 52.935 43.065 96 96 96h192c52.935 0 96-43.065 96-96v-32h128c17.645 0 32 14.355 32 32v640z" ></path><path d="M672 516H471.426l62.851-36.287c15.306-8.836 20.55-28.408 11.713-43.713s-28.406-20.551-43.713-11.713l-166.277 96c-0.044 0.025-0.085 0.053-0.128 0.079-0.352 0.206-0.698 0.418-1.041 0.637-0.134 0.085-0.267 0.169-0.399 0.256-0.275 0.181-0.545 0.367-0.814 0.556-0.193 0.135-0.386 0.27-0.575 0.409-0.184 0.136-0.365 0.276-0.546 0.415-0.259 0.199-0.518 0.399-0.77 0.605l-0.277 0.233c-0.325 0.272-0.646 0.547-0.959 0.831l-0.025 0.023a31.78 31.78 0 0 0-5.803 7.031c-0.127 0.208-0.245 0.423-0.368 0.634-0.125 0.216-0.254 0.43-0.373 0.649a31.75 31.75 0 0 0-3.186 8.538l-0.008 0.035a29.96 29.96 0 0 0-0.239 1.243c-0.021 0.12-0.044 0.239-0.064 0.359-0.052 0.319-0.096 0.64-0.138 0.962-0.031 0.23-0.062 0.459-0.088 0.69a31.94 31.94 0 0 0-0.066 0.694c-0.03 0.33-0.056 0.66-0.075 0.991-0.009 0.156-0.015 0.312-0.022 0.468-0.018 0.409-0.029 0.818-0.031 1.229 0 0.049-0.004 0.097-0.004 0.146 0 0.056 0.004 0.111 0.004 0.167 0.002 0.447 0.013 0.895 0.034 1.343l0.014 0.269a30.933 30.933 0 0 0 0.132 1.636 31.515 31.515 0 0 0 0.408 2.707c0.036 0.185 0.072 0.37 0.111 0.554 0.064 0.298 0.134 0.596 0.206 0.893 0.058 0.239 0.117 0.477 0.18 0.714a36.85 36.85 0 0 0 0.468 1.584c0.059 0.18 0.12 0.36 0.182 0.539 0.117 0.342 0.239 0.681 0.368 1.017 0.051 0.133 0.104 0.265 0.156 0.397 0.151 0.38 0.308 0.756 0.474 1.129 0.043 0.098 0.088 0.195 0.132 0.292a29.47 29.47 0 0 0 0.698 1.436c0.204 0.395 0.417 0.785 0.637 1.17 0.029 0.05 0.054 0.102 0.083 0.152 0.019 0.033 0.041 0.064 0.06 0.097a31.993 31.993 0 0 0 2.214 3.309 35.719 35.719 0 0 0 1.164 1.432c0.185 0.216 0.367 0.433 0.557 0.643 0.342 0.378 0.694 0.747 1.053 1.108 0.265 0.266 0.538 0.521 0.811 0.777 0.18 0.168 0.359 0.336 0.543 0.499 0.266 0.238 0.535 0.472 0.808 0.7 0.204 0.171 0.413 0.335 0.622 0.5 0.365 0.29 0.735 0.573 1.111 0.845 0.334 0.242 0.67 0.482 1.014 0.711 0.203 0.135 0.409 0.264 0.615 0.394 0.355 0.226 0.714 0.444 1.078 0.656 0.162 0.094 0.322 0.188 0.485 0.279a31.854 31.854 0 0 0 5.432 2.397l0.056 0.019c1.281 0.425 2.596 0.774 3.944 1.037l0.06 0.011c0.582 0.112 1.169 0.206 1.762 0.286 0.165 0.023 0.331 0.043 0.497 0.063 0.444 0.053 0.89 0.096 1.34 0.13 0.221 0.017 0.441 0.038 0.662 0.05 0.421 0.024 0.845 0.034 1.27 0.041 0.195 0.004 0.388 0.019 0.583 0.019 0.051 0 0.102-0.005 0.153-0.005H672c17.673 0 32-14.327 32-32S689.673 516 672 516zM672 672H352c-17.673 0-32 14.327-32 32s14.327 32 32 32h320c17.673 0 32-14.327 32-32s-14.327-32-32-32z" ></path></symbol><symbol id="iconline-template" viewBox="0 0 1024 1024"><path d="M832 96H192c-52.935 0-96 43.065-96 96v640c0 52.935 43.065 96 96 96h640c52.935 0 96-43.065 96-96V192c0-52.935-43.065-96-96-96z m-640 64h640c17.645 0 32 14.355 32 32v160H160V192c0-17.645 14.355-32 32-32z m-32 672V416h192v448H192c-17.645 0-32-14.355-32-32z m672 32H416V416h448v416c0 17.645-14.355 32-32 32z" ></path></symbol><symbol id="iconmd-heart-empty" viewBox="0 0 1024 1024"><path d="M699.2 128c-72.8 0-141.4 33.4-187.2 87.8C466.2 161.4 397.6 128 324.8 128 195.8 128 96 228.4 96 358.2c0 159 141.4 286.6 355.6 483.4L512 896l60.4-54.4C786.6 644.8 928 517.2 928 358.2 928 228.4 828.2 128 699.2 128z m-161.6 658.6l-8.4 7.8-17.2 15.6-17.2-15.6-8.4-7.8c-100.8-92.6-188-172.6-245.4-244-56-69.4-80.8-126.2-80.8-184.4 0-45.8 16.8-87.8 47.4-118.6 30.4-30.8 72-47.6 117.2-47.6 52.2 0 104 24.4 138.2 65l49 58.2 49-58.2c34.2-40.8 86-65 138.2-65 45.2 0 86.8 16.8 117.4 47.6 30.6 30.8 47.4 73 47.4 118.6 0 58-25 115-80.8 184.4-57.6 71.4-144.6 151.4-245.6 244z" ></path></symbol><symbol id="iconios-remove-circle-outline" viewBox="0 0 1024 1024"><path d="M693 480h-362c-17.6 0-32 12-32 32s15 32 32 32h362c17.6 0 32-14.4 32-32s-14.4-32-32-32z" ></path><path d="M512 152c96.2 0 186.6 37.4 254.6 105.4S872 415.8 872 512s-37.4 186.6-105.4 254.6S608.2 872 512 872c-96.2 0-186.6-37.4-254.6-105.4S152 608.2 152 512s37.4-186.6 105.4-254.6S415.8 152 512 152m0-56C282.2 96 96 282.2 96 512s186.2 416 416 416 416-186.2 416-416S741.8 96 512 96z" ></path></symbol><symbol id="iconios-notifications-outline" viewBox="0 0 1024 1024"><path d="M579.4 806c-12.2 0-22.8 8.4-25.4 20.4-2 9-5.4 16.4-10 21.8-2.6 3-10.2 11.8-32.2 11.8-22 0-29.6-9-32.2-11.8-4.6-5.4-8-12.8-10-21.8-2.6-12-13.2-20.4-25.4-20.4-16.8 0-29 15.6-25.4 31.8 10 44.6 42 74.2 93 74.2s83-29.4 93-74.2c3.6-16.2-8.8-31.8-25.4-31.8zM824 704.4c-30.8-40.6-91.4-64.4-91.4-246.2 0-186.6-82.4-261.6-159.2-279.6-7.2-1.8-12.4-4.2-12.4-11.8v-5.8c0-26.6-21.6-49.2-48-49.2h-1.2c-26.4 0-48 22.6-48 49.2v5.8c0 7.4-5.2 10-12.4 11.8-77 18.2-159.2 93-159.2 279.6 0 181.8-60.6 205.4-91.4 246.2-19.8 26.2-1 63.6 31.8 63.6h560.2c32.2 0 50.8-37.6 31.2-63.6z m-78 11.6H279.6c-7.6 0-11.6-8.8-6.6-14.6 14-16 29.4-37 42-66.8 19.2-45.2 28.6-103 28.6-176.4 0-74.6 14-133 41.8-173.6 24.8-36.4 55.8-50.2 77.4-55.2 16.8-4 28.8-11.6 37.2-21 6.4-7.2 17.4-7.6 23.8-0.4 10.2 11.4 24 18.2 37.6 21.4 21.6 5 52.6 18.8 77.4 55.2 27.8 40.6 41.8 99 41.8 173.6 0 73.4 9.4 131.2 28.6 176.4 13 30.4 28.8 51.8 43 67.8 4.4 5.4 0.8 13.6-6.2 13.6z" ></path></symbol><symbol id="iconios-resize" viewBox="0 0 1024 1024"><path d="M836.6 160H615.6c-15 0-27.4 12.2-27.4 27.4v0.4c0 15 12.2 27.4 27.4 27.4h153L215.2 768.6v-153c0-15-12.2-27.4-27.4-27.4h-0.4c-15 0-27.4 12.2-27.4 27.4v221c0 15 12.2 27.4 27.4 27.4h221c15 0 27.4-12.2 27.4-27.4v-0.4c0-15-12.2-27.4-27.4-27.4h-153l553.4-553.4v153c0 15 12.2 27.4 27.4 27.4h0.4c15 0 27.4-12.2 27.4-27.4V187.4c0-15.2-12.2-27.4-27.4-27.4z" ></path></symbol><symbol id="iconios-shuffle" viewBox="0 0 1024 1024"><path d="M811.8 576.2c-5.2-5.2-12.4-8.2-19.8-8.2s-14.4 2.8-19.8 8.2c-5.4 5.2-8.2 12.4-8.2 19.8s3 14.4 8.2 19.8l32.6 32.4h-151l-248-310-0.2-0.2c-5.2-6.2-13.4-10-21.6-10H156c-15.4 0-28 12.6-28 28s12.6 28 28 28h214.8l105 132-105 132H156c-15.4 0-28 12.6-28 28s12.6 28 28 28h228c8.2 0 16-3.6 21.4-10l0.2-0.2 106.4-133.6 106.4 133.6 0.2 0.2c5.4 6.4 13.2 10 21.4 10h168.8l-32.6 32.4c-5.4 5.2-8.2 12.2-8.2 19.8 0 7.4 3 14.4 8.2 19.8 5.2 5.2 12.4 8.2 19.8 8.2s14.4-2.8 19.8-8.2l67.2-66.8c8.4-8.2 13-19.2 13-31s-4.6-22.8-13-31l-71.2-71z" ></path><path d="M558.8 470.8c2.2 2.8 5.6 4.2 9.2 4.2h0.2c3.6 0 7-1.6 9.2-4.4l75.8-94.6h151.6l-32.6 32.4c-5.4 5.2-8.2 12.2-8.2 19.8 0 7.4 3 14.4 8.2 19.8 5.2 5.2 12.4 8.2 19.8 8.2s14.4-2.8 19.8-8.2l71.2-70.8c8.4-8.2 13-19.4 13-31 0-11.8-4.6-22.8-13-31l-67.2-66.8c-5.2-5.2-12.4-8.2-19.8-8.2s-14.4 2.8-19.8 8.2c-5.4 5.2-8.2 12.4-8.2 19.8s3 14.4 8.2 19.8l32.6 32.4H640c-8.2 0-16 3.6-21.4 10l-0.2 0.2-80.6 100.4c-3.6 4.4-3.6 10.8 0.2 15.2l20.8 24.6z" ></path></symbol><symbol id="iconios-return-left" viewBox="0 0 1024 1024"><path d="M141 530.8l119.2-118.8c5.2-5.2 12.2-8.2 19.8-8.2 7.4 0 14.6 2.8 19.8 8.2 5.2 5.2 8.2 12.2 8.2 19.8s-3 14.6-8.2 19.8l-0.2 0.2-82.2 80.2H740c26.4 0 51.6-10.4 70.6-29.4 19-18.8 29.4-43.8 29.4-70.6v-96c0-15.4 12.6-28 28-28s28 12.6 28 28v96c0 41.6-16.2 80.6-45.8 110.2-29.6 29.6-68.6 45.8-110.2 45.8H216.6l79.2 80.4c5.2 5.2 8.2 12.2 8.2 19.8 0 7.4-2.8 14.6-8.2 19.8l-0.2 0.2c-5.4 5-12.4 7.8-19.6 7.8-7.8 0-14.6-2.8-19.8-8.2l-115.2-114.8c-8.4-8.4-13-19.6-13-31.4 0-11.6 4.6-22.6 13-30.8z" ></path></symbol><symbol id="iconios-swap" viewBox="0 0 1024 1024"><path d="M777.8 532.6c-10.2-10-10.4-26.6-0.2-36.8L872 400H422c-14.4 0-26-11.6-26-26s11.6-26 26-26h449.8l-94.4-95.8c-10-10.2-10-26.6 0.2-36.8 10.2-10 26.6-10 36.8 0.2l138 140c2.2 2.4 4.2 5 5.4 8.2 1.4 3.2 2 6.6 2 10 0 6.8-2.6 13.2-7.4 18.2l-138 140c-10 10.4-26.4 10.6-36.6 0.6z m-531.6 276c10.2-10 10.4-26.6 0.2-36.8L152.2 676H602c14.4 0 26-11.6 26-26s-11.6-26-26-26H152.2l94.4-95.8c10-10.2 10-26.6-0.2-36.8-10.2-10-26.6-10-36.8 0.2l-138 140c-2.2 2.4-4.2 5-5.4 8.2-1.4 3.2-2 6.6-2 10 0 6.8 2.6 13.2 7.4 18.2l138 140c10 10.4 26.4 10.6 36.6 0.6z" ></path></symbol><symbol id="iconios-search" viewBox="0 0 1024 1024"><path d="M887 840.4L673.4 624.8c41.8-52.4 67-118.8 67-191 0-169-137-306-306.2-306S128 265 128 434s137 306 306.2 306c73.2 0 140.2-25.6 193-68.4l212.2 214.2c6.4 6.8 15.2 10.2 23.8 10.2 8.2 0 16.4-3 22.6-9 13.2-12.6 13.6-33.4 1.2-46.6z m-452.8-166.2c-64.2 0-124.6-25-170-70.4-45.4-45.4-70.4-105.8-70.4-169.8 0-64.2 25-124.6 70.4-169.8 45.4-45.4 105.8-70.4 170-70.4s124.6 25 170 70.4c45.4 45.4 70.4 105.8 70.4 169.8 0 64.2-25 124.6-70.4 169.8-45.4 45.4-105.8 70.4-170 70.4z" ></path></symbol><symbol id="iconios-repeat" viewBox="0 0 1024 1024"><path d="M673.2 315L606 248.2c-7-7-17-9.8-27.2-7.2-2.4 0.6-4.8 1.6-7 3-9.4 5.8-14.4 15.6-13.6 26.2 0.4 6.8 3.8 13.2 8.6 18.2l32 31.8H284c-41.6 0-80.6 16.2-110.2 45.8C144.2 395.4 128 434.4 128 476v32c0 15.4 12.6 28 28 28s28-12.6 28-28v-32c0-26.6 10.4-51.6 29.4-70.6 19-19 44-29.4 70.6-29.4h310.8l-32 31.8c-4.8 4.8-8 10.8-8.6 17.4-0.8 8.4 2.2 16.6 8.2 22.6 5.2 5.2 12.4 8.2 19.8 8.2s14.4-2.8 19.8-8.2l71.2-70.8c8.4-8.2 13-19.4 13-31-0.2-11.8-4.8-22.8-13-31zM868 488c-15.4 0-28 12.6-28 28v32c0 26.6-10.4 51.6-29.4 70.6-19 19-44 29.4-70.6 29.4H429.2l32-31.8c4.8-4.8 8-10.8 8.6-17.6 0.8-8.4-2.2-16.6-8.2-22.6-5.2-5.2-12.4-8.2-19.8-8.2s-14.4 2.8-19.8 8.2l-71.2 70.8c-8.4 8.2-13 19.4-13 31 0 11.8 4.6 22.8 13 31l67.2 66.8c7 7 17 9.8 27.2 7.2 2.4-0.6 4.8-1.6 7-3 9.4-5.8 14.4-15.6 13.6-26.2-0.4-6.8-3.8-13.2-8.6-18.2l-32-31.8H740c86 0 156-70 156-156v-32c0-15-12.6-27.6-28-27.6z" ></path></symbol><symbol id="iconios-qr-scanner" viewBox="0 0 1024 1024"><path d="M348 128h-117.6C156.2 128 96 188.2 96 262.4V380c0 15.4 12.6 28 28 28s28-12.6 28-28v-119.6c0-18.2 8.6-37.4 23.4-52.4 15-15.2 34.4-24 53-24H348c15.4 0 28-12.6 28-28s-12.6-28-28-28z m447.6 0H676c-15.4 0-28 12.6-28 28s12.6 28 28 28h119.6c18.6 0 38 8.8 53 24 14.8 15 23.4 34.2 23.4 52.4V380c0 15.4 12.6 28 28 28s28-12.6 28-28v-119.6c0-73-59.4-132.4-132.4-132.4zM348 840h-119.6c-18.6 0-38-8.8-53-24-14.8-15-23.4-34.2-23.4-52.4V644c0-15.4-12.6-28-28-28s-28 12.6-28 28v119.6c0 73 59.4 132.4 132.4 132.4H348c15.4 0 28-12.6 28-28s-12.6-28-28-28z m552-224c-15.4 0-28 12.6-28 28v119.6c0 18.2-8.6 37.4-23.4 52.4-15 15.2-34.4 24-53 24H676c-15.4 0-28 12.6-28 28s12.6 28 28 28h117.6c74 0 134.4-60.2 134.4-134.4V644c0-15.4-12.6-28-28-28z" ></path></symbol><symbol id="iconios-trending-up" viewBox="0 0 1024 1024"><path d="M929.8 256H688.2c-16.6 0-30.2 13.2-30.2 29.6s13.6 29.6 30.2 29.6h167.4l-276 284.4-171.8-168.2c-5.8-5.6-13.2-8.6-21.4-8.6-8 0-15.6 3-21.4 8.6L72.4 717.6c-3.8 3.8-8.4 10.4-8.4 21.4 0 8.2 2.8 15 8.4 20.4 5.8 5.6 13.2 8.6 21.4 8.6 8 0 15.6-3 21.4-8.6L386.4 494l171.8 168.2c5.8 5.6 13.2 8.6 21.4 8.6 8 0 15.6-3 21.4-8.6l298.8-303.8v163.4c0 16.2 13.6 29.6 30.2 29.6s30.2-13.2 30.2-29.6V285.6c-0.2-16.4-13.8-29.6-30.4-29.6z" ></path></symbol><symbol id="iconios-refresh" viewBox="0 0 1024 1024"><path d="M866 577.6c-15.4 0-28.6 11.8-29.8 27.2-13.8 166.2-153.6 295.8-323.6 295.8-179 0-324.8-144.8-324.8-322.8 0-175.2 141.2-318.4 316.4-322.8 4.6-0.2 8.2 3.4 8.2 8v100.6c0 25.2 27.8 40.4 49.2 27L754 256c20-12.6 20-41.6 0-54.2l-192.2-132.8c-21.4-13.4-49.2 1.8-49.2 27v91.4c0 4.4-3.4 8-7.8 8C296 199.6 128 369.2 128 577.8 128 789 300.2 960 512.6 960c201.6 0 366.8-153.4 383.2-350.2 1.6-17.4-12.4-32.2-29.8-32.2z" ></path></symbol><symbol id="iconios-crop" viewBox="0 0 1024 1024"><path d="M284 128c-15.4 0-28 12.6-28 28v40c0 15.4 12.6 28 28 28s28-12.6 28-28V156c0-15.4-12.6-28-28-28z m28 556V380c0-15.4-12.6-28-28-28s-28 12.6-28 28v332c0 31 25 56 56 56h332c15.4 0 28-12.6 28-28s-12.6-28-28-28H340c-15.4 0-28-12.6-28-28z m556 28h-40c-15.4 0-28 12.6-28 28s12.6 28 28 28h40c15.4 0 28-12.6 28-28s-12.6-28-28-28z" ></path><path d="M128 284c0 15.4 12.6 28 28 28h528c15.4 0 28 12.6 28 28v528c0 15.4 12.6 28 28 28s28-12.6 28-28V312c0-31-25-56-56-56H156c-15.4 0-28 12.6-28 28z" ></path></symbol><symbol id="iconios-female" viewBox="0 0 1024 1024"><path d="M123.2 928c7.2 0 14.2-2.8 19.2-8l89.6-89.6 74 74c5.2 5.2 12 8 19.2 8 7.2 0 14.2-2.8 19.2-8 10.6-10.6 10.6-27.8 0-38.4l-74-74 100-100c61.2 52 138.6 80.6 219.2 80.6 45.6 0 90-9 131.6-26.6 40.2-17 76.4-41.4 107.6-72.4 31-31 55.4-67.2 72.4-107.6 17.6-41.8 26.6-86 26.6-131.6s-9-90-26.6-131.6c-17-40.2-41.4-76.4-72.4-107.6-31-31-67.2-55.4-107.6-72.4-41.8-17.6-86-26.6-131.6-26.6-45.6 0-90 9-131.6 26.6-40.2 17-76.4 41.4-107.6 72.4-31 31-55.4 67.2-72.4 107.6-17.6 41.8-26.6 86-26.6 131.6 0 80.6 28.6 158 80.6 219.2l-100 100-74-74c-5.2-5.2-12-8-19.2-8-7.2 0-14.2 2.8-19.2 8-10.6 10.6-10.6 27.8 0 38.4l74 74L104 881.6c-10.6 10.6-10.6 27.8 0 38.4 5.2 5.2 12 8 19.2 8z m265.8-694.4C442.6 180 514 150.4 589.8 150.4c75.8 0 147 29.6 200.6 83.2 53.6 53.6 83.2 124.8 83.2 200.6s-29.6 147-83.2 200.6c-53.6 53.6-124.8 83.2-200.6 83.2s-147-29.6-200.6-83.2C335.4 581.4 306 510 306 434.2s29.4-147 83-200.6z" ></path></symbol><symbol id="iconios-male" viewBox="0 0 1024 1024"><path d="M900.8 96H683c-15 0-27.2 12.2-27.2 27.2s12.2 27.2 27.2 27.2h150.8L653.4 332c-61.2-52-138.6-80.6-219.2-80.6-45.6 0-90 9-131.6 26.6-40.2 17-76.4 41.4-107.6 72.4C164 381.6 139.6 417.8 122.6 458 105 499.8 96 544 96 589.8s9 90 26.6 131.6c17 40.2 41.4 76.4 72.4 107.6 31 31 67.2 55.4 107.6 72.4 41.8 17.6 86 26.6 131.6 26.6 45.6 0 90-9 131.6-26.6 40.2-17 76.4-41.4 107.6-72.4 31-31 55.4-67.2 72.4-107.6 17.6-41.8 26.6-86 26.6-131.6 0-80.6-28.6-158-80.6-219.2L873.4 190v150.8c0 15 12.2 27.2 27.2 27.2s27.2-12.2 27.2-27.2V123.2c0.2-15-12-27.2-27-27.2zM718 589.8c0 75.8-29.6 147-83.2 200.6-53.6 53.6-124.8 83.2-200.6 83.2s-147-29.6-200.6-83.2C180 736.8 150.4 665.6 150.4 589.8s29.6-147 83.2-200.6c53.6-53.6 124.8-83.2 200.6-83.2s147 29.6 200.6 83.2C688.6 442.6 718 514 718 589.8z" ></path></symbol><symbol id="iconmd-wallet" viewBox="0 0 1024 1024"><path d="M405.4 682.6V341.4c0-47 38-85.4 85.4-85.4h394v-42.6c0-47-37.8-85.4-84.6-85.4H184c-47.4 0-88 37-88 84v600c0 47 40.6 84 88 84h616c47 0 84.6-38.4 84.6-85.4V768h-394c-47.2 0-85.2-38.4-85.2-85.4z" ></path><path d="M490 372v280c0 17.6 14.4 32 32 32h374c17.6 0 32-14.4 32-32V372c0-17.6-14.4-32-32-32H522c-17.6 0-32 14.4-32 32z m154.2 203.8c-38.6 2.4-70.4-29.4-68-68 2-31.8 27.8-57.6 59.8-59.8 38.6-2.4 70.4 29.4 68 68-2.2 32-28 57.8-59.8 59.8z" ></path></symbol><symbol id="iconmd-train" viewBox="0 0 1024 1024"><path d="M512 96c-176 0-352 21.8-352 175.2v416c0 84.6 69 153.2 154 153.2L248 906v22h98.2l88-87.6H600l88 87.6h88v-21.8l-66-65.6c85 0 154-68.8 154-153.2v-416C864 117.8 706.4 96 512 96z m-198 656.8c-36.6 0-66-29.4-66-65.6s29.4-65.6 66-65.6 66 29.4 66 65.6-29.4 65.6-66 65.6z m154-306.4H248v-175.2h220v175.2z m88 0v-175.2h220v175.2H556z m154 306.4c-36.6 0-66-29.4-66-65.6s29.4-65.6 66-65.6 66 29.4 66 65.6-29.4 65.6-66 65.6z" ></path></symbol><symbol id="iconmd-bookmarks" viewBox="0 0 1024 1024"><path d="M810.4 128h-42c30 11.4 45.6 41.2 45.6 85.4v597.4c0 44.2-14 74.6-45.6 85.4h42c47.4 0 85.6-38.4 85.6-85.4V213.4c0-47-38.2-85.4-85.6-85.4z m-119.4 0.4c-2.8-0.2-5.6-0.4-8.4-0.4H213.4C166.4 128 128 166.4 128 213.4v597.4c0 47 38.4 85.4 85.4 85.4h469.4c2.8 0 5.6-0.2 8.4-0.4 43-4.2 77-40.8 77-85V213.4c-0.2-44.2-34.2-80.8-77.2-85zM416 512l-112-64-112 64V192h224v320z" ></path></symbol><symbol id="iconmd-basket" viewBox="0 0 1024 1024"><path d="M724.2 410.4L545.8 145C538 133.6 525 128 512 128c-13 0-26 5.6-33.8 17.4l-178.4 265H104.8c-22.4 0-40.8 18.2-40.8 40.4 0 3.6 0.4 7.2 1.6 11l103.4 375c9.4 34 40.8 59 78.2 59h529.4c37.4 0 68.8-25 78.6-59l103.4-375 1.2-11c0-22.2-18.4-40.4-40.8-40.4h-194.8z m-334.4 0l122.2-178 122.2 178H389.8zM512 734.2c-44.8 0-81.4-36.4-81.4-81s36.6-81 81.4-81 81.4 36.4 81.4 81-36.6 81-81.4 81z" ></path></symbol><symbol id="iconmd-build" viewBox="0 0 1024 1024"><path d="M948.2 796.4L578.2 424c36.6-94 16.2-204.6-61-282.2C435.8 60 313.8 43.6 216.2 88.6l174.8 176-122 122.8-179-176c-48.6 98-28.2 220.8 53 302.6 77.2 77.8 187 98.2 280.6 61.4l370 372.4c16.2 16.4 40.6 16.4 57 0l93.6-94c20.4-16.6 20.4-45.2 4-57.4z" ></path></symbol><symbol id="iconmd-boat" viewBox="0 0 1024 1024"><path d="M168.51 826h2.126c68.246 0 127.954-38.042 170.61-84.988 42.65 46.946 102.36 85.524 170.608 85.524s127.958-38.668 170.61-85.612C725.118 787.868 784.824 826 853.07 826h2.124l102.506-277.56c4.252-10.658 2.126-23.282-2.14-33.952-4.272-10.666-14.474-16.974-25.134-21.246L854 468.266v-196.3C854 225.02 814.688 186 767.768 186h-127.958l-31.986-106h-191.938l-31.99 106h-127.958C209.022 186 170 225.02 170 271.964v196.3l-76.148 25.066c-10.66 4.272-21.164 10.668-25.436 21.334-4.27 10.67-6.316 20.98-2.062 33.774L168.51 826zM256 272h512v168.522l-256-83.21-256 83.21V272z" ></path><path d="M682.462 816.014c-104.506 72.534-236.712 72.516-341.216-0.018 0 0-115.276 128.004-213.264 128.004h42.654c59.708 0 117.292-23.452 170.61-51.188 106.63 55.468 234.586 55.456 341.216-0.014C735.78 920.536 793.362 944 853.07 944h42.656c-95.302 0-213.264-127.986-213.264-127.986z" ></path></symbol><symbol id="iconmd-chatbubbles" viewBox="0 0 1024 1024"><path d="M265.6 736c-40.4 0-89.6-49.2-89.6-89.6V320h-19.2C123.4 320 96 347.4 96 380.8V928l117-116h430.2c33.4 0 60.8-28.2 60.8-61.8V736H265.6z" ></path><path d="M858.2 96H299.8C261.4 96 230 127.4 230 165.8V618c0 38.4 31.4 70 69.8 70h476.4l151.8 106V165.8c0-38.4-31.4-69.8-69.8-69.8z" ></path></symbol><symbol id="iconmd-compass" viewBox="0 0 1024 1024"><path d="M512 462.716c-26.884 0-49.286 22.4-49.286 49.284s22.4 49.286 49.286 49.286 49.286-22.4 49.286-49.286-22.402-49.284-49.286-49.284zM512 64C265.6 64 64 265.6 64 512s201.6 448 448 448 448-201.6 448-448S758.4 64 512 64z m98.568 546.568L243.2 780.8l170.232-367.358L780.8 243.2l-170.232 367.368z" ></path></symbol><symbol id="iconmd-bowtie" viewBox="0 0 1024 1024"><path d="M552 608h-80c-30.8 0-56-25.2-56-56v-80c0-30.8 25.2-56 56-56h80c30.8 0 56 25.2 56 56v80c0 30.8-25.2 56-56 56z m-200-48v-96c0-36.4 17.4-68.8 44.4-89.2C384 320 192 192 128 192c-35.2 0-64 28.8-64 64v512c0 35.2 28.6 64 64 64 64 0 256-128 268.4-182.8-27-20.4-44.4-52.8-44.4-89.2zM896 192c-64 0-256 128-268.4 182.8 27 20.4 44.4 52.8 44.4 89.2v96c0 36.4-17.4 68.8-44.4 89.2C640 704 832 832 896 832c35.4 0 64-28.8 64-64V256c0-35.2-28.8-64-64-64z" ></path></symbol><symbol id="iconmd-camera" viewBox="0 0 1024 1024"><path d="M512 560m-126 0a126 126 0 1 0 252 0 126 126 0 1 0-252 0Z" ></path><path d="M880 192h-176l-64-64H384l-64 64H144c-44.184 0-80 35.816-80 80v544c0 44.184 35.816 80 80 80h736c44.184 0 80-35.816 80-80V272c0-44.184-35.816-80-80-80zM512 784c-123.71 0-224-100.29-224-224s100.29-224 224-224 224 100.29 224 224-100.29 224-224 224z" ></path></symbol><symbol id="iconmd-cloudy" viewBox="0 0 1024 1024"><path d="M246.8 366c0.8-0.2 1.6-0.2 2.4-0.4-1 0.2-1.6 0.4-2.4 0.4z" ></path><path d="M786.4 438.4C761 309.2 647.8 212 512 212c-79.4 0-152 28-201.8 90.8 68.6 5.2 132.2 30.4 181.4 79.6 36.4 36.4 62 81 74.8 129.6h-67c-30.6-87.4-112-150-211.4-150-12 0-28.6 1.4-41.2 4C140 388 64 476.8 64 587 64 711.2 164.4 812 288 812h485.4c103 0 186.6-84 186.6-187.6 0-98.8-76.6-179.2-173.6-186z" ></path></symbol><symbol id="iconmd-cafe" viewBox="0 0 1024 1024"><path d="M96 800h736v96H96zM848 128H160v448c0 88 72 160 160 160h288c88 0 160-72 160-160v-128h80c44 0 80-36 80-80v-160c0-44-36-80-80-80z m0 224h-80v-128h80v128z" ></path></symbol><symbol id="iconmd-document" viewBox="0 0 1024 1024"><path d="M576 96H272c-44.184 0-80 35.816-80 80v672c0 44.184 35.816 80 80 80h480c44.184 0 80-35.816 80-80V352L576 96z m-32 288V160l224 224H544z" ></path></symbol><symbol id="iconmd-color-palette" viewBox="0 0 1024 1024"><path d="M512 128C300.802 128 128 300.802 128 512c0 211.208 172.802 384 384 384 36.272 0 64-27.728 64-64 0-17.062-6.396-32-17.062-42.666-10.666-10.668-17.062-25.606-17.062-42.668 0-36.27 27.728-64 64-64h76.792c117.334 0 213.334-96 213.334-213.332C896 281.604 723.208 128 512 128zM277.334 512c-36.272 0-64-27.728-64-64s27.728-64 64-64c36.27 0 64 27.728 64 64s-27.73 64-64 64z m128-170.666c-36.272 0-64-27.73-64-64 0-36.272 27.728-64 64-64 36.27 0 64 27.728 64 64 0 36.27-27.73 64-64 64z m213.332 0c-36.27 0-64-27.73-64-64 0-36.272 27.73-64 64-64 36.272 0 64 27.728 64 64 0 36.27-27.728 64-64 64z m128 170.666c-36.27 0-64-27.728-64-64s27.73-64 64-64c36.272 0 64 27.728 64 64s-27.728 64-64 64z" ></path></symbol><symbol id="iconmd-disc" viewBox="0 0 1024 1024"><path d="M512 96C282.4 96 96 282.4 96 512s186.4 416 416 416 416-186.4 416-416S741.6 96 512 96z m0 603.2c-103.6 0-187.2-83.6-187.2-187.2s83.6-187.2 187.2-187.2 187.2 83.6 187.2 187.2-83.6 187.2-187.2 187.2z m0-228.8c-22.8 0-41.6 18.8-41.6 41.6s18.8 41.6 41.6 41.6 41.6-18.8 41.6-41.6-18.8-41.6-41.6-41.6z" ></path></symbol><symbol id="iconmd-flask" viewBox="0 0 1024 1024"><path d="M873.8 708.8L672 384V192h64V96H288v96h64v192L152.2 708.8C135.4 740.6 127.2 771.6 128 800c2.2 73 57.4 128 130.2 128H770c72.6 0 124.2-55.2 126-128 0.6-28.4-5.2-59.4-22.2-91.2zM310.2 608l59-96h286.2l59.6 96H310.2z" ></path></symbol><symbol id="iconmd-cube" viewBox="0 0 1024 1024"><path d="M934.6 336.2c-3.6 0-7 0.6-10.2 2l-355.2 184.2h-0.2c-15.2 9.4-25 25-25 42.8v371.8c0 12.8 11.2 23 25.4 23 4.4 0 8.6-1 12.2-2.8 0.4-0.2 0.8-0.4 1-0.6L932 771.2l0.6-0.2c16.4-9 27.4-25.4 27.4-44.2V359.2c0-12.8-11.4-23-25.4-23z m-26-99.2L545.2 73.6S523.8 64 512 64c-11.8 0-33 9.6-33 9.6L115.2 237s-16 6.6-16 19c0 13.2 16.6 23 16.6 23l371 195.6c7.6 3.4 16.2 5.2 25.2 5.2 9.2 0 17.8-2 25.4-5.4l370.8-195.8s15-8 15-23c0.2-12.6-14.6-18.6-14.6-18.6zM455 522.4L99.6 338c-3-1.2-6.6-2-10.2-2-14 0-25.4 10.2-25.4 23v367.6c0 18.8 11 35.2 27.4 44.2l0.4 0.2 349.4 185.4c3.8 2.2 8.4 3.4 13.2 3.4 14 0 25.4-10.4 25.4-23V565.2c0.2-17.8-9.8-33.6-24.8-42.8z" ></path></symbol><symbol id="iconmd-help-buoy" viewBox="0 0 1024 1024"><path d="M512 96C282.2 96 96 282.2 96 512s186.2 416 416 416 416-186.2 416-416S741.8 96 512 96z m122 712l-24.4-79.2c26-11.6 49.8-28 70.6-48.8 20.8-20.8 37.2-44.6 48.8-70.6l79 24.2c-15.8 38.6-39.4 74-69.8 104.4-30.2 30.6-65.6 54.2-104.2 70zM390 216l24.4 79.2c-26 11.6-49.8 28-70.6 48.8-20.8 20.8-37.2 44.6-48.8 70.6L216 390.4c15.8-38.6 39.4-74 69.8-104.4 30.2-30.6 65.6-54.2 104.2-70z m122 168c70.6 0 128 57.4 128 128s-57.4 128-128 128-128-57.4-128-128 57.4-128 128-128z m226.2-98.2c30.4 30.4 53.8 65.8 69.8 104.2l-79 24.4c-11.8-26-28-49.8-48.8-70.6-20.8-20.8-44.6-37.2-70.6-48.8l24.2-79c38.6 15.8 74 39.4 104.4 69.8zM285.8 738.2c-30.4-30.2-54-65.6-69.8-104.2l79-24.4c11.8 26 28 49.8 48.8 70.6 20.8 20.8 44.6 37.2 70.6 48.8L390.2 808c-38.6-15.8-74-39.4-104.4-69.8z" ></path></symbol><symbol id="iconmd-cart" viewBox="0 0 1024 1024"><path d="M339.2 755.2c-45.764 0-83.2 37.436-83.2 83.202 0 45.764 37.436 83.2 83.2 83.2s83.202-37.436 83.202-83.2c-0.002-45.768-37.44-83.202-83.202-83.202zM96 102.4v83.2h83.2l149.766 303.364-62.616 101.908c-6.236 10.4-10.4 24.964-10.4 39.53 0 55.7 38.05 83.2 89.65 83.2H832v-80H355.786c-6.236 0-10.4-4.164-10.4-10.4 0-2.072 4.414-10.4 4.414-10.4l41.564-65.6h309.908c31.202 0 58.256-16.634 72.8-43.672l149.764-257.6c2.474-4.922 4.164-12.492 4.164-20.798 0-22.892-18.728-39.53-41.6-39.53H270.728L231.2 102.4H96z m652.798 652.8c-45.764 0-83.2 37.436-83.2 83.202 0 45.764 37.436 83.2 83.2 83.2S832 884.164 832 838.4c0-45.766-37.438-83.2-83.202-83.2z" ></path></symbol><symbol id="iconmd-chatboxes" viewBox="0 0 1024 1024"><path d="M783.106 128H115.214C106.262 128 96 135.49 96 144.318v428.434c0 8.826 10.262 17.248 19.214 17.248H230v177.788L410.256 590h372.85c8.954 0 14.894-8.422 14.894-17.248V144.318c0-8.828-5.942-16.318-14.894-16.318z" ></path><path d="M912.792 254H848v333.14c0 31.974-13.83 52.86-50.304 52.86H436.192l-77.81 78h259.376L798 896v-178h114.792c8.956 0 15.208-8.524 15.208-17.364V272.206c0-8.828-6.252-18.206-15.208-18.206z" ></path></symbol><symbol id="iconmd-image" viewBox="0 0 1024 1024"><path d="M896 810.666V213.334C896 166.396 857.604 128 810.666 128H213.334C166.396 128 128 166.396 128 213.334v597.332C128 857.604 166.396 896 213.334 896h597.332C857.604 896 896 857.604 896 810.666zM362.666 576l106.668 128 149.332-192 192 256H213.334l149.332-192z" ></path></symbol><symbol id="iconmd-ice-cream" viewBox="0 0 1024 1024"><path d="M256.2 512l256 448 256-448zM784 322c6-18 9.4-45.4 9.4-65.8 0-106.2-86-192.2-192.2-192.2-62.8 0-118.4 30-153.6 76.6 0 0-18.2 28-21.6 58l-6.8-2c-4.6-18-7.4-40 3.2-63-14.8-5-18.8-5.6-35.2-5.6-83.4 0-151.2 67.6-151.2 151.2 0 12.6 1.6 31 4.6 42.8-27.8 7-48.6 32.2-48.6 62 0 35.2 28.8 64 64 64h512c35.2 0 64-28.8 64-64 0-29.6-20.4-54.8-48-62z" ></path></symbol><symbol id="iconmd-jet" viewBox="0 0 1024 1024"><path d="M960 64s-46.8-1.4-118.6 54.2C808 144 489.8 373.6 489.8 373.6l-337.6-8.4L64 444l219.6 110.4-17.2 21.6-175.8 0.2-14.4 81 126.2 97.4-53.2 119.6 120-52.8 97.4 126.2 81-14.4 0.2-175.6 21.8-17L580.2 960l78.6-88.2-8.4-337.4S880.2 216.4 906 183.2C961.4 111 960 64 960 64z" ></path></symbol><symbol id="iconmd-film" viewBox="0 0 1024 1024"><path d="M752 128v85.334h-80V128H352v85.334h-80V128H192v768h80v-85.332h80V896h320v-85.332h80V896h80V128h-80zM352 725.334h-80V640h80v85.334z m0-170.666h-80v-85.334h80v85.334zM352 384h-80v-85.332h80V384z m400 341.334h-80V640h80v85.334z m0-170.666h-80v-85.334h80v85.334zM752 384h-80v-85.332h80V384z" ></path></symbol><symbol id="iconmd-cloudy-night" viewBox="0 0 1024 1024"><path d="M246.8 366c0.8-0.2 1.6-0.2 2.4-0.4-1 0.2-1.6 0.4-2.4 0.4z m436.2 240.8C661.4 495.4 564.4 412 448 412c-68 0-130.2 24-173 78.2 58.8 4.4 113.4 26.2 155.4 68.4 31.2 31.4 53.2 69.8 64.2 111.6h-57.4c-26.2-75.2-96-129-181.2-129-10.2 0-24.6 1.2-35.4 3.4-91.4 18.8-156.6 95.2-156.6 190 0 106.8 86 193.6 192 193.6h416c88.2 0 160-72.2 160-161.2-0.2-85.4-65.8-154.4-149-160.2z" ></path><path d="M225 450.8c27.2-34.6 61.4-61 101.6-78.4 36.8-16 77.6-24 121.4-24 12.2 0 24.4 0.8 36.4 2.2-12.2-36.2-18.8-75.2-18.8-115.6 0-49.2 9.8-96.2 27.6-138.8C323.8 137.4 198 291.4 198 474.6c0 3.2 0 6.4 0.2 9.6 0.2 0 0.4-0.2 0.6-0.2l26.2-33.2z m610.2 162.8c26.6 28.4 45.2 63 54.2 100.2 33-42.8 57.4-92.8 70.6-147-42.4 18-89 27.8-137.8 27.8h-7.2c7 5.8 13.8 12.2 20.2 19z" ></path></symbol><symbol id="iconmd-flower" viewBox="0 0 1024 1024"><path d="M810.2 512c50.4-23.8 85.8-74.2 85.8-133.8 0-82-67.2-148.6-150-148.6-31.8 0-60.6 9.6-85.2 26.2l1.2-11.2c0-82-67.2-148.6-150-148.6s-150 66.6-150 148.6l1.2 11.2c-24-16.6-53.4-26.2-85.2-26.2-82.8 0-150 66.6-150 148.6 0 59.4 35.4 110 85.8 133.8C163.4 535.8 128 586.2 128 645.8c0 82 67.2 148.6 150 148.6 31.8 0 60.6-9.6 85.2-26.2l-1.2 11.2c0 82 67.2 148.6 150 148.6s150-66.6 150-148.6l-1.2-11.2c24 16.6 53.4 26.2 85.2 26.2 82.8 0 150-66.6 150-148.6 0-59.6-35.4-110-85.8-133.8zM512 660.6c-82.8 0-150-66.6-150-148.6s67.2-148.6 150-148.6 150 66.6 150 148.6-67.2 148.6-150 148.6z" ></path></symbol><symbol id="iconmd-nutrition" viewBox="0 0 1024 1024"><path d="M714.4 471.2L549.4 306h-1.6c-16.2-12-36.4-20.6-56.8-20.6-27.4 0-52.2 12.6-68.6 32.6h-1.2L106 828.2v1.6c-6 12.4-10 26.6-10 41.6 0 48.8 39.4 88.6 88.6 88.6 18.8 0 36-5.8 54.8-18.2l465.8-336.2c21.8-16.6 34.8-43.2 34.8-72 0-24-9.4-46.4-25.6-62.4zM928 290.2l-58.4-98-73.2 40.6 63-111.8L761.2 64l-134.6 255.6 82.6 82.8z" ></path></symbol><symbol id="iconmd-medal" viewBox="0 0 1024 1024"><path d="M547 304.2H96l108.2-207.8h481.4z" ></path><path d="M512.4 754.4m-173.2 0a173.2 173.2 0 1 0 346.4 0 173.2 173.2 0 1 0-346.4 0Z" ></path><path d="M697.8 598.2l230.2-294-138.6-207.8L512.8 512c64.6 0 125.4 25.4 171 71 5 5 9.6 10 14 15.2z m-286.2-65L304.6 372H96.8l180.2 323c10.4-42.4 32.2-81.2 64-112.8 20.8-20.6 44.6-37.2 70.6-49z" ></path></symbol><symbol id="iconmd-cloud-circle" viewBox="0 0 1024 1024"><path d="M512 96C283.2 96 96 283.2 96 512s187.2 416 416 416 416-187.2 416-416S740.8 96 512 96z m187.2 582.4H345.602c-68.636 0-124.8-56.164-124.8-124.798 0-68.638 56.164-124.8 124.8-124.8h6.234c18.728-72.8 83.202-124.798 160.166-124.798 91.528 0 166.398 74.87 166.398 166.396h20.8c58.236 0 104 45.764 104 104.002 0 58.234-45.764 103.998-104 103.998z" ></path></symbol><symbol id="iconmd-contact" viewBox="0 0 1024 1024"><path d="M512 96C283.2 96 96 283.2 96 512s187.2 416 416 416 416-187.2 416-416S740.8 96 512 96z m0 124.8c68.6 0 124.8 56.2 124.8 124.8s-56.2 124.8-124.8 124.8-124.8-56.2-124.8-124.8 56.2-124.8 124.8-124.8z m0 600.8c-104 0-195.6-54-249.6-133.2 2-83.2 166.4-129 249.6-129s247.6 45.8 249.6 129c-54 79-145.6 133.2-249.6 133.2z" ></path></symbol><symbol id="iconmd-microphone" viewBox="0 0 1024 1024"><path d="M768 224V168.8c0-58-49-104.8-109.6-104.8H365.8C305 64 256 110.8 256 168.8V224h304v74H256v86h304v74H256v86h304v74H256v83.6c0 58 49 104.4 109.8 104.4H426v154h172v-154h60.4c60.6 0 109.6-46.4 109.6-104.4V618h-112v-74h112v-86h-112v-74h112v-86h-112v-74h112z" ></path></symbol><symbol id="iconmd-contrast" viewBox="0 0 1024 1024"><path d="M512 96C282.2 96 96 282.2 96 512s186.2 416 416 416 416-186.2 416-416S741.8 96 512 96z m226.2 642.2C677.8 798.8 597.4 832 512 832V192c85.4 0 165.8 33.2 226.2 93.8C798.8 346.2 832 426.6 832 512s-33.2 165.8-93.8 226.2z" ></path></symbol><symbol id="iconmd-person-add" viewBox="0 0 1024 1024"><path d="M608 512c105.61 0 192-86.402 192-192s-86.39-192-192-192-192 86.402-192 192 86.39 192 192 192z m0 96c-127.196 0-384 64.804-384 192v96h768v-96c0-127.196-256.804-192-384-192z m-384-160v-128H160v128H32v64h128v128h64v-128h128v-64h-128z" ></path></symbol><symbol id="iconmd-easel" viewBox="0 0 1024 1024"><path d="M256 352h512v256H256z" ></path><path d="M896 192H128c-17.6 0-32 14.4-32 32v512c0 17.6 13.8 32 31.6 32H896c17.6 0 32-14.4 32-32V224c0-17.6-14.4-32-32-32z m-64 480H192V288h640v384zM160 928h114l45-128h-112.8zM558.8 96h-93.6l-23 64h139.6zM750 928h114l-46-128h-113z m-286-128h96v64h-96z" ></path></symbol><symbol id="iconmd-partly-sunny" viewBox="0 0 1024 1024"><path d="M496.06 233.62l49.358-49.356 38.466 38.468-49.356 49.354zM352 251.4c-90.6 0-164.6 74-164.6 164.6 0 35 11 67.4 29.8 94 30.6-26 67.8-45.2 109.4-55.2l26.4-33.2c27.2-34.2 61.4-60.4 101.6-77.8 12.2-5.2 24.8-9.6 38-13.2-29-47.4-81.2-79.2-140.6-79.2zM324 128h56v82h-56zM64 388h82v56H64z m99.2 165.6l-1.6-1.6-49.4 49.4 38.4 38.4 49.4-49.4zM158.578 184.26l49.356 49.356-38.466 38.466-49.356-49.356zM811.2 577.2C789.4 466.8 692.4 384 576 384c-68 0-130.2 23.8-173 77.6 58.8 4.4 113.4 26 155.6 67.8 31.2 31.2 53.2 69.2 64.2 110.6h-57.4c-26.2-74.6-96-128-181.2-128-10.2 0-24.6 1.2-35.4 3.4C257.2 534.2 192 610 192 704c0 106 86 192 192 192h416c88.4 0 160-71.6 160-160 0-84.4-65.6-153-148.8-158.8z" ></path></symbol><symbol id="iconmd-outlet" viewBox="0 0 1024 1024"><path d="M739 64H284.8C163 64 64 165.2 64 289.2v445.6c0 124 99 225.2 220.8 225.2h454.4c121.8 0 221-101.2 221-225.2V289.2C960 165.2 861 64 739 64zM350 502v1.4c0 21.8-18.2 40.8-39.8 40.8h-46.6c-21.6 0-39.8-19-39.8-40.8V296.2c2-21.6 18.4-40.4 39.8-40.4h46.6c21.8 0 39.8 19.6 39.8 41.6V502z m244 294.8c0 22.8-17.8 35.2-40.2 35.2h-83.6c-22.4 0-40.2-16.2-40.2-39.2v-58.6c0-46.6 36.2-84.6 82-84.6s82 38 82 84.6v62.6zM800 502v1.4c0 21.8-18.2 40.8-39.8 40.8h-48.6c-21.6 0-39.8-19-39.8-40.8V296.2c2-21.6 18.4-40.4 39.8-40.4h48.6c21.6 0 39.8 19.6 39.8 41.6V502z" ></path></symbol><symbol id="iconmd-people" viewBox="0 0 1024 1024"><path d="M674.908 464c67.198 0 122.184-54.004 122.184-120 0-65.994-54.986-120-122.184-120s-122.18 54.006-122.18 120c0 65.996 54.982 120 122.18 120z m-325.816 0c67.198 0 122.18-54.004 122.18-120 0-65.994-54.982-120-122.18-120s-122.184 54.006-122.184 120c0 65.996 54.986 120 122.184 120z m0 88C253.376 552 64 597.996 64 692v108h576v-108c0-94.004-195.198-140-290.908-140z m325.816 22.006c-12.21 0-20.65 0-34.908 1.994 46.852 34.004 64 56 64 116v108h256v-108c0-94.004-189.376-117.994-285.092-117.994z" ></path></symbol><symbol id="iconmd-heart-dislike" viewBox="0 0 1024 1024"><path d="M103.8 153.2l50 50c-36.2 40.6-58 94.6-58 155.2 0 159 141.4 286.6 355.6 483.4L512 896l60.4-54.4c41.2-37.8 79.8-73.2 115-106.6l184.4 184 48-48-767.6-766-48.4 48.2zM928 358.2C928 228.4 828.2 128 699.2 128c-72.8 0-141.4 33.4-187.2 87.8C466.2 161.4 397.6 128 324.8 128c-16.8 0-33 1.8-48.6 5l507.4 506.2C874.6 541.8 928 456 928 358.2z" ></path></symbol><symbol id="iconmd-moon" viewBox="0 0 1024 1024"><path d="M390 250c0-52.6 10.6-102.6 29.8-148.2C237.4 146 102 310.2 102 506c0 229.6 186.4 416 416 416 195.8 0 360-135.4 404.2-317.8-45.6 19.2-95.8 29.8-148.2 29.8-212 0-384-172-384-384z" ></path></symbol><symbol id="iconmd-laptop" viewBox="0 0 1024 1024"><path d="M874.668 832C921.606 832 960 793.606 960 746.668V213.336C960 166.398 921.606 128 874.668 128H149.332C102.394 128 64 166.398 64 213.336v533.332C64 793.606 102.394 832 149.332 832H0c0 46.938 128 64 192 64h640c64 0 192-17.062 192-64h-149.332zM149.332 213.336h725.336v543.996H149.332V213.336zM512 869.332c-23.458 0-42.666-19.208-42.666-42.668 0-23.458 19.208-42.664 42.666-42.664s42.666 19.208 42.666 42.664c0 23.46-19.208 42.668-42.666 42.668z" ></path></symbol><symbol id="iconmd-heart" viewBox="0 0 1024 1024"><path d="M512 896l-60.328-54.422C237.436 644.884 96 517.22 96 358.19 96 228.442 195.836 128 324.8 128c72.798 0 141.434 33.484 187.2 87.894C557.764 161.484 626.398 128 699.2 128 828.164 128 928 228.442 928 358.19c0 159.032-141.438 286.696-355.672 483.388L512 896z" ></path></symbol><symbol id="iconmd-flame" viewBox="0 0 1024 1024"><path d="M786.6 444.2l-0.4 20.8c-1.6 23.4-15.8 86.8-44.2 109.4 14-30.4 34.6-94.4 20.4-165.4C723.2 214 575 131.2 386 100l-34.4-4.4c79 94.4 112.2 163.4 99.4 233.6-4.6 25.2-20 46.8-28 63.2 0 0 4.8-25.8 4-57.4-0.6-28.4-13.2-62-36-79.2 7 36.8-1.6 67-18.2 95.4-49.4 84.4-170.8 115.6-180.8 271.6v7.6c0 107.4 51.2 198 137.4 250-13.6-24.6-24-70.4-11.4-120.4 8 47.4 28 72 49.8 103.6 16.4 23.4 38.2 38.6 66.2 49.8s62 14.4 95.8 14.4c111.6 0 182.8-36.2 238.2-101s64.2-136 64.2-212.8-17-121.8-45.6-169.8z" ></path></symbol><symbol id="iconmd-lock" viewBox="0 0 1024 1024"><path d="M752 372h-40v-80c0-110-90-200-200-200S312 182 312 292v80h-40c-44.004 0-80 35.996-80 80v400c0 44.004 35.996 80 80 80h480c44.004 0 80-35.996 80-80V452c0-44.004-35.996-80-80-80zM512 736c-44.004 0-80-35.996-80-80s35.996-80 80-80 80 35.996 80 80-35.996 80-80 80z m124.004-364H387.996v-80c0-68.008 56.006-124.004 124.004-124.004 68.008 0 124.004 55.996 124.004 124.004v80z" ></path></symbol><symbol id="iconmd-musical-note" viewBox="0 0 1024 1024"><path d="M512 128v450.2c-25.2-14.6-54.2-23.4-85.4-23.4-94.2 0-170.6 76.4-170.6 170.6s76.4 170.6 170.6 170.6 170.6-76.4 170.6-170.6V298.6H768V128H512z" ></path></symbol><symbol id="iconmd-information-circle" viewBox="0 0 1024 1024"><path d="M512 96C282.4 96 96 282.4 96 512s186.4 416 416 416 416-186.4 416-416S741.6 96 512 96z m42 624h-84V470h84v250z m0-332h-84v-84h84v84z" ></path></symbol><symbol id="iconmd-help-circle" viewBox="0 0 1024 1024"><path d="M512 96C282.4 96 96 282.4 96 512s186.4 416 416 416 416-186.4 416-416S741.6 96 512 96z m42 666h-84v-84h84v84z m-0.4-126h-83.2c0-134 124.8-124.4 124.8-207.6 0-45.8-37.4-83.4-83.2-83.4S428.8 384 428.8 428h-83.2c0-92 74.4-166 166.4-166s166.4 74.2 166.4 166.2c0 104-124.8 115.8-124.8 207.8z" ></path></symbol><symbol id="iconmd-mail" viewBox="0 0 1024 1024"><path d="M874.664 160H149.336C102.398 160 64 198.396 64 245.334v533.332C64 825.604 102.398 864 149.336 864h725.328C921.602 864 960 825.604 960 778.666V245.334C960 198.396 921.602 160 874.664 160zM864 341.334L512 576 160 341.334V256l352 234.666L864 256v85.334z" ></path></symbol><symbol id="iconmd-journal" viewBox="0 0 1024 1024"><path d="M234.6 85.4c-35.2 0-64 28.8-64 64v725.4c0 35.2 28.8 64 64 64H640V85.4H234.6z m534.8 0H736v853.4h33.4c46.2 0 84-37.8 84-84V169.4c0-46.2-37.8-84-84-84z" fill="#010101" ></path></symbol><symbol id="iconmd-mail-unread" viewBox="0 0 1024 1024"><path d="M864 256m-128 0a128 128 0 1 0 256 0 128 128 0 1 0-256 0Z" ></path><path d="M765.8 406.8L512 576 160 341.4V256l352 234.6 202.2-134.8c-19-28.6-30.2-63-30.2-99.8 0-35.2 10.2-68.2 27.8-96H149.4C102.4 160 64 198.4 64 245.4v533.4c0 47 38.4 85.4 85.4 85.4h725.4c47 0 85.4-38.4 85.4-85.4V408.2c-27.8 17.6-60.8 27.8-96 27.8-36.4 0-70.2-10.8-98.4-29.2z" ></path></symbol><symbol id="iconmd-notifications-off" viewBox="0 0 1024 1024"><path d="M512 927.312c45.628 0 82.95-37.312 82.95-83.312h-165.9c0 46 37.322 83.312 82.95 83.312z" ></path><path d="M262.166 214.344l0.106 0.148L196.18 148.554 148.008 196.766l126.084 126.306C253.776 361.042 242 404.392 242 450.14v229.11l-82 83.312V804h595.486l72.364 72.66 48.158-48.602L851.8 804h0.632L262.166 214.344zM782 450.14c0-127.052-90-235.354-208-262.436V158.548c0-35.412-26.742-62.486-62-62.486-35.256 0-62 27.074-62 62.486v29.156c-30 6.876-58.096 19.002-83.5 35.326L782 638.71V450.14z" ></path></symbol><symbol id="iconmd-notifications" viewBox="0 0 1024 1024"><path d="M512 928c45.558 0 82.822-37.438 82.822-83.2h-165.646c0 45.762 37.266 83.2 82.824 83.2z m269.178-249.6V449.6c0-126.88-89.032-235.036-207.06-262.082V158.4c0-35.364-26.914-62.4-62.118-62.4s-62.118 27.036-62.118 62.4v29.118c-118.03 27.046-207.06 135.202-207.06 262.082v228.8L160 761.6v41.6h704v-41.6l-82.822-83.2z" ></path></symbol><symbol id="iconmd-nuclear" viewBox="0 0 1024 1024"><path d="M672 544c0-59.6-32.6-111.4-80.8-139l146.2-248.2C671.2 118.2 594.2 96 512 96c-82.4 0-159.8 22.4-226.2 61.2l143.2 250C382.8 435.2 352 486 352 544H64c0 166.6 93.8 306.8 228.8 384l140.2-244.8c23.4 13.2 50.2 20.8 79 20.8 28.6 0 55.4-7.6 78.6-20.6L731.2 928C866.2 850.8 960 710.6 960 544H672z" ></path></symbol><symbol id="iconmd-medkit" viewBox="0 0 1024 1024"><path d="M704 288v-79.2C704 164 668 128 623.2 128H400.8C356 128 320 164 320 208.8V288H96v527.2C96 860 132 896 176.8 896h670.4c44.8 0 80.8-36 80.8-80.8V288H704z m-304-80h224v80H400v-80z m272 448h-112v112h-96v-112h-112v-96h112v-112h96v112h112v96z" ></path></symbol><symbol id="iconmd-paw" viewBox="0 0 1024 1024"><path d="M919 331.8c-9.4-21-25.4-36.2-46.2-44-9.6-3.4-19.4-5.2-29.6-5.2-43.4 0-87.4 33.4-109.8 83.2-27.6 61.8-11.6 122 37.2 140.6 9.8 3.6 20.2 5.6 31.2 5.6 44.2 0 89.2-30.6 111.8-76.2 17-35 19-73.6 5.4-104z m-628.4 33.8c-22.2-49.8-66.4-83.2-109.8-83.2-10.2 0-20.2 1.8-29.6 5.2-20.8 7.8-36.6 23-46.2 44-13.8 30.4-11.8 69.2 5.4 103.8 22.6 45.6 67.6 76.2 111.8 76.2 10.8 0 21.4-1.8 31.2-5.6 48.8-18.2 64.8-78.6 37.2-140.4z m96.4-6.8c4 0.2 8 0 12-0.4 23.4-1.8 44.6-11.8 61.2-28.6 26.8-27.2 34.2-69.8 28.6-113.6-8.6-67.4-51.6-118-109.6-120.2 0 0-8.2 0-12.4 0.4-25.6 2.2-48.8 13-67 31.8-26.6 27.2-39.4 67.4-34.2 107.6 8.6 66.8 61.8 120.8 121.4 123zM512 448c-138.6 0-277.4 194.2-277.4 352.6 0 47.2 23.6 85.2 47 100.8 28.8 19.2 49 26.8 91 26.8 26.8 0 43.2-5 56.2-12.2 24.6-13.4 51.8-20.8 79.8-20.8h7c28 0 55.2 7.6 79.8 20.8 13 7 29.4 12.2 56.2 12.2 42.2 0 62.4-7.6 91-26.8 23.2-15.6 47-53.6 47-100.8C789.4 642 650.6 448 512 448z m113.2-89.8c4 0.4 8 0.4 12 0.4 59.6-2.2 113-56 121.6-123 5.2-40.4-7.6-80.8-34.2-107.6-18.4-18.6-40.6-29.2-66.2-31.2-4.2-0.4-13.4-0.4-13.4-0.4-57.8 2.2-100.8 52.2-109.6 119.8-5.6 43.8 1.8 86.6 28.6 113.6 16.8 16.6 38 26.4 61.2 28.4z" ></path></symbol><symbol id="iconmd-person" viewBox="0 0 1024 1024"><path d="M512 512c105.61 0 192-86.402 192-192s-86.39-192-192-192-192 86.402-192 192 86.39 192 192 192z m0 96c-127.196 0-384 64.804-384 192v96h768v-96c0-127.196-256.804-192-384-192z" ></path></symbol><symbol id="iconios-notifications-off" viewBox="0 0 1024 1024"><path d="M511.8 912c62.2 0 96.2-44 96.2-106h-192.6c0 62 34 106 96.4 106zM309 110c-5-8.6-14-13.6-23.2-14h0.6-2.4c-4.6 0-9.4 1.4-13.8 3.8-13.6 7.8-18.2 25.2-10.2 38.6L715 914c5.2 9 14.8 14 24.6 14 4.8 0 9.8-1.2 14.4-3.8 13.6-7.8 18.2-25.2 10.2-38.6L309 110z m283.2 658L318 301c-16.4 40.4-26.6 92-26.6 157.2 0 181.8-60.6 205.4-91.4 246.2-19.8 26.2-1 63.6 31.8 63.6h360.4zM824 704.4c-30.8-40.6-91.4-64.4-91.4-246.2 0-186.6-82.4-261.6-159.2-279.6-7.2-1.8-12.4-4.2-12.4-11.8v-5.8c0-26.8-22-49.4-48.8-49.2-26.8-0.4-48.8 22.4-48.8 49.2v5.8c0 7.4-5.2 10-12.4 11.8-17.4 4-35 11-51.8 21.6L732.2 768H792c33 0 51.8-37.6 32-63.6z" ></path></symbol><symbol id="iconios-notifications" viewBox="0 0 1024 1024"><path d="M511.8 912c62.2 0 96.2-44 96.2-106h-192.6c0 62 34 106 96.4 106zM824 704.4c-30.8-40.6-91.4-64.4-91.4-246.2 0-186.6-82.4-261.6-159.2-279.6-7.2-1.8-12.4-4.2-12.4-11.8v-5.8c0-26.8-22-49.4-48.8-49.2-26.8-0.4-48.8 22.4-48.8 49.2v5.8c0 7.4-5.2 10-12.4 11.8-77 18.2-159.2 93-159.2 279.6 0 181.8-60.6 205.4-91.4 246.2-19.8 26.2-1 63.6 31.8 63.6h560.2c32.6 0 51.4-37.6 31.6-63.6z" ></path></symbol><symbol id="iconios-pie" viewBox="0 0 1024 1024"><path d="M552 136.2v438c0 7.4-5 13.6-12 15.4L162.2 686.8c-4.6 1.2-7.2 6.2-5.4 10.8C218.2 852 369.8 961.2 546.4 960c229.2-1.4 413.6-187 413.6-416 0-224.2-177.2-407-399.6-415.6-4.6-0.2-8.4 3.4-8.4 7.8z" ></path><path d="M64 478.6s0.4 97.6 30.4 162.2c1.6 3.6 5.6 5.4 9.2 4.4l387.6-99.4c7-1.8 12.8-9.2 12.8-16.4V72c0-4.4-3.6-8-8-8C182 67.8 64 298 64 478.6z" ></path></symbol><symbol id="iconios-rocket" viewBox="0 0 1024 1024"><path d="M923.6 107.2c-0.8-3.4-3.2-6-6.6-6.8-108.8-26.6-360.2 68.2-496.4 204.4-26.6 26.6-48.4 52.8-66.2 78.2-42-3.8-84-0.6-119.8 15-101 44.4-130.4 160.4-138.6 210.2-2 11.8 7.8 22 19.6 20.8l162.2-17.8c0.2 15.6 1.2 28 2.2 36.6 0.8 8.4 4.6 16.2 10.6 22.2l62.8 62.8c6 6 13.8 9.8 22.2 10.6 8.6 1 21 2 36.4 2.2l-17.8 162c-1.2 11.8 9 21.6 20.8 19.6 49.8-8 166-37.4 210.2-138.4 15.6-35.8 18.8-77.6 15.2-119.4 25.4-17.8 51.8-39.6 78.4-66.2 136.8-136 231-381.8 204.8-496zM597.2 427c-33.4-33.4-33.4-87.4 0-120.8 33.4-33.4 87.4-33.4 120.8 0 33.4 33.4 33.4 87.4 0 120.8-33.4 33.4-87.4 33.4-120.8 0z" ></path><path d="M349 761c-8.4 8.4-23.4 13.2-39.6 16-36.4 6.2-68.2-25.6-62-62 2.8-16.2 7.4-31.2 15.8-39.4l0.2-0.2c4.6-4.6 0.8-12.2-5.6-11.4-19.6 2.4-38.8 11.2-53.8 26.2-36 36-39.4 169.6-39.4 169.6s133.8-3.4 169.8-39.4c15.2-15.2 23.8-34.2 26.2-53.8 0.6-6.4-7.2-10.2-11.6-5.6z" ></path></symbol><symbol id="iconios-people" viewBox="0 0 1024 1024"><path d="M698.2 669.4c-22.4-8-59-8.4-75.2-14.6-11.2-4.4-29-9.2-34.8-16.2-5.8-7-5.8-57-5.8-57s14-13.2 19.8-28c5.8-14.6 9.6-55 9.6-55s13.2 5.6 18.4-20.8c4.4-22.8 12.8-34.8 10.6-51.6-2.4-16.8-11.6-12.8-11.6-12.8s11.6-17 11.6-74.8c0-59.6-45-118.2-129.2-118.2-84 0-129.4 58.8-129.4 118.2 0 57.8 11.4 74.8 11.4 74.8s-9.4-4-11.6 12.8c-2.4 16.8 6 28.8 10.6 51.6 5.2 26.6 18.4 20.8 18.4 20.8s3.8 40.2 9.6 55c5.8 14.8 19.8 28 19.8 28s0 50-5.8 57-23.6 11.8-34.8 16c-16 6.2-52.6 7-75.2 15-22.4 8-91.6 44.4-91.6 134.4h556.6c0.2-90.2-69-126.6-91.4-134.6z" ></path><path d="M280 572s47.8-1.6 66.8-18.6c-31-47-14.2-101.8-20.6-153-6.4-51-35.4-81.6-93.4-81.6h-0.8c-56 0-86.2 30.4-92.6 81.6-6.4 51 11.4 112-20.4 153C138 570.6 186 570 186 570s2 28.8-2 33.6c-4 4.8-15.8 9.4-24 11-17.6 3.8-36.2 9-51.8 14.4-15.6 5.4-45.2 34.4-45.2 74.4h160.6c4.4-16 34.6-44.6 64-59.6 18-9.2 35.8-8.6 49.4-10.4 0 0 7.6-12-17.4-16.6 0 0-34.4-8.6-38.4-13.4-3.8-4.4-1.2-31.4-1.2-31.4z m464 0s-47.8-1.6-66.8-18.6c31-47 14.2-101.8 20.6-153 6.4-51 35.4-81.6 93.4-81.6h0.8c56 0 86.2 30.4 92.6 81.6 6.4 51-11.4 112 20.4 153-19 17.2-67 16.6-67 16.6s-2 28.8 2 33.6c4 4.8 15.8 9.4 24 11 17.6 3.8 36.2 9 51.8 14.4 15.6 5.4 45.2 34.4 45.2 74.4h-160.6c-4.4-16-34.6-44.6-64-59.6-18-9.2-35.8-8.6-49.4-10.4 0 0-7.6-12 17.4-16.6 0 0 34.4-8.6 38.4-13.4 3.8-4.4 1.2-31.4 1.2-31.4z" ></path></symbol><symbol id="iconios-save" viewBox="0 0 1024 1024"><path d="M544 128h-32c-8.8 0-16 7.2-16 16v144c0 8.8 15.2 16 24 16h24c8.8 0 16-7.2 16-16V144c0-8.8-7.2-16-16-16z" ></path><path d="M867.8 260.2L764 156.4c-18-18-42.6-28.4-68.2-28.4h-56c-17.6 0-32 14.6-32 32.4v160c0 17.6-14.4 32-32 32H320c-17.6 0-32-14.4-32-32v-160c0-17.6-14.4-32.4-32-32.4H192c-35.2 0-64 28.8-64 64v640c0 35.2 28.8 64 64 64h640c35.2 0 64-28.8 64-64V328c0-25.4-10.2-49.8-28.2-67.8zM644 800.2c0 17.6-16 32-35.6 32H287.6c-19.6 0-35.6-14.4-35.6-32v-192c0-17.6 16-32 35.6-32h320.8c19.6 0 35.6 14.4 35.6 32v192z" ></path></symbol><symbol id="iconios-school" viewBox="0 0 1024 1024"><path d="M193.8 540.6V726c0 5.8 3 11 8 14l264 151.8c10.6 6.2 24-1.6 24-14v-187.6c0-5.8-3-11-8-14l-264-149.8c-10.8-5.8-24 2-24 14.2z m368 351.2L826 740c5-2.8 8-8.2 8-14v-187.4c0-12.4-13.2-20-24-14l-264 151.8c-5 2.8-8 8.2-8 14V878c-0.2 12.2 13.2 20 23.8 13.8z" ></path><path d="M498 130.2L74 377.8c-10.8 6.2-10.8 21.6 0 27.8l424 235.6c9.8 5.6 22 5.6 31.8 0L906 425.8c10.6-6.2 14 1.6 14 14v306.8c0 13.6 7.8 20 22 20 8.8 0 20-6.4 20-20V403c0-5.8-3-11-8-14L529.8 130.2c-9.8-5.6-22-5.6-31.8 0z" ></path></symbol><symbol id="iconios-ribbon" viewBox="0 0 1024 1024"><path d="M509.8 586.8c146 1.2 264.6-117.4 263.4-263.6-1.2-139.8-119.4-258-259-259.2-146-1.2-264.6 117.4-263.4 263.6 1.2 139.8 119.4 258 259 259.2z m-7.4-408.2c88.6-5.6 161.8 67.6 156.2 156.4-4.6 73.2-63.8 132.4-137 137.2-88.6 5.6-161.8-67.6-156.2-156.4 4.6-73.2 63.8-132.4 137-137.2z" ></path><path d="M512 616.8c-85.6 0-162.8-36.2-217-94-3.8-4-10.4-3.4-13.2 1.4L130.2 789.6c-6.2 11 1.6 24.6 14.4 24.6h160.2c5.8 0 11.2 3 14.2 8l78 129.8c6.8 11.4 23.6 10.4 29.2-1.6l86-189.2 62.6-137.8c2.8-6-2.4-12.6-9-11.4-17.6 3-35.4 4.8-53.8 4.8z m217-94.2c-29.2 31-64.8 56-105 72.2-2 0.8-3.6 2.2-4.4 4.2l-89.4 195.4c-1 2.2-1 4.6 0 6.8l67.8 149c5.4 12 22.4 13 29.2 1.6l78-129.8c3-5 8.4-8 14.2-8h160.2c12.6 0 20.6-13.6 14.4-24.6l-151.6-265.6c-3-4.4-9.6-5.2-13.4-1.2z" ></path></symbol><symbol id="iconios-stopwatch" viewBox="0 0 1024 1024"><path d="M831.8 287.4c6.2 6.2 16.4 6.2 22.6 0l22.6-22.6c6.2-6.2 6.2-16.4 0-22.6L826 191.2c-6.2-6.2-16.4-6.2-22.6 0l-22.6 22.6c-6.2 6.2-6.2 16.4 0 22.6l51 51z m-662.2 0c6.2 6.2 16.4 6.2 22.6 0l51-51c6.2-6.2 6.2-16.4 0-22.6l-22.6-22.6c-6.2-6.2-16.4-6.2-22.6 0L147 242c-6.2 6.2-6.2 16.4 0 22.6l22.6 22.8z" ></path><path d="M560 163V128c0-17.6-14.4-32-32-32h-32c-17.6 0-32 14.4-32 32v35C274.6 186.6 128 348.2 128 544c0 212 172 384 384 384s384-172 384-384c0-195.8-146.6-357.4-336-381z m-20 438.6V640c0 15.4-12.6 28-28 28s-28-12.6-28-28v-38.4c-21.4-10.4-36-32.2-36-57.6s14.6-47.2 36-57.6V288c0-15.4 12.6-28 28-28s28 12.6 28 28v198.4c21.4 10.4 36 32.2 36 57.6s-14.6 47.2-36 57.6z" ></path></symbol><symbol id="iconios-print" viewBox="0 0 1024 1024"><path d="M256 496v400c0 17.6 14.4 32 32 32h448c17.6 0 32-14.4 32-32V496c0-17.6-14.4-32-32-32H288c-17.6 0-32 14.4-32 32zM768 96H256c-17.6 0-32 14.4-32 32v40c0 4.4 3.6 8 8 8h560c4.4 0 8-3.6 8-8V128c0-17.6-14.4-32-32-32z" ></path><path d="M865 224h-704C125.8 224 96 251.6 96 286.6v348.8c0 35 29.8 64.6 65 64.6H192c8.8 0 16-7.2 16-16V472c0-31 25-56 56-56h496c31 0 56 25 56 56v212c0 8.8 7.2 16 16 16h33c35.2 0 63-29.6 63-64.6V286.6c0-35-27.8-62.6-63-62.6z" ></path></symbol><symbol id="iconios-refresh-circle" viewBox="0 0 1024 1024"><path d="M512 96C282.2 96 96 282.2 96 512s186.2 416 416 416 416-186.2 416-416S741.8 96 512 96z m0 672.2c-141.4 0-256-114.6-256-256.2s114.6-256.2 256-256.2v-74c0-12.8 14.2-20.4 24.8-13.4l145.8 105.2c9.8 6.6 9.4 21.2-0.8 27.2L536 393.4c-10.6 6.2-24-1.6-24-13.8v-83.8c-120.6 0-218.4 99.4-216.2 220.4 2.2 118.2 100.6 213.4 219 212 111.8-1.4 203.6-87.4 212.6-198 0.8-10.4 9.4-18.2 19.8-18.2 11.6 0 20.8 9.8 19.8 21.4-10.8 132-120.8 234.8-255 234.8z" ></path></symbol><symbol id="iconios-switch" viewBox="0 0 1024 1024"><path d="M288 736m-84 0a84 84 0 1 0 168 0 84 84 0 1 0-168 0Z" ></path><path d="M735 544h-446C182.4 544 96 630.4 96 737S182.4 928 289 928h446c106.6 0 193-84.4 193-191S841.6 544 735 544zM288 864c-70.6 0-128-57.4-128-128s57.4-128 128-128 128 57.4 128 128-57.4 128-128 128z" ></path><path d="M736 288m-84 0a84 84 0 1 0 168 0 84 84 0 1 0-168 0Z" ></path><path d="M289 480h446c106.6 0 193-84.4 193-191S841.6 96 735 96h-446C182.4 96 96 182.4 96 289S182.4 480 289 480zM736 160c70.6 0 128 57.4 128 128s-57.4 128-128 128-128-57.4-128-128 57.4-128 128-128z" ></path></symbol><symbol id="iconios-warning" viewBox="0 0 1024 1024"><path d="M457.8 159.8L103.6 806.2C81.2 846.6 111 896 157.8 896h708.6c46.6 0 76.4-49.4 54.2-89.8L566.2 159.8c-23.4-42.4-85-42.4-108.4 0zM547.2 428L540 672h-56l-7.2-244h70.4zM512 804.8c-21.4 0-38.2-16.2-38.2-36.8s16.8-36.8 38.2-36.8 38.2 16.2 38.2 36.8-16.8 36.8-38.2 36.8z" ></path></symbol><symbol id="iconmd-albums" viewBox="0 0 1024 1024"><path d="M309.4 928h533.4c47 0 85.4-38.4 85.4-85.4V309.4c0-47-38.4-85.4-85.4-85.4H309.4c-47 0-85.4 38.4-85.4 85.4v533.4c0 46.8 38.4 85.2 85.4 85.2z" ></path><path d="M181.4 96h533.4c47 0 85.4 38.4 85.4 85.4V192H277.4C230.4 192 192 230.4 192 277.4V800h-10.6C134.4 800 96 761.6 96 714.6V181.4C96 134.4 134.4 96 181.4 96z" ></path></symbol><symbol id="iconlogo-html" viewBox="0 0 1024 1024"><path d="M128 64l69.872 806.426L511.538 960l314.49-89.708L896 64H128z m615.994 264h-368l7.982 102h352.016l-27.01 302.772-197 56.188-197.364-55.952L301.09 578h96.508l6.846 78.574 107.538 29.562 106.844-29.83L629.974 528H295.972l-25.142-299.178 481.578 0.032L743.994 328z" ></path></symbol><symbol id="iconlogo-chrome" viewBox="0 0 1024 1024"><path d="M377.6 511.85c0 73.892 60.486 134.356 134.4 134.356s134.398-60.462 134.398-134.356c0-73.89-60.484-134.358-134.398-134.358s-134.4 60.468-134.4 134.358z" ></path><path d="M953.504 435.59c-0.018 0.01-0.032 0.076-0.048 0.084-3.402-19.754-8.08-39.676-13.978-57.676h-0.214c5.966 18 10.704 38 14.144 58h-0.004c-3.438-20-8.176-40-14.14-58h-310.78c38.088 34 62.716 80.35 62.716 134.104 0 33.592-8.968 62.568-24.628 89.448L462.088 956.904s-0.018 0.528-0.028 0.528l-0.02 0.568h0.03l-0.01-0.524c16.406 1.84 33.062 2.524 49.94 2.524 13.684 0 27.218-0.786 40.598-2.004a447.72 447.72 0 0 0 59.554-9.466C811.36 903.05 960 724.808 960 511.882c0-25.998-2.242-51.506-6.496-76.292z" ></path><path d="M512 690.992c-67.202 0-123.202-35.82-154.57-89.57L152.012 246.094l-0.274-0.472a447.032 447.032 0 0 0-51.806 90.246C76.814 389.89 64 449.372 64 511.85c0 125.39 51.568 238.72 134.632 320.018 58.684 57.438 133.09 98.866 216.176 117.238l0.058-0.102 155.366-269.208c-17.918 6.716-38.062 11.196-58.232 11.196z" ></path><path d="M182.584 209.15l154.7 266.5C352.966 395.026 424.63 332 512 332h410.344c-13.842-30-31.188-60.648-51.558-87.876 0.078 0.042 0.156 0.106 0.234 0.148C891.288 271.424 908.556 302 922.344 332h0.344c-13.768-30-31.028-60.76-51.336-87.98-0.23-0.12-0.458-0.336-0.684-0.514C788.95 134.534 658.718 64 512 64c-52.744 0-103.346 9.138-150.344 25.872-69.23 24.654-130.606 65.834-179.374 118.812l0.284 0.486 0.018-0.02z" ></path></symbol><symbol id="iconios-tennisball" viewBox="0 0 1024 1024"><path d="M500.8 928c2-15.8 3.2-31.8 3.2-47.8 0-96.2-37.4-188.6-105.4-256.6S238 520 141.8 520c-15.4 0-30.8 1-45.8 2.8 5.6 220.6 184.6 398.6 404.8 405.2z" ></path><path d="M460 148c0-16.6 1-32.8 2.8-49-190.6 23.4-343.4 178-364.4 369.4 14.4-1.4 28.8-2.2 43.6-2.2 229.8 0 414.2 184.4 414.2 414 0 15.4-0.8 30.6-2.6 45.6 193.2-20.2 349.2-172.4 371.6-364.8-16.8 2-33.8 1.2-51 1.2C644.2 562 460 377.8 460 148z" ></path><path d="M617.4 404.6c68 68 160.4 105.4 256.6 105.4 18.2 0 36.2-1.4 54-4-4.4-224-187.8-407-412.2-410-2.4 17-3.8 34.4-3.8 52 0 96.2 37.4 188.6 105.4 256.6zM464 98.6z" ></path></symbol><symbol id="iconios-umbrella" viewBox="0 0 1024 1024"><path d="M814.2 275.8c-69.8-83.2-162.6-134.6-262.4-145.2-4-19.8-20.4-34.6-39.8-34.6s-35.8 14.6-39.8 34.4c-101.2 10.4-194.8 60.6-264.2 142.4-71.6 84.4-111.2 171-111.6 287.4-0.2 1-0.4 2.4-0.4 4.2 0.2 6.4 5.4 11.6 11.6 11.6h6.2c5.2 0 9.8-3.6 11.2-8.8 5.4-20.2 16.8-38.2 32-51 15.4-13 33.8-19.8 53.2-19.8 19.2 0 37.6 6.8 53 20 15.2 12.8 26.4 30.8 32 51 1.4 5.2 6 8.8 11.2 8.8h9.6c5.2 0 9.8-3.6 11.2-8.8 11.4-41.8 46.6-70.8 85.6-70.8 29.6 0 57.6 16.8 73.8 43.8V836c0 19.8-16 36-35.4 36s-35.2-16.2-35.2-36c0-15.4-12.2-28-27.4-28-15 0-27.2 12.6-27.2 28 0 50.8 40.4 92 89.8 92 49.6 0 89.8-41.2 89.8-92V541.6c16.4-28.4 43.8-45.2 73.8-45.2 19.2 0 37.4 6.8 52.8 19.8 15 12.8 26.2 30.8 31.8 51 1.4 5.2 6 8.8 11.2 8.8h9.6c5.2 0 9.8-3.6 11.2-8.8 5.4-20.2 16.8-38.4 32-51.2 15.4-13 33.8-20 53.2-20 19.4 0 38 6.8 53.4 20 15.2 12.8 26.4 31 31.8 51.2 1.4 5.2 6 8.8 11.2 8.8h3c3.2 0 6.2-1.2 8.4-3.6s3.4-5.4 3.4-8.6c-1.6-115.8-42-202.6-113.6-288z" ></path></symbol><symbol id="iconlogo-rss" viewBox="0 0 1024 1024"><path d="M239.8 672.2c-61.6 0-111.8 50.2-111.8 111.6 0 61.6 50.2 111.2 111.8 111.2 61.8 0 111.8-49.8 111.8-111.2 0-61.4-50-111.6-111.8-111.6z" ></path><path d="M128 384v159.8c96 0 188.2 28.4 256 96.2 67.8 67.8 96 159.8 96 256h160c0-279.8-232-512-512-512z" ></path><path d="M128 128v159.8c342 0 607.8 266 607.8 608.2H896C896 472.6 552 128 128 128z" ></path></symbol><symbol id="iconlogo-octocat" viewBox="0 0 1024 1024"><path d="M356.8 575c-18.2 0-33.8 8.4-46.4 25.6-12.6 17-18.8 38-18.8 62.8 0 25 6.4 46 18.8 63 12.6 17 28 25.6 46.4 25.6 17 0 31.8-8.6 44.2-25.6 12.6-17 18.8-38 18.8-63 0-24.8-6.4-45.8-18.8-62.8-12.6-17.2-27.2-25.6-44.2-25.6z m312.6 0c-18 0-33.8 8.4-46.4 25.6-12.6 17-18.8 38-18.8 62.8 0 25 6.4 46 18.8 63 12.6 17 28.2 25.6 46.4 25.6 17 0 31.8-8.6 44.4-25.6 12.6-17 18.8-38 18.8-63 0-24.8-6.4-45.8-18.8-62.8-12.6-17.2-27.2-25.6-44.4-25.6z" ></path><path d="M891.6 344c-0.2 0 5.4-28.6 0.6-78.4-4.4-49.8-15-95.6-32.2-137.6 0 0-8.8 1.6-25.6 5.8s-44.2 12.6-81.8 29.6c-37 17-76 39.6-116.6 67-27.6-7.8-68.8-11.8-124-11.8-52.6 0-93.8 4-124 11.8-89.2-61.8-163.8-96-224.2-102.4-17.2 42-27.8 88-32 138-4.8 49.8 0.8 78.6 0.8 78.6C84 397.2 64 473 64 535.6c0 48.4 1.4 92.2 12.2 131 11.2 38.6 25.4 70.2 42.2 94.4 17.2 24.2 38 45.6 63.2 63.8 25 18.6 48 32 68.8 40.4 21 8.8 44.8 15.2 72 19.8 26.6 4.8 46.8 7.2 61 8 0 0 56 3 128.8 3s128.6-3 128.6-3c14-0.8 34.2-3.2 61-8 27-4.6 51-11.2 71.8-19.8 20.8-8.6 43.8-21.8 69-40.4 25-18 45.8-39.4 63-63.8 16.8-24.2 31-55.8 42.2-94.4 11-38.8 12.2-82.8 12.2-131.2 0-60.6-20-137.4-68.4-191.4z m-130.8 467.2c-55.8 26.2-137.8 36.8-246.6 36.8H510c-108.8 0-190.8-10.4-245.6-36.8-55-26.2-82.6-80.2-82.6-161.4 0-48.6 17.2-88 51-118.2 14.8-13 32.8-22 55.2-27.4 22.2-5.2 42.8-5.6 62-5 18.8 0.8 45.2 4.4 78.6 7 33.6 2.6 58.6 6 83.6 6 23.4 0 54.4-4 104.2-8 50-4 87-6 111-2 24.6 4 46 12.4 64.2 29.4 35.4 31.6 53.2 71 53.2 118.2-0.2 81.2-28.4 135.2-84 161.4z" ></path></symbol><symbol id="iconlogo-slack" viewBox="0 0 1024 1024"><path d="M427.2 472.432l128.006-42.876 41.416 123.646-128.008 42.876z" ></path><path d="M427.2 472.432l128.006-42.876 41.416 123.646-128.008 42.876z" ></path><path d="M951.8 380C852.8 50 710-26.8 380 72.2S-26.8 314 72.2 644 314 1050.8 644 951.8 1050.8 710 951.8 380z m-166.6 214.2l-62.2 20.8 21.4 64.4c8.4 26-5.4 54.4-31.4 63-5.4 1.6-11.6 3-16.8 2.4-20-0.8-39.2-13.8-46-33.8l-21.4-64.4-128.2 43L522 754c8.4 26-5.4 54.4-31.4 63-5.4 1.6-11.6 3-16.8 2.4-20-0.8-39.2-13.8-46-33.8L406 720.8l-62 20.6c-5.4 1.6-11.6 3-16.8 2.4-20-0.8-39.2-13.8-46-33.8-8.4-26 5.4-54.4 31.4-63l62.2-20.8-41.4-123.6-62.2 20.8c-5.4 1.6-11.6 3-16.8 2.4-20-0.8-39.2-13.8-46-33.8-8.4-26 5.4-54.4 31.4-63l62.2-20.8-21.8-64.2c-8.4-26 5.4-54.4 31.4-63 26-8.4 54.4 5.4 63 31.4l21.4 64.4 128.2-43-21.4-64.4c-8.4-26 5.4-54.4 31.4-63 26-8.4 54.4 5.4 63 31.4l21.4 64.4 62.2-20.8c26-8.4 54.4 5.4 63 31.4 8.4 26-5.4 54.4-31.4 63l-62.2 20.8 41.4 123.6 62.2-20.8c26-8.4 54.4 5.4 63 31.4 8.4 26.4-5.4 54.8-31.6 63.4z" ></path></symbol><symbol id="iconlogo-game-controller-b" viewBox="0 0 1024 1024"><path d="M270.2 409.2c-21.4 0-38.6 17.4-38.6 38.8s17.4 38.8 38.6 38.8c21.2 0 38.6-17.4 38.6-38.8s-17.2-38.8-38.6-38.8z" ></path><path d="M932.6 497.8c-42.4-177-87.2-271-177-297.6-19.6-5.8-36.2-8-51.4-8-55.2 0-93.8 29.4-192.2 29.4-98.4 0-137-29.4-192.2-29.4-15.4 0-32 2.2-51.4 8-89.8 26.6-134.6 120.8-177 297.6-42.4 177-34.6 304.8 15.4 328.6 8.2 3.8 16.4 5.6 25 5.6 43.4 0 90.2-47.6 135.4-104 51.4-64.2 64.2-66 220.6-66h48.6c156.2 0 169.2 1.6 220.6 66 45 56.4 92 104 135.4 104 8.4 0 16.8-1.8 25-5.6 49.8-24 57.4-151.8 15.2-328.6z m-662.2 29.4c-43.2 0-78.4-35.6-78.4-79.2s35.2-79.2 78.4-79.2c43.4 0 78.4 35.6 78.4 79.2 0.2 43.8-35 79.2-78.4 79.2z m345.8-39c-22.2 0-40.2-18-40.2-40.2 0-22.2 18-40.2 40.2-40.2 22.2 0 40.2 18 40.2 40.2 0 22.2-18 40.2-40.2 40.2zM704 576c-22.2 0-40.2-18-40.2-40 0-22.4 18-40.2 40.2-40.2 22.2 0 40.2 17.8 40.2 40.2 0 22-18 40-40.2 40z m0-175.6c-22.2 0-40.2-18-40.2-40.2 0-22.2 18-40.2 40.2-40.2 22.2 0 40.2 18 40.2 40.2 0 22.2-18 40.2-40.2 40.2z m87.8 87.8c-22.2 0-40.2-18-40.2-40.2 0-22.2 18-40.2 40.2-40.2 22.2 0 40.2 18 40.2 40.2 0 22.2-18 40.2-40.2 40.2z" ></path></symbol><symbol id="iconlogo-windows" viewBox="0 0 1024 1024"><path d="M960 530H464v358l496 72V530z m-528 0H64v300l368 53.4V530zM960 64L464 134.8V498h496V64zM432 139.4L64 192v306h368V139.4z" ></path></symbol><symbol id="iconios-add-circle" viewBox="0 0 1024 1024"><path d="M512 96C282.2 96 96 282.2 96 512s186.2 416 416 416 416-186.2 416-416S741.8 96 512 96z m181 448H544v149c0 17.6-14.4 32-32 32-8.8 0-16.8-3.6-22.6-9.4-5.8-5.8-9.4-13.8-9.4-22.6V544h-149c-8.8 0-16.8-3.6-22.6-9.4-5.8-5.8-9.4-13.8-9.4-22.6 0-17.6 14.4-32 32-32H480v-149c0-17.6 14.4-32 32-32s32 14.4 32 32V480h149c17.6 0 32 14.4 32 32s-14.4 32-32 32z" ></path></symbol><symbol id="iconios-archive" viewBox="0 0 1024 1024"><path d="M920 240H104c-4.4 0-8-3.6-8-8V192c0-35.4 28.6-64 64-64h704c35.4 0 64 28.6 64 64v40c0 4.4-3.6 8-8 8z m-40 52H144c-8.8 0-16 7.2-16 16v524c0 35.2 28.8 64 64 64h640c35.2 0 64-28.8 64-64V308c0-8.8-7.2-16-16-16zM612 576h-199.2c-14.2 0-26.8-10.4-28.6-24.6-2-17 11.2-31.4 27.8-31.4h199.2c14.2 0 26.8 10.4 28.6 24.6 2 16.8-11.2 31.4-27.8 31.4z" ></path></symbol><symbol id="iconios-aperture" viewBox="0 0 1024 1024"><path d="M500.4 742.8c-3.6 0-5.4 4.4-2.8 6.8l109.8 109.8L652 904c84.8-30.4 157-87.4 206.2-161.2H500.4zM334 669.2V888c54 25.6 114.2 40 178 40 28.2 0 55.8-2.8 82.4-8.2L340.8 666.4c-2.4-2.6-6.8-0.8-6.8 2.8zM512 96c-27.8 0-54.8 2.8-81 8l253.6 253.6c2.6 2.6 6.8 0.8 6.8-2.8V136.6C637.2 110.6 576.4 96 512 96zM136.2 333.2C110.4 387.4 96 448 96 512c0 28.2 2.8 55.8 8.2 82.4L358.4 340c2.6-2.6 0.8-6.8-2.8-6.8H136.2zM373.4 119.8C288 150 215.4 207.2 166 281.4h359.4c3.6 0 5.4-4.4 2.8-6.8l-154.8-154.8zM334 441.2v141.4c0 2.2 0.8 4.2 2.4 5.6l100 100c1.6 1.6 3.6 2.4 5.6 2.4h141.4c2.2 0 4.2-0.8 5.6-2.4l100-100c1.6-1.6 2.4-3.6 2.4-5.6v-141.4c0-2.2-0.8-4.2-2.4-5.6l-100-100c-1.6-1.6-3.6-2.4-5.6-2.4H442c-2.2 0-4.2 0.8-5.6 2.4l-100 100c-1.4 1.6-2.4 3.6-2.4 5.6z m586-10.2L667.2 684c-2.6 2.6-0.8 6.8 2.8 6.8h217.6c26-54.2 40.4-114.8 40.4-178.8 0-27.8-2.8-54.8-8-81zM743.6 166.4v358c0 3.6 4.4 5.4 6.8 2.8l153.8-153.8c-30-85.2-87-157.6-160.6-207zM120.2 651.8c30.4 85.2 87.8 157.6 162 206.8V499.6c0-3.6-4.4-5.4-6.8-2.8l-155.2 155z" ></path></symbol><symbol id="iconios-appstore" viewBox="0 0 1024 1024"><path d="M512 96C282.2 96 96 282.2 96 512s186.2 416 416 416 416-186.2 416-416S741.8 96 512 96z m-157.8 593.8c-5.4 9.2-15 14.2-25 14.2-5 0-10-1.2-14.6-4-13.8-8-18.4-25.6-10.4-39.4l28.4-47.2c3-5 8.2-8 14-8h4.2c20.6 0 35 12.4 39.2 24.4l-35.8 60z m240.4-92.8l-186 0.2h-123.6c-16.4 0-29.6-13.6-28.8-30 0.6-15.6 14.2-27.4 29.8-27.4h89.6l106.2-180.8-34.4-58.6c-7.8-13.4-4.4-31 8.8-39.4 14-9 32.4-4.4 40.6 9.6l18.4 31.4h0.2l18.4-31.4c8.2-14 26.8-18.6 40.6-9.6 13.2 8.4 16.6 26 8.8 39.4l-34.4 58.6-33.4 57-72.6 123.8v0.2h107c13.4 0 30.2 7.2 37 18.8l0.6 1.2c6 10.2 9.4 17.2 9.4 27.4-0.2 5.6-2.2 9.6-2.2 9.6z m144.4 0.2h-50.4v0.2l36.8 62.6c8 13.6 4.2 31.6-9.6 40-4.6 2.8-9.8 4.2-15 4.2-10 0-19.6-5.2-25-14.2l-54.4-92.6-33.8-57.6-43.6-74.6c-12.8-21.8-13.4-49-1.2-70.6 8.6-15.2 15.2-19.2 15.2-19.2l97 164.2h83.4c15.6 0 29 12 29.8 27.4 0.6 16.6-12.6 30.2-29.2 30.2z" ></path></symbol><symbol id="iconios-alarm" viewBox="0 0 1024 1024"><path d="M762.4 128.2c-2.6-0.2-5.2-0.2-7.8-0.2h-0.4c-32.4 0-64 10.8-89.2 30.2-3.2 2.6-5.2 6.4-5.4 10.4-0.2 4 1.6 8 4.6 10.8l179.6 161c2.6 2.2 5.8 3.6 9.2 3.6h0.8c3.8-0.2 7.2-2 9.6-4.8C881.8 318 896 301.6 896 266c0.2-72.8-58.2-133.6-133.6-137.8zM128 266c0 35.6 14.2 52 32.6 73.2 2.4 2.8 5.8 4.6 9.6 4.8h0.8c3.4 0 6.6-1.2 9.2-3.6L360 179.4c3-2.8 4.8-6.6 4.6-10.8-0.2-4-2-7.8-5.4-10.4C334 138.8 302.4 128 270 128h-0.4c-2.6 0-5.2 0-7.8 0.2-75.4 4.2-134 65-133.8 137.8z" ></path><path d="M780 772c52.4-61.4 84-141 84-228 0-194.4-157.6-352-352-352S160 349.6 160 544c0 87 31.6 166.6 84 228l-69.4 71c-12.4 12.6-12 31 0.6 43.2 6.2 6 14.8 9.6 22.8 9.6 8.4 0 16.2-3.8 22.4-10.2l69.2-69c60.6 49.4 138 79.2 222.4 79.2s161.8-29.6 222.4-79.2l67.2 69c6.2 6.4 14.6 10.2 23 10.2 8 0 16.2-3.6 22.4-9.6 12.6-12.4 15-30.6 2.6-43.2L780 772zM540 548c0 15.4-12.6 28-28 28h-164c-15.4 0-28-12.6-28-28s12.6-28 28-28h136V316c0-15.4 12.6-28 28-28s28 12.6 28 28v232z" ></path></symbol><symbol id="iconios-apps" viewBox="0 0 1024 1024"><path d="M869.6 275.2L570.8 139c-32.4-14.8-85.4-14.8-117.8 0L154.4 275.2c-35.2 16-35.2 42.2 0 58.2l296 135c33.8 15.4 89.4 15.4 123.2 0l296-135c35.2-16 35.2-42.2 0-58.2zM450.4 750.4l-199.6-91c-8.4-3.8-18.2-3.8-26.6 0l-69.8 31.8c-35.2 16-35.2 42.2 0 58.2l296 135c33.8 15.4 89.4 15.4 123.2 0l296-135c35.2-16 35.2-42.2 0-58.2l-69.8-31.8c-8.4-3.8-18.2-3.8-26.6 0l-199.6 91c-33.8 15.4-89.4 15.4-123.2 0z" ></path><path d="M869.6 483.2l-63.4-28.8c-8.4-3.8-18-3.8-26.4 0l-216 97.8c-30.6 10.4-73.2 10.4-103.8 0l-216-97.8c-8.4-3.8-18-3.8-26.4 0l-63.4 28.8c-35.2 16-35.2 42.2 0 58.2l296 135c33.8 15.4 89.4 15.4 123.2 0l296-135c35.4-16 35.4-42.2 0.2-58.2z" ></path></symbol><symbol id="iconios-beaker" viewBox="0 0 1024 1024"><path d="M890.4 96H257C148.2 96 128 151.8 128 176.4c60.6 8.4 64 8.4 64 72.4v551c0 70.6 57.8 128 128.4 128H736c70.8 0 126-58.4 126-129V178.4c4-35 25-63.2 27.2-66.6 2.4-3.8 6.8-8.8 6.8-11 0-2.4-0.6-4.8-5.6-4.8z m-666 58.6c0-0.2 0-0.2 0 0 12-2 24-2.6 32.6-2.6H810c-1.8 7.4-3 14.2-3.6 20-0.2 2.2-0.4 4.2-0.4 6.4v141.8-0.2H248v-71c0-35.2 0-68.4-23.6-94.4z" ></path></symbol><symbol id="iconios-albums" viewBox="0 0 1024 1024"><path d="M921.8 322H102.2C63.6 322 32 353.6 32 392.2V856c0 38.6 31.6 70.2 70.2 70.2H922c38.6 0 70.2-31.6 70.2-70.2V392.2c-0.2-38.6-31.8-70.2-70.4-70.2zM868 266H156c-15.4 0-28-12.6-28-28s12.6-28 28-28h712c15.4 0 28 12.6 28 28s-12.6 28-28 28z m-61.6-112H217.6c-14 0-25.6-11.6-25.6-25.6v-4.8c0-14 11.6-25.6 25.6-25.6h588.8c14 0 25.6 11.6 25.6 25.6v4.8c0 14-11.6 25.6-25.6 25.6z" ></path></symbol><symbol id="iconios-briefcase" viewBox="0 0 1024 1024"><path d="M160 896h704c35.4 0 64-28.6 64-64V448H96v384c0 35.4 28.6 64 64 64z m704-640h-16v-16c0-8.8-7.2-16-16-16h-64c-8.8 0-16 7.2-16 16v16h-56V192c0-35.2-28.8-64-64-64H392c-35.2 0-64 28.8-64 64v64h-56v-16c0-8.8-7.2-16-16-16H192c-8.8 0-16 7.2-16 16v16h-16c-35.4 0-64 28.6-64 64v80h832v-80c0-35.4-28.6-64-64-64z m-224 0H384v-56c0-8.8 7.2-16 16-16h224c8.8 0 16 7.2 16 16v56z" ></path></symbol><symbol id="iconios-bed" viewBox="0 0 1024 1024"><path d="M916.4 416h-0.8c-24 0-43.6 19.6-43.6 43.6 0 2.4-2 4.4-4.4 4.4H156.4c-2.4 0-4.4-2-4.4-4.4 0-24-19.6-43.6-43.6-43.6h-0.8c-24 0-43.6 19.6-43.6 43.6v360.8c0 24 19.6 43.6 43.6 43.6h0.8c24 0 43.6-19.6 43.6-43.6V808c0-4.4 3.6-8 8-8h704c4.4 0 8 3.6 8 8v12.4c0 24 19.6 43.6 43.6 43.6h0.8c24 0 43.6-19.6 43.6-43.6V459.6c0-24-19.6-43.6-43.6-43.6z" ></path><path d="M168 428h45c4.4 0 8-3.6 8-8v-26c0-17.6 14.4-32 32-32H448c17.6 0 32 14.4 32 32v26c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-26c0-17.6 14.4-32 32-32h195c17.6 0 32 14.4 32 32v26c0 4.4 3.6 8 8 8H856c8.8 0 16-7.2 16-16v-188c0-35.2-28.8-64-64-64H216c-35.2 0-64 28.8-64 64v188c0 8.8 7.2 16 16 16z" ></path></symbol><symbol id="iconios-bookmarks" viewBox="0 0 1024 1024"><path d="M832 64v255.8l-45.8-29-18.2-12.8-18.2 12.8-45.8 29V64h-82.8c-45 0.4-81.2 37.6-81.2 82.8v626.4c0 15-11.6 28-26.6 28.8-16 0.8-29.4-12-29.4-28V146.8c0-45.2-36.2-82.4-81.2-82.8H190.2C129.6 64 80 113.6 80 174.2v579.6c0 60.6 49.6 110.2 110.2 110.2l216-0.2c8.4 0.2 16.6 1.2 24.4 2.8 30.6 6.2 53.6 33.2 53.2 64.4-0.2 14.4 10.4 27.2 24.8 28.8 17 1.8 31.4-11.4 31.2-28.2-0.4-31.6 22.8-58.8 53.8-65 7.6-1.6 15.8-2.4 24-2.6l216 0.2c60.6 0 110.2-49.6 110.2-110.2V174.2C944 113.6 892.6 64 832 64z" ></path></symbol><symbol id="iconios-book" viewBox="0 0 1024 1024"><path d="M292 128.2c108.2 0 200 55.8 200 164V892c0 4.4-6.2 5.4-7.6 1.4v-0.2c-20.6-68.4-76.4-135.2-164.6-141-68.4-4.4-133.8 25.8-186.2 74.2-3.2 3-8.6 5.8-13.2 5.8h-9c-7.4 0-15.2-5.4-15.2-12.2V240.4C96 176.2 183.8 128.2 292 128.2z m440-0.2c-108.2 0-200 55.8-200 164v599.8c0 4.4 6.2 5.4 7.6 1.4v-0.2c20.6-68.4 78.8-135.8 164.6-141 65.8-4 127.8 22 186.2 74.2 3.2 2.8 8.6 5.8 13.2 5.8h9c7.4 0 15.2-5.4 15.2-12.2V240c0.2-64-87.6-112-195.8-112z" ></path></symbol><symbol id="iconios-camera" viewBox="0 0 1024 1024"><path d="M512 550m-115 0a115 115 0 1 0 230 0 115 115 0 1 0-230 0Z" ></path><path d="M835 320H726c-9.2 0-17.8-4-24-10.8-56.8-63.6-78.2-85.2-101.4-85.2h-171c-23.4 0-46.4 21.6-103.4 85.4-6 6.8-14.8 10.6-23.8 10.6h-8.2v-16c0-8.8-7.2-16-16-16h-52c-8.8 0-16 7.2-16 16v16h-15C159.8 320 128 346.4 128 381.4v352c0 35 31.8 66.6 67 66.6h640c35.2 0 61-31.6 61-66.6v-352c0-35-25.8-61.4-61-61.4zM520 720.8c-100.6 4.6-183.4-78.2-178.8-178.8 4-87.8 75-158.8 162.8-162.8 100.6-4.6 183.4 78.2 178.8 178.8-4 87.8-75 158.8-162.8 162.8zM704 436c-14.4 0-26-11.6-26-26s11.6-26 26-26 26 11.6 26 26-11.6 26-26 26z" ></path></symbol><symbol id="iconios-boat" viewBox="0 0 1024 1024"><path d="M703.6 844c-52.4 18.4-133 29.8-192.2 29.8-59.2 0-139.8-11.4-192.2-29.8 0 0-52.2 47.8-124.6 72.4-4.6 1.6-3 8.4 1.8 7.8 45.2-5.2 80.4-13 122.8-24 46 18 133.4 27.8 192.2 27.8 58.8 0 148.2-7.6 192.2-27.8 43 11.2 77.6 19.2 124 24.2 4.8 0.6 6.4-6.2 1.8-7.8-71.4-24.8-125.8-72.6-125.8-72.6z m187.4-318l-372.4-171c-4.2-2-9.2-2-13.4 0L133 526c-12.4 5.8-21 18.2-21 32.8 0 4.8 1 9.2 2.6 13.4L224 844c55 0 113.4-44 113.4-44 36 18 106.2 34.2 158.6 37.2 5.6 0.4 11 0.4 16 0.4s10.4-0.2 16-0.4c52.4-3 122.6-19 158.6-37.2 0 0 58.4 44 113.4 44l109.4-271.8c1.6-4.2 2.6-8.6 2.6-13.4 0-14.6-8.6-27-21-32.8zM424 576c-13.2 0-24-19.6-24-44s10.8-44 24-44 24 19.6 24 44-10.8 44-24 44z m176 0c-13.2 0-24-19.6-24-44s10.8-44 24-44 24 19.6 24 44-10.8 44-24 44z" ></path><path d="M783.8 254v-0.2C772.6 200.6 748.8 160 704 160h-69.2l-4-16c-7.2-28.2-32.8-48-62-48h-114c-29.2 0-54.8 19.8-62 48.2l-4 15.8H320c-45.8 0-70.2 41.4-79.6 94L204 447.6c-1.2 6.4 5.2 11.4 11.2 8.8l50.6-23.2c2.4-1 4-3.2 4.6-5.8l32.4-171.2c5-21.4 14.6-32 32.2-32h354.2c17.8 0 26.2 10 32.2 32l32.4 171.2c0.4 2.6 2.2 4.8 4.6 5.8l50.8 23.4c6 2.8 12.4-2.4 11.2-8.8L783.8 254z" ></path></symbol><symbol id="iconios-bulb" viewBox="0 0 1024 1024"><path d="M808 377.8C808 222 667.8 96 512 96s-296 126.2-296 281.8c0 62 26.4 112.2 60.4 160.2h-0.6c21.8 30 42.8 35.4 63 70 29.4 50.4 36.2 81.4 37.4 111.4 0.8 17.2 15 30.6 32 30.6h17.8c4.4 0 8-3.6 8-8v-189c0-10-2.4-19.6-6.8-28.6l-42-84c-7-14 3.2-30.4 18.8-30.4 8 0 15.4 4.6 18.8 11.8l50.6 102.8c4.4 8.8 6.6 18.4 6.6 28.2V742c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-189.2c0-9.8 2.2-19.4 6.6-28.2l50.8-103.2c3.4-6.8 10.4-11.2 18-11.2 15 0 24.8 15.8 18 29.2l-42.6 85.2c-4.4 9-6.8 18.8-6.8 28.6V742c0 4.4 3.6 8 8 8h20c17 0 31-13.2 32-30 1.8-30.8 9.4-64.6 36.8-112 20.2-34.6 41.2-40 63-70h-0.2c34-48 60.4-98.2 60.4-160.2zM476 928h72c15.4 0 28-12.6 28-28s-12.6-28-28-28h-72c-15.4 0-28 12.6-28 28s12.6 28 28 28z m-40-88h152c15.4 0 28-12.6 28-28s-12.6-28-28-28h-152c-15.4 0-28 12.6-28 28s12.6 28 28 28z" ></path></symbol><symbol id="iconios-cash" viewBox="0 0 1024 1024"><path d="M932 711.8H92c-15.4 0-28 12.6-28 28s12.6 28 28 28h840c15.4 0 28-12.6 28-28s-12.6-28-28-28z m0 96H92c-15.4 0-28 12.6-28 28s12.6 28 28 28h840c15.4 0 28-12.6 28-28s-12.6-28-28-28zM889.8 160.2H134.2C95.6 160.2 64 191.8 64 230.4V586c0 38.6 31.6 70.2 70.2 70.2h755.6c38.6 0 70.2-31.6 70.2-70.2V230.4c0-38.6-31.6-70.2-70.2-70.2zM228 592.2H156c-15.4 0-28-12.6-28-28s12.6-28 28-28h72c15.4 0 28 12.6 28 28s-12.6 28-28 28z m0-312H156c-15.4 0-28-12.6-28-28s12.6-28 28-28h72c15.4 0 28 12.6 28 28s-12.6 28-28 28z m284 288c-88.2 0-160-71.8-160-160s71.8-160 160-160 160 71.8 160 160-71.8 160-160 160z m356 24h-72c-15.4 0-28-12.6-28-28s12.6-28 28-28h72c15.4 0 28 12.6 28 28s-12.6 28-28 28z m0-312h-72c-15.4 0-28-12.6-28-28s12.6-28 28-28h72c15.4 0 28 12.6 28 28s-12.6 28-28 28z" ></path><path d="M512 412m-106 0a106 106 0 1 0 212 0 106 106 0 1 0-212 0Z" ></path></symbol><symbol id="iconios-close-circle-outline" viewBox="0 0 1024 1024"><path d="M662.6 617.4L557.2 512l105.4-105.4c12.4-12.4 12.4-32.8 0-45.2-12.4-12.4-32.8-12.4-45.2 0L512 466.8l-105.4-105.4c-12.4-12.4-31.2-14.2-45.2 0-14.2 14.2-12 33.2 0 45.2l105.4 105.4-105.4 105.4c-13.4 13.4-12.8 32.6 0 45.2 12.8 12.8 32.8 12.4 45.2 0l105.4-105.4 105.4 105.4c12.4 12.4 32.8 12.4 45.2 0 12.6-12.4 12.6-32.8 0-45.2z" ></path><path d="M512 152c96.2 0 186.6 37.4 254.6 105.4S872 415.8 872 512s-37.4 186.6-105.4 254.6S608.2 872 512 872c-96.2 0-186.6-37.4-254.6-105.4S152 608.2 152 512s37.4-186.6 105.4-254.6S415.8 152 512 152m0-56C282.2 96 96 282.2 96 512s186.2 416 416 416 416-186.2 416-416S741.8 96 512 96z" ></path></symbol><symbol id="iconios-checkbox-outline" viewBox="0 0 1024 1024"><path d="M832 128H192c-35.4 0-64 28.6-64 64v640c0 35.4 28.6 64 64 64h640c35.4 0 64-28.6 64-64V192c0-35.4-28.6-64-64-64z m8 696c0 8.8-7.2 16-16 16H200c-8.8 0-16-7.2-16-16V200c0-8.8 7.2-16 16-16h624c8.8 0 16 7.2 16 16v624z" ></path><path d="M727.2 385.8L692 349.6c-1.4-1.6-3.6-2.4-5.6-2.4-2.2 0-4.2 0.8-5.6 2.4l-244 245.8-88.8-88.8c-1.6-1.6-3.6-2.4-5.6-2.4-2 0-4 0.8-5.6 2.4l-35.6 35.6c-3.2 3.2-3.2 8.2 0 11.4l112 112c7.2 7.2 16 11.4 23.4 11.4 10.6 0 19.8-7.8 23.2-11h0.2l267.4-268.8c2.8-3.4 2.8-8.4-0.2-11.4z" ></path></symbol><symbol id="iconios-checkmark-circle" viewBox="0 0 1024 1024"><path d="M512 96C282.2 96 96 282.2 96 512s186.2 416 416 416 416-186.2 416-416S741.8 96 512 96z m213 301L457.6 665.6h-0.2c-3.4 3.4-12.6 11-23.2 11-7.6 0-16.2-4.2-23.4-11.4l-112-112c-3.2-3.2-3.2-8.2 0-11.4l35.6-35.6c1.6-1.6 3.6-2.4 5.6-2.4 2 0 4 0.8 5.6 2.4l88.8 88.8 244-245.8c1.6-1.6 3.6-2.4 5.6-2.4 2.2 0 4.2 0.8 5.6 2.4l35 36.2c3.6 3.4 3.6 8.4 0.4 11.6z" ></path></symbol><symbol id="iconios-close-circle" viewBox="0 0 1024 1024"><path d="M512 96C282.2 96 96 282.2 96 512s186.2 416 416 416 416-186.2 416-416S741.8 96 512 96z m105.4 566.6L512 557.2l-105.4 105.4c-12.4 12.4-32.8 12.4-45.2 0-6.2-6.2-9.4-14.4-9.4-22.6 0-8.2 3.2-16.4 9.4-22.6l105.4-105.4-105.4-105.4c-6.2-6.2-9.4-14.4-9.4-22.6 0-8.2 3.2-16.4 9.4-22.6 12.4-12.4 32.8-12.4 45.2 0l105.4 105.4 105.4-105.4c12.4-12.4 32.8-12.4 45.2 0 12.4 12.4 12.4 32.8 0 45.2L557.2 512l105.4 105.4c12.4 12.4 12.4 32.8 0 45.2-12.4 12.6-32.8 12.6-45.2 0z" ></path></symbol><symbol id="iconios-cloud-upload" viewBox="0 0 1024 1024"><path d="M874.2 331.6C858 181.2 730.8 64 576 64c-102.4 0-192.6 51.2-246.8 129.4-16.6-6.8-34.8-10.6-53.8-10.6-78.2 0-141.6 68.8-142.8 146.8C52.8 355 0 433 0 515 0 615.4 81.4 704 181.8 704H486V420.2l-95.8 94.4c-10.2 10-26.6 10-36.8-0.2-10-10.2-10-26.6 0.2-36.8l140-138c2.4-2.2 5-4.2 8.2-5.4 3.2-1.4 6.6-2 10-2 6.8 0 13.2 2.6 18.2 7.4l140 138c10.2 10 10.4 26.6 0.2 36.8-10 10.2-26.6 10.4-36.8 0.2L538 420.2V704h304.2c100.4 0 181.8-88.6 181.8-189 0-89.4-64.6-168.2-149.8-183.4zM486 934c0 14.4 11.6 26 26 26s26-11.6 26-26V704h-52v230z" ></path></symbol><symbol id="iconios-cloud" viewBox="0 0 1024 1024"><path d="M874.2 459.6C858 309.2 730.8 192 576 192c-102.4 0-192.6 51.2-246.8 129.4-16.6-6.8-34.8-10.6-53.8-10.6-78.2 0-141.6 68.8-142.8 146.8C52.8 483 0 561 0 643 0 743.4 81.4 832 181.8 832h660.6c100.4 0 181.8-88.6 181.8-189-0.2-89.4-64.8-168.2-150-183.4z" ></path></symbol><symbol id="iconios-cloud-done" viewBox="0 0 1024 1024"><path d="M874.2 459.6C858 309.2 730.8 192 576 192c-102.4 0-192.6 51.2-246.8 129.4-16.6-6.8-34.8-10.6-53.8-10.6-78.2 0-141.6 68.8-142.8 146.8C52.8 483 0 561 0 643 0 743.4 81.4 832 181.8 832h660.6c100.4 0 181.8-88.6 181.8-189-0.2-89.4-64.8-168.2-150-183.4z m-149.2-34.6L457.6 693.6h-0.2c-3.4 3.4-12.6 11-23.2 11-7.6 0-16.2-4.2-23.4-11.4l-112-112c-3.2-3.2-3.2-8.2 0-11.4l35.6-35.6c1.6-1.6 3.6-2.4 5.6-2.4 2 0 4 0.8 5.6 2.4l88.8 88.8 244-245.8c1.6-1.6 3.6-2.4 5.6-2.4 2.2 0 4.2 0.8 5.6 2.4l35 36.2c3.6 3.4 3.6 8.4 0.4 11.6z" ></path></symbol><symbol id="iconios-contact" viewBox="0 0 1024 1024"><path d="M512 96C297 96 120.2 259 98.4 468.2c-1.6 14.4-2.4 29-2.4 43.8 0 14.8 0.8 29.4 2.4 43.8C120.2 765 297 928 512 928c229.8 0 416-186.2 416-416S741.8 96 512 96z m271.6 652.2c-45.4-17.2-119-42.4-164.8-56-4.8-1.4-5.4-1.8-5.4-21.4 0-16.2 6.6-32.6 13.2-46.6 7.2-15 15.4-40.4 18.4-63.2 8.4-9.8 20-29 27.2-65.8 6.4-32.4 3.4-44.2-0.8-55.2-0.4-1.2-1-2.4-1.2-3.4-1.6-7.6 0.6-47 6.2-77.6 3.8-21-1-65.6-29.8-102.6-18.2-23.4-53.2-52-117-56h-35c-62.8 4-97.6 32.6-116 56-29 37-33.8 81.6-30 102.6 5.6 30.6 7.8 70 6.2 77.6-0.4 1.4-0.8 2.4-1.2 3.6-4.2 11-7.4 22.8-0.8 55.2 7.4 36.8 18.8 56 27.2 65.8 3 22.8 11.4 48 18.4 63.2 5.2 11 7.6 26 7.6 47.2 0 19.8-0.8 20-5.2 21.4-47.4 14-117.8 38.8-160 55.6C183.2 682.8 152 599.8 152 512c0-96.2 37.4-186.6 105.4-254.6S415.8 152 512 152c96.2 0 186.6 37.4 254.6 105.4S872 415.8 872 512c0 87.8-31.2 170.8-88.4 236.2z" ></path></symbol><symbol id="iconios-cloud-download" viewBox="0 0 1024 1024"><path d="M874.2 331.6C858 181.2 730.8 64 576 64c-102.4 0-192.6 51.2-246.8 129.4-16.6-6.8-34.8-10.6-53.8-10.6-78.2 0-141.6 68.8-142.8 146.8C52.8 355 0 433 0 515 0 615.4 81.4 704 181.8 704H486V422c0-14.4 11.6-26 26-26s26 11.6 26 26v282h304.2c100.4 0 181.8-88.6 181.8-189 0-89.4-64.6-168.2-149.8-183.4zM486 871.8l-95.8-94.4c-10.2-10-26.6-10-36.8 0.2-10 10.2-10 26.6 0.2 36.8l140 138c5 4.8 11.6 7.4 18.2 7.4 3.4 0 6.8-0.6 10-2 3-1.2 5.8-3.2 8.2-5.4l140-138c10.2-10 10.4-26.6 0.2-36.8-10-10.2-26.6-10.4-36.8-0.2L538 871.8V704h-52v167.8z" ></path></symbol><symbol id="iconios-clipboard" viewBox="0 0 1024 1024"><path d="M281 320v480c0 17.6 14.4 32 32 32h400c17.6 0 32-14.4 32-32V320c0-17.6-14.4-32-32-32h-400c-17.6 0-32 14.4-32 32z m362-158h-34c0-11.2-2-22-5.4-32-4.2-12-10.6-22.8-18.8-32-17.6-19.8-43.2-34-71.8-34s-54.2 14.2-71.8 34c-8.2 9.2-14.6 20-18.8 32-3.4 10-5.4 20.8-5.4 32H388c-19.2 0-35 15.8-35 35V228c0 2.2 1.8 4 4 4h312c2.2 0 4-1.8 4-4V192c0-16.6-13.4-30-30-30z m-125.8 31c-21 2.6-38.6-15-35.8-35.8 1.8-14.2 13.4-25.8 27.6-27.6 21-2.6 38.6 15 35.8 35.8-1.8 14.4-13.4 25.8-27.6 27.6z" ></path><path d="M800 96h-150.4c-3.4 0-5.2 3.8-3.2 6.4 5.8 7.8 10.6 16.2 14 25.6 0.6 1.6 2 2.6 3.8 2.6h1c37.4 0 53.8 29.8 55 67V228c0 2.2 1.8 4 4 4h40.6c17.6 0 32 14.4 32 32v594.8c0 17.6-14.4 32-32 32h-506c-17.6 0-32-14.4-32-32V264c0-17.6 14.4-32 32-32h42.6c2.2 0 4-1.8 4-4v-17.6c0-38.2 11.2-73.4 55.2-73.4h0.6c1.8 0 3.6-1.2 3.8-3.2 3-13.8 8.2-23.4 14.4-31.6 2-2.6 0.2-6.4-3.2-6.4l-152.6-0.2C188.6 95.8 160 124.2 160 159.4V848c0 83.4 28.6 112 64 112h577c34.8 0 63-28.2 63-63V160c0-35.4-28.6-64-64-64z" ></path></symbol><symbol id="iconios-eye-off" viewBox="0 0 1024 1024"><path d="M176.6 136.2c-11.2-11-29.2-11-40.2 0.2-11 11-11 29 0 40l711 711.4c7.4 7.4 18 9.8 27.4 7.2 4.8-1.2 9.2-3.8 12.8-7.4 11-11 11-29 0-40L176.6 136.2z m343.8 555.6c-106 4.8-193.2-82.4-188.2-188.2 1.2-24.4 7.2-47.6 17.2-68.6L242.6 328c-55.4 42.8-110.8 97.8-170.2 162.6-11 12.2-11.2 30.4-0.2 42.6C202 676.6 316.4 800 511.6 800c59.4 0 114.2-14.8 164.6-38.4l-87-87c-21.2 10-44.4 16-68.8 17.2zM951.6 532c10.6-11.6 11.2-29.2 1-41.4C848 363.6 703 224 511.6 224c-58.2 0-112 13.2-164 38l87.4 87.4c21-10 44.2-16.2 68.6-17.2 106-4.8 193.2 82.4 188.2 188.2-1.2 24.4-7.2 47.6-17.2 68.6l107 107c66-50.6 122.6-111.8 170-164z" ></path><path d="M384.4 521.8c4.8 62.6 55.2 113 117.8 117.8 16.4 1.2 32.2-0.6 46.8-5.2l-159.6-159.6c-4.4 14.8-6.2 30.6-5 47zM640 512c0-2.6-0.2-5.2-0.2-7.8-11.2 5-23.4 7.8-36.4 7.8-2.2 0-4.2 0-6.2-0.2l37.2 37.4c3.6-11.8 5.6-24.4 5.6-37.2z m-128-94c0-12 2.2-23.4 6.2-33.8-2 0-4-0.2-6.2-0.2-12.8 0-25.2 2-37 5.6l37.4 37.4c-0.2-3-0.4-6-0.4-9z" ></path></symbol><symbol id="iconios-copy" viewBox="0 0 1024 1024"><path d="M704 230h180c6.6 0 12-5.4 12-12 0-16.4-7.4-32-20-42.6l-154.2-128.4c-9.8-8.2-28.4-14.8-41.2-14.8-8.2 0-14.8 6.6-14.8 14.8V192c0.2 21 17.2 38 38.2 38z" ></path><path d="M614 192V32H352c-35.2 0-64 28.8-64 64v672c0 35.2 28.8 64 64 64h480c35.2 0 64-28.8 64-64V282h-192c-49.6 0-90-40.4-90-90z" ></path><path d="M232 824V160H192c-35.2 0-64 28.8-64 64v704c0 35.2 28.8 64 64 64h512c35.2 0 64-28.8 64-64v-40H296c-35.2 0-64-28.8-64-64z" ></path></symbol><symbol id="iconios-eye" viewBox="0 0 1024 1024"><path d="M511.6 224c-160.8 0-287.6 101.2-439.2 266.6-11 12.2-11.2 30.4-0.2 42.6C202 676.6 316.4 800 511.6 800c192.8 0 337.4-155.4 440.2-268 10.6-11.6 11.2-29.2 1-41.4C848 363.6 703 224 511.6 224z m8.8 467.8c-106 4.8-193.2-82.4-188.2-188.2 4.2-92.4 79-167.2 171.4-171.4 106-4.8 193.2 82.4 188.2 188.2-4.2 92.4-79 167.2-171.4 171.4z" ></path><path d="M512 418c0-12 2.2-23.4 6.2-33.8-2 0-4-0.2-6.2-0.2-73.8 0-133.2 62.8-127.6 137.8 4.8 62.6 55.2 113 117.8 117.8 75 5.6 137.8-53.8 137.8-127.6 0-2.6-0.2-5.2-0.2-7.8-11.2 5-23.4 7.8-36.4 7.8-50.4 0-91.4-42.2-91.4-94z" ></path></symbol><symbol id="iconios-filing" viewBox="0 0 1024 1024"><path d="M848 128H176c-44 0-80 36-80 80v608c0 44 36 80 80 80h672c44 0 80-36 80-80V208c0-44-36-80-80-80z m24 352c0 17.6-14.4 32-32 32h-173.6c-13.6 0-25.6 8.4-30.2 21.2C628 556.4 607.6 576 584 576h-144c-23.8 0-44.2-19.6-52.2-42.8-4.4-12.8-16.6-21.2-30.2-21.2H184c-17.6 0-32-14.4-32-32V216c0-17.6 14.4-32 32-32h656c17.6 0 32 14.4 32 32v264z" ></path><path d="M772 312H252c-15.4 0-28-12.6-28-28s12.6-28 28-28h520c15.4 0 28 12.6 28 28s-12.6 28-28 28z m0 128H252c-15.4 0-28-12.6-28-28s12.6-28 28-28h520c15.4 0 28 12.6 28 28s-12.6 28-28 28z" ></path></symbol><symbol id="iconios-folder-open" viewBox="0 0 1024 1024"><path d="M896 238c0-26.6-18.8-46-45.6-46H461.8c-5.6 0-8.6-1.2-12.2-4.8l-45-45-0.4-0.4c-9.8-9.2-17.8-13.8-34.6-13.8H177.4C149.8 128 128 148.6 128 174v146h768v-82zM128 376h-16.6c-25.6 0-50.6 10.2-47 48.6C68 463 111.4 846 111.4 846c5.4 35.6 23.4 50 50 50h705c25.4 0 42-15.6 46-50 0 0 44.4-369.8 47.2-411 2.8-41-17.8-59-47.2-59H128z" ></path></symbol><symbol id="iconios-gift" viewBox="0 0 1024 1024"><path d="M864 272h-168.6c24.8-22 40.6-53.2 40.6-88 0-66.2-56.6-120-126.2-120-41.2 0-75.8 19.4-97.8 54.8C490 83.4 455.4 64 414.2 64 344.6 64 288 117.8 288 184c0 34.8 15.6 66 40.6 88H160c-35.4 0-64 28.6-64 64v40c0 4.4 3.6 8 8 8h816c4.4 0 8-3.6 8-8v-40c0-35.4-28.6-64-64-64zM609.8 120c37.2 0 67.4 28.6 67.4 64s-30.2 64-67.4 64h-67.4c0-96 30.2-128 67.4-128z m-195.6 0c37.2 0 67.4 32 67.4 128h-67.4c-37.2 0-67.4-28.6-67.4-64s30.2-64 67.4-64zM128 452v444c0 35.2 28.8 64 64 64h292V436H144c-8.8 0-16 7.2-16 16z m752-16H540v524h292c35.2 0 64-28.8 64-64V452c0-8.8-7.2-16-16-16z" ></path></symbol><symbol id="iconios-funnel" viewBox="0 0 1024 1024"><path d="M96 174.4c0 11.6 4 22.8 11.2 31.4l304.4 359.6c7.2 8.6 11.2 19.8 11.2 31.4v214c0 20 11.8 37.6 29.2 44l110 39.6c19.2 7 39.2-8.6 39.2-30.6V596.6c0-11.6 4-22.8 11.2-31.4l304.4-359.6c7.2-8.6 11.2-19.8 11.2-31.4 0-25.6-19.2-46.4-42.8-46.4H138.8C115.2 128 96 148.8 96 174.4z" ></path></symbol><symbol id="iconios-flag" viewBox="0 0 1024 1024"><path d="M813.4 161.6c-6.2 1-12.8 2-19.8 2.8-26.4 3.4-85.6 10.4-121.2 10.4-55.4 0-105.6-13.6-156.4-24.4-51.6-11-104.8-22.4-161.2-22.4-112.4 0-150.6 24.2-154.6 26.8L192 160.6v706.6c0 14.4 10.4 26.8 24.6 28.6 17 2 31.4-11.2 31.4-27.8V559.2c0-7.6 5.4-14.2 12.8-15.8 21-4.2 51.6-7.8 94-7.8 52.4 0 101.4 20 153.2 31 52.8 11.2 97.2 23 166.8 23s143.6-13.2 143.6-13.2c7.8-1.2 13.8-7.8 13.8-15.8V177.4c-0.2-9.8-9-17.4-18.8-15.8z" ></path></symbol><symbol id="iconios-home" viewBox="0 0 1024 1024"><path d="M517 208.2c-3-2.4-7-2.4-10 0l-312 249.6c-1.8 1.6-3 3.8-3 6.2v460c0 2.2 1.8 4 4 4h216c2.2 0 4-1.8 4-4V644c0-2.2 1.8-4 4-4h184c2.2 0 4 1.8 4 4v280c0 2.2 1.8 4 4 4h216c2.2 0 4-1.8 4-4V464c0-2.4-1.2-4.8-3-6.2l-312-249.6z" ></path><path d="M917.4 408.4l-378-302.8C531.8 99.4 522 96 512 96s-19.8 3.4-27.4 9.6L320 239.4V155c0-2.2-1.8-4-4-4H196c-2.2 0-4 1.8-4 4v184.4l-85.4 70.2c-6.2 5-10.2 12.4-10.6 20.4-0.4 8 2.6 15.8 8.2 21.4 5.2 5.2 12.2 8.2 19.8 8.2 6.4 0 12.6-2.2 17.6-6.2l367.8-296c1-0.8 1.8-0.8 2.6-0.8s1.6 0.2 2.6 0.8l367.8 294.8c5 4 11.2 6.2 17.6 6.2 7.4 0 14.4-2.8 19.8-8.2 5.8-5.6 8.8-13.4 8.4-21.4-0.6-8-4.4-15.4-10.8-20.4z" ></path></symbol><symbol id="iconios-journal" viewBox="0 0 1024 1024"><path d="M184.2 64C153.2 64 128 89.2 128 120.2V904c0 31 25.2 56.2 56.2 56.2H864c17.6 0 32-14.4 32-32s-14.4-32-32-32H225c-16.4 0-30.8-12-32.8-28.2-2.2-19.4 13-36 31.8-36h416V64H184.2z" ></path><path d="M864 832c17.6 0 32-14.4 32-32V120.2c0-31-25.2-56.2-56.2-56.2H736v768h128z" ></path></symbol><symbol id="iconios-folder" viewBox="0 0 1024 1024"><path d="M960 238c0-26.6-18.8-46-45.6-46H397.8c-5.6 0-8.6-1.2-12.2-4.8l-45-45-0.4-0.4c-9.8-9.2-17.8-13.8-34.6-13.8H113.4C85.8 128 64 148.6 64 174v147.4c0 3.2 3.4 3 6 1.4s10-2.8 14-2.8h856c4 0 11.4 1.2 14 2.8 2.6 1.6 6 1.8 6-1.4V238zM64 832.8c0 35 28.4 63.2 63.2 63.2H896c35.2 0 64-28.8 64-64V408c0-17.6-14.4-32-32-32H96c-17.6 0-32 14.4-32 32v424.8z" ></path></symbol><symbol id="iconios-image" viewBox="0 0 1024 1024"><path d="M225.2 624.6h381.4c9 0 14.2-10.2 9-17.6l-190.8-306.8c-4.4-6.4-13.8-6.4-18.2 0L216 607c-5.2 7.4 0.2 17.6 9.2 17.6z m388.2-116l70 111.4c2 3 5.4 4.8 9 4.8h106.4c9 0 14.2-10.2 9-17.6l-123.2-175.4c-4.4-6.4-13.8-6.4-18.2 0L613.2 496c-2.4 3.6-2.4 8.6 0.2 12.6z m88.8-172.8c26.2-2.6 47.4-23.8 50-50 3.6-35.4-26-65-61.4-61.4-26.2 2.6-47.4 23.8-50 50-3.4 35.4 26 65 61.4 61.4z" ></path><path d="M864 96H160c-35.4 0-64 28.6-64 64v704c0 35.4 28.6 64 64 64h704c35.4 0 64-28.6 64-64V160c0-35.4-28.6-64-64-64z m-5.4 560c0 8.8-7.2 16-16 16H181.4c-8.8 0-16-7.2-16-16V181.4c0-8.8 7.2-16 16-16h661.4c8.8 0 16 7.2 16 16V656z" ></path></symbol><symbol id="iconios-mail" viewBox="0 0 1024 1024"><path d="M921.2 294.6L706 513.8c-1.6 1.6-1.6 4 0 5.6l150.6 160.4c10.2 10.2 10.2 26.6 0 36.8-5 5-11.8 7.6-18.4 7.6s-13.4-2.6-18.4-7.6l-150-159.8c-1.6-1.6-4.2-1.6-5.8 0L627.4 594c-30.6 31-71.2 48.2-114.8 48.4-44.2 0.2-86.2-18.4-117.2-49.8l-35.2-35.8c-1.6-1.6-4.2-1.6-5.8 0l-150 159.8c-5 5-11.8 7.6-18.4 7.6s-13.4-2.6-18.4-7.6c-10.2-10.2-10.2-26.6 0-36.8l150.6-160.4c1.4-1.6 1.4-4 0-5.6L102.8 294.6c-2.6-2.6-6.8-0.8-6.8 2.8V736c0 35.2 28.8 64 64 64h704c35.2 0 64-28.8 64-64V297.4c0-3.6-4.4-5.2-6.8-2.8z" ></path><path d="M512 590.2c29.6 0 57.4-11.6 78.2-32.8L904 238c-11-8.8-24.6-14-39.6-14H159.8c-15 0-28.8 5.2-39.6 14L434 557.4c20.6 21 48.4 32.8 78 32.8z" ></path></symbol><symbol id="iconios-map" viewBox="0 0 1024 1024"><path d="M128 145v632.6c0 5.6 2.6 11 7 14l139.6 100.4c10.4 7.4 24.2-0.6 24.2-14V245.4c0-5.6-2.6-11-7-14L152.2 130.8c-10.4-7.4-24.2 0.6-24.2 14.2z m209.4 101.6v632.6c0 13.4 13.8 21.6 24.2 14l124-73.4c4.4-3.2 7-8.4 7-14V173.2c0-13.4-13.8-21.6-24.2-14l-124 73.4c-4.4 3-7 8.2-7 14z m534.4-115.6l-139.6 101.4c-4.4 3.2-7 8.4-7 14v632.4c0 13.6 13.8 21.6 24.2 14l139.6-101.4c4.4-3.2 7-8.4 7-14V145c0-13.4-13.8-21.4-24.2-14zM531.4 171.2v632.4c0 5.6 2.6 11 7 14l124 74c10.4 7.6 24.2-0.6 24.2-14V245.2c0-5.6-2.6-11-7-14l-124-74c-10.4-7.4-24.2 0.6-24.2 14z" ></path></symbol><symbol id="iconios-medkit" viewBox="0 0 1024 1024"><path d="M864 256h-168V192c0-35.2-28.8-64-64-64H392c-35.2 0-64 28.8-64 64v64H160c-35.4 0-64 28.6-64 64v512c0 35.4 28.6 64 64 64h704c35.4 0 64-28.6 64-64V320c0-35.4-28.6-64-64-64z m-480-56c0-8.8 7.2-16 16-16h224c8.8 0 16 7.2 16 16v56H384v-56z m256 408h-96v96c0 17.6-14.4 32-32 32s-32-14.4-32-32v-96h-96c-17.6 0-32-14.4-32-32s14.4-32 32-32h96v-96c0-17.6 14.4-32 32-32s32 14.4 32 32v96h96c17.6 0 32 14.4 32 32s-14.4 32-32 32z" ></path></symbol><symbol id="iconmd-phone-portrait" viewBox="0 0 1024 1024"><path d="M717.712 64H306.286C261.024 64 224 100.652 224 145.456v733.09C224 923.348 261.024 960 306.286 960h411.426C762.976 960 800 923.348 800 878.544V145.456C800 100.652 762.976 64 717.712 64zM728 800H296V224h432v576z" ></path></symbol><symbol id="iconmd-photos" viewBox="0 0 1024 1024"><path d="M800 842.6V309.4c0-47-38.4-85.4-85.4-85.4H181.4C134.4 224 96 262.4 96 309.4v533.4c0 47 38.4 85.4 85.4 85.4h533.4c46.8-0.2 85.2-38.6 85.2-85.6zM314.6 608l90.6 128 133.4-192 176 256H181.4l133.2-192z" ></path><path d="M842.6 96H309.4C262.4 96 224 134.4 224 181.4V192h522.6c47 0 85.4 38.4 85.4 85.4V800h10.6c47 0 85.4-38.4 85.4-85.4V181.4c0-47-38.4-85.4-85.4-85.4z" ></path></symbol><symbol id="iconmd-pin" viewBox="0 0 1024 1024"><path d="M512 64c-176.008 0-320 141.114-320 313.602C192 612.8 512 960 512 960s320-347.2 320-582.398C832 205.114 688.008 64 512 64z m0 425.602c-63.992 0-114.288-49.29-114.288-112 0-62.714 50.294-112 114.288-112s114.288 49.286 114.288 112c0 62.71-50.296 112-114.288 112z" ></path></symbol><symbol id="iconmd-pie" viewBox="0 0 1024 1024"><path d="M65.2 512H512V65.2c-10-0.8-21.2-1.2-32-1.2-229.8 0-416 186.2-416 416 0 10.8 0.4 22 1.2 32z" ></path><path d="M219.6 804.4C295.8 899.2 412.8 960 544 960c229.8 0 416-186.2 416-416 0-131.2-60.8-248.2-155.6-324.4C741 168.6 662 135.8 576 129.2V576H129.2c6.6 86 39.4 165 90.4 228.4z" ></path></symbol><symbol id="iconmd-podium" viewBox="0 0 1024 1024"><path d="M64 448h256v384H64z m320-192h256v576H384z m320 320h256v256H704z" ></path></symbol><symbol id="iconmd-pint" viewBox="0 0 1024 1024"><path d="M128 96l85.8 758.4c5.2 41.6 41 73.6 85 73.6h426.6c44 0 79.8-32 85-73.6L896 96H128z m654 249.6H242l-18.8-166.4h577.2l-18.4 166.4z" ></path></symbol><symbol id="iconmd-phone-landscape" viewBox="0 0 1024 1024"><path d="M960 717.712V306.286C960 261.024 923.348 224 878.544 224H145.456C100.652 224 64 261.024 64 306.286v411.426C64 762.976 100.652 800 145.456 800h733.09C923.348 800 960 762.976 960 717.712zM224 728V296h576v432H224z" ></path></symbol><symbol id="iconmd-play-circle" viewBox="0 0 1024 1024"><path d="M512 96C282.4 96 96 282.4 96 512s186.4 416 416 416 416-186.4 416-416S741.6 96 512 96z m-83.2 603.2V324.8L678.4 512l-249.6 187.2z" ></path></symbol><symbol id="iconmd-pizza" viewBox="0 0 1024 1024"><path d="M814.4 260.8C721.4 223 619.6 204 512 204c-107.8 0-216.6 20.6-302.4 56-16.2 6.6-30.6 18-20.2 39S511.8 960 511.8 960l322-659.8c6.4-13.8 1.8-30.8-19.4-39.4z m-442 147.2c-37.4 0-64-28.6-64-64s26.6-64 64-64 64 28.6 64 64-26.6 64-64 64zM512 694c-37.4 0-64-28.6-64-64s26.6-64 64-64 64 28.6 64 64-26.6 64-64 64z m139.6-246c-37.4 0-64-28.6-64-64s26.6-64 64-64 64 28.6 64 64-26.6 64-64 64z" ></path><path d="M873.8 132C769.4 90.8 640.6 64 512 64c-128.6 0-255.2 24.2-361.8 66.8C140.8 134.6 128 142 128 158.4l19.4 48.2c5.6 9.8 17.4 16.4 30.2 16.4 3.6 0 8.6-0.6 14.6-3 98-37.8 206.2-59.2 320-59.2 113.8 0 230.4 23.2 320 59.2 7.2 2.8 11.2 3 14.6 3 13.2 0 24.4-6.6 30-16.2l19.6-48.2c-0.4-14.6-10-21.6-22.6-26.6z" ></path></symbol><symbol id="iconmd-print" viewBox="0 0 1024 1024"><path d="M799.9 320h-575.8C153.648 320 96 377.606 96 448v277.334h159.798V896H768.2v-170.666H928V448c0-70.394-57.65-128-128.1-128zM704 832H320V576h384v256z m64.202-704H255.798v160H768.2V128z" ></path></symbol><symbol id="iconmd-pricetags" viewBox="0 0 1024 1024"><path d="M884 214v282L458.4 903.4c16 16 41.6 24.6 57.6 24.6s45.6-7.4 62.8-24.6L960 544V288l-76-74z" ></path><path d="M768 96H448L88.6 471.2c-16 16-24 35.6-24.6 56.8-0.6 22.6 7.4 46.6 24.6 63.8l247.6 247.2c16 16 41.6 25 57.6 25s45.4-7.8 62.6-25L832 480V160l-64-64z m-61.4 205.4c-43.4 12.2-82.6-20-82.6-61.4 0-35.4 28.6-64 64-64 41.4 0 73.6 39.2 61.4 82.6-5.8 20.6-22.2 37-42.8 42.8z" ></path></symbol><symbol id="iconmd-pricetag" viewBox="0 0 1024 1024"><path d="M832 128H515.2L153 503.2c-16 16-24.6 37-25 58-0.6 22.6 7.8 45.2 25 62.4l247.4 247.2c16 16 41.6 25 57.6 25s45.6-7.8 62.8-25L896 512V192l-64-64z m-61.4 205.4c-43.4 12.2-82.6-20-82.6-61.4 0-35.4 28.6-64 64-64 41.4 0 73.6 39.2 61.4 82.6-5.8 20.6-22.2 37-42.8 42.8z" ></path></symbol><symbol id="iconmd-remove-circle" viewBox="0 0 1024 1024"><path d="M512 96C282.25 96 96 282.25 96 512s186.25 416 416 416 416-186.25 416-416S741.75 96 512 96z m214 458H298v-84h428v84z" ></path></symbol><symbol id="iconmd-refresh-circle" viewBox="0 0 1024 1024"><path d="M512 96C283.2 96 96 283.2 96 512s187.2 416 416 416 416-187.2 416-416S740.8 96 512 96z m224 388h-196l89.6-89.6C600.2 363.6 558.2 344 512 344c-92.4 0-168 75.6-168 168s75.6 168 168 168c69.8 0 130.6-42.4 155.2-104h59.6c-27.8 92.6-112.6 160-214.8 160-124.6 0-224-100.8-224-224s100.8-224 224-224c61.6 0 117.6 25.2 158.2 65.8L736 288v196z" ></path></symbol><symbol id="iconmd-school" viewBox="0 0 1024 1024"><path d="M227 562.4v170.6L512 896l285-163v-170.6L512 725.4l-285-163zM512 128L64 384l448 256 366.6-209.4v294.8H960V384L512 128z" ></path></symbol><symbol id="iconmd-rainy" viewBox="0 0 1024 1024"><path d="M278 800s-46 50.6-46 81.4c0 25.6 20.6 46.6 46 46.6s46-21 46-46.6c0-30.8-46-81.4-46-81.4z m156-64s-46 50.6-46 81.4c0 25.6 20.8 46.6 46 46.6 25.4 0 46-21 46-46.6 0-30.8-46-81.4-46-81.4z m156 64s-46 50.6-46 81.4c0 25.6 20.6 46.6 46 46.6 25.2 0 46-21 46-46.6 0-30.8-46-81.4-46-81.4z m156-64s-46 50.6-46 81.4c0 25.6 20.8 46.6 46 46.6 25.4 0 46-21 46-46.6 0-30.8-46-81.4-46-81.4z m40.4-413.6C761 193.2 647.8 96 512 96c-79.4 0-152 28-201.8 90.8 68.6 5.2 132.2 30.4 181.4 79.6 36.4 36.4 62 81 74.8 129.6h-67c-30.6-87.4-112-150-211.4-150-12 0-28.6 1.4-41.2 4C140 272 64 360.8 64 471 64 595.2 158.8 704 282.4 704h485.4c103 0 192.4-92 192.4-195.6-0.2-98.8-76.8-179.2-173.8-186z" ></path></symbol><symbol id="iconmd-rocket" viewBox="0 0 1024 1024"><path d="M512 843.2c-36.2 0-66.4-13.6-85.8-21.8-10.8-4.6-22.6 3.6-21.8 15.2l7 102c0.4 6.2 7.6 9.4 12.6 5.6l29-22c3.6-2.8 9-1.8 11.4 2l41 64.2c3 4.8 10.2 4.8 13.2 0l41-64.2c2.4-3.8 7.8-4.8 11.4-2l29 22c5 3.8 12.2 0.6 12.6-5.6l7-102c0.8-11.6-11-20-21.8-15.2-19.6 8.2-49.6 21.8-85.8 21.8z" ></path><path d="M795.4 586.2l-96-98.2c0-316-186.4-456-186.4-456s-188.2 140-188.2 456l-96 98.2c-3.6 3.6-5.2 9-4.4 14.2L261.2 824c1.8 11.4 14.2 17 23.6 10.8l134.2-90.8s41.4 40 94.2 40c52.8 0 92.2-40 92.2-40l134.2 90.8c9.2 6.2 21.6 0.6 23.6-10.8l37-223.8c0.4-5.2-1.2-10.4-4.8-14zM513 384c-34 0-61.4-28.6-61.4-64s27.6-64 61.4-64c34 0 61.4 28.6 61.4 64s-27.4 64-61.4 64z" ></path></symbol><symbol id="iconmd-reverse-camera" viewBox="0 0 1024 1024"><path d="M880 192h-176l-64-64H384l-64 64H144c-44.2 0-80 35.8-80 80v544c0 44.2 35.8 80 80 80h736c44.2 0 80-35.8 80-80V272c0-44.2-35.8-80-80-80z m-144 342h-195.4l89.6-90.2c-29.4-30.8-71.4-51-117.6-51-92.4 0-168 75.6-168 168s75.6 168 168 168c71 0 132.4-43 156.4-107h59.2c-26.8 94-112.4 163-215.6 163-124.6 0-224-100.8-224-224s100.8-224 224-224c61.6 0 117.4 25.2 158 65.8l65.6-65.8V534z" ></path></symbol><symbol id="iconmd-send" viewBox="0 0 1024 1024"><path d="M96 896l832-384L96 128v298.666L692 512 96 597.334z" ></path></symbol><symbol id="iconmd-share-alt" viewBox="0 0 1024 1024"><path d="M896 496L576 192v170.668C277.332 405.334 170.666 618.668 128 832c106.666-149.332 234.666-217.604 448-217.604v174.938L896 496z" ></path></symbol><symbol id="iconmd-star" viewBox="0 0 1024 1024"><path d="M512 745.372L761.66 896l-66.042-284.132L916 420.818l-290.534-24.95L512 128l-113.486 267.868L108 420.818l220.384 191.05L262.322 896z" ></path></symbol><symbol id="iconmd-subway" viewBox="0 0 1024 1024"><path d="M512 96c-187.728 0-352 21.336-352 170.668v426.664c0 83.208 66.124 149.332 149.334 149.332L256 896v32h512v-32l-53.334-53.336c83.208 0 149.334-66.124 149.334-149.332V266.668C864 117.336 699.728 96 512 96z m-192 672c-36.272 0-64-27.73-64-64 0-36.274 27.728-64 64-64s64 27.726 64 64c0 36.27-27.728 64-64 64z m160-288H256v-192h224v192z m224 288c-36.272 0-64-27.73-64-64 0-36.274 27.728-64 64-64s64 27.726 64 64c0 36.27-27.728 64-64 64z m64-288H544v-192h224v192z" ></path></symbol><symbol id="iconmd-ribbon" viewBox="0 0 1024 1024"><path d="M512 64c-141.4 0-256 114.6-256 256s114.6 256 256 256 256-114.6 256-256S653.4 64 512 64z m0 416c-88.4 0-160-71.6-160-160s71.6-160 160-160 160 71.6 160 160-71.6 160-160 160z m-124.6 134.8c-38.2-16.2-72.4-39.2-101.6-68.6-2.8-2.8-5.6-5.6-8.2-8.6L128 800h192l96 160 96-211.6 51-112.4c-16.8 2.6-33.8 4-51 4-43.2 0-85-8.4-124.6-25.2z m359.2-77c-2.6 2.8-5.4 5.8-8.2 8.6-29.2 29.2-63.4 52.4-101.4 68.4L588 722.4l-43.8 96.8L608 960l96-160h192l-149.4-262.2z" ></path></symbol><symbol id="iconmd-shirt" viewBox="0 0 1024 1024"><path d="M640 128c-22.2 38.2-80.6 64-128 64s-105.8-25.8-128-64L128 192v192l154-32-26 544h512l-26-544 154 32V192L640 128z" ></path></symbol><symbol id="iconmd-snow" viewBox="0 0 1024 1024"><path d="M922.8 597l-16.6-61.8-176 47.2-120.8-69.8 120.8-69.8 176 47.2 16.6-61.8-114.2-30.6 115.4-66.6-48-83-113.2 65.4 30.6-114.2-61.8-16.6-47.2 176-124.4 71.8v-142.2l129-128.8-45.4-45.2L560 197.8V64h-96v131.2l-83.4-83.4-45.2 45.2 128.6 128.8v142.8l-121.4-70-47.2-176-61.8 16.6 30.6 114.2-115.4-66.8-48 83.2 113.4 65.4L100 425.8l16.6 61.8 175.8-47.2 125.2 72.2-125.2 72.4-175.8-47.2-16.6 61.8 114.2 30.6-113.4 65.4 48 83 115.4-66.6-30.6 114 61.8 16.6 47.2-175.8 121.4-70.2v141.8l-128.6 128.8 45.2 45.2 83.4-83.6V960h96v-133.6l83.8 83.4 45-45.2L560 736v-141.2l124.4 72 47.2 175.8 61.8-16.6-30.6-114 113.2 65.4 48-83.2-115.4-66.6z" ></path></symbol><symbol id="iconmd-rose" viewBox="0 0 1024 1024"><path d="M521.2 429.6c47.6-81.8 96-143.2 182.8-192.8 16.6-9.6 42.4-16 45.6-17.8C581.4 167.4 512 64 512 64s-69.4 103.4-241 153c11.6 6.8 33 13 61.4 27.4 69 34.8 125 102.6 188.8 185.2z m-28.6 77.2C373.4 322.4 262.8 253.6 96 253.6c108.4 157.2 104 349.2 104 430.8 0 152.2 139.6 275.6 312 275.6 115.2 0 215.8-55.2 270-137.4-71-55.2-170.2-131.4-289.4-315.8zM928 253.6s-110.4-4.6-170.4 30.8c-86 51-148.8 122.6-190.8 206.4 77.6 104 146 175.8 190.8 218.8 21.4 20.4 39.6 36.4 55 49 7.4-23.6 11.6-48.6 11.6-74.4-0.2-81.6-34.8-228.2 103.8-430.6z" ></path></symbol><symbol id="iconmd-save" viewBox="0 0 1024 1024"><path d="M725.4 128h-512C166 128 128 166.4 128 213.4v597.4c0 47 38 85.4 85.4 85.4h597.4c47 0 85.4-38.4 85.4-85.4v-512L725.4 128zM512 810.6c-70.8 0-128-57.2-128-128s57.2-128 128-128 128 57.2 128 128-57.2 128-128 128zM640 384H213.4v-170.6H640V384z" ></path></symbol><symbol id="iconmd-thermometer" viewBox="0 0 1024 1024"><path d="M606 600.4V156.8c0-51.4-42-93-94-93s-94 41.6-94 93v443.8c-58 33-97.8 95.6-97.8 167.4 0 106 86 192 192 192s192-86 192-192c0-72-40.2-134.6-98.2-167.6zM480 156.8c0-16 15.4-29 32-29s32 13 32 29V256h-64V156.8z" ></path></symbol><symbol id="iconmd-thunderstorm" viewBox="0 0 1024 1024"><path d="M786.4 322.4C761 193.2 647.8 96 512 96c-79.4 0-152 28-201.8 90.8 68.6 5.2 132.2 30.4 181.4 79.6 36.4 36.4 62 81 74.8 129.6h-67c-30.6-87.4-112-150-211.4-150-12 0-28.6 1.4-41.2 4C140 272 64 360.8 64 471 64 595.2 164.4 672 288 672h136V466h198.2l-66.4 134H622l-36 72h187.4c103 0 186.6-60 186.6-163.6 0-98.8-76.6-179.2-173.6-186zM424 736h44v192l118-256h-162z" ></path></symbol><symbol id="iconmd-settings" viewBox="0 0 1024 1024"><path d="M827.934 553.6c2.12-12.47 2.12-27.036 2.12-41.6s-2.12-27.036-2.12-41.6l89.334-68.636c8.52-6.236 10.638-16.634 4.26-27.036L836.43 231.2c-4.258-8.328-17.014-12.47-25.534-8.328l-106.372 41.602c-21.276-16.636-46.788-31.202-72.32-41.602l-14.896-110.234c-2.12-8.308-10.638-16.636-21.276-16.636h-170.196c-10.636 0-19.154 8.328-21.274 16.636l-17.016 110.234c-25.534 10.4-48.928 24.964-72.342 41.602l-106.372-41.602c-10.638-4.142-21.276 0-25.534 8.328L98.2 374.73c-4.238 8.306-2.122 20.798 4.258 27.036L193.94 470.4c0 14.564-2.12 27.036-2.12 41.6s2.12 27.036 2.12 41.6l-89.336 68.636c-8.52 6.236-10.636 16.634-4.26 27.036L185.442 792.8c4.26 8.328 17.016 12.47 25.534 8.328l106.374-41.602c21.274 16.636 46.788 31.202 72.32 41.602l17.016 110.234c2.138 10.4 10.636 16.636 21.274 16.636h170.196c10.638 0 19.156-8.328 21.276-16.636l17.036-110.234c25.514-10.4 48.928-24.964 72.32-41.602l106.374 41.602c10.636 4.142 21.274 0 25.534-8.328l85.098-143.53c4.258-8.306 2.12-20.798-4.26-27.036l-93.6-68.634z m-316.998 104c-82.978 0-148.92-64.47-148.92-145.6s65.942-145.6 148.92-145.6 148.922 64.47 148.922 145.6-65.944 145.6-148.922 145.6z" ></path></symbol><symbol id="iconmd-trash" viewBox="0 0 1024 1024"><path d="M256 810.858C256 857.692 294.396 896 341.334 896h341.334C729.604 896 768 857.692 768 810.858V320H256v490.858zM832 192h-160l-53.57-64H405.572L352 192H192v64h640V192z" ></path></symbol><symbol id="iconmd-thumbs-down" viewBox="0 0 1024 1024"><path d="M628 128H284c-31.4 0-57.2 19.2-68.4 46.8L101.2 445.6c-3.4 8.8-5.2 18-5.2 28v77.2c0 42.2 34 89.2 75.6 89.2h238.6l-36 163-1.2 12c0 15.8 6.4 30.2 16.6 40.6l40 40.2L682 641.4c13.6-13.8 22-33 22-54.2v-384c0-42.2-34.4-75.2-76-75.2z m172 0h128v448h-128z" ></path></symbol><symbol id="iconmd-trophy" viewBox="0 0 1024 1024"><path d="M784 210c1.8-54 0.4-112 0.2-114H238.6c0 2-1.6 60 0.2 114H96c0 136 19.8 204.6 42 253.4S190.8 554 255.4 604c60.2 46.6 191 107.2 208.6 115.2v56.6c-9.2 20-47 56.4-166.6 56.4H256v96h512v-96h-51.4c-121.4 0-150-38.2-156.6-56.4v-56.6c18.6-9.2 161.8-80.6 208.8-115 50.4-36.8 101.8-103 117.4-140.6S928 334 928 210h-144zM219.2 423.8c-17.6-36.4-28-75.8-31.4-123.8h57.4c1.4 12 2.8 22.6 4.6 32.6 13.2 78.4 29.6 140.4 51.4 193-34.6-27-62.6-61.6-82-101.8z m585.6 0c-19.8 40.6-48 75.4-83.2 102.6 22-52.4 38-113.6 51.6-193.8 1.6-10 3.2-20.6 4.6-32.6h58.6c-3.6 48-13.8 87.4-31.6 123.8z" ></path></symbol><symbol id="iconmd-warning" viewBox="0 0 1024 1024"><path d="M64 928h896L512 96 64 928z m496-128h-96v-96h96v96z m0-160h-96v-192h96v192z" ></path></symbol><symbol id="iconmd-thumbs-up" viewBox="0 0 1024 1024"><path d="M396 896h344c31.4 0 57.2-19.2 68.4-46.8l114.2-270.8c3.4-8.8 5.2-18 5.2-28v-77.2c0-42.2-34-89.2-75.6-89.2H613.8l36-163 1.2-12c0-15.8-6.4-30.2-16.6-40.6L594 128 342 382.6c-13.6 13.8-22 33-22 54.2v384c0 42.2 34.4 75.2 76 75.2zM96 448h128v448H96z" ></path></symbol><symbol id="iconmd-watch" viewBox="0 0 1024 1024"><path d="M832 512c0-102.002-48.008-192.002-121.992-250L672 32H352l-38.008 230C240.008 319.998 192 409.998 192 512c0 101.992 48.008 191.992 121.992 250L352 992h320l38.008-230C783.992 703.992 832 613.992 832 512z m-560 0c0-132.002 108.008-240 240-240s240 107.998 240 240c0 131.992-108.008 240-240 240s-240-108.008-240-240z" ></path></symbol><symbol id="iconmd-umbrella" viewBox="0 0 1024 1024"><path d="M820.2 488.2c24 0 53.2 21.8 67.6 51.8H928c-0.6-100-42.4-203-118.8-281.8-72.6-74.8-166-121-265.2-131.4-6-18-23-30.8-43.2-30.8-20 0-37 13-43 30.6C250.6 147.6 96 319.4 96 532.4c0 2.2 0.2 3.6 0.8 7.6h43.6c13.6-30 44.4-51.8 70.6-51.8 34 0 63 21.8 73 51.8h39.6c8.2-30 33.8-51.4 66-51.4 35.6 0 66.2 29 68.2 65.2v236.6c0 18.6 0.2 48.2-26.8 48.2-13.8 0-33.2-3.6-33.2-32V764h-86v42.6c0 69.2 47.2 121.4 120 121.4 39 0 66.6-17 87-37.4 26.2-26.4 27-69.4 27-100.2V552.2c4-51.6 47.8-63.4 83.8-63.4 34.4 0 64.6 23.2 75.6 51.2h41c10.2-30 39.6-51.8 74-51.8z" ></path></symbol><symbol id="iconmd-tennisball" viewBox="0 0 1024 1024"><path d="M767.6 184.4C697 129 608.2 96 512 96c-96 0-184.6 33-255.2 88 83.2 89.6 128.6 206 128 328.6-0.6 122-46.6 237.2-129.8 325.8 70.8 56 160.2 89.6 257 89.6 97 0 186.6-33.6 257.6-90-83-88.6-129-203.6-129.6-325.4-0.6-122.4 44.6-238.6 127.6-328.2z" ></path><path d="M706.2 510.2c0 53.8 10.2 106 30.2 155.6 19.2 47.2 46.6 89.8 81.6 127.2 68.2-74.2 110-173 110-281 0-109-42.4-208.4-111.6-282.8-34.2 37-61.2 79.2-80 125.4-20 49.6-30.2 102-30.2 155.6z m-387.6 0c0-53.8-10.2-106-30.2-155.6-18.8-46.4-45.8-88.8-80.4-125.8-69.4 74.4-112 174-112 283.2 0 108.4 42 207.2 110.4 281.4 35.2-37.4 62.8-80.2 82-127.6 20-49.4 30.2-101.8 30.2-155.6z" ></path></symbol><symbol id="iconchengjiaoyonghushu" viewBox="0 0 1024 1024"><path d="M714.77777744 634.22222188c11.11111084-13.88888877 8.33333291-33.33333339-2.77777705-41.66666631-33.33333339-27.77777754-69.44444472-47.22222217-108.33333398-63.88888887 50.0000001-30.55555547 88.88888847-80.55555557 108.33333398-136.11111152 24.99999961-77.77777763 11.11111084-163.88888906-41.66666719-230.55555499C620.3333331 98.11111133 545.33333339 62 464.77777783 64.77777793 384.22222227 64.77777793 309.22222256 103.66666631 262.00000039 170.3333331c-36.11111133 50.0000001-50.0000001 111.11111104-44.44444511 172.22222286 8.33333291 77.77777763 52.77777803 147.22222237 119.44444482 186.11111074-5.55555586 2.77777793-11.11111084 5.55555586-19.44444463 8.33333291-47.22222217 19.44444463-86.11111143 50.0000001-122.22222188 86.11111143C159.22222227 659.22222237 131.44444473 700.88888867 114.77777802 748.11111084c-16.6666667 50.0000001-27.77777754 100.0000002-27.77777841 155.55555615v22.22222168c0 16.6666667 13.88888877 27.77777754 30.55555635 27.77777842h2.77777705c16.6666667 0 30.55555547-16.6666667 27.77777842-33.3333334v-19.44444463c0-44.44444424 8.33333291-88.88888847 24.99999961-130.55555566 16.6666667-38.88888926 38.88888926-74.99999971 69.44444472-108.33333311 58.333333-61.11111094 141.66666651-97.22222227 227.77777793-97.22222226 36.11111133 0 72.22222266 5.55555586 108.33333311 19.44444463 33.33333339 13.88888877 63.88888886 30.55555547 91.6666664 52.77777714 13.88888877 11.11111084 33.33333339 11.11111084 44.44444424-2.77777792z m-249.99999961-130.55555479c-50.0000001-2.77777793-94.44444434-22.22222256-130.55555566-55.55555596-36.11111133-36.11111133-55.55555596-86.11111143-55.55555508-136.11111152 0-100.0000002 86.11111143-186.11111074 188.88888867-188.88888867h2.77777793c50.0000001 0 97.22222227 19.44444463 133.33333272 55.55555596 36.11111133 36.11111133 58.333333 83.33333349 58.33333388 136.11111063 0 50.0000001-19.44444463 100.0000002-55.55555596 136.11111153-36.11111133 36.11111133-83.33333349 55.55555596-133.33333359 55.55555508l-8.33333291-2.77777705z m247.22222256 130.55555478zM928.6666666 720.3333333c-5.55555586-5.55555586-11.11111084-8.33333291-19.44444463-8.33333291-8.33333291 0-13.88888877 2.77777793-19.44444463 8.33333291l-180.55555487 163.88888907-63.88888888-72.22222266c-11.11111084-11.11111084-27.77777754-11.11111084-38.88888925-2.77777705-11.11111084 11.11111084-13.88888877 27.77777754-2.77777793 41.6666663l80.55555556 88.88888848c5.55555586 5.55555586 13.88888877 11.11111084 22.22222256 11.11111172 8.33333291 0 13.88888877-2.77777793 19.44444463-8.33333379l199.99999951-180.55555576c13.88888877-13.88888877 13.88888877-30.55555547 2.77777794-41.66666631z" fill="#8a8a8a" ></path></symbol><symbol id="iconchongzhijianshu" viewBox="0 0 1024 1024"><path d="M962.44623916 508.23955391c0-17.54874668-15.04178261-32.5905293-35.09749249-32.59052842-17.54874668 0-32.5905293 15.04178261-35.09749335 32.59052842v25.06963799c-10.02785537 152.92479112-107.79944326 290.80779961-253.20334219 338.44011152-305.84958223 100.27855195-586.62952646-180.50139317-486.35097539-486.35097451 50.13927597-152.92479112 200.55710303-253.20334219 361.00278545-253.20334307 20.05571075 0 35.09749336-15.04178261 35.09749336-35.09749248S533.75543193 62 516.20668526 62C310.63565498 62 130.13426182 194.86908037 77.48802266 390.41225615-0.22785537 688.74094708 225.39888565 959.49303594 511.192758 959.49303594c248.18941494 0 448.74651797-203.06406709 448.74651798-448.74651797l2.50696318-2.50696406z" fill="#8a8a8a" ></path><path d="M513.69972119 450.5793875v-97.77158789c0-20.05571075-15.04178261-35.09749336-35.09749248-35.09749336-20.05571075 0-35.09749336 15.04178261-35.09749336 35.09749336v183.00835635c0 20.05571075 15.04178261 35.09749336 35.09749336 35.09749336H664.11754912c20.05571075 0 35.09749336-15.04178261 35.09749249-35.09749336 0-20.05571075-15.04178261-35.09749336-35.09749249-35.09749336h-100.27855195s-2.50696406 0 0-2.50696319l275.76601699-275.76601699c12.53481855-12.53481855 12.53481855-35.09749336 0-47.63231192s-35.09749336-12.53481855-50.13927598 0l-275.76601699 275.766017c0 2.50696406 0 2.50696406 0 0z" fill="#8a8a8a" ></path></symbol><symbol id="iconchengbenjine" viewBox="0 0 1024 1024"><path d="M841.32960927 353.62011201l-15.0837996-15.08379873c-10.05586612-10.05586612-20.11173222-17.59776504-30.16759746-25.13966484l-5.02793262-5.0279335 5.02793262-5.02793262c20.11173222-20.11173222 32.68156465-47.76536338 32.68156464-77.93296084 0-70.39106104-67.87709473-128.21229053-155.86592167-128.21229052h-12.56983242c-12.56983242 0-25.13966484 2.51396631-37.70949727 7.54189892h-2.51396719l-2.5139663-2.51396631-10.05586612-7.54189893-7.54189893-5.02793349C572.3351958 74.56983242 542.16759746 62 512 62h-5.02793262c-30.16759746 2.51396631-60.3351958 15.08379873-82.96089433 32.68156465l-7.54189893 7.54189892-10.05586611 7.54189981c-17.59776504-7.54189981-35.19553096-10.05586612-55.30726319-10.05586611-87.98882695 0-155.86592168 55.30726231-155.86592167 128.21229052V237.97765391c2.51396631 25.13966484 15.08379873 47.76536338 32.68156464 65.36312841l5.02793262 5.02793262-5.02793262 5.0279335c-15.08379873 12.56983242-32.68156465 25.13966484-45.25139706 40.22346357-80.44692715 75.41899453-120.67039073 158.37988799-120.67039073 241.34078145C62 816.18994443 225.40782148 954.4581002 489.37430146 962h27.65363116c130.72625683 0 241.34078232-32.68156465 321.78770947-95.53072588 80.44692715-65.36312842 123.18435791-158.37988799 123.18435791-268.99441347-2.51396631-87.98882695-45.25139707-168.43575411-120.67039072-243.85474864z m-537.98882695-17.59776592c12.56983242-10.05586612 17.59776504-27.65363115 7.54189893-42.73742987-2.51396631-5.02793262-7.54189981-7.54189981-12.56983242-10.05586612-22.62569854-7.54189981-40.22346357-30.16759746-42.73742989-52.79329599C255.57541894 192.72625684 300.82681602 162.55865937 353.62011201 162.55865937h5.02793262c10.05586612 0 17.59776504 2.51396631 27.65363115 5.02793263l10.05586612 5.02793349c17.59776504 10.05586612 40.22346357 5.02793262 50.27932968-12.56983242v-2.51396719l12.56983243-10.05586523 5.02793261-5.02793351c12.56983242-10.05586612 25.13966484-15.08379873 40.22346358-17.59776503l10.05586611-2.51396631c15.08379873 0 27.65363115 5.02793262 40.22346358 12.56983243l10.0558661 12.56983242 5.02793263 2.5139663 10.05586611 12.56983242c5.02793262 7.54189981 15.08379873 12.56983242 22.62569853 15.08379873 10.05586612 2.51396631 17.59776504 0 25.13966484-5.02793261h2.51396632c2.51396631 0 5.02793262-2.51396631 7.5418998-2.51396719 10.05586612-5.02793262 20.11173222-7.54189981 30.16759746-7.54189892 52.79329599 0 95.53072588 30.16759746 95.53072676 65.36312841-2.51396631 25.13966484-17.59776504 45.25139707-42.73743076 52.79329599-15.08379873 7.54189981-22.62569854 25.13966484-15.08379873 40.22346359 2.51396631 5.02793262 7.54189981 10.05586612 12.56983242 12.56983242l12.56983242 7.5418998c25.13966484 15.08379873 47.76536338 32.68156465 67.87709473 55.30726231 65.36312842 62.84916211 100.55865937 128.21229053 103.07262568 198.60335156 0 90.50279326-35.19553096 165.92178779-100.55865938 218.71508378-62.84916211 52.79329599-155.86592168 80.44692715-266.48044628 82.96089434h-27.65363115c-236.31284883 0-384.63687158-115.6424581-384.63687159-304.18994443 0-67.87709473 32.68156465-135.75419033 100.55865938-196.08938525 20.11173222-20.11173222 42.73742988-37.70949727 67.87709472-55.30726231l12.56983242-5.0279335z" fill="#8a8a8a" ></path><path d="M351.10614482 640.21229053c-15.08379873 0-27.65363115 12.56983242-27.65363115 27.65363115s12.56983242 27.65363115 27.65363115 27.65363115h130.72625771v87.98882696c0 15.08379873 12.56983242 27.65363115 27.65363116 27.65363115 7.54189981 0 15.08379873-2.51396631 20.11173134-10.05586612 5.02793262-5.02793262 7.54189981-12.56983242 7.54189981-20.11173135v-87.98882694h133.24022315c7.54189981 0 15.08379873-2.51396631 20.11173222-7.54189981 5.02793262-5.02793262 7.54189981-12.56983242 7.54189893-20.11173135 0-15.08379873-12.56983242-27.65363115-27.65363115-27.65363115H539.65363115v-52.79329599h133.24022403c7.54189981 0 15.08379873-2.51396631 20.11173135-7.54189981 5.02793262-5.02793262 7.54189981-12.56983242 7.5418998-20.11173134 0-15.08379873-12.56983242-27.65363115-27.65363115-27.65363204h-113.1284918l105.58659199-123.18435704c10.05586612-12.56983242 7.54189981-30.16759746-5.02793261-40.22346357-12.56983242-10.05586612-30.16759746-7.54189981-40.22346446 2.51396632l-110.61452461 128.21229052-110.61452549-128.21229053c-5.02793262-5.02793262-12.56983242-7.54189981-17.59776503-10.05586611-7.54189981 0-15.08379873 2.51396631-20.11173223 7.5418998-5.02793262 5.02793262-10.05586612 12.56983242-10.05586612 20.11173135 0 7.54189981 2.51396631 15.08379873 5.02793351 20.11173223l105.58659198 123.18435702h-113.12849179c-15.08379873 0-27.65363115 12.56983242-27.65363115 27.65363204s12.56983242 27.65363115 27.65363115 27.65363115h130.72625684V640.21229053h-128.21229054z" fill="#8a8a8a" ></path></symbol><symbol id="iconfufeihuiyuanshu" viewBox="0 0 1105 1024"><path d="M1020.23529453 427.29411729L837.58823545 107C821.70588271 80.52941182 792.58823545 62 760.82352911 62H334.64705908C302.88235273 62 273.76470547 77.88235273 257.88235273 107L75.23529453 427.29411729c-18.52941182 34.41176455-13.23529453 76.76470547 13.23529365 105.88235361L485.52941182 935.52941182c15.88235273 15.88235273 39.70588271 26.47058818 63.52941181 26.47058818 23.82352911 0 45-10.58823545 63.52941182-26.47058818l394.41176455-402.35294092c26.47058818-29.11764727 31.76470547-71.47058818 13.23529453-105.88235361z m-63.52941182 55.58823544l-397.05882363 402.3529418c-7.94117637 7.94117637-18.52941182 7.94117637-26.47058818 0L138.76470547 482.88235273c-5.29411729-5.29411729-7.94117637-15.88235273-2.6470582-21.17647002L318.76470547 141.41176455c2.64705908-5.29411729 10.58823545-10.58823545 15.88235361-10.58823545h426.17647002c7.94117637 0 13.23529453 2.64705908 15.88235361 10.58823545l182.64705821 320.29411816c2.64705908 5.29411729 2.64705908 15.88235273-2.64705821 21.17647002z" fill="#8a8a8a" ></path><path d="M670.8235291 472.29411729l-124.41176455 124.41176542-124.41176455-124.41176542c-13.23529453-13.23529453-37.05882364-13.23529453-47.64705908 0-5.29411729 5.29411729-10.58823545 15.88235273-10.58823545 23.82352998 0 7.94117637 2.64705908 18.52941182 10.58823545 23.82352909l148.23529453 148.23529454c5.29411729 5.29411729 15.88235273 10.58823545 23.8235291 10.58823457 7.94117637 0 18.52941182-2.64705908 23.82352998-10.58823458l148.23529365-148.23529452c13.23529453-13.23529453 13.23529453-34.41176455 0-47.64705908-10.58823545-13.23529453-34.41176455-13.23529453-47.64705907 0z" fill="#8a8a8a" ></path></symbol><symbol id="iconchongzhiyonghushu" viewBox="0 0 1024 1024"><path d="M726.61538427 632.46153886c11.07692315-11.07692315 11.07692315-30.46153887-2.76923055-41.53846201-33.23076943-27.69230742-69.23076943-49.84615371-108-63.69230742 16.61538428-11.07692315 33.23076943-22.15384628 44.30769257-36 49.84615371-47.07692315 74.76923057-110.76923057 74.76923056-177.23076943s-27.69230742-130.15384628-74.76923056-177.23076943c-96.92307685-96.92307685-257.53846114-96.92307685-354.46153887 0-49.84615371 47.07692315-74.76923057 110.76923057-74.76923057 177.23076943s27.69230742 130.15384628 74.76923057 177.23076943c13.84615371 13.84615371 30.46153887 24.92307685 47.07692315 36-5.53846114 2.76923057-13.84615371 5.53846114-19.38461484 8.30769171-47.07692315 22.15384628-85.84615372 49.84615371-121.8461546 85.84615458C178.30769258 657.38461573 150.61538427 698.92307685 131.23076943 746c-16.61538428 49.84615371-27.69230742 102.46153887-27.6923083 155.07692315v22.15384628c0 13.84615371 13.84615371 27.69230742 30.46153887 27.69230742 19.38461572 0 30.46153887-16.61538428 30.46153886-33.23076943v-19.38461484c0-44.30769258 8.30769258-88.61538428 24.92307686-130.15384629s38.76923057-77.53846113 69.23076855-108c58.15384629-60.92307685 141.23076943-96.92307685 227.07692315-96.92307686 38.76923057 0 74.76923057 5.53846114 108 19.38461484 33.23076943 11.07692315 63.69230742 30.46153887 91.38461573 52.61538516 11.07692315 11.07692315 30.46153887 11.07692315 41.53846113-2.76923056zM350 178.30769258c36-36 85.84615372-55.38461573 135.69230742-55.38461573 105.23076943 0 191.07692315 85.84615372 185.53846201 191.07692315 0 52.61538428-19.38461572 99.69230742-55.38461571 135.69230742-33.23076943 36-83.07692315 55.38461573-132.92307687 55.38461573h-5.53846113c-47.07692315 0-94.15384628-22.15384628-127.38461572-55.38461573-36-36-55.38461573-85.84615372-55.38461573-135.69230742 0-52.61538428 19.38461572-99.69230742 55.38461573-135.69230742z m-83.07692315 22.15384628c8.30769258-13.84615371 16.61538428-27.69230742 24.92307687-38.76923144-8.30769258 11.07692315-16.61538428 24.92307685-24.92307687 38.76923145z m27.69230742-41.53846201c2.76923057-5.53846114 8.30769258-11.07692315 11.07692315-13.8461537-2.76923057 2.76923057-8.30769258 8.30769258-11.07692315 13.8461537z m-44.30769169 83.07692315c0-2.76923057 2.76923057-5.53846114 2.76923057-5.53846114-2.76923057 0-2.76923057 2.76923057-2.76923057 5.53846114z m5.53846114-22.15384629c2.76923057-5.53846114 8.30769258-13.84615371 11.07692313-19.38461485-2.76923057 5.53846114-8.30769258 13.84615371-11.07692313 19.38461485z m335.07692313 360.00000001c-33.23076943-13.84615371-72-19.38461572-105.23076943-19.38461486 36 0 74.76923057 5.53846114 108 19.38461485s66.46153886 30.46153887 94.1538463 52.61538515c5.53846114 5.53846114 11.07692315 8.30769258 16.61538515 8.30769171-8.30769258 0-13.84615371 0-19.38461572-5.53846114-27.69230742-24.92307685-60.92307685-41.53846114-94.1538463-55.38461572zM895.53846114 784.76923057H795.84615371v-94.15384629c0-13.84615371-11.07692315-27.69230742-27.69230742-27.69230743-13.84615371 0-27.69230742 11.07692315-27.69230742 27.69230743v94.15384629h-96.92307773c-13.84615371 0-27.69230742 13.84615371-27.69230742 27.6923083s11.07692315 27.69230742 27.69230742 27.69230742H740.46153887v94.15384629c0 5.53846114 2.76923057 13.84615371 8.3076917 19.38461484s11.07692315 8.30769258 19.38461572 8.30769258c16.61538428 0 27.69230742-13.84615371 27.69230743-27.69230742v-94.15384629h94.15384628c13.84615371 0 27.69230742-11.07692315 27.69230742-27.69230742 0-13.84615371-8.30769258-24.92307685-22.15384628-27.6923083z" fill="#8a8a8a" ></path></symbol><symbol id="icongoumaihuiyuanjine" viewBox="0 0 1104 1024"><path d="M1019.55813945 425.66279082l-183.13953486-319.18604678C820.72093027 80.31395322 791.94186055 62 760.54651192 62H334.09302295C302.69767432 62 273.91860459 80.31395322 258.22093027 106.47674404l-183.13953486 319.18604678c-18.31395323 34.01162753-13.08139541 78.48837246 13.08139541 107.26744131l395.05813946 402.90697705c15.69767432 15.69767432 39.24418623 26.16279082 62.79069726 26.16279082 23.54651191 0 47.09302295-10.46511651 62.79069814-26.16279082L1003.86046513 532.93023213c28.77906972-28.77906972 34.01162753-73.25581377 15.69767432-107.26744131z m-62.79069726 57.55813946L561.70930273 886.12790732c-2.61627891 2.61627891-7.8488376 5.23255781-13.08139541 5.23255781s-10.46511651-2.61627891-13.0813954-5.23255781L137.87209268 483.22093028c-5.23255781-5.23255781-7.8488376-15.69767432-2.61627891-23.54651192L318.39534864 140.48837246c2.61627891-5.23255781 10.46511651-10.46511651 15.69767431-10.4651165h426.45348897c7.8488376 0 13.08139541 2.61627891 15.69767431 10.46511651l183.13953486 319.18604589c5.23255781 7.8488376 2.61627891 18.31395323-2.6162789 23.54651191z" fill="#8a8a8a" ></path><path d="M687.29069727 315.77906973c5.23255781-5.23255781 7.8488376-13.08139541 10.4651165-20.93023213 0-7.8488376-2.61627891-15.69767432-7.84883672-20.93023301s-13.08139541-7.8488376-20.93023301-10.4651165c-7.8488376 0-15.69767432 2.61627891-20.93023212 7.84883759l-96.80232569 96.80232569L454.44186055 271.30232568c-5.23255781-5.23255781-13.08139541-7.8488376-20.93023301-10.4651165-7.8488376 0-15.69767432 2.61627891-20.93023213 7.84883759-13.08139541 10.46511651-13.08139541 28.77906972-2.6162789 41.86046515l109.88372109 109.88372021v7.8488376h-99.41860547c-15.69767432 0-28.77906972 13.08139541-28.77906973 28.77906972s13.08139541 28.77906972 28.77906973 28.77906973h99.41860547V532.93023213h-99.41860547c-15.69767432 0-28.77906972 13.08139541-28.77906973 28.7790706 0 15.69767432 13.08139541 28.77906972 28.77906973 28.77906973h99.41860547v52.32558076c0 15.69767432 13.08139541 28.77906972 28.77906972 28.77906973 15.69767432 0 28.77906972-13.08139541 28.77906973-28.77906973v-52.32558076H663.74418623c15.69767432 0 28.77906972-13.08139541 28.77906973-28.77906973s-10.46511651-28.77906972-26.16279083-28.7790706h-86.33720917v-39.24418535h86.33720917c15.69767432 0 28.77906972-13.08139541 28.77906974-28.77906973 0-15.69767432-13.08139541-28.77906972-28.77906974-28.77906973h-86.33720917v-10.46511649l107.26744131-109.8837211z" fill="#8a8a8a" ></path></symbol><symbol id="iconfangke-zhifuzhuanhuashuai" viewBox="0 0 1024 1024"><path d="M120.21950234 427.65237881a42.59067364 42.59067364 0 0 1-5.20018857-0.33914267 36.34479492 36.34479492 0 0 1-31.08808301-35.92086681l-0.45219024-224.56900634a36.26000948 36.26000948 0 1 1 72.52001895 0v73.48092363A447.52708388 447.52708388 0 0 1 511.61846592 62h0.33914267a446.9901082 446.9901082 0 0 1 426.52849746 318.65284951 36.28827158 36.28827158 0 0 1-69.58078154 20.63118252 373.73528057 373.73528057 0 0 0-356.83466836-266.73575098h-0.22609511a374.3570417 374.3570417 0 0 0-356.94771505 267.07489366 36.31653281 36.31653281 0 0 1-34.67734365 26.0292041z m391.96420138 534.14978818A446.9901082 446.9901082 0 0 1 85.5704208 643.29062627a36.28827158 36.28827158 0 1 1 69.58078242-20.63118252 373.96137568 373.96137568 0 0 0 356.94771504 266.73575185h0.22609512a374.3570417 374.3570417 0 0 0 356.83466836-267.04663242 36.74046182 36.74046182 0 0 1 39.87753134-25.71832266 36.34479492 36.34479492 0 0 1 31.08808301 35.9208668l0.22609512 224.59726758a36.26000948 36.26000948 0 1 1-72.52001894 0v-73.48092275a447.07489365 447.07489365 0 0 1-355.47809678 178.36080996z m0 0" fill="#8a8a8a" ></path></symbol><symbol id="iconjingzengyonghu" viewBox="0 0 1024 1024"><path d="M656 638c13.84615371 11.07692315 30.46153887 8.30769258 41.53846114-2.76923057 11.07692315-13.84615371 8.30769258-33.23076943-2.76923057-41.53846201-33.23076943-27.69230742-69.23076943-47.07692315-108-63.69230742 16.61538428-11.07692315 33.23076943-22.15384628 47.07692315-36 47.07692315-47.07692315 74.76923057-110.76923057 74.76923056-177.23076943 0-66.46153886-24.92307685-130.15384628-74.76923056-177.23076943-96.92307685-96.92307685-257.53846114-96.92307685-354.461538-1e-8-47.07692315 47.07692315-74.76923057 110.76923057-74.76923144 177.23076944 0 66.46153886 24.92307685 130.15384628 74.76923145 177.23076943 13.84615371 13.84615371 30.46153887 24.92307685 47.07692314 36-5.53846114 2.76923057-11.07692315 5.53846114-19.38461572 8.30769258-47.07692315 19.38461572-85.84615372 49.84615371-121.84615372 85.84615371-36 36-63.69230742 77.53846113-80.30769258 124.61538428C85.53846114 795.84615371 74.46153887 845.69230742 74.46153887 898.30769258v22.15384628c0 16.61538428 13.84615371 27.69230742 30.46153798 27.69230742h2.76923057c16.61538428 0 30.46153887-16.61538428 27.6923083-33.23076943v-19.38461572c0-44.30769258 8.30769258-88.61538428 24.92307686-130.1538454 16.61538428-38.76923057 38.76923057-74.76923057 69.23076856-108.00000001 58.15384629-60.92307685 141.23076943-96.92307685 227.07692313-96.92307685 36 0 72 5.53846114 108 19.38461485 33.23076943 16.61538428 63.69230742 33.23076943 91.38461573 58.15384628z m-204.92307685-135.69230742c-49.84615371-2.76923057-94.15384628-22.15384628-127.38461573-55.38461573-36-36-55.38461573-83.07692315-55.38461484-135.69230742 0-49.84615371 19.38461572-99.69230742 55.38461484-135.6923083 36-36 83.07692315-55.38461573 135.6923083-55.38461484 105.23076943 0 191.07692315 85.84615372 191.07692314 191.07692314 0 49.84615371-19.38461572 99.69230742-55.38461571 135.69230742-36 36-83.07692315 55.38461573-132.92307686 55.38461573h-11.07692314z m246.46153798 130.15384628zM921.84615372 682.30769258h-116.30769259c-13.84615371 0-24.92307685 11.07692315-24.92307686 27.69230742 0 13.84615371 11.07692315 24.92307685 24.92307686 24.92307685h55.38461572l-113.53846112 113.53846201-80.30769258-80.30769258c-11.07692315-11.07692315-27.69230742-11.07692315-36 0l-146.76923057 146.76923057c-8.30769258 11.07692315-8.30769258 24.92307685 0 33.23076943 5.53846114 5.53846114 11.07692315 8.30769258 16.61538427 8.30769258h2.76923057c5.53846114 0 11.07692315-2.76923057 16.61538516-5.53846201l127.38461484-127.38461572 80.30769258 80.30769258c11.07692315 8.30769258 27.69230742 8.30769258 36 0l132.92307685-132.92307686v55.38461573c0 13.84615371 11.07692315 24.92307685 24.92307687 24.92307685h2.76923055c5.53846114 0 11.07692315-2.76923057 16.61538516-8.30769258 5.53846114-5.53846114 8.30769258-11.07692315 8.30769171-19.38461572v-116.3076917c-2.76923057-13.84615371-13.84615371-24.92307685-27.69230742-24.92307685z" fill="#8a8a8a" ></path></symbol><symbol id="iconkedanjia" viewBox="0 0 1024 1024"><path d="M757.39295849 620.43373496c10.84337315-13.55421709 8.13253008-32.53012031-2.71084306-40.66265039-32.53012031-27.1084333-67.77108457-46.0843374-105.72289189-62.34939756 16.26506016-10.84337315 32.53012031-21.68674717 46.0843374-35.24096425 46.0843374-46.0843374 73.1927707-108.43373496 73.19277158-173.49397559 0-65.06024062-24.39759023-127.40963818-73.19277158-173.49397647C600.16404307 40.31325283 442.93512763 40.31325283 348.05560977 135.1927707c-46.0843374 46.0843374-73.1927707 108.43373496-73.19277159 173.49397647 0 65.06024062 24.39759023 127.40963818 73.19277159 173.49397559 13.55421709 13.55421709 29.81927724 24.39759023 46.0843374 35.24096425-5.42168701 2.71084307-10.84337315 5.42168701-18.9759041 8.13253008-46.0843374 18.97590323-84.03614472 48.79518047-119.2771081 84.03614473-35.24096425 35.24096425-62.34939756 75.90361465-78.61445773 121.98795117C155.58573008 780.37349433 144.74235693 829.16867481 144.74235693 883.38554229v21.68674716c0 16.26506016 13.55421709 27.1084333 29.81927637 27.10843331h2.71084394c16.26506016 0 29.81927724-16.26506016 27.10843331-32.53012032v-18.97590322c0-43.37349434 8.13253008-86.74698779 24.39759023-127.40963906 16.26506016-37.95180732 37.95180732-73.1927707 67.77108458-105.7228919 56.92771055-59.6385545 138.25301221-94.87951787 222.28915693-94.87951787 35.24096425 0 70.48192763 5.42168701 105.72289101 18.97590411 32.53012031 13.55421709 62.34939756 29.81927724 89.45783174 51.50602352 13.55421709 10.84337315 32.53012031 10.84337315 43.37349345-2.71084305z m-243.97590322-127.40963818c-48.79518047-2.71084307-92.16867481-21.68674717-124.69879511-54.21686748-35.24096425-35.24096425-54.21686748-81.32530078-54.21686748-132.83132608 0-48.79518047 18.97590323-97.59036182 54.21686748-132.8313252 35.24096425-35.24096425 81.32530078-54.21686748 132.83132519-54.21686747 103.01204795 0 187.04819268 84.03614472 187.04819268 187.04819267 0 48.79518047-18.97590323 97.59036182-54.21686748 132.83132608-35.24096425 35.24096425-81.32530078 54.21686748-130.12048213 54.21686748h-10.84337315z m241.26506016 127.40963818zM849.5616333 837.30120488c5.42168701 0 13.55421709-2.71084307 16.26506016-8.13253008s8.13253008-10.84337315 8.13253008-16.26506016c0-13.55421709-10.84337315-24.39759023-24.39759024-24.39759023h-54.21686747v-2.71084394l73.19277157-73.1927707c10.84337315-8.13253008 10.84337315-24.39759023 2.71084307-35.24096427-8.13253008-10.84337315-24.39759023-10.84337315-35.24096338-2.71084306l-2.71084394 2.71084306-65.06024063 67.77108458-62.34939755-62.34939756c-5.42168701-5.42168701-10.84337315-8.13253008-16.26506016-8.13253008-5.42168701 0-13.55421709 2.71084307-16.26506016 5.42168701-10.84337315 8.13253008-10.84337315 24.39759023-2.71084395 35.24096338l2.71084395 2.71084395 73.19277071 73.1927707h-62.34939757c-5.42168701 0-13.55421709 2.71084307-16.26506016 8.13253008-8.13253008 2.71084307-8.13253008 8.13253008-8.13253007 13.55421708s2.71084307 13.55421709 8.13253007 16.26506016 10.84337315 8.13253008 16.26506016 8.13253008h62.34939757v18.97590322h-62.34939757c-13.55421709 0-24.39759023 10.84337315-24.39759023 24.39759112 0 5.42168701 2.71084307 13.55421709 8.13253007 16.26506016 5.42168701 5.42168701 10.84337315 8.13253008 16.26506016 8.13253007h62.34939757v32.53012032c0 5.42168701 2.71084307 13.55421709 8.13253007 16.26506015s10.84337315 8.13253008 16.26506016 8.13253008c13.55421709 0 24.39759023-10.84337315 24.39759023-24.39759023v-32.53012032h54.21686748c5.42168701 0 13.55421709-2.71084307 16.26506016-8.13253007 5.42168701-5.42168701 8.13253008-10.84337315 8.13253008-16.26506016 0-13.55421709-10.84337315-24.39759023-24.39759024-24.39759112h-54.21686748v-16.26506015h54.21686748z" fill="#8a8a8a" ></path></symbol><symbol id="iconjiagoujianshu" viewBox="0 0 1027 1024"><path d="M940.91334717 286.34017607c-15.83577685-18.47507344-39.58944258-29.032258-63.3431083-29.032258h-525.2199416c-18.47507344 0-31.67155459 13.19648115-31.67155459 31.6715537s13.19648115 31.67155459 31.67155459 31.67155459h522.58064502c5.27859229 0 10.55718458 2.63929658 15.83577685 5.27859229 5.27859229 5.27859229 5.27859229 13.19648115 2.63929658 18.47507344l-47.50733145 332.55131924c0 10.55718458-13.19648115 18.47507344-26.3929623 18.47507344h-482.99120156c-13.19648115-2.63929658-23.75366573-13.19648115-26.39296231-29.03225802l-55.42522031-369.5014661-29.032258-155.71847461c-7.91788886-44.86803487-44.86803487-79.17888604-92.37536631-79.17888604h-39.58944258c-18.47507344 0-31.67155459 13.19648115-31.67155459 31.67155459s13.19648115 31.67155459 31.67155459 31.67155371h36.95014688c13.19648115 0 26.3929623 10.55718458 29.032258 26.3929623l29.03225801 155.71847461 50.14662715 369.50146612c5.27859229 47.50733144 42.22873916 81.81818174 89.7360706 84.45747831h485.63049815c44.86803487 0 81.81818174-29.032258 89.7360706-73.90029286l55.42522031-332.55132012c2.63929658-23.75366573-2.63929658-50.14662715-18.47507343-68.62170059z" fill="#8a8a8a" ></path><path d="M508.06877187 486.92668643h166.27566006c18.47507344-2.63929658 34.31085029 7.91788886 36.95014688 23.75366571v7.91788799c2.63929658 15.83577685-10.55718458 29.032258-26.3929623 31.67155459h-174.19354805c-18.47507344 2.63929658-34.31085029-7.91788886-36.95014688-23.75366571v-7.91788888c-2.63929658-15.83577685 10.55718458-29.032258 26.3929623-31.6715537h7.91788799z" fill="#8a8a8a" ></path><path d="M560.8546956 597.77712617v-160.99706777c-2.63929658-18.47507344 7.91788886-34.31085029 23.75366573-34.3108503h7.91788886c15.83577685-2.63929658 29.032258 10.55718458 31.6715546 26.39296231V597.77712617c2.63929658 18.47507344-7.91788886 34.31085029-23.75366573 34.31085029h-7.91788886c-15.83577685 2.63929658-29.032258-10.55718458-31.6715546-26.39296143-2.63929658-2.63929658-2.63929658-5.27859229 0-7.91788886zM259.97493096 896.01759512c0 36.95014688 29.032258 65.98240488 65.98240401 65.98240488s65.98240488-29.032258 65.98240487-65.98240488-29.032258-65.98240488-65.98240487-65.98240489-65.98240488 29.032258-65.98240401 65.98240489z m506.74486728 0c0 36.95014688 29.032258 65.98240488 65.98240489 65.98240488s65.98240488-29.032258 65.98240487-65.98240488-29.032258-65.98240488-65.98240487-65.98240489-65.98240488 29.032258-65.98240489 65.98240489z" fill="#8a8a8a" ></path></symbol><symbol id="iconleijichongzhiyonghu" viewBox="0 0 1276 1024"><path d="M441.38461573 546.61538427h2.76923055c8.30769258 0 13.84615371-5.53846114 16.61538429-11.07692313 5.53846114-8.30769258 8.30769258-16.61538428 5.53846201-27.69230742-2.76923057-8.30769258-8.30769258-13.84615371-13.84615372-19.38461485-5.53846114-2.76923057-11.07692315-2.76923057-16.61538515-2.76923145H386c-11.07692315-2.76923057-24.92307685-5.53846114-36-11.07692315-8.30769258-2.76923057-16.61538428-8.30769258-24.92307685-13.8461537-2.76923057-2.76923057-5.53846114-2.76923057-5.53846201-5.53846114-5.53846114-2.76923057-8.30769258-8.30769258-11.07692227-11.07692314l-11.07692314-11.07692314-2.76923145-2.76923057c-2.76923057-2.76923057-2.76923057-2.76923057-2.76923056-5.53846201-5.53846114-8.30769258-11.07692315-16.61538428-13.84615372-24.92307685-5.53846114-11.07692315-8.30769258-24.92307685-11.07692315-36-2.76923057-13.84615371-2.76923057-24.92307685 0-38.76923057 2.76923057-11.07692315 5.53846114-24.92307685 11.07692315-36 0-5.53846114 5.53846114-13.84615371 11.07692315-22.1538463 0-2.76923057 2.76923057-5.53846114 5.53846113-5.53846113 2.76923057-5.53846114 5.53846114-8.30769258 11.07692314-13.84615458 2.76923057-2.76923057 5.53846114-5.53846114 11.07692315-8.30769171l2.76923057-2.76923056c2.76923057-2.76923057 2.76923057-2.76923057 5.53846201-2.76923145 8.30769258-5.53846114 16.61538428-11.07692315 24.92307685-13.8461537 11.07692315-5.53846114 24.92307685-8.30769258 36-11.07692315h38.76923057c5.53846114 0 11.07692315 2.76923057 16.61538515 2.76923057 16.61538428 5.53846114 33.23076943-5.53846114 38.76923056-22.15384541 2.76923057-8.30769258 2.76923057-16.61538428-2.76923056-22.1538463-2.76923057-8.30769258-11.07692315-13.84615371-19.38461572-16.61538515-16.61538428-2.76923057-33.23076943-5.53846114-52.61538428-5.53846113-38.76923057 0-77.53846113 11.07692315-110.76923145 30.46153799C255.84615372 200.46153886 228.15384629 239.23076943 211.53846114 280.76923057c-13.84615371 44.30769258-13.84615371 91.38461572 0 132.92307685 13.84615371 38.76923057 38.76923057 72 74.76923144 96.92307686 0 0-2.76923057 0-2.76923144 2.76923145-69.23076943 27.69230742-127.38461573 74.76923057-168.92307686 135.69230742-41.53846114 66.46153886-58.15384629 144-49.84615371 221.53846113 0 8.30769258 2.76923057 16.61538428 8.30769258 22.15384629 5.53846114 5.53846114 13.84615371 8.30769258 22.15384628 8.30769258 8.30769258 0 16.61538428-2.76923057 22.1538463-8.30769258 5.53846114-5.53846114 8.30769258-13.84615371 8.30769169-22.15384629-2.76923057-24.92307685-2.76923057-52.61538428 0-77.53846113 5.53846114-41.53846114 19.38461572-80.30769258 41.53846201-113.53846201 5.53846114-5.53846114 8.30769258-13.84615371 13.84615372-19.38461485l-2.76923057 2.76923056 2.76923057-2.76923056s0-2.76923057 2.76923057-2.76923056l2.76923056-2.76923145 8.30769257-8.3076917L228.15384629 613.07692315c0 2.76923057 2.76923057 0 5.53846113 0s2.76923057-2.76923057 5.53846201-2.76923057c5.53846114-5.53846114 11.07692315-8.30769258 19.38461485-13.84615372 11.07692315-8.30769258 24.92307685-13.84615371 38.76923145-19.38461571 22.15384628-8.30769258 47.07692315-16.61538428 72-19.38461573 11.07692315-2.76923057 60.92307685-8.30769258 72-11.07692314z" fill="#8a8a8a" ></path><path d="M992.46153887 632.46153886c11.07692315-13.84615371 8.30769258-33.23076943-2.76923145-41.53846201-33.23076943-27.69230742-69.23076943-47.07692315-108-63.69230742 16.61538428-11.07692315 33.23076943-22.15384628 47.07692315-36 47.07692315-47.07692315 74.76923057-110.76923057 74.76923057-177.23076943 0-66.46153886-24.92307685-130.15384628-74.76923057-177.23076943-96.92307685-96.92307685-257.53846114-96.92307685-354.46153799 0-47.07692315 47.07692315-74.76923057 110.76923057-74.76923144 177.23076943 0 66.46153886 24.92307685 130.15384628 74.76923144 177.23076943 13.84615371 13.84615371 30.46153887 24.92307685 47.07692314 36-5.53846114 2.76923057-11.07692315 5.53846114-19.38461572 8.30769171-47.07692315 19.38461572-85.84615372 49.84615371-121.84615371 85.84615458-36 36-63.69230742 77.53846113-80.30769257 124.61538428-19.38461572 49.84615371-30.46153887 99.69230742-30.461538 155.07692315v22.15384628c0 16.61538428 13.84615371 27.69230742 30.461538 27.69230742h2.76923055c16.61538428 0 30.46153887-16.61538428 27.69230831-33.23076943v-19.38461484c0-44.30769258 8.30769258-88.61538428 24.92307685-130.1538463 16.61538428-38.76923057 38.76923057-74.76923057 69.23076944-108 58.15384629-60.92307685 141.23076943-96.92307685 227.07692227-96.92307685 36 0 72 5.53846114 108 19.38461485 33.23076943 13.84615371 63.69230742 30.46153887 91.38461571 52.61538515 11.07692315 11.07692315 30.46153887 11.07692315 41.53846202-2.76923057z m-249.23076944-130.15384628c-49.84615371-2.76923057-94.15384628-22.15384628-127.38461571-55.38461573-36-36-55.38461573-83.07692315-55.38461485-135.69230742 0-49.84615371 19.38461572-99.69230742 55.38461485-135.69230829 36-36 83.07692315-55.38461573 135.69230742-55.38461485 105.23076943 0 191.07692315 85.84615372 191.07692313 191.07692314 0 49.84615371-19.38461572 99.69230742-55.38461484 135.69230742-36 36-83.07692315 55.38461573-132.92307685 55.38461573h-11.07692315z m246.46153799 130.15384629zM1158.61538427 784.76923057L1058.92307685 782v-94.15384628c0-16.61538428-13.84615371-27.69230742-27.69230742-27.69230744-16.61538428 0-27.69230742 13.84615371-27.69230829 27.69230743V782h-96.92307687c-16.61538428 0-27.69230742 13.84615371-27.69230742 27.69230742s13.84615371 27.69230742 27.69230742 27.69230831H1003.53846113v94.15384541c0 8.30769258 2.76923057 13.84615371 8.30769258 19.38461571s13.84615371 8.30769258 19.38461572 8.30769258c16.61538428 0 27.69230742-13.84615371 27.69230742-27.69230829V837.38461573h94.1538463c16.61538428 0 27.69230742-13.84615371 27.69230742-27.69230831 2.76923057-11.07692315-8.30769258-24.92307685-22.15384629-24.92307685z" fill="#8a8a8a" ></path></symbol><symbol id="iconleijichengjiaoyonghu" viewBox="0 0 1157 1024"><path d="M442.55555528 548.11111133h2.77777792c8.33333291 0 13.88888877-5.55555586 16.6666667-11.11111172 5.55555586-8.33333291 8.33333291-16.6666667 5.55555586-27.77777754-2.77777793-8.33333291-8.33333291-13.88888877-13.88888876-19.44444463-5.55555586-2.77777793-11.11111084-2.77777793-16.66666671-2.77777705H387.0000002c-11.11111084-2.77777793-24.99999961-5.55555586-36.11111134-11.11111172-8.33333291-2.77777793-16.6666667-8.33333291-24.99999961-13.88888877-2.77777793-2.77777793-5.55555586-2.77777793-5.55555586-5.55555586-5.55555586-2.77777793-8.33333291-8.33333291-11.11111083-11.11111084l-11.11111172-11.11111083-2.77777793-2.77777794c-2.77777793-2.77777793-2.77777793-2.77777793-2.77777705-5.55555586-5.55555586-8.33333291-11.11111084-16.6666667-13.88888877-24.99999961-5.55555586-11.11111084-8.33333291-24.99999961-11.11111172-36.11111133-2.77777793-13.88888877-2.77777793-24.99999961 0-38.88888838 2.77777793-11.11111084 5.55555586-24.99999961 11.11111172-36.11111133 0-5.55555586 5.55555586-13.88888877 11.11111084-22.22222255 0-2.77777793 2.77777793-5.55555586 5.55555498-5.55555498 2.77777793-5.55555586 5.55555586-8.33333291 11.11111172-13.88888965 2.77777793-2.77777793 5.55555586-5.55555586 11.11111084-8.33333291l2.77777792-2.77777793c2.77777793-2.77777793 2.77777793-2.77777793 5.55555586-2.77777793 8.33333291-5.55555586 16.6666667-11.11111084 24.99999961-13.88888877 11.11111084-5.55555586 24.99999961-8.33333291 36.11111133-11.11111083h38.88888838c5.55555586 0 11.11111084 2.77777793 16.66666671 2.77777792 16.6666667 5.55555586 33.33333339-5.55555586 38.88888925-22.22222256 2.77777793-8.33333291 2.77777793-16.6666667-2.77777793-22.22222255-2.77777793-8.33333291-11.11111084-13.88888877-19.44444463-16.6666667-16.6666667-2.77777793-33.33333339-5.55555586-52.77777715-5.55555499-38.88888926 0-77.77777763 11.11111084-111.11111191 30.55555547C256.44444453 200.88888857 228.66666699 239.77777783 212.00000029 281.44444414c-13.88888877 44.44444424-13.88888877 91.66666641 0 133.33333359 13.88888877 38.88888926 38.88888926 72.22222266 74.99999971 97.22222227 0 0-2.77777793 0-2.77777793 2.77777792-69.44444472 27.77777754-127.77777773 74.99999971-169.44444405 136.11111065-41.66666631 66.6666668-58.333333 144.44444443-50.0000001 222.22222295 0 8.33333291 2.77777793 16.6666667 8.33333292 22.22222168 5.55555586 5.55555586 13.88888877 8.33333291 22.22222255 8.3333338 8.33333291 0 16.6666667-2.77777793 22.22222257-8.3333338 5.55555586-5.55555586 8.33333291-13.88888877 8.3333329-22.22222167-2.77777793-24.99999961-2.77777793-52.77777803 0-77.77777853 5.55555586-41.66666631 19.44444463-80.55555557 41.66666632-113.88888896 5.55555586-5.55555586 8.33333291-13.88888877 13.88888964-19.44444375l-2.77777792 2.77777705 2.77777792-2.77777705s0-2.77777793 2.77777705-2.77777792l2.77777793-2.77777794 8.33333379-8.33333291L228.66666699 614.77777813c0 2.77777793 2.77777793 0 5.55555498 0s2.77777793-2.77777793 5.55555586-2.77777794c5.55555586-5.55555586 11.11111084-8.33333291 19.44444464-13.88888876 11.11111084-8.33333291 24.99999961-13.88888877 38.88888837-19.44444463 22.22222256-8.33333291 47.22222217-16.6666667 72.22222265-19.44444463 11.11111084-2.77777793 61.11111094-8.33333291 72.22222178-11.11111084zM1070.3333331 720.3333333c-11.11111084-11.11111084-27.77777754-11.11111084-41.6666663 0l-180.55555576 163.88888907-61.11111094-72.22222266c-11.11111084-11.11111084-27.77777754-11.11111084-38.88888926-2.77777705-11.11111084 11.11111084-13.88888877 27.77777754-2.77777793 41.6666663l100.00000019 108.33333311 2.77777794 2.77777793 225-200.00000039c8.33333291-13.88888877 8.33333291-30.55555547-2.77777794-41.66666631z" fill="#8a8a8a" ></path><path d="M750.88888877 564.77777803c36.11111133 0 72.22222266 5.55555586 108.33333311 19.44444463 33.33333339 13.88888877 63.88888886 30.55555547 91.66666728 52.77777714 13.88888877 11.11111084 30.55555547 8.33333291 41.66666631-2.77777793 11.11111084-13.88888877 8.33333291-33.33333339-2.77777794-41.6666663-33.33333339-27.77777754-69.44444472-47.22222217-108.3333331-63.88888887 16.6666667-11.11111084 33.33333339-22.22222256 47.22222217-36.11111133 47.22222217-47.22222217 74.99999971-111.11111104 74.99999971-177.77777783 0-66.6666668-24.99999961-130.55555566-74.99999971-177.77777783-97.22222227-97.22222227-258.3333334-97.22222227-355.55555566 0-47.22222217 47.22222217-74.99999971 111.11111104-74.99999971 177.77777782 0 66.6666668 24.99999961 130.55555566 74.99999971 177.77777784 13.88888877 13.88888877 30.55555547 24.99999961 47.22222216 36.11111133-5.55555586 2.77777793-11.11111084 5.55555586-19.44444463 8.33333291-47.22222217 19.44444463-86.11111143 50.0000001-122.22222187 86.11111143-36.11111133 36.11111133-63.88888886 77.77777763-80.55555556 124.9999998-19.44444463 50.0000001-30.55555547 100.0000002-30.55555547 155.55555615v22.22222168c0 16.6666667 13.88888877 27.77777754 30.55555547 27.77777842h2.77777792c16.6666667 0 30.55555547-16.6666667 27.77777755-33.3333334v-19.44444463c0-44.44444424 8.33333291-88.88888847 25.00000048-130.55555566 16.6666667-38.88888926 38.88888926-74.99999971 69.44444385-108.33333311 58.333333-61.11111094 141.66666651-97.22222227 227.77777793-97.22222226z m-5.55555586-61.11111094c-50.0000001-2.77777793-94.44444434-22.22222256-127.77777773-55.55555595-36.11111133-36.11111133-55.55555596-83.33333349-55.55555508-136.11111153 0-50.0000001 19.44444463-100.0000002 55.55555508-136.11111065 36.11111133-36.11111133 83.33333349-55.55555596 136.11111152-55.55555595 105.55555518 0 191.6666666 86.11111143 191.6666666 191.6666666 0 50.0000001-19.44444463 100.0000002-55.55555596 136.11111153-36.11111133 36.11111133-83.33333349 55.55555596-133.33333271 55.55555595h-11.11111172z m247.22222256 130.55555478z" fill="#8a8a8a" ></path></symbol><symbol id="iconleijihuiyuanshu" viewBox="0 0 1223 1024"><path d="M1074.14953261 718.0747666l-56.0747663 114.9532708-53.27102813-112.14953261c-19.62616816-39.25233633-78.50467266-5.60747636-58.87850449 33.64485995l81.30841084 173.83177529c8.41121455 16.82242998 30.84112177 22.42990635 47.66355175 11.21495362 5.60747636-2.80373818 8.41121455-8.41121455 11.21495362-11.21495362l86.91588721-176.63551347c19.62616816-39.25233633-39.25233633-72.89719628-58.8785045-33.64485996zM446.11214961 552.65420586h2.80373818c8.41121455 0 14.0186918-5.60747636 16.82242999-11.21495362 5.60747636-8.41121455 8.41121455-16.82242998 5.60747636-28.03738271-2.80373818-8.41121455-8.41121455-14.0186918-14.01869091-19.62616816-5.60747636-2.80373818-11.21495362-2.80373818-16.82242999-2.80373906H390.0373833c-11.21495362-2.80373818-25.23364453-5.60747636-36.44859814-11.21495274-8.41121455-2.80373818-16.82242998-8.41121455-25.23364453-14.01869179-2.80373818-2.80373818-5.60747636-2.80373818-5.60747725-5.60747637-5.60747636-2.80373818-8.41121455-8.41121455-11.21495273-11.21495362l-11.21495362-11.21495361-2.80373818-2.80373819c-2.80373818-2.80373818-2.80373818-2.80373818-2.80373819-5.60747636-5.60747636-8.41121455-11.21495362-16.82242998-14.01869179-25.23364453-5.60747636-11.21495362-8.41121455-25.23364453-11.21495361-36.44859815-2.80373818-14.0186918-2.80373818-25.23364453 0-39.25233633 2.80373818-11.21495362 5.60747636-25.23364453 11.2149536-36.44859814 0-5.60747636 5.60747636-14.0186918 11.21495362-22.42990722 0-2.80373818 2.80373818-5.60747636 5.60747637-5.60747638 2.80373818-5.60747636 5.60747636-8.41121455 11.21495273-14.01869179 2.80373818-2.80373818 5.60747636-5.60747636 11.21495362-8.41121456l2.80373818-2.80373818 5.60747725-5.60747724c8.41121455-5.60747636 16.82242998-11.21495362 25.23364453-14.01869092 11.21495362-5.60747636 25.23364453-8.41121455 36.44859814-11.21495361h39.25233633c5.60747636 0 11.21495362 2.80373818 16.82242998 2.80373818 16.82242998 5.60747636 33.64485996-5.60747636 39.25233633-22.42990635 2.80373818-8.41121455 2.80373818-16.82242998-2.80373818-22.42990634-2.80373818-8.41121455-11.21495362-14.0186918-19.62616817-16.82242999-16.82242998 0-33.64485996-2.80373818-53.27102813-2.80373818-39.25233633 0-78.50467266 11.21495362-112.14953261 30.8411209C258.26168252 202.18691621 230.22429893 241.43925253 213.40186894 283.49532705c-14.0186918 44.8598127-14.0186918 92.52336445 1e-8 134.57943897 14.0186918 39.25233633 39.25233633 72.89719628 75.70093447 98.13084169 0 0-2.80373818 0-2.80373819 2.80373819-70.0934581 28.03738359-128.9719626 75.70093447-171.02803711 137.38317715-42.05607451 67.28971992-58.8785045 145.79439258-50.46728994 224.29906611 0 8.41121455 2.80373818 16.82242998 8.41121544 22.42990635 5.60747636 5.60747636 14.0186918 8.41121455 22.42990635 8.41121455 8.41121455 0 16.82242998-2.80373818 22.42990634-8.41121455 5.60747636-5.60747636 8.41121455-14.0186918 8.41121543-22.42990635-2.80373818-25.23364453-2.80373818-53.27102813 0-78.50467354 5.60747636-42.05607451 19.62616816-81.30841084 42.05607451-114.9532708 5.60747636-5.60747636 8.41121455-14.0186918 14.0186918-19.62616816l-2.80373907 2.80373818 2.80373907-2.80373818s0-2.80373818 2.80373818-2.80373818l2.80373819-2.80373819 8.41121454-8.41121542L230.22429893 619.9439249c0 2.80373818 2.80373818 0 5.60747636 0s2.80373818-2.80373818 5.60747724-2.80373818c5.60747636-5.60747636 11.21495362-8.41121455 19.62616817-14.0186918 11.21495362-8.41121455 25.23364453-14.0186918 39.25233633-19.62616817 22.42990635-8.41121455 47.66355175-16.82242998 72.89719629-19.62616816 11.21495362-2.80373818 61.68224268-8.41121455 72.89719629-11.21495273z" fill="#8a8a8a" ></path><path d="M1004.05607451 639.57009307c11.21495362-14.0186918 8.41121455-33.64485996-2.80373818-42.05607451-33.64485996-28.03738359-70.0934581-47.66355175-109.34579443-64.48598086 16.82242998-11.21495362 33.64485996-22.42990635 47.66355175-36.44859815 47.66355175-47.66355175 75.70093447-112.14953262 75.70093447-179.43925254 0-67.28971992-25.23364453-131.77570078-75.70093447-179.43925253-98.13084082-98.13084082-260.74766338-98.13084082-358.87850508 0-47.66355175 47.66355175-75.70093447 112.14953262-75.70093447 179.43925253 0 67.28971992 25.23364453 131.77570078 75.70093447 179.43925254 14.0186918 14.0186918 30.84112177 25.23364453 47.66355176 36.44859815-5.60747636 2.80373818-11.21495362 5.60747636-19.62616816 8.41121454-47.66355175 19.62616816-86.91588809 50.46728994-123.36448623 86.91588809-36.44859815 36.44859815-64.48598174 78.50467266-81.30841084 126.16822441-19.62616816 50.46728994-30.84112177 100.93457901-30.84112178 157.00934532v22.42990635c0 16.82242998 14.0186918 28.03738359 30.84112178 28.03738359h2.80373818c16.82242998 0 30.84112177-16.82242998 28.03738271-33.64485996v-19.62616816c0-44.8598127 8.41121455-89.71962627 25.23364542-131.77570079 16.82242998-39.25233633 39.25233633-75.70093447 70.09345722-109.34579443 58.8785045-61.68224268 142.9906544-98.13084082 229.90654249-98.13084082 36.44859815 0 72.89719628 5.60747636 109.34579443 19.62616817 33.64485996 14.0186918 64.48598174 30.84112177 92.52336445 53.27102812 11.21495362 11.21495362 30.84112177 11.21495362 42.05607451-2.80373906z m-252.33644795-131.77570078c-50.46728994-2.80373818-95.32710263-22.42990635-128.9719626-56.07476631-36.44859815-36.44859815-56.07476631-84.1121499-56.07476718-137.38317715 0-50.46728994 19.62616816-100.93457901 56.07476718-137.38317803 36.44859815-36.44859815 84.1121499-56.07476631 137.38317716-56.07476631 106.54205625 0 193.45794434 86.91588809 193.45794433 193.45794434 0 50.46728994-19.62616816 100.93457901-56.07476719 137.38317715-36.44859815 36.44859815-84.1121499 56.07476631-134.57943896 56.07476631h-11.21495274z m249.53270977 131.77570078z" fill="#8a8a8a" ></path></symbol><symbol id="iconshangpinliulanliang" viewBox="0 0 1024 1024"><path d="M905.90097148 318.5145626c0-19.08643271-13.63316573-32.71959844-32.71959843-32.71959844h-106.33869492c-8.17989961-128.15176113-117.24522803-229.03718906-245.39698829-223.58392295h-19.08643271c-128.15176113-2.72663349-234.49045605 95.4321627-245.39698916 220.85729033h-109.06532754c-16.35979922 0-29.99296494 13.63316573-32.71959931 32.71959844L96.09090928 850.20803808v2.7266335c5.45326612 59.98593076 57.25929727 109.06532842 119.97186064 109.06532842h597.13267324c62.71256338 0 114.51859453-49.07939766 114.51859453-111.79196192v-2.72663261l-21.81306621-528.96684287z m-92.70552832 578.04624053H216.06276992c-29.99296494 0-51.80603115-21.81306533-54.53266377-51.80603115l19.08643272-498.97387706h73.61909649v100.88542881c0 19.08643271 16.35979922 32.71959844 32.71959843 29.99296494 19.08643271 0 32.71959844-16.35979922 29.99296494-32.71959844V299.42813076c2.72663349-98.15879531 84.52562959-174.50452529 182.6844249-174.50452529h19.08643272c98.15879531-2.72663349 179.95779141 76.34572998 182.6844249 174.50452529V446.66632373c0 16.35979922 16.35979922 29.99296494 32.71959844 27.26633233 16.35979922 0 32.71959844-13.63316573 32.71959844-32.71959844v-92.7055292h76.34572997l21.81306534 498.97387705c-2.72663349 29.99296494-24.53969883 49.07939766-51.80603028 49.07939766z" fill="#8a8a8a" ></path><path d="M417.83362754 348.50752842h193.59095801c16.35979922 0 32.71959844-13.63316573 32.71959843-32.71959844v-2.7266335c0-16.35979922-16.35979922-29.99296494-32.71959843-27.26633232h-193.59095802-2.72663349c-19.08643271 0-32.71959844 16.35979922-29.99296493 32.71959844 0 16.35979922 13.63316573 29.99296494 32.71959843 29.99296582zM706.85674737 602.08441631H319.67483222c-19.08643271 2.72663349-29.99296494 19.08643271-29.99296493 35.44623194 2.72663349 19.08643271 19.08643271 29.99296494 35.44623105 29.99296493H712.31001435c19.08643271-2.72663349 29.99296494-19.08643271 29.99296495-35.44623105-2.72663349-19.08643271-16.35979922-29.99296494-35.44623193-29.99296582z" fill="#8a8a8a" ></path></symbol><symbol id="iconshangpinzhifujine" viewBox="0 0 1024 1024"><path d="M895.56000401 855.66763408l-59.64986338-490.16627314c-5.18694433-38.90208516-36.30861299-64.83680859-75.21069815-64.8368086h-77.80417031V235.82774287v-5.18694433c-2.59347217-95.95847637-80.39764248-171.16917451-173.76264756-168.57570235S340.55692227 142.46273867 343.15039443 235.82774287v62.24333643H262.75275195c-38.90208516 0-70.02375292 28.5281956-75.21069814 64.83680859L127.89219043 855.66763408v10.37388956c0 54.46291904 44.0890295 95.95847637 95.95847637 95.95847636H809.97541719c54.46291904-5.18694433 90.77153203-54.46291904 85.58458682-106.33236592zM405.39373086 235.82774287v-5.18694433c2.59347217-59.64986426 51.86944688-106.33236592 108.92583896-103.73889375s106.33236592 51.86944688 103.73889375 108.92583808v62.24333643h-215.25820488V235.82774287z m394.20779677 661.33544854H223.8506668h-2.59347217c-18.15430605-2.59347217-31.12166778-18.15430605-28.5281956-36.30861299l59.64986337-490.16627315c0-5.18694433 5.18694433-10.37388955 10.37388955-10.37388954h500.5401627c5.18694433 0 10.37388955 5.18694433 10.37388955 10.37388954l59.64986426 490.16627315v2.59347216c-2.59347217 20.74777911-15.56083388 33.71514082-33.71514083 33.71514083z" fill="#8a8a8a" ></path><path d="M651.7736044 495.17497812c5.18694433-5.18694433 7.78041738-12.96736172 7.7804165-20.74777909 0-7.78041738-2.59347217-15.56083388-7.7804165-20.74777911-5.18694433-5.18694433-12.96736172-7.78041738-20.74777911-7.7804165-7.78041738 0-15.56083388 2.59347217-20.7477791 7.7804165l-90.77153203 90.77153291-90.77153203-90.77153291c-10.37388955-10.37388955-28.5281956-10.37388955-38.90208516 0-5.18694433 5.18694433-7.78041738 12.96736172-7.7804165 20.74777911 0 7.78041738 2.59347217 15.56083388 7.7804165 20.7477791l103.73889375 103.73889375v7.7804165h-93.36500419c-15.56083388 0-28.5281956 12.96736172-28.52819561 28.52819649s12.96736172 28.5281956 28.52819561 28.5281956h93.36500419v36.30861299h-93.36500419c-15.56083388 0-28.5281956 12.96736172-28.52819561 28.5281956s12.96736172 28.5281956 28.52819561 28.52819561h93.36500419v49.27597471c0 15.56083388 12.96736172 28.5281956 28.52819561 28.5281956 15.56083388 0 28.5281956-12.96736172 28.52819648-28.5281956v-49.27597471h82.99111466c15.56083388 0 28.5281956-12.96736172 28.5281956-28.52819561s-12.96736172-28.5281956-28.5281956-28.5281956h-82.99111466v-36.30861299h82.99111466c15.56083388 0 28.5281956-12.96736172 28.5281956-28.5281956S646.58665917 606.69428838 631.02582529 606.69428838h-82.99111552v-10.37388867l103.73889463-101.14542158z" fill="#8a8a8a" ></path></symbol><symbol id="icontuikuanjianshu" viewBox="0 0 1024 1024"><path d="M886.55089854 62H274.87425166C234.45508994 62 199.42514932 97.02993974 199.42514932 137.44910146v29.64071866H137.44910146C97.02993974 167.08982012 62 202.11976074 62 242.53892247v641.31736464c0 21.55688613 8.08383252 40.41916172 21.55688613 53.89221621s32.3353292 21.55688613 53.89221533 21.55688613h606.28742578c43.11377227 0 75.44910146-35.02993974 75.44910148-75.44910234v-29.64071865h67.36526982c21.55688613 0 40.41916172-8.08383252 53.89221533-21.55688614s21.55688613-32.3353292 21.55688613-53.89221533V137.44910146c0-40.41916172-35.02993974-75.44910146-75.44910146-75.44910146z m-142.8143713 105.08982011h-485.02994062V137.44910146c0-8.08383252 8.08383252-16.16766503 16.16766504-16.16766415h608.98203545c8.08383252 0 16.16766503 8.08383252 16.16766503 16.16766415v641.31736553c0 8.08383252-8.08383252 16.16766503-16.16766503 16.16766504H816.49101816V242.53892247c2.69461055-40.41916172-32.3353292-75.44910146-72.75449092-75.44910236z m0 732.93413203H137.44910146c-8.08383252 0-16.16766503-8.08383252-16.16766415-16.16766503V242.53892247c0-8.08383252 8.08383252-16.16766503 16.16766415-16.16766505h606.28742578c8.08383252 0 16.16766503 8.08383252 16.16766417 16.16766504v641.31736465c0 10.77844307-8.08383252 16.16766503-16.16766417 16.16766503z" fill="#8a8a8a" ></path><path d="M654.81437128 326.07185645c-10.77844307-8.08383252-24.25149668-10.77844307-35.02993974-10.77844307-13.47305362 2.69461055-24.25149668 8.08383252-32.33533008 18.86227558-16.16766503 21.55688613-13.47305362 51.19760479 5.38922198 67.36526895-18.86227559 102.39520957-67.36526982 148.20359238-150.89820381 148.20359326-83.53293398 0-132.03592823-48.50299424-150.89820381-150.8982038 5.38922197-5.38922197 8.08383252-8.08383252 10.77844306-13.47305362 5.38922197-13.47305362 5.38922197-26.9461081 2.69461143-37.72455117-5.38922197-13.47305362-13.47305362-21.55688613-24.25149755-26.94610811-13.47305362-8.08383252-26.9461081-8.08383252-37.7245503-2.69461054s-21.55688613 13.47305362-26.94610811 24.25149667-5.38922197 24.25149668-2.69461054 37.72455117c5.38922197 10.77844307 13.47305362 21.55688613 24.25149668 26.94610812 24.25149668 129.34131768 94.31137705 199.40119717 204.79041914 199.40119716 113.17365263 0 183.233533-70.05988037 207.48502969-199.40119716 5.38922197-2.69461055 10.77844307-8.08383252 13.47305449-10.77844307 8.08383252-10.77844307 10.77844307-21.55688613 10.77844307-35.02994063-2.69461055-16.16766503-8.08383252-26.9461081-18.8622756-35.02993974z" fill="#8a8a8a" ></path></symbol><symbol id="iconleijiguanzhuyonghu" viewBox="0 0 1238 1024"><path d="M440.22085859 545.12883477h2.76073682c8.28220869 0 13.80368057-5.52147276 16.56441651-11.04294552 5.52147276-8.28220869 8.28220869-16.56441738 5.52147275-27.60736201-2.76073594-8.28220869-8.28220869-13.80368057-13.80368056-19.32515331-5.52147276-2.76073594-11.04294463-2.76073594-16.56441739-2.76073594H385.00613457c-11.04294463-2.76073594-24.84662607-5.52147276-35.88956983-11.04294463-8.28220869-2.76073594-16.56441738-8.28220869-24.84662607-13.80368145-2.76073594-2.76073594-5.52147276-2.76073594-5.52147275-5.52147187-5.52147276-2.76073594-8.28220869-8.28220869-11.04294464-11.04294463l-11.04294462-11.04294551-2.76073593-2.76073594c-2.76073594-2.76073594-2.76073594-2.76073594-2.76073682-5.52147187-5.52147276-8.28220869-11.04294463-16.56441738-13.80368057-24.84662607-5.52147276-11.04294463-8.28220869-24.84662607-11.04294463-35.88957071-2.76073594-13.80368057-2.76073594-24.84662607 0-38.65030664 2.76073594-11.04294463 5.52147276-24.84662607 11.04294463-35.8895707 0-5.52147276 5.52147276-13.80368057 11.04294463-22.08588926 0-2.76073594 2.76073594-5.52147276 5.52147276-5.52147275 2.76073594-5.52147276 5.52147276-8.28220869 11.04294462-13.80368057 2.76073594-2.76073594 5.52147276-5.52147276 11.04294463-8.28220869l2.76073594-2.76073594 5.52147275-5.52147276c8.28220869-5.52147276 16.56441738-11.04294463 24.84662607-13.80368144 11.04294463-5.52147276 24.84662607-8.28220869 35.88956983-11.04294463h38.65030752c5.52147276 0 11.04294463 2.76073594 16.5644165 2.76073682 16.56441738 5.52147276 33.12883477-5.52147276 38.65030664-22.08589013 2.76073594-8.28220869 2.76073594-16.56441738-2.76073593-22.08588927-2.76073594-8.28220869-11.04294463-13.80368057-19.32515333-16.56441738-16.56441738 0-33.12883477-2.76073594-52.4539872-2.76073593-38.65030664 0-77.30061328 11.04294463-110.42944804 30.36809794C255.25153408 200.03681006 227.64417207 238.6871167 211.07975469 280.09815928c-13.80368057 44.1717794-13.80368057 91.10429473 0 132.5153373 13.80368057 38.65030664 38.65030664 71.77914141 74.53987734 96.62576748 0 0-2.76073594 0-2.76073594 2.76073594-69.01840459 27.60736201-126.99386543 74.53987734-168.404908 135.27607325-41.41104258 66.25766865-57.97545997 143.55828193-49.69325215 220.85889609 0 8.28220869 2.76073594 16.56441738 8.28220869 22.08588925 5.52147276 5.52147276 13.80368057 8.28220869 22.08589014 8.2822087 8.28220869 0 16.56441738-2.76073594 22.08588926-8.2822087 5.52147276-5.52147276 8.28220869-13.80368057 8.28220868-22.08588925-2.76073594-24.84662607-2.76073594-52.45398809 0-77.30061328 5.52147276-41.41104258 19.32515332-80.0613501 41.41104258-113.19018399 5.52147276-5.52147276 8.28220869-13.80368057 13.80368145-19.32515332l-2.76073682 2.76073594 2.76073682-2.76073594s0-2.76073594 2.76073594-2.76073682l2.76073594-2.76073594 8.28220869-8.28220868L227.64417207 611.38650342c0 2.76073594 2.76073594 0 5.52147187 0s2.76073594-2.76073594 5.52147276-2.76073681c5.52147276-5.52147276 11.04294463-8.28220869 19.32515332-13.80368057 11.04294463-8.28220869 24.84662607-13.80368057 38.65030664-19.32515333 22.08588926-8.28220869 46.93251533-16.56441738 71.77914141-19.32515331 11.04294463-2.76073594 60.73619589-8.28220869 71.77914052-11.04294463z" fill="#8a8a8a" ></path><path d="M945.43558262 636.23312862c13.80368057 11.04294463 30.36809795 8.28220869 41.41104345-2.76073594 11.04294463-13.80368057 8.28220869-33.12883477-2.76073682-41.41104258-33.12883477-27.60736201-69.01840459-46.93251533-107.66871122-63.49693271 16.56441738-11.04294463 33.12883477-22.08588926 46.93251533-35.88957072 46.93251533-46.93251533 74.53987734-110.42944805 74.53987734-176.68711669 0-66.25766865-24.84662607-129.75460136-74.53987734-176.6871167-96.6257666-96.6257666-256.74846592-96.6257666-353.3742334 0-46.93251533 46.93251533-74.53987734 110.42944805-74.53987734 176.6871167 0 66.25766865 24.84662607 129.75460136 74.53987735 176.6871167 13.80368057 13.80368057 30.36809795 24.84662607 46.93251532 35.8895707-5.52147276 2.76073594-11.04294463 5.52147276-19.32515331 8.28220869-46.93251533 19.32515332-85.58282198 49.69325127-121.47239268 85.58282198-35.8895707 35.8895707-63.49693271 77.30061328-80.06134922 124.23312861-19.32515332 49.69325127-30.36809795 99.38650342-30.36809883 154.60122744v22.08588926c0 16.56441738 13.80368057 27.60736201 30.36809883 27.60736201h2.76073594c16.56441738 0 30.36809795-16.56441738 27.60736201-33.12883477v-19.32515331c0-44.1717794 8.28220869-88.34355791 24.84662608-129.75460137 16.56441738-38.65030664 38.65030664-74.53987734 69.01840458-107.66871123 57.97545997-60.73619589 140.79754599-96.6257666 226.38036797-96.6257666 35.8895707 0 71.77914141 5.52147276 107.66871211 19.32515332 33.12883477 11.04294463 63.49693271 27.60736201 91.10429385 52.45398721z m-204.29447871-135.27607325c-49.69325127-2.76073594-93.86503066-22.08588926-126.99386456-55.21472402-35.8895707-35.8895707-55.21472402-82.82208604-55.21472402-135.27607325 0-49.69325127 19.32515332-99.38650342 55.21472402-135.27607412 35.8895707-35.8895707 82.82208604-55.21472402 135.27607325-55.21472401 104.90797529 0 190.49079727 85.58282198 190.49079814 190.49079813 0 49.69325127-19.32515332 99.38650342-55.21472402 135.27607325-35.8895707 35.8895707-82.82208604 55.21472402-132.51533731 55.21472402h-11.0429455z m245.70552216 129.75460137z" fill="#8a8a8a" ></path><path d="M1088.99386543 680.404908c-30.36809795-13.80368057-66.25766865-11.04294463-93.86503066 5.52147276-27.60736201-16.56441738-63.49693271-19.32515332-96.62576748-5.52147276-46.93251533 22.08588926-69.01840459 74.53987734-55.21472403 124.23312862 16.56441738 82.82208604 138.03681006 154.60122656 138.03681006 154.60122744 2.76073594 2.76073594 8.28220869 2.76073594 13.80368145 2.76073594s8.28220869 0 13.80368056-2.76073594c13.80368057-8.28220869 124.23312862-77.30061328 138.03681006-154.60122744 13.80368057-49.69325127-11.04294463-102.14723935-57.97545996-124.23312862z m-77.30061416 57.97545997c16.56441738-13.80368057 38.65030664-16.56441738 57.97545996-11.04294463 24.84662607 11.04294463 35.8895707 38.65030664 27.60736201 66.25766865-8.28220869 38.65030664-57.97545997 82.82208604-102.14723847 113.19018398-44.1717794-30.36809795-93.86503066-74.53987734-102.14723936-113.19018398-8.28220869-24.84662607 5.52147276-52.45398809 27.60736201-66.25766865 5.52147276-2.76073594 11.04294463-2.76073594 16.56441651-2.76073594 13.80368057 0 30.36809795 5.52147276 41.41104345 16.56441651 8.28220869 2.76073594 22.08588926 2.76073594 33.12883389-2.76073594z" fill="#8a8a8a" ></path></symbol><symbol id="icontuikuan" viewBox="0 0 1026 1024"><path d="M830.40731035 193.59268965C745.81201075 108.99738916 633.01827675 62 513.17493506 62S280.53785937 108.99738916 195.94255888 193.59268965C108.99738916 278.18798925 62 390.98172325 62 510.82506494v2.34987012c0 7.04960859 2.34986924 14.09921631 9.39947783 18.79895567 4.69973848 4.69973848 11.74934707 7.04960859 18.79895566 7.04960771 9.39947783 0 16.44908643-4.69973848 21.1488249-11.74934708L172.44386387 461.47780654l2.34987011-2.34986924c7.04960859-11.74934707 4.69973848-25.84856426-4.69973935-35.24804209-4.69973848-4.69973848-11.74934707-7.04960859-18.79895567-7.04960771-7.04960859 0-14.09921631 2.34986924-18.79895566 9.39947783l-9.39947783 9.39947783c21.1488249-103.39425615 84.59530049-197.38903359 176.24020957-256.13577069 183.28981729-117.49347247 430.02610928-65.79634482 547.51958173 119.84334257 56.39686699 89.29503896 75.19582266 195.03916435 54.04699776 298.43341963s-84.59530049 192.68929511-173.89033945 249.0861621c-183.28981729 117.49347247-430.02610928 65.79634482-547.51958262-119.84334169 0 0 0-2.34986924-2.34986923-2.34987012-4.69973848-4.69973848-9.39947783-9.39947783-16.44908643-11.74934707-7.04960859 0-14.09921631 0-21.1488249 4.69973935-4.69973848 4.69973848-9.39947783 9.39947783-11.74934708 16.44908555s0 14.09921631 4.69973848 18.79895567c82.24543037 129.24281953 225.58746709 206.78851143 378.32898164 206.7885123 119.8433417 0 232.63707568-46.99738916 317.23237618-131.59268964 84.59530049-84.59530049 131.59268965-197.38903359 131.59268964-317.23237618 4.69973848-119.8433417-42.29764981-232.63707568-129.24282041-317.2323753z" fill="#8a8a8a" ></path><path d="M327.53524766 341.63446484c2.34986924 2.34986924 7.04960859 4.69973848 11.74934794 9.39947784s9.39947783 7.04960859 14.09921632 11.74934706c4.69973848 4.69973848 9.39947783 9.39947783 16.44908642 14.09921719 4.69973848 4.69973848 9.39947783 9.39947783 14.09921631 11.74934708 4.69973848 7.04960859 14.09921631 11.74934707 21.1488249 14.0992163 7.04960859 0 11.74934707-2.34986924 16.44908643-7.04960859 4.69973848-4.69973848 7.04960859-11.74934707 4.69973935-16.44908555-2.34986924-7.04960859-7.04960859-14.09921631-11.74934794-18.79895566-9.39947783-9.39947783-21.1488249-18.79895566-30.54830274-25.84856426-4.69973848-4.69973848-11.74934707-9.39947783-16.44908554-11.74934708l-11.74934796-9.39947782c-4.69973848-4.69973848-11.74934707-7.04960859-21.1488249-9.39947783-7.04960859 0-14.09921631 2.34986924-16.44908643 7.04960859-4.69973848 4.69973848-7.04960859 11.74934707-4.69973847 18.79895566 2.34986924 2.34986924 7.04960859 7.04960859 14.09921631 11.74934707z" fill="#8a8a8a" ></path><path d="M294.63707568 445.02872099c0 4.69973848 0 9.39947783 2.34986924 14.09921632 2.34986924 4.69973848 7.04960859 7.04960859 11.74934707 7.04960859h49.34725928v143.34203672c0 7.04960859-2.34986924 14.09921631-4.69973936 21.1488249-2.34986924 7.04960859-7.04960859 11.74934707-11.74934707 18.79895566-4.69973848 4.69973848-9.39947783 11.74934707-16.44908642 14.09921632-4.69973848 4.69973848-11.74934707 9.39947783-18.79895566 11.74934706-7.04960859 2.34986924-14.09921631 9.39947783-16.44908555 16.44908643-2.34986924 7.04960859 0 11.74934707 2.34986923 18.79895566 4.69973848 4.69973848 7.04960859 9.39947783 11.74934708 9.39947783h2.34986924c7.04960859 0 11.74934707-2.34986924 16.44908641-4.69973847 23.49869414-11.74934707 44.64751992-30.54830273 56.396867-54.04699775 16.44908643 18.79895566 35.24804209 32.89817198 58.74673623 39.94778056 30.54830273 11.74934707 63.44647559 16.44908643 96.34464756 16.44908642h164.49086162c7.04960859 0 11.74934707-2.34986924 18.79895566-7.04960859 7.04960859-9.39947783 7.04960859-21.1488249 0-30.54830273 2.34986924-4.69973848-4.69973848-7.04960859-9.39947783-7.0496086H531.97389073c-25.84856426 2.34986924-54.04699776-4.69973848-77.5456919-14.0992163 7.04960859 2.34986924 16.44908643 2.34986924 23.49869414 0l49.3472584-14.09921719c14.09921631-4.69973848 25.84856426-11.74934707 39.94778056-16.44908555 7.04960859-2.34986924 14.09921631-7.04960859 18.79895567-14.09921719 2.34986924-7.04960859 2.34986924-14.09921631 0-18.79895566-2.34986924-4.69973848-7.04960859-9.39947783-11.74934708-11.74934707-7.04960859-2.34986924-16.44908643 0-28.19843349 4.69973848-9.39947783 4.69973848-21.1488249 9.39947783-30.54830273 14.09921719-11.74934707 4.69973848-23.49869414 9.39947783-35.24804209 11.74934706V508.4751957h18.79895566c28.19843349 25.84856426 56.39686699 49.3472584 82.24543125 75.19582266 28.19843349 25.84856426 54.04699776 51.69712763 79.89556114 75.19582266 9.39947783 9.39947783 16.44908643 11.74934707 23.49869414 11.74934706 4.69973848 0 9.39947783-2.34986924 14.09921718-7.04960858 4.69973848-4.69973848 7.04960859-11.74934707 4.69973848-18.79895567-2.34986924-7.04960859-7.04960859-14.09921631-11.74934707-18.79895566l-46.99738916-44.64751905c9.39947783-4.69973848 16.44908643-11.74934707 23.49869502-16.44908643 7.04960859-7.04960859 16.44908643-11.74934707 23.49869414-18.79895566 4.69973848-4.69973848 9.39947783-11.74934707 11.74934707-18.79895566 0-7.04960859-2.34986924-11.74934707-7.04960772-16.44908643-4.69973848-4.69973848-9.39947783-7.04960859-14.09921718-7.04960772-7.04960859 0-14.09921631 2.34986924-21.1488249 11.74934708-7.04960859 7.04960859-14.09921631 14.09921631-23.49869503 21.1488249-9.39947783 7.04960859-16.44908643 11.74934707-25.84856338 18.79895567l-51.69712851-46.99738917h93.99477832c11.74934707 2.34986924 23.49869414-2.34986924 32.89817285-11.74934707 7.04960859-9.39947783 9.39947783-21.1488249 9.39947783-32.89817197v-112.79373398c0-11.74934707-2.34986924-23.49869414-9.39947783-32.89817286-9.39947783-7.04960859-21.1488249-11.74934707-30.54830361-9.39947783h-176.24020869c-11.74934707-2.34986924-23.49869414 2.34986924-32.89817198 9.39947783-7.04960859 9.39947783-9.39947783 21.1488249-7.04960859 30.54830362v267.88511689c-2.34986924 11.74934707 2.34986924 25.84856426 9.39947783 35.24804209h4.69973936c-2.34986924 0-2.34986924-2.34986924-4.69973936-2.34986924-18.79895566-9.39947783-32.89817198-28.19843349-39.94778056-49.34725839V461.47780654c0-7.04960859 0-14.09921631-2.34986924-21.1488249 0-4.69973848-2.34986924-9.39947783-4.69973936-14.09921631-2.34986924-2.34986924-7.04960859-4.69973848-11.74934706-7.04960859-4.69973848 0-9.39947783 0-14.09921632-2.34986924h-54.04699775c-7.04960859 0-11.74934707 0-18.79895566 7.04960771-9.39947783 11.74934707-9.39947783 16.44908643-9.39947784 21.14882578z m185.63968653-91.64490907v-2.34986924h171.54047021s2.34986924 0 2.34986924 2.34986924v32.89817285h-173.89033945v-32.89817285z m164.49086162 110.44386474h-164.49086162v-35.24804208h173.89033945v35.24804208h-9.39947783z" fill="#8a8a8a" ></path></symbol><symbol id="iconxiadanjianshu" viewBox="0 0 1024 1024"><path d="M353.49293516 211.5702002c15.47277979 0 30.94555869-12.89398271 30.94555869-28.36676163V167.73065878h255.30085986v15.47277979c0 15.47277979 12.89398271 28.3667625 28.36676251 28.36676163s28.3667625-12.89398271 28.36676161-28.36676163V92.94555869c0-15.47277979-12.89398271-30.94555869-28.36676161-30.94555869s-28.3667625 12.89398271-28.3667625 30.94555869v15.47277978h-255.30085987v-15.47277978c0-15.47277979-12.89398271-30.94555869-28.36676162-30.94555869-20.63037217 2.57879619-33.52435488 15.47277979-33.52435577 30.94555869v90.25787988c0 7.73638945 2.57879619 15.47277979 7.73639034 20.63037217 7.73638945 5.15759326 15.47277979 7.73638945 23.20916836 7.73638945z" fill="#8a8a8a" ></path><path d="M817.67631641 108.41833848v2.57879619-2.57879619h-48.99713467c-7.73638945 0-15.47277979 2.57879619-20.63037217 10.31518564-5.15759326 5.15759326-7.73638945 12.89398271-7.73638945 20.63037305 0 15.47277979 12.89398271 28.3667625 28.36676162 28.36676162h51.57593173c28.3667625 0 51.57593086 23.20916924 51.57593086 51.57593173v77.3638963H152.3468041V221.88538672c0-28.3667625 23.20916924-51.57593086 51.57593087-51.57593086h51.57593085c15.47277979-2.57879619 25.78796543-18.05157598 23.20916924-33.52435576-2.57879619-12.89398271-10.31518653-23.20916924-23.20916924-25.78796543h-51.57593085C142.03161758 110.99713467 93.03448291 159.99426933 93.03448291 221.88538672v629.22636123c0 61.89111739 48.99713467 110.88825205 110.88825205 110.88825205h613.75358145c61.89111739 0 110.88825205-51.57593086 110.88825205-110.88825205V221.88538672c0-61.89111739-51.57593086-110.88825205-110.88825205-113.46704825z m51.57593174 247.56446953v495.12893994c0 28.3667625-23.20916924 51.57593086-51.57593174 51.57593086H203.92273496c-28.3667625 0-51.57593086-23.20916924-51.57593085-51.57593086V355.98280801h716.90544404z" fill="#8a8a8a" ></path><path d="M477.2751708 784.06303731c7.73638945 7.73638945 18.05157598 12.89398271 28.36676162 12.89398271 10.31518653 0 20.63037217-5.15759326 28.3667625-10.31518653l146.99140401-146.991404c5.15759326-5.15759326 7.73638945-12.89398271 7.73638945-20.63037217 0-7.73638945-2.57879619-15.47277979-10.31518653-20.63037216-10.31518653-10.31518653-28.3667625-10.31518653-38.68194813 0l-103.1518626 103.15186172v-237.24928302c0-15.47277979-12.89398271-30.94555869-30.9455587-30.94555868s-30.94555869 12.89398271-30.94555869 30.94555869v234.67048681l-103.15186259-103.1518626c-5.15759326-5.15759326-12.89398271-7.73638945-20.63037218-7.73638945-7.73638945 0-15.47277979 5.15759326-20.63037216 10.31518653-10.31518653 12.89398271-10.31518653 30.94555869 2.57879619 41.26074433l144.41260781 144.41260781z m56.73352412-2.57879619z" fill="#8a8a8a" ></path></symbol><symbol id="iconleijiquguanyonghu" viewBox="0 0 1276 1024"><path d="M444.91925498 551.13043467h2.79503086c8.38509346 0 13.97515518-5.59006172 16.77018603-11.18012432 5.59006172-8.38509346 8.38509346-16.77018604 5.5900626-27.95031035-2.79503086-8.38509346-8.38509346-13.97515518-13.97515517-19.56521778-5.59006172-2.79503086-11.18012432-2.79503086-16.77018691-2.79503086H389.0186334c-11.18012432-2.79503086-25.15527949-5.59006172-36.33540381-11.18012431-8.38509346-2.79503086-16.77018604-8.38509346-25.15527949-13.97515517-2.79503086-2.79503086-5.59006172-2.79503086-5.59006172-5.59006172-5.59006172-2.79503086-8.38509346-8.38509346-11.18012432-11.18012432l-11.18012432-11.18012432-2.79503086-2.79503086c-2.79503086-2.79503086-2.79503086-2.79503086-2.79503085-5.59006259-5.59006172-8.38509346-11.18012432-16.77018604-13.97515605-25.1552795-5.59006172-11.18012432-8.38509346-25.15527949-11.18012344-36.3354038-2.79503086-13.97515518-2.79503086-25.15527949 0-39.13043467 2.79503086-11.18012432 5.59006172-25.15527949 11.18012344-36.33540381 0-5.59006172 5.59006172-13.97515518 11.18012431-22.36024775 0-2.79503086 2.79503086-5.59006172 5.59006259-5.5900626 2.79503086-5.59006172 5.59006172-8.38509346 11.18012432-13.97515518 2.79503086-2.79503086 5.59006172-5.59006172 11.18012432-8.38509345l2.79503086-2.79503086 5.59006172-5.59006172c8.38509346-5.59006172 16.77018604-11.18012432 25.15527949-13.97515518 11.18012432-5.59006172 25.15527949-8.38509346 36.3354038-11.18012432h39.13043468c5.59006172 0 11.18012432 2.79503086 16.77018691 2.79503086 16.77018604 5.59006172 33.54037295-5.59006172 39.13043466-22.36024862 2.79503086-8.38509346 2.79503086-16.77018604-2.79503086-22.36024864-2.79503086-8.38509346-11.18012432-13.97515518-19.56521776-16.77018604-16.77018604 0-33.54037295-2.79503086-53.10558985-2.79503086-39.13043467 0-78.26086933 11.18012432-111.80124229 30.74534122C257.65217422 201.75155263 229.70186299 240.8819873 212.93167695 282.80745371c-13.97515518 44.72049727-13.97515518 92.23602451 0 134.16149004 13.97515518 39.13043467 39.13043467 72.67080761 75.46583848 97.82608711 0 0-2.79503086 0-2.79503086 2.79503086-69.87577675 27.95031035-128.57142832 75.46583847-170.49689473 136.95652177-41.92546552 67.08074502-58.69565244 145.34161523-50.31055898 223.60248458 0 8.38509346 2.79503086 16.77018604 8.38509346 22.36024863 5.59006172 5.59006172 13.97515518 8.38509346 22.36024863 8.38509346 8.38509346 0 16.77018604-2.79503086 22.36024775-8.38509346 5.59006172-5.59006172 8.38509346-13.97515518 8.38509346-22.36024863-2.79503086-25.15527949-2.79503086-53.10558984 0-78.26086934 5.59006172-41.92546552 19.56521777-81.05590019 41.92546553-114.59627315 5.59006172-5.59006172 8.38509346-13.97515518 13.97515605-19.56521777l-2.79503173 2.79503174 2.79503173-2.79503174s0-2.79503086 2.79503086-2.79503086l2.79503086-2.79503086 8.38509346-8.38509346L229.70186299 618.21117969c0 2.79503086 2.79503086 0 5.59006259 0s2.79503086-2.79503086 5.59006172-2.79503086c5.59006172-5.59006172 11.18012432-8.38509346 19.56521778-13.97515518 11.18012432-8.38509346 25.15527949-13.97515518 39.13043466-19.5652169 22.36024864-8.38509346 47.51552813-16.77018604 72.67080763-19.56521777 11.18012432-2.79503086 61.4906833-8.38509346 72.67080761-11.18012431z" fill="#8a8a8a" ></path><path d="M956.40993828 643.36646006c13.97515518 11.18012432 30.74534122 8.38509346 41.92546553-2.79503174 11.18012432-13.97515518 8.38509346-33.54037295-2.79503086-41.92546553-33.54037295-27.95031035-69.87577675-47.51552813-109.00621143-64.28571416 16.77018604-11.18012432 33.54037295-22.36024864 47.51552813-36.33540381 47.51552813-47.51552813 75.46583847-111.80124229 75.46583847-178.8819873 0-67.08074502-25.15527949-131.36646006-75.46583847-178.88198819-97.82608711-97.82608711-259.93788838-97.82608711-357.76397549 1e-8-47.51552813 47.51552813-75.46583847 111.80124229-75.46583848 178.88198818 0 67.08074502 25.15527949 131.36646006 75.46583848 178.8819873 13.97515518 13.97515518 30.74534122 25.15527949 47.51552813 36.33540381-5.59006172 2.79503086-11.18012432 5.59006172-19.56521778 8.38509258-47.51552813 19.56521777-86.64596279 50.31055898-122.98136573 86.6459628-36.33540381 36.33540381-64.28571416 78.26086933-81.05590107 125.77639745-19.56521777 50.31055898-30.74534122 100.62111797-30.7453412 156.52173956v22.36024863c0 16.77018604 13.97515518 27.95031035 30.7453412 27.95031035h2.79503086c16.77018604 0 30.74534122-16.77018604 27.95031123-33.54037295v-19.56521689c0-44.72049727 8.38509346-89.44099365 25.1552795-131.36646006 16.77018604-39.13043467 39.13043467-75.46583847 69.87577588-109.00621055 58.69565244-61.4906833 142.54658349-97.82608711 229.19254628-97.82608711 36.33540381 0 72.67080761 5.59006172 109.00621143 19.5652169 33.54037295 11.18012432 64.28571416 27.95031035 92.23602539 53.10559072z m-206.83229854-136.95652178c-50.31055898-2.79503086-95.03105625-22.36024864-128.57142831-55.90062158-36.33540381-36.33540381-55.9006207-83.85093193-55.90062159-136.95652178 0-50.31055898 19.56521777-100.62111797 55.90062159-136.95652177 36.33540381-36.33540381 83.85093193-55.9006207 136.95652177-55.90062071 106.21117969 0 192.85714248 86.64596279 192.85714248 192.85714248 0 50.31055898-19.56521777 100.62111797-55.9006207 136.95652178-36.33540381 36.33540381-83.85093193 55.9006207-134.16149092 55.90062158h-11.18012432z m248.75776407 131.36645918zM1180.01242197 822.24844737c0-19.56521777-13.97515518-33.54037295-33.54037207-33.54037296h-268.32298183c-19.56521777 0-33.54037295 13.97515518-33.54037208 33.54037296v2.79503085c0 11.18012432 8.38509346 22.36024864 19.5652169 27.95031035 5.59006172 2.79503086 8.38509346 2.79503086 13.97515518 2.79503174h268.32298183c5.59006172 0 8.38509346 0 13.97515518-2.79503174 11.18012432-5.59006172 16.77018604-13.97515518 19.56521689-27.95031035v-2.79503085z" fill="#8a8a8a" ></path></symbol><symbol id="iconleijiyonghu" viewBox="0 0 1230 1024"><path d="M1055.68384502 646.40015352c-26.60794981-35.47726612-56.17233809-65.0416544-91.6496042-88.69316573-26.60794981-17.73863349-56.17233809-35.47726612-88.69316572-44.34658242 26.60794981-17.73863349 47.30302178-41.39014394 65.0416544-70.95453222 23.65151045-41.39014394 35.47726612-88.69316573 32.52082763-135.99618663-2.95643848-50.25946026-20.69507197-94.60604268-53.21589961-133.03974814-62.08521592-73.9109707-165.5605749-100.51892051-254.25374062-67.99809375-44.34658242 17.73863349-85.73672636 47.30302178-112.34467618 85.73672636A209.9071582 209.9071582 0 0 0 508.7426583 321.19188066c0 11.82575567 0 26.60794981 2.95643848 38.4337046 8.86931631 59.12877656 44.34658242 115.30111465 94.60604355 150.77838164h-2.95643936c-79.82384854 29.56438828-147.82194229 85.73672636-192.1685247 156.69125859C363.87715537 743.96263555 343.1820834 832.65580039 355.00783818 921.34896612c0 8.86931631 2.95643848 17.73863349 11.82575567 26.6079498 14.78219414 14.78219414 35.47726612 14.78219414 50.25946026 0 5.91287783-5.91287783 11.82575567-14.78219414 11.82575566-26.6079498-2.95643848-29.56438828-2.95643848-59.12877656 0-88.69316573 5.91287783-47.30302178 23.65151045-91.6496042 47.3030209-130.08330879 5.91287783-8.86931631 8.86931631-14.78219414 14.78219501-20.69507197l-2.95643935 2.95643847 2.95643935-2.95643847 2.95643848-2.95643936 2.95643847-2.95643847 8.86931719-8.86931631c11.82575567-11.82575567 23.65151045-26.60794981 38.4337046-35.47726611l8.86931631-8.86931719c2.95643848 0 2.95643848-2.95643848 5.91287783-2.95643848 5.91287783-5.91287783 14.78219414-8.86931631 20.69507197-14.78219414 38.43370459-23.65151045 79.82384854-38.43370459 124.17043184-44.34658243 29.56438828-2.95643848 56.17233809-2.95643848 85.73672636 0 47.30302178 5.91287783 91.6496042 23.65151045 130.08330879 47.30302091 8.86931631 5.91287783 14.78219414 8.86931631 20.69507197 14.78219414l-2.95643847-2.95643848 2.95643847 2.95643848 2.95643936 2.95643935 2.95643847 2.95643848 8.86931631 8.86931719c11.82575567 11.82575567 26.60794981 23.65151045 35.47726611 38.43370459l8.86931719 8.8693163c0 2.95643848 2.95643848 2.95643848 2.95643848 5.91287784 5.91287783 5.91287783 8.86931631 14.78219414 14.78219414 20.69507197 23.65151045 38.43370459 38.43370459 79.82384854 44.34658243 124.17043183 2.95643848 29.56438828 2.95643848 59.12877656 0 88.69316485 0 8.86931631 2.95643848 17.73863349 11.82575565 26.60794981 14.78219414 14.78219414 35.47726612 14.78219414 50.25946026 0 5.91287783-5.91287783 8.86931631-14.78219414 11.82575567-26.60794981 2.95643848-14.78219414 2.95643848-26.60794981 2.95643847-41.39014394-5.91287783-85.73672636-32.52082763-168.51701425-82.78028701-236.51510713z m-186.25564775-224.68935235c-5.91287783 5.91287783-8.86931631 11.82575567-14.78219415 14.78219414l-11.82575566 11.82575567s-2.95643848 0-2.95643848 2.95643847l-2.95643848 2.95643936c-2.95643848 2.95643848-5.91287783 2.95643848-5.91287782 5.91287695-8.86931631 5.91287783-17.73863349 11.82575567-26.60794981 14.78219502-11.82575567 5.91287783-26.60794981 8.86931631-41.39014394 11.82575479-14.78219414 2.95643848-29.56438828 2.95643848-44.34658242 0s-26.60794981-5.91287783-41.39014395-11.82575479c-8.86931631-2.95643848-17.73863349-8.86931631-26.6079498-14.78219502-2.95643848-2.95643848-5.91287783-2.95643848-8.86931631-5.91287695-5.91287783-2.95643848-8.86931631-8.86931631-14.78219414-11.82575566l-11.82575567-11.82575567-2.95643847-2.95643847-2.95643936-2.95643936v-2.95643848c-2.95643848-2.95643848-2.95643848-5.91287783-5.91287783-5.91287783-5.91287783-8.86931631-11.82575567-17.73863349-14.78219414-26.6079498-5.91287783-11.82575567-8.86931631-26.60794981-11.82575479-41.39014307-2.95643848-14.78219414-2.95643848-29.56438828 0-44.3465833s5.91287783-26.60794981 11.82575479-41.39014395c8.86931631-11.82575567 14.78219414-20.69507197 20.69507197-29.56438828 2.95643848-2.95643848 2.95643848-5.91287783 5.91287783-8.8693163 5.91287783-5.91287783 8.86931631-11.82575567 11.82575567-14.78219414l11.82575566-11.82575567 2.95643848-2.95643847 2.95643847-2.95643937c2.95643848-2.95643848 5.91287783-2.95643848 5.91287784-5.91287782 8.86931631-5.91287783 17.73863349-11.82575567 26.6079498-14.78219414 11.82575567-5.91287783 26.60794981-8.86931631 41.39014395-11.82575479 14.78219414-2.95643848 29.56438828-2.95643848 44.34658242 0s26.60794981 5.91287783 41.39014394 11.82575479c8.86931631 2.95643848 17.73863349 8.86931631 26.60794981 14.78219414 2.95643848 2.95643848 5.91287783 2.95643848 8.8693163 5.91287782 5.91287783 2.95643848 8.86931631 8.86931631 14.78219414 11.82575567 5.91287783 8.86931631 8.86931631 14.78219414 11.82575566 17.7386335 0 0 0 2.95643848 2.95643849 2.95643848l2.95643935 2.95643847c2.95643848 2.95643848 2.95643848 5.91287783 5.91287695 5.91287783 14.78219414 20.69507197 23.65151045 44.34658242 26.60794981 67.99809375 2.95643848 14.78219414 2.95643848 29.56438828 0 44.34658243s-5.91287783 26.60794981-11.82575479 41.39014394c-2.95643848 8.86931631-8.86931631 17.73863349-14.78219502 26.60794981-5.91287783 2.95643848-5.91287783 5.91287783-8.8693163 8.8693163zM993.5986291 684.8338581c0-2.95643848 0-2.95643848 0 0zM328.39988925 395.10285136l2.95643848 2.95643936c0-2.95643848-2.95643848-2.95643848-2.95643847-2.95643936z" fill="#8a8a8a" ></path><path d="M496.91690263 525.18616104h2.95643936c8.86931631-2.95643848 17.73863349-8.86931631 20.69507197-17.7386335 8.86931631-17.73863349 2.95643848-38.43370459-11.82575566-50.25946025-8.86931631-5.91287783-17.73863349-5.91287783-26.60794981-2.95643848H479.17827002c-14.78219414 2.95643848-29.56438828 2.95643848-44.34658242 0s-26.60794981-5.91287783-41.39014395-11.82575566c-8.86931631-2.95643848-17.73863349-8.86931631-26.6079498-14.78219414-2.95643848-2.95643848-5.91287783-2.95643848-8.86931631-5.91287784-5.91287783-2.95643848-8.86931631-8.86931631-14.78219414-11.82575567l-11.82575567-11.82575478-2.95643847-2.95643936-2.95643936-2.95643847c-2.95643848-2.95643848-2.95643848-5.91287783-5.91287782-5.91287783-5.91287783-8.86931631-11.82575567-17.73863349-14.78219415-26.6079498-2.95643848-14.78219414-5.91287783-26.60794981-8.86931631-41.39014395-2.95643848-14.78219414-2.95643848-29.56438828 0-44.34658243s5.91287783-26.60794981 11.82575567-41.39014394c2.95643848-8.86931631 8.86931631-17.73863349 14.78219414-26.60794981 2.95643848-2.95643848 2.95643848-5.91287783 5.91287783-8.8693163l14.78219414-14.78219414 11.82575478-11.82575567 2.95643936-2.95643847 2.95643848-2.95643848c2.95643848-2.95643848 5.91287783-2.95643848 5.91287783-5.91287783 20.69507197-14.78219414 44.34658242-23.65151045 67.99809375-26.60794981 14.78219414-2.95643848 29.56438828-2.95643848 44.34658242 0 5.91287783 0 14.78219414 2.95643848 20.69507198 2.95643848 17.73863349 5.91287783 38.43370459-5.91287783 44.34658242-23.65151045S538.30704658 72.85101787 520.56841396 66.93814004C452.57032021 55.11238437 387.52866582 63.98170068 331.35632773 99.4589668c-44.34658242 29.56438828-76.86741006 70.95453223-94.60604267 121.21399336-17.73863349 50.25946026-17.73863349 103.47535987 0 153.73481924 17.73863349 44.34658242 44.34658242 82.78028789 82.78028701 112.34467617-2.95643848 0-2.95643848 0-5.91287783 2.95643935-79.82384854 29.56438828-144.86550381 85.73672636-192.16852471 156.6912586C74.14614864 723.26756357 53.45107666 811.96072842 65.27683144 900.65389414c0 8.86931631 2.95643848 17.73863349 11.82575567 26.60794981 14.78219414 14.78219414 35.47726612 14.78219414 50.25946026-1e-8 5.91287783-5.91287783 11.82575567-14.78219414 11.82575565-26.6079498-2.95643848-29.56438828-2.95643848-59.12877656 0-88.69316572 5.91287783-47.30302178 23.65151045-91.6496042 47.30302091-130.08330879 5.91287783-8.86931631 8.86931631-14.78219414 14.78219502-20.69507197l-2.95643936 2.95643848 2.95643936-2.95643848 2.95643847-2.95643936 2.95643848-2.95643848 8.86931719-8.8693163c11.82575567-11.82575567 23.65151045-26.60794981 38.43370459-35.47726612l8.8693163-8.86931631 2.95643936-5.91287783c5.91287783-5.91287783 14.78219414-8.86931631 20.69507197-14.78219414 38.43370459-23.65151045 79.82384854-38.43370459 124.17043096-44.3465833 14.78219414-2.95643848 73.9109707-11.82575567 85.73672636-11.82575478z" fill="#8a8a8a" ></path></symbol><symbol id="iconxinzengquguanyonghu" viewBox="0 0 1024 1024"><path d="M725.0841125 639.57009307c11.21495362-14.0186918 8.41121455-33.64485996-2.80373906-42.05607451-33.64485996-28.03738359-70.0934581-47.66355175-109.34579443-64.48598086 16.82242998-11.21495362 33.64485996-22.42990635 47.66355175-36.44859815 47.66355175-47.66355175 75.70093447-112.14953262 75.70093447-179.43925254 0-67.28971991-25.23364453-131.77570078-75.70093447-179.43925254C562.46728994 39.57009365 399.85046738 39.57009365 301.71962656 137.70093447c-47.66355175 47.66355175-75.70093447 112.14953262-75.70093534 179.43925254 0 67.28971991 25.23364453 131.77570078 75.70093534 179.43925254 14.0186918 14.0186918 30.84112177 25.23364453 47.66355088 36.44859814-5.60747636 2.80373818-11.21495362 5.60747636-19.62616816 8.41121456-47.66355175 19.62616816-86.91588809 50.46728994-123.36448623 86.91588808-36.44859815 36.44859815-64.48598174 78.50467266-81.30841084 126.16822441C102.65420586 804.99065381 91.43925223 855.45794375 91.43925223 911.53271006v22.42990635c0 16.82242998 14.0186918 28.03738359 30.84112179 28.03738359h2.80373819c16.82242998 0 30.84112177-16.82242998 28.03738271-33.64485997v-19.62616816c0-44.8598127 8.41121455-89.71962627 25.23364541-131.77570078 16.82242998-39.25233633 39.25233633-75.70093447 70.09345811-109.34579443 58.8785045-61.68224268 142.9906544-98.13084082 229.90654159-98.13084082 36.44859815 0 72.89719628 5.60747636 109.34579444 19.62616817 33.64485996 14.0186918 64.48598174 30.84112177 92.52336446 53.27102812 14.0186918 11.21495362 33.64485996 11.21495362 44.85981357-2.80373906z m-252.33644883-131.77570078C369.0093456 504.9906541 287.70093477 418.07476602 287.70093477 314.33644883c0-50.46728994 19.62616816-100.93457901 56.0747663-137.38317804 36.44859815-36.44859815 84.1121499-56.07476631 137.38317715-56.0747663 106.54205625 0 193.45794434 86.91588809 193.45794434 193.45794434 0 50.46728994-19.62616816 100.93457901-56.07476631 137.38317714-36.44859815 36.44859815-84.1121499 56.07476631-134.57943984 56.07476632h-11.21495274z m249.53270977 131.77570078zM929.75700957 833.0280374c0-2.80373818 2.80373818-5.60747636 2.80373818-8.41121454v-2.80373907c0-16.82242998-14.0186918-30.84112177-33.64485996-30.8411209h-269.15887881c-19.62616816 0-33.64485996 14.0186918-33.64485908 33.64485997 0 14.0186918 8.41121455 25.23364453 19.62616817 30.84112089 2.80373818 2.80373818 8.41121455 2.80373818 14.01869091 2.80373818h269.15887881c5.60747636 0 11.21495362-2.80373818 16.82242998-5.60747636 8.41121455-2.80373818 14.0186918-11.21495362 14.0186918-19.62616817z" fill="#8a8a8a" ></path></symbol><symbol id="iconshangpinfangkeshu" viewBox="0 0 1024 1024"><path d="M905.90097148 318.5145626c0-19.08643271-13.63316573-32.71959844-32.71959843-32.71959844h-106.33869492c-8.17989961-128.15176113-117.24522803-229.03718906-245.39698828-223.58392295h-19.08643272c-128.15176113-2.72663349-234.49045605 95.4321627-245.39698916 220.85729033h-109.06532754c-16.35979922 0-29.99296494 13.63316573-32.71959931 32.71959844L96.09090928 850.20803808v2.7266335c5.45326612 59.98593076 57.25929727 109.06532842 119.97186064 109.06532842h597.13267324c62.71256338 0 114.51859453-49.07939766 114.51859453-111.79196192v-2.72663261l-21.81306621-528.96684287z m-92.70552832 578.04624053H216.06276992c-29.99296494 0-51.80603115-21.81306533-54.53266377-51.80603115l19.08643272-498.97387706h73.61909649v100.88542881c0 19.08643271 16.35979922 32.71959844 32.71959843 29.99296494 19.08643271 0 32.71959844-16.35979922 29.99296494-32.71959844V299.42813076c2.72663349-98.15879531 84.52562959-174.50452529 182.6844249-174.50452529h19.08643272c98.15879531-2.72663349 179.95779141 76.34572998 182.6844249 174.50452529V446.66632373c0 16.35979922 16.35979922 29.99296494 32.71959844 27.26633233 16.35979922 0 32.71959844-13.63316573 32.71959844-32.71959844v-92.7055292h76.34572997l21.81306534 498.97387705c-2.72663349 29.99296494-24.53969883 49.07939766-51.80603028 49.07939766z" fill="#8a8a8a" ></path><path d="M417.83362754 348.50752842h193.59095801c16.35979922 0 32.71959844-13.63316573 32.71959843-32.71959844v-2.7266335c0-16.35979922-16.35979922-29.99296494-32.71959843-27.26633232h-193.59095802-2.72663349c-19.08643271 0-32.71959844 16.35979922-29.99296493 32.71959844 0 16.35979922 13.63316573 29.99296494 32.71959843 29.99296582zM630.51101826 700.24321162c43.62613154-62.71256338 29.99296494-147.23819297-27.26633232-196.31759063-62.71256338-51.80603115-155.41809258-40.89949805-207.22412373 21.81306534-51.80603115 62.71256338-40.89949805 155.41809258 21.81306533 207.22412461 51.80603115 40.89949805 122.69849414 43.62613154 177.23115879 8.17989961l59.98593076 59.98592987c5.45326612 5.45326612 10.9065331 8.17989961 19.08643184 8.17989961 8.17989961 0 13.63316573-2.72663349 19.08643271-8.17989961 10.9065331-10.9065331 10.9065331-27.26633232 0-38.17286454l-62.71256338-62.71256426z m-119.97186152 8.17990049c-51.80603115 0-92.70552921-40.89949805-92.7055292-92.7055292s40.89949805-92.70552921 92.7055292-92.7055292 92.70552921 40.89949805 92.7055292 92.7055292-40.89949805 92.70552921-92.7055292 92.7055292z" fill="#8a8a8a" ></path></symbol><symbol id="iconxinzengyonghushu" viewBox="0 0 1024 1024"><path d="M932.65217422 757.96273321h-111.80124229V648.95652177c0-8.38509346-5.59006172-16.77018604-11.18012432-19.56521776s-13.97515518-8.38509346-22.36024863-8.38509258c-13.97515518 0-27.95031035 13.97515518-27.95031035 27.95031035v109.00621141H650.35403721c-16.77018604 2.79503086-30.74534122 16.77018604-27.95031036 33.54037209 0 13.97515518 13.97515518 27.95031035 27.95031036 27.95031123h109.00621142V928.45962705c-2.79503086 16.77018604 11.18012432 30.74534122 27.95031035 33.54037295h2.79503085c16.77018604 0 27.95031035-11.18012432 30.7453421-27.95031036v-114.59627313H929.85714247c8.38509346 0 16.77018604-5.59006172 19.56521779-11.18012432s8.38509346-13.97515518 8.38509345-22.36024864c0-13.97515518-11.18012432-25.15527949-25.15527949-27.95031034zM672.71428583 648.95652177c8.38509346 0 16.77018604-5.59006172 19.5652169-11.1801243 11.18012432-13.97515518 8.38509346-33.54037295-2.79503086-41.92546554-33.54037295-27.95031035-69.87577675-47.51552813-109.00621142-64.28571416 16.77018604-11.18012432 33.54037295-22.36024864 47.51552812-36.33540381 97.82608711-97.82608711 97.82608711-259.93788838 0-357.76397549C580.47826045 89.95031036 516.19254629 62 449.11180127 62c-67.08074502 0-131.36646006 27.95031035-178.88198731 75.46583847s-75.46583847 111.80124229-75.46583847 178.88198731 25.15527949 131.36646006 75.46583847 178.88198818c13.97515518 13.97515518 30.74534122 25.15527949 47.51552726 36.33540381-5.59006172 2.79503086-11.18012432 5.59006172-19.5652169 8.38509258-47.51552813 19.56521777-86.64596279 50.31055898-122.98136661 86.6459628-36.33540381 36.33540381-64.28571415 78.26086933-81.0559002 125.77639745C74.57763974 802.68322959 63.39751543 852.99378857 63.39751543 908.89441017v22.36024862c0 16.77018604 13.97515518 27.95031035 30.7453421 27.95031035h2.79503085c16.77018604 0 30.74534122-16.77018604 27.95031035-33.54037295v-19.56521689c0-44.72049727 8.38509346-89.44099365 25.1552795-131.36646006 16.77018604-39.13043467 39.13043467-75.46583847 69.87577675-109.00621143 58.69565244-61.4906833 142.54658349-97.82608711 229.19254629-97.82608711 36.33540381 0 72.67080761 5.59006172 109.00621142 19.56521777 33.54037295 13.97515518 64.28571415 30.74534122 92.23602452 53.10558985 5.59006172 5.59006172 13.97515518 8.38509346 22.36024864 8.38509345zM641.96894375 316.34782578c0 50.31055898-19.56521777 100.62111797-55.9006207 136.95652178-36.33540381 36.33540381-83.85093193 55.9006207-134.16149092 55.90062158h-8.38509258C340.10558983 506.40993828 259.04968964 419.76397549 259.04968964 316.34782578c0-50.31055898 19.56521777-100.62111797 55.90062071-136.95652177 36.33540381-36.33540381 83.85093193-55.9006207 136.95652178-55.90062071 50.31055898 0 100.62111797 19.56521777 136.95652178 55.90062071 33.54037295 36.33540381 53.10558985 83.85093193 53.10558984 136.95652177z m50.31055898 321.42857168z" fill="#8a8a8a" ></path></symbol><symbol id="iconxinzengguanzhuyonghu" viewBox="0 0 1024 1024"><path d="M715.77601191 630.71165674c11.04294463-13.80368057 8.28220869-33.12883477-2.76073594-41.41104346-33.12883477-27.60736201-69.01840459-46.93251533-107.66871123-63.49693271 16.56441738-11.04294463 33.12883477-22.08588926 46.93251533-35.88956983 46.93251533-46.93251533 74.53987734-110.42944805 74.53987735-176.6871167 0-66.25766865-24.84662607-129.75460137-74.53987735-176.6871167C555.6533126 39.91411075 395.53061328 39.91411075 298.90484668 136.53987734c-46.93251533 46.93251533-74.53987734 110.42944805-74.53987735 176.6871167 0 66.25766865 24.84662607 129.75460137 74.53987735 176.68711671 13.80368057 13.80368057 30.36809795 24.84662607 46.93251533 35.88956982-5.52147276 2.76073594-11.04294463 5.52147276-19.32515332 8.28220868-46.93251533 19.32515332-85.58282198 49.69325127-121.47239267 85.58282198-35.8895707 35.8895707-63.49693271 77.30061328-80.0613501 124.2331295C102.89257666 793.59509199 91.84963203 843.28834326 91.84963203 898.50306729v22.08589013c0 16.56441738 13.80368057 27.60736201 30.36809795 27.60736201h2.76073594c16.56441738 0 30.36809795-16.56441738 27.60736201-33.12883476v-19.32515332c0-44.1717794 8.28220869-88.34355791 24.84662608-129.75460137 16.56441738-38.65030663 38.65030663-74.53987734 69.01840458-107.66871123 57.97545997-60.73619589 140.79754599-96.6257666 226.38036797-96.62576748 35.8895707 0 71.77914141 5.52147276 107.66871211 19.32515332 33.12883477 13.80368057 63.49693271 30.36809795 91.10429473 52.45398809 13.80368057 11.04294463 33.12883477 11.04294463 44.17177853-2.76073594z m-248.46625722-129.75460137C365.16251533 498.19631943 285.10116523 412.61349658 285.10116523 310.4662581c0-49.69325127 19.32515332-99.38650342 55.21472402-135.27607412 35.8895707-35.8895707 82.82208604-55.21472402 135.27607413-55.21472401 104.90797529 0 190.49079727 85.58282198 190.49079727 190.49079813 0 49.69325127-19.32515332 99.38650342-55.21472403 135.27607325-35.8895707 35.8895707-82.82208604 55.21472402-132.5153373 55.21472402h-11.04294463z m245.70552129 129.75460137zM870.37723935 680.404908c-30.36809795-13.80368057-66.25766865-11.04294463-93.86503066 5.52147276-27.60736201-16.56441738-63.49693271-19.32515332-96.6257666-5.52147276-46.93251533 22.08588926-69.01840459 74.53987734-55.21472402 124.23312862 16.56441738 82.82208604 138.03681006 154.60122656 138.03680917 154.60122744 2.76073594 2.76073594 8.28220869 2.76073594 13.80368145 2.76073594s8.28220869 0 13.80368057-2.76073594c13.80368057-8.28220869 124.23312862-77.30061328 138.03681006-154.60122744 13.80368057-49.69325127-11.04294463-102.14723935-57.97545997-124.23312862z m-77.30061328 57.97545997c16.56441738-13.80368057 38.65030663-16.56441738 57.97545997-11.04294463 24.84662607 11.04294463 35.8895707 38.65030663 27.60736201 66.25766865-8.28220869 38.65030663-57.97545997 82.82208604-102.14723936 113.19018398-44.1717794-30.36809795-93.86503066-74.53987734-102.14723935-113.19018398-8.28220869-24.84662607 5.52147276-52.45398809 27.60736201-66.25766865 5.52147276-2.76073594 11.04294463-2.76073594 16.56441738-2.76073594 13.80368057 0 30.36809795 5.52147276 41.41104258 16.56441651 8.28220869 2.76073594 22.08588926 2.76073594 33.12883476-2.76073594z" fill="#8a8a8a" ></path></symbol><symbol id="iconzhifujine" viewBox="0 0 1024 1024"><path d="M508.96673984 478.25133769a31.31075391 31.31075391 0 0 1-22.40038037-9.30860243l-137.66278359-142.31708438a30.912525 30.912525 0 0 1 44.65142578-42.78472646l113.02236385 116.73087187 92.09045304-114.88906319a31.08675058 31.08675058 0 1 1 48.35993291 39.07621934l-114.49083339 142.31708438a31.33564365 31.33564365 0 0 1-22.79861016 11.62330839c0.17422558-0.44800752-0.29867168-0.44800752-0.77156807-0.44800751z m171.7362501 16.75050645h-338.2457458a31.16141807 31.16141807 0 1 1 0-62.22327891h338.14618857a31.16141807 31.16141807 0 0 1 0 62.22327891z m39.99712412 114.49083428H303.85392207a31.80854003 31.80854003 0 1 1 0-62.22327891h416.74663476a35.26815498 35.26815498 0 0 1 38.13042569 31.16141807 34.67081162 34.67081162 0 0 1-38.13042569 30.98719248z m-380.80646894-26.03422002z m169.24731943 212.55472178a31.16141807 31.16141807 0 0 1-31.16141806-31.16141807v-300.91177881a31.16141807 31.16141807 0 1 1 62.2232789 0v300.91177881a31.78365117 31.78365117 0 0 1-31.23608555 31.08675058z" fill="#8a8a8a" ></path><path d="M512.22723945 962a449.99875547 449.99875547 0 1 1 233.01373623-834.86218271A30.14095605 30.14095605 0 0 1 714.10444647 178.73336094a389.34350333 389.34350333 0 1 0 119.9913715 113.49526113 30.11606719 30.11606719 0 0 1 49.77862383-33.94902129 445.69290498 445.69290498 0 0 1 78.60044619 254.41854434 450.99432773 450.99432773 0 0 1-450.24764854 449.30185488z" fill="#8a8a8a" ></path></symbol><symbol id="iconyingyee" viewBox="0 0 1024 1024"><path d="M927.39954219 477.38678135a31.07439492 31.07439492 0 0 0-4.05203818 0.84198164 32.33736826 32.33736826 0 0 0-4.05203731-0.84198164H546.61321865V100.94192685c0-0.76304619-0.36836719-1.42084425-0.44730263-2.18389042a21.41791523 21.41791523 0 0 0 0.44730263-2.15757862A34.62650683 34.62650683 0 0 0 511.93408818 62.00026279a449.93408818 449.93408818 0 1 0 449.93408906 449.93408906 34.62650683 34.62650683 0 0 0-34.46863505-34.5475705zM511.93408818 892.77329902A380.68107539 380.68107539 0 0 1 477.38651767 133.04248789v378.89186396a34.62650683 34.62650683 0 0 0 34.62650684 34.62650596h378.89186396A381.12837891 381.12837891 0 0 1 511.93408818 892.77329902zM634.96869628 151.46084199a384.41737002 384.41737002 0 0 1 234.54458878 229.1506418 34.62650683 34.62650683 0 1 0 64.96416738-23.83861289A448.09225313 448.09225313 0 0 0 657.30752949 85.97043565a34.60019414 34.60019414 0 1 0-22.36514502 65.49040636z" fill="#8a8a8a" ></path></symbol><symbol id="iconzhifujianshu" viewBox="0 0 1024 1024"><path d="M164.55884258 391.43234375a26.38828037 26.38828037 0 0 0 31.00622871-21.11062412 314.75940469 314.75940469 0 0 1 623.79255322 59.76945439 347.63920224 347.63920224 0 0 1-5.83181016 61.11525674 26.59938662 26.59938662 0 0 0 20.66202334 31.00622959 20.13425771 20.13425771 0 0 0 5.27765625 0.44860078 26.38828037 26.38828037 0 0 0 26.07162012-21.11062412 381.5481419 381.5481419 0 0 0 7.1776125-71.45946299 366.79709355 366.79709355 0 0 0-224.30038096-338.40330381A355.63485058 355.63485058 0 0 0 505.68013849 62.00105557 368.24844902 368.24844902 0 0 0 144.34542002 360.87471582a25.30636084 25.30636084 0 0 0 20.21342256 30.55762793z" fill="#8a8a8a" ></path><path d="M596.85164667 389.69071807a25.57024365 25.57024365 0 0 0 1e-8-51.14048731h-46.44337324l62.64577705-62.22356455a25.30636084 25.30636084 0 0 0-35.78250762-35.78250762l-67.05262002 66.92067862-65.62765196-66.47207784a25.30636084 25.30636084 0 0 0-35.78250849 35.78250762l62.22356455 62.64577705h-45.07118262a25.57024365 25.57024365 0 1 0 0 51.14048643h60.08611377v19.60649209h-60.08611377a25.57024365 25.57024365 0 0 0 0 51.14048731h60.08611377v53.7001497a25.57024365 25.57024365 0 1 0 51.14048731 0v-54.9667872h60.11250205a25.57024365 25.57024365 0 0 0 0-51.14048643h-60.11250205v-19.60649209l59.66390126 0.4222125zM921.87609277 694.79201182a71.80250977 71.80250977 0 0 0-88.6382332-35.78250762l-175.13901475 62.22356455a48.26416464 48.26416464 0 0 1-15.33159052 2.63882812h-217.65053497a25.57024365 25.57024365 0 1 0 0 51.14048643h218.17830058a100.72406513 100.72406513 0 0 0 31.95620685-5.54153907l175.13901475-62.22356366a21.11062412 21.11062412 0 0 1 26.38828036 11.08307724 20.50369365 20.50369365 0 0 1 0.844425 16.62461631 21.11062412 21.11062412 0 0 1-11.08307812 12.34971562l-317.00240859 146.92994297a95.39363232 95.39363232 0 0 1-55.41538799 7.25677735l-190.89281777-43.46149746v-188.78175616h262.06200878a25.57024365 25.57024365 0 1 0 0-51.14048642h-262.0356205a63.88602627 63.88602627 0 0 0-63.49020206-61.77496377H157.51317148A63.33187237 63.33187237 0 0 0 94.02296943 619.8229083V898.50953427a63.33187237 63.33187237 0 0 0 63.49020205 63.49020206h82.25226915a63.78047315 63.78047315 0 0 0 63.06798955-53.70015059l180.6805538 40.47962168h0.844425a138.6968001 138.6968001 0 0 0 26.38827949 2.63882813 140.67592119 140.67592119 0 0 0 60.08611377-13.64274053l317.02879689-147.00910869a72.51499337 72.51499337 0 0 0 37.9199584-41.32404669 65.97070049 65.97070049 0 0 0-3.90546475-54.65012782zM253.38179287 899.77617178a14.01217646 14.01217646 0 0 1-13.64274053 13.64274052H157.51317148a14.01217646 14.01217646 0 0 1-13.64274053-13.64274053V621.0895458a14.01217646 14.01217646 0 0 1 13.64274053-13.64274053h82.25226915a14.01217646 14.01217646 0 0 1 13.64274052 13.64274053z" fill="#8a8a8a" ></path></symbol><symbol id="iconzhichujine" viewBox="0 0 1024 1024"><path d="M510.28320166 961.92523673a449.30283135 449.30283135 0 0 1 0-898.60566358 33.2696918 33.2696918 0 0 1 2.49211142 66.46462119h-2.49211142a382.19026201 382.19026201 0 1 0 382.19026113 382.19026113 33.04540195 33.04540195 0 0 1 34.54066934-31.94887237 32.39745293 32.39745293 0 0 1 31.94887324 31.94887237 449.50220068 449.50220068 0 0 1-448.67980371 449.95078124z" fill="#8a8a8a" ></path><path d="M644.4834207 480.0255831H374.78708457a33.2696918 33.2696918 0 0 1-2.4921123-66.46462119H644.55818398a33.04540195 33.04540195 0 0 1 31.94887324 34.51574796 31.64981924 31.64981924 0 0 1-32.02363652 31.94887323z m0 130.38728819H374.78708457a33.04540195 33.04540195 0 0 1-31.94887324-34.51574883 32.39745293 32.39745293 0 0 1 31.94887325-31.94887236h269.72125751a33.04540195 33.04540195 0 0 1 31.94887236 34.51574795 32.39745293 32.39745293 0 0 1-31.97379375 31.94887324z" fill="#8a8a8a" ></path><path d="M510.28320166 745.90898838a33.84287753 33.84287753 0 0 1-33.24477129-33.24477129V441.69690342a33.04540195 33.04540195 0 0 1 34.51574794-31.94887236 32.39745293 32.39745293 0 0 1 31.94887325 31.94887236v269.72125752a34.11701015 34.11701015 0 0 1-33.2198499 34.49082744z" fill="#8a8a8a" ></path><path d="M510.28320166 458.36913183a34.88956523 34.88956523 0 0 1-24.29809014-10.21765868L374.78708457 336.95344619a33.51890303 33.51890303 0 1 1 44.85801181-49.84223554l2.49211143 2.49211142 111.19802784 111.19802783a33.96748359 33.96748359 0 0 1 0 47.35012325 34.36622138 34.36622138 0 0 1-23.05203399 10.21765869z" fill="#8a8a8a" ></path><path d="M510.25828028 458.21960528a34.88956523 34.88956523 0 0 1-24.27316875-10.2176587 33.96748359 33.96748359 0 0 1 0-47.35012324l111.19802782-111.19802783a33.94256221 33.94256221 0 0 1 47.35012325 2.49211142 33.31953457 33.31953457 0 0 1 0 44.8580127l-111.19802695 111.19802695a34.36622138 34.36622138 0 0 1-23.07695537 10.21765869z m414.13913437-216.01624923a33.84287753 33.84287753 0 0 0 33.24477129-33.2447704 34.88956523 34.88956523 0 0 0-10.21765782-24.29809015L836.22650029 73.46246768a33.46906114 33.46906114 0 1 0-48.571258 46.02930469l1.27097666 1.27097753 111.19802695 111.19802695a37.38167666 37.38167666 0 0 0 24.29809014 10.31734249z" fill="#8a8a8a" ></path><path d="M814.49528575 353.55091045a34.88956523 34.88956523 0 0 0 24.29809013-10.21765868l111.19802695-111.19802696a33.94256221 33.94256221 0 0 0-2.49211142-47.35012413 33.31953457 33.31953457 0 0 0-44.85801182 0l-111.19802784 111.19802784a33.96748359 33.96748359 0 0 0 0 47.35012325 29.90534151 29.90534151 0 0 0 23.052034 10.21765868z" fill="#8a8a8a" ></path><path d="M919.31350713 242.25319883a33.2696918 33.2696918 0 1 0 2.49211142-66.4646212h-227.52980508a33.04540195 33.04540195 0 0 0-31.94887235 34.51574796A32.39745293 32.39745293 0 0 0 694.27581348 242.25319883z" fill="#8a8a8a" ></path></symbol><symbol id="iconfangwenliang" viewBox="0 0 1024 1024"><path d="M954.72237237 503.50943428C862.53908398 258.49595674 590.84097031 134.77628076 345.82749365 224.53369297 217.25606445 273.05121289 117.79514844 372.51212979 69.27762763 501.0835581l-4.85175146 12.12937998 4.85175146 12.12937999c92.18328838 245.01347666 363.88140205 368.73315352 608.89487872 276.54986513 128.57142832-48.51751992 228.03234521-147.97843682 276.54986602-276.54986513l4.85175146-12.12937998-4.85175146-9.70350381z m-441.50943429 266.84636044c-167.38544443 0-317.78975742-101.88679219-380.86253349-254.71698047C217.25606445 304.58760137 457.41778965 202.7008083 668.46900253 290.03234521c101.88679219 41.23989229 184.36657675 123.71967685 225.60646905 225.60646904-65.49865224 152.83018828-215.90296523 252.29110518-380.8625335 254.71698047z" fill="#8a8a8a" ></path><path d="M513.21293808 348.25336895c-92.18328838 0-164.95956914 75.20215606-164.95956913 164.95956914 0 92.18328838 75.20215606 164.95956914 164.95956913 164.95956826s164.95956914-75.20215606 164.95956827-164.95956826c0-89.75741221-75.20215606-164.95956914-164.95956826-164.95956914z m0 269.2722375c-55.79514844 0-101.88679219-46.09164463-101.88679218-101.88679219s46.09164463-101.88679219 101.88679219-101.88679307 101.88679219 46.09164463 101.88679219 101.88679306-46.09164463 101.88679219-101.88679219 101.88679219z" fill="#8a8a8a" ></path></symbol><symbol id="iconfangkeshu" viewBox="0 0 1024 1024"><path d="M169.91240908 661.92253789a411.20072842 411.20072842 0 0 1 198.75109571-162.39493388l4.00559854-1.49827677a238.19554424 238.19554424 0 0 1-97.47976817-155.23989433 276.3557543 276.3557543 0 0 1-3.60809649-40.48406983 238.95997119 238.95997119 0 0 1 42.80792872-136.64902235A248.19425244 248.19425244 0 0 1 431.31596504 75.9431542a240.85575088 240.85575088 0 0 1 264.00261006 71.30577744 246.42078135 246.42078135 0 0 1 56.23127138 138.60595635 238.65420058 238.65420058 0 0 1-33.63480088 140.16538828 244.92250371 244.92250371 0 0 1-66.41344336 71.91731953 392.12062295 392.12062295 0 0 1 90.44703721 47.18045215 425.54138467 425.54138467 0 0 1 95.27821787 92.80147324 401.23259648 401.23259648 0 0 1 78.64427901 244.00519102 381.66325752 381.66325752 0 0 1-3.0577087 42.80792871 40.45349268 40.45349268 0 0 1-10.82429032 26.14341358 36.96770391 36.96770391 0 0 1-52.28682715 0 35.34711768 35.34711768 0 0 1-10.82429034-26.14341358 378.94189658 378.94189658 0 0 0 0.39750205-91.97589199 321.05946182 321.05946182 0 0 0-46.29371659-128.72955586q-7.00215381-11.40525528-14.82988976-22.22954561a262.44317724 262.44317724 0 0 0-4.31136914-5.87080108c-2.56847607-3.05770958-5.13695127-6.39061172-7.76658164-9.50947558a368.42337685 368.42337685 0 0 0-37.94617089-38.61886728q-4.86175781-4.28079287-9.87640049-8.37812285l-2.35443604-1.89577969c1.2230833 0.97846699-0.7950041-0.70327354-2.32385888-1.86520254l-0.39750206-0.33634776-2.53789891-1.98751113 2.14039687 1.7123168q-10.91602178-8.16408369-22.4130085-15.5331624a323.19985869 323.19985869 0 0 0-134.20285488-49.71835108 376.74034628 376.74034628 0 0 0-88.67356612 0 320.41734346 320.41734346 0 0 0-128.60724726 46.32429375q-11.37467812 7.00215381-22.22954561 14.82988975l-5.87080195 4.31137001c-3.21059443 2.56847607-6.39061172 5.13695127-9.50947559 7.76658077a368.54568545 368.54568545 0 0 0-38.58828925 37.8238623q-4.25021573 4.86175781-8.37812286 9.87640138l-1.86520341 2.32385888c0.97846699-1.2230833-0.70327354 0.7950041-1.86520254 2.32385888l-0.30577061 0.39750206-1.98751113 2.53789893 1.71231768-2.14039688q-8.16408369 10.91602178-15.53316328 22.41300849a323.1387044 323.1387044 0 0 0-49.7183502 134.23343203 378.29977823 378.29977823 0 0 0 0.39750205 91.97589199 36.69250957 36.69250957 0 0 1-10.82429033 26.1434127 36.96770391 36.96770391 0 0 1-52.28682715 0 43.32773848 43.32773848 0 0 1-10.82429033-26.1434127 401.96644717 401.96644717 0 0 1 58.70801601-262.87125732z m603.50005811 13.57622842a8.98966494 8.98966494 0 0 0-1.65116338-2.10981884l1.68173965 2.07924257z m-96.53187833-395.66756514a162.88416739 162.88416739 0 0 0-27.73342264-71.55039463 153.19122891 153.19122891 0 0 0-4.95348839-7.00215381l1.22308331 1.43712334c-0.51981065-0.64211924-1.03962128-1.2230833-1.55943194-1.92635683l-0.30577061-0.45865635a35.10250136 35.10250136 0 0 0-2.62962948-3.05770957 213.64213974 213.64213974 0 0 0-11.52756388-12.53660713q-6.8186918-6.8186918-14.27950195-12.99526436l-0.67269638-0.64211923-0.73384981-0.51980977q-3.88329082-2.87424667-7.9194665-5.56503135a205.14170742 205.14170742 0 0 0-29.01766026-16.05297304 207.46556719 207.46556719 0 0 0-42.53273437-11.68044873 211.65462862 211.65462862 0 0 0-44.91774757 0 207.43499004 207.43499004 0 0 0-42.50215722 11.58871728 205.04997685 205.04997685 0 0 0-29.01766025 16.05297304q-3.54694307 2.38501318-7.00215381 4.95348927l1.40654619-1.22308331a35.46942627 35.46942627 0 0 1-1.92635684 1.55943106l-0.42807919 0.30577149a37.60982315 37.60982315 0 0 0-3.05770958 2.62962949 213.64213974 213.64213974 0 0 0-12.53660712 11.52756387q-6.8186918 6.84926894-12.99526436 14.27950195l-0.64211836 0.6726955a5.16752842 5.16752842 0 0 0-0.51981064 0.70327354 194.89838203 194.89838203 0 0 0-5.56503135 7.91946651 205.69209521 205.69209521 0 0 0-16.05297305 29.01766024 207.92422354 207.92422354 0 0 0-11.68044873 42.59388868 199.91302559 199.91302559 0 0 0 0 44.82601611 207.92422354 207.92422354 0 0 0 11.68044873 42.59388867 204.86651396 204.86651396 0 0 0 16.05297305 29.01766026q2.38501318 3.54694307 4.95348925 7.00215381l-1.22308329-1.43712334 1.55943105 1.92635683 0.30577148 0.42807921a37.97674805 37.97674805 0 0 0 2.6296295 3.05770868q5.50387617 6.51292031 11.52756386 12.53660801 6.84926894 6.8186918 14.27950196 12.99526347l0.70327265 0.64211925 0.70327354 0.51981064c2.59905323 1.92635683 5.22868271 3.79155938 7.91946651 5.56503047a204.86651396 204.86651396 0 0 0 29.01766024 16.05297305 207.46556719 207.46556719 0 0 0 42.53273439 11.68044961 209.97288809 209.97288809 0 0 0 44.91774755 0 207.43499004 207.43499004 0 0 0 42.53273438-11.68044961 205.08055401 205.08055401 0 0 0 29.01765937-16.05297305q3.54694307-2.38501318 7.00215469-4.95348838l-1.43712334 1.2230833c0.64211924-0.51981065 1.2230833-1.03962128 1.92635683-1.55943193l0.4280792-0.30577061a38.25194151 38.25194151 0 0 0 3.05770869-2.62962949c4.34194717-3.69982793 8.53100859-7.52196445 12.53660802-11.52756387q6.8186918-6.8186918 12.99526347-14.27950195l0.64211924-0.70327266 0.51981065-0.70327353q2.90482383-3.88329082 5.56503047-7.9194665a204.86651396 204.86651396 0 0 0 16.05297304-29.01766026 207.25152715 207.25152715 0 0 0 11.68044961-42.56331152 211.50174287 211.50174287 0 0 0 0-44.88717041zM310.13895166 615.53708984a8.89793349 8.89793349 0 0 0-2.10981973 1.62058623l2.17097315-1.68174052z" fill="#8a8a8a" ></path></symbol><symbol id="iconjiaoyijine" viewBox="0 0 1024 1024"><path d="M858.56372773 226.37125742l26.94610723 5.38922198h5.38922197c5.38922197 0 10.77844307-2.69461055 16.16766505-5.38922198 8.08383252-5.38922197 10.77844307-10.77844307 13.4730536-21.55688613v-2.69461054c2.69461055-8.08383252 0-16.16766503-5.38922196-24.25149757-5.38922197-8.08383252-10.77844307-10.77844307-21.55688614-13.47305361L764.25235068 140.14371289c-16.16766503-2.69461055-35.02993974 8.08383252-37.72455117 24.25149668v2.69461055c-2.69461055 8.08383252 0 16.16766503 5.38922109 24.25149756 5.38922197 5.38922197 10.77844307 10.77844307 18.86227559 13.47305361 0 2.69461055 2.69461055 2.69461055 2.69461142 5.3892211 78.14371289 64.67065839 129.34131768 153.59281435 142.81437042 253.29341337 18.86227559 156.2874249-56.58682676 307.18562871-194.0119752 385.32934161-78.14371289 45.80838281-169.7604794 61.97604786-258.68263535 45.80838281-16.16766503-2.69461055-29.64071865 8.08383252-35.02993975 24.25149755-2.69461055 16.16766503 8.08383252 32.3353292 24.25149668 35.02993975 26.9461081 5.38922197 53.89221533 8.08383252 78.14371289 8.08383252 78.14371289 0 153.59281435-21.55688613 220.9580833-59.28143731 48.50299424-26.9461081 91.61676651-64.67065839 126.64670713-107.78443066 140.11976075-169.7604794 132.03592823-406.88622773 0-568.56287461zM246.88708086 794.93413203h-5.38922198c-26.9461081-24.25149668-48.50299424-53.89221533-67.36526894-86.22754541-37.72455117-64.67065839-56.58682676-140.11976075-51.19760478-215.5688622C133.71342823 277.56886221 316.94696123 113.19760479 532.51582344 126.6706584c16.16766503 0 29.64071865-13.47305362 29.64071865-29.64071866 0-16.16766503-13.47305362-29.64071865-29.64071865-29.64071776-86.22754453-5.38922197-172.45508994 16.16766503-247.90419141 59.28143642C74.43199092 245.233533-1.01711055 520.08383252 122.93498516 735.65269472l24.25149668 40.41916172-29.64071866-5.38922196c-8.08383252-2.69461055-18.86227559 0-24.25149667 5.38922196-8.08383252 5.38922197-10.77844307 10.77844307-13.47305362 21.55688614v2.69461055c-2.69461055 16.16766503 8.08383252 35.02993974 24.25149669 37.72455117l129.34131766 24.25149667h5.3892211c16.16766503 0 26.9461081-10.77844307 32.33532919-26.94610722v-2.69461143c2.69461055-8.08383252 0-16.16766503-5.38922109-24.25149667-2.69461055-8.08383252-10.77844307-10.77844307-18.86227558-13.47305362z" fill="#8a8a8a" ></path><path d="M481.31821865 695.233533c0 16.16766503 13.47305362 32.3353292 29.64071865 32.33532921h10.77844307c16.16766503 0 29.64071865-13.47305362 29.64071865-32.3353292V627.86826318h102.39520957c16.16766503 0 29.64071865-13.47305362 29.64071865-32.3353292v-5.38922109-2.69461143c0-16.16766503-13.47305362-29.64071865-32.33533007-29.64071865H548.6834876V493.13772441h102.39520957c16.16766503 0 29.64071865-13.47305362 29.64071865-32.3353292v-5.38922196-2.69461055c0-16.16766503-13.47305362-29.64071865-32.3353292-29.64071866h-110.47904209l83.53293487-78.14371201c13.47305362-13.47305362 13.47305362-32.3353292 2.69461054-45.80838369-13.47305362-13.47305362-35.02993974-16.16766503-48.50299424-2.69461055L513.65354785 358.40718565l-64.6706584-67.36526983c-10.77844307-13.47305362-32.3353292-13.47305362-45.80838369-2.69461054-13.47305362 13.47305362-16.16766503 35.02993974-2.69461055 48.50299423l80.83832344 86.22754453h-107.78443154-2.69461055c-16.16766503 0-29.64071865 13.47305362-29.64071865 32.3353292V463.49700576c0 16.16766503 13.47305362 29.64071865 32.3353292 29.64071865h107.78443154v64.6706584h-107.78443154-2.69461055c-16.16766503 0-29.64071865 13.47305362-29.64071865 32.33533008V598.22754453c0 16.16766503 13.47305362 29.64071865 32.3353292 29.64071865h107.78443154v67.36526982z" fill="#8a8a8a" ></path></symbol><symbol id="iconyuezhifujine" viewBox="0 0 1024 1024"><path d="M875.56707354 490.04878028c-41.15853633-54.87804844-90.54878027-98.78048789-145.42682959-134.45121973l19.2073166-19.2073166c2.74390224-2.74390224 5.48780449-8.23170761 8.23170762-10.97560987 43.90243945-57.62195156 32.92682959-139.93902422-24.69512198-183.84146367-30.18292646-21.95121972-68.59756055-32.92682959-107.01219463-32.92682871h-21.95121972c-2.74390224 0-2.74390224 0-5.48780538-2.74390225C576.48170762 81.20731748 546.29878027 64.74390224 513.37195156 62h-2.74390312c-32.92682959 5.48780449-63.10975606 19.20731748-85.0609749 43.90243945-2.74390224 2.74390224-2.74390224 2.74390224-5.48780537 2.74390225H395.38414619c-38.41463408 0-76.82926817 10.97560987-109.75609775 35.67073184-32.92682959 27.43902422-52.13414619 68.59756055-52.1341462 109.75609687 2.74390224 41.15853633 24.69512197 82.31707354 57.62195157 107.01219551-54.87804844 35.67073183-104.26829238 79.57317041-142.68292735 134.45121973-52.13414619 71.34146367-79.57317041 153.65853633-82.31707265 241.46341435v19.20731748c0 112.5 93.29268252 205.79268252 205.79268252 205.79268252H776.78658565c101.52439013 0 183.84146367-85.06097578 183.84146279-186.58536592v-43.90243858c-2.74390224-87.80487803-32.92682959-172.86585381-85.0609749-241.46341523zM365.20121972 394.01219551l2.74390225-2.74390312c8.23170761-2.74390224 13.71951211-10.97560987 16.46341436-19.20731661 2.74390224-8.23170761 2.74390224-16.46341435-2.74390225-24.69512197-2.74390224-5.48780449-5.48780449-10.97560987-10.97560986-13.71951211l-2.74390225-2.74390225C335.01829238 314.43902422 299.34756055 281.51219551 299.34756055 251.32926816c0-21.95121972 8.23170761-41.15853633 24.69512197-54.87804843 19.20731748-13.71951211 43.90243945-21.95121972 68.59756143-21.95121973h5.48780449c8.23170761 0 16.46341435 0 24.69512197 2.74390224 10.97560987 2.74390224 19.20731748 0 27.4390251-5.48780448 5.48780449-5.48780449 10.97560987-8.23170761 19.2073166-16.46341524 10.97560987-10.97560987 30.18292646-27.43902422 38.41463408-27.43902422 16.46341435 2.74390224 30.18292646 13.71951211 43.90243946 24.69512198 5.48780449 8.23170761 10.97560987 13.71951211 16.46341435 19.20731748h2.74390224c5.48780449 5.48780449 13.71951211 5.48780449 21.95121974 5.48780448h2.74390224c5.48780449-2.74390224 13.71951211-2.74390224 21.95121973-2.74390224 24.69512197 0 52.13414619 5.48780449 71.34146367 19.20731748 16.46341435 13.71951211 27.43902422 32.92682959 24.69512197 54.87804844 0 8.23170761-5.48780449 41.15853633-65.85365918 82.31707353l-2.74390225 2.74390225c-5.48780449 2.74390224-8.23170761 8.23170761-10.97560986 13.71951211-2.74390224 8.23170761-5.48780449 16.46341435-2.74390225 24.69512197 2.74390224 8.23170761 8.23170761 13.71951211 16.46341436 19.2073166l2.74390313 2.74390313c65.8536583 32.92682959 123.47560987 79.57317041 167.37804844 139.93902421 43.90243945 57.62195156 68.59756055 128.96341435 68.59756054 200.30487804V775.41463408c0 65.8536583-52.13414619 117.98780449-117.98780449 117.98780537H249.95731748c-65.8536583 0-117.98780449-52.13414619-117.98780537-117.98780537v-38.41463408c0-74.08536592 24.69512197-142.68292646 68.59756143-200.30487802 41.15853633-60.36585381 98.78048789-109.75609776 164.63414618-142.68292648z" fill="#8a8a8a" ></path><path d="M406.35975606 679.37804844h76.82926816v19.20731748h-76.82926816c-19.20731748 0-35.67073183 16.46341435-35.67073184 35.67073184 0 19.20731748 16.46341435 35.67073183 35.67073184 35.67073183h76.82926816v57.62195068c0 16.46341435 13.71951211 32.92682959 32.92682959 32.9268296 16.46341435 0 32.92682959-13.71951211 32.92682871-32.9268296v-57.62195068h76.82926904c19.20731748 0 35.67073183-16.46341435 35.67073096-35.67073183s-16.46341435-35.67073183-35.67073096-35.67073184h-76.82926904v-19.20731748h79.57317129c19.20731748 0 32.92682959-13.71951211 35.67073184-32.92682871 0-19.20731748-13.71951211-35.67073183-32.92682959-35.67073184h-60.36585382l57.62195157-96.03658565v-2.74390224c8.23170761-13.71951211 2.74390224-32.92682959-13.71951211-41.15853633-8.23170761-5.48780449-16.46341435-5.48780449-24.69512197-2.74390312-8.23170761 2.74390224-13.71951211 8.23170761-19.20731749 13.71951299l-52.13414618 93.29268251-54.87804844-96.03658564c-5.48780449-8.23170761-10.97560987-10.97560987-19.20731749-13.71951211-8.23170761-2.74390224-16.46341435 0-24.69512196 2.74390225-13.71951211 8.23170761-19.20731748 27.43902422-10.97560987 43.90243945l57.62195157 96.03658565h-57.62195157c-19.20731748 0-35.67073183 16.46341435-35.67073184 35.67073183s13.71951211 35.67073183 32.9268296 35.67073096z" fill="#8a8a8a" ></path></symbol><symbol id="iconzhifuyongjinjine" viewBox="0 0 1024 1024"><path d="M190.50547168 158.42457442a32.17883378 32.17883378 0 0 1 32.12287031-32.17883379h578.40753692a32.20681465 32.20681465 0 0 1 32.23479638 32.17883379v69.75811406L515.79150576 286.52431308 190.50547168 228.18268847zM222.93613935 62A96.59246396 96.59246396 0 0 0 126.4276206 158.42457442v96.45255527a32.20681465 32.20681465 0 0 0 26.38664385 31.6471834l357.49284873 64.3576667a36.06827519 36.06827519 0 0 0 5.59631953 0.44770518 38.16689502 38.16689502 0 0 0 5.87613428-0.44770518l349.76992939-64.3576667a32.20681465 32.20681465 0 0 0 26.30269864-31.6471834V158.42457442A96.56448222 96.56448222 0 0 0 801.37165801 62z" fill="#8a8a8a" ></path><path d="M833.49452832 383.53650049v482.0389251a32.09488857 32.09488857 0 0 1-32.23479726 32.06690771H222.65632373a32.01094423 32.01094423 0 0 1-32.12287031-32.06690771V383.53650049a32.17883378 32.17883378 0 1 0-64.3576667 0v481.89901729a96.73237178 96.73237178 0 0 0 96.50851875 96.56448222h578.57542558a96.64842656 96.64842656 0 0 0 96.42457442-96.39659268V383.53650049a32.09488857 32.09488857 0 1 0-64.18977715 0" fill="#8a8a8a" ></path><path d="M587.98401963 456.59644297l-76.55764219 74.06728067-73.64755635-73.56361202a32.12287031 32.12287031 0 0 0-45.52605439 45.35816484l74.45902324 73.95535372h-51.40218955a32.17883378 32.17883378 0 1 0 0 64.35766669h64.35766758v32.09488858h-64.35766758a32.26277812 32.26277812 0 0 0 0 64.52555713h64.35766758v64.58151972a32.17883378 32.17883378 0 1 0 64.3576667 0v-64.58151972h64.35766668a32.26277812 32.26277812 0 0 0 0-64.52555713h-64.35766668v-32.29075987h64.35766668a32.09488857 32.09488857 0 1 0 0-64.18977714h-52.10172859l76.33379003-73.75948242a32.01094423 32.01094423 0 0 0-13.45914756-53.78062412 32.71048417 32.71048417 0 0 0-8.78622012-1.2032086 31.81507295 31.81507295 0 0 0-22.38527548 9.03805488" fill="#8a8a8a" ></path></symbol><symbol id="iconxianxiashouyinjine" viewBox="0 0 1024 1024"><path d="M254.85714248 961.94424482H62V447.65853067h192.85714248z m-128.57142832-64.36934736h64.36934736V511.91636768H126.28571416z m0 0" fill="#8a8a8a" ></path><path d="M574.50154854 961.97212285H222.79791816a32.1986127 32.1986127 0 1 1 0-64.36934736H564.91165917l319.39350734-260.51604521a89.98884932 89.98884932 0 0 0-50.7093293-28.79754698c-39.47466269 0-134.73237481 44.85503672-211.28422763 80.84500049-21.27059825 9.89654326-43.26601377 20.35063828-63.83967276 29.71750782a152.23949912 152.23949912 0 0 1-87.50774443 11.73646318l-156.78354551-25.31284805a32.1986127 32.1986127 0 0 1 10.25895146-63.44938653l156.78354639 25.31284805a88.14892852 88.14892852 0 0 0 50.65357412-6.77425342c20.18337276-9.14384795 41.00792959-18.95675888 63.03122315-29.3272207 95.06256943-44.77140352 184.8562752-87.033825 238.66001718-87.033825a131.61008584 131.61008584 0 0 1 81.87647168 34.9863706 291.68318672 291.68318672 0 0 1 39.02862041 39.61405108 34.15004297 34.15004297 0 0 1-4.96220976 48.11671407l-351.56424287 286.86036445a37.16082246 37.16082246 0 0 1-23.50080528 8.36327548z m-17.11683809-58.20840088z m351.56424287-286.86036445z m0 0" fill="#8a8a8a" ></path><path d="M626.27022705 669.28534297L311.56015362 512.02787715H222.71428584v-64.36934649h103.98339755l328.1191919 164.08747354z m-79.59050947-168.1854794v-48.64638779h-58.0690125c-12.54491367 0-18.84524854-5.7427831-18.84524854-17.33985878 1.03147031-9.42262383 7.41543838-15.16540693 18.84524854-17.3398588h58.0690125v-26.67885029h-58.0690125c-12.54491367 0-18.84524854-5.7427831-18.84524854-17.33985879 1.03147031-9.42262383 7.41543838-15.16540693 18.84524854-17.33985879h32.95130713l-50.17965557-70.61392617a17.33985878 17.33985878 0 0 1-6.30033487-17.33985879 29.49448623 29.49448623 0 0 1 29.71750782-29.71750781 35.23726934 35.23726934 0 0 1 23.55656045 12.54491455l58.0690125 83.18671787 58.0690125-83.18671787a29.3272207 29.3272207 0 0 1 53.38557774 17.33985879 23.33353974 23.33353974 0 0 1-6.30033487 17.33985879l-50.17965557 70.61392617h32.95130714a21.80027286 21.80027286 0 0 1 18.84524853 17.33985879 16.92169453 16.92169453 0 0 1-18.84524853 17.33985879h-58.0690125v26.67885029h58.0690125a21.80027286 21.80027286 0 0 1 18.84524853 17.33985879 16.92169453 16.92169453 0 0 1-18.84524853 17.33985879h-58.0690125v48.6463878a25.954033 25.954033 0 0 1-29.71750694 26.67885029q-29.71750693 0-29.71750694-26.67885029z m0 0" fill="#8a8a8a" ></path><path d="M833.42857168 383.40069365a256.47379541 256.47379541 0 0 1-87.2568457 192.85714336h87.31260087a321.42857168 321.42857168 0 1 0-578.62718437-192.85714336 325.1084124 325.1084124 0 0 0 6.38396807 64.36934737h66.04200175a257.17073467 257.17073467 0 1 1 506.17333653-64.36934737z m0 0" fill="#8a8a8a" ></path></symbol></svg>',m=(m=document.getElementsByTagName("script"))[m.length-1].getAttribute("data-injectcss");if(m&&!c.__iconfont__svg__cssinject__){c.__iconfont__svg__cssinject__=!0;try{document.write("<style>.svgfont {display: inline-block;width: 1em;height: 1em;fill: currentColor;vertical-align: -0.1em;font-size:16px;}</style>")}catch(c){console&&console.log(c)}}function v(){i||(i=!0,a())}h=function(){var c,h,l;(l=document.createElement("div")).innerHTML=t,t=null,(h=l.getElementsByTagName("svg")[0])&&(h.setAttribute("aria-hidden","true"),h.style.position="absolute",h.style.width=0,h.style.height=0,h.style.overflow="hidden",c=h,(l=document.body).firstChild?(h=l.firstChild).parentNode.insertBefore(c,h):l.appendChild(c))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(h,0):(l=function(){document.removeEventListener("DOMContentLoaded",l,!1),h()},document.addEventListener("DOMContentLoaded",l,!1)):document.attachEvent&&(a=h,o=c.document,i=!1,(s=function(){try{o.documentElement.doScroll("left")}catch(c){return void setTimeout(s,50)}v()})(),o.onreadystatechange=function(){"complete"==o.readyState&&(o.onreadystatechange=null,v())})}(window);
\ No newline at end of file
diff --git a/src/assets/iconfont/iconfont.json b/src/assets/iconfont/iconfont.json
new file mode 100644
index 0000000..fb1858e
--- /dev/null
+++ b/src/assets/iconfont/iconfont.json
@@ -0,0 +1,1619 @@
+{
+ "id": "2326639",
+ "name": "JAVA 鍚庡彴鍥炬爣",
+ "font_family": "iconfont",
+ "css_prefix_text": "icon",
+ "description": "",
+ "glyphs": [
+ {
+ "icon_id": "22329862",
+ "name": "drag2",
+ "font_class": "drag2",
+ "unicode": "e6ac",
+ "unicode_decimal": 59052
+ },
+ {
+ "icon_id": "15811115",
+ "name": "line-add commodity",
+ "font_class": "line-addcommodity",
+ "unicode": "e65c",
+ "unicode_decimal": 58972
+ },
+ {
+ "icon_id": "15811123",
+ "name": "line-achievement",
+ "font_class": "line-achievement",
+ "unicode": "e65d",
+ "unicode_decimal": 58973
+ },
+ {
+ "icon_id": "15811124",
+ "name": "line-check",
+ "font_class": "line-check",
+ "unicode": "e65e",
+ "unicode_decimal": 58974
+ },
+ {
+ "icon_id": "15811127",
+ "name": "line-coin",
+ "font_class": "line-coin",
+ "unicode": "e65f",
+ "unicode_decimal": 58975
+ },
+ {
+ "icon_id": "15811129",
+ "name": "line-applets",
+ "font_class": "line-applets",
+ "unicode": "e660",
+ "unicode_decimal": 58976
+ },
+ {
+ "icon_id": "15811132",
+ "name": "line-company",
+ "font_class": "line-company",
+ "unicode": "e661",
+ "unicode_decimal": 58977
+ },
+ {
+ "icon_id": "15811134",
+ "name": "line-an crown",
+ "font_class": "line-ancrown",
+ "unicode": "e662",
+ "unicode_decimal": 58978
+ },
+ {
+ "icon_id": "15811171",
+ "name": "line-label",
+ "font_class": "line-label",
+ "unicode": "e665",
+ "unicode_decimal": 58981
+ },
+ {
+ "icon_id": "15811172",
+ "name": "line-order",
+ "font_class": "line-order",
+ "unicode": "e667",
+ "unicode_decimal": 58983
+ },
+ {
+ "icon_id": "15811180",
+ "name": "line-purchase",
+ "font_class": "line-purchase",
+ "unicode": "e669",
+ "unicode_decimal": 58985
+ },
+ {
+ "icon_id": "15811190",
+ "name": "line-service",
+ "font_class": "line-service",
+ "unicode": "e66e",
+ "unicode_decimal": 58990
+ },
+ {
+ "icon_id": "15811193",
+ "name": "line-shop",
+ "font_class": "line-shop",
+ "unicode": "e66f",
+ "unicode_decimal": 58991
+ },
+ {
+ "icon_id": "15811195",
+ "name": "line-system",
+ "font_class": "line-system",
+ "unicode": "e670",
+ "unicode_decimal": 58992
+ },
+ {
+ "icon_id": "15811197",
+ "name": "line-shipment",
+ "font_class": "line-shipment",
+ "unicode": "e671",
+ "unicode_decimal": 58993
+ },
+ {
+ "icon_id": "15811204",
+ "name": "line-team",
+ "font_class": "line-team",
+ "unicode": "e672",
+ "unicode_decimal": 58994
+ },
+ {
+ "icon_id": "15811208",
+ "name": "line-statistics",
+ "font_class": "line-statistics",
+ "unicode": "e673",
+ "unicode_decimal": 58995
+ },
+ {
+ "icon_id": "15811211",
+ "name": "line-wallet",
+ "font_class": "line-wallet",
+ "unicode": "e674",
+ "unicode_decimal": 58996
+ },
+ {
+ "icon_id": "15811212",
+ "name": "line-work set",
+ "font_class": "line-workset",
+ "unicode": "e675",
+ "unicode_decimal": 58997
+ },
+ {
+ "icon_id": "16440900",
+ "name": "line-organizational",
+ "font_class": "line-organizational",
+ "unicode": "e6a2",
+ "unicode_decimal": 59042
+ },
+ {
+ "icon_id": "16440909",
+ "name": "line-shopping cart",
+ "font_class": "line-shoppingcart",
+ "unicode": "e6a9",
+ "unicode_decimal": 59049
+ },
+ {
+ "icon_id": "16440911",
+ "name": "line-purchase",
+ "font_class": "line-purchase1",
+ "unicode": "e6a5",
+ "unicode_decimal": 59045
+ },
+ {
+ "icon_id": "16440916",
+ "name": "line-template",
+ "font_class": "line-template",
+ "unicode": "e6ab",
+ "unicode_decimal": 59051
+ },
+ {
+ "icon_id": "9457016",
+ "name": "md-heart-empty",
+ "font_class": "md-heart-empty",
+ "unicode": "e75f",
+ "unicode_decimal": 59231
+ },
+ {
+ "icon_id": "9457185",
+ "name": "ios-remove-circle-outline",
+ "font_class": "ios-remove-circle-outline",
+ "unicode": "e760",
+ "unicode_decimal": 59232
+ },
+ {
+ "icon_id": "9457190",
+ "name": "ios-notifications-outline",
+ "font_class": "ios-notifications-outline",
+ "unicode": "e761",
+ "unicode_decimal": 59233
+ },
+ {
+ "icon_id": "9457206",
+ "name": "ios-resize",
+ "font_class": "ios-resize",
+ "unicode": "e762",
+ "unicode_decimal": 59234
+ },
+ {
+ "icon_id": "9457207",
+ "name": "ios-shuffle",
+ "font_class": "ios-shuffle",
+ "unicode": "e763",
+ "unicode_decimal": 59235
+ },
+ {
+ "icon_id": "9457211",
+ "name": "ios-return-left",
+ "font_class": "ios-return-left",
+ "unicode": "e764",
+ "unicode_decimal": 59236
+ },
+ {
+ "icon_id": "9457219",
+ "name": "ios-swap",
+ "font_class": "ios-swap",
+ "unicode": "e765",
+ "unicode_decimal": 59237
+ },
+ {
+ "icon_id": "9457226",
+ "name": "ios-search",
+ "font_class": "ios-search",
+ "unicode": "e766",
+ "unicode_decimal": 59238
+ },
+ {
+ "icon_id": "9457231",
+ "name": "ios-repeat",
+ "font_class": "ios-repeat",
+ "unicode": "e767",
+ "unicode_decimal": 59239
+ },
+ {
+ "icon_id": "9457236",
+ "name": "ios-qr-scanner",
+ "font_class": "ios-qr-scanner",
+ "unicode": "e768",
+ "unicode_decimal": 59240
+ },
+ {
+ "icon_id": "9457240",
+ "name": "ios-trending-up",
+ "font_class": "ios-trending-up",
+ "unicode": "e769",
+ "unicode_decimal": 59241
+ },
+ {
+ "icon_id": "9457247",
+ "name": "ios-refresh",
+ "font_class": "ios-refresh",
+ "unicode": "e76a",
+ "unicode_decimal": 59242
+ },
+ {
+ "icon_id": "9457458",
+ "name": "ios-crop",
+ "font_class": "ios-crop",
+ "unicode": "e76b",
+ "unicode_decimal": 59243
+ },
+ {
+ "icon_id": "9457474",
+ "name": "ios-female",
+ "font_class": "ios-female",
+ "unicode": "e76c",
+ "unicode_decimal": 59244
+ },
+ {
+ "icon_id": "9457548",
+ "name": "ios-male",
+ "font_class": "ios-male",
+ "unicode": "e76d",
+ "unicode_decimal": 59245
+ },
+ {
+ "icon_id": "9456861",
+ "name": "md-wallet",
+ "font_class": "md-wallet",
+ "unicode": "e6e8",
+ "unicode_decimal": 59112
+ },
+ {
+ "icon_id": "9456864",
+ "name": "md-train",
+ "font_class": "md-train",
+ "unicode": "e6e9",
+ "unicode_decimal": 59113
+ },
+ {
+ "icon_id": "9456959",
+ "name": "md-bookmarks",
+ "font_class": "md-bookmarks",
+ "unicode": "e6ea",
+ "unicode_decimal": 59114
+ },
+ {
+ "icon_id": "9456960",
+ "name": "md-basket",
+ "font_class": "md-basket",
+ "unicode": "e6eb",
+ "unicode_decimal": 59115
+ },
+ {
+ "icon_id": "9456964",
+ "name": "md-build",
+ "font_class": "md-build",
+ "unicode": "e6ec",
+ "unicode_decimal": 59116
+ },
+ {
+ "icon_id": "9456967",
+ "name": "md-boat",
+ "font_class": "md-boat",
+ "unicode": "e6ed",
+ "unicode_decimal": 59117
+ },
+ {
+ "icon_id": "9456969",
+ "name": "md-chatbubbles",
+ "font_class": "md-chatbubbles",
+ "unicode": "e6ee",
+ "unicode_decimal": 59118
+ },
+ {
+ "icon_id": "9456988",
+ "name": "md-compass",
+ "font_class": "md-compass",
+ "unicode": "e6ef",
+ "unicode_decimal": 59119
+ },
+ {
+ "icon_id": "9456991",
+ "name": "md-bowtie",
+ "font_class": "md-bowtie",
+ "unicode": "e6f0",
+ "unicode_decimal": 59120
+ },
+ {
+ "icon_id": "9456992",
+ "name": "md-camera",
+ "font_class": "md-camera",
+ "unicode": "e6f1",
+ "unicode_decimal": 59121
+ },
+ {
+ "icon_id": "9456993",
+ "name": "md-cloudy",
+ "font_class": "md-cloudy",
+ "unicode": "e6f2",
+ "unicode_decimal": 59122
+ },
+ {
+ "icon_id": "9456995",
+ "name": "md-cafe",
+ "font_class": "md-cafe",
+ "unicode": "e6f3",
+ "unicode_decimal": 59123
+ },
+ {
+ "icon_id": "9456996",
+ "name": "md-document",
+ "font_class": "md-document",
+ "unicode": "e6f4",
+ "unicode_decimal": 59124
+ },
+ {
+ "icon_id": "9456999",
+ "name": "md-color-palette",
+ "font_class": "md-color-palette",
+ "unicode": "e6f5",
+ "unicode_decimal": 59125
+ },
+ {
+ "icon_id": "9457000",
+ "name": "md-disc",
+ "font_class": "md-disc",
+ "unicode": "e6f6",
+ "unicode_decimal": 59126
+ },
+ {
+ "icon_id": "9457006",
+ "name": "md-flask",
+ "font_class": "md-flask",
+ "unicode": "e6f7",
+ "unicode_decimal": 59127
+ },
+ {
+ "icon_id": "9457015",
+ "name": "md-cube",
+ "font_class": "md-cube",
+ "unicode": "e6f8",
+ "unicode_decimal": 59128
+ },
+ {
+ "icon_id": "9457022",
+ "name": "md-help-buoy",
+ "font_class": "md-help-buoy",
+ "unicode": "e6f9",
+ "unicode_decimal": 59129
+ },
+ {
+ "icon_id": "9457025",
+ "name": "md-cart",
+ "font_class": "md-cart",
+ "unicode": "e6fa",
+ "unicode_decimal": 59130
+ },
+ {
+ "icon_id": "9457033",
+ "name": "md-chatboxes",
+ "font_class": "md-chatboxes",
+ "unicode": "e6fb",
+ "unicode_decimal": 59131
+ },
+ {
+ "icon_id": "9457034",
+ "name": "md-image",
+ "font_class": "md-image",
+ "unicode": "e6fc",
+ "unicode_decimal": 59132
+ },
+ {
+ "icon_id": "9457042",
+ "name": "md-ice-cream",
+ "font_class": "md-ice-cream",
+ "unicode": "e6fd",
+ "unicode_decimal": 59133
+ },
+ {
+ "icon_id": "9457045",
+ "name": "md-jet",
+ "font_class": "md-jet",
+ "unicode": "e6fe",
+ "unicode_decimal": 59134
+ },
+ {
+ "icon_id": "9457048",
+ "name": "md-film",
+ "font_class": "md-film",
+ "unicode": "e6ff",
+ "unicode_decimal": 59135
+ },
+ {
+ "icon_id": "9457055",
+ "name": "md-cloudy-night",
+ "font_class": "md-cloudy-night",
+ "unicode": "e700",
+ "unicode_decimal": 59136
+ },
+ {
+ "icon_id": "9457057",
+ "name": "md-flower",
+ "font_class": "md-flower",
+ "unicode": "e701",
+ "unicode_decimal": 59137
+ },
+ {
+ "icon_id": "9457058",
+ "name": "md-nutrition",
+ "font_class": "md-nutrition",
+ "unicode": "e702",
+ "unicode_decimal": 59138
+ },
+ {
+ "icon_id": "9457059",
+ "name": "md-medal",
+ "font_class": "md-medal",
+ "unicode": "e703",
+ "unicode_decimal": 59139
+ },
+ {
+ "icon_id": "9457061",
+ "name": "md-cloud-circle",
+ "font_class": "md-cloud-circle",
+ "unicode": "e704",
+ "unicode_decimal": 59140
+ },
+ {
+ "icon_id": "9457073",
+ "name": "md-contact",
+ "font_class": "md-contact",
+ "unicode": "e705",
+ "unicode_decimal": 59141
+ },
+ {
+ "icon_id": "9457076",
+ "name": "md-microphone",
+ "font_class": "md-microphone",
+ "unicode": "e706",
+ "unicode_decimal": 59142
+ },
+ {
+ "icon_id": "9457079",
+ "name": "md-contrast",
+ "font_class": "md-contrast",
+ "unicode": "e707",
+ "unicode_decimal": 59143
+ },
+ {
+ "icon_id": "9457084",
+ "name": "md-person-add",
+ "font_class": "md-person-add",
+ "unicode": "e708",
+ "unicode_decimal": 59144
+ },
+ {
+ "icon_id": "9457092",
+ "name": "md-easel",
+ "font_class": "md-easel",
+ "unicode": "e709",
+ "unicode_decimal": 59145
+ },
+ {
+ "icon_id": "9457093",
+ "name": "md-partly-sunny",
+ "font_class": "md-partly-sunny",
+ "unicode": "e70a",
+ "unicode_decimal": 59146
+ },
+ {
+ "icon_id": "9457104",
+ "name": "md-outlet",
+ "font_class": "md-outlet",
+ "unicode": "e70b",
+ "unicode_decimal": 59147
+ },
+ {
+ "icon_id": "9457107",
+ "name": "md-people",
+ "font_class": "md-people",
+ "unicode": "e70c",
+ "unicode_decimal": 59148
+ },
+ {
+ "icon_id": "9457108",
+ "name": "md-heart-dislike",
+ "font_class": "md-heart-dislike",
+ "unicode": "e70d",
+ "unicode_decimal": 59149
+ },
+ {
+ "icon_id": "9457109",
+ "name": "md-moon",
+ "font_class": "md-moon",
+ "unicode": "e70e",
+ "unicode_decimal": 59150
+ },
+ {
+ "icon_id": "9457110",
+ "name": "md-laptop",
+ "font_class": "md-laptop",
+ "unicode": "e70f",
+ "unicode_decimal": 59151
+ },
+ {
+ "icon_id": "9457111",
+ "name": "md-heart",
+ "font_class": "md-heart",
+ "unicode": "e710",
+ "unicode_decimal": 59152
+ },
+ {
+ "icon_id": "9457113",
+ "name": "md-flame",
+ "font_class": "md-flame",
+ "unicode": "e711",
+ "unicode_decimal": 59153
+ },
+ {
+ "icon_id": "9457114",
+ "name": "md-lock",
+ "font_class": "md-lock",
+ "unicode": "e712",
+ "unicode_decimal": 59154
+ },
+ {
+ "icon_id": "9457115",
+ "name": "md-musical-note",
+ "font_class": "md-musical-note",
+ "unicode": "e713",
+ "unicode_decimal": 59155
+ },
+ {
+ "icon_id": "9457116",
+ "name": "md-information-circle",
+ "font_class": "md-information-circle",
+ "unicode": "e714",
+ "unicode_decimal": 59156
+ },
+ {
+ "icon_id": "9457117",
+ "name": "md-help-circle",
+ "font_class": "md-help-circle",
+ "unicode": "e715",
+ "unicode_decimal": 59157
+ },
+ {
+ "icon_id": "9457121",
+ "name": "md-mail",
+ "font_class": "md-mail",
+ "unicode": "e716",
+ "unicode_decimal": 59158
+ },
+ {
+ "icon_id": "9457124",
+ "name": "md-journal",
+ "font_class": "md-journal",
+ "unicode": "e717",
+ "unicode_decimal": 59159
+ },
+ {
+ "icon_id": "9457126",
+ "name": "md-mail-unread",
+ "font_class": "md-mail-unread",
+ "unicode": "e718",
+ "unicode_decimal": 59160
+ },
+ {
+ "icon_id": "9457130",
+ "name": "md-notifications-off",
+ "font_class": "md-notifications-off",
+ "unicode": "e719",
+ "unicode_decimal": 59161
+ },
+ {
+ "icon_id": "9457131",
+ "name": "md-notifications",
+ "font_class": "md-notifications",
+ "unicode": "e71a",
+ "unicode_decimal": 59162
+ },
+ {
+ "icon_id": "9457132",
+ "name": "md-nuclear",
+ "font_class": "md-nuclear",
+ "unicode": "e71b",
+ "unicode_decimal": 59163
+ },
+ {
+ "icon_id": "9457134",
+ "name": "md-medkit",
+ "font_class": "md-medkit",
+ "unicode": "e71c",
+ "unicode_decimal": 59164
+ },
+ {
+ "icon_id": "9457135",
+ "name": "md-paw",
+ "font_class": "md-paw",
+ "unicode": "e71d",
+ "unicode_decimal": 59165
+ },
+ {
+ "icon_id": "9457136",
+ "name": "md-person",
+ "font_class": "md-person",
+ "unicode": "e71e",
+ "unicode_decimal": 59166
+ },
+ {
+ "icon_id": "9457161",
+ "name": "ios-notifications-off",
+ "font_class": "ios-notifications-off",
+ "unicode": "e71f",
+ "unicode_decimal": 59167
+ },
+ {
+ "icon_id": "9457165",
+ "name": "ios-notifications",
+ "font_class": "ios-notifications",
+ "unicode": "e720",
+ "unicode_decimal": 59168
+ },
+ {
+ "icon_id": "9457174",
+ "name": "ios-pie",
+ "font_class": "ios-pie",
+ "unicode": "e721",
+ "unicode_decimal": 59169
+ },
+ {
+ "icon_id": "9457198",
+ "name": "ios-rocket",
+ "font_class": "ios-rocket",
+ "unicode": "e722",
+ "unicode_decimal": 59170
+ },
+ {
+ "icon_id": "9457201",
+ "name": "ios-people",
+ "font_class": "ios-people",
+ "unicode": "e723",
+ "unicode_decimal": 59171
+ },
+ {
+ "icon_id": "9457202",
+ "name": "ios-save",
+ "font_class": "ios-save",
+ "unicode": "e724",
+ "unicode_decimal": 59172
+ },
+ {
+ "icon_id": "9457204",
+ "name": "ios-school",
+ "font_class": "ios-school",
+ "unicode": "e725",
+ "unicode_decimal": 59173
+ },
+ {
+ "icon_id": "9457209",
+ "name": "ios-ribbon",
+ "font_class": "ios-ribbon",
+ "unicode": "e726",
+ "unicode_decimal": 59174
+ },
+ {
+ "icon_id": "9457210",
+ "name": "ios-stopwatch",
+ "font_class": "ios-stopwatch",
+ "unicode": "e727",
+ "unicode_decimal": 59175
+ },
+ {
+ "icon_id": "9457214",
+ "name": "ios-print",
+ "font_class": "ios-print",
+ "unicode": "e728",
+ "unicode_decimal": 59176
+ },
+ {
+ "icon_id": "9457216",
+ "name": "ios-refresh-circle",
+ "font_class": "ios-refresh-circle",
+ "unicode": "e729",
+ "unicode_decimal": 59177
+ },
+ {
+ "icon_id": "9457228",
+ "name": "ios-switch",
+ "font_class": "ios-switch",
+ "unicode": "e72a",
+ "unicode_decimal": 59178
+ },
+ {
+ "icon_id": "9457238",
+ "name": "ios-warning",
+ "font_class": "ios-warning",
+ "unicode": "e72b",
+ "unicode_decimal": 59179
+ },
+ {
+ "icon_id": "9457269",
+ "name": "md-albums",
+ "font_class": "md-albums",
+ "unicode": "e72c",
+ "unicode_decimal": 59180
+ },
+ {
+ "icon_id": "9457276",
+ "name": "logo-html5",
+ "font_class": "logo-html",
+ "unicode": "e72d",
+ "unicode_decimal": 59181
+ },
+ {
+ "icon_id": "9457298",
+ "name": "logo-chrome",
+ "font_class": "logo-chrome",
+ "unicode": "e72e",
+ "unicode_decimal": 59182
+ },
+ {
+ "icon_id": "9457300",
+ "name": "ios-tennisball",
+ "font_class": "ios-tennisball",
+ "unicode": "e72f",
+ "unicode_decimal": 59183
+ },
+ {
+ "icon_id": "9457323",
+ "name": "ios-umbrella",
+ "font_class": "ios-umbrella",
+ "unicode": "e730",
+ "unicode_decimal": 59184
+ },
+ {
+ "icon_id": "9457333",
+ "name": "logo-rss",
+ "font_class": "logo-rss",
+ "unicode": "e731",
+ "unicode_decimal": 59185
+ },
+ {
+ "icon_id": "9457334",
+ "name": "logo-octocat",
+ "font_class": "logo-octocat",
+ "unicode": "e732",
+ "unicode_decimal": 59186
+ },
+ {
+ "icon_id": "9457337",
+ "name": "logo-slack",
+ "font_class": "logo-slack",
+ "unicode": "e733",
+ "unicode_decimal": 59187
+ },
+ {
+ "icon_id": "9457346",
+ "name": "logo-game-controller-b",
+ "font_class": "logo-game-controller-b",
+ "unicode": "e734",
+ "unicode_decimal": 59188
+ },
+ {
+ "icon_id": "9457355",
+ "name": "logo-windows",
+ "font_class": "logo-windows",
+ "unicode": "e735",
+ "unicode_decimal": 59189
+ },
+ {
+ "icon_id": "9457364",
+ "name": "ios-add-circle",
+ "font_class": "ios-add-circle",
+ "unicode": "e736",
+ "unicode_decimal": 59190
+ },
+ {
+ "icon_id": "9457366",
+ "name": "ios-archive",
+ "font_class": "ios-archive",
+ "unicode": "e737",
+ "unicode_decimal": 59191
+ },
+ {
+ "icon_id": "9457367",
+ "name": "ios-aperture",
+ "font_class": "ios-aperture",
+ "unicode": "e738",
+ "unicode_decimal": 59192
+ },
+ {
+ "icon_id": "9457371",
+ "name": "ios-appstore",
+ "font_class": "ios-appstore",
+ "unicode": "e739",
+ "unicode_decimal": 59193
+ },
+ {
+ "icon_id": "9457372",
+ "name": "ios-alarm",
+ "font_class": "ios-alarm",
+ "unicode": "e73a",
+ "unicode_decimal": 59194
+ },
+ {
+ "icon_id": "9457373",
+ "name": "ios-apps",
+ "font_class": "ios-apps",
+ "unicode": "e73b",
+ "unicode_decimal": 59195
+ },
+ {
+ "icon_id": "9457391",
+ "name": "ios-beaker",
+ "font_class": "ios-beaker",
+ "unicode": "e73c",
+ "unicode_decimal": 59196
+ },
+ {
+ "icon_id": "9457393",
+ "name": "ios-albums",
+ "font_class": "ios-albums",
+ "unicode": "e73d",
+ "unicode_decimal": 59197
+ },
+ {
+ "icon_id": "9457402",
+ "name": "ios-briefcase",
+ "font_class": "ios-briefcase",
+ "unicode": "e73e",
+ "unicode_decimal": 59198
+ },
+ {
+ "icon_id": "9457403",
+ "name": "ios-bed",
+ "font_class": "ios-bed",
+ "unicode": "e73f",
+ "unicode_decimal": 59199
+ },
+ {
+ "icon_id": "9457404",
+ "name": "ios-bookmarks",
+ "font_class": "ios-bookmarks",
+ "unicode": "e740",
+ "unicode_decimal": 59200
+ },
+ {
+ "icon_id": "9457405",
+ "name": "ios-book",
+ "font_class": "ios-book",
+ "unicode": "e741",
+ "unicode_decimal": 59201
+ },
+ {
+ "icon_id": "9457414",
+ "name": "ios-camera",
+ "font_class": "ios-camera",
+ "unicode": "e742",
+ "unicode_decimal": 59202
+ },
+ {
+ "icon_id": "9457417",
+ "name": "ios-boat",
+ "font_class": "ios-boat",
+ "unicode": "e743",
+ "unicode_decimal": 59203
+ },
+ {
+ "icon_id": "9457418",
+ "name": "ios-bulb",
+ "font_class": "ios-bulb",
+ "unicode": "e744",
+ "unicode_decimal": 59204
+ },
+ {
+ "icon_id": "9457426",
+ "name": "ios-cash",
+ "font_class": "ios-cash",
+ "unicode": "e745",
+ "unicode_decimal": 59205
+ },
+ {
+ "icon_id": "9457428",
+ "name": "ios-close-circle-outline",
+ "font_class": "ios-close-circle-outline",
+ "unicode": "e746",
+ "unicode_decimal": 59206
+ },
+ {
+ "icon_id": "9457430",
+ "name": "ios-checkbox-outline",
+ "font_class": "ios-checkbox-outline",
+ "unicode": "e747",
+ "unicode_decimal": 59207
+ },
+ {
+ "icon_id": "9457433",
+ "name": "ios-checkmark-circle",
+ "font_class": "ios-checkmark-circle",
+ "unicode": "e748",
+ "unicode_decimal": 59208
+ },
+ {
+ "icon_id": "9457437",
+ "name": "ios-close-circle",
+ "font_class": "ios-close-circle",
+ "unicode": "e749",
+ "unicode_decimal": 59209
+ },
+ {
+ "icon_id": "9457445",
+ "name": "ios-cloud-upload",
+ "font_class": "ios-cloud-upload",
+ "unicode": "e74a",
+ "unicode_decimal": 59210
+ },
+ {
+ "icon_id": "9457446",
+ "name": "ios-cloud",
+ "font_class": "ios-cloud",
+ "unicode": "e74b",
+ "unicode_decimal": 59211
+ },
+ {
+ "icon_id": "9457447",
+ "name": "ios-cloud-done",
+ "font_class": "ios-cloud-done",
+ "unicode": "e74c",
+ "unicode_decimal": 59212
+ },
+ {
+ "icon_id": "9457454",
+ "name": "ios-contact",
+ "font_class": "ios-contact",
+ "unicode": "e74d",
+ "unicode_decimal": 59213
+ },
+ {
+ "icon_id": "9457455",
+ "name": "ios-cloud-download",
+ "font_class": "ios-cloud-download",
+ "unicode": "e74e",
+ "unicode_decimal": 59214
+ },
+ {
+ "icon_id": "9457457",
+ "name": "ios-clipboard",
+ "font_class": "ios-clipboard",
+ "unicode": "e74f",
+ "unicode_decimal": 59215
+ },
+ {
+ "icon_id": "9457473",
+ "name": "ios-eye-off",
+ "font_class": "ios-eye-off",
+ "unicode": "e750",
+ "unicode_decimal": 59216
+ },
+ {
+ "icon_id": "9457475",
+ "name": "ios-copy",
+ "font_class": "ios-copy",
+ "unicode": "e751",
+ "unicode_decimal": 59217
+ },
+ {
+ "icon_id": "9457478",
+ "name": "ios-eye",
+ "font_class": "ios-eye",
+ "unicode": "e752",
+ "unicode_decimal": 59218
+ },
+ {
+ "icon_id": "9457485",
+ "name": "ios-filing",
+ "font_class": "ios-filing",
+ "unicode": "e753",
+ "unicode_decimal": 59219
+ },
+ {
+ "icon_id": "9457487",
+ "name": "ios-folder-open",
+ "font_class": "ios-folder-open",
+ "unicode": "e754",
+ "unicode_decimal": 59220
+ },
+ {
+ "icon_id": "9457493",
+ "name": "ios-gift",
+ "font_class": "ios-gift",
+ "unicode": "e755",
+ "unicode_decimal": 59221
+ },
+ {
+ "icon_id": "9457497",
+ "name": "ios-funnel",
+ "font_class": "ios-funnel",
+ "unicode": "e756",
+ "unicode_decimal": 59222
+ },
+ {
+ "icon_id": "9457502",
+ "name": "ios-flag",
+ "font_class": "ios-flag",
+ "unicode": "e757",
+ "unicode_decimal": 59223
+ },
+ {
+ "icon_id": "9457519",
+ "name": "ios-home",
+ "font_class": "ios-home",
+ "unicode": "e758",
+ "unicode_decimal": 59224
+ },
+ {
+ "icon_id": "9457523",
+ "name": "ios-journal",
+ "font_class": "ios-journal",
+ "unicode": "e759",
+ "unicode_decimal": 59225
+ },
+ {
+ "icon_id": "9457525",
+ "name": "ios-folder",
+ "font_class": "ios-folder",
+ "unicode": "e75a",
+ "unicode_decimal": 59226
+ },
+ {
+ "icon_id": "9457536",
+ "name": "ios-image",
+ "font_class": "ios-image",
+ "unicode": "e75b",
+ "unicode_decimal": 59227
+ },
+ {
+ "icon_id": "9457542",
+ "name": "ios-mail",
+ "font_class": "ios-mail",
+ "unicode": "e75c",
+ "unicode_decimal": 59228
+ },
+ {
+ "icon_id": "9457546",
+ "name": "ios-map",
+ "font_class": "ios-map",
+ "unicode": "e75d",
+ "unicode_decimal": 59229
+ },
+ {
+ "icon_id": "9457547",
+ "name": "ios-medkit",
+ "font_class": "ios-medkit",
+ "unicode": "e75e",
+ "unicode_decimal": 59230
+ },
+ {
+ "icon_id": "9456772",
+ "name": "md-phone-portrait",
+ "font_class": "md-phone-portrait",
+ "unicode": "e6c2",
+ "unicode_decimal": 59074
+ },
+ {
+ "icon_id": "9456773",
+ "name": "md-photos",
+ "font_class": "md-photos",
+ "unicode": "e6c3",
+ "unicode_decimal": 59075
+ },
+ {
+ "icon_id": "9456774",
+ "name": "md-pin",
+ "font_class": "md-pin",
+ "unicode": "e6c4",
+ "unicode_decimal": 59076
+ },
+ {
+ "icon_id": "9456775",
+ "name": "md-pie",
+ "font_class": "md-pie",
+ "unicode": "e6c5",
+ "unicode_decimal": 59077
+ },
+ {
+ "icon_id": "9456776",
+ "name": "md-podium",
+ "font_class": "md-podium",
+ "unicode": "e6c6",
+ "unicode_decimal": 59078
+ },
+ {
+ "icon_id": "9456778",
+ "name": "md-pint",
+ "font_class": "md-pint",
+ "unicode": "e6c7",
+ "unicode_decimal": 59079
+ },
+ {
+ "icon_id": "9456779",
+ "name": "md-phone-landscape",
+ "font_class": "md-phone-landscape",
+ "unicode": "e6c8",
+ "unicode_decimal": 59080
+ },
+ {
+ "icon_id": "9456780",
+ "name": "md-play-circle",
+ "font_class": "md-play-circle",
+ "unicode": "e6c9",
+ "unicode_decimal": 59081
+ },
+ {
+ "icon_id": "9456781",
+ "name": "md-pizza",
+ "font_class": "md-pizza",
+ "unicode": "e6ca",
+ "unicode_decimal": 59082
+ },
+ {
+ "icon_id": "9456782",
+ "name": "md-print",
+ "font_class": "md-print",
+ "unicode": "e6cb",
+ "unicode_decimal": 59083
+ },
+ {
+ "icon_id": "9456783",
+ "name": "md-pricetags",
+ "font_class": "md-pricetags",
+ "unicode": "e6cc",
+ "unicode_decimal": 59084
+ },
+ {
+ "icon_id": "9456787",
+ "name": "md-pricetag",
+ "font_class": "md-pricetag",
+ "unicode": "e6cd",
+ "unicode_decimal": 59085
+ },
+ {
+ "icon_id": "9456796",
+ "name": "md-remove-circle",
+ "font_class": "md-remove-circle",
+ "unicode": "e6ce",
+ "unicode_decimal": 59086
+ },
+ {
+ "icon_id": "9456801",
+ "name": "md-refresh-circle",
+ "font_class": "md-refresh-circle",
+ "unicode": "e6cf",
+ "unicode_decimal": 59087
+ },
+ {
+ "icon_id": "9456804",
+ "name": "md-school",
+ "font_class": "md-school",
+ "unicode": "e6d0",
+ "unicode_decimal": 59088
+ },
+ {
+ "icon_id": "9456805",
+ "name": "md-rainy",
+ "font_class": "md-rainy",
+ "unicode": "e6d1",
+ "unicode_decimal": 59089
+ },
+ {
+ "icon_id": "9456808",
+ "name": "md-rocket",
+ "font_class": "md-rocket",
+ "unicode": "e6d2",
+ "unicode_decimal": 59090
+ },
+ {
+ "icon_id": "9456809",
+ "name": "md-reverse-camera",
+ "font_class": "md-reverse-camera",
+ "unicode": "e6d3",
+ "unicode_decimal": 59091
+ },
+ {
+ "icon_id": "9456813",
+ "name": "md-send",
+ "font_class": "md-send",
+ "unicode": "e6d4",
+ "unicode_decimal": 59092
+ },
+ {
+ "icon_id": "9456814",
+ "name": "md-share-alt",
+ "font_class": "md-share-alt",
+ "unicode": "e6d5",
+ "unicode_decimal": 59093
+ },
+ {
+ "icon_id": "9456817",
+ "name": "md-star",
+ "font_class": "md-star",
+ "unicode": "e6d6",
+ "unicode_decimal": 59094
+ },
+ {
+ "icon_id": "9456818",
+ "name": "md-subway",
+ "font_class": "md-subway",
+ "unicode": "e6d7",
+ "unicode_decimal": 59095
+ },
+ {
+ "icon_id": "9456819",
+ "name": "md-ribbon",
+ "font_class": "md-ribbon",
+ "unicode": "e6d8",
+ "unicode_decimal": 59096
+ },
+ {
+ "icon_id": "9456820",
+ "name": "md-shirt",
+ "font_class": "md-shirt",
+ "unicode": "e6d9",
+ "unicode_decimal": 59097
+ },
+ {
+ "icon_id": "9456822",
+ "name": "md-snow",
+ "font_class": "md-snow",
+ "unicode": "e6da",
+ "unicode_decimal": 59098
+ },
+ {
+ "icon_id": "9456823",
+ "name": "md-rose",
+ "font_class": "md-rose",
+ "unicode": "e6db",
+ "unicode_decimal": 59099
+ },
+ {
+ "icon_id": "9456824",
+ "name": "md-save",
+ "font_class": "md-save",
+ "unicode": "e6dc",
+ "unicode_decimal": 59100
+ },
+ {
+ "icon_id": "9456825",
+ "name": "md-thermometer",
+ "font_class": "md-thermometer",
+ "unicode": "e6dd",
+ "unicode_decimal": 59101
+ },
+ {
+ "icon_id": "9456828",
+ "name": "md-thunderstorm",
+ "font_class": "md-thunderstorm",
+ "unicode": "e6de",
+ "unicode_decimal": 59102
+ },
+ {
+ "icon_id": "9456829",
+ "name": "md-settings",
+ "font_class": "md-settings",
+ "unicode": "e6df",
+ "unicode_decimal": 59103
+ },
+ {
+ "icon_id": "9456831",
+ "name": "md-trash",
+ "font_class": "md-trash",
+ "unicode": "e6e0",
+ "unicode_decimal": 59104
+ },
+ {
+ "icon_id": "9456834",
+ "name": "md-thumbs-down",
+ "font_class": "md-thumbs-down",
+ "unicode": "e6e1",
+ "unicode_decimal": 59105
+ },
+ {
+ "icon_id": "9456836",
+ "name": "md-trophy",
+ "font_class": "md-trophy",
+ "unicode": "e6e2",
+ "unicode_decimal": 59106
+ },
+ {
+ "icon_id": "9456845",
+ "name": "md-warning",
+ "font_class": "md-warning",
+ "unicode": "e6e3",
+ "unicode_decimal": 59107
+ },
+ {
+ "icon_id": "9456847",
+ "name": "md-thumbs-up",
+ "font_class": "md-thumbs-up",
+ "unicode": "e6e4",
+ "unicode_decimal": 59108
+ },
+ {
+ "icon_id": "9456849",
+ "name": "md-watch",
+ "font_class": "md-watch",
+ "unicode": "e6e5",
+ "unicode_decimal": 59109
+ },
+ {
+ "icon_id": "9456854",
+ "name": "md-umbrella",
+ "font_class": "md-umbrella",
+ "unicode": "e6e6",
+ "unicode_decimal": 59110
+ },
+ {
+ "icon_id": "9456860",
+ "name": "md-tennisball",
+ "font_class": "md-tennisball",
+ "unicode": "e6e7",
+ "unicode_decimal": 59111
+ },
+ {
+ "icon_id": "17786484",
+ "name": "鎴愪氦鐢ㄦ埛鏁�",
+ "font_class": "chengjiaoyonghushu",
+ "unicode": "e63d",
+ "unicode_decimal": 58941
+ },
+ {
+ "icon_id": "17786485",
+ "name": "鍏呭�间欢鏁�",
+ "font_class": "chongzhijianshu",
+ "unicode": "e63e",
+ "unicode_decimal": 58942
+ },
+ {
+ "icon_id": "17786487",
+ "name": "鎴愭湰閲戦",
+ "font_class": "chengbenjine",
+ "unicode": "e640",
+ "unicode_decimal": 58944
+ },
+ {
+ "icon_id": "17786488",
+ "name": "浠樿垂浼氬憳鏁�",
+ "font_class": "fufeihuiyuanshu",
+ "unicode": "e641",
+ "unicode_decimal": 58945
+ },
+ {
+ "icon_id": "17786490",
+ "name": "鍏呭�肩敤鎴锋暟",
+ "font_class": "chongzhiyonghushu",
+ "unicode": "e643",
+ "unicode_decimal": 58947
+ },
+ {
+ "icon_id": "17786491",
+ "name": "璐拱浼氬憳閲戦",
+ "font_class": "goumaihuiyuanjine",
+ "unicode": "e644",
+ "unicode_decimal": 58948
+ },
+ {
+ "icon_id": "17786492",
+ "name": "璁垮-鏀粯杞寲鐜�",
+ "font_class": "fangke-zhifuzhuanhuashuai",
+ "unicode": "e645",
+ "unicode_decimal": 58949
+ },
+ {
+ "icon_id": "17786493",
+ "name": "鍑�澧炵敤鎴�",
+ "font_class": "jingzengyonghu",
+ "unicode": "e646",
+ "unicode_decimal": 58950
+ },
+ {
+ "icon_id": "17786494",
+ "name": "瀹㈠崟浠�",
+ "font_class": "kedanjia",
+ "unicode": "e647",
+ "unicode_decimal": 58951
+ },
+ {
+ "icon_id": "17786495",
+ "name": "鍔犺喘浠舵暟",
+ "font_class": "jiagoujianshu",
+ "unicode": "e648",
+ "unicode_decimal": 58952
+ },
+ {
+ "icon_id": "17786496",
+ "name": "绱鍏呭�肩敤鎴�",
+ "font_class": "leijichongzhiyonghu",
+ "unicode": "e649",
+ "unicode_decimal": 58953
+ },
+ {
+ "icon_id": "17786497",
+ "name": "绱鎴愪氦鐢ㄦ埛",
+ "font_class": "leijichengjiaoyonghu",
+ "unicode": "e64a",
+ "unicode_decimal": 58954
+ },
+ {
+ "icon_id": "17786498",
+ "name": "绱浼氬憳鏁�",
+ "font_class": "leijihuiyuanshu",
+ "unicode": "e64b",
+ "unicode_decimal": 58955
+ },
+ {
+ "icon_id": "17786499",
+ "name": "鍟嗗搧娴忚閲�",
+ "font_class": "shangpinliulanliang",
+ "unicode": "e64c",
+ "unicode_decimal": 58956
+ },
+ {
+ "icon_id": "17786500",
+ "name": "鍟嗗搧鏀粯閲戦",
+ "font_class": "shangpinzhifujine",
+ "unicode": "e64d",
+ "unicode_decimal": 58957
+ },
+ {
+ "icon_id": "17786501",
+ "name": "閫�娆句欢鏁�",
+ "font_class": "tuikuanjianshu",
+ "unicode": "e64e",
+ "unicode_decimal": 58958
+ },
+ {
+ "icon_id": "17786502",
+ "name": "绱鍏虫敞鐢ㄦ埛",
+ "font_class": "leijiguanzhuyonghu",
+ "unicode": "e64f",
+ "unicode_decimal": 58959
+ },
+ {
+ "icon_id": "17786503",
+ "name": "閫�娆�",
+ "font_class": "tuikuan",
+ "unicode": "e650",
+ "unicode_decimal": 58960
+ },
+ {
+ "icon_id": "17786504",
+ "name": "涓嬪崟浠舵暟",
+ "font_class": "xiadanjianshu",
+ "unicode": "e651",
+ "unicode_decimal": 58961
+ },
+ {
+ "icon_id": "17786505",
+ "name": "绱鍙栧叧鐢ㄦ埛",
+ "font_class": "leijiquguanyonghu",
+ "unicode": "e652",
+ "unicode_decimal": 58962
+ },
+ {
+ "icon_id": "17786506",
+ "name": "绱鐢ㄦ埛",
+ "font_class": "leijiyonghu",
+ "unicode": "e653",
+ "unicode_decimal": 58963
+ },
+ {
+ "icon_id": "17786507",
+ "name": "鏂板鍙栧叧鐢ㄦ埛",
+ "font_class": "xinzengquguanyonghu",
+ "unicode": "e654",
+ "unicode_decimal": 58964
+ },
+ {
+ "icon_id": "17786508",
+ "name": "鍟嗗搧璁垮鏁�",
+ "font_class": "shangpinfangkeshu",
+ "unicode": "e655",
+ "unicode_decimal": 58965
+ },
+ {
+ "icon_id": "17786509",
+ "name": "鏂板鐢ㄦ埛鏁�",
+ "font_class": "xinzengyonghushu",
+ "unicode": "e656",
+ "unicode_decimal": 58966
+ },
+ {
+ "icon_id": "17786510",
+ "name": "鏂板鍏虫敞鐢ㄦ埛",
+ "font_class": "xinzengguanzhuyonghu",
+ "unicode": "e657",
+ "unicode_decimal": 58967
+ },
+ {
+ "icon_id": "17786511",
+ "name": "鏀粯閲戦",
+ "font_class": "zhifujine",
+ "unicode": "e658",
+ "unicode_decimal": 58968
+ },
+ {
+ "icon_id": "17786512",
+ "name": "钀ヤ笟棰�",
+ "font_class": "yingyee",
+ "unicode": "e659",
+ "unicode_decimal": 58969
+ },
+ {
+ "icon_id": "17786513",
+ "name": "鏀粯浠舵暟",
+ "font_class": "zhifujianshu",
+ "unicode": "e65a",
+ "unicode_decimal": 58970
+ },
+ {
+ "icon_id": "17786514",
+ "name": "鏀嚭閲戦",
+ "font_class": "zhichujine",
+ "unicode": "e65b",
+ "unicode_decimal": 58971
+ },
+ {
+ "icon_id": "17786793",
+ "name": "璁块棶閲�",
+ "font_class": "fangwenliang",
+ "unicode": "e642",
+ "unicode_decimal": 58946
+ },
+ {
+ "icon_id": "17786896",
+ "name": "璁垮鏁�",
+ "font_class": "fangkeshu",
+ "unicode": "e63f",
+ "unicode_decimal": 58943
+ },
+ {
+ "icon_id": "18164661",
+ "name": "浜ゆ槗閲戦",
+ "font_class": "jiaoyijine",
+ "unicode": "e67a",
+ "unicode_decimal": 59002
+ },
+ {
+ "icon_id": "18164662",
+ "name": "浣欓鏀粯閲戦",
+ "font_class": "yuezhifujine",
+ "unicode": "e67b",
+ "unicode_decimal": 59003
+ },
+ {
+ "icon_id": "18164663",
+ "name": "鏀粯浣i噾閲戦",
+ "font_class": "zhifuyongjinjine",
+ "unicode": "e67c",
+ "unicode_decimal": 59004
+ },
+ {
+ "icon_id": "18164664",
+ "name": "绾夸笅鏀堕摱閲戦",
+ "font_class": "xianxiashouyinjine",
+ "unicode": "e67d",
+ "unicode_decimal": 59005
+ }
+ ]
+}
diff --git a/src/assets/iconfont/iconfont.svg b/src/assets/iconfont/iconfont.svg
new file mode 100644
index 0000000..7326b56
--- /dev/null
+++ b/src/assets/iconfont/iconfont.svg
@@ -0,0 +1,713 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<!--
+2013-9-30: Created.
+-->
+<svg>
+<metadata>
+Created by iconfont
+</metadata>
+<defs>
+
+<font id="iconfont" horiz-adv-x="1024" >
+ <font-face
+ font-family="iconfont"
+ font-weight="500"
+ font-stretch="normal"
+ units-per-em="1024"
+ ascent="896"
+ descent="-128"
+ />
+ <missing-glyph />
+
+ <glyph glyph-name="line-addcommodity" unicode="" d="M832 800H192c-52.9 0-96-43.1-96-96v-640c0-52.9 43.1-96 96-96h320c17.7 0 32 14.3 32 32s-14.3 32-32 32H192c-17.6 0-32 14.4-32 32V704c0 17.6 14.4 32 32 32h640c17.6 0 32-14.4 32-32v-320c0-17.7 14.3-32 32-32s32 14.3 32 32V704c0 52.9-43.1 96-96 96zM338.2 624c0 26.5-21.5 48-48 48s-48-21.5-48-48c0-24.3 18-44.3 41.4-47.5 22.5-29.2 50.4-53.9 82.3-72.7C410 477.7 460.5 464 512 464s102 13.7 146.1 39.7c31.8 18.8 59.8 43.6 82.3 72.7 23.4 3.2 41.4 23.3 41.4 47.5 0 26.5-21.5 48-48 48s-48-21.5-48-48c0-4 0.5-7.9 1.4-11.6-17.1-21.4-37.9-39.6-61.6-53.5C591.3 538.7 552 528 512 528s-79.3 10.7-113.6 30.9c-23.7 13.9-44.5 32.2-61.6 53.5 1 3.7 1.4 7.6 1.4 11.6zM896 137h-73v73c0 17.7-14.3 32-32 32s-32-14.3-32-32v-73h-73c-17.7 0-32-14.3-32-32s14.3-32 32-32h73v-73c0-17.7 14.3-32 32-32s32 14.3 32 32v73h73c17.7 0 32 14.3 32 32s-14.3 32-32 32z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="line-achievement" unicode="" d="M825 800H185c-52.935 0-96-43.065-96-96v-640c0-52.935 43.065-96 96-96h640c52.935 0 96 43.065 96 96V704c0 52.935-43.065 96-96 96z m32-736c0-17.645-14.355-32-32-32H185c-17.645 0-32 14.355-32 32V704c0 17.645 14.355 32 32 32h640c17.645 0 32-14.355 32-32zM792.906 642.329c-0.02 0.271-0.035 0.542-0.062 0.812-0.03 0.313-0.072 0.622-0.112 0.932-0.026 0.204-0.047 0.407-0.078 0.61a29.96 29.96 0 0 1-0.169 1.003c-0.032 0.176-0.06 0.353-0.094 0.529-0.066 0.339-0.143 0.673-0.22 1.008-0.04 0.172-0.077 0.345-0.12 0.517-0.081 0.324-0.17 0.645-0.26 0.965-0.052 0.185-0.102 0.369-0.157 0.553-0.09 0.297-0.188 0.592-0.286 0.886-0.069 0.207-0.137 0.414-0.21 0.62-0.094 0.263-0.195 0.523-0.295 0.783-0.091 0.235-0.181 0.47-0.277 0.703-0.094 0.225-0.193 0.447-0.292 0.67-0.116 0.262-0.231 0.524-0.355 0.785-0.09 0.189-0.185 0.375-0.278 0.562a31.227 31.227 0 0 1-0.438 0.854c-0.085 0.159-0.175 0.314-0.263 0.472-0.168 0.3-0.337 0.6-0.515 0.896-0.085 0.142-0.175 0.28-0.262 0.42a31.728 31.728 0 0 1-0.576 0.898c-0.092 0.138-0.189 0.271-0.284 0.407-0.201 0.29-0.402 0.579-0.614 0.863-0.111 0.149-0.227 0.293-0.34 0.439-0.203 0.263-0.404 0.527-0.617 0.785-0.154 0.188-0.316 0.369-0.475 0.553-0.181 0.21-0.357 0.422-0.545 0.629-0.299 0.33-0.608 0.651-0.921 0.969-0.056 0.057-0.108 0.117-0.165 0.173-0.054 0.054-0.111 0.104-0.166 0.158-0.32 0.315-0.644 0.627-0.977 0.929-0.204 0.184-0.413 0.358-0.619 0.536-0.188 0.162-0.372 0.327-0.563 0.484-0.254 0.209-0.515 0.408-0.774 0.608-0.15 0.116-0.298 0.235-0.451 0.349a30.849 30.849 0 0 1-0.854 0.607c-0.139 0.097-0.276 0.196-0.417 0.29a29.791 29.791 0 0 1-0.89 0.57c-0.143 0.089-0.284 0.181-0.429 0.268a31.35 31.35 0 0 1-0.888 0.511c-0.16 0.089-0.318 0.181-0.48 0.268-0.281 0.15-0.564 0.293-0.848 0.435-0.189 0.094-0.376 0.19-0.567 0.28-0.26 0.123-0.521 0.239-0.784 0.354-0.223 0.098-0.445 0.198-0.67 0.291-0.234 0.097-0.471 0.188-0.707 0.279-0.258 0.1-0.516 0.2-0.777 0.293-0.208 0.075-0.418 0.143-0.628 0.213a33.169 33.169 0 0 1-0.877 0.283c-0.187 0.056-0.375 0.107-0.563 0.16a30.362 30.362 0 0 1-0.953 0.257c-0.178 0.044-0.357 0.083-0.536 0.124a30.06 30.06 0 0 1-0.99 0.216c-0.183 0.036-0.367 0.065-0.55 0.099-0.327 0.058-0.653 0.117-0.983 0.166-0.213 0.032-0.428 0.055-0.642 0.082-0.299 0.038-0.597 0.079-0.898 0.108-0.29 0.029-0.581 0.046-0.872 0.066-0.229 0.016-0.457 0.038-0.688 0.049a32.743 32.743 0 0 1-1.598 0.04H569c-17.673 0-32-14.327-32-32 0-17.673 14.327-32 32-32h114.745L541 465.255l-68.872 68.872c-12.498 12.497-32.758 12.497-45.256 0l-200.5-200.5c-12.496-12.497-12.496-32.759 0-45.256C232.621 282.124 240.811 279 249 279s16.379 3.124 22.628 9.372L449.5 466.245l68.872-68.872C524.621 391.124 532.811 388 541 388s16.379 3.124 22.628 9.373L729 562.745V448c0-17.673 14.327-32 32-32s32 14.327 32 32V640.001c0 0.527-0.014 1.055-0.04 1.581-0.012 0.251-0.036 0.498-0.054 0.747zM761 160H249c-17.673 0-32-14.327-32-32 0-17.673 14.327-32 32-32h512c17.673 0 32 14.327 32 32 0 17.673-14.327 32-32 32z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="line-check" unicode="" d="M416 0H224c-17.6 0-32 14.4-32 32V736c0 17.6 14.4 32 32 32h576c17.6 0 32-14.4 32-32v-256c0-17.7 14.3-32 32-32s32 14.3 32 32V736c0 52.9-43.1 96-96 96H224c-52.9 0-96-43.1-96-96v-704c0-52.9 43.1-96 96-96h192c17.7 0 32 14.3 32 32s-14.3 32-32 32zM704 608c0 17.7-14.3 32-32 32H352c-17.7 0-32-14.3-32-32s14.3-32 32-32h320c17.7 0 32 14.3 32 32zM352 416c-17.7 0-32-14.3-32-32s14.3-32 32-32h192c17.7 0 32 14.3 32 32s-14.3 32-32 32H352zM950.6 246.6c-12.5 12.5-32.8 12.5-45.3 0L672 13.3 534.6 150.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l160-160c4.7-4.7 10.5-7.6 16.5-8.8 2-0.4 4.1-0.6 6.1-0.6s4.1 0.2 6.1 0.6c6.1 1.2 11.8 4.1 16.5 8.8l256 256c12.6 12.6 12.6 32.8 0.1 45.3z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="line-coin" unicode="" d="M924.781 558.392c-22.566 53.352-54.864 101.259-95.997 142.393-41.134 41.133-89.041 73.431-142.393 95.997C631.14 820.15 572.465 832 512 832S392.86 820.15 337.608 796.781c-53.352-22.565-101.259-54.864-142.393-95.997-41.133-41.133-73.431-89.041-95.997-142.392C75.85 503.139 64 444.465 64 384c0-60.466 11.85-119.14 35.219-174.392 22.565-53.352 54.864-101.26 95.997-142.393s89.041-73.431 142.392-95.997C392.861-52.15 451.535-64 512-64c60.466 0 119.14 11.85 174.392 35.219 53.352 22.566 101.26 54.864 142.393 95.997 41.133 41.134 73.431 89.041 95.997 142.393C948.15 264.86 960 323.535 960 384s-11.85 119.14-35.219 174.392zM783.529 112.471C711.001 39.943 614.57 0 512 0s-199.001 39.943-271.529 112.471S128 281.43 128 384s39.943 199 112.471 271.529C312.999 728.057 409.43 768 512 768s199.001-39.943 271.529-112.471S896 486.57 896 384s-39.943-199.001-112.471-271.529zM656 400c17.673 0 32 14.327 32 32s-14.327 32-32 32h-98.496l105.623 105.623c12.497 12.497 12.497 32.758 0 45.255-12.496 12.497-32.758 12.497-45.254 0L512 509.005 406.627 614.377c-12.497 12.497-32.758 12.497-45.255 0s-12.497-32.758 0-45.255L466.495 464H368c-17.673 0-32-14.327-32-32s14.327-32 32-32h112v-64H368c-17.673 0-32-14.327-32-32s14.327-32 32-32h112v-96.25c0-17.673 14.327-32 32-32 17.673 0 32 14.327 32 32V272h112c17.673 0 32 14.327 32 32s-14.327 32-32 32H544v64h112z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="line-applets" unicode="" d="M869.276 639.306L554.957 820.568c-26.509 15.243-59.29 15.243-85.799 0L154.84 639.306c-26.39-15.243-42.84-43.72-42.84-74.088v-362.405c0-30.486 16.45-58.845 42.84-74.206l314.319-181.143c13.254-7.681 28.047-11.462 42.84-11.462s29.704 3.781 42.84 11.462l314.318 181.261c26.391 15.243 42.84 43.72 42.84 74.088V565.218c0.237 30.486-16.212 58.845-42.721 74.088z m-16.213-74.088v-171.336l-26.39 15.243-256.095 147.468 28.047 16.188 133.846 77.16 107.219-61.799c8.284-4.726 13.373-13.47 13.373-22.924zM512.117 244.88L270.934 383.839l240.473 138.605L752.59 383.366 512.117 244.88zM184.426 588.142l314.319 181.261c4.142 2.363 8.639 3.545 13.254 3.545s9.231-1.182 13.254-3.545l147.929-85.313-502.01-289.498V565.218c-0.001 9.453 5.088 18.197 13.254 22.924z m-13.255-385.446V326.412l40.592 23.396 241.183-139.077-161.065-92.876-107.337 61.917c-8.284 4.727-13.373 13.471-13.373 22.924z m668.519-22.924L525.371-1.489c-8.166-4.727-18.343-4.727-26.627 0l-147.81 85.195 142.84 82.359 27.456 15.834 290.413 167.436 41.183-23.751v-122.889c0.237-9.452-4.852-18.196-13.136-22.923z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="line-company" unicode="" d="M832 544H608V704c0 52.935-43.065 96-96 96H192c-52.935 0-96-43.065-96-96v-640c0-52.935 43.065-96 96-96h640c52.935 0 96 43.065 96 96V448c0 52.935-43.065 96-96 96zM544 32H192c-17.645 0-32 14.355-32 32V704c0 17.645 14.355 32 32 32h320c17.645 0 32-14.355 32-32v-672z m320 32c0-17.645-14.355-32-32-32H608V480h224c17.645 0 32-14.355 32-32v-384zM768 384h-64c-17.673 0-32-14.327-32-32s14.327-32 32-32h64c17.673 0 32 14.327 32 32s-14.327 32-32 32zM768 192h-64c-17.673 0-32-14.327-32-32s14.327-32 32-32h64c17.673 0 32 14.327 32 32s-14.327 32-32 32zM416 416H288c-17.673 0-32-14.327-32-32 0-17.673 14.327-32 32-32h128c17.673 0 32 14.327 32 32 0 17.673-14.327 32-32 32zM416 608H288c-17.673 0-32-14.327-32-32s14.327-32 32-32h128c17.673 0 32 14.327 32 32s-14.327 32-32 32zM416 224H288c-17.673 0-32-14.327-32-32s14.327-32 32-32h128c17.673 0 32 14.327 32 32s-14.327 32-32 32z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="line-ancrown" unicode="" d="M935.016 544.156c-20.479 17.255-48.429 21.38-72.947 10.719l-143.824-62.367-91.254 109.815c8.447 15.248 13.815 32.065 15.767 49.734 4.342 38.947-8.397 77.514-34.967 105.842-25.324 26.979-59.517 41.932-96.47 42.101-36.836-0.026-71.079-14.624-96.404-41.106-26.924-28.151-40.049-66.71-35.977-105.792 1.885-18.023 7.286-35.177 15.886-50.72l-91.221-109.789-141.451 61.903c-24.568 10.744-52.552 6.696-73.081-10.568-20.512-17.255-29.363-44.184-23.087-70.278l108.671-451.843C182.262-9.87 210.28-32 242.79-32h538.357c32.51 0 60.528 22.13 68.133 53.792l108.739 452.146c6.26 26.059-2.558 52.963-23.003 70.218zM781.146 37.09l-539.484 0.894-108.671 451.859 1.599 1.332 165.161-72.277c14.051-6.173 30.44-2.244 40.267 9.556l124.675 150.051c10.971 13.216 10.584 32.512-0.926 45.272-9.356 10.373-14.825 22.653-16.272 36.492-1.952 18.833 4.292 37.353 17.164 50.805 12.401 12.972 28.556 19.828 46.528 19.836 17.686-0.084 34.177-7.312 46.41-20.342 12.688-13.536 18.762-32.065 16.676-50.855-1.497-13.451-7.101-25.883-16.205-35.936-11.544-12.752-11.948-32.082-0.96-45.323l124.674-150.026c9.794-11.765 26.15-15.712 40.167-9.59L889.43 491.47l-13.681 31.703 15.263-33.043-109.866-453.04zM322.766 308.858c-3.846 17.25-20.943 28.117-38.196 24.271-17.25-3.846-28.116-20.946-24.271-38.196l35-157c3.323-14.906 16.542-25.044 31.204-25.044a32.16 32.16 0 0 1 6.993 0.773c17.25 3.846 28.116 20.946 24.271 38.196l-35.001 157z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="line-label" unicode="" d="M773.818 832H250.182C200.456 832 160 788.935 160 736v-768c0-0.133 0.008-0.264 0.01-0.397 0.004-0.342 0.011-0.684 0.026-1.027 0.009-0.195 0.021-0.389 0.033-0.584 0.021-0.333 0.045-0.666 0.076-0.999 0.019-0.206 0.042-0.411 0.065-0.616a29.602 29.602 0 0 1 0.221-1.598 32.635 32.635 0 0 1 0.488-2.393 29.106 29.106 0 0 1 0.406-1.5c0.073-0.245 0.148-0.49 0.226-0.733a34.617 34.617 0 0 1 0.804-2.206 32.265 32.265 0 0 1 0.983-2.18 31.832 31.832 0 0 1 2.472-4.148c0.113-0.16 0.225-0.321 0.341-0.48 0.201-0.276 0.409-0.546 0.619-0.815 0.082-0.105 0.158-0.214 0.242-0.318 0.037-0.046 0.077-0.088 0.114-0.134 0.291-0.359 0.59-0.71 0.896-1.055 0.086-0.098 0.17-0.2 0.257-0.297 0.367-0.406 0.745-0.802 1.133-1.188 0.205-0.205 0.417-0.399 0.627-0.598 0.189-0.179 0.377-0.359 0.571-0.533 0.249-0.224 0.502-0.44 0.757-0.655a31.654 31.654 0 0 1 1.312-1.053c0.154-0.117 0.31-0.23 0.465-0.344 0.288-0.21 0.577-0.419 0.871-0.619 0.158-0.107 0.319-0.209 0.479-0.314 0.297-0.194 0.592-0.39 0.894-0.573 0.213-0.129 0.432-0.249 0.648-0.374 0.392-0.226 0.786-0.444 1.186-0.652 0.344-0.18 0.689-0.357 1.04-0.525 0.152-0.072 0.307-0.138 0.46-0.208 0.374-0.171 0.75-0.337 1.132-0.494 0.133-0.055 0.268-0.106 0.402-0.159 0.41-0.162 0.823-0.316 1.241-0.462 0.112-0.039 0.225-0.076 0.337-0.114 0.445-0.149 0.895-0.289 1.348-0.418 0.092-0.026 0.183-0.053 0.275-0.078 0.474-0.131 0.952-0.251 1.435-0.36 0.078-0.018 0.155-0.037 0.233-0.054 0.492-0.108 0.989-0.203 1.489-0.288l0.213-0.038c0.498-0.081 0.999-0.149 1.504-0.207 0.074-0.009 0.148-0.02 0.222-0.028 0.488-0.052 0.979-0.091 1.473-0.121 0.089-0.005 0.178-0.015 0.267-0.02 0.499-0.026 1.002-0.038 1.508-0.041 0.074 0 0.147-0.006 0.221-0.006 0.51 0 1.02 0.016 1.53 0.04 0.113 0.005 0.224 0.014 0.337 0.021 0.391 0.023 0.782 0.052 1.173 0.089 0.149 0.014 0.298 0.03 0.447 0.046 0.357 0.039 0.713 0.085 1.07 0.136 0.151 0.022 0.303 0.042 0.453 0.066 0.386 0.061 0.772 0.131 1.157 0.207 0.105 0.021 0.211 0.038 0.316 0.059 0.477 0.099 0.953 0.208 1.427 0.329 0.138 0.035 0.275 0.076 0.412 0.113 0.333 0.09 0.666 0.182 0.997 0.283 0.186 0.057 0.369 0.118 0.553 0.178a33.113 33.113 0 0 1 1.42 0.498 37.055 37.055 0 0 1 1.372 0.554c0.26 0.112 0.518 0.231 0.776 0.351 0.188 0.087 0.377 0.173 0.563 0.263 0.262 0.128 0.522 0.265 0.782 0.401 0.175 0.091 0.352 0.179 0.524 0.273a32.477 32.477 0 0 1 1.857 1.107c0.196 0.125 0.393 0.246 0.586 0.376 0.226 0.151 0.447 0.31 0.669 0.467 0.177 0.125 0.355 0.247 0.529 0.377 0.215 0.158 0.424 0.322 0.635 0.486 0.128 0.099 0.258 0.193 0.385 0.294L512 183.021l300.01-240.008c0.129-0.103 0.261-0.199 0.391-0.299 0.208-0.161 0.415-0.323 0.626-0.479 0.18-0.133 0.364-0.26 0.546-0.388 0.216-0.153 0.43-0.307 0.651-0.455 0.215-0.144 0.434-0.279 0.651-0.417 0.243-0.154 0.486-0.309 0.733-0.457 0.354-0.212 0.71-0.418 1.069-0.615 0.158-0.086 0.319-0.166 0.478-0.249 0.276-0.145 0.552-0.289 0.831-0.426 0.174-0.085 0.351-0.165 0.527-0.247 0.271-0.126 0.542-0.251 0.815-0.369a32.976 32.976 0 0 1 1.376-0.555 27.915 27.915 0 0 1 1.427-0.499c0.173-0.056 0.345-0.114 0.519-0.167 0.35-0.107 0.701-0.205 1.053-0.299 0.12-0.032 0.238-0.068 0.358-0.099 0.479-0.122 0.96-0.233 1.442-0.333 0.094-0.019 0.189-0.035 0.283-0.053 0.395-0.078 0.791-0.149 1.188-0.212 0.146-0.023 0.293-0.043 0.44-0.064a30.394 30.394 0 0 1 1.52-0.182c0.393-0.037 0.786-0.067 1.179-0.09l0.333-0.021c0.51-0.024 1.02-0.04 1.531-0.04 0.074 0 0.147 0.006 0.221 0.006a32.804 32.804 0 0 1 1.508 0.041c0.088 0.005 0.176 0.015 0.264 0.02 0.495 0.03 0.988 0.069 1.477 0.121 0.073 0.008 0.145 0.019 0.218 0.028 0.507 0.058 1.01 0.126 1.509 0.207 0.069 0.011 0.138 0.025 0.207 0.037a30.863 30.863 0 0 1 1.496 0.29l0.227 0.052c0.485 0.11 0.965 0.23 1.441 0.362l0.269 0.076a31.245 31.245 0 0 1 2.934 0.996c0.132 0.052 0.265 0.103 0.397 0.157 0.383 0.157 0.761 0.324 1.136 0.496 0.152 0.069 0.306 0.135 0.457 0.207 0.351 0.167 0.695 0.345 1.039 0.524 0.409 0.213 0.812 0.437 1.213 0.668 0.207 0.12 0.417 0.234 0.621 0.358 0.305 0.185 0.603 0.382 0.902 0.578 0.157 0.103 0.315 0.202 0.47 0.308 0.296 0.201 0.587 0.412 0.878 0.624 0.153 0.112 0.307 0.224 0.458 0.338a32.182 32.182 0 0 1 1.311 1.052c0.256 0.216 0.511 0.434 0.762 0.66 0.192 0.173 0.378 0.351 0.565 0.528 0.211 0.2 0.425 0.396 0.631 0.602 0.388 0.386 0.765 0.782 1.133 1.188 0.085 0.094 0.166 0.194 0.251 0.289 0.309 0.349 0.612 0.704 0.906 1.067 0.036 0.044 0.074 0.085 0.109 0.129 0.08 0.101 0.153 0.205 0.232 0.306a24.214 24.214 0 0 1 0.961 1.296c0.196 0.278 0.388 0.558 0.575 0.843 0.111 0.168 0.218 0.338 0.325 0.508a32.63 32.63 0 0 1 0.828 1.389 33.284 33.284 0 0 1 1.118 2.183 33.498 33.498 0 0 1 1.171 2.88 28.95 28.95 0 0 1 0.478 1.48 30.562 30.562 0 0 1 0.736 3.016 32.26 32.26 0 0 1 0.517 4.085c0.012 0.193 0.024 0.386 0.033 0.581 0.015 0.344 0.022 0.688 0.026 1.032 0.002 0.131 0.01 0.261 0.01 0.393V736c0.003 52.935-40.452 96-90.179 96zM224 736c0 17.645 11.745 32 26.182 32h523.637C788.255 768 800 753.645 800 736v-701.421L532.466 248.606c-0.048 0.04-0.098 0.077-0.146 0.117l-0.331 0.264c-0.031 0.025-0.063 0.047-0.094 0.071a31.42 31.42 0 0 1-1.162 0.882l-0.141 0.1c-0.384 0.274-0.772 0.54-1.166 0.795l-0.23 0.147a31.111 31.111 0 0 1-1.074 0.656c-0.128 0.075-0.257 0.148-0.386 0.221a34.642 34.642 0 0 1-1.495 0.794 37.286 37.286 0 0 1-1.515 0.705 29.802 29.802 0 0 1-1.957 0.772c-0.36 0.129-0.721 0.251-1.084 0.366l-0.326 0.101c-0.394 0.12-0.789 0.234-1.186 0.338l-0.266 0.068a31.222 31.222 0 0 1-1.237 0.29l-0.264 0.054a32.398 32.398 0 0 1-2.715 0.434c-0.141 0.016-0.283 0.03-0.424 0.045a31.332 31.332 0 0 1-1.056 0.092c-0.189 0.013-0.379 0.022-0.568 0.032a30.471 30.471 0 0 1-0.906 0.035c-0.246 0.006-0.491 0.006-0.737 0.006s-0.492-0.001-0.737-0.006c-0.302-0.007-0.604-0.02-0.906-0.035-0.19-0.01-0.379-0.019-0.569-0.032-0.352-0.024-0.704-0.056-1.055-0.092-0.142-0.015-0.284-0.028-0.425-0.045a32.95 32.95 0 0 1-2.714-0.433l-0.268-0.055c-0.412-0.088-0.823-0.184-1.232-0.288l-0.272-0.069a32.859 32.859 0 0 1-3.034-0.965c-0.31-0.116-0.618-0.237-0.926-0.364a27.496 27.496 0 0 1-1.344-0.587 32.141 32.141 0 0 1-2.269-1.166c-0.123-0.07-0.245-0.139-0.367-0.21-0.369-0.215-0.733-0.438-1.094-0.668l-0.21-0.134c-0.402-0.261-0.797-0.531-1.189-0.811l-0.116-0.083c-0.402-0.29-0.798-0.591-1.188-0.902l-0.078-0.059-0.272-0.218c-0.07-0.057-0.142-0.111-0.212-0.169L224 34.579V736zM352 608h320c17.673 0 32 14.327 32 32s-14.327 32-32 32H352c-17.673 0-32-14.327-32-32s14.327-32 32-32z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="line-order" unicode="" d="M416 0H224c-17.645 0-32 14.355-32 32V736c0 17.645 14.355 32 32 32h576c17.645 0 32-14.355 32-32v-256c0-17.673 14.327-32 32-32s32 14.327 32 32V736c0 52.935-43.065 96-96 96H224c-52.935 0-96-43.065-96-96v-704c0-52.935 43.065-96 96-96h192c17.673 0 32 14.327 32 32s-14.327 32-32 32zM704 608c0 17.673-14.327 32-32 32H352c-17.673 0-32-14.327-32-32s14.327-32 32-32h320c17.673 0 32 14.327 32 32zM352 416c-17.673 0-32-14.327-32-32 0-17.673 14.327-32 32-32h192c17.673 0 32 14.327 32 32s-14.327 32-32 32H352zM894.392 318.394c-42.308 42.308-98.559 65.607-158.392 65.607s-116.084-23.3-158.393-65.607C535.3 276.085 512 219.834 512 160.001c0-59.832 23.3-116.084 65.607-158.392 42.309-42.309 98.56-65.608 158.393-65.608s116.084 23.3 158.393 65.608C936.7 43.918 960 100.169 960 160.002c0 59.832-23.3 116.083-65.608 158.392zM736 0.001c-88.225 0-160 71.776-160 160.001 0 88.224 71.775 159.999 160 159.999s160-71.775 160-160-71.775-160-160-160zM768 168.575v55.426c0 17.673-14.327 32-32 32s-32-14.327-32-32v-64c0-0.051 0.004-0.102 0.004-0.153 0.002-0.456 0.013-0.912 0.035-1.368l0.012-0.248a31.968 31.968 0 0 1 0.543-4.364c0.035-0.178 0.069-0.357 0.107-0.534 0.065-0.304 0.136-0.608 0.21-0.911 0.057-0.233 0.114-0.466 0.176-0.698 0.065-0.241 0.134-0.482 0.205-0.722 0.085-0.289 0.171-0.577 0.264-0.863a39.418 39.418 0 0 1 0.551-1.557 31.49 31.49 0 0 1 1.334-3.007l0.129-0.252c0.204-0.394 0.416-0.784 0.636-1.168 0.029-0.051 0.054-0.102 0.083-0.153l32-55.426c5.928-10.267 16.683-16.005 27.743-16.005a31.858 31.858 0 0 1 15.97 4.292c15.306 8.837 20.55 28.407 11.713 43.713L768 168.575z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="line-purchase" unicode="" d="M832 800H192c-52.935 0-96-43.065-96-96v-640c0-52.935 43.065-96 96-96h640c52.935 0 96 43.065 96 96V704c0 52.935-43.065 96-96 96z m-192-64v-32c0-17.645-14.355-32-32-32H416c-17.645 0-32 14.355-32 32v32h256z m224-672c0-17.645-14.355-32-32-32H192c-17.645 0-32 14.355-32 32V704c0 17.645 14.355 32 32 32h128v-32c0-52.935 43.065-96 96-96h192c52.935 0 96 43.065 96 96v32h128c17.645 0 32-14.355 32-32v-640zM672 380H471.426l62.851 36.287c15.306 8.836 20.55 28.408 11.713 43.713s-28.406 20.551-43.713 11.713l-166.277-96c-0.044-0.025-0.085-0.053-0.128-0.079-0.352-0.206-0.698-0.418-1.041-0.637-0.134-0.085-0.267-0.169-0.399-0.256-0.275-0.181-0.545-0.367-0.814-0.556-0.193-0.135-0.386-0.27-0.575-0.409-0.184-0.136-0.365-0.276-0.546-0.415-0.259-0.199-0.518-0.399-0.77-0.605l-0.277-0.233c-0.325-0.272-0.646-0.547-0.959-0.831l-0.025-0.023a31.78 31.78 0 0 1-5.803-7.031c-0.127-0.208-0.245-0.423-0.368-0.634-0.125-0.216-0.254-0.43-0.373-0.649a31.75 31.75 0 0 1-3.186-8.538l-0.008-0.035a29.96 29.96 0 0 1-0.239-1.243c-0.021-0.12-0.044-0.239-0.064-0.359-0.052-0.319-0.096-0.64-0.138-0.962-0.031-0.23-0.062-0.459-0.088-0.69a31.94 31.94 0 0 1-0.066-0.694c-0.03-0.33-0.056-0.66-0.075-0.991-0.009-0.156-0.015-0.312-0.022-0.468-0.018-0.409-0.029-0.818-0.031-1.229 0-0.049-0.004-0.097-0.004-0.146 0-0.056 0.004-0.111 0.004-0.167 0.002-0.447 0.013-0.895 0.034-1.343l0.014-0.269a30.933 30.933 0 0 1 0.132-1.636 31.515 31.515 0 0 1 0.408-2.707c0.036-0.185 0.072-0.37 0.111-0.554 0.064-0.298 0.134-0.596 0.206-0.893 0.058-0.239 0.117-0.477 0.18-0.714a36.85 36.85 0 0 1 0.468-1.584c0.059-0.18 0.12-0.36 0.182-0.539 0.117-0.342 0.239-0.681 0.368-1.017 0.051-0.133 0.104-0.265 0.156-0.397 0.151-0.38 0.308-0.756 0.474-1.129 0.043-0.098 0.088-0.195 0.132-0.292a29.47 29.47 0 0 1 0.698-1.436c0.204-0.395 0.417-0.785 0.637-1.17 0.029-0.05 0.054-0.102 0.083-0.152 0.019-0.033 0.041-0.064 0.06-0.097a31.993 31.993 0 0 1 2.214-3.309 35.719 35.719 0 0 1 1.164-1.432c0.185-0.216 0.367-0.433 0.557-0.643 0.342-0.378 0.694-0.747 1.053-1.108 0.265-0.266 0.538-0.521 0.811-0.777 0.18-0.168 0.359-0.336 0.543-0.499 0.266-0.238 0.535-0.472 0.808-0.7 0.204-0.171 0.413-0.335 0.622-0.5 0.365-0.29 0.735-0.573 1.111-0.845 0.334-0.242 0.67-0.482 1.014-0.711 0.203-0.135 0.409-0.264 0.615-0.394 0.355-0.226 0.714-0.444 1.078-0.656 0.162-0.094 0.322-0.188 0.485-0.279a31.854 31.854 0 0 1 5.432-2.397l0.056-0.019c1.281-0.425 2.596-0.774 3.944-1.037l0.06-0.011c0.582-0.112 1.169-0.206 1.762-0.286 0.165-0.023 0.331-0.043 0.497-0.063 0.444-0.053 0.89-0.096 1.34-0.13 0.221-0.017 0.441-0.038 0.662-0.05 0.421-0.024 0.845-0.034 1.27-0.041 0.195-0.004 0.388-0.019 0.583-0.019 0.051 0 0.102 0.005 0.153 0.005H672c17.673 0 32 14.327 32 32S689.673 380 672 380zM672 224H352c-17.673 0-32-14.327-32-32s14.327-32 32-32h320c17.673 0 32 14.327 32 32s-14.327 32-32 32z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="line-service" unicode="" d="M320 800h-64c-88.225 0-160-71.776-160-160v-64c0-88.224 71.775-160 160-160h192c17.673 0 32 14.327 32 32V640c0 88.224-71.775 160-160 160z m96-224v-96H256c-52.935 0-96 43.065-96 96v64c0 52.935 43.065 96 96 96h64c52.935 0 96-43.065 96-96v-64zM768 800h-64c-88.225 0-160-71.776-160-160v-192c0-17.673 14.327-32 32-32h192c88.225 0 160 71.776 160 160v64c0 88.224-71.775 160-160 160z m96-224c0-52.935-43.065-96-96-96H608V640c0 52.935 43.065 96 96 96h64c52.935 0 96-43.065 96-96v-64zM448 352H256c-88.225 0-160-71.775-160-160v-64c0-88.225 71.775-160 160-160h64c88.225 0 160 71.775 160 160V320c0 17.673-14.327 32-32 32z m-32-160v-64c0-52.935-43.065-96-96-96h-64c-52.935 0-96 43.065-96 96v64c0 52.935 43.065 96 96 96h160v-96zM768 352H576c-17.673 0-32-14.327-32-32v-192c0-88.225 71.775-160 160-160h64c88.225 0 160 71.775 160 160v64c0 88.225-71.775 160-160 160z m96-224c0-52.935-43.065-96-96-96h-64c-52.935 0-96 43.065-96 96V288h160c52.935 0 96-43.065 96-96v-64z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="line-shop" unicode="" d="M928 553.99c0.06 12.75-5 27.04-55.02 138.29-11.91 26.48-23.19 51.57-30.46 68.74C832.49 784.7 809.36 800 783.61 800H242.2c-25.6 0-48.66-15.16-58.74-38.59-7.39-17.17-18.94-42.37-31.11-68.98C101.19 580.69 96 566.35 96 553.52c0.06-53.18 22.84-102.76 61.4-137.23V64c0-52.935 43.065-96 96-96h517.215c52.935 0 96 43.065 96 96h-0.015V416.68c38.61 34.55 61.41 84.28 61.4 137.31z m-717.46 111.8c12.41 27.11 24.16 52.79 31.66 70.21h541.41c7.41-17.49 18.88-43.02 30.99-69.96 17.92-39.86 44.63-99.28 49.36-114.8-0.84-36.22-17.91-69.73-45.81-91.73a31.844 31.844 0 0 1-5.08-3.77c-3.76-2.65-7.67-5.12-11.77-7.35-15.95-8.75-35.33-13.23-57.44-13.34-35.72 0-69.25 15.53-91.99 42.62-12.2 14.5-36.89 14.48-49.03-0.01-22.54-26.85-55.62-42.41-90.34-42.69-35.46 0.21-68.77 15.75-91.4 42.6a31.971 31.971 0 0 1-24.47 11.39h-0.03a32 32 0 0 1-24.47-11.42c-22.78-27.13-56.24-42.75-91.71-42.85-21.41 0-40.17 4.13-55.8 12.28-0.28 0.17-0.58 0.32-0.86 0.48-3.99 2.13-7.82 4.47-11.5 6.99-2.3 2.36-4.98 4.37-7.92 5.92a120.182 120.182 0 0 0-44.29 90.17c4.92 15.71 32.19 75.28 50.49 115.26zM770.615 32H253.4c-17.645 0-32 14.355-32 32V379.33c18.17-5.73 37.94-8.64 59.11-8.64 21.42 0.07 42.35 3.81 61.97 10.85a183.46 183.46 0 0 1 54.2 30.69c32.3-26.26 72.96-41 115.87-41.26 42.31 0.33 82.69 15.11 114.82 41.37 32.53-26.54 73.52-41.29 116.65-41.29 20.97 0.1 40.57 3.03 58.58 8.7V64h0.015c0-17.645-14.355-32-32-32zM512 256c-17.673 0-32-14.327-32-32v-96c0-17.673 14.327-32 32-32 17.674 0 32 14.327 32 32v96c0 17.673-14.327 32-32 32z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="line-system" unicode="" d="M832 799H192c-52.935 0-96-43.065-96-96v-640c0-52.935 43.065-96 96-96h640c52.935 0 96 43.065 96 96V703c0 52.935-43.065 96-96 96z m32-736c0-17.645-14.355-32-32-32H192c-17.645 0-32 14.355-32 32V703c0 17.645 14.355 32 32 32h640c17.645 0 32-14.355 32-32v-640zM768 575H544a32.36 32.36 0 0 1-3.986-0.256C525.858 630.019 475.625 671 416 671s-109.857-40.981-124.014-96.256A32.165 32.165 0 0 1 288 575h-32c-17.673 0-32-14.327-32-32s14.327-32 32-32h32a32.36 32.36 0 0 1 3.986 0.256C306.142 455.981 356.375 415 416 415s109.857 40.981 124.014 96.256c1.307-0.163 2.635-0.256 3.986-0.256h224c17.673 0 32 14.327 32 32s-14.327 32-32 32z m-352-96c-35.29 0-64 28.71-64 64s28.71 64 64 64 64-28.71 64-64-28.71-64-64-64zM768 255h-32a32.36 32.36 0 0 1-3.986-0.256C717.858 310.019 667.625 351 608 351s-109.857-40.981-124.014-96.256A32.165 32.165 0 0 1 480 255H288c-17.673 0-32-14.327-32-32s14.327-32 32-32h192a32.36 32.36 0 0 1 3.986 0.256C498.142 135.981 548.375 95 608 95s109.857 40.981 124.014 96.256c1.307-0.163 2.635-0.256 3.986-0.256h32c17.673 0 32 14.327 32 32s-14.327 32-32 32z m-160-96c-35.29 0-64 28.71-64 64s28.71 64 64 64 64-28.71 64-64-28.71-64-64-64z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="line-shipment" unicode="" d="M832 800H192c-52.935 0-96-43.065-96-96v-640c0-52.935 43.065-96 96-96h640c52.935 0 96 43.065 96 96V704c0 52.935-43.065 96-96 96z m-192-64v-32c0-17.645-14.355-32-32-32H416c-17.645 0-32 14.355-32 32v32h256z m224-672c0-17.645-14.355-32-32-32H192c-17.645 0-32 14.355-32 32V704c0 17.645 14.355 32 32 32h128v-32c0-52.935 43.065-96 96-96h192c52.935 0 96 43.065 96 96v32h128c17.645 0 32-14.355 32-32v-640zM672 224H352c-17.673 0-32-14.327-32-32s14.327-32 32-32h320c17.673 0 32 14.327 32 32s-14.327 32-32 32zM703.965 349.392a32.074 32.074 0 0 1-0.02 0.438c-0.02 0.341-0.047 0.681-0.078 1.021-0.02 0.223-0.039 0.445-0.063 0.667-0.027 0.24-0.059 0.48-0.091 0.719a28.624 28.624 0 0 1-0.134 0.932c-0.022 0.132-0.047 0.264-0.071 0.396a31.747 31.747 0 0 1-0.232 1.207l-0.018 0.076a31.77 31.77 0 0 1-2.494 7.182l-0.023 0.044c-0.211 0.43-0.43 0.856-0.659 1.275-0.132 0.242-0.275 0.48-0.413 0.719-0.109 0.188-0.214 0.379-0.327 0.565a31.793 31.793 0 0 1-5.815 7.043l-0.014 0.013a32.408 32.408 0 0 1-0.967 0.837c-0.09 0.076-0.179 0.153-0.269 0.227a33.464 33.464 0 0 1-0.774 0.609c-0.18 0.139-0.359 0.277-0.542 0.412-0.19 0.139-0.384 0.275-0.578 0.411a32.279 32.279 0 0 1-0.812 0.555 27.471 27.471 0 0 1-0.402 0.257 32.455 32.455 0 0 1-1.04 0.636c-0.044 0.025-0.085 0.053-0.129 0.079l-166.277 96c-15.303 8.837-34.876 3.593-43.712-11.713-8.836-15.305-3.592-34.876 11.713-43.713L552.574 380H352c-17.673 0-32-14.327-32-32s14.327-32 32-32h319.817c0.051 0 0.102-0.005 0.153-0.005 0.194 0 0.387 0.015 0.581 0.019 0.426 0.007 0.851 0.017 1.273 0.041 0.22 0.013 0.439 0.033 0.658 0.05 0.451 0.035 0.9 0.078 1.346 0.131 0.163 0.02 0.326 0.04 0.489 0.062a32.327 32.327 0 0 1 1.775 0.288l0.047 0.008a31.83 31.83 0 0 1 3.956 1.04l0.036 0.012c0.64 0.214 1.272 0.446 1.894 0.698l0.03 0.012a31.823 31.823 0 0 1 3.53 1.697c0.155 0.086 0.307 0.176 0.46 0.265a31.13 31.13 0 0 1 1.108 0.674c0.198 0.126 0.397 0.25 0.592 0.38 0.364 0.243 0.72 0.495 1.072 0.753 0.351 0.255 0.695 0.52 1.036 0.79 0.219 0.174 0.439 0.346 0.653 0.525a32.23 32.23 0 0 1 1.355 1.204c0.256 0.239 0.512 0.477 0.761 0.725a32.12 32.12 0 0 1 1.094 1.151c0.187 0.207 0.368 0.422 0.55 0.635a32.659 32.659 0 0 1 1.166 1.435 32.105 32.105 0 0 1 2.216 3.312c0.019 0.033 0.041 0.064 0.06 0.097 0.029 0.05 0.054 0.102 0.083 0.153 0.22 0.385 0.432 0.774 0.636 1.168l0.129 0.252c0.197 0.39 0.386 0.784 0.568 1.182l0.136 0.3a31.49 31.49 0 0 1 0.995 2.533c0.063 0.183 0.126 0.365 0.186 0.549 0.093 0.286 0.179 0.574 0.264 0.863 0.071 0.24 0.14 0.481 0.205 0.722 0.062 0.231 0.119 0.464 0.176 0.698 0.074 0.303 0.145 0.607 0.21 0.911 0.038 0.177 0.072 0.356 0.107 0.534 0.071 0.363 0.137 0.727 0.195 1.091 0.021 0.131 0.04 0.263 0.059 0.394 0.061 0.414 0.114 0.828 0.158 1.243l0.029 0.292c0.044 0.448 0.078 0.896 0.102 1.344 0.004 0.082 0.009 0.165 0.012 0.248 0.021 0.456 0.033 0.912 0.035 1.368 0 0.051 0.004 0.102 0.004 0.153 0 0.045-0.003 0.088-0.003 0.133 0.001 0.423-0.01 0.843-0.029 1.262z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="line-team" unicode="" d="M669.102 241.911c39.847 23.658 73.758 56.33 99.051 95.648 31.072 48.305 47.496 104.344 47.496 162.058 0 79.952-31.053 155.122-87.437 211.665C671.804 767.848 596.798 799 517.013 799s-154.791-31.152-211.199-87.719c-56.384-56.543-87.437-131.713-87.437-211.665 0-60.505 17.923-118.808 51.831-168.605 27.755-40.762 64.655-73.7 107.763-96.426l-57.494-218.441c-4.498-17.091 5.71-34.593 22.801-39.091 17.095-4.498 34.593 5.71 39.092 22.801l64.276 244.211c4.079 15.498-3.935 31.622-18.75 37.73-42.518 17.528-78.753 47.002-104.787 85.236-26.646 39.133-40.731 84.98-40.731 132.584 0 62.89 24.418 122.011 68.755 166.473C395.445 710.527 454.356 735 517.013 735s121.567-24.473 165.881-68.911c44.337-44.461 68.755-103.583 68.755-166.473 0-45.41-12.905-89.476-37.322-127.434-23.799-36.997-57.281-66.507-96.829-85.341-14.104-6.717-21.298-22.637-17.016-37.662l71.233-249.951c4.009-14.066 16.824-23.238 30.758-23.238a32 32 0 0 1 8.787 1.234c16.996 4.844 26.848 22.548 22.004 39.545l-64.162 225.142zM236.612 276.233c-30.481 0-51.497 21.59-63.76 39.703C155.412 341.695 145 376.418 145 408.82c0 35.3 16.112 75.12 39.182 96.834 12.869 12.113 13.482 32.365 1.369 45.234-12.114 12.869-32.365 13.481-45.234 1.369C104.283 518.342 81 462.039 81 408.82c0-45.359 14.163-92.292 38.856-128.766 20.209-29.85 45.943-50.547 74.768-60.681l-62.74-188.692c-5.576-16.771 3.498-34.886 20.269-40.462a31.976 31.976 0 0 1 10.102-1.644c13.405 0 25.898 8.493 30.36 21.912l74.363 223.647a32 32 0 0 1-30.366 42.099zM911.144 280.055C935.837 316.528 950 363.461 950 408.82c0 53.219-23.283 109.521-59.316 143.438-12.87 12.112-33.121 11.5-45.234-1.369s-11.5-33.122 1.369-45.234C869.888 483.94 886 444.121 886 408.82c0-32.402-10.412-67.125-27.853-92.885-12.263-18.112-33.278-39.703-63.76-39.703a32 32 0 0 1-30.365-42.097l74.363-223.647c4.462-13.42 16.954-21.912 30.36-21.912 3.347 0 6.751 0.529 10.102 1.644 16.771 5.576 25.845 23.691 20.269 40.462l-62.74 188.692c28.824 10.133 54.559 30.831 74.768 60.681z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="line-statistics" unicode="" d="M924.534 461.515c0.261 0.091 0.525 0.177 0.782 0.275 0.096 0.037 0.189 0.079 0.285 0.116 14.981 5.851 23.488 22.151 19.238 38.052C903.616 654.195 782.194 775.617 627.958 816.84c-17.003 4.546-34.469-5.499-39.118-22.449-0.018-0.064-0.039-0.126-0.056-0.19l-0.001-0.005-0.003-0.009-0.002-0.009-10.168-37.948C546.475 764.046 513.436 768 480 768c-56.146 0-110.628-11.003-161.936-32.705-49.541-20.954-94.026-50.945-132.221-89.139s-68.185-82.68-89.139-132.221C75.003 462.628 64 408.146 64 352s11.003-110.629 32.705-161.936c20.954-49.541 50.945-94.026 89.139-132.221s82.68-68.186 132.221-89.14C369.372-52.996 423.854-64 480-64s110.629 11.004 161.936 32.704c49.541 20.954 94.026 50.945 132.221 89.14s68.186 82.68 89.14 132.221C884.996 241.371 896 295.854 896 352c0 33.436-3.954 66.475-11.769 98.61l37.971 10.174c0.424 0.114 0.841 0.241 1.256 0.371 0.104 0.032 0.21 0.059 0.313 0.093 0.258 0.083 0.509 0.178 0.763 0.267z m-51.081 52.465l-37.413-10.025-0.049-0.013-278.737-74.687 74.685 278.73 0.018 0.067 10.022 37.402c107.534-38.667 192.808-123.94 231.474-231.474zM832 352c0-94.022-36.614-182.417-103.099-248.901S574.022 0 480 0s-182.417 36.614-248.901 103.099C164.614 169.583 128 257.978 128 352s36.614 182.417 103.099 248.901C297.583 667.386 385.978 704 480 704c27.823 0 55.302-3.237 82.038-9.618l-80.947-302.1-0.039-0.162c-0.114-0.433-0.219-0.868-0.315-1.307l-0.056-0.263a31.53 31.53 0 0 1-0.245-1.304c-0.017-0.103-0.035-0.206-0.051-0.31-0.064-0.405-0.119-0.812-0.166-1.221-0.016-0.138-0.033-0.277-0.047-0.415-0.037-0.36-0.067-0.722-0.093-1.084-0.013-0.188-0.026-0.376-0.036-0.564-0.016-0.305-0.025-0.61-0.032-0.916-0.006-0.246-0.011-0.491-0.011-0.736s0.005-0.491 0.011-0.736c0.007-0.306 0.016-0.611 0.032-0.916 0.01-0.188 0.023-0.376 0.036-0.564 0.025-0.363 0.055-0.724 0.093-1.085 0.014-0.138 0.031-0.276 0.047-0.414a31.24 31.24 0 0 1 0.836-4.409c0.014-0.053 0.024-0.106 0.038-0.159l0.026-0.083c0.221-0.813 0.472-1.616 0.755-2.407 0.041-0.114 0.085-0.226 0.127-0.34 0.274-0.739 0.568-1.47 0.895-2.186 0.065-0.144 0.138-0.282 0.206-0.424 0.263-0.554 0.543-1.1 0.838-1.637 0.111-0.204 0.218-0.411 0.334-0.612 0.328-0.57 0.679-1.126 1.042-1.675a31.5 31.5 0 0 1 1.648-2.278c0.138-0.173 0.28-0.34 0.421-0.51 0.421-0.508 0.856-1.006 1.309-1.489 0.058-0.062 0.113-0.127 0.171-0.188a32.078 32.078 0 0 1 1.697-1.641l0.214-0.194c0.609-0.54 1.239-1.059 1.891-1.554l0.024-0.018a31.747 31.747 0 0 1 4.252-2.715l0.134-0.071c0.721-0.38 1.458-0.737 2.215-1.064l0.148-0.061c0.644-0.274 1.301-0.525 1.969-0.759 0.174-0.061 0.348-0.125 0.523-0.184 0.588-0.194 1.182-0.377 1.788-0.539 0.061-0.016 0.122-0.027 0.182-0.043 0.366-0.096 0.737-0.175 1.108-0.258 0.408-0.092 0.817-0.181 1.225-0.256a33.05 33.05 0 0 1 2.467-0.352c0.318-0.033 0.635-0.07 0.955-0.094 0.729-0.054 1.456-0.086 2.18-0.091 0.049 0 0.096-0.006 0.145-0.006l0.02 0.001 0.02-0.001c0.049 0 0.097 0.006 0.146 0.006a31.76 31.76 0 0 1 2.175 0.09c0.324 0.024 0.645 0.061 0.968 0.095a31.382 31.382 0 0 1 2.463 0.352c0.405 0.075 0.81 0.163 1.215 0.254 0.371 0.083 0.743 0.162 1.11 0.259 0.061 0.016 0.123 0.026 0.184 0.043l302.101 80.947C828.763 407.302 832 379.823 832 352z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="line-wallet" unicode="" d="M864 768H160c-52.93 0-96-43.07-96-96v-576c0-52.93 43.07-96 96-96h704c52.93 0 96 43.07 96 96V672c0 52.93-43.07 96-96 96z m32-512H672c-17.645 0-32 14.355-32 32V480c0 17.645 14.355 32 32 32h224v-256zM672 576c-52.935 0-96-43.065-96-96v-192c0-52.935 43.065-96 96-96h224v-96c0-17.65-14.35-32-32-32H160c-17.65 0-32 14.35-32 32V672c0 17.65 14.35 32 32 32h704c17.65 0 32-14.35 32-32v-96H672zM768 336c26.51 0 48 21.49 48 48s-21.49 48-48 48-48-21.49-48-48 21.49-48 48-48z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="line-workset" unicode="" d="M832 800H192c-52.935 0-96-43.065-96-96v-448c0-52.935 43.065-96 96-96h288v-128H288c-17.673 0-32-14.327-32-32 0-17.673 14.327-32 32-32h448c17.673 0 32 14.327 32 32 0 17.673-14.327 32-32 32H544V160h288c52.935 0 96 43.065 96 96V704c0 52.935-43.065 96-96 96z m32-544c0-17.645-14.355-32-32-32H192c-17.645 0-32 14.355-32 32V704c0 17.645 14.355 32 32 32h640c17.645 0 32-14.355 32-32v-448zM603.998 606.984A31.998 31.998 0 0 1 576.276 623h-128a31.999 31.999 0 0 1-27.722-16.016l-64-111a32 32 0 0 1 0-31.968l64-111A31.998 31.998 0 0 1 448.276 337h128a31.999 31.999 0 0 1 27.722 16.016l64 111a32 32 0 0 1 0 31.968l-64 111zM557.789 401h-91.025l-45.549 79 45.549 79h91.025l45.549-79-45.549-79z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="line-organizational" unicode="" d="M864 287.998h-47.999V384c0 2.209-0.224 4.366-0.65 6.449s-1.055 4.092-1.865 6.007a31.976 31.976 0 0 1-4.793 7.899 32.157 32.157 0 0 1-9.44 7.783A31.905 31.905 0 0 1 784 416.001H547v64h48c52.935 0 96 43.065 96 96V736c0 52.935-43.065 96-96 96H435c-52.935 0-96-43.065-96-96v-160c0-52.935 43.065-96 96-96h48v-64H239.999a31.89 31.89 0 0 1-15.253-3.863 32.075 32.075 0 0 1-9.44-7.783 32.037 32.037 0 0 1-4.793-7.899c-0.81-1.914-1.438-3.924-1.865-6.007s-0.65-4.24-0.65-6.449v-96.002H160c-52.935 0-96-43.065-96-95.999V32c0-52.935 43.065-96 96-96h159.999c52.935 0 96 43.065 96 96V191.999c0 52.934-43.065 95.999-96 95.999H272V352h480.001v-64.002h-47.999c-52.935 0-96-43.065-96-96V32c0-52.935 43.065-96 96-96H864c52.935 0 96 43.065 96 96V191.998c0 52.935-43.065 96-96 96zM403 576V736c0 17.645 14.355 32 32 32h160c17.645 0 32-14.355 32-32v-160c0-17.645-14.355-32-32-32H435c-17.645 0-32 14.355-32 32z m-51.001-384.001V32c0-17.645-14.355-32-32-32H160c-17.645 0-32 14.355-32 32V191.999c0 17.645 14.355 31.999 32 31.999h77.997c0.663-0.041 1.329-0.069 2.002-0.069 0.673 0 1.339 0.028 2.002 0.069h77.997c17.646 0 32.001-14.354 32.001-31.999zM896 32c0-17.645-14.355-32-32-32H704.002c-17.645 0-32 14.355-32 32V191.998c0 17.645 14.355 32 32 32H864c17.645 0 32-14.355 32-32V32z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="line-shoppingcart" unicode="" d="M945.933 606.412c-13.157 17.293-33.16 27.208-54.896 27.208H156.77l-24.327 145.632c-3.13 18.731-20.727 31.368-39.654 28.285-18.776-3.127-31.444-20.864-28.315-39.612L165.77 161.501C171.338 128.184 199.922 104 233.737 104h547.795c32.486 0 60.733 22.763 67.731 54.333l108.161 387.972c5.837 20.907 1.648 42.814-11.491 60.107zM782.592 175.761c-0.236-0.84-0.892-2.075-1.06-2.924H233.738l-65.461 391.947h722.76L782.592 175.761zM320 56c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zM704 56c-26.51 0-48-21.49-48-48s21.49-48 48-48 48 21.49 48 48-21.49 48-48 48zM384 232h256c17.673 0 32 14.327 32 32s-14.327 32-32 32H384c-17.673 0-32-14.327-32-32s14.327-32 32-32z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="line-purchase1" unicode="" d="M832 800H192c-52.935 0-96-43.065-96-96v-640c0-52.935 43.065-96 96-96h640c52.935 0 96 43.065 96 96V704c0 52.935-43.065 96-96 96z m-192-64v-32c0-17.645-14.355-32-32-32H416c-17.645 0-32 14.355-32 32v32h256z m224-672c0-17.645-14.355-32-32-32H192c-17.645 0-32 14.355-32 32V704c0 17.645 14.355 32 32 32h128v-32c0-52.935 43.065-96 96-96h192c52.935 0 96 43.065 96 96v32h128c17.645 0 32-14.355 32-32v-640zM672 380H471.426l62.851 36.287c15.306 8.836 20.55 28.408 11.713 43.713s-28.406 20.551-43.713 11.713l-166.277-96c-0.044-0.025-0.085-0.053-0.128-0.079-0.352-0.206-0.698-0.418-1.041-0.637-0.134-0.085-0.267-0.169-0.399-0.256-0.275-0.181-0.545-0.367-0.814-0.556-0.193-0.135-0.386-0.27-0.575-0.409-0.184-0.136-0.365-0.276-0.546-0.415-0.259-0.199-0.518-0.399-0.77-0.605l-0.277-0.233c-0.325-0.272-0.646-0.547-0.959-0.831l-0.025-0.023a31.78 31.78 0 0 1-5.803-7.031c-0.127-0.208-0.245-0.423-0.368-0.634-0.125-0.216-0.254-0.43-0.373-0.649a31.75 31.75 0 0 1-3.186-8.538l-0.008-0.035a29.96 29.96 0 0 1-0.239-1.243c-0.021-0.12-0.044-0.239-0.064-0.359-0.052-0.319-0.096-0.64-0.138-0.962-0.031-0.23-0.062-0.459-0.088-0.69a31.94 31.94 0 0 1-0.066-0.694c-0.03-0.33-0.056-0.66-0.075-0.991-0.009-0.156-0.015-0.312-0.022-0.468-0.018-0.409-0.029-0.818-0.031-1.229 0-0.049-0.004-0.097-0.004-0.146 0-0.056 0.004-0.111 0.004-0.167 0.002-0.447 0.013-0.895 0.034-1.343l0.014-0.269a30.933 30.933 0 0 1 0.132-1.636 31.515 31.515 0 0 1 0.408-2.707c0.036-0.185 0.072-0.37 0.111-0.554 0.064-0.298 0.134-0.596 0.206-0.893 0.058-0.239 0.117-0.477 0.18-0.714a36.85 36.85 0 0 1 0.468-1.584c0.059-0.18 0.12-0.36 0.182-0.539 0.117-0.342 0.239-0.681 0.368-1.017 0.051-0.133 0.104-0.265 0.156-0.397 0.151-0.38 0.308-0.756 0.474-1.129 0.043-0.098 0.088-0.195 0.132-0.292a29.47 29.47 0 0 1 0.698-1.436c0.204-0.395 0.417-0.785 0.637-1.17 0.029-0.05 0.054-0.102 0.083-0.152 0.019-0.033 0.041-0.064 0.06-0.097a31.993 31.993 0 0 1 2.214-3.309 35.719 35.719 0 0 1 1.164-1.432c0.185-0.216 0.367-0.433 0.557-0.643 0.342-0.378 0.694-0.747 1.053-1.108 0.265-0.266 0.538-0.521 0.811-0.777 0.18-0.168 0.359-0.336 0.543-0.499 0.266-0.238 0.535-0.472 0.808-0.7 0.204-0.171 0.413-0.335 0.622-0.5 0.365-0.29 0.735-0.573 1.111-0.845 0.334-0.242 0.67-0.482 1.014-0.711 0.203-0.135 0.409-0.264 0.615-0.394 0.355-0.226 0.714-0.444 1.078-0.656 0.162-0.094 0.322-0.188 0.485-0.279a31.854 31.854 0 0 1 5.432-2.397l0.056-0.019c1.281-0.425 2.596-0.774 3.944-1.037l0.06-0.011c0.582-0.112 1.169-0.206 1.762-0.286 0.165-0.023 0.331-0.043 0.497-0.063 0.444-0.053 0.89-0.096 1.34-0.13 0.221-0.017 0.441-0.038 0.662-0.05 0.421-0.024 0.845-0.034 1.27-0.041 0.195-0.004 0.388-0.019 0.583-0.019 0.051 0 0.102 0.005 0.153 0.005H672c17.673 0 32 14.327 32 32S689.673 380 672 380zM672 224H352c-17.673 0-32-14.327-32-32s14.327-32 32-32h320c17.673 0 32 14.327 32 32s-14.327 32-32 32z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="line-template" unicode="" d="M832 800H192c-52.935 0-96-43.065-96-96v-640c0-52.935 43.065-96 96-96h640c52.935 0 96 43.065 96 96V704c0 52.935-43.065 96-96 96z m-640-64h640c17.645 0 32-14.355 32-32v-160H160V704c0 17.645 14.355 32 32 32z m-32-672V480h192v-448H192c-17.645 0-32 14.355-32 32z m672-32H416V480h448v-416c0-17.645-14.355-32-32-32z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-heart-empty" unicode="" d="M699.2 768c-72.8 0-141.4-33.4-187.2-87.8C466.2 734.6 397.6 768 324.8 768 195.8 768 96 667.6 96 537.8c0-159 141.4-286.6 355.6-483.4L512 0l60.4 54.4C786.6 251.2 928 378.8 928 537.8 928 667.6 828.2 768 699.2 768z m-161.6-658.6l-8.4-7.8-17.2-15.6-17.2 15.6-8.4 7.8c-100.8 92.6-188 172.6-245.4 244-56 69.4-80.8 126.2-80.8 184.4 0 45.8 16.8 87.8 47.4 118.6 30.4 30.8 72 47.6 117.2 47.6 52.2 0 104-24.4 138.2-65l49-58.2 49 58.2c34.2 40.8 86 65 138.2 65 45.2 0 86.8-16.8 117.4-47.6 30.6-30.8 47.4-73 47.4-118.6 0-58-25-115-80.8-184.4-57.6-71.4-144.6-151.4-245.6-244z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-remove-circle-outline" unicode="" d="M693 416h-362c-17.6 0-32-12-32-32s15-32 32-32h362c17.6 0 32 14.4 32 32s-14.4 32-32 32zM512 744c96.2 0 186.6-37.4 254.6-105.4S872 480.2 872 384s-37.4-186.6-105.4-254.6S608.2 24 512 24c-96.2 0-186.6 37.4-254.6 105.4S152 287.8 152 384s37.4 186.6 105.4 254.6S415.8 744 512 744m0 56C282.2 800 96 613.8 96 384s186.2-416 416-416 416 186.2 416 416S741.8 800 512 800z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-notifications-outline" unicode="" d="M579.4 90c-12.2 0-22.8-8.4-25.4-20.4-2-9-5.4-16.4-10-21.8-2.6-3-10.2-11.8-32.2-11.8-22 0-29.6 9-32.2 11.8-4.6 5.4-8 12.8-10 21.8-2.6 12-13.2 20.4-25.4 20.4-16.8 0-29-15.6-25.4-31.8 10-44.6 42-74.2 93-74.2s83 29.4 93 74.2c3.6 16.2-8.8 31.8-25.4 31.8zM824 191.6c-30.8 40.6-91.4 64.4-91.4 246.2 0 186.6-82.4 261.6-159.2 279.6-7.2 1.8-12.4 4.2-12.4 11.8v5.8c0 26.6-21.6 49.2-48 49.2h-1.2c-26.4 0-48-22.6-48-49.2v-5.8c0-7.4-5.2-10-12.4-11.8-77-18.2-159.2-93-159.2-279.6 0-181.8-60.6-205.4-91.4-246.2-19.8-26.2-1-63.6 31.8-63.6h560.2c32.2 0 50.8 37.6 31.2 63.6z m-78-11.6H279.6c-7.6 0-11.6 8.8-6.6 14.6 14 16 29.4 37 42 66.8 19.2 45.2 28.6 103 28.6 176.4 0 74.6 14 133 41.8 173.6 24.8 36.4 55.8 50.2 77.4 55.2 16.8 4 28.8 11.6 37.2 21 6.4 7.2 17.4 7.6 23.8 0.4 10.2-11.4 24-18.2 37.6-21.4 21.6-5 52.6-18.8 77.4-55.2 27.8-40.6 41.8-99 41.8-173.6 0-73.4 9.4-131.2 28.6-176.4 13-30.4 28.8-51.8 43-67.8 4.4-5.4 0.8-13.6-6.2-13.6z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-resize" unicode="" d="M836.6 736H615.6c-15 0-27.4-12.2-27.4-27.4v-0.4c0-15 12.2-27.4 27.4-27.4h153L215.2 127.4v153c0 15-12.2 27.4-27.4 27.4h-0.4c-15 0-27.4-12.2-27.4-27.4v-221c0-15 12.2-27.4 27.4-27.4h221c15 0 27.4 12.2 27.4 27.4v0.4c0 15-12.2 27.4-27.4 27.4h-153l553.4 553.4v-153c0-15 12.2-27.4 27.4-27.4h0.4c15 0 27.4 12.2 27.4 27.4V708.6c0 15.2-12.2 27.4-27.4 27.4z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-shuffle" unicode="" d="M811.8 319.8c-5.2 5.2-12.4 8.2-19.8 8.2s-14.4-2.8-19.8-8.2c-5.4-5.2-8.2-12.4-8.2-19.8s3-14.4 8.2-19.8l32.6-32.4h-151l-248 310-0.2 0.2c-5.2 6.2-13.4 10-21.6 10H156c-15.4 0-28-12.6-28-28s12.6-28 28-28h214.8l105-132-105-132H156c-15.4 0-28-12.6-28-28s12.6-28 28-28h228c8.2 0 16 3.6 21.4 10l0.2 0.2 106.4 133.6 106.4-133.6 0.2-0.2c5.4-6.4 13.2-10 21.4-10h168.8l-32.6-32.4c-5.4-5.2-8.2-12.2-8.2-19.8 0-7.4 3-14.4 8.2-19.8 5.2-5.2 12.4-8.2 19.8-8.2s14.4 2.8 19.8 8.2l67.2 66.8c8.4 8.2 13 19.2 13 31s-4.6 22.8-13 31l-71.2 71zM558.8 425.2c2.2-2.8 5.6-4.2 9.2-4.2h0.2c3.6 0 7 1.6 9.2 4.4l75.8 94.6h151.6l-32.6-32.4c-5.4-5.2-8.2-12.2-8.2-19.8 0-7.4 3-14.4 8.2-19.8 5.2-5.2 12.4-8.2 19.8-8.2s14.4 2.8 19.8 8.2l71.2 70.8c8.4 8.2 13 19.4 13 31 0 11.8-4.6 22.8-13 31l-67.2 66.8c-5.2 5.2-12.4 8.2-19.8 8.2s-14.4-2.8-19.8-8.2c-5.4-5.2-8.2-12.4-8.2-19.8s3-14.4 8.2-19.8l32.6-32.4H640c-8.2 0-16-3.6-21.4-10l-0.2-0.2-80.6-100.4c-3.6-4.4-3.6-10.8 0.2-15.2l20.8-24.6z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-return-left" unicode="" d="M141 365.2l119.2 118.8c5.2 5.2 12.2 8.2 19.8 8.2 7.4 0 14.6-2.8 19.8-8.2 5.2-5.2 8.2-12.2 8.2-19.8s-3-14.6-8.2-19.8l-0.2-0.2-82.2-80.2H740c26.4 0 51.6 10.4 70.6 29.4 19 18.8 29.4 43.8 29.4 70.6v96c0 15.4 12.6 28 28 28s28-12.6 28-28v-96c0-41.6-16.2-80.6-45.8-110.2-29.6-29.6-68.6-45.8-110.2-45.8H216.6l79.2-80.4c5.2-5.2 8.2-12.2 8.2-19.8 0-7.4-2.8-14.6-8.2-19.8l-0.2-0.2c-5.4-5-12.4-7.8-19.6-7.8-7.8 0-14.6 2.8-19.8 8.2l-115.2 114.8c-8.4 8.4-13 19.6-13 31.4 0 11.6 4.6 22.6 13 30.8z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-swap" unicode="" d="M777.8 363.4c-10.2 10-10.4 26.6-0.2 36.8L872 496H422c-14.4 0-26 11.6-26 26s11.6 26 26 26h449.8l-94.4 95.8c-10 10.2-10 26.6 0.2 36.8 10.2 10 26.6 10 36.8-0.2l138-140c2.2-2.4 4.2-5 5.4-8.2 1.4-3.2 2-6.6 2-10 0-6.8-2.6-13.2-7.4-18.2l-138-140c-10-10.4-26.4-10.6-36.6-0.6z m-531.6-276c10.2 10 10.4 26.6 0.2 36.8L152.2 220H602c14.4 0 26 11.6 26 26s-11.6 26-26 26H152.2l94.4 95.8c10 10.2 10 26.6-0.2 36.8-10.2 10-26.6 10-36.8-0.2l-138-140c-2.2-2.4-4.2-5-5.4-8.2-1.4-3.2-2-6.6-2-10 0-6.8 2.6-13.2 7.4-18.2l138-140c10-10.4 26.4-10.6 36.6-0.6z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-search" unicode="" d="M887 55.6L673.4 271.2c41.8 52.4 67 118.8 67 191 0 169-137 306-306.2 306S128 631 128 462s137-306 306.2-306c73.2 0 140.2 25.6 193 68.4l212.2-214.2c6.4-6.8 15.2-10.2 23.8-10.2 8.2 0 16.4 3 22.6 9 13.2 12.6 13.6 33.4 1.2 46.6z m-452.8 166.2c-64.2 0-124.6 25-170 70.4-45.4 45.4-70.4 105.8-70.4 169.8 0 64.2 25 124.6 70.4 169.8 45.4 45.4 105.8 70.4 170 70.4s124.6-25 170-70.4c45.4-45.4 70.4-105.8 70.4-169.8 0-64.2-25-124.6-70.4-169.8-45.4-45.4-105.8-70.4-170-70.4z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-repeat" unicode="" d="M673.2 581L606 647.8c-7 7-17 9.8-27.2 7.2-2.4-0.6-4.8-1.6-7-3-9.4-5.8-14.4-15.6-13.6-26.2 0.4-6.8 3.8-13.2 8.6-18.2l32-31.8H284c-41.6 0-80.6-16.2-110.2-45.8C144.2 500.6 128 461.6 128 420v-32c0-15.4 12.6-28 28-28s28 12.6 28 28v32c0 26.6 10.4 51.6 29.4 70.6 19 19 44 29.4 70.6 29.4h310.8l-32-31.8c-4.8-4.8-8-10.8-8.6-17.4-0.8-8.4 2.2-16.6 8.2-22.6 5.2-5.2 12.4-8.2 19.8-8.2s14.4 2.8 19.8 8.2l71.2 70.8c8.4 8.2 13 19.4 13 31-0.2 11.8-4.8 22.8-13 31zM868 408c-15.4 0-28-12.6-28-28v-32c0-26.6-10.4-51.6-29.4-70.6-19-19-44-29.4-70.6-29.4H429.2l32 31.8c4.8 4.8 8 10.8 8.6 17.6 0.8 8.4-2.2 16.6-8.2 22.6-5.2 5.2-12.4 8.2-19.8 8.2s-14.4-2.8-19.8-8.2l-71.2-70.8c-8.4-8.2-13-19.4-13-31 0-11.8 4.6-22.8 13-31l67.2-66.8c7-7 17-9.8 27.2-7.2 2.4 0.6 4.8 1.6 7 3 9.4 5.8 14.4 15.6 13.6 26.2-0.4 6.8-3.8 13.2-8.6 18.2l-32 31.8H740c86 0 156 70 156 156v32c0 15-12.6 27.6-28 27.6z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-qr-scanner" unicode="" d="M348 768h-117.6C156.2 768 96 707.8 96 633.6V516c0-15.4 12.6-28 28-28s28 12.6 28 28v119.6c0 18.2 8.6 37.4 23.4 52.4 15 15.2 34.4 24 53 24H348c15.4 0 28 12.6 28 28s-12.6 28-28 28z m447.6 0H676c-15.4 0-28-12.6-28-28s12.6-28 28-28h119.6c18.6 0 38-8.8 53-24 14.8-15 23.4-34.2 23.4-52.4V516c0-15.4 12.6-28 28-28s28 12.6 28 28v119.6c0 73-59.4 132.4-132.4 132.4zM348 56h-119.6c-18.6 0-38 8.8-53 24-14.8 15-23.4 34.2-23.4 52.4V252c0 15.4-12.6 28-28 28s-28-12.6-28-28v-119.6c0-73 59.4-132.4 132.4-132.4H348c15.4 0 28 12.6 28 28s-12.6 28-28 28z m552 224c-15.4 0-28-12.6-28-28v-119.6c0-18.2-8.6-37.4-23.4-52.4-15-15.2-34.4-24-53-24H676c-15.4 0-28-12.6-28-28s12.6-28 28-28h117.6c74 0 134.4 60.2 134.4 134.4V252c0 15.4-12.6 28-28 28z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-trending-up" unicode="" d="M929.8 640H688.2c-16.6 0-30.2-13.2-30.2-29.6s13.6-29.6 30.2-29.6h167.4l-276-284.4-171.8 168.2c-5.8 5.6-13.2 8.6-21.4 8.6-8 0-15.6-3-21.4-8.6L72.4 178.4c-3.8-3.8-8.4-10.4-8.4-21.4 0-8.2 2.8-15 8.4-20.4 5.8-5.6 13.2-8.6 21.4-8.6 8 0 15.6 3 21.4 8.6L386.4 402l171.8-168.2c5.8-5.6 13.2-8.6 21.4-8.6 8 0 15.6 3 21.4 8.6l298.8 303.8v-163.4c0-16.2 13.6-29.6 30.2-29.6s30.2 13.2 30.2 29.6V610.4c-0.2 16.4-13.8 29.6-30.4 29.6z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-refresh" unicode="" d="M866 318.4c-15.4 0-28.6-11.8-29.8-27.2-13.8-166.2-153.6-295.8-323.6-295.8-179 0-324.8 144.8-324.8 322.8 0 175.2 141.2 318.4 316.4 322.8 4.6 0.2 8.2-3.4 8.2-8v-100.6c0-25.2 27.8-40.4 49.2-27L754 640c20 12.6 20 41.6 0 54.2l-192.2 132.8c-21.4 13.4-49.2-1.8-49.2-27v-91.4c0-4.4-3.4-8-7.8-8C296 696.4 128 526.8 128 318.2 128 107 300.2-64 512.6-64c201.6 0 366.8 153.4 383.2 350.2 1.6 17.4-12.4 32.2-29.8 32.2z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-crop" unicode="" d="M284 768c-15.4 0-28-12.6-28-28v-40c0-15.4 12.6-28 28-28s28 12.6 28 28V740c0 15.4-12.6 28-28 28z m28-556V516c0 15.4-12.6 28-28 28s-28-12.6-28-28v-332c0-31 25-56 56-56h332c15.4 0 28 12.6 28 28s-12.6 28-28 28H340c-15.4 0-28 12.6-28 28z m556-28h-40c-15.4 0-28-12.6-28-28s12.6-28 28-28h40c15.4 0 28 12.6 28 28s-12.6 28-28 28zM128 612c0-15.4 12.6-28 28-28h528c15.4 0 28-12.6 28-28v-528c0-15.4 12.6-28 28-28s28 12.6 28 28V584c0 31-25 56-56 56H156c-15.4 0-28-12.6-28-28z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-female" unicode="" d="M123.2-32c7.2 0 14.2 2.8 19.2 8l89.6 89.6 74-74c5.2-5.2 12-8 19.2-8 7.2 0 14.2 2.8 19.2 8 10.6 10.6 10.6 27.8 0 38.4l-74 74 100 100c61.2-52 138.6-80.6 219.2-80.6 45.6 0 90 9 131.6 26.6 40.2 17 76.4 41.4 107.6 72.4 31 31 55.4 67.2 72.4 107.6 17.6 41.8 26.6 86 26.6 131.6s-9 90-26.6 131.6c-17 40.2-41.4 76.4-72.4 107.6-31 31-67.2 55.4-107.6 72.4-41.8 17.6-86 26.6-131.6 26.6-45.6 0-90-9-131.6-26.6-40.2-17-76.4-41.4-107.6-72.4-31-31-55.4-67.2-72.4-107.6-17.6-41.8-26.6-86-26.6-131.6 0-80.6 28.6-158 80.6-219.2l-100-100-74 74c-5.2 5.2-12 8-19.2 8-7.2 0-14.2-2.8-19.2-8-10.6-10.6-10.6-27.8 0-38.4l74-74L104 14.4c-10.6-10.6-10.6-27.8 0-38.4 5.2-5.2 12-8 19.2-8z m265.8 694.4C442.6 716 514 745.6 589.8 745.6c75.8 0 147-29.6 200.6-83.2 53.6-53.6 83.2-124.8 83.2-200.6s-29.6-147-83.2-200.6c-53.6-53.6-124.8-83.2-200.6-83.2s-147 29.6-200.6 83.2C335.4 314.6 306 386 306 461.8s29.4 147 83 200.6z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-male" unicode="" d="M900.8 800H683c-15 0-27.2-12.2-27.2-27.2s12.2-27.2 27.2-27.2h150.8L653.4 564c-61.2 52-138.6 80.6-219.2 80.6-45.6 0-90-9-131.6-26.6-40.2-17-76.4-41.4-107.6-72.4C164 514.4 139.6 478.2 122.6 438 105 396.2 96 352 96 306.2s9-90 26.6-131.6c17-40.2 41.4-76.4 72.4-107.6 31-31 67.2-55.4 107.6-72.4 41.8-17.6 86-26.6 131.6-26.6 45.6 0 90 9 131.6 26.6 40.2 17 76.4 41.4 107.6 72.4 31 31 55.4 67.2 72.4 107.6 17.6 41.8 26.6 86 26.6 131.6 0 80.6-28.6 158-80.6 219.2L873.4 706v-150.8c0-15 12.2-27.2 27.2-27.2s27.2 12.2 27.2 27.2V772.8c0.2 15-12 27.2-27 27.2zM718 306.2c0-75.8-29.6-147-83.2-200.6-53.6-53.6-124.8-83.2-200.6-83.2s-147 29.6-200.6 83.2C180 159.2 150.4 230.4 150.4 306.2s29.6 147 83.2 200.6c53.6 53.6 124.8 83.2 200.6 83.2s147-29.6 200.6-83.2C688.6 453.4 718 382 718 306.2z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-wallet" unicode="" d="M405.4 213.4V554.6c0 47 38 85.4 85.4 85.4h394v42.6c0 47-37.8 85.4-84.6 85.4H184c-47.4 0-88-37-88-84v-600c0-47 40.6-84 88-84h616c47 0 84.6 38.4 84.6 85.4V128h-394c-47.2 0-85.2 38.4-85.2 85.4zM490 524v-280c0-17.6 14.4-32 32-32h374c17.6 0 32 14.4 32 32V524c0 17.6-14.4 32-32 32H522c-17.6 0-32-14.4-32-32z m154.2-203.8c-38.6-2.4-70.4 29.4-68 68 2 31.8 27.8 57.6 59.8 59.8 38.6 2.4 70.4-29.4 68-68-2.2-32-28-57.8-59.8-59.8z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-train" unicode="" d="M512 800c-176 0-352-21.8-352-175.2v-416c0-84.6 69-153.2 154-153.2L248-10v-22h98.2l88 87.6H600l88-87.6h88v21.8l-66 65.6c85 0 154 68.8 154 153.2v416C864 778.2 706.4 800 512 800z m-198-656.8c-36.6 0-66 29.4-66 65.6s29.4 65.6 66 65.6 66-29.4 66-65.6-29.4-65.6-66-65.6z m154 306.4H248v175.2h220v-175.2z m88 0v175.2h220v-175.2H556z m154-306.4c-36.6 0-66 29.4-66 65.6s29.4 65.6 66 65.6 66-29.4 66-65.6-29.4-65.6-66-65.6z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-bookmarks" unicode="" d="M810.4 768h-42c30-11.4 45.6-41.2 45.6-85.4v-597.4c0-44.2-14-74.6-45.6-85.4h42c47.4 0 85.6 38.4 85.6 85.4V682.6c0 47-38.2 85.4-85.6 85.4z m-119.4-0.4c-2.8 0.2-5.6 0.4-8.4 0.4H213.4C166.4 768 128 729.6 128 682.6v-597.4c0-47 38.4-85.4 85.4-85.4h469.4c2.8 0 5.6 0.2 8.4 0.4 43 4.2 77 40.8 77 85V682.6c-0.2 44.2-34.2 80.8-77.2 85zM416 384l-112 64-112-64V704h224v-320z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-basket" unicode="" d="M724.2 485.6L545.8 751C538 762.4 525 768 512 768c-13 0-26-5.6-33.8-17.4l-178.4-265H104.8c-22.4 0-40.8-18.2-40.8-40.4 0-3.6 0.4-7.2 1.6-11l103.4-375c9.4-34 40.8-59 78.2-59h529.4c37.4 0 68.8 25 78.6 59l103.4 375 1.2 11c0 22.2-18.4 40.4-40.8 40.4h-194.8z m-334.4 0l122.2 178 122.2-178H389.8zM512 161.8c-44.8 0-81.4 36.4-81.4 81s36.6 81 81.4 81 81.4-36.4 81.4-81-36.6-81-81.4-81z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-build" unicode="" d="M948.2 99.6L578.2 472c36.6 94 16.2 204.6-61 282.2C435.8 836 313.8 852.4 216.2 807.4l174.8-176-122-122.8-179 176c-48.6-98-28.2-220.8 53-302.6 77.2-77.8 187-98.2 280.6-61.4l370-372.4c16.2-16.4 40.6-16.4 57 0l93.6 94c20.4 16.6 20.4 45.2 4 57.4z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-boat" unicode="" d="M168.51 70h2.126c68.246 0 127.954 38.042 170.61 84.988 42.65-46.946 102.36-85.524 170.608-85.524s127.958 38.668 170.61 85.612C725.118 108.132 784.824 70 853.07 70h2.124l102.506 277.56c4.252 10.658 2.126 23.282-2.14 33.952-4.272 10.666-14.474 16.974-25.134 21.246L854 427.734v196.3C854 670.98 814.688 710 767.768 710h-127.958l-31.986 106h-191.938l-31.99-106h-127.958C209.022 710 170 670.98 170 624.036v-196.3l-76.148-25.066c-10.66-4.272-21.164-10.668-25.436-21.334-4.27-10.67-6.316-20.98-2.062-33.774L168.51 70zM256 624h512v-168.522l-256 83.21-256-83.21V624zM682.462 79.986c-104.506-72.534-236.712-72.516-341.216 0.018 0 0-115.276-128.004-213.264-128.004h42.654c59.708 0 117.292 23.452 170.61 51.188 106.63-55.468 234.586-55.456 341.216 0.014C735.78-24.536 793.362-48 853.07-48h42.656c-95.302 0-213.264 127.986-213.264 127.986z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-chatbubbles" unicode="" d="M265.6 160c-40.4 0-89.6 49.2-89.6 89.6V576h-19.2C123.4 576 96 548.6 96 515.2V-32l117 116h430.2c33.4 0 60.8 28.2 60.8 61.8V160H265.6zM858.2 800H299.8C261.4 800 230 768.6 230 730.2V278c0-38.4 31.4-70 69.8-70h476.4l151.8-106V730.2c0 38.4-31.4 69.8-69.8 69.8z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-compass" unicode="" d="M512 433.284c-26.884 0-49.286-22.4-49.286-49.284s22.4-49.286 49.286-49.286 49.286 22.4 49.286 49.286-22.402 49.284-49.286 49.284zM512 832C265.6 832 64 630.4 64 384s201.6-448 448-448 448 201.6 448 448S758.4 832 512 832z m98.568-546.568L243.2 115.2l170.232 367.358L780.8 652.8l-170.232-367.368z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-bowtie" unicode="" d="M552 288h-80c-30.8 0-56 25.2-56 56v80c0 30.8 25.2 56 56 56h80c30.8 0 56-25.2 56-56v-80c0-30.8-25.2-56-56-56z m-200 48v96c0 36.4 17.4 68.8 44.4 89.2C384 576 192 704 128 704c-35.2 0-64-28.8-64-64v-512c0-35.2 28.6-64 64-64 64 0 256 128 268.4 182.8-27 20.4-44.4 52.8-44.4 89.2zM896 704c-64 0-256-128-268.4-182.8 27-20.4 44.4-52.8 44.4-89.2v-96c0-36.4-17.4-68.8-44.4-89.2C640 192 832 64 896 64c35.4 0 64 28.8 64 64V640c0 35.2-28.8 64-64 64z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-camera" unicode="" d="M512 336m-126 0a126 126 0 1 1 252 0 126 126 0 1 1-252 0ZM880 704h-176l-64 64H384l-64-64H144c-44.184 0-80-35.816-80-80v-544c0-44.184 35.816-80 80-80h736c44.184 0 80 35.816 80 80V624c0 44.184-35.816 80-80 80zM512 112c-123.71 0-224 100.29-224 224s100.29 224 224 224 224-100.29 224-224-100.29-224-224-224z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-cloudy" unicode="" d="M246.8 530c0.8 0.2 1.6 0.2 2.4 0.4-1-0.2-1.6-0.4-2.4-0.4zM786.4 457.6C761 586.8 647.8 684 512 684c-79.4 0-152-28-201.8-90.8 68.6-5.2 132.2-30.4 181.4-79.6 36.4-36.4 62-81 74.8-129.6h-67c-30.6 87.4-112 150-211.4 150-12 0-28.6-1.4-41.2-4C140 508 64 419.2 64 309 64 184.8 164.4 84 288 84h485.4c103 0 186.6 84 186.6 187.6 0 98.8-76.6 179.2-173.6 186z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-cafe" unicode="" d="M96 96h736v-96H96zM848 768H160v-448c0-88 72-160 160-160h288c88 0 160 72 160 160v128h80c44 0 80 36 80 80v160c0 44-36 80-80 80z m0-224h-80v128h80v-128z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-document" unicode="" d="M576 800H272c-44.184 0-80-35.816-80-80v-672c0-44.184 35.816-80 80-80h480c44.184 0 80 35.816 80 80V544L576 800z m-32-288V736l224-224H544z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-color-palette" unicode="" d="M512 768C300.802 768 128 595.198 128 384c0-211.208 172.802-384 384-384 36.272 0 64 27.728 64 64 0 17.062-6.396 32-17.062 42.666-10.666 10.668-17.062 25.606-17.062 42.668 0 36.27 27.728 64 64 64h76.792c117.334 0 213.334 96 213.334 213.332C896 614.396 723.208 768 512 768zM277.334 384c-36.272 0-64 27.728-64 64s27.728 64 64 64c36.27 0 64-27.728 64-64s-27.73-64-64-64z m128 170.666c-36.272 0-64 27.73-64 64 0 36.272 27.728 64 64 64 36.27 0 64-27.728 64-64 0-36.27-27.73-64-64-64z m213.332 0c-36.27 0-64 27.73-64 64 0 36.272 27.73 64 64 64 36.272 0 64-27.728 64-64 0-36.27-27.728-64-64-64z m128-170.666c-36.27 0-64 27.728-64 64s27.73 64 64 64c36.272 0 64-27.728 64-64s-27.728-64-64-64z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-disc" unicode="" d="M512 800C282.4 800 96 613.6 96 384s186.4-416 416-416 416 186.4 416 416S741.6 800 512 800z m0-603.2c-103.6 0-187.2 83.6-187.2 187.2s83.6 187.2 187.2 187.2 187.2-83.6 187.2-187.2-83.6-187.2-187.2-187.2z m0 228.8c-22.8 0-41.6-18.8-41.6-41.6s18.8-41.6 41.6-41.6 41.6 18.8 41.6 41.6-18.8 41.6-41.6 41.6z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-flask" unicode="" d="M873.8 187.2L672 512V704h64V800H288v-96h64v-192L152.2 187.2C135.4 155.4 127.2 124.4 128 96c2.2-73 57.4-128 130.2-128H770c72.6 0 124.2 55.2 126 128 0.6 28.4-5.2 59.4-22.2 91.2zM310.2 288l59 96h286.2l59.6-96H310.2z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-cube" unicode="" d="M934.6 559.8c-3.6 0-7-0.6-10.2-2l-355.2-184.2h-0.2c-15.2-9.4-25-25-25-42.8v-371.8c0-12.8 11.2-23 25.4-23 4.4 0 8.6 1 12.2 2.8 0.4 0.2 0.8 0.4 1 0.6L932 124.8l0.6 0.2c16.4 9 27.4 25.4 27.4 44.2V536.8c0 12.8-11.4 23-25.4 23z m-26 99.2L545.2 822.4S523.8 832 512 832c-11.8 0-33-9.6-33-9.6L115.2 659s-16-6.6-16-19c0-13.2 16.6-23 16.6-23l371-195.6c7.6-3.4 16.2-5.2 25.2-5.2 9.2 0 17.8 2 25.4 5.4l370.8 195.8s15 8 15 23c0.2 12.6-14.6 18.6-14.6 18.6zM455 373.6L99.6 558c-3 1.2-6.6 2-10.2 2-14 0-25.4-10.2-25.4-23v-367.6c0-18.8 11-35.2 27.4-44.2l0.4-0.2 349.4-185.4c3.8-2.2 8.4-3.4 13.2-3.4 14 0 25.4 10.4 25.4 23V330.8c0.2 17.8-9.8 33.6-24.8 42.8z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-help-buoy" unicode="" d="M512 800C282.2 800 96 613.8 96 384s186.2-416 416-416 416 186.2 416 416S741.8 800 512 800z m122-712l-24.4 79.2c26 11.6 49.8 28 70.6 48.8 20.8 20.8 37.2 44.6 48.8 70.6l79-24.2c-15.8-38.6-39.4-74-69.8-104.4-30.2-30.6-65.6-54.2-104.2-70zM390 680l24.4-79.2c-26-11.6-49.8-28-70.6-48.8-20.8-20.8-37.2-44.6-48.8-70.6L216 505.6c15.8 38.6 39.4 74 69.8 104.4 30.2 30.6 65.6 54.2 104.2 70z m122-168c70.6 0 128-57.4 128-128s-57.4-128-128-128-128 57.4-128 128 57.4 128 128 128z m226.2 98.2c30.4-30.4 53.8-65.8 69.8-104.2l-79-24.4c-11.8 26-28 49.8-48.8 70.6-20.8 20.8-44.6 37.2-70.6 48.8l24.2 79c38.6-15.8 74-39.4 104.4-69.8zM285.8 157.8c-30.4 30.2-54 65.6-69.8 104.2l79 24.4c11.8-26 28-49.8 48.8-70.6 20.8-20.8 44.6-37.2 70.6-48.8L390.2 88c-38.6 15.8-74 39.4-104.4 69.8z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-cart" unicode="" d="M339.2 140.8c-45.764 0-83.2-37.436-83.2-83.202 0-45.764 37.436-83.2 83.2-83.2s83.202 37.436 83.202 83.2c-0.002 45.768-37.44 83.202-83.202 83.202zM96 793.6v-83.2h83.2l149.766-303.364-62.616-101.908c-6.236-10.4-10.4-24.964-10.4-39.53 0-55.7 38.05-83.2 89.65-83.2H832v80H355.786c-6.236 0-10.4 4.164-10.4 10.4 0 2.072 4.414 10.4 4.414 10.4l41.564 65.6h309.908c31.202 0 58.256 16.634 72.8 43.672l149.764 257.6c2.474 4.922 4.164 12.492 4.164 20.798 0 22.892-18.728 39.53-41.6 39.53H270.728L231.2 793.6H96z m652.798-652.8c-45.764 0-83.2-37.436-83.2-83.202 0-45.764 37.436-83.2 83.2-83.2S832 11.836 832 57.6c0 45.766-37.438 83.2-83.202 83.2z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-chatboxes" unicode="" d="M783.106 768H115.214C106.262 768 96 760.51 96 751.682v-428.434c0-8.826 10.262-17.248 19.214-17.248H230v-177.788L410.256 306h372.85c8.954 0 14.894 8.422 14.894 17.248V751.682c0 8.828-5.942 16.318-14.894 16.318zM912.792 642H848v-333.14c0-31.974-13.83-52.86-50.304-52.86H436.192l-77.81-78h259.376L798 0v178h114.792c8.956 0 15.208 8.524 15.208 17.364V623.794c0 8.828-6.252 18.206-15.208 18.206z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-image" unicode="" d="M896 85.334V682.666C896 729.604 857.604 768 810.666 768H213.334C166.396 768 128 729.604 128 682.666v-597.332C128 38.396 166.396 0 213.334 0h597.332C857.604 0 896 38.396 896 85.334zM362.666 320l106.668-128 149.332 192 192-256H213.334l149.332 192z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-ice-cream" unicode="" d="M256.2 384l256-448 256 448zM784 574c6 18 9.4 45.4 9.4 65.8 0 106.2-86 192.2-192.2 192.2-62.8 0-118.4-30-153.6-76.6 0 0-18.2-28-21.6-58l-6.8 2c-4.6 18-7.4 40 3.2 63-14.8 5-18.8 5.6-35.2 5.6-83.4 0-151.2-67.6-151.2-151.2 0-12.6 1.6-31 4.6-42.8-27.8-7-48.6-32.2-48.6-62 0-35.2 28.8-64 64-64h512c35.2 0 64 28.8 64 64 0 29.6-20.4 54.8-48 62z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-jet" unicode="" d="M960 832s-46.8 1.4-118.6-54.2C808 752 489.8 522.4 489.8 522.4l-337.6 8.4L64 452l219.6-110.4-17.2-21.6-175.8-0.2-14.4-81 126.2-97.4-53.2-119.6 120 52.8 97.4-126.2 81 14.4 0.2 175.6 21.8 17L580.2-64l78.6 88.2-8.4 337.4S880.2 679.6 906 712.8C961.4 785 960 832 960 832z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-film" unicode="" d="M752 768v-85.334h-80V768H352v-85.334h-80V768H192v-768h80v85.332h80V0h320v85.332h80V0h80V768h-80zM352 170.666h-80V256h80v-85.334z m0 170.666h-80v85.334h80v-85.334zM352 512h-80v85.332h80V512z m400-341.334h-80V256h80v-85.334z m0 170.666h-80v85.334h80v-85.334zM752 512h-80v85.332h80V512z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-cloudy-night" unicode="" d="M246.8 530c0.8 0.2 1.6 0.2 2.4 0.4-1-0.2-1.6-0.4-2.4-0.4z m436.2-240.8C661.4 400.6 564.4 484 448 484c-68 0-130.2-24-173-78.2 58.8-4.4 113.4-26.2 155.4-68.4 31.2-31.4 53.2-69.8 64.2-111.6h-57.4c-26.2 75.2-96 129-181.2 129-10.2 0-24.6-1.2-35.4-3.4-91.4-18.8-156.6-95.2-156.6-190 0-106.8 86-193.6 192-193.6h416c88.2 0 160 72.2 160 161.2-0.2 85.4-65.8 154.4-149 160.2zM225 445.2c27.2 34.6 61.4 61 101.6 78.4 36.8 16 77.6 24 121.4 24 12.2 0 24.4-0.8 36.4-2.2-12.2 36.2-18.8 75.2-18.8 115.6 0 49.2 9.8 96.2 27.6 138.8C323.8 758.6 198 604.6 198 421.4c0-3.2 0-6.4 0.2-9.6 0.2 0 0.4 0.2 0.6 0.2l26.2 33.2z m610.2-162.8c26.6-28.4 45.2-63 54.2-100.2 33 42.8 57.4 92.8 70.6 147-42.4-18-89-27.8-137.8-27.8h-7.2c7-5.8 13.8-12.2 20.2-19z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-flower" unicode="" d="M810.2 384c50.4 23.8 85.8 74.2 85.8 133.8 0 82-67.2 148.6-150 148.6-31.8 0-60.6-9.6-85.2-26.2l1.2 11.2c0 82-67.2 148.6-150 148.6s-150-66.6-150-148.6l1.2-11.2c-24 16.6-53.4 26.2-85.2 26.2-82.8 0-150-66.6-150-148.6 0-59.4 35.4-110 85.8-133.8C163.4 360.2 128 309.8 128 250.2c0-82 67.2-148.6 150-148.6 31.8 0 60.6 9.6 85.2 26.2l-1.2-11.2c0-82 67.2-148.6 150-148.6s150 66.6 150 148.6l-1.2 11.2c24-16.6 53.4-26.2 85.2-26.2 82.8 0 150 66.6 150 148.6 0 59.6-35.4 110-85.8 133.8zM512 235.4c-82.8 0-150 66.6-150 148.6s67.2 148.6 150 148.6 150-66.6 150-148.6-67.2-148.6-150-148.6z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-nutrition" unicode="" d="M714.4 424.8L549.4 590h-1.6c-16.2 12-36.4 20.6-56.8 20.6-27.4 0-52.2-12.6-68.6-32.6h-1.2L106 67.8v-1.6c-6-12.4-10-26.6-10-41.6 0-48.8 39.4-88.6 88.6-88.6 18.8 0 36 5.8 54.8 18.2l465.8 336.2c21.8 16.6 34.8 43.2 34.8 72 0 24-9.4 46.4-25.6 62.4zM928 605.8l-58.4 98-73.2-40.6 63 111.8L761.2 832l-134.6-255.6 82.6-82.8z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-medal" unicode="" d="M547 591.8H96l108.2 207.8h481.4zM512.4 141.6m-173.2 0a173.2 173.2 0 1 1 346.4 0 173.2 173.2 0 1 1-346.4 0ZM697.8 297.8l230.2 294-138.6 207.8L512.8 384c64.6 0 125.4-25.4 171-71 5-5 9.6-10 14-15.2z m-286.2 65L304.6 524H96.8l180.2-323c10.4 42.4 32.2 81.2 64 112.8 20.8 20.6 44.6 37.2 70.6 49z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-cloud-circle" unicode="" d="M512 800C283.2 800 96 612.8 96 384s187.2-416 416-416 416 187.2 416 416S740.8 800 512 800z m187.2-582.4H345.602c-68.636 0-124.8 56.164-124.8 124.798 0 68.638 56.164 124.8 124.8 124.8h6.234c18.728 72.8 83.202 124.798 160.166 124.798 91.528 0 166.398-74.87 166.398-166.396h20.8c58.236 0 104-45.764 104-104.002 0-58.234-45.764-103.998-104-103.998z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-contact" unicode="" d="M512 800C283.2 800 96 612.8 96 384s187.2-416 416-416 416 187.2 416 416S740.8 800 512 800z m0-124.8c68.6 0 124.8-56.2 124.8-124.8s-56.2-124.8-124.8-124.8-124.8 56.2-124.8 124.8 56.2 124.8 124.8 124.8z m0-600.8c-104 0-195.6 54-249.6 133.2 2 83.2 166.4 129 249.6 129s247.6-45.8 249.6-129c-54-79-145.6-133.2-249.6-133.2z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-microphone" unicode="" d="M768 672V727.2c0 58-49 104.8-109.6 104.8H365.8C305 832 256 785.2 256 727.2V672h304v-74H256v-86h304v-74H256v-86h304v-74H256v-83.6c0-58 49-104.4 109.8-104.4H426v-154h172v154h60.4c60.6 0 109.6 46.4 109.6 104.4V278h-112v74h112v86h-112v74h112v86h-112v74h112z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-contrast" unicode="" d="M512 800C282.2 800 96 613.8 96 384s186.2-416 416-416 416 186.2 416 416S741.8 800 512 800z m226.2-642.2C677.8 97.2 597.4 64 512 64V704c85.4 0 165.8-33.2 226.2-93.8C798.8 549.8 832 469.4 832 384s-33.2-165.8-93.8-226.2z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-person-add" unicode="" d="M608 384c105.61 0 192 86.402 192 192s-86.39 192-192 192-192-86.402-192-192 86.39-192 192-192z m0-96c-127.196 0-384-64.804-384-192v-96h768v96c0 127.196-256.804 192-384 192z m-384 160v128H160v-128H32v-64h128v-128h64v128h128v64h-128z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-easel" unicode="" d="M256 544h512v-256H256zM896 704H128c-17.6 0-32-14.4-32-32v-512c0-17.6 13.8-32 31.6-32H896c17.6 0 32 14.4 32 32V672c0 17.6-14.4 32-32 32z m-64-480H192V608h640v-384zM160-32h114l45 128h-112.8zM558.8 800h-93.6l-23-64h139.6zM750-32h114l-46 128h-113z m-286 128h96v-64h-96z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-partly-sunny" unicode="" d="M496.06 662.38l49.358 49.356 38.466-38.468-49.356-49.354zM352 644.6c-90.6 0-164.6-74-164.6-164.6 0-35 11-67.4 29.8-94 30.6 26 67.8 45.2 109.4 55.2l26.4 33.2c27.2 34.2 61.4 60.4 101.6 77.8 12.2 5.2 24.8 9.6 38 13.2-29 47.4-81.2 79.2-140.6 79.2zM324 768h56v-82h-56zM64 508h82v-56H64z m99.2-165.6l-1.6 1.6-49.4-49.4 38.4-38.4 49.4 49.4zM158.578 711.74l49.356-49.356-38.466-38.466-49.356 49.356zM811.2 318.8C789.4 429.2 692.4 512 576 512c-68 0-130.2-23.8-173-77.6 58.8-4.4 113.4-26 155.6-67.8 31.2-31.2 53.2-69.2 64.2-110.6h-57.4c-26.2 74.6-96 128-181.2 128-10.2 0-24.6-1.2-35.4-3.4C257.2 361.8 192 286 192 192c0-106 86-192 192-192h416c88.4 0 160 71.6 160 160 0 84.4-65.6 153-148.8 158.8z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-outlet" unicode="" d="M739 832H284.8C163 832 64 730.8 64 606.8v-445.6c0-124 99-225.2 220.8-225.2h454.4c121.8 0 221 101.2 221 225.2V606.8C960 730.8 861 832 739 832zM350 394v-1.4c0-21.8-18.2-40.8-39.8-40.8h-46.6c-21.6 0-39.8 19-39.8 40.8V599.8c2 21.6 18.4 40.4 39.8 40.4h46.6c21.8 0 39.8-19.6 39.8-41.6V394z m244-294.8c0-22.8-17.8-35.2-40.2-35.2h-83.6c-22.4 0-40.2 16.2-40.2 39.2v58.6c0 46.6 36.2 84.6 82 84.6s82-38 82-84.6v-62.6zM800 394v-1.4c0-21.8-18.2-40.8-39.8-40.8h-48.6c-21.6 0-39.8 19-39.8 40.8V599.8c2 21.6 18.4 40.4 39.8 40.4h48.6c21.6 0 39.8-19.6 39.8-41.6V394z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-people" unicode="" d="M674.908 432c67.198 0 122.184 54.004 122.184 120 0 65.994-54.986 120-122.184 120s-122.18-54.006-122.18-120c0-65.996 54.982-120 122.18-120z m-325.816 0c67.198 0 122.18 54.004 122.18 120 0 65.994-54.982 120-122.18 120s-122.184-54.006-122.184-120c0-65.996 54.986-120 122.184-120z m0-88C253.376 344 64 298.004 64 204v-108h576v108c0 94.004-195.198 140-290.908 140z m325.816-22.006c-12.21 0-20.65 0-34.908-1.994 46.852-34.004 64-56 64-116v-108h256v108c0 94.004-189.376 117.994-285.092 117.994z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-heart-dislike" unicode="" d="M103.8 742.8l50-50c-36.2-40.6-58-94.6-58-155.2 0-159 141.4-286.6 355.6-483.4L512 0l60.4 54.4c41.2 37.8 79.8 73.2 115 106.6l184.4-184 48 48-767.6 766-48.4-48.2zM928 537.8C928 667.6 828.2 768 699.2 768c-72.8 0-141.4-33.4-187.2-87.8C466.2 734.6 397.6 768 324.8 768c-16.8 0-33-1.8-48.6-5l507.4-506.2C874.6 354.2 928 440 928 537.8z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-moon" unicode="" d="M390 646c0 52.6 10.6 102.6 29.8 148.2C237.4 750 102 585.8 102 390c0-229.6 186.4-416 416-416 195.8 0 360 135.4 404.2 317.8-45.6-19.2-95.8-29.8-148.2-29.8-212 0-384 172-384 384z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-laptop" unicode="" d="M874.668 64C921.606 64 960 102.394 960 149.332V682.664C960 729.602 921.606 768 874.668 768H149.332C102.394 768 64 729.602 64 682.664v-533.332C64 102.394 102.394 64 149.332 64H0c0-46.938 128-64 192-64h640c64 0 192 17.062 192 64h-149.332zM149.332 682.664h725.336v-543.996H149.332V682.664zM512 26.668c-23.458 0-42.666 19.208-42.666 42.668 0 23.458 19.208 42.664 42.666 42.664s42.666-19.208 42.666-42.664c0-23.46-19.208-42.668-42.666-42.668z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-heart" unicode="" d="M512 0l-60.328 54.422C237.436 251.116 96 378.78 96 537.81 96 667.558 195.836 768 324.8 768c72.798 0 141.434-33.484 187.2-87.894C557.764 734.516 626.398 768 699.2 768 828.164 768 928 667.558 928 537.81c0-159.032-141.438-286.696-355.672-483.388L512 0z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-flame" unicode="" d="M786.6 451.8l-0.4-20.8c-1.6-23.4-15.8-86.8-44.2-109.4 14 30.4 34.6 94.4 20.4 165.4C723.2 682 575 764.8 386 796l-34.4 4.4c79-94.4 112.2-163.4 99.4-233.6-4.6-25.2-20-46.8-28-63.2 0 0 4.8 25.8 4 57.4-0.6 28.4-13.2 62-36 79.2 7-36.8-1.6-67-18.2-95.4-49.4-84.4-170.8-115.6-180.8-271.6v-7.6c0-107.4 51.2-198 137.4-250-13.6 24.6-24 70.4-11.4 120.4 8-47.4 28-72 49.8-103.6 16.4-23.4 38.2-38.6 66.2-49.8s62-14.4 95.8-14.4c111.6 0 182.8 36.2 238.2 101s64.2 136 64.2 212.8-17 121.8-45.6 169.8z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-lock" unicode="" d="M752 524h-40v80c0 110-90 200-200 200S312 714 312 604v-80h-40c-44.004 0-80-35.996-80-80v-400c0-44.004 35.996-80 80-80h480c44.004 0 80 35.996 80 80V444c0 44.004-35.996 80-80 80zM512 160c-44.004 0-80 35.996-80 80s35.996 80 80 80 80-35.996 80-80-35.996-80-80-80z m124.004 364H387.996v80c0 68.008 56.006 124.004 124.004 124.004 68.008 0 124.004-55.996 124.004-124.004v-80z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-musical-note" unicode="" d="M512 768v-450.2c-25.2 14.6-54.2 23.4-85.4 23.4-94.2 0-170.6-76.4-170.6-170.6s76.4-170.6 170.6-170.6 170.6 76.4 170.6 170.6V597.4H768V768H512z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-information-circle" unicode="" d="M512 800C282.4 800 96 613.6 96 384s186.4-416 416-416 416 186.4 416 416S741.6 800 512 800z m42-624h-84V426h84v-250z m0 332h-84v84h84v-84z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-help-circle" unicode="" d="M512 800C282.4 800 96 613.6 96 384s186.4-416 416-416 416 186.4 416 416S741.6 800 512 800z m42-666h-84v84h84v-84z m-0.4 126h-83.2c0 134 124.8 124.4 124.8 207.6 0 45.8-37.4 83.4-83.2 83.4S428.8 512 428.8 468h-83.2c0 92 74.4 166 166.4 166s166.4-74.2 166.4-166.2c0-104-124.8-115.8-124.8-207.8z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-mail" unicode="" d="M874.664 736H149.336C102.398 736 64 697.604 64 650.666v-533.332C64 70.396 102.398 32 149.336 32h725.328C921.602 32 960 70.396 960 117.334V650.666C960 697.604 921.602 736 874.664 736zM864 554.666L512 320 160 554.666V640l352-234.666L864 640v-85.334z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-journal" unicode="" d="M234.6 810.6c-35.2 0-64-28.8-64-64v-725.4c0-35.2 28.8-64 64-64H640V810.6H234.6z m534.8 0H736v-853.4h33.4c46.2 0 84 37.8 84 84V726.6c0 46.2-37.8 84-84 84z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-mail-unread" unicode="" d="M864 640m-128 0a128 128 0 1 1 256 0 128 128 0 1 1-256 0ZM765.8 489.2L512 320 160 554.6V640l352-234.6 202.2 134.8c-19 28.6-30.2 63-30.2 99.8 0 35.2 10.2 68.2 27.8 96H149.4C102.4 736 64 697.6 64 650.6v-533.4c0-47 38.4-85.4 85.4-85.4h725.4c47 0 85.4 38.4 85.4 85.4V487.8c-27.8-17.6-60.8-27.8-96-27.8-36.4 0-70.2 10.8-98.4 29.2z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-notifications-off" unicode="" d="M512-31.312c45.628 0 82.95 37.312 82.95 83.312h-165.9c0-46 37.322-83.312 82.95-83.312zM262.166 681.656l0.106-0.148L196.18 747.446 148.008 699.234l126.084-126.306C253.776 534.958 242 491.608 242 445.86v-229.11l-82-83.312V92h595.486l72.364-72.66 48.158 48.602L851.8 92h0.632L262.166 681.656zM782 445.86c0 127.052-90 235.354-208 262.436V737.452c0 35.412-26.742 62.486-62 62.486-35.256 0-62-27.074-62-62.486v-29.156c-30-6.876-58.096-19.002-83.5-35.326L782 257.29V445.86z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-notifications" unicode="" d="M512-32c45.558 0 82.822 37.438 82.822 83.2h-165.646c0-45.762 37.266-83.2 82.824-83.2z m269.178 249.6V446.4c0 126.88-89.032 235.036-207.06 262.082V737.6c0 35.364-26.914 62.4-62.118 62.4s-62.118-27.036-62.118-62.4v-29.118c-118.03-27.046-207.06-135.202-207.06-262.082v-228.8L160 134.4v-41.6h704v41.6l-82.822 83.2z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-nuclear" unicode="" d="M672 352c0 59.6-32.6 111.4-80.8 139l146.2 248.2C671.2 777.8 594.2 800 512 800c-82.4 0-159.8-22.4-226.2-61.2l143.2-250C382.8 460.8 352 410 352 352H64c0-166.6 93.8-306.8 228.8-384l140.2 244.8c23.4-13.2 50.2-20.8 79-20.8 28.6 0 55.4 7.6 78.6 20.6L731.2-32C866.2 45.2 960 185.4 960 352H672z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-medkit" unicode="" d="M704 608v79.2C704 732 668 768 623.2 768H400.8C356 768 320 732 320 687.2V608H96v-527.2C96 36 132 0 176.8 0h670.4c44.8 0 80.8 36 80.8 80.8V608H704z m-304 80h224v-80H400v80z m272-448h-112v-112h-96v112h-112v96h112v112h96v-112h112v-96z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-paw" unicode="" d="M919 564.2c-9.4 21-25.4 36.2-46.2 44-9.6 3.4-19.4 5.2-29.6 5.2-43.4 0-87.4-33.4-109.8-83.2-27.6-61.8-11.6-122 37.2-140.6 9.8-3.6 20.2-5.6 31.2-5.6 44.2 0 89.2 30.6 111.8 76.2 17 35 19 73.6 5.4 104z m-628.4-33.8c-22.2 49.8-66.4 83.2-109.8 83.2-10.2 0-20.2-1.8-29.6-5.2-20.8-7.8-36.6-23-46.2-44-13.8-30.4-11.8-69.2 5.4-103.8 22.6-45.6 67.6-76.2 111.8-76.2 10.8 0 21.4 1.8 31.2 5.6 48.8 18.2 64.8 78.6 37.2 140.4z m96.4 6.8c4-0.2 8 0 12 0.4 23.4 1.8 44.6 11.8 61.2 28.6 26.8 27.2 34.2 69.8 28.6 113.6-8.6 67.4-51.6 118-109.6 120.2 0 0-8.2 0-12.4-0.4-25.6-2.2-48.8-13-67-31.8-26.6-27.2-39.4-67.4-34.2-107.6 8.6-66.8 61.8-120.8 121.4-123zM512 448c-138.6 0-277.4-194.2-277.4-352.6 0-47.2 23.6-85.2 47-100.8 28.8-19.2 49-26.8 91-26.8 26.8 0 43.2 5 56.2 12.2 24.6 13.4 51.8 20.8 79.8 20.8h7c28 0 55.2-7.6 79.8-20.8 13-7 29.4-12.2 56.2-12.2 42.2 0 62.4 7.6 91 26.8 23.2 15.6 47 53.6 47 100.8C789.4 254 650.6 448 512 448z m113.2 89.8c4-0.4 8-0.4 12-0.4 59.6 2.2 113 56 121.6 123 5.2 40.4-7.6 80.8-34.2 107.6-18.4 18.6-40.6 29.2-66.2 31.2-4.2 0.4-13.4 0.4-13.4 0.4-57.8-2.2-100.8-52.2-109.6-119.8-5.6-43.8 1.8-86.6 28.6-113.6 16.8-16.6 38-26.4 61.2-28.4z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-person" unicode="" d="M512 384c105.61 0 192 86.402 192 192s-86.39 192-192 192-192-86.402-192-192 86.39-192 192-192z m0-96c-127.196 0-384-64.804-384-192v-96h768v96c0 127.196-256.804 192-384 192z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-notifications-off" unicode="" d="M511.8-16c62.2 0 96.2 44 96.2 106h-192.6c0-62 34-106 96.4-106zM309 786c-5 8.6-14 13.6-23.2 14h0.6-2.4c-4.6 0-9.4-1.4-13.8-3.8-13.6-7.8-18.2-25.2-10.2-38.6L715-18c5.2-9 14.8-14 24.6-14 4.8 0 9.8 1.2 14.4 3.8 13.6 7.8 18.2 25.2 10.2 38.6L309 786z m283.2-658L318 595c-16.4-40.4-26.6-92-26.6-157.2 0-181.8-60.6-205.4-91.4-246.2-19.8-26.2-1-63.6 31.8-63.6h360.4zM824 191.6c-30.8 40.6-91.4 64.4-91.4 246.2 0 186.6-82.4 261.6-159.2 279.6-7.2 1.8-12.4 4.2-12.4 11.8v5.8c0 26.8-22 49.4-48.8 49.2-26.8 0.4-48.8-22.4-48.8-49.2v-5.8c0-7.4-5.2-10-12.4-11.8-17.4-4-35-11-51.8-21.6L732.2 128H792c33 0 51.8 37.6 32 63.6z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-notifications" unicode="" d="M511.8-16c62.2 0 96.2 44 96.2 106h-192.6c0-62 34-106 96.4-106zM824 191.6c-30.8 40.6-91.4 64.4-91.4 246.2 0 186.6-82.4 261.6-159.2 279.6-7.2 1.8-12.4 4.2-12.4 11.8v5.8c0 26.8-22 49.4-48.8 49.2-26.8 0.4-48.8-22.4-48.8-49.2v-5.8c0-7.4-5.2-10-12.4-11.8-77-18.2-159.2-93-159.2-279.6 0-181.8-60.6-205.4-91.4-246.2-19.8-26.2-1-63.6 31.8-63.6h560.2c32.6 0 51.4 37.6 31.6 63.6z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-pie" unicode="" d="M552 759.8v-438c0-7.4-5-13.6-12-15.4L162.2 209.2c-4.6-1.2-7.2-6.2-5.4-10.8C218.2 44 369.8-65.2 546.4-64c229.2 1.4 413.6 187 413.6 416 0 224.2-177.2 407-399.6 415.6-4.6 0.2-8.4-3.4-8.4-7.8zM64 417.4s0.4-97.6 30.4-162.2c1.6-3.6 5.6-5.4 9.2-4.4l387.6 99.4c7 1.8 12.8 9.2 12.8 16.4V824c0 4.4-3.6 8-8 8C182 828.2 64 598 64 417.4z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-rocket" unicode="" d="M923.6 788.8c-0.8 3.4-3.2 6-6.6 6.8-108.8 26.6-360.2-68.2-496.4-204.4-26.6-26.6-48.4-52.8-66.2-78.2-42 3.8-84 0.6-119.8-15-101-44.4-130.4-160.4-138.6-210.2-2-11.8 7.8-22 19.6-20.8l162.2 17.8c0.2-15.6 1.2-28 2.2-36.6 0.8-8.4 4.6-16.2 10.6-22.2l62.8-62.8c6-6 13.8-9.8 22.2-10.6 8.6-1 21-2 36.4-2.2l-17.8-162c-1.2-11.8 9-21.6 20.8-19.6 49.8 8 166 37.4 210.2 138.4 15.6 35.8 18.8 77.6 15.2 119.4 25.4 17.8 51.8 39.6 78.4 66.2 136.8 136 231 381.8 204.8 496zM597.2 469c-33.4 33.4-33.4 87.4 0 120.8 33.4 33.4 87.4 33.4 120.8 0 33.4-33.4 33.4-87.4 0-120.8-33.4-33.4-87.4-33.4-120.8 0zM349 135c-8.4-8.4-23.4-13.2-39.6-16-36.4-6.2-68.2 25.6-62 62 2.8 16.2 7.4 31.2 15.8 39.4l0.2 0.2c4.6 4.6 0.8 12.2-5.6 11.4-19.6-2.4-38.8-11.2-53.8-26.2-36-36-39.4-169.6-39.4-169.6s133.8 3.4 169.8 39.4c15.2 15.2 23.8 34.2 26.2 53.8 0.6 6.4-7.2 10.2-11.6 5.6z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-people" unicode="" d="M698.2 226.6c-22.4 8-59 8.4-75.2 14.6-11.2 4.4-29 9.2-34.8 16.2-5.8 7-5.8 57-5.8 57s14 13.2 19.8 28c5.8 14.6 9.6 55 9.6 55s13.2-5.6 18.4 20.8c4.4 22.8 12.8 34.8 10.6 51.6-2.4 16.8-11.6 12.8-11.6 12.8s11.6 17 11.6 74.8c0 59.6-45 118.2-129.2 118.2-84 0-129.4-58.8-129.4-118.2 0-57.8 11.4-74.8 11.4-74.8s-9.4 4-11.6-12.8c-2.4-16.8 6-28.8 10.6-51.6 5.2-26.6 18.4-20.8 18.4-20.8s3.8-40.2 9.6-55c5.8-14.8 19.8-28 19.8-28s0-50-5.8-57-23.6-11.8-34.8-16c-16-6.2-52.6-7-75.2-15-22.4-8-91.6-44.4-91.6-134.4h556.6c0.2 90.2-69 126.6-91.4 134.6zM280 324s47.8 1.6 66.8 18.6c-31 47-14.2 101.8-20.6 153-6.4 51-35.4 81.6-93.4 81.6h-0.8c-56 0-86.2-30.4-92.6-81.6-6.4-51 11.4-112-20.4-153C138 325.4 186 326 186 326s2-28.8-2-33.6c-4-4.8-15.8-9.4-24-11-17.6-3.8-36.2-9-51.8-14.4-15.6-5.4-45.2-34.4-45.2-74.4h160.6c4.4 16 34.6 44.6 64 59.6 18 9.2 35.8 8.6 49.4 10.4 0 0 7.6 12-17.4 16.6 0 0-34.4 8.6-38.4 13.4-3.8 4.4-1.2 31.4-1.2 31.4z m464 0s-47.8 1.6-66.8 18.6c31 47 14.2 101.8 20.6 153 6.4 51 35.4 81.6 93.4 81.6h0.8c56 0 86.2-30.4 92.6-81.6 6.4-51-11.4-112 20.4-153-19-17.2-67-16.6-67-16.6s-2-28.8 2-33.6c4-4.8 15.8-9.4 24-11 17.6-3.8 36.2-9 51.8-14.4 15.6-5.4 45.2-34.4 45.2-74.4h-160.6c-4.4 16-34.6 44.6-64 59.6-18 9.2-35.8 8.6-49.4 10.4 0 0-7.6 12 17.4 16.6 0 0 34.4 8.6 38.4 13.4 3.8 4.4 1.2 31.4 1.2 31.4z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-save" unicode="" d="M544 768h-32c-8.8 0-16-7.2-16-16v-144c0-8.8 15.2-16 24-16h24c8.8 0 16 7.2 16 16V752c0 8.8-7.2 16-16 16zM867.8 635.8L764 739.6c-18 18-42.6 28.4-68.2 28.4h-56c-17.6 0-32-14.6-32-32.4v-160c0-17.6-14.4-32-32-32H320c-17.6 0-32 14.4-32 32v160c0 17.6-14.4 32.4-32 32.4H192c-35.2 0-64-28.8-64-64v-640c0-35.2 28.8-64 64-64h640c35.2 0 64 28.8 64 64V568c0 25.4-10.2 49.8-28.2 67.8zM644 95.8c0-17.6-16-32-35.6-32H287.6c-19.6 0-35.6 14.4-35.6 32v192c0 17.6 16 32 35.6 32h320.8c19.6 0 35.6-14.4 35.6-32v-192z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-school" unicode="" d="M193.8 355.4V170c0-5.8 3-11 8-14l264-151.8c10.6-6.2 24 1.6 24 14v187.6c0 5.8-3 11-8 14l-264 149.8c-10.8 5.8-24-2-24-14.2z m368-351.2L826 156c5 2.8 8 8.2 8 14v187.4c0 12.4-13.2 20-24 14l-264-151.8c-5-2.8-8-8.2-8-14V18c-0.2-12.2 13.2-20 23.8-13.8zM498 765.8L74 518.2c-10.8-6.2-10.8-21.6 0-27.8l424-235.6c9.8-5.6 22-5.6 31.8 0L906 470.2c10.6 6.2 14-1.6 14-14v-306.8c0-13.6 7.8-20 22-20 8.8 0 20 6.4 20 20V493c0 5.8-3 11-8 14L529.8 765.8c-9.8 5.6-22 5.6-31.8 0z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-ribbon" unicode="" d="M509.8 309.2c146-1.2 264.6 117.4 263.4 263.6-1.2 139.8-119.4 258-259 259.2-146 1.2-264.6-117.4-263.4-263.6 1.2-139.8 119.4-258 259-259.2z m-7.4 408.2c88.6 5.6 161.8-67.6 156.2-156.4-4.6-73.2-63.8-132.4-137-137.2-88.6-5.6-161.8 67.6-156.2 156.4 4.6 73.2 63.8 132.4 137 137.2zM512 279.2c-85.6 0-162.8 36.2-217 94-3.8 4-10.4 3.4-13.2-1.4L130.2 106.4c-6.2-11 1.6-24.6 14.4-24.6h160.2c5.8 0 11.2-3 14.2-8l78-129.8c6.8-11.4 23.6-10.4 29.2 1.6l86 189.2 62.6 137.8c2.8 6-2.4 12.6-9 11.4-17.6-3-35.4-4.8-53.8-4.8z m217 94.2c-29.2-31-64.8-56-105-72.2-2-0.8-3.6-2.2-4.4-4.2l-89.4-195.4c-1-2.2-1-4.6 0-6.8l67.8-149c5.4-12 22.4-13 29.2-1.6l78 129.8c3 5 8.4 8 14.2 8h160.2c12.6 0 20.6 13.6 14.4 24.6l-151.6 265.6c-3 4.4-9.6 5.2-13.4 1.2z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-stopwatch" unicode="" d="M831.8 608.6c6.2-6.2 16.4-6.2 22.6 0l22.6 22.6c6.2 6.2 6.2 16.4 0 22.6L826 704.8c-6.2 6.2-16.4 6.2-22.6 0l-22.6-22.6c-6.2-6.2-6.2-16.4 0-22.6l51-51z m-662.2 0c6.2-6.2 16.4-6.2 22.6 0l51 51c6.2 6.2 6.2 16.4 0 22.6l-22.6 22.6c-6.2 6.2-16.4 6.2-22.6 0L147 654c-6.2-6.2-6.2-16.4 0-22.6l22.6-22.8zM560 733V768c0 17.6-14.4 32-32 32h-32c-17.6 0-32-14.4-32-32v-35C274.6 709.4 128 547.8 128 352c0-212 172-384 384-384s384 172 384 384c0 195.8-146.6 357.4-336 381z m-20-438.6V256c0-15.4-12.6-28-28-28s-28 12.6-28 28v38.4c-21.4 10.4-36 32.2-36 57.6s14.6 47.2 36 57.6V608c0 15.4 12.6 28 28 28s28-12.6 28-28v-198.4c21.4-10.4 36-32.2 36-57.6s-14.6-47.2-36-57.6z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-print" unicode="" d="M256 400v-400c0-17.6 14.4-32 32-32h448c17.6 0 32 14.4 32 32V400c0 17.6-14.4 32-32 32H288c-17.6 0-32-14.4-32-32zM768 800H256c-17.6 0-32-14.4-32-32v-40c0-4.4 3.6-8 8-8h560c4.4 0 8 3.6 8 8V768c0 17.6-14.4 32-32 32zM865 672h-704C125.8 672 96 644.4 96 609.4v-348.8c0-35 29.8-64.6 65-64.6H192c8.8 0 16 7.2 16 16V424c0 31 25 56 56 56h496c31 0 56-25 56-56v-212c0-8.8 7.2-16 16-16h33c35.2 0 63 29.6 63 64.6V609.4c0 35-27.8 62.6-63 62.6z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-refresh-circle" unicode="" d="M512 800C282.2 800 96 613.8 96 384s186.2-416 416-416 416 186.2 416 416S741.8 800 512 800z m0-672.2c-141.4 0-256 114.6-256 256.2s114.6 256.2 256 256.2v74c0 12.8 14.2 20.4 24.8 13.4l145.8-105.2c9.8-6.6 9.4-21.2-0.8-27.2L536 502.6c-10.6-6.2-24 1.6-24 13.8v83.8c-120.6 0-218.4-99.4-216.2-220.4 2.2-118.2 100.6-213.4 219-212 111.8 1.4 203.6 87.4 212.6 198 0.8 10.4 9.4 18.2 19.8 18.2 11.6 0 20.8-9.8 19.8-21.4-10.8-132-120.8-234.8-255-234.8z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-switch" unicode="" d="M288 160m-84 0a84 84 0 1 1 168 0 84 84 0 1 1-168 0ZM735 352h-446C182.4 352 96 265.6 96 159S182.4-32 289-32h446c106.6 0 193 84.4 193 191S841.6 352 735 352zM288 32c-70.6 0-128 57.4-128 128s57.4 128 128 128 128-57.4 128-128-57.4-128-128-128zM736 608m-84 0a84 84 0 1 1 168 0 84 84 0 1 1-168 0ZM289 416h446c106.6 0 193 84.4 193 191S841.6 800 735 800h-446C182.4 800 96 713.6 96 607S182.4 416 289 416zM736 736c70.6 0 128-57.4 128-128s-57.4-128-128-128-128 57.4-128 128 57.4 128 128 128z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-warning" unicode="" d="M457.8 736.2L103.6 89.8C81.2 49.4 111 0 157.8 0h708.6c46.6 0 76.4 49.4 54.2 89.8L566.2 736.2c-23.4 42.4-85 42.4-108.4 0zM547.2 468L540 224h-56l-7.2 244h70.4zM512 91.2c-21.4 0-38.2 16.2-38.2 36.8s16.8 36.8 38.2 36.8 38.2-16.2 38.2-36.8-16.8-36.8-38.2-36.8z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-albums" unicode="" d="M309.4-32h533.4c47 0 85.4 38.4 85.4 85.4V586.6c0 47-38.4 85.4-85.4 85.4H309.4c-47 0-85.4-38.4-85.4-85.4v-533.4c0-46.8 38.4-85.2 85.4-85.2zM181.4 800h533.4c47 0 85.4-38.4 85.4-85.4V704H277.4C230.4 704 192 665.6 192 618.6V96h-10.6C134.4 96 96 134.4 96 181.4V714.6C96 761.6 134.4 800 181.4 800z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="logo-html" unicode="" d="M128 832l69.872-806.426L511.538-64l314.49 89.708L896 832H128z m615.994-264h-368l7.982-102h352.016l-27.01-302.772-197-56.188-197.364 55.952L301.09 318h96.508l6.846-78.574 107.538-29.562 106.844 29.83L629.974 368H295.972l-25.142 299.178 481.578-0.032L743.994 568z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="logo-chrome" unicode="" d="M377.6 384.15c0-73.892 60.486-134.356 134.4-134.356s134.398 60.462 134.398 134.356c0 73.89-60.484 134.358-134.398 134.358s-134.4-60.468-134.4-134.358zM953.504 460.41c-0.018-0.01-0.032-0.076-0.048-0.084-3.402 19.754-8.08 39.676-13.978 57.676h-0.214c5.966-18 10.704-38 14.144-58h-0.004c-3.438 20-8.176 40-14.14 58h-310.78c38.088-34 62.716-80.35 62.716-134.104 0-33.592-8.968-62.568-24.628-89.448L462.088-60.904s-0.018-0.528-0.028-0.528l-0.02-0.568h0.03l-0.01 0.524c16.406-1.84 33.062-2.524 49.94-2.524 13.684 0 27.218 0.786 40.598 2.004a447.72 447.72 0 0 1 59.554 9.466C811.36-7.05 960 171.192 960 384.118c0 25.998-2.242 51.506-6.496 76.292zM512 205.008c-67.202 0-123.202 35.82-154.57 89.57L152.012 649.906l-0.274 0.472a447.032 447.032 0 0 1-51.806-90.246C76.814 506.11 64 446.628 64 384.15c0-125.39 51.568-238.72 134.632-320.018 58.684-57.438 133.09-98.866 216.176-117.238l0.058 0.102 155.366 269.208c-17.918-6.716-38.062-11.196-58.232-11.196zM182.584 686.85l154.7-266.5C352.966 500.974 424.63 564 512 564h410.344c-13.842 30-31.188 60.648-51.558 87.876 0.078-0.042 0.156-0.106 0.234-0.148C891.288 624.576 908.556 594 922.344 564h0.344c-13.768 30-31.028 60.76-51.336 87.98-0.23 0.12-0.458 0.336-0.684 0.514C788.95 761.466 658.718 832 512 832c-52.744 0-103.346-9.138-150.344-25.872-69.23-24.654-130.606-65.834-179.374-118.812l0.284-0.486 0.018 0.02z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-tennisball" unicode="" d="M500.8-32c2 15.8 3.2 31.8 3.2 47.8 0 96.2-37.4 188.6-105.4 256.6S238 376 141.8 376c-15.4 0-30.8-1-45.8-2.8 5.6-220.6 184.6-398.6 404.8-405.2zM460 748c0 16.6 1 32.8 2.8 49-190.6-23.4-343.4-178-364.4-369.4 14.4 1.4 28.8 2.2 43.6 2.2 229.8 0 414.2-184.4 414.2-414 0-15.4-0.8-30.6-2.6-45.6 193.2 20.2 349.2 172.4 371.6 364.8-16.8-2-33.8-1.2-51-1.2C644.2 334 460 518.2 460 748zM617.4 491.4c68-68 160.4-105.4 256.6-105.4 18.2 0 36.2 1.4 54 4-4.4 224-187.8 407-412.2 410-2.4-17-3.8-34.4-3.8-52 0-96.2 37.4-188.6 105.4-256.6zM464 797.4z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-umbrella" unicode="" d="M814.2 620.2c-69.8 83.2-162.6 134.6-262.4 145.2-4 19.8-20.4 34.6-39.8 34.6s-35.8-14.6-39.8-34.4c-101.2-10.4-194.8-60.6-264.2-142.4-71.6-84.4-111.2-171-111.6-287.4-0.2-1-0.4-2.4-0.4-4.2 0.2-6.4 5.4-11.6 11.6-11.6h6.2c5.2 0 9.8 3.6 11.2 8.8 5.4 20.2 16.8 38.2 32 51 15.4 13 33.8 19.8 53.2 19.8 19.2 0 37.6-6.8 53-20 15.2-12.8 26.4-30.8 32-51 1.4-5.2 6-8.8 11.2-8.8h9.6c5.2 0 9.8 3.6 11.2 8.8 11.4 41.8 46.6 70.8 85.6 70.8 29.6 0 57.6-16.8 73.8-43.8V60c0-19.8-16-36-35.4-36s-35.2 16.2-35.2 36c0 15.4-12.2 28-27.4 28-15 0-27.2-12.6-27.2-28 0-50.8 40.4-92 89.8-92 49.6 0 89.8 41.2 89.8 92V354.4c16.4 28.4 43.8 45.2 73.8 45.2 19.2 0 37.4-6.8 52.8-19.8 15-12.8 26.2-30.8 31.8-51 1.4-5.2 6-8.8 11.2-8.8h9.6c5.2 0 9.8 3.6 11.2 8.8 5.4 20.2 16.8 38.4 32 51.2 15.4 13 33.8 20 53.2 20 19.4 0 38-6.8 53.4-20 15.2-12.8 26.4-31 31.8-51.2 1.4-5.2 6-8.8 11.2-8.8h3c3.2 0 6.2 1.2 8.4 3.6s3.4 5.4 3.4 8.6c-1.6 115.8-42 202.6-113.6 288z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="logo-rss" unicode="" d="M239.8 223.8c-61.6 0-111.8-50.2-111.8-111.6 0-61.6 50.2-111.2 111.8-111.2 61.8 0 111.8 49.8 111.8 111.2 0 61.4-50 111.6-111.8 111.6zM128 512v-159.8c96 0 188.2-28.4 256-96.2 67.8-67.8 96-159.8 96-256h160c0 279.8-232 512-512 512zM128 768v-159.8c342 0 607.8-266 607.8-608.2H896C896 423.4 552 768 128 768z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="logo-octocat" unicode="" d="M356.8 321c-18.2 0-33.8-8.4-46.4-25.6-12.6-17-18.8-38-18.8-62.8 0-25 6.4-46 18.8-63 12.6-17 28-25.6 46.4-25.6 17 0 31.8 8.6 44.2 25.6 12.6 17 18.8 38 18.8 63 0 24.8-6.4 45.8-18.8 62.8-12.6 17.2-27.2 25.6-44.2 25.6z m312.6 0c-18 0-33.8-8.4-46.4-25.6-12.6-17-18.8-38-18.8-62.8 0-25 6.4-46 18.8-63 12.6-17 28.2-25.6 46.4-25.6 17 0 31.8 8.6 44.4 25.6 12.6 17 18.8 38 18.8 63 0 24.8-6.4 45.8-18.8 62.8-12.6 17.2-27.2 25.6-44.4 25.6zM891.6 552c-0.2 0 5.4 28.6 0.6 78.4-4.4 49.8-15 95.6-32.2 137.6 0 0-8.8-1.6-25.6-5.8s-44.2-12.6-81.8-29.6c-37-17-76-39.6-116.6-67-27.6 7.8-68.8 11.8-124 11.8-52.6 0-93.8-4-124-11.8-89.2 61.8-163.8 96-224.2 102.4-17.2-42-27.8-88-32-138-4.8-49.8 0.8-78.6 0.8-78.6C84 498.8 64 423 64 360.4c0-48.4 1.4-92.2 12.2-131 11.2-38.6 25.4-70.2 42.2-94.4 17.2-24.2 38-45.6 63.2-63.8 25-18.6 48-32 68.8-40.4 21-8.8 44.8-15.2 72-19.8 26.6-4.8 46.8-7.2 61-8 0 0 56-3 128.8-3s128.6 3 128.6 3c14 0.8 34.2 3.2 61 8 27 4.6 51 11.2 71.8 19.8 20.8 8.6 43.8 21.8 69 40.4 25 18 45.8 39.4 63 63.8 16.8 24.2 31 55.8 42.2 94.4 11 38.8 12.2 82.8 12.2 131.2 0 60.6-20 137.4-68.4 191.4z m-130.8-467.2c-55.8-26.2-137.8-36.8-246.6-36.8H510c-108.8 0-190.8 10.4-245.6 36.8-55 26.2-82.6 80.2-82.6 161.4 0 48.6 17.2 88 51 118.2 14.8 13 32.8 22 55.2 27.4 22.2 5.2 42.8 5.6 62 5 18.8-0.8 45.2-4.4 78.6-7 33.6-2.6 58.6-6 83.6-6 23.4 0 54.4 4 104.2 8 50 4 87 6 111 2 24.6-4 46-12.4 64.2-29.4 35.4-31.6 53.2-71 53.2-118.2-0.2-81.2-28.4-135.2-84-161.4z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="logo-slack" unicode="" d="M427.2 423.568l128.006 42.876 41.416-123.646-128.008-42.876zM427.2 423.568l128.006 42.876 41.416-123.646-128.008-42.876zM951.8 516C852.8 846 710 922.8 380 823.8S-26.8 582 72.2 252 314-154.8 644-55.8 1050.8 186 951.8 516z m-166.6-214.2l-62.2-20.8 21.4-64.4c8.4-26-5.4-54.4-31.4-63-5.4-1.6-11.6-3-16.8-2.4-20 0.8-39.2 13.8-46 33.8l-21.4 64.4-128.2-43L522 142c8.4-26-5.4-54.4-31.4-63-5.4-1.6-11.6-3-16.8-2.4-20 0.8-39.2 13.8-46 33.8L406 175.2l-62-20.6c-5.4-1.6-11.6-3-16.8-2.4-20 0.8-39.2 13.8-46 33.8-8.4 26 5.4 54.4 31.4 63l62.2 20.8-41.4 123.6-62.2-20.8c-5.4-1.6-11.6-3-16.8-2.4-20 0.8-39.2 13.8-46 33.8-8.4 26 5.4 54.4 31.4 63l62.2 20.8-21.8 64.2c-8.4 26 5.4 54.4 31.4 63 26 8.4 54.4-5.4 63-31.4l21.4-64.4 128.2 43-21.4 64.4c-8.4 26 5.4 54.4 31.4 63 26 8.4 54.4-5.4 63-31.4l21.4-64.4 62.2 20.8c26 8.4 54.4-5.4 63-31.4 8.4-26-5.4-54.4-31.4-63l-62.2-20.8 41.4-123.6 62.2 20.8c26 8.4 54.4-5.4 63-31.4 8.4-26.4-5.4-54.8-31.6-63.4z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="logo-game-controller-b" unicode="" d="M270.2 486.8c-21.4 0-38.6-17.4-38.6-38.8s17.4-38.8 38.6-38.8c21.2 0 38.6 17.4 38.6 38.8s-17.2 38.8-38.6 38.8zM932.6 398.2c-42.4 177-87.2 271-177 297.6-19.6 5.8-36.2 8-51.4 8-55.2 0-93.8-29.4-192.2-29.4-98.4 0-137 29.4-192.2 29.4-15.4 0-32-2.2-51.4-8-89.8-26.6-134.6-120.8-177-297.6-42.4-177-34.6-304.8 15.4-328.6 8.2-3.8 16.4-5.6 25-5.6 43.4 0 90.2 47.6 135.4 104 51.4 64.2 64.2 66 220.6 66h48.6c156.2 0 169.2-1.6 220.6-66 45-56.4 92-104 135.4-104 8.4 0 16.8 1.8 25 5.6 49.8 24 57.4 151.8 15.2 328.6z m-662.2-29.4c-43.2 0-78.4 35.6-78.4 79.2s35.2 79.2 78.4 79.2c43.4 0 78.4-35.6 78.4-79.2 0.2-43.8-35-79.2-78.4-79.2z m345.8 39c-22.2 0-40.2 18-40.2 40.2 0 22.2 18 40.2 40.2 40.2 22.2 0 40.2-18 40.2-40.2 0-22.2-18-40.2-40.2-40.2zM704 320c-22.2 0-40.2 18-40.2 40 0 22.4 18 40.2 40.2 40.2 22.2 0 40.2-17.8 40.2-40.2 0-22-18-40-40.2-40z m0 175.6c-22.2 0-40.2 18-40.2 40.2 0 22.2 18 40.2 40.2 40.2 22.2 0 40.2-18 40.2-40.2 0-22.2-18-40.2-40.2-40.2z m87.8-87.8c-22.2 0-40.2 18-40.2 40.2 0 22.2 18 40.2 40.2 40.2 22.2 0 40.2-18 40.2-40.2 0-22.2-18-40.2-40.2-40.2z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="logo-windows" unicode="" d="M960 366H464v-358l496-72V366z m-528 0H64v-300l368-53.4V366zM960 832L464 761.2V398h496V832zM432 756.6L64 704v-306h368V756.6z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-add-circle" unicode="" d="M512 800C282.2 800 96 613.8 96 384s186.2-416 416-416 416 186.2 416 416S741.8 800 512 800z m181-448H544v-149c0-17.6-14.4-32-32-32-8.8 0-16.8 3.6-22.6 9.4-5.8 5.8-9.4 13.8-9.4 22.6V352h-149c-8.8 0-16.8 3.6-22.6 9.4-5.8 5.8-9.4 13.8-9.4 22.6 0 17.6 14.4 32 32 32H480v149c0 17.6 14.4 32 32 32s32-14.4 32-32V416h149c17.6 0 32-14.4 32-32s-14.4-32-32-32z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-archive" unicode="" d="M920 656H104c-4.4 0-8 3.6-8 8V704c0 35.4 28.6 64 64 64h704c35.4 0 64-28.6 64-64v-40c0-4.4-3.6-8-8-8z m-40-52H144c-8.8 0-16-7.2-16-16v-524c0-35.2 28.8-64 64-64h640c35.2 0 64 28.8 64 64V588c0 8.8-7.2 16-16 16zM612 320h-199.2c-14.2 0-26.8 10.4-28.6 24.6-2 17 11.2 31.4 27.8 31.4h199.2c14.2 0 26.8-10.4 28.6-24.6 2-16.8-11.2-31.4-27.8-31.4z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-aperture" unicode="" d="M500.4 153.2c-3.6 0-5.4-4.4-2.8-6.8l109.8-109.8L652-8c84.8 30.4 157 87.4 206.2 161.2H500.4zM334 226.8V8c54-25.6 114.2-40 178-40 28.2 0 55.8 2.8 82.4 8.2L340.8 229.6c-2.4 2.6-6.8 0.8-6.8-2.8zM512 800c-27.8 0-54.8-2.8-81-8l253.6-253.6c2.6-2.6 6.8-0.8 6.8 2.8V759.4C637.2 785.4 576.4 800 512 800zM136.2 562.8C110.4 508.6 96 448 96 384c0-28.2 2.8-55.8 8.2-82.4L358.4 556c2.6 2.6 0.8 6.8-2.8 6.8H136.2zM373.4 776.2C288 746 215.4 688.8 166 614.6h359.4c3.6 0 5.4 4.4 2.8 6.8l-154.8 154.8zM334 454.8v-141.4c0-2.2 0.8-4.2 2.4-5.6l100-100c1.6-1.6 3.6-2.4 5.6-2.4h141.4c2.2 0 4.2 0.8 5.6 2.4l100 100c1.6 1.6 2.4 3.6 2.4 5.6v141.4c0 2.2-0.8 4.2-2.4 5.6l-100 100c-1.6 1.6-3.6 2.4-5.6 2.4H442c-2.2 0-4.2-0.8-5.6-2.4l-100-100c-1.4-1.6-2.4-3.6-2.4-5.6z m586 10.2L667.2 212c-2.6-2.6-0.8-6.8 2.8-6.8h217.6c26 54.2 40.4 114.8 40.4 178.8 0 27.8-2.8 54.8-8 81zM743.6 729.6v-358c0-3.6 4.4-5.4 6.8-2.8l153.8 153.8c-30 85.2-87 157.6-160.6 207zM120.2 244.2c30.4-85.2 87.8-157.6 162-206.8V396.4c0 3.6-4.4 5.4-6.8 2.8l-155.2-155z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-appstore" unicode="" d="M512 800C282.2 800 96 613.8 96 384s186.2-416 416-416 416 186.2 416 416S741.8 800 512 800z m-157.8-593.8c-5.4-9.2-15-14.2-25-14.2-5 0-10 1.2-14.6 4-13.8 8-18.4 25.6-10.4 39.4l28.4 47.2c3 5 8.2 8 14 8h4.2c20.6 0 35-12.4 39.2-24.4l-35.8-60z m240.4 92.8l-186-0.2h-123.6c-16.4 0-29.6 13.6-28.8 30 0.6 15.6 14.2 27.4 29.8 27.4h89.6l106.2 180.8-34.4 58.6c-7.8 13.4-4.4 31 8.8 39.4 14 9 32.4 4.4 40.6-9.6l18.4-31.4h0.2l18.4 31.4c8.2 14 26.8 18.6 40.6 9.6 13.2-8.4 16.6-26 8.8-39.4l-34.4-58.6-33.4-57-72.6-123.8v-0.2h107c13.4 0 30.2-7.2 37-18.8l0.6-1.2c6-10.2 9.4-17.2 9.4-27.4-0.2-5.6-2.2-9.6-2.2-9.6z m144.4-0.2h-50.4v-0.2l36.8-62.6c8-13.6 4.2-31.6-9.6-40-4.6-2.8-9.8-4.2-15-4.2-10 0-19.6 5.2-25 14.2l-54.4 92.6-33.8 57.6-43.6 74.6c-12.8 21.8-13.4 49-1.2 70.6 8.6 15.2 15.2 19.2 15.2 19.2l97-164.2h83.4c15.6 0 29-12 29.8-27.4 0.6-16.6-12.6-30.2-29.2-30.2z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-alarm" unicode="" d="M762.4 767.8c-2.6 0.2-5.2 0.2-7.8 0.2h-0.4c-32.4 0-64-10.8-89.2-30.2-3.2-2.6-5.2-6.4-5.4-10.4-0.2-4 1.6-8 4.6-10.8l179.6-161c2.6-2.2 5.8-3.6 9.2-3.6h0.8c3.8 0.2 7.2 2 9.6 4.8C881.8 578 896 594.4 896 630c0.2 72.8-58.2 133.6-133.6 137.8zM128 630c0-35.6 14.2-52 32.6-73.2 2.4-2.8 5.8-4.6 9.6-4.8h0.8c3.4 0 6.6 1.2 9.2 3.6L360 716.6c3 2.8 4.8 6.6 4.6 10.8-0.2 4-2 7.8-5.4 10.4C334 757.2 302.4 768 270 768h-0.4c-2.6 0-5.2 0-7.8-0.2-75.4-4.2-134-65-133.8-137.8zM780 124c52.4 61.4 84 141 84 228 0 194.4-157.6 352-352 352S160 546.4 160 352c0-87 31.6-166.6 84-228l-69.4-71c-12.4-12.6-12-31 0.6-43.2 6.2-6 14.8-9.6 22.8-9.6 8.4 0 16.2 3.8 22.4 10.2l69.2 69c60.6-49.4 138-79.2 222.4-79.2s161.8 29.6 222.4 79.2l67.2-69c6.2-6.4 14.6-10.2 23-10.2 8 0 16.2 3.6 22.4 9.6 12.6 12.4 15 30.6 2.6 43.2L780 124zM540 348c0-15.4-12.6-28-28-28h-164c-15.4 0-28 12.6-28 28s12.6 28 28 28h136V580c0 15.4 12.6 28 28 28s28-12.6 28-28v-232z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-apps" unicode="" d="M869.6 620.8L570.8 757c-32.4 14.8-85.4 14.8-117.8 0L154.4 620.8c-35.2-16-35.2-42.2 0-58.2l296-135c33.8-15.4 89.4-15.4 123.2 0l296 135c35.2 16 35.2 42.2 0 58.2zM450.4 145.6l-199.6 91c-8.4 3.8-18.2 3.8-26.6 0l-69.8-31.8c-35.2-16-35.2-42.2 0-58.2l296-135c33.8-15.4 89.4-15.4 123.2 0l296 135c35.2 16 35.2 42.2 0 58.2l-69.8 31.8c-8.4 3.8-18.2 3.8-26.6 0l-199.6-91c-33.8-15.4-89.4-15.4-123.2 0zM869.6 412.8l-63.4 28.8c-8.4 3.8-18 3.8-26.4 0l-216-97.8c-30.6-10.4-73.2-10.4-103.8 0l-216 97.8c-8.4 3.8-18 3.8-26.4 0l-63.4-28.8c-35.2-16-35.2-42.2 0-58.2l296-135c33.8-15.4 89.4-15.4 123.2 0l296 135c35.4 16 35.4 42.2 0.2 58.2z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-beaker" unicode="" d="M890.4 800H257C148.2 800 128 744.2 128 719.6c60.6-8.4 64-8.4 64-72.4v-551c0-70.6 57.8-128 128.4-128H736c70.8 0 126 58.4 126 129V717.6c4 35 25 63.2 27.2 66.6 2.4 3.8 6.8 8.8 6.8 11 0 2.4-0.6 4.8-5.6 4.8z m-666-58.6c0 0.2 0 0.2 0 0 12 2 24 2.6 32.6 2.6H810c-1.8-7.4-3-14.2-3.6-20-0.2-2.2-0.4-4.2-0.4-6.4v-141.8 0.2H248v71c0 35.2 0 68.4-23.6 94.4z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-albums" unicode="" d="M921.8 574H102.2C63.6 574 32 542.4 32 503.8V40c0-38.6 31.6-70.2 70.2-70.2H922c38.6 0 70.2 31.6 70.2 70.2V503.8c-0.2 38.6-31.8 70.2-70.4 70.2zM868 630H156c-15.4 0-28 12.6-28 28s12.6 28 28 28h712c15.4 0 28-12.6 28-28s-12.6-28-28-28z m-61.6 112H217.6c-14 0-25.6 11.6-25.6 25.6v4.8c0 14 11.6 25.6 25.6 25.6h588.8c14 0 25.6-11.6 25.6-25.6v-4.8c0-14-11.6-25.6-25.6-25.6z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-briefcase" unicode="" d="M160 0h704c35.4 0 64 28.6 64 64V448H96v-384c0-35.4 28.6-64 64-64z m704 640h-16v16c0 8.8-7.2 16-16 16h-64c-8.8 0-16-7.2-16-16v-16h-56V704c0 35.2-28.8 64-64 64H392c-35.2 0-64-28.8-64-64v-64h-56v16c0 8.8-7.2 16-16 16H192c-8.8 0-16-7.2-16-16v-16h-16c-35.4 0-64-28.6-64-64v-80h832v80c0 35.4-28.6 64-64 64z m-224 0H384v56c0 8.8 7.2 16 16 16h224c8.8 0 16-7.2 16-16v-56z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-bed" unicode="" d="M916.4 480h-0.8c-24 0-43.6-19.6-43.6-43.6 0-2.4-2-4.4-4.4-4.4H156.4c-2.4 0-4.4 2-4.4 4.4 0 24-19.6 43.6-43.6 43.6h-0.8c-24 0-43.6-19.6-43.6-43.6v-360.8c0-24 19.6-43.6 43.6-43.6h0.8c24 0 43.6 19.6 43.6 43.6V88c0 4.4 3.6 8 8 8h704c4.4 0 8-3.6 8-8v-12.4c0-24 19.6-43.6 43.6-43.6h0.8c24 0 43.6 19.6 43.6 43.6V436.4c0 24-19.6 43.6-43.6 43.6zM168 468h45c4.4 0 8 3.6 8 8v26c0 17.6 14.4 32 32 32H448c17.6 0 32-14.4 32-32v-26c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v26c0 17.6 14.4 32 32 32h195c17.6 0 32-14.4 32-32v-26c0-4.4 3.6-8 8-8H856c8.8 0 16 7.2 16 16v188c0 35.2-28.8 64-64 64H216c-35.2 0-64-28.8-64-64v-188c0-8.8 7.2-16 16-16z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-bookmarks" unicode="" d="M832 832v-255.8l-45.8 29-18.2 12.8-18.2-12.8-45.8-29V832h-82.8c-45-0.4-81.2-37.6-81.2-82.8v-626.4c0-15-11.6-28-26.6-28.8-16-0.8-29.4 12-29.4 28V749.2c0 45.2-36.2 82.4-81.2 82.8H190.2C129.6 832 80 782.4 80 721.8v-579.6c0-60.6 49.6-110.2 110.2-110.2l216 0.2c8.4-0.2 16.6-1.2 24.4-2.8 30.6-6.2 53.6-33.2 53.2-64.4-0.2-14.4 10.4-27.2 24.8-28.8 17-1.8 31.4 11.4 31.2 28.2-0.4 31.6 22.8 58.8 53.8 65 7.6 1.6 15.8 2.4 24 2.6l216-0.2c60.6 0 110.2 49.6 110.2 110.2V721.8C944 782.4 892.6 832 832 832z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-book" unicode="" d="M292 767.8c108.2 0 200-55.8 200-164V4c0-4.4-6.2-5.4-7.6-1.4v0.2c-20.6 68.4-76.4 135.2-164.6 141-68.4 4.4-133.8-25.8-186.2-74.2-3.2-3-8.6-5.8-13.2-5.8h-9c-7.4 0-15.2 5.4-15.2 12.2V655.6C96 719.8 183.8 767.8 292 767.8z m440 0.2c-108.2 0-200-55.8-200-164v-599.8c0-4.4 6.2-5.4 7.6-1.4v0.2c20.6 68.4 78.8 135.8 164.6 141 65.8 4 127.8-22 186.2-74.2 3.2-2.8 8.6-5.8 13.2-5.8h9c7.4 0 15.2 5.4 15.2 12.2V656c0.2 64-87.6 112-195.8 112z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-camera" unicode="" d="M512 346m-115 0a115 115 0 1 1 230 0 115 115 0 1 1-230 0ZM835 576H726c-9.2 0-17.8 4-24 10.8-56.8 63.6-78.2 85.2-101.4 85.2h-171c-23.4 0-46.4-21.6-103.4-85.4-6-6.8-14.8-10.6-23.8-10.6h-8.2v16c0 8.8-7.2 16-16 16h-52c-8.8 0-16-7.2-16-16v-16h-15C159.8 576 128 549.6 128 514.6v-352c0-35 31.8-66.6 67-66.6h640c35.2 0 61 31.6 61 66.6v352c0 35-25.8 61.4-61 61.4zM520 175.2c-100.6-4.6-183.4 78.2-178.8 178.8 4 87.8 75 158.8 162.8 162.8 100.6 4.6 183.4-78.2 178.8-178.8-4-87.8-75-158.8-162.8-162.8zM704 460c-14.4 0-26 11.6-26 26s11.6 26 26 26 26-11.6 26-26-11.6-26-26-26z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-boat" unicode="" d="M703.6 52c-52.4-18.4-133-29.8-192.2-29.8-59.2 0-139.8 11.4-192.2 29.8 0 0-52.2-47.8-124.6-72.4-4.6-1.6-3-8.4 1.8-7.8 45.2 5.2 80.4 13 122.8 24 46-18 133.4-27.8 192.2-27.8 58.8 0 148.2 7.6 192.2 27.8 43-11.2 77.6-19.2 124-24.2 4.8-0.6 6.4 6.2 1.8 7.8-71.4 24.8-125.8 72.6-125.8 72.6z m187.4 318l-372.4 171c-4.2 2-9.2 2-13.4 0L133 370c-12.4-5.8-21-18.2-21-32.8 0-4.8 1-9.2 2.6-13.4L224 52c55 0 113.4 44 113.4 44 36-18 106.2-34.2 158.6-37.2 5.6-0.4 11-0.4 16-0.4s10.4 0.2 16 0.4c52.4 3 122.6 19 158.6 37.2 0 0 58.4-44 113.4-44l109.4 271.8c1.6 4.2 2.6 8.6 2.6 13.4 0 14.6-8.6 27-21 32.8zM424 320c-13.2 0-24 19.6-24 44s10.8 44 24 44 24-19.6 24-44-10.8-44-24-44z m176 0c-13.2 0-24 19.6-24 44s10.8 44 24 44 24-19.6 24-44-10.8-44-24-44zM783.8 642v0.2C772.6 695.4 748.8 736 704 736h-69.2l-4 16c-7.2 28.2-32.8 48-62 48h-114c-29.2 0-54.8-19.8-62-48.2l-4-15.8H320c-45.8 0-70.2-41.4-79.6-94L204 448.4c-1.2-6.4 5.2-11.4 11.2-8.8l50.6 23.2c2.4 1 4 3.2 4.6 5.8l32.4 171.2c5 21.4 14.6 32 32.2 32h354.2c17.8 0 26.2-10 32.2-32l32.4-171.2c0.4-2.6 2.2-4.8 4.6-5.8l50.8-23.4c6-2.8 12.4 2.4 11.2 8.8L783.8 642z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-bulb" unicode="" d="M808 518.2C808 674 667.8 800 512 800s-296-126.2-296-281.8c0-62 26.4-112.2 60.4-160.2h-0.6c21.8-30 42.8-35.4 63-70 29.4-50.4 36.2-81.4 37.4-111.4 0.8-17.2 15-30.6 32-30.6h17.8c4.4 0 8 3.6 8 8v189c0 10-2.4 19.6-6.8 28.6l-42 84c-7 14 3.2 30.4 18.8 30.4 8 0 15.4-4.6 18.8-11.8l50.6-102.8c4.4-8.8 6.6-18.4 6.6-28.2V154c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v189.2c0 9.8 2.2 19.4 6.6 28.2l50.8 103.2c3.4 6.8 10.4 11.2 18 11.2 15 0 24.8-15.8 18-29.2l-42.6-85.2c-4.4-9-6.8-18.8-6.8-28.6V154c0-4.4 3.6-8 8-8h20c17 0 31 13.2 32 30 1.8 30.8 9.4 64.6 36.8 112 20.2 34.6 41.2 40 63 70h-0.2c34 48 60.4 98.2 60.4 160.2zM476-32h72c15.4 0 28 12.6 28 28s-12.6 28-28 28h-72c-15.4 0-28-12.6-28-28s12.6-28 28-28z m-40 88h152c15.4 0 28 12.6 28 28s-12.6 28-28 28h-152c-15.4 0-28-12.6-28-28s12.6-28 28-28z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-cash" unicode="" d="M932 184.2H92c-15.4 0-28-12.6-28-28s12.6-28 28-28h840c15.4 0 28 12.6 28 28s-12.6 28-28 28z m0-96H92c-15.4 0-28-12.6-28-28s12.6-28 28-28h840c15.4 0 28 12.6 28 28s-12.6 28-28 28zM889.8 735.8H134.2C95.6 735.8 64 704.2 64 665.6V310c0-38.6 31.6-70.2 70.2-70.2h755.6c38.6 0 70.2 31.6 70.2 70.2V665.6c0 38.6-31.6 70.2-70.2 70.2zM228 303.8H156c-15.4 0-28 12.6-28 28s12.6 28 28 28h72c15.4 0 28-12.6 28-28s-12.6-28-28-28z m0 312H156c-15.4 0-28 12.6-28 28s12.6 28 28 28h72c15.4 0 28-12.6 28-28s-12.6-28-28-28z m284-288c-88.2 0-160 71.8-160 160s71.8 160 160 160 160-71.8 160-160-71.8-160-160-160z m356-24h-72c-15.4 0-28 12.6-28 28s12.6 28 28 28h72c15.4 0 28-12.6 28-28s-12.6-28-28-28z m0 312h-72c-15.4 0-28 12.6-28 28s12.6 28 28 28h72c15.4 0 28-12.6 28-28s-12.6-28-28-28zM512 484m-106 0a106 106 0 1 1 212 0 106 106 0 1 1-212 0Z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-close-circle-outline" unicode="" d="M662.6 278.6L557.2 384l105.4 105.4c12.4 12.4 12.4 32.8 0 45.2-12.4 12.4-32.8 12.4-45.2 0L512 429.2l-105.4 105.4c-12.4 12.4-31.2 14.2-45.2 0-14.2-14.2-12-33.2 0-45.2l105.4-105.4-105.4-105.4c-13.4-13.4-12.8-32.6 0-45.2 12.8-12.8 32.8-12.4 45.2 0l105.4 105.4 105.4-105.4c12.4-12.4 32.8-12.4 45.2 0 12.6 12.4 12.6 32.8 0 45.2zM512 744c96.2 0 186.6-37.4 254.6-105.4S872 480.2 872 384s-37.4-186.6-105.4-254.6S608.2 24 512 24c-96.2 0-186.6 37.4-254.6 105.4S152 287.8 152 384s37.4 186.6 105.4 254.6S415.8 744 512 744m0 56C282.2 800 96 613.8 96 384s186.2-416 416-416 416 186.2 416 416S741.8 800 512 800z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-checkbox-outline" unicode="" d="M832 768H192c-35.4 0-64-28.6-64-64v-640c0-35.4 28.6-64 64-64h640c35.4 0 64 28.6 64 64V704c0 35.4-28.6 64-64 64z m8-696c0-8.8-7.2-16-16-16H200c-8.8 0-16 7.2-16 16V696c0 8.8 7.2 16 16 16h624c8.8 0 16-7.2 16-16v-624zM727.2 510.2L692 546.4c-1.4 1.6-3.6 2.4-5.6 2.4-2.2 0-4.2-0.8-5.6-2.4l-244-245.8-88.8 88.8c-1.6 1.6-3.6 2.4-5.6 2.4-2 0-4-0.8-5.6-2.4l-35.6-35.6c-3.2-3.2-3.2-8.2 0-11.4l112-112c7.2-7.2 16-11.4 23.4-11.4 10.6 0 19.8 7.8 23.2 11h0.2l267.4 268.8c2.8 3.4 2.8 8.4-0.2 11.4z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-checkmark-circle" unicode="" d="M512 800C282.2 800 96 613.8 96 384s186.2-416 416-416 416 186.2 416 416S741.8 800 512 800z m213-301L457.6 230.4h-0.2c-3.4-3.4-12.6-11-23.2-11-7.6 0-16.2 4.2-23.4 11.4l-112 112c-3.2 3.2-3.2 8.2 0 11.4l35.6 35.6c1.6 1.6 3.6 2.4 5.6 2.4 2 0 4-0.8 5.6-2.4l88.8-88.8 244 245.8c1.6 1.6 3.6 2.4 5.6 2.4 2.2 0 4.2-0.8 5.6-2.4l35-36.2c3.6-3.4 3.6-8.4 0.4-11.6z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-close-circle" unicode="" d="M512 800C282.2 800 96 613.8 96 384s186.2-416 416-416 416 186.2 416 416S741.8 800 512 800z m105.4-566.6L512 338.8l-105.4-105.4c-12.4-12.4-32.8-12.4-45.2 0-6.2 6.2-9.4 14.4-9.4 22.6 0 8.2 3.2 16.4 9.4 22.6l105.4 105.4-105.4 105.4c-6.2 6.2-9.4 14.4-9.4 22.6 0 8.2 3.2 16.4 9.4 22.6 12.4 12.4 32.8 12.4 45.2 0l105.4-105.4 105.4 105.4c12.4 12.4 32.8 12.4 45.2 0 12.4-12.4 12.4-32.8 0-45.2L557.2 384l105.4-105.4c12.4-12.4 12.4-32.8 0-45.2-12.4-12.6-32.8-12.6-45.2 0z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-cloud-upload" unicode="" d="M874.2 564.4C858 714.8 730.8 832 576 832c-102.4 0-192.6-51.2-246.8-129.4-16.6 6.8-34.8 10.6-53.8 10.6-78.2 0-141.6-68.8-142.8-146.8C52.8 541 0 463 0 381 0 280.6 81.4 192 181.8 192H486V475.8l-95.8-94.4c-10.2-10-26.6-10-36.8 0.2-10 10.2-10 26.6 0.2 36.8l140 138c2.4 2.2 5 4.2 8.2 5.4 3.2 1.4 6.6 2 10 2 6.8 0 13.2-2.6 18.2-7.4l140-138c10.2-10 10.4-26.6 0.2-36.8-10-10.2-26.6-10.4-36.8-0.2L538 475.8V192h304.2c100.4 0 181.8 88.6 181.8 189 0 89.4-64.6 168.2-149.8 183.4zM486-38c0-14.4 11.6-26 26-26s26 11.6 26 26V192h-52v-230z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-cloud" unicode="" d="M874.2 436.4C858 586.8 730.8 704 576 704c-102.4 0-192.6-51.2-246.8-129.4-16.6 6.8-34.8 10.6-53.8 10.6-78.2 0-141.6-68.8-142.8-146.8C52.8 413 0 335 0 253 0 152.6 81.4 64 181.8 64h660.6c100.4 0 181.8 88.6 181.8 189-0.2 89.4-64.8 168.2-150 183.4z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-cloud-done" unicode="" d="M874.2 436.4C858 586.8 730.8 704 576 704c-102.4 0-192.6-51.2-246.8-129.4-16.6 6.8-34.8 10.6-53.8 10.6-78.2 0-141.6-68.8-142.8-146.8C52.8 413 0 335 0 253 0 152.6 81.4 64 181.8 64h660.6c100.4 0 181.8 88.6 181.8 189-0.2 89.4-64.8 168.2-150 183.4z m-149.2 34.6L457.6 202.4h-0.2c-3.4-3.4-12.6-11-23.2-11-7.6 0-16.2 4.2-23.4 11.4l-112 112c-3.2 3.2-3.2 8.2 0 11.4l35.6 35.6c1.6 1.6 3.6 2.4 5.6 2.4 2 0 4-0.8 5.6-2.4l88.8-88.8 244 245.8c1.6 1.6 3.6 2.4 5.6 2.4 2.2 0 4.2-0.8 5.6-2.4l35-36.2c3.6-3.4 3.6-8.4 0.4-11.6z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-contact" unicode="" d="M512 800C297 800 120.2 637 98.4 427.8c-1.6-14.4-2.4-29-2.4-43.8 0-14.8 0.8-29.4 2.4-43.8C120.2 131 297-32 512-32c229.8 0 416 186.2 416 416S741.8 800 512 800z m271.6-652.2c-45.4 17.2-119 42.4-164.8 56-4.8 1.4-5.4 1.8-5.4 21.4 0 16.2 6.6 32.6 13.2 46.6 7.2 15 15.4 40.4 18.4 63.2 8.4 9.8 20 29 27.2 65.8 6.4 32.4 3.4 44.2-0.8 55.2-0.4 1.2-1 2.4-1.2 3.4-1.6 7.6 0.6 47 6.2 77.6 3.8 21-1 65.6-29.8 102.6-18.2 23.4-53.2 52-117 56h-35c-62.8-4-97.6-32.6-116-56-29-37-33.8-81.6-30-102.6 5.6-30.6 7.8-70 6.2-77.6-0.4-1.4-0.8-2.4-1.2-3.6-4.2-11-7.4-22.8-0.8-55.2 7.4-36.8 18.8-56 27.2-65.8 3-22.8 11.4-48 18.4-63.2 5.2-11 7.6-26 7.6-47.2 0-19.8-0.8-20-5.2-21.4-47.4-14-117.8-38.8-160-55.6C183.2 213.2 152 296.2 152 384c0 96.2 37.4 186.6 105.4 254.6S415.8 744 512 744c96.2 0 186.6-37.4 254.6-105.4S872 480.2 872 384c0-87.8-31.2-170.8-88.4-236.2z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-cloud-download" unicode="" d="M874.2 564.4C858 714.8 730.8 832 576 832c-102.4 0-192.6-51.2-246.8-129.4-16.6 6.8-34.8 10.6-53.8 10.6-78.2 0-141.6-68.8-142.8-146.8C52.8 541 0 463 0 381 0 280.6 81.4 192 181.8 192H486V474c0 14.4 11.6 26 26 26s26-11.6 26-26v-282h304.2c100.4 0 181.8 88.6 181.8 189 0 89.4-64.6 168.2-149.8 183.4zM486 24.2l-95.8 94.4c-10.2 10-26.6 10-36.8-0.2-10-10.2-10-26.6 0.2-36.8l140-138c5-4.8 11.6-7.4 18.2-7.4 3.4 0 6.8 0.6 10 2 3 1.2 5.8 3.2 8.2 5.4l140 138c10.2 10 10.4 26.6 0.2 36.8-10 10.2-26.6 10.4-36.8 0.2L538 24.2V192h-52v-167.8z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-clipboard" unicode="" d="M281 576v-480c0-17.6 14.4-32 32-32h400c17.6 0 32 14.4 32 32V576c0 17.6-14.4 32-32 32h-400c-17.6 0-32-14.4-32-32z m362 158h-34c0 11.2-2 22-5.4 32-4.2 12-10.6 22.8-18.8 32-17.6 19.8-43.2 34-71.8 34s-54.2-14.2-71.8-34c-8.2-9.2-14.6-20-18.8-32-3.4-10-5.4-20.8-5.4-32H388c-19.2 0-35-15.8-35-35V668c0-2.2 1.8-4 4-4h312c2.2 0 4 1.8 4 4V704c0 16.6-13.4 30-30 30z m-125.8-31c-21-2.6-38.6 15-35.8 35.8 1.8 14.2 13.4 25.8 27.6 27.6 21 2.6 38.6-15 35.8-35.8-1.8-14.4-13.4-25.8-27.6-27.6zM800 800h-150.4c-3.4 0-5.2-3.8-3.2-6.4 5.8-7.8 10.6-16.2 14-25.6 0.6-1.6 2-2.6 3.8-2.6h1c37.4 0 53.8-29.8 55-67V668c0-2.2 1.8-4 4-4h40.6c17.6 0 32-14.4 32-32v-594.8c0-17.6-14.4-32-32-32h-506c-17.6 0-32 14.4-32 32V632c0 17.6 14.4 32 32 32h42.6c2.2 0 4 1.8 4 4v17.6c0 38.2 11.2 73.4 55.2 73.4h0.6c1.8 0 3.6 1.2 3.8 3.2 3 13.8 8.2 23.4 14.4 31.6 2 2.6 0.2 6.4-3.2 6.4l-152.6 0.2C188.6 800.2 160 771.8 160 736.6V48c0-83.4 28.6-112 64-112h577c34.8 0 63 28.2 63 63V736c0 35.4-28.6 64-64 64z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-eye-off" unicode="" d="M176.6 759.8c-11.2 11-29.2 11-40.2-0.2-11-11-11-29 0-40l711-711.4c7.4-7.4 18-9.8 27.4-7.2 4.8 1.2 9.2 3.8 12.8 7.4 11 11 11 29 0 40L176.6 759.8z m343.8-555.6c-106-4.8-193.2 82.4-188.2 188.2 1.2 24.4 7.2 47.6 17.2 68.6L242.6 568c-55.4-42.8-110.8-97.8-170.2-162.6-11-12.2-11.2-30.4-0.2-42.6C202 219.4 316.4 96 511.6 96c59.4 0 114.2 14.8 164.6 38.4l-87 87c-21.2-10-44.4-16-68.8-17.2zM951.6 364c10.6 11.6 11.2 29.2 1 41.4C848 532.4 703 672 511.6 672c-58.2 0-112-13.2-164-38l87.4-87.4c21 10 44.2 16.2 68.6 17.2 106 4.8 193.2-82.4 188.2-188.2-1.2-24.4-7.2-47.6-17.2-68.6l107-107c66 50.6 122.6 111.8 170 164zM384.4 374.2c4.8-62.6 55.2-113 117.8-117.8 16.4-1.2 32.2 0.6 46.8 5.2l-159.6 159.6c-4.4-14.8-6.2-30.6-5-47zM640 384c0 2.6-0.2 5.2-0.2 7.8-11.2-5-23.4-7.8-36.4-7.8-2.2 0-4.2 0-6.2 0.2l37.2-37.4c3.6 11.8 5.6 24.4 5.6 37.2z m-128 94c0 12 2.2 23.4 6.2 33.8-2 0-4 0.2-6.2 0.2-12.8 0-25.2-2-37-5.6l37.4-37.4c-0.2 3-0.4 6-0.4 9z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-copy" unicode="" d="M704 666h180c6.6 0 12 5.4 12 12 0 16.4-7.4 32-20 42.6l-154.2 128.4c-9.8 8.2-28.4 14.8-41.2 14.8-8.2 0-14.8-6.6-14.8-14.8V704c0.2-21 17.2-38 38.2-38zM614 704V864H352c-35.2 0-64-28.8-64-64v-672c0-35.2 28.8-64 64-64h480c35.2 0 64 28.8 64 64V614h-192c-49.6 0-90 40.4-90 90zM232 72V736H192c-35.2 0-64-28.8-64-64v-704c0-35.2 28.8-64 64-64h512c35.2 0 64 28.8 64 64v40H296c-35.2 0-64 28.8-64 64z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-eye" unicode="" d="M511.6 672c-160.8 0-287.6-101.2-439.2-266.6-11-12.2-11.2-30.4-0.2-42.6C202 219.4 316.4 96 511.6 96c192.8 0 337.4 155.4 440.2 268 10.6 11.6 11.2 29.2 1 41.4C848 532.4 703 672 511.6 672z m8.8-467.8c-106-4.8-193.2 82.4-188.2 188.2 4.2 92.4 79 167.2 171.4 171.4 106 4.8 193.2-82.4 188.2-188.2-4.2-92.4-79-167.2-171.4-171.4zM512 478c0 12 2.2 23.4 6.2 33.8-2 0-4 0.2-6.2 0.2-73.8 0-133.2-62.8-127.6-137.8 4.8-62.6 55.2-113 117.8-117.8 75-5.6 137.8 53.8 137.8 127.6 0 2.6-0.2 5.2-0.2 7.8-11.2-5-23.4-7.8-36.4-7.8-50.4 0-91.4 42.2-91.4 94z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-filing" unicode="" d="M848 768H176c-44 0-80-36-80-80v-608c0-44 36-80 80-80h672c44 0 80 36 80 80V688c0 44-36 80-80 80z m24-352c0-17.6-14.4-32-32-32h-173.6c-13.6 0-25.6-8.4-30.2-21.2C628 339.6 607.6 320 584 320h-144c-23.8 0-44.2 19.6-52.2 42.8-4.4 12.8-16.6 21.2-30.2 21.2H184c-17.6 0-32 14.4-32 32V680c0 17.6 14.4 32 32 32h656c17.6 0 32-14.4 32-32v-264zM772 584H252c-15.4 0-28 12.6-28 28s12.6 28 28 28h520c15.4 0 28-12.6 28-28s-12.6-28-28-28z m0-128H252c-15.4 0-28 12.6-28 28s12.6 28 28 28h520c15.4 0 28-12.6 28-28s-12.6-28-28-28z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-folder-open" unicode="" d="M896 658c0 26.6-18.8 46-45.6 46H461.8c-5.6 0-8.6 1.2-12.2 4.8l-45 45-0.4 0.4c-9.8 9.2-17.8 13.8-34.6 13.8H177.4C149.8 768 128 747.4 128 722v-146h768v82zM128 520h-16.6c-25.6 0-50.6-10.2-47-48.6C68 433 111.4 50 111.4 50c5.4-35.6 23.4-50 50-50h705c25.4 0 42 15.6 46 50 0 0 44.4 369.8 47.2 411 2.8 41-17.8 59-47.2 59H128z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-gift" unicode="" d="M864 624h-168.6c24.8 22 40.6 53.2 40.6 88 0 66.2-56.6 120-126.2 120-41.2 0-75.8-19.4-97.8-54.8C490 812.6 455.4 832 414.2 832 344.6 832 288 778.2 288 712c0-34.8 15.6-66 40.6-88H160c-35.4 0-64-28.6-64-64v-40c0-4.4 3.6-8 8-8h816c4.4 0 8 3.6 8 8v40c0 35.4-28.6 64-64 64zM609.8 776c37.2 0 67.4-28.6 67.4-64s-30.2-64-67.4-64h-67.4c0 96 30.2 128 67.4 128z m-195.6 0c37.2 0 67.4-32 67.4-128h-67.4c-37.2 0-67.4 28.6-67.4 64s30.2 64 67.4 64zM128 444v-444c0-35.2 28.8-64 64-64h292V460H144c-8.8 0-16-7.2-16-16z m752 16H540v-524h292c35.2 0 64 28.8 64 64V444c0 8.8-7.2 16-16 16z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-funnel" unicode="" d="M96 721.6c0-11.6 4-22.8 11.2-31.4l304.4-359.6c7.2-8.6 11.2-19.8 11.2-31.4v-214c0-20 11.8-37.6 29.2-44l110-39.6c19.2-7 39.2 8.6 39.2 30.6V299.4c0 11.6 4 22.8 11.2 31.4l304.4 359.6c7.2 8.6 11.2 19.8 11.2 31.4 0 25.6-19.2 46.4-42.8 46.4H138.8C115.2 768 96 747.2 96 721.6z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-flag" unicode="" d="M813.4 734.4c-6.2-1-12.8-2-19.8-2.8-26.4-3.4-85.6-10.4-121.2-10.4-55.4 0-105.6 13.6-156.4 24.4-51.6 11-104.8 22.4-161.2 22.4-112.4 0-150.6-24.2-154.6-26.8L192 735.4v-706.6c0-14.4 10.4-26.8 24.6-28.6 17-2 31.4 11.2 31.4 27.8V336.8c0 7.6 5.4 14.2 12.8 15.8 21 4.2 51.6 7.8 94 7.8 52.4 0 101.4-20 153.2-31 52.8-11.2 97.2-23 166.8-23s143.6 13.2 143.6 13.2c7.8 1.2 13.8 7.8 13.8 15.8V718.6c-0.2 9.8-9 17.4-18.8 15.8z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-home" unicode="" d="M517 687.8c-3 2.4-7 2.4-10 0l-312-249.6c-1.8-1.6-3-3.8-3-6.2v-460c0-2.2 1.8-4 4-4h216c2.2 0 4 1.8 4 4V252c0 2.2 1.8 4 4 4h184c2.2 0 4-1.8 4-4v-280c0-2.2 1.8-4 4-4h216c2.2 0 4 1.8 4 4V432c0 2.4-1.2 4.8-3 6.2l-312 249.6zM917.4 487.6l-378 302.8C531.8 796.6 522 800 512 800s-19.8-3.4-27.4-9.6L320 656.6V741c0 2.2-1.8 4-4 4H196c-2.2 0-4-1.8-4-4v-184.4l-85.4-70.2c-6.2-5-10.2-12.4-10.6-20.4-0.4-8 2.6-15.8 8.2-21.4 5.2-5.2 12.2-8.2 19.8-8.2 6.4 0 12.6 2.2 17.6 6.2l367.8 296c1 0.8 1.8 0.8 2.6 0.8s1.6-0.2 2.6-0.8l367.8-294.8c5-4 11.2-6.2 17.6-6.2 7.4 0 14.4 2.8 19.8 8.2 5.8 5.6 8.8 13.4 8.4 21.4-0.6 8-4.4 15.4-10.8 20.4z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-journal" unicode="" d="M184.2 832C153.2 832 128 806.8 128 775.8V-8c0-31 25.2-56.2 56.2-56.2H864c17.6 0 32 14.4 32 32s-14.4 32-32 32H225c-16.4 0-30.8 12-32.8 28.2-2.2 19.4 13 36 31.8 36h416V832H184.2zM864 64c17.6 0 32 14.4 32 32V775.8c0 31-25.2 56.2-56.2 56.2H736v-768h128z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-folder" unicode="" d="M960 658c0 26.6-18.8 46-45.6 46H397.8c-5.6 0-8.6 1.2-12.2 4.8l-45 45-0.4 0.4c-9.8 9.2-17.8 13.8-34.6 13.8H113.4C85.8 768 64 747.4 64 722v-147.4c0-3.2 3.4-3 6-1.4s10 2.8 14 2.8h856c4 0 11.4-1.2 14-2.8 2.6-1.6 6-1.8 6 1.4V658zM64 63.2c0-35 28.4-63.2 63.2-63.2H896c35.2 0 64 28.8 64 64V488c0 17.6-14.4 32-32 32H96c-17.6 0-32-14.4-32-32v-424.8z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-image" unicode="" d="M225.2 271.4h381.4c9 0 14.2 10.2 9 17.6l-190.8 306.8c-4.4 6.4-13.8 6.4-18.2 0L216 289c-5.2-7.4 0.2-17.6 9.2-17.6z m388.2 116l70-111.4c2-3 5.4-4.8 9-4.8h106.4c9 0 14.2 10.2 9 17.6l-123.2 175.4c-4.4 6.4-13.8 6.4-18.2 0L613.2 400c-2.4-3.6-2.4-8.6 0.2-12.6z m88.8 172.8c26.2 2.6 47.4 23.8 50 50 3.6 35.4-26 65-61.4 61.4-26.2-2.6-47.4-23.8-50-50-3.4-35.4 26-65 61.4-61.4zM864 800H160c-35.4 0-64-28.6-64-64v-704c0-35.4 28.6-64 64-64h704c35.4 0 64 28.6 64 64V736c0 35.4-28.6 64-64 64z m-5.4-560c0-8.8-7.2-16-16-16H181.4c-8.8 0-16 7.2-16 16V714.6c0 8.8 7.2 16 16 16h661.4c8.8 0 16-7.2 16-16V240z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-mail" unicode="" d="M921.2 601.4L706 382.2c-1.6-1.6-1.6-4 0-5.6l150.6-160.4c10.2-10.2 10.2-26.6 0-36.8-5-5-11.8-7.6-18.4-7.6s-13.4 2.6-18.4 7.6l-150 159.8c-1.6 1.6-4.2 1.6-5.8 0L627.4 302c-30.6-31-71.2-48.2-114.8-48.4-44.2-0.2-86.2 18.4-117.2 49.8l-35.2 35.8c-1.6 1.6-4.2 1.6-5.8 0l-150-159.8c-5-5-11.8-7.6-18.4-7.6s-13.4 2.6-18.4 7.6c-10.2 10.2-10.2 26.6 0 36.8l150.6 160.4c1.4 1.6 1.4 4 0 5.6L102.8 601.4c-2.6 2.6-6.8 0.8-6.8-2.8V160c0-35.2 28.8-64 64-64h704c35.2 0 64 28.8 64 64V598.6c0 3.6-4.4 5.2-6.8 2.8zM512 305.8c29.6 0 57.4 11.6 78.2 32.8L904 658c-11 8.8-24.6 14-39.6 14H159.8c-15 0-28.8-5.2-39.6-14L434 338.6c20.6-21 48.4-32.8 78-32.8z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-map" unicode="" d="M128 751v-632.6c0-5.6 2.6-11 7-14l139.6-100.4c10.4-7.4 24.2 0.6 24.2 14V650.6c0 5.6-2.6 11-7 14L152.2 765.2c-10.4 7.4-24.2-0.6-24.2-14.2z m209.4-101.6v-632.6c0-13.4 13.8-21.6 24.2-14l124 73.4c4.4 3.2 7 8.4 7 14V722.8c0 13.4-13.8 21.6-24.2 14l-124-73.4c-4.4-3-7-8.2-7-14z m534.4 115.6l-139.6-101.4c-4.4-3.2-7-8.4-7-14v-632.4c0-13.6 13.8-21.6 24.2-14l139.6 101.4c4.4 3.2 7 8.4 7 14V751c0 13.4-13.8 21.4-24.2 14zM531.4 724.8v-632.4c0-5.6 2.6-11 7-14l124-74c10.4-7.6 24.2 0.6 24.2 14V650.8c0 5.6-2.6 11-7 14l-124 74c-10.4 7.4-24.2-0.6-24.2-14z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="ios-medkit" unicode="" d="M864 640h-168V704c0 35.2-28.8 64-64 64H392c-35.2 0-64-28.8-64-64v-64H160c-35.4 0-64-28.6-64-64v-512c0-35.4 28.6-64 64-64h704c35.4 0 64 28.6 64 64V576c0 35.4-28.6 64-64 64z m-480 56c0 8.8 7.2 16 16 16h224c8.8 0 16-7.2 16-16v-56H384v56z m256-408h-96v-96c0-17.6-14.4-32-32-32s-32 14.4-32 32v96h-96c-17.6 0-32 14.4-32 32s14.4 32 32 32h96v96c0 17.6 14.4 32 32 32s32-14.4 32-32v-96h96c17.6 0 32-14.4 32-32s-14.4-32-32-32z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-phone-portrait" unicode="" d="M717.712 832H306.286C261.024 832 224 795.348 224 750.544v-733.09C224-27.348 261.024-64 306.286-64h411.426C762.976-64 800-27.348 800 17.456V750.544C800 795.348 762.976 832 717.712 832zM728 96H296V672h432v-576z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-photos" unicode="" d="M800 53.4V586.6c0 47-38.4 85.4-85.4 85.4H181.4C134.4 672 96 633.6 96 586.6v-533.4c0-47 38.4-85.4 85.4-85.4h533.4c46.8 0.2 85.2 38.6 85.2 85.6zM314.6 288l90.6-128 133.4 192 176-256H181.4l133.2 192zM842.6 800H309.4C262.4 800 224 761.6 224 714.6V704h522.6c47 0 85.4-38.4 85.4-85.4V96h10.6c47 0 85.4 38.4 85.4 85.4V714.6c0 47-38.4 85.4-85.4 85.4z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-pin" unicode="" d="M512 832c-176.008 0-320-141.114-320-313.602C192 283.2 512-64 512-64s320 347.2 320 582.398C832 690.886 688.008 832 512 832z m0-425.602c-63.992 0-114.288 49.29-114.288 112 0 62.714 50.294 112 114.288 112s114.288-49.286 114.288-112c0-62.71-50.296-112-114.288-112z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-pie" unicode="" d="M65.2 384H512V830.8c-10 0.8-21.2 1.2-32 1.2-229.8 0-416-186.2-416-416 0-10.8 0.4-22 1.2-32zM219.6 91.6C295.8-3.2 412.8-64 544-64c229.8 0 416 186.2 416 416 0 131.2-60.8 248.2-155.6 324.4C741 727.4 662 760.2 576 766.8V320H129.2c6.6-86 39.4-165 90.4-228.4z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-podium" unicode="" d="M64 448h256v-384H64z m320 192h256v-576H384z m320-320h256v-256H704z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-pint" unicode="" d="M128 800l85.8-758.4c5.2-41.6 41-73.6 85-73.6h426.6c44 0 79.8 32 85 73.6L896 800H128z m654-249.6H242l-18.8 166.4h577.2l-18.4-166.4z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-phone-landscape" unicode="" d="M960 178.288V589.714C960 634.976 923.348 672 878.544 672H145.456C100.652 672 64 634.976 64 589.714v-411.426C64 133.024 100.652 96 145.456 96h733.09C923.348 96 960 133.024 960 178.288zM224 168V600h576v-432H224z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-play-circle" unicode="" d="M512 800C282.4 800 96 613.6 96 384s186.4-416 416-416 416 186.4 416 416S741.6 800 512 800z m-83.2-603.2V571.2L678.4 384l-249.6-187.2z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-pizza" unicode="" d="M814.4 635.2C721.4 673 619.6 692 512 692c-107.8 0-216.6-20.6-302.4-56-16.2-6.6-30.6-18-20.2-39S511.8-64 511.8-64l322 659.8c6.4 13.8 1.8 30.8-19.4 39.4z m-442-147.2c-37.4 0-64 28.6-64 64s26.6 64 64 64 64-28.6 64-64-26.6-64-64-64zM512 202c-37.4 0-64 28.6-64 64s26.6 64 64 64 64-28.6 64-64-26.6-64-64-64z m139.6 246c-37.4 0-64 28.6-64 64s26.6 64 64 64 64-28.6 64-64-26.6-64-64-64zM873.8 764C769.4 805.2 640.6 832 512 832c-128.6 0-255.2-24.2-361.8-66.8C140.8 761.4 128 754 128 737.6l19.4-48.2c5.6-9.8 17.4-16.4 30.2-16.4 3.6 0 8.6 0.6 14.6 3 98 37.8 206.2 59.2 320 59.2 113.8 0 230.4-23.2 320-59.2 7.2-2.8 11.2-3 14.6-3 13.2 0 24.4 6.6 30 16.2l19.6 48.2c-0.4 14.6-10 21.6-22.6 26.6z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-print" unicode="" d="M799.9 576h-575.8C153.648 576 96 518.394 96 448v-277.334h159.798V0H768.2v170.666H928V448c0 70.394-57.65 128-128.1 128zM704 64H320V320h384v-256z m64.202 704H255.798v-160H768.2V768z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-pricetags" unicode="" d="M884 682v-282L458.4-7.4c16-16 41.6-24.6 57.6-24.6s45.6 7.4 62.8 24.6L960 352V608l-76 74zM768 800H448L88.6 424.8c-16-16-24-35.6-24.6-56.8-0.6-22.6 7.4-46.6 24.6-63.8l247.6-247.2c16-16 41.6-25 57.6-25s45.4 7.8 62.6 25L832 416V736l-64 64z m-61.4-205.4c-43.4-12.2-82.6 20-82.6 61.4 0 35.4 28.6 64 64 64 41.4 0 73.6-39.2 61.4-82.6-5.8-20.6-22.2-37-42.8-42.8z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-pricetag" unicode="" d="M832 768H515.2L153 392.8c-16-16-24.6-37-25-58-0.6-22.6 7.8-45.2 25-62.4l247.4-247.2c16-16 41.6-25 57.6-25s45.6 7.8 62.8 25L896 384V704l-64 64z m-61.4-205.4c-43.4-12.2-82.6 20-82.6 61.4 0 35.4 28.6 64 64 64 41.4 0 73.6-39.2 61.4-82.6-5.8-20.6-22.2-37-42.8-42.8z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-remove-circle" unicode="" d="M512 800C282.25 800 96 613.75 96 384s186.25-416 416-416 416 186.25 416 416S741.75 800 512 800z m214-458H298v84h428v-84z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-refresh-circle" unicode="" d="M512 800C283.2 800 96 612.8 96 384s187.2-416 416-416 416 187.2 416 416S740.8 800 512 800z m224-388h-196l89.6 89.6C600.2 532.4 558.2 552 512 552c-92.4 0-168-75.6-168-168s75.6-168 168-168c69.8 0 130.6 42.4 155.2 104h59.6c-27.8-92.6-112.6-160-214.8-160-124.6 0-224 100.8-224 224s100.8 224 224 224c61.6 0 117.6-25.2 158.2-65.8L736 608v-196z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-school" unicode="" d="M227 333.6v-170.6L512 0l285 163v170.6L512 170.6l-285 163zM512 768L64 512l448-256 366.6 209.4v-294.8H960V512L512 768z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-rainy" unicode="" d="M278 96s-46-50.6-46-81.4c0-25.6 20.6-46.6 46-46.6s46 21 46 46.6c0 30.8-46 81.4-46 81.4z m156 64s-46-50.6-46-81.4c0-25.6 20.8-46.6 46-46.6 25.4 0 46 21 46 46.6 0 30.8-46 81.4-46 81.4z m156-64s-46-50.6-46-81.4c0-25.6 20.6-46.6 46-46.6 25.2 0 46 21 46 46.6 0 30.8-46 81.4-46 81.4z m156 64s-46-50.6-46-81.4c0-25.6 20.8-46.6 46-46.6 25.4 0 46 21 46 46.6 0 30.8-46 81.4-46 81.4z m40.4 413.6C761 702.8 647.8 800 512 800c-79.4 0-152-28-201.8-90.8 68.6-5.2 132.2-30.4 181.4-79.6 36.4-36.4 62-81 74.8-129.6h-67c-30.6 87.4-112 150-211.4 150-12 0-28.6-1.4-41.2-4C140 624 64 535.2 64 425 64 300.8 158.8 192 282.4 192h485.4c103 0 192.4 92 192.4 195.6-0.2 98.8-76.8 179.2-173.8 186z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-rocket" unicode="" d="M512 52.8c-36.2 0-66.4 13.6-85.8 21.8-10.8 4.6-22.6-3.6-21.8-15.2l7-102c0.4-6.2 7.6-9.4 12.6-5.6l29 22c3.6 2.8 9 1.8 11.4-2l41-64.2c3-4.8 10.2-4.8 13.2 0l41 64.2c2.4 3.8 7.8 4.8 11.4 2l29-22c5-3.8 12.2-0.6 12.6 5.6l7 102c0.8 11.6-11 20-21.8 15.2-19.6-8.2-49.6-21.8-85.8-21.8zM795.4 309.8l-96 98.2c0 316-186.4 456-186.4 456s-188.2-140-188.2-456l-96-98.2c-3.6-3.6-5.2-9-4.4-14.2L261.2 72c1.8-11.4 14.2-17 23.6-10.8l134.2 90.8s41.4-40 94.2-40c52.8 0 92.2 40 92.2 40l134.2-90.8c9.2-6.2 21.6-0.6 23.6 10.8l37 223.8c0.4 5.2-1.2 10.4-4.8 14zM513 512c-34 0-61.4 28.6-61.4 64s27.6 64 61.4 64c34 0 61.4-28.6 61.4-64s-27.4-64-61.4-64z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-reverse-camera" unicode="" d="M880 704h-176l-64 64H384l-64-64H144c-44.2 0-80-35.8-80-80v-544c0-44.2 35.8-80 80-80h736c44.2 0 80 35.8 80 80V624c0 44.2-35.8 80-80 80z m-144-342h-195.4l89.6 90.2c-29.4 30.8-71.4 51-117.6 51-92.4 0-168-75.6-168-168s75.6-168 168-168c71 0 132.4 43 156.4 107h59.2c-26.8-94-112.4-163-215.6-163-124.6 0-224 100.8-224 224s100.8 224 224 224c61.6 0 117.4-25.2 158-65.8l65.6 65.8V362z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-send" unicode="" d="M96 0l832 384L96 768v-298.666L692 384 96 298.666z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-share-alt" unicode="" d="M896 400L576 704v-170.668C277.332 490.666 170.666 277.332 128 64c106.666 149.332 234.666 217.604 448 217.604v-174.938L896 400z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-star" unicode="" d="M512 150.628L761.66 0l-66.042 284.132L916 475.182l-290.534 24.95L512 768l-113.486-267.868L108 475.182l220.384-191.05L262.322 0z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-subway" unicode="" d="M512 800c-187.728 0-352-21.336-352-170.668v-426.664c0-83.208 66.124-149.332 149.334-149.332L256 0v-32h512v32l-53.334 53.336c83.208 0 149.334 66.124 149.334 149.332V629.332C864 778.664 699.728 800 512 800z m-192-672c-36.272 0-64 27.73-64 64 0 36.274 27.728 64 64 64s64-27.726 64-64c0-36.27-27.728-64-64-64z m160 288H256v192h224v-192z m224-288c-36.272 0-64 27.73-64 64 0 36.274 27.728 64 64 64s64-27.726 64-64c0-36.27-27.728-64-64-64z m64 288H544v192h224v-192z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-ribbon" unicode="" d="M512 832c-141.4 0-256-114.6-256-256s114.6-256 256-256 256 114.6 256 256S653.4 832 512 832z m0-416c-88.4 0-160 71.6-160 160s71.6 160 160 160 160-71.6 160-160-71.6-160-160-160z m-124.6-134.8c-38.2 16.2-72.4 39.2-101.6 68.6-2.8 2.8-5.6 5.6-8.2 8.6L128 96h192l96-160 96 211.6 51 112.4c-16.8-2.6-33.8-4-51-4-43.2 0-85 8.4-124.6 25.2z m359.2 77c-2.6-2.8-5.4-5.8-8.2-8.6-29.2-29.2-63.4-52.4-101.4-68.4L588 173.6l-43.8-96.8L608-64l96 160h192l-149.4 262.2z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-shirt" unicode="" d="M640 768c-22.2-38.2-80.6-64-128-64s-105.8 25.8-128 64L128 704v-192l154 32-26-544h512l-26 544 154-32V704L640 768z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-snow" unicode="" d="M922.8 299l-16.6 61.8-176-47.2-120.8 69.8 120.8 69.8 176-47.2 16.6 61.8-114.2 30.6 115.4 66.6-48 83-113.2-65.4 30.6 114.2-61.8 16.6-47.2-176-124.4-71.8v142.2l129 128.8-45.4 45.2L560 698.2V832h-96v-131.2l-83.4 83.4-45.2-45.2 128.6-128.8v-142.8l-121.4 70-47.2 176-61.8-16.6 30.6-114.2-115.4 66.8-48-83.2 113.4-65.4L100 470.2l16.6-61.8 175.8 47.2 125.2-72.2-125.2-72.4-175.8 47.2-16.6-61.8 114.2-30.6-113.4-65.4 48-83 115.4 66.6-30.6-114 61.8-16.6 47.2 175.8 121.4 70.2v-141.8l-128.6-128.8 45.2-45.2 83.4 83.6V-64h96v133.6l83.8-83.4 45 45.2L560 160v141.2l124.4-72 47.2-175.8 61.8 16.6-30.6 114 113.2-65.4 48 83.2-115.4 66.6z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-rose" unicode="" d="M521.2 466.4c47.6 81.8 96 143.2 182.8 192.8 16.6 9.6 42.4 16 45.6 17.8C581.4 728.6 512 832 512 832s-69.4-103.4-241-153c11.6-6.8 33-13 61.4-27.4 69-34.8 125-102.6 188.8-185.2z m-28.6-77.2C373.4 573.6 262.8 642.4 96 642.4c108.4-157.2 104-349.2 104-430.8 0-152.2 139.6-275.6 312-275.6 115.2 0 215.8 55.2 270 137.4-71 55.2-170.2 131.4-289.4 315.8zM928 642.4s-110.4 4.6-170.4-30.8c-86-51-148.8-122.6-190.8-206.4 77.6-104 146-175.8 190.8-218.8 21.4-20.4 39.6-36.4 55-49 7.4 23.6 11.6 48.6 11.6 74.4-0.2 81.6-34.8 228.2 103.8 430.6z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-save" unicode="" d="M725.4 768h-512C166 768 128 729.6 128 682.6v-597.4c0-47 38-85.4 85.4-85.4h597.4c47 0 85.4 38.4 85.4 85.4v512L725.4 768zM512 85.4c-70.8 0-128 57.2-128 128s57.2 128 128 128 128-57.2 128-128-57.2-128-128-128zM640 512H213.4v170.6H640V512z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-thermometer" unicode="" d="M606 295.6V739.2c0 51.4-42 93-94 93s-94-41.6-94-93v-443.8c-58-33-97.8-95.6-97.8-167.4 0-106 86-192 192-192s192 86 192 192c0 72-40.2 134.6-98.2 167.6zM480 739.2c0 16 15.4 29 32 29s32-13 32-29V640h-64V739.2z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-thunderstorm" unicode="" d="M786.4 573.6C761 702.8 647.8 800 512 800c-79.4 0-152-28-201.8-90.8 68.6-5.2 132.2-30.4 181.4-79.6 36.4-36.4 62-81 74.8-129.6h-67c-30.6 87.4-112 150-211.4 150-12 0-28.6-1.4-41.2-4C140 624 64 535.2 64 425 64 300.8 164.4 224 288 224h136V430h198.2l-66.4-134H622l-36-72h187.4c103 0 186.6 60 186.6 163.6 0 98.8-76.6 179.2-173.6 186zM424 160h44v-192l118 256h-162z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-settings" unicode="" d="M827.934 342.4c2.12 12.47 2.12 27.036 2.12 41.6s-2.12 27.036-2.12 41.6l89.334 68.636c8.52 6.236 10.638 16.634 4.26 27.036L836.43 664.8c-4.258 8.328-17.014 12.47-25.534 8.328l-106.372-41.602c-21.276 16.636-46.788 31.202-72.32 41.602l-14.896 110.234c-2.12 8.308-10.638 16.636-21.276 16.636h-170.196c-10.636 0-19.154-8.328-21.274-16.636l-17.016-110.234c-25.534-10.4-48.928-24.964-72.342-41.602l-106.372 41.602c-10.638 4.142-21.276 0-25.534-8.328L98.2 521.27c-4.238-8.306-2.122-20.798 4.258-27.036L193.94 425.6c0-14.564-2.12-27.036-2.12-41.6s2.12-27.036 2.12-41.6l-89.336-68.636c-8.52-6.236-10.636-16.634-4.26-27.036L185.442 103.2c4.26-8.328 17.016-12.47 25.534-8.328l106.374 41.602c21.274-16.636 46.788-31.202 72.32-41.602l17.016-110.234c2.138-10.4 10.636-16.636 21.274-16.636h170.196c10.638 0 19.156 8.328 21.276 16.636l17.036 110.234c25.514 10.4 48.928 24.964 72.32 41.602l106.374-41.602c10.636-4.142 21.274 0 25.534 8.328l85.098 143.53c4.258 8.306 2.12 20.798-4.26 27.036l-93.6 68.634z m-316.998-104c-82.978 0-148.92 64.47-148.92 145.6s65.942 145.6 148.92 145.6 148.922-64.47 148.922-145.6-65.944-145.6-148.922-145.6z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-trash" unicode="" d="M256 85.142C256 38.308 294.396 0 341.334 0h341.334C729.604 0 768 38.308 768 85.142V576H256v-490.858zM832 704h-160l-53.57 64H405.572L352 704H192v-64h640V704z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-thumbs-down" unicode="" d="M628 768H284c-31.4 0-57.2-19.2-68.4-46.8L101.2 450.4c-3.4-8.8-5.2-18-5.2-28v-77.2c0-42.2 34-89.2 75.6-89.2h238.6l-36-163-1.2-12c0-15.8 6.4-30.2 16.6-40.6l40-40.2L682 254.6c13.6 13.8 22 33 22 54.2v384c0 42.2-34.4 75.2-76 75.2z m172 0h128v-448h-128z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-trophy" unicode="" d="M784 686c1.8 54 0.4 112 0.2 114H238.6c0-2-1.6-60 0.2-114H96c0-136 19.8-204.6 42-253.4S190.8 342 255.4 292c60.2-46.6 191-107.2 208.6-115.2v-56.6c-9.2-20-47-56.4-166.6-56.4H256v-96h512v96h-51.4c-121.4 0-150 38.2-156.6 56.4v56.6c18.6 9.2 161.8 80.6 208.8 115 50.4 36.8 101.8 103 117.4 140.6S928 562 928 686h-144zM219.2 472.2c-17.6 36.4-28 75.8-31.4 123.8h57.4c1.4-12 2.8-22.6 4.6-32.6 13.2-78.4 29.6-140.4 51.4-193-34.6 27-62.6 61.6-82 101.8z m585.6 0c-19.8-40.6-48-75.4-83.2-102.6 22 52.4 38 113.6 51.6 193.8 1.6 10 3.2 20.6 4.6 32.6h58.6c-3.6-48-13.8-87.4-31.6-123.8z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-warning" unicode="" d="M64-32h896L512 800 64-32z m496 128h-96v96h96v-96z m0 160h-96v192h96v-192z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-thumbs-up" unicode="" d="M396 0h344c31.4 0 57.2 19.2 68.4 46.8l114.2 270.8c3.4 8.8 5.2 18 5.2 28v77.2c0 42.2-34 89.2-75.6 89.2H613.8l36 163 1.2 12c0 15.8-6.4 30.2-16.6 40.6L594 768 342 513.4c-13.6-13.8-22-33-22-54.2v-384c0-42.2 34.4-75.2 76-75.2zM96 448h128v-448H96z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-watch" unicode="" d="M832 384c0 102.002-48.008 192.002-121.992 250L672 864H352l-38.008-230C240.008 576.002 192 486.002 192 384c0-101.992 48.008-191.992 121.992-250L352-96h320l38.008 230C783.992 192.008 832 282.008 832 384z m-560 0c0 132.002 108.008 240 240 240s240-107.998 240-240c0-131.992-108.008-240-240-240s-240 108.008-240 240z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-umbrella" unicode="" d="M820.2 407.8c24 0 53.2-21.8 67.6-51.8H928c-0.6 100-42.4 203-118.8 281.8-72.6 74.8-166 121-265.2 131.4-6 18-23 30.8-43.2 30.8-20 0-37-13-43-30.6C250.6 748.4 96 576.6 96 363.6c0-2.2 0.2-3.6 0.8-7.6h43.6c13.6 30 44.4 51.8 70.6 51.8 34 0 63-21.8 73-51.8h39.6c8.2 30 33.8 51.4 66 51.4 35.6 0 66.2-29 68.2-65.2v-236.6c0-18.6 0.2-48.2-26.8-48.2-13.8 0-33.2 3.6-33.2 32V132h-86v-42.6c0-69.2 47.2-121.4 120-121.4 39 0 66.6 17 87 37.4 26.2 26.4 27 69.4 27 100.2V343.8c4 51.6 47.8 63.4 83.8 63.4 34.4 0 64.6-23.2 75.6-51.2h41c10.2 30 39.6 51.8 74 51.8z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="md-tennisball" unicode="" d="M767.6 711.6C697 767 608.2 800 512 800c-96 0-184.6-33-255.2-88 83.2-89.6 128.6-206 128-328.6-0.6-122-46.6-237.2-129.8-325.8 70.8-56 160.2-89.6 257-89.6 97 0 186.6 33.6 257.6 90-83 88.6-129 203.6-129.6 325.4-0.6 122.4 44.6 238.6 127.6 328.2zM706.2 385.8c0-53.8 10.2-106 30.2-155.6 19.2-47.2 46.6-89.8 81.6-127.2 68.2 74.2 110 173 110 281 0 109-42.4 208.4-111.6 282.8-34.2-37-61.2-79.2-80-125.4-20-49.6-30.2-102-30.2-155.6z m-387.6 0c0 53.8-10.2 106-30.2 155.6-18.8 46.4-45.8 88.8-80.4 125.8-69.4-74.4-112-174-112-283.2 0-108.4 42-207.2 110.4-281.4 35.2 37.4 62.8 80.2 82 127.6 20 49.4 30.2 101.8 30.2 155.6z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="chengjiaoyonghushu" unicode="" d="M714.77777744 261.77777812c11.11111084 13.88888877 8.33333291 33.33333339-2.77777705 41.66666631-33.33333339 27.77777754-69.44444472 47.22222217-108.33333398 63.88888887 50.0000001 30.55555547 88.88888847 80.55555557 108.33333398 136.11111152 24.99999961 77.77777763 11.11111084 163.88888906-41.66666719 230.55555499C620.3333331 797.88888867 545.33333339 834 464.77777783 831.22222207 384.22222227 831.22222207 309.22222256 792.33333369 262.00000039 725.6666669c-36.11111133-50.0000001-50.0000001-111.11111104-44.44444511-172.22222286 8.33333291-77.77777763 52.77777803-147.22222237 119.44444482-186.11111074-5.55555586-2.77777793-11.11111084-5.55555586-19.44444463-8.33333291-47.22222217-19.44444463-86.11111143-50.0000001-122.22222188-86.11111143C159.22222227 236.77777762999995 131.44444473 195.11111132999997 114.77777802 147.88888915999996c-16.6666667-50.0000001-27.77777754-100.0000002-27.77777841-155.55555615v-22.22222168c0-16.6666667 13.88888877-27.77777754 30.55555635-27.77777842h2.77777705c16.6666667 0 30.55555547 16.6666667 27.77777842 33.3333334v19.44444463c0 44.44444424 8.33333291 88.88888847 24.99999961 130.55555566 16.6666667 38.88888926 38.88888926 74.99999971 69.44444472 108.33333311 58.333333 61.11111094 141.66666651 97.22222227 227.77777793 97.22222226 36.11111133 0 72.22222266-5.55555586 108.33333311-19.44444463 33.33333339-13.88888877 63.88888886-30.55555547 91.6666664-52.77777714 13.88888877-11.11111084 33.33333339-11.11111084 44.44444424 2.77777792z m-249.99999961 130.55555479c-50.0000001 2.77777793-94.44444434 22.22222256-130.55555566 55.55555596-36.11111133 36.11111133-55.55555596 86.11111143-55.55555508 136.11111152 0 100.0000002 86.11111143 186.11111074 188.88888867 188.88888867h2.77777793c50.0000001 0 97.22222227-19.44444463 133.33333272-55.55555596 36.11111133-36.11111133 58.333333-83.33333349 58.33333388-136.11111063 0-50.0000001-19.44444463-100.0000002-55.55555596-136.11111153-36.11111133-36.11111133-83.33333349-55.55555596-133.33333359-55.55555508l-8.33333291 2.77777705z m247.22222256-130.55555478zM928.6666666 175.66666669999995c-5.55555586 5.55555586-11.11111084 8.33333291-19.44444463 8.33333291-8.33333291 0-13.88888877-2.77777793-19.44444463-8.33333291l-180.55555487-163.88888907-63.88888888 72.22222266c-11.11111084 11.11111084-27.77777754 11.11111084-38.88888925 2.77777705-11.11111084-11.11111084-13.88888877-27.77777754-2.77777793-41.6666663l80.55555556-88.88888848c5.55555586-5.55555586 13.88888877-11.11111084 22.22222256-11.11111172 8.33333291 0 13.88888877 2.77777793 19.44444463 8.33333379l199.99999951 180.55555576c13.88888877 13.88888877 13.88888877 30.55555547 2.77777794 41.66666631z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="chongzhijianshu" unicode="" d="M962.44623916 387.76044609c0 17.54874668-15.04178261 32.5905293-35.09749249 32.59052842-17.54874668 0-32.5905293-15.04178261-35.09749335-32.59052842v-25.06963799c-10.02785537-152.92479112-107.79944326-290.80779961-253.20334219-338.44011152-305.84958223-100.27855195-586.62952646 180.50139317-486.35097539 486.35097451 50.13927597 152.92479112 200.55710303 253.20334219 361.00278545 253.20334307 20.05571075 0 35.09749336 15.04178261 35.09749336 35.09749248S533.75543193 834 516.20668526 834C310.63565498 834 130.13426182 701.13091963 77.48802266 505.58774385-0.22785537 207.25905292000004 225.39888565-63.49303594000003 511.192758-63.49303594000003c248.18941494 0 448.74651797 203.06406709 448.74651798 448.74651797l2.50696318 2.50696406zM513.69972119 445.4206125v97.77158789c0 20.05571075-15.04178261 35.09749336-35.09749248 35.09749336-20.05571075 0-35.09749336-15.04178261-35.09749336-35.09749336v-183.00835635c0-20.05571075 15.04178261-35.09749336 35.09749336-35.09749336H664.11754912c20.05571075 0 35.09749336 15.04178261 35.09749249 35.09749336 0 20.05571075-15.04178261 35.09749336-35.09749249 35.09749336h-100.27855195s-2.50696406 0 0 2.50696319l275.76601699 275.76601699c12.53481855 12.53481855 12.53481855 35.09749336 0 47.63231192s-35.09749336 12.53481855-50.13927598 0l-275.76601699-275.766017c0-2.50696406 0-2.50696406 0 0z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="chengbenjine" unicode="" d="M841.32960927 542.37988799l-15.0837996 15.08379873c-10.05586612 10.05586612-20.11173222 17.59776504-30.16759746 25.13966484l-5.02793262 5.0279335 5.02793262 5.02793262c20.11173222 20.11173222 32.68156465 47.76536338 32.68156464 77.93296084 0 70.39106104-67.87709473 128.21229053-155.86592167 128.21229052h-12.56983242c-12.56983242 0-25.13966484-2.51396631-37.70949727-7.54189892h-2.51396719l-2.5139663 2.51396631-10.05586612 7.54189893-7.54189893 5.02793349C572.3351958 821.43016758 542.16759746 834 512 834h-5.02793262c-30.16759746-2.51396631-60.3351958-15.08379873-82.96089433-32.68156465l-7.54189893-7.54189892-10.05586611-7.54189981c-17.59776504 7.54189981-35.19553096 10.05586612-55.30726319 10.05586611-87.98882695 0-155.86592168-55.30726231-155.86592167-128.21229052V658.02234609c2.51396631-25.13966484 15.08379873-47.76536338 32.68156464-65.36312841l5.02793262-5.02793262-5.02793262-5.0279335c-15.08379873-12.56983242-32.68156465-25.13966484-45.25139706-40.22346357-80.44692715-75.41899453-120.67039073-158.37988799-120.67039073-241.34078145C62 79.81005557000003 225.40782148-58.45810019999999 489.37430146-66h27.65363116c130.72625683 0 241.34078232 32.68156465 321.78770947 95.53072588 80.44692715 65.36312842 123.18435791 158.37988799 123.18435791 268.99441347-2.51396631 87.98882695-45.25139707 168.43575411-120.67039072 243.85474864z m-537.98882695 17.59776592c12.56983242 10.05586612 17.59776504 27.65363115 7.54189893 42.73742987-2.51396631 5.02793262-7.54189981 7.54189981-12.56983242 10.05586612-22.62569854 7.54189981-40.22346357 30.16759746-42.73742989 52.79329599C255.57541894 703.27374316 300.82681602 733.44134063 353.62011201 733.44134063h5.02793262c10.05586612 0 17.59776504-2.51396631 27.65363115-5.02793263l10.05586612-5.02793349c17.59776504-10.05586612 40.22346357-5.02793262 50.27932968 12.56983242v2.51396719l12.56983243 10.05586523 5.02793261 5.02793351c12.56983242 10.05586612 25.13966484 15.08379873 40.22346358 17.59776503l10.05586611 2.51396631c15.08379873 0 27.65363115-5.02793262 40.22346358-12.56983243l10.0558661-12.56983242 5.02793263-2.5139663 10.05586611-12.56983242c5.02793262-7.54189981 15.08379873-12.56983242 22.62569853-15.08379873 10.05586612-2.51396631 17.59776504 0 25.13966484 5.02793261h2.51396632c2.51396631 0 5.02793262 2.51396631 7.5418998 2.51396719 10.05586612 5.02793262 20.11173222 7.54189981 30.16759746 7.54189892 52.79329599 0 95.53072588-30.16759746 95.53072676-65.36312841-2.51396631-25.13966484-17.59776504-45.25139707-42.73743076-52.79329599-15.08379873-7.54189981-22.62569854-25.13966484-15.08379873-40.22346359 2.51396631-5.02793262 7.54189981-10.05586612 12.56983242-12.56983242l12.56983242-7.5418998c25.13966484-15.08379873 47.76536338-32.68156465 67.87709473-55.30726231 65.36312842-62.84916211 100.55865937-128.21229053 103.07262568-198.60335156 0-90.50279326-35.19553096-165.92178779-100.55865938-218.71508378-62.84916211-52.79329599-155.86592168-80.44692715-266.48044628-82.96089434h-27.65363115c-236.31284883 0-384.63687158 115.6424581-384.63687159 304.18994443 0 67.87709473 32.68156465 135.75419033 100.55865938 196.08938525 20.11173222 20.11173222 42.73742988 37.70949727 67.87709472 55.30726231l12.56983242 5.0279335zM351.10614482 255.78770946999998c-15.08379873 0-27.65363115-12.56983242-27.65363115-27.65363115s12.56983242-27.65363115 27.65363115-27.65363115h130.72625771v-87.98882696c0-15.08379873 12.56983242-27.65363115 27.65363116-27.65363115 7.54189981 0 15.08379873 2.51396631 20.11173134 10.05586612 5.02793262 5.02793262 7.54189981 12.56983242 7.54189981 20.11173135v87.98882694h133.24022315c7.54189981 0 15.08379873 2.51396631 20.11173222 7.54189981 5.02793262 5.02793262 7.54189981 12.56983242 7.54189893 20.11173135 0 15.08379873-12.56983242 27.65363115-27.65363115 27.65363115H539.65363115v52.79329599h133.24022403c7.54189981 0 15.08379873 2.51396631 20.11173135 7.54189981 5.02793262 5.02793262 7.54189981 12.56983242 7.5418998 20.11173134 0 15.08379873-12.56983242 27.65363115-27.65363115 27.65363204h-113.1284918l105.58659199 123.18435704c10.05586612 12.56983242 7.54189981 30.16759746-5.02793261 40.22346357-12.56983242 10.05586612-30.16759746 7.54189981-40.22346446-2.51396632l-110.61452461-128.21229052-110.61452549 128.21229053c-5.02793262 5.02793262-12.56983242 7.54189981-17.59776503 10.05586611-7.54189981 0-15.08379873-2.51396631-20.11173223-7.5418998-5.02793262-5.02793262-10.05586612-12.56983242-10.05586612-20.11173135 0-7.54189981 2.51396631-15.08379873 5.02793351-20.11173223l105.58659198-123.18435702h-113.12849179c-15.08379873 0-27.65363115-12.56983242-27.65363115-27.65363204s12.56983242-27.65363115 27.65363115-27.65363115h130.72625684V255.78770946999998h-128.21229054z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="fufeihuiyuanshu" unicode="" d="M1020.23529453 468.70588271L837.58823545 789C821.70588271 815.47058818 792.58823545 834 760.82352911 834H334.64705908C302.88235273 834 273.76470547 818.11764727 257.88235273 789L75.23529453 468.70588271c-18.52941182-34.41176455-13.23529453-76.76470547 13.23529365-105.88235361L485.52941182-39.52941181999995c15.88235273-15.88235273 39.70588271-26.47058818 63.52941181-26.47058818 23.82352911 0 45 10.58823545 63.52941182 26.47058818l394.41176455 402.35294092c26.47058818 29.11764727 31.76470547 71.47058818 13.23529453 105.88235361z m-63.52941182-55.58823544l-397.05882363-402.3529418c-7.94117637-7.94117637-18.52941182-7.94117637-26.47058818 0L138.76470547 413.11764727c-5.29411729 5.29411729-7.94117637 15.88235273-2.6470582 21.17647002L318.76470547 754.58823545c2.64705908 5.29411729 10.58823545 10.58823545 15.88235361 10.58823545h426.17647002c7.94117637 0 13.23529453-2.64705908 15.88235361-10.58823545l182.64705821-320.29411816c2.64705908-5.29411729 2.64705908-15.88235273-2.64705821-21.17647002zM670.8235291 423.70588271l-124.41176455-124.41176542-124.41176455 124.41176542c-13.23529453 13.23529453-37.05882364 13.23529453-47.64705908 0-5.29411729-5.29411729-10.58823545-15.88235273-10.58823545-23.82352998 0-7.94117637 2.64705908-18.52941182 10.58823545-23.82352909l148.23529453-148.23529454c5.29411729-5.29411729 15.88235273-10.58823545 23.8235291-10.58823457 7.94117637 0 18.52941182 2.64705908 23.82352998 10.58823458l148.23529365 148.23529452c13.23529453 13.23529453 13.23529453 34.41176455 0 47.64705908-10.58823545 13.23529453-34.41176455 13.23529453-47.64705907 0z" horiz-adv-x="1105" />
+
+
+ <glyph glyph-name="chongzhiyonghushu" unicode="" d="M726.61538427 263.53846114c11.07692315 11.07692315 11.07692315 30.46153887-2.76923055 41.53846201-33.23076943 27.69230742-69.23076943 49.84615371-108 63.69230742 16.61538428 11.07692315 33.23076943 22.15384628 44.30769257 36 49.84615371 47.07692315 74.76923057 110.76923057 74.76923056 177.23076943s-27.69230742 130.15384628-74.76923056 177.23076943c-96.92307685 96.92307685-257.53846114 96.92307685-354.46153887 0-49.84615371-47.07692315-74.76923057-110.76923057-74.76923057-177.23076943s27.69230742-130.15384628 74.76923057-177.23076943c13.84615371-13.84615371 30.46153887-24.92307685 47.07692315-36-5.53846114-2.76923057-13.84615371-5.53846114-19.38461484-8.30769171-47.07692315-22.15384628-85.84615372-49.84615371-121.8461546-85.84615458C178.30769258 238.61538427000005 150.61538427 197.07692314999997 131.23076943 150c-16.61538428-49.84615371-27.69230742-102.46153887-27.6923083-155.07692315v-22.15384628c0-13.84615371 13.84615371-27.69230742 30.46153887-27.69230742 19.38461572 0 30.46153887 16.61538428 30.46153886 33.23076943v19.38461484c0 44.30769258 8.30769258 88.61538428 24.92307686 130.15384629s38.76923057 77.53846113 69.23076855 108c58.15384629 60.92307685 141.23076943 96.92307685 227.07692315 96.92307686 38.76923057 0 74.76923057-5.53846114 108-19.38461484 33.23076943-11.07692315 63.69230742-30.46153887 91.38461573-52.61538516 11.07692315-11.07692315 30.46153887-11.07692315 41.53846113 2.76923056zM350 717.69230742c36 36 85.84615372 55.38461573 135.69230742 55.38461573 105.23076943 0 191.07692315-85.84615372 185.53846201-191.07692315 0-52.61538428-19.38461572-99.69230742-55.38461571-135.69230742-33.23076943-36-83.07692315-55.38461573-132.92307687-55.38461573h-5.53846113c-47.07692315 0-94.15384628 22.15384628-127.38461572 55.38461573-36 36-55.38461573 85.84615372-55.38461573 135.69230742 0 52.61538428 19.38461572 99.69230742 55.38461573 135.69230742z m-83.07692315-22.15384628c8.30769258 13.84615371 16.61538428 27.69230742 24.92307687 38.76923144-8.30769258-11.07692315-16.61538428-24.92307685-24.92307687-38.76923145z m27.69230742 41.53846201c2.76923057 5.53846114 8.30769258 11.07692315 11.07692315 13.8461537-2.76923057-2.76923057-8.30769258-8.30769258-11.07692315-13.8461537z m-44.30769169-83.07692315c0 2.76923057 2.76923057 5.53846114 2.76923057 5.53846114-2.76923057 0-2.76923057-2.76923057-2.76923057-5.53846114z m5.53846114 22.15384629c2.76923057 5.53846114 8.30769258 13.84615371 11.07692313 19.38461485-2.76923057-5.53846114-8.30769258-13.84615371-11.07692313-19.38461485z m335.07692313-360.00000001c-33.23076943 13.84615371-72 19.38461572-105.23076943 19.38461486 36 0 74.76923057-5.53846114 108-19.38461485s66.46153886-30.46153887 94.1538463-52.61538515c5.53846114-5.53846114 11.07692315-8.30769258 16.61538515-8.30769171-8.30769258 0-13.84615371 0-19.38461572 5.53846114-27.69230742 24.92307685-60.92307685 41.53846114-94.1538463 55.38461572zM895.53846114 111.23076943000001H795.84615371v94.15384629c0 13.84615371-11.07692315 27.69230742-27.69230742 27.69230743-13.84615371 0-27.69230742-11.07692315-27.69230742-27.69230743v-94.15384629h-96.92307773c-13.84615371 0-27.69230742-13.84615371-27.69230742-27.6923083s11.07692315-27.69230742 27.69230742-27.69230742H740.46153887v-94.15384629c0-5.53846114 2.76923057-13.84615371 8.3076917-19.38461484s11.07692315-8.30769258 19.38461572-8.30769258c16.61538428 0 27.69230742 13.84615371 27.69230743 27.69230742v94.15384629h94.15384628c13.84615371 0 27.69230742 11.07692315 27.69230742 27.69230742 0 13.84615371-8.30769258 24.92307685-22.15384628 27.6923083z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="goumaihuiyuanjine" unicode="" d="M1019.55813945 470.33720918l-183.13953486 319.18604678C820.72093027 815.68604678 791.94186055 834 760.54651192 834H334.09302295C302.69767432 834 273.91860459 815.68604678 258.22093027 789.52325596l-183.13953486-319.18604678c-18.31395323-34.01162753-13.08139541-78.48837246 13.08139541-107.26744131l395.05813946-402.90697705c15.69767432-15.69767432 39.24418623-26.16279082 62.79069726-26.16279082 23.54651191 0 47.09302295 10.46511651 62.79069814 26.16279082L1003.86046513 363.06976786999996c28.77906972 28.77906972 34.01162753 73.25581377 15.69767432 107.26744131z m-62.79069726-57.55813946L561.70930273 9.872092680000037c-2.61627891-2.61627891-7.8488376-5.23255781-13.08139541-5.23255781s-10.46511651 2.61627891-13.0813954 5.23255781L137.87209268 412.77906972c-5.23255781 5.23255781-7.8488376 15.69767432-2.61627891 23.54651192L318.39534864 755.5116275400001c2.61627891 5.23255781 10.46511651 10.46511651 15.69767431 10.4651165h426.45348897c7.8488376 0 13.08139541-2.61627891 15.69767431-10.46511651l183.13953486-319.18604589c5.23255781-7.8488376 2.61627891-18.31395323-2.6162789-23.54651191zM687.29069727 580.22093027c5.23255781 5.23255781 7.8488376 13.08139541 10.4651165 20.93023213 0 7.8488376-2.61627891 15.69767432-7.84883672 20.93023301s-13.08139541 7.8488376-20.93023301 10.4651165c-7.8488376 0-15.69767432-2.61627891-20.93023212-7.84883759l-96.80232569-96.80232569L454.44186055 624.69767432c-5.23255781 5.23255781-13.08139541 7.8488376-20.93023301 10.4651165-7.8488376 0-15.69767432-2.61627891-20.93023213-7.84883759-13.08139541-10.46511651-13.08139541-28.77906972-2.6162789-41.86046515l109.88372109-109.88372021v-7.8488376h-99.41860547c-15.69767432 0-28.77906972-13.08139541-28.77906973-28.77906972s13.08139541-28.77906972 28.77906973-28.77906973h99.41860547V363.06976786999996h-99.41860547c-15.69767432 0-28.77906972-13.08139541-28.77906973-28.7790706 0-15.69767432 13.08139541-28.77906972 28.77906973-28.77906973h99.41860547v-52.32558076c0-15.69767432 13.08139541-28.77906972 28.77906972-28.77906973 15.69767432 0 28.77906972 13.08139541 28.77906973 28.77906973v52.32558076H663.74418623c15.69767432 0 28.77906972 13.08139541 28.77906973 28.77906973s-10.46511651 28.77906972-26.16279083 28.7790706h-86.33720917v39.24418535h86.33720917c15.69767432 0 28.77906972 13.08139541 28.77906974 28.77906973 0 15.69767432-13.08139541 28.77906972-28.77906974 28.77906973h-86.33720917v10.46511649l107.26744131 109.8837211z" horiz-adv-x="1104" />
+
+
+ <glyph glyph-name="fangke-zhifuzhuanhuashuai" unicode="" d="M120.21950234 468.34762119a42.59067364 42.59067364 0 0 0-5.20018857 0.33914267 36.34479492 36.34479492 0 0 0-31.08808301 35.92086681l-0.45219024 224.56900634a36.26000948 36.26000948 0 1 0 72.52001895 0v-73.48092363A447.52708388 447.52708388 0 0 0 511.61846592 834h0.33914267a446.9901082 446.9901082 0 0 0 426.52849746-318.65284951 36.28827158 36.28827158 0 0 0-69.58078154-20.63118252 373.73528057 373.73528057 0 0 1-356.83466836 266.73575098h-0.22609511a374.3570417 374.3570417 0 0 1-356.94771505-267.07489366 36.31653281 36.31653281 0 0 0-34.67734365-26.0292041z m391.96420138-534.14978818A446.9901082 446.9901082 0 0 0 85.5704208 252.70937373000004a36.28827158 36.28827158 0 1 0 69.58078242 20.63118252 373.96137568 373.96137568 0 0 1 356.94771504-266.73575185h0.22609512a374.3570417 374.3570417 0 0 1 356.83466836 267.04663242 36.74046182 36.74046182 0 0 0 39.87753134 25.71832266 36.34479492 36.34479492 0 0 0 31.08808301-35.9208668l0.22609512-224.59726758a36.26000948 36.26000948 0 1 0-72.52001894 0v73.48092275a447.07489365 447.07489365 0 0 0-355.47809678-178.36080996z m0 0" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="jingzengyonghu" unicode="" d="M656 258c13.84615371-11.07692315 30.46153887-8.30769258 41.53846114 2.76923057 11.07692315 13.84615371 8.30769258 33.23076943-2.76923057 41.53846201-33.23076943 27.69230742-69.23076943 47.07692315-108 63.69230742 16.61538428 11.07692315 33.23076943 22.15384628 47.07692315 36 47.07692315 47.07692315 74.76923057 110.76923057 74.76923056 177.23076943 0 66.46153886-24.92307685 130.15384628-74.76923056 177.23076943-96.92307685 96.92307685-257.53846114 96.92307685-354.461538 1e-8-47.07692315-47.07692315-74.76923057-110.76923057-74.76923144-177.23076944 0-66.46153886 24.92307685-130.15384628 74.76923145-177.23076943 13.84615371-13.84615371 30.46153887-24.92307685 47.07692314-36-5.53846114-2.76923057-11.07692315-5.53846114-19.38461572-8.30769258-47.07692315-19.38461572-85.84615372-49.84615371-121.84615372-85.84615371-36-36-63.69230742-77.53846113-80.30769258-124.61538428C85.53846114 100.15384629000005 74.46153887 50.30769257999998 74.46153887-2.30769257999998v-22.15384628c0-16.61538428 13.84615371-27.69230742 30.46153798-27.69230742h2.76923057c16.61538428 0 30.46153887 16.61538428 27.6923083 33.23076943v19.38461572c0 44.30769258 8.30769258 88.61538428 24.92307686 130.1538454 16.61538428 38.76923057 38.76923057 74.76923057 69.23076856 108.00000001 58.15384629 60.92307685 141.23076943 96.92307685 227.07692313 96.92307685 36 0 72-5.53846114 108-19.38461485 33.23076943-16.61538428 63.69230742-33.23076943 91.38461573-58.15384628z m-204.92307685 135.69230742c-49.84615371 2.76923057-94.15384628 22.15384628-127.38461573 55.38461573-36 36-55.38461573 83.07692315-55.38461484 135.69230742 0 49.84615371 19.38461572 99.69230742 55.38461484 135.6923083 36 36 83.07692315 55.38461573 135.6923083 55.38461484 105.23076943 0 191.07692315-85.84615372 191.07692314-191.07692314 0-49.84615371-19.38461572-99.69230742-55.38461571-135.69230742-36-36-83.07692315-55.38461573-132.92307686-55.38461573h-11.07692314z m246.46153798-130.15384628zM921.84615372 213.69230742000002h-116.30769259c-13.84615371 0-24.92307685-11.07692315-24.92307686-27.69230742 0-13.84615371 11.07692315-24.92307685 24.92307686-24.92307685h55.38461572l-113.53846112-113.53846201-80.30769258 80.30769258c-11.07692315 11.07692315-27.69230742 11.07692315-36 0l-146.76923057-146.76923057c-8.30769258-11.07692315-8.30769258-24.92307685 0-33.23076943 5.53846114-5.53846114 11.07692315-8.30769258 16.61538427-8.30769258h2.76923057c5.53846114 0 11.07692315 2.76923057 16.61538516 5.53846201l127.38461484 127.38461572 80.30769258-80.30769258c11.07692315-8.30769258 27.69230742-8.30769258 36 0l132.92307685 132.92307686v-55.38461573c0-13.84615371 11.07692315-24.92307685 24.92307687-24.92307685h2.76923055c5.53846114 0 11.07692315 2.76923057 16.61538516 8.30769258 5.53846114 5.53846114 8.30769258 11.07692315 8.30769171 19.38461572v116.3076917c-2.76923057 13.84615371-13.84615371 24.92307685-27.69230742 24.92307685z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="kedanjia" unicode="" d="M757.39295849 275.56626503999996c10.84337315 13.55421709 8.13253008 32.53012031-2.71084306 40.66265039-32.53012031 27.1084333-67.77108457 46.0843374-105.72289189 62.34939756 16.26506016 10.84337315 32.53012031 21.68674717 46.0843374 35.24096425 46.0843374 46.0843374 73.1927707 108.43373496 73.19277158 173.49397559 0 65.06024062-24.39759023 127.40963818-73.19277158 173.49397647C600.16404307 855.68674717 442.93512763 855.68674717 348.05560977 760.8072293c-46.0843374-46.0843374-73.1927707-108.43373496-73.19277159-173.49397647 0-65.06024062 24.39759023-127.40963818 73.19277159-173.49397559 13.55421709-13.55421709 29.81927724-24.39759023 46.0843374-35.24096425-5.42168701-2.71084307-10.84337315-5.42168701-18.9759041-8.13253008-46.0843374-18.97590323-84.03614472-48.79518047-119.2771081-84.03614473-35.24096425-35.24096425-62.34939756-75.90361465-78.61445773-121.98795117C155.58573008 115.62650567000003 144.74235693 66.83132519000003 144.74235693 12.61445771000001v-21.68674716c0-16.26506016 13.55421709-27.1084333 29.81927637-27.10843331h2.71084394c16.26506016 0 29.81927724 16.26506016 27.10843331 32.53012032v18.97590322c0 43.37349434 8.13253008 86.74698779 24.39759023 127.40963906 16.26506016 37.95180732 37.95180732 73.1927707 67.77108458 105.7228919 56.92771055 59.6385545 138.25301221 94.87951787 222.28915693 94.87951787 35.24096425 0 70.48192763-5.42168701 105.72289101-18.97590411 32.53012031-13.55421709 62.34939756-29.81927724 89.45783174-51.50602352 13.55421709-10.84337315 32.53012031-10.84337315 43.37349345 2.71084305z m-243.97590322 127.40963818c-48.79518047 2.71084307-92.16867481 21.68674717-124.69879511 54.21686748-35.24096425 35.24096425-54.21686748 81.32530078-54.21686748 132.83132608 0 48.79518047 18.97590323 97.59036182 54.21686748 132.8313252 35.24096425 35.24096425 81.32530078 54.21686748 132.83132519 54.21686747 103.01204795 0 187.04819268-84.03614472 187.04819268-187.04819267 0-48.79518047-18.97590323-97.59036182-54.21686748-132.83132608-35.24096425-35.24096425-81.32530078-54.21686748-130.12048213-54.21686748h-10.84337315z m241.26506016-127.40963818zM849.5616333 58.69879512c5.42168701 0 13.55421709 2.71084307 16.26506016 8.13253008s8.13253008 10.84337315 8.13253008 16.26506016c0 13.55421709-10.84337315 24.39759023-24.39759024 24.39759023h-54.21686747v2.71084394l73.19277157 73.1927707c10.84337315 8.13253008 10.84337315 24.39759023 2.71084307 35.24096427-8.13253008 10.84337315-24.39759023 10.84337315-35.24096338 2.71084306l-2.71084394-2.71084306-65.06024063-67.77108458-62.34939755 62.34939756c-5.42168701 5.42168701-10.84337315 8.13253008-16.26506016 8.13253008-5.42168701 0-13.55421709-2.71084307-16.26506016-5.42168701-10.84337315-8.13253008-10.84337315-24.39759023-2.71084395-35.24096338l2.71084395-2.71084395 73.19277071-73.1927707h-62.34939757c-5.42168701 0-13.55421709-2.71084307-16.26506016-8.13253008-8.13253008-2.71084307-8.13253008-8.13253008-8.13253007-13.55421708s2.71084307-13.55421709 8.13253007-16.26506016 10.84337315-8.13253008 16.26506016-8.13253008h62.34939757v-18.97590322h-62.34939757c-13.55421709 0-24.39759023-10.84337315-24.39759023-24.39759112 0-5.42168701 2.71084307-13.55421709 8.13253007-16.26506016 5.42168701-5.42168701 10.84337315-8.13253008 16.26506016-8.13253007h62.34939757v-32.53012032c0-5.42168701 2.71084307-13.55421709 8.13253007-16.26506015s10.84337315-8.13253008 16.26506016-8.13253008c13.55421709 0 24.39759023 10.84337315 24.39759023 24.39759023v32.53012032h54.21686748c5.42168701 0 13.55421709 2.71084307 16.26506016 8.13253007 5.42168701 5.42168701 8.13253008 10.84337315 8.13253008 16.26506016 0 13.55421709-10.84337315 24.39759023-24.39759024 24.39759112h-54.21686748v16.26506015h54.21686748z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="jiagoujianshu" unicode="" d="M940.91334717 609.65982393c-15.83577685 18.47507344-39.58944258 29.032258-63.3431083 29.032258h-525.2199416c-18.47507344 0-31.67155459-13.19648115-31.67155459-31.6715537s13.19648115-31.67155459 31.67155459-31.67155459h522.58064502c5.27859229 0 10.55718458-2.63929658 15.83577685-5.27859229 5.27859229-5.27859229 5.27859229-13.19648115 2.63929658-18.47507344l-47.50733145-332.55131924c0-10.55718458-13.19648115-18.47507344-26.3929623-18.47507344h-482.99120156c-13.19648115 2.63929658-23.75366573 13.19648115-26.39296231 29.03225802l-55.42522031 369.5014661-29.032258 155.71847461c-7.91788886 44.86803487-44.86803487 79.17888604-92.37536631 79.17888604h-39.58944258c-18.47507344 0-31.67155459-13.19648115-31.67155459-31.67155459s13.19648115-31.67155459 31.67155459-31.67155371h36.95014688c13.19648115 0 26.3929623-10.55718458 29.032258-26.3929623l29.03225801-155.71847461 50.14662715-369.50146612c5.27859229-47.50733144 42.22873916-81.81818174 89.7360706-84.45747831h485.63049815c44.86803487 0 81.81818174 29.032258 89.7360706 73.90029286l55.42522031 332.55132012c2.63929658 23.75366573-2.63929658 50.14662715-18.47507343 68.62170059zM508.06877187 409.07331357h166.27566006c18.47507344 2.63929658 34.31085029-7.91788886 36.95014688-23.75366571v-7.91788799c2.63929658-15.83577685-10.55718458-29.032258-26.3929623-31.67155459h-174.19354805c-18.47507344-2.63929658-34.31085029 7.91788886-36.95014688 23.75366571v7.91788888c-2.63929658 15.83577685 10.55718458 29.032258 26.3929623 31.6715537h7.91788799zM560.8546956 298.22287383v160.99706777c-2.63929658 18.47507344 7.91788886 34.31085029 23.75366573 34.3108503h7.91788886c15.83577685 2.63929658 29.032258-10.55718458 31.6715546-26.39296231V298.22287383c2.63929658-18.47507344-7.91788886-34.31085029-23.75366573-34.31085029h-7.91788886c-15.83577685-2.63929658-29.032258 10.55718458-31.6715546 26.39296143-2.63929658 2.63929658-2.63929658 5.27859229 0 7.91788886zM259.97493096-0.017595120000009956c0-36.95014688 29.032258-65.98240488 65.98240401-65.98240488s65.98240488 29.032258 65.98240487 65.98240488-29.032258 65.98240488-65.98240487 65.98240489-65.98240488-29.032258-65.98240401-65.98240489z m506.74486728 0c0-36.95014688 29.032258-65.98240488 65.98240489-65.98240488s65.98240488 29.032258 65.98240487 65.98240488-29.032258 65.98240488-65.98240487 65.98240489-65.98240488-29.032258-65.98240489-65.98240489z" horiz-adv-x="1027" />
+
+
+ <glyph glyph-name="leijichongzhiyonghu" unicode="" d="M441.38461573 349.38461572999995h2.76923055c8.30769258 0 13.84615371 5.53846114 16.61538429 11.07692313 5.53846114 8.30769258 8.30769258 16.61538428 5.53846201 27.69230742-2.76923057 8.30769258-8.30769258 13.84615371-13.84615372 19.38461485-5.53846114 2.76923057-11.07692315 2.76923057-16.61538515 2.76923145H386c-11.07692315 2.76923057-24.92307685 5.53846114-36 11.07692315-8.30769258 2.76923057-16.61538428 8.30769258-24.92307685 13.8461537-2.76923057 2.76923057-5.53846114 2.76923057-5.53846201 5.53846114-5.53846114 2.76923057-8.30769258 8.30769258-11.07692227 11.07692314l-11.07692314 11.07692314-2.76923145 2.76923057c-2.76923057 2.76923057-2.76923057 2.76923057-2.76923056 5.53846201-5.53846114 8.30769258-11.07692315 16.61538428-13.84615372 24.92307685-5.53846114 11.07692315-8.30769258 24.92307685-11.07692315 36-2.76923057 13.84615371-2.76923057 24.92307685 0 38.76923057 2.76923057 11.07692315 5.53846114 24.92307685 11.07692315 36 0 5.53846114 5.53846114 13.84615371 11.07692315 22.1538463 0 2.76923057 2.76923057 5.53846114 5.53846113 5.53846113 2.76923057 5.53846114 5.53846114 8.30769258 11.07692314 13.84615458 2.76923057 2.76923057 5.53846114 5.53846114 11.07692315 8.30769171l2.76923057 2.76923056c2.76923057 2.76923057 2.76923057 2.76923057 5.53846201 2.76923145 8.30769258 5.53846114 16.61538428 11.07692315 24.92307685 13.8461537 11.07692315 5.53846114 24.92307685 8.30769258 36 11.07692315h38.76923057c5.53846114 0 11.07692315-2.76923057 16.61538515-2.76923057 16.61538428-5.53846114 33.23076943 5.53846114 38.76923056 22.15384541 2.76923057 8.30769258 2.76923057 16.61538428-2.76923056 22.1538463-2.76923057 8.30769258-11.07692315 13.84615371-19.38461572 16.61538515-16.61538428 2.76923057-33.23076943 5.53846114-52.61538428 5.53846113-38.76923057 0-77.53846113-11.07692315-110.76923145-30.46153799C255.84615372 695.53846114 228.15384629 656.76923057 211.53846114 615.23076943c-13.84615371-44.30769258-13.84615371-91.38461572 0-132.92307685 13.84615371-38.76923057 38.76923057-72 74.76923144-96.92307686 0 0-2.76923057 0-2.76923144-2.76923145-69.23076943-27.69230742-127.38461573-74.76923057-168.92307686-135.69230742-41.53846114-66.46153886-58.15384629-144-49.84615371-221.53846113 0-8.30769258 2.76923057-16.61538428 8.30769258-22.15384629 5.53846114-5.53846114 13.84615371-8.30769258 22.15384628-8.30769258 8.30769258 0 16.61538428 2.76923057 22.1538463 8.30769258 5.53846114 5.53846114 8.30769258 13.84615371 8.30769169 22.15384629-2.76923057 24.92307685-2.76923057 52.61538428 0 77.53846113 5.53846114 41.53846114 19.38461572 80.30769258 41.53846201 113.53846201 5.53846114 5.53846114 8.30769258 13.84615371 13.84615372 19.38461485l-2.76923057-2.76923056 2.76923057 2.76923056s0 2.76923057 2.76923057 2.76923056l2.76923056 2.76923145 8.30769257 8.3076917L228.15384629 282.92307685000003c0-2.76923057 2.76923057 0 5.53846113 0s2.76923057 2.76923057 5.53846201 2.76923057c5.53846114 5.53846114 11.07692315 8.30769258 19.38461485 13.84615372 11.07692315 8.30769258 24.92307685 13.84615371 38.76923145 19.38461571 22.15384628 8.30769258 47.07692315 16.61538428 72 19.38461573 11.07692315 2.76923057 60.92307685 8.30769258 72 11.07692314zM992.46153887 263.53846114c11.07692315 13.84615371 8.30769258 33.23076943-2.76923145 41.53846201-33.23076943 27.69230742-69.23076943 47.07692315-108 63.69230742 16.61538428 11.07692315 33.23076943 22.15384628 47.07692315 36 47.07692315 47.07692315 74.76923057 110.76923057 74.76923057 177.23076943 0 66.46153886-24.92307685 130.15384628-74.76923057 177.23076943-96.92307685 96.92307685-257.53846114 96.92307685-354.46153799 0-47.07692315-47.07692315-74.76923057-110.76923057-74.76923144-177.23076943 0-66.46153886 24.92307685-130.15384628 74.76923144-177.23076943 13.84615371-13.84615371 30.46153887-24.92307685 47.07692314-36-5.53846114-2.76923057-11.07692315-5.53846114-19.38461572-8.30769171-47.07692315-19.38461572-85.84615372-49.84615371-121.84615371-85.84615458-36-36-63.69230742-77.53846113-80.30769257-124.61538428-19.38461572-49.84615371-30.46153887-99.69230742-30.461538-155.07692315v-22.15384628c0-16.61538428 13.84615371-27.69230742 30.461538-27.69230742h2.76923055c16.61538428 0 30.46153887 16.61538428 27.69230831 33.23076943v19.38461484c0 44.30769258 8.30769258 88.61538428 24.92307685 130.1538463 16.61538428 38.76923057 38.76923057 74.76923057 69.23076944 108 58.15384629 60.92307685 141.23076943 96.92307685 227.07692227 96.92307685 36 0 72-5.53846114 108-19.38461485 33.23076943-13.84615371 63.69230742-30.46153887 91.38461571-52.61538515 11.07692315-11.07692315 30.46153887-11.07692315 41.53846202 2.76923057z m-249.23076944 130.15384628c-49.84615371 2.76923057-94.15384628 22.15384628-127.38461571 55.38461573-36 36-55.38461573 83.07692315-55.38461485 135.69230742 0 49.84615371 19.38461572 99.69230742 55.38461485 135.69230829 36 36 83.07692315 55.38461573 135.69230742 55.38461485 105.23076943 0 191.07692315-85.84615372 191.07692313-191.07692314 0-49.84615371-19.38461572-99.69230742-55.38461484-135.69230742-36-36-83.07692315-55.38461573-132.92307685-55.38461573h-11.07692315z m246.46153799-130.15384629zM1158.61538427 111.23076943000001L1058.92307685 114v94.15384628c0 16.61538428-13.84615371 27.69230742-27.69230742 27.69230744-16.61538428 0-27.69230742-13.84615371-27.69230829-27.69230743V114h-96.92307687c-16.61538428 0-27.69230742-13.84615371-27.69230742-27.69230742s13.84615371-27.69230742 27.69230742-27.69230831H1003.53846113v-94.15384541c0-8.30769258 2.76923057-13.84615371 8.30769258-19.38461571s13.84615371-8.30769258 19.38461572-8.30769258c16.61538428 0 27.69230742 13.84615371 27.69230742 27.69230829V58.61538427000005h94.1538463c16.61538428 0 27.69230742 13.84615371 27.69230742 27.69230831 2.76923057 11.07692315-8.30769258 24.92307685-22.15384629 24.92307685z" horiz-adv-x="1276" />
+
+
+ <glyph glyph-name="leijichengjiaoyonghu" unicode="" d="M442.55555528 347.88888867000003h2.77777792c8.33333291 0 13.88888877 5.55555586 16.6666667 11.11111172 5.55555586 8.33333291 8.33333291 16.6666667 5.55555586 27.77777754-2.77777793 8.33333291-8.33333291 13.88888877-13.88888876 19.44444463-5.55555586 2.77777793-11.11111084 2.77777793-16.66666671 2.77777705H387.0000002c-11.11111084 2.77777793-24.99999961 5.55555586-36.11111134 11.11111172-8.33333291 2.77777793-16.6666667 8.33333291-24.99999961 13.88888877-2.77777793 2.77777793-5.55555586 2.77777793-5.55555586 5.55555586-5.55555586 2.77777793-8.33333291 8.33333291-11.11111083 11.11111084l-11.11111172 11.11111083-2.77777793 2.77777794c-2.77777793 2.77777793-2.77777793 2.77777793-2.77777705 5.55555586-5.55555586 8.33333291-11.11111084 16.6666667-13.88888877 24.99999961-5.55555586 11.11111084-8.33333291 24.99999961-11.11111172 36.11111133-2.77777793 13.88888877-2.77777793 24.99999961 0 38.88888838 2.77777793 11.11111084 5.55555586 24.99999961 11.11111172 36.11111133 0 5.55555586 5.55555586 13.88888877 11.11111084 22.22222255 0 2.77777793 2.77777793 5.55555586 5.55555498 5.55555498 2.77777793 5.55555586 5.55555586 8.33333291 11.11111172 13.88888965 2.77777793 2.77777793 5.55555586 5.55555586 11.11111084 8.33333291l2.77777792 2.77777793c2.77777793 2.77777793 2.77777793 2.77777793 5.55555586 2.77777793 8.33333291 5.55555586 16.6666667 11.11111084 24.99999961 13.88888877 11.11111084 5.55555586 24.99999961 8.33333291 36.11111133 11.11111083h38.88888838c5.55555586 0 11.11111084-2.77777793 16.66666671-2.77777792 16.6666667-5.55555586 33.33333339 5.55555586 38.88888925 22.22222256 2.77777793 8.33333291 2.77777793 16.6666667-2.77777793 22.22222255-2.77777793 8.33333291-11.11111084 13.88888877-19.44444463 16.6666667-16.6666667 2.77777793-33.33333339 5.55555586-52.77777715 5.55555499-38.88888926 0-77.77777763-11.11111084-111.11111191-30.55555547C256.44444453 695.1111114299999 228.66666699 656.22222217 212.00000029 614.55555586c-13.88888877-44.44444424-13.88888877-91.66666641 0-133.33333359 13.88888877-38.88888926 38.88888926-72.22222266 74.99999971-97.22222227 0 0-2.77777793 0-2.77777793-2.77777792-69.44444472-27.77777754-127.77777773-74.99999971-169.44444405-136.11111065-41.66666631-66.6666668-58.333333-144.44444443-50.0000001-222.22222295 0-8.33333291 2.77777793-16.6666667 8.33333292-22.22222168 5.55555586-5.55555586 13.88888877-8.33333291 22.22222255-8.3333338 8.33333291 0 16.6666667 2.77777793 22.22222257 8.3333338 5.55555586 5.55555586 8.33333291 13.88888877 8.3333329 22.22222167-2.77777793 24.99999961-2.77777793 52.77777803 0 77.77777853 5.55555586 41.66666631 19.44444463 80.55555557 41.66666632 113.88888896 5.55555586 5.55555586 8.33333291 13.88888877 13.88888964 19.44444375l-2.77777792-2.77777705 2.77777792 2.77777705s0 2.77777793 2.77777705 2.77777792l2.77777793 2.77777794 8.33333379 8.33333291L228.66666699 281.22222187c0-2.77777793 2.77777793 0 5.55555498 0s2.77777793 2.77777793 5.55555586 2.77777794c5.55555586 5.55555586 11.11111084 8.33333291 19.44444464 13.88888876 11.11111084 8.33333291 24.99999961 13.88888877 38.88888837 19.44444463 22.22222256 8.33333291 47.22222217 16.6666667 72.22222265 19.44444463 11.11111084 2.77777793 61.11111094 8.33333291 72.22222178 11.11111084zM1070.3333331 175.66666669999995c-11.11111084 11.11111084-27.77777754 11.11111084-41.6666663 0l-180.55555576-163.88888907-61.11111094 72.22222266c-11.11111084 11.11111084-27.77777754 11.11111084-38.88888926 2.77777705-11.11111084-11.11111084-13.88888877-27.77777754-2.77777793-41.6666663l100.00000019-108.33333311 2.77777794-2.77777793 225 200.00000039c8.33333291 13.88888877 8.33333291 30.55555547-2.77777794 41.66666631zM750.88888877 331.22222196999996c36.11111133 0 72.22222266-5.55555586 108.33333311-19.44444463 33.33333339-13.88888877 63.88888886-30.55555547 91.66666728-52.77777714 13.88888877-11.11111084 30.55555547-8.33333291 41.66666631 2.77777793 11.11111084 13.88888877 8.33333291 33.33333339-2.77777794 41.6666663-33.33333339 27.77777754-69.44444472 47.22222217-108.3333331 63.88888887 16.6666667 11.11111084 33.33333339 22.22222256 47.22222217 36.11111133 47.22222217 47.22222217 74.99999971 111.11111104 74.99999971 177.77777783 0 66.6666668-24.99999961 130.55555566-74.99999971 177.77777783-97.22222227 97.22222227-258.3333334 97.22222227-355.55555566 0-47.22222217-47.22222217-74.99999971-111.11111104-74.99999971-177.77777782 0-66.6666668 24.99999961-130.55555566 74.99999971-177.77777784 13.88888877-13.88888877 30.55555547-24.99999961 47.22222216-36.11111133-5.55555586-2.77777793-11.11111084-5.55555586-19.44444463-8.33333291-47.22222217-19.44444463-86.11111143-50.0000001-122.22222187-86.11111143-36.11111133-36.11111133-63.88888886-77.77777763-80.55555556-124.9999998-19.44444463-50.0000001-30.55555547-100.0000002-30.55555547-155.55555615v-22.22222168c0-16.6666667 13.88888877-27.77777754 30.55555547-27.77777842h2.77777792c16.6666667 0 30.55555547 16.6666667 27.77777755 33.3333334v19.44444463c0 44.44444424 8.33333291 88.88888847 25.00000048 130.55555566 16.6666667 38.88888926 38.88888926 74.99999971 69.44444385 108.33333311 58.333333 61.11111094 141.66666651 97.22222227 227.77777793 97.22222226z m-5.55555586 61.11111094c-50.0000001 2.77777793-94.44444434 22.22222256-127.77777773 55.55555595-36.11111133 36.11111133-55.55555596 83.33333349-55.55555508 136.11111153 0 50.0000001 19.44444463 100.0000002 55.55555508 136.11111065 36.11111133 36.11111133 83.33333349 55.55555596 136.11111152 55.55555595 105.55555518 0 191.6666666-86.11111143 191.6666666-191.6666666 0-50.0000001-19.44444463-100.0000002-55.55555596-136.11111153-36.11111133-36.11111133-83.33333349-55.55555596-133.33333271-55.55555595h-11.11111172z m247.22222256-130.55555478z" horiz-adv-x="1157" />
+
+
+ <glyph glyph-name="leijihuiyuanshu" unicode="" d="M1074.14953261 177.92523340000002l-56.0747663-114.9532708-53.27102813 112.14953261c-19.62616816 39.25233633-78.50467266 5.60747636-58.87850449-33.64485995l81.30841084-173.83177529c8.41121455-16.82242998 30.84112177-22.42990635 47.66355175-11.21495362 5.60747636 2.80373818 8.41121455 8.41121455 11.21495362 11.21495362l86.91588721 176.63551347c19.62616816 39.25233633-39.25233633 72.89719628-58.8785045 33.64485996zM446.11214961 343.34579413999995h2.80373818c8.41121455 0 14.0186918 5.60747636 16.82242999 11.21495362 5.60747636 8.41121455 8.41121455 16.82242998 5.60747636 28.03738271-2.80373818 8.41121455-8.41121455 14.0186918-14.01869091 19.62616816-5.60747636 2.80373818-11.21495362 2.80373818-16.82242999 2.80373906H390.0373833c-11.21495362 2.80373818-25.23364453 5.60747636-36.44859814 11.21495274-8.41121455 2.80373818-16.82242998 8.41121455-25.23364453 14.01869179-2.80373818 2.80373818-5.60747636 2.80373818-5.60747725 5.60747637-5.60747636 2.80373818-8.41121455 8.41121455-11.21495273 11.21495362l-11.21495362 11.21495361-2.80373818 2.80373819c-2.80373818 2.80373818-2.80373818 2.80373818-2.80373819 5.60747636-5.60747636 8.41121455-11.21495362 16.82242998-14.01869179 25.23364453-5.60747636 11.21495362-8.41121455 25.23364453-11.21495361 36.44859815-2.80373818 14.0186918-2.80373818 25.23364453 0 39.25233633 2.80373818 11.21495362 5.60747636 25.23364453 11.2149536 36.44859814 0 5.60747636 5.60747636 14.0186918 11.21495362 22.42990722 0 2.80373818 2.80373818 5.60747636 5.60747637 5.60747638 2.80373818 5.60747636 5.60747636 8.41121455 11.21495273 14.01869179 2.80373818 2.80373818 5.60747636 5.60747636 11.21495362 8.41121456l2.80373818 2.80373818 5.60747725 5.60747724c8.41121455 5.60747636 16.82242998 11.21495362 25.23364453 14.01869092 11.21495362 5.60747636 25.23364453 8.41121455 36.44859814 11.21495361h39.25233633c5.60747636 0 11.21495362-2.80373818 16.82242998-2.80373818 16.82242998-5.60747636 33.64485996 5.60747636 39.25233633 22.42990635 2.80373818 8.41121455 2.80373818 16.82242998-2.80373818 22.42990634-2.80373818 8.41121455-11.21495362 14.0186918-19.62616817 16.82242999-16.82242998 0-33.64485996 2.80373818-53.27102813 2.80373818-39.25233633 0-78.50467266-11.21495362-112.14953261-30.8411209C258.26168252 693.8130837900001 230.22429893 654.56074747 213.40186894 612.50467295c-14.0186918-44.8598127-14.0186918-92.52336445 1e-8-134.57943897 14.0186918-39.25233633 39.25233633-72.89719628 75.70093447-98.13084169 0 0-2.80373818 0-2.80373819-2.80373819-70.0934581-28.03738359-128.9719626-75.70093447-171.02803711-137.38317715-42.05607451-67.28971992-58.8785045-145.79439258-50.46728994-224.29906611 0-8.41121455 2.80373818-16.82242998 8.41121544-22.42990635 5.60747636-5.60747636 14.0186918-8.41121455 22.42990635-8.41121455 8.41121455 0 16.82242998 2.80373818 22.42990634 8.41121455 5.60747636 5.60747636 8.41121455 14.0186918 8.41121543 22.42990635-2.80373818 25.23364453-2.80373818 53.27102813 0 78.50467354 5.60747636 42.05607451 19.62616816 81.30841084 42.05607451 114.9532708 5.60747636 5.60747636 8.41121455 14.0186918 14.0186918 19.62616816l-2.80373907-2.80373818 2.80373907 2.80373818s0 2.80373818 2.80373818 2.80373818l2.80373819 2.80373819 8.41121454 8.41121542L230.22429893 276.05607510000004c0-2.80373818 2.80373818 0 5.60747636 0s2.80373818 2.80373818 5.60747724 2.80373818c5.60747636 5.60747636 11.21495362 8.41121455 19.62616817 14.0186918 11.21495362 8.41121455 25.23364453 14.0186918 39.25233633 19.62616817 22.42990635 8.41121455 47.66355175 16.82242998 72.89719629 19.62616816 11.21495362 2.80373818 61.68224268 8.41121455 72.89719629 11.21495273zM1004.05607451 256.42990693c11.21495362 14.0186918 8.41121455 33.64485996-2.80373818 42.05607451-33.64485996 28.03738359-70.0934581 47.66355175-109.34579443 64.48598086 16.82242998 11.21495362 33.64485996 22.42990635 47.66355175 36.44859815 47.66355175 47.66355175 75.70093447 112.14953262 75.70093447 179.43925254 0 67.28971992-25.23364453 131.77570078-75.70093447 179.43925253-98.13084082 98.13084082-260.74766338 98.13084082-358.87850508 0-47.66355175-47.66355175-75.70093447-112.14953262-75.70093447-179.43925253 0-67.28971992 25.23364453-131.77570078 75.70093447-179.43925254 14.0186918-14.0186918 30.84112177-25.23364453 47.66355176-36.44859815-5.60747636-2.80373818-11.21495362-5.60747636-19.62616816-8.41121454-47.66355175-19.62616816-86.91588809-50.46728994-123.36448623-86.91588809-36.44859815-36.44859815-64.48598174-78.50467266-81.30841084-126.16822441-19.62616816-50.46728994-30.84112177-100.93457901-30.84112178-157.00934532v-22.42990635c0-16.82242998 14.0186918-28.03738359 30.84112178-28.03738359h2.80373818c16.82242998 0 30.84112177 16.82242998 28.03738271 33.64485996v19.62616816c0 44.8598127 8.41121455 89.71962627 25.23364542 131.77570079 16.82242998 39.25233633 39.25233633 75.70093447 70.09345722 109.34579443 58.8785045 61.68224268 142.9906544 98.13084082 229.90654249 98.13084082 36.44859815 0 72.89719628-5.60747636 109.34579443-19.62616817 33.64485996-14.0186918 64.48598174-30.84112177 92.52336445-53.27102812 11.21495362-11.21495362 30.84112177-11.21495362 42.05607451 2.80373906z m-252.33644795 131.77570078c-50.46728994 2.80373818-95.32710263 22.42990635-128.9719626 56.07476631-36.44859815 36.44859815-56.07476631 84.1121499-56.07476718 137.38317715 0 50.46728994 19.62616816 100.93457901 56.07476718 137.38317803 36.44859815 36.44859815 84.1121499 56.07476631 137.38317716 56.07476631 106.54205625 0 193.45794434-86.91588809 193.45794433-193.45794434 0-50.46728994-19.62616816-100.93457901-56.07476719-137.38317715-36.44859815-36.44859815-84.1121499-56.07476631-134.57943896-56.07476631h-11.21495274z m249.53270977-131.77570078z" horiz-adv-x="1223" />
+
+
+ <glyph glyph-name="shangpinliulanliang" unicode="" d="M905.90097148 577.4854374c0 19.08643271-13.63316573 32.71959844-32.71959843 32.71959844h-106.33869492c-8.17989961 128.15176113-117.24522803 229.03718906-245.39698829 223.58392295h-19.08643271c-128.15176113 2.72663349-234.49045605-95.4321627-245.39698916-220.85729033h-109.06532754c-16.35979922 0-29.99296494-13.63316573-32.71959931-32.71959844L96.09090928 45.79196191999995v-2.7266335c5.45326612-59.98593076 57.25929727-109.06532842 119.97186064-109.06532842h597.13267324c62.71256338 0 114.51859453 49.07939766 114.51859453 111.79196192v2.72663261l-21.81306621 528.96684287z m-92.70552832-578.04624053H216.06276992c-29.99296494 0-51.80603115 21.81306533-54.53266377 51.80603115l19.08643272 498.97387706h73.61909649v-100.88542881c0-19.08643271 16.35979922-32.71959844 32.71959843-29.99296494 19.08643271 0 32.71959844 16.35979922 29.99296494 32.71959844V596.5718692400001c2.72663349 98.15879531 84.52562959 174.50452529 182.6844249 174.50452529h19.08643272c98.15879531 2.72663349 179.95779141-76.34572998 182.6844249-174.50452529V449.33367627c0-16.35979922 16.35979922-29.99296494 32.71959844-27.26633233 16.35979922 0 32.71959844 13.63316573 32.71959844 32.71959844v92.7055292h76.34572997l21.81306534-498.97387705c-2.72663349-29.99296494-24.53969883-49.07939766-51.80603028-49.07939766zM417.83362754 547.49247158h193.59095801c16.35979922 0 32.71959844 13.63316573 32.71959843 32.71959844v2.7266335c0 16.35979922-16.35979922 29.99296494-32.71959843 27.26633232h-193.59095802-2.72663349c-19.08643271 0-32.71959844-16.35979922-29.99296493-32.71959844 0-16.35979922 13.63316573-29.99296494 32.71959843-29.99296582zM706.85674737 293.91558368999995H319.67483222c-19.08643271-2.72663349-29.99296494-19.08643271-29.99296493-35.44623194 2.72663349-19.08643271 19.08643271-29.99296494 35.44623105-29.99296493H712.31001435c19.08643271 2.72663349 29.99296494 19.08643271 29.99296495 35.44623105-2.72663349 19.08643271-16.35979922 29.99296494-35.44623193 29.99296582z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="shangpinzhifujine" unicode="" d="M895.56000401 40.33236592000003l-59.64986338 490.16627314c-5.18694433 38.90208516-36.30861299 64.83680859-75.21069815 64.8368086h-77.80417031V660.1722571299999v5.18694433c-2.59347217 95.95847637-80.39764248 171.16917451-173.76264756 168.57570235S340.55692227 753.53726133 343.15039443 660.1722571299999v-62.24333643H262.75275195c-38.90208516 0-70.02375292-28.5281956-75.21069814-64.83680859L127.89219043 40.33236592000003v-10.37388956c0-54.46291904 44.0890295-95.95847637 95.95847637-95.95847636H809.97541719c54.46291904 5.18694433 90.77153203 54.46291904 85.58458682 106.33236592zM405.39373086 660.1722571299999v5.18694433c2.59347217 59.64986426 51.86944688 106.33236592 108.92583896 103.73889375s106.33236592-51.86944688 103.73889375-108.92583808v-62.24333643h-215.25820488V660.1722571299999z m394.20779677-661.33544854H223.8506668h-2.59347217c-18.15430605 2.59347217-31.12166778 18.15430605-28.5281956 36.30861299l59.64986337 490.16627315c0 5.18694433 5.18694433 10.37388955 10.37388955 10.37388954h500.5401627c5.18694433 0 10.37388955-5.18694433 10.37388955-10.37388954l59.64986426-490.16627315v-2.59347216c-2.59347217-20.74777911-15.56083388-33.71514082-33.71514083-33.71514083zM651.7736044 400.82502188c5.18694433 5.18694433 7.78041738 12.96736172 7.7804165 20.74777909 0 7.78041738-2.59347217 15.56083388-7.7804165 20.74777911-5.18694433 5.18694433-12.96736172 7.78041738-20.74777911 7.7804165-7.78041738 0-15.56083388-2.59347217-20.7477791-7.7804165l-90.77153203-90.77153291-90.77153203 90.77153291c-10.37388955 10.37388955-28.5281956 10.37388955-38.90208516 0-5.18694433-5.18694433-7.78041738-12.96736172-7.7804165-20.74777911 0-7.78041738 2.59347217-15.56083388 7.7804165-20.7477791l103.73889375-103.73889375v-7.7804165h-93.36500419c-15.56083388 0-28.5281956-12.96736172-28.52819561-28.52819649s12.96736172-28.5281956 28.52819561-28.5281956h93.36500419v-36.30861299h-93.36500419c-15.56083388 0-28.5281956-12.96736172-28.52819561-28.5281956s12.96736172-28.5281956 28.52819561-28.52819561h93.36500419v-49.27597471c0-15.56083388 12.96736172-28.5281956 28.52819561-28.5281956 15.56083388 0 28.5281956 12.96736172 28.52819648 28.5281956v49.27597471h82.99111466c15.56083388 0 28.5281956 12.96736172 28.5281956 28.52819561s-12.96736172 28.5281956-28.5281956 28.5281956h-82.99111466v36.30861299h82.99111466c15.56083388 0 28.5281956 12.96736172 28.5281956 28.5281956S646.58665917 289.30571162 631.02582529 289.30571162h-82.99111552v10.37388867l103.73889463 101.14542158z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="tuikuanjianshu" unicode="" d="M886.55089854 834H274.87425166C234.45508994 834 199.42514932 798.97006026 199.42514932 758.5508985399999v-29.64071866H137.44910146C97.02993974 728.91017988 62 693.88023926 62 653.46107753v-641.31736464c0-21.55688613 8.08383252-40.41916172 21.55688613-53.89221621s32.3353292-21.55688613 53.89221533-21.55688613h606.28742578c43.11377227 0 75.44910146 35.02993974 75.44910148 75.44910234v29.64071865h67.36526982c21.55688613 0 40.41916172 8.08383252 53.89221533 21.55688614s21.55688613 32.3353292 21.55688613 53.89221533V758.5508985399999c0 40.41916172-35.02993974 75.44910146-75.44910146 75.44910146z m-142.8143713-105.08982011h-485.02994062V758.5508985399999c0 8.08383252 8.08383252 16.16766503 16.16766504 16.16766415h608.98203545c8.08383252 0 16.16766503-8.08383252 16.16766503-16.16766415v-641.31736553c0-8.08383252-8.08383252-16.16766503-16.16766503-16.16766504H816.49101816V653.46107753c2.69461055 40.41916172-32.3353292 75.44910146-72.75449092 75.44910236z m0-732.93413203H137.44910146c-8.08383252 0-16.16766503 8.08383252-16.16766415 16.16766503V653.46107753c0 8.08383252 8.08383252 16.16766503 16.16766415 16.16766505h606.28742578c8.08383252 0 16.16766503-8.08383252 16.16766417-16.16766504v-641.31736465c0-10.77844307-8.08383252-16.16766503-16.16766417-16.16766503zM654.81437128 569.92814355c-10.77844307 8.08383252-24.25149668 10.77844307-35.02993974 10.77844307-13.47305362-2.69461055-24.25149668-8.08383252-32.33533008-18.86227558-16.16766503-21.55688613-13.47305362-51.19760479 5.38922198-67.36526895-18.86227559-102.39520957-67.36526982-148.20359238-150.89820381-148.20359326-83.53293398 0-132.03592823 48.50299424-150.89820381 150.8982038 5.38922197 5.38922197 8.08383252 8.08383252 10.77844306 13.47305362 5.38922197 13.47305362 5.38922197 26.9461081 2.69461143 37.72455117-5.38922197 13.47305362-13.47305362 21.55688613-24.25149755 26.94610811-13.47305362 8.08383252-26.9461081 8.08383252-37.7245503 2.69461054s-21.55688613-13.47305362-26.94610811-24.25149667-5.38922197-24.25149668-2.69461054-37.72455117c5.38922197-10.77844307 13.47305362-21.55688613 24.25149668-26.94610812 24.25149668-129.34131768 94.31137705-199.40119717 204.79041914-199.40119716 113.17365263 0 183.233533 70.05988037 207.48502969 199.40119716 5.38922197 2.69461055 10.77844307 8.08383252 13.47305449 10.77844307 8.08383252 10.77844307 10.77844307 21.55688613 10.77844307 35.02994063-2.69461055 16.16766503-8.08383252 26.9461081-18.8622756 35.02993974z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="leijiguanzhuyonghu" unicode="" d="M440.22085859 350.87116523h2.76073682c8.28220869 0 13.80368057 5.52147276 16.56441651 11.04294552 5.52147276 8.28220869 8.28220869 16.56441738 5.52147275 27.60736201-2.76073594 8.28220869-8.28220869 13.80368057-13.80368056 19.32515331-5.52147276 2.76073594-11.04294463 2.76073594-16.56441739 2.76073594H385.00613457c-11.04294463 2.76073594-24.84662607 5.52147276-35.88956983 11.04294463-8.28220869 2.76073594-16.56441738 8.28220869-24.84662607 13.80368145-2.76073594 2.76073594-5.52147276 2.76073594-5.52147275 5.52147187-5.52147276 2.76073594-8.28220869 8.28220869-11.04294464 11.04294463l-11.04294462 11.04294551-2.76073593 2.76073594c-2.76073594 2.76073594-2.76073594 2.76073594-2.76073682 5.52147187-5.52147276 8.28220869-11.04294463 16.56441738-13.80368057 24.84662607-5.52147276 11.04294463-8.28220869 24.84662607-11.04294463 35.88957071-2.76073594 13.80368057-2.76073594 24.84662607 0 38.65030664 2.76073594 11.04294463 5.52147276 24.84662607 11.04294463 35.8895707 0 5.52147276 5.52147276 13.80368057 11.04294463 22.08588926 0 2.76073594 2.76073594 5.52147276 5.52147276 5.52147275 2.76073594 5.52147276 5.52147276 8.28220869 11.04294462 13.80368057 2.76073594 2.76073594 5.52147276 5.52147276 11.04294463 8.28220869l2.76073594 2.76073594 5.52147275 5.52147276c8.28220869 5.52147276 16.56441738 11.04294463 24.84662607 13.80368144 11.04294463 5.52147276 24.84662607 8.28220869 35.88956983 11.04294463h38.65030752c5.52147276 0 11.04294463-2.76073594 16.5644165-2.76073682 16.56441738-5.52147276 33.12883477 5.52147276 38.65030664 22.08589013 2.76073594 8.28220869 2.76073594 16.56441738-2.76073593 22.08588927-2.76073594 8.28220869-11.04294463 13.80368057-19.32515333 16.56441738-16.56441738 0-33.12883477 2.76073594-52.4539872 2.76073593-38.65030664 0-77.30061328-11.04294463-110.42944804-30.36809794C255.25153408 695.96318994 227.64417207 657.3128833000001 211.07975469 615.90184072c-13.80368057-44.1717794-13.80368057-91.10429473 0-132.5153373 13.80368057-38.65030664 38.65030664-71.77914141 74.53987734-96.62576748 0 0-2.76073594 0-2.76073594-2.76073594-69.01840459-27.60736201-126.99386543-74.53987734-168.404908-135.27607325-41.41104258-66.25766865-57.97545997-143.55828193-49.69325215-220.85889609 0-8.28220869 2.76073594-16.56441738 8.28220869-22.08588925 5.52147276-5.52147276 13.80368057-8.28220869 22.08589014-8.2822087 8.28220869 0 16.56441738 2.76073594 22.08588926 8.2822087 5.52147276 5.52147276 8.28220869 13.80368057 8.28220868 22.08588925-2.76073594 24.84662607-2.76073594 52.45398809 0 77.30061328 5.52147276 41.41104258 19.32515332 80.0613501 41.41104258 113.19018399 5.52147276 5.52147276 8.28220869 13.80368057 13.80368145 19.32515332l-2.76073682-2.76073594 2.76073682 2.76073594s0 2.76073594 2.76073594 2.76073682l2.76073594 2.76073594 8.28220869 8.28220868L227.64417207 284.61349657999995c0-2.76073594 2.76073594 0 5.52147187 0s2.76073594 2.76073594 5.52147276 2.76073681c5.52147276 5.52147276 11.04294463 8.28220869 19.32515332 13.80368057 11.04294463 8.28220869 24.84662607 13.80368057 38.65030664 19.32515333 22.08588926 8.28220869 46.93251533 16.56441738 71.77914141 19.32515331 11.04294463 2.76073594 60.73619589 8.28220869 71.77914052 11.04294463zM945.43558262 259.76687138c13.80368057-11.04294463 30.36809795-8.28220869 41.41104345 2.76073594 11.04294463 13.80368057 8.28220869 33.12883477-2.76073682 41.41104258-33.12883477 27.60736201-69.01840459 46.93251533-107.66871122 63.49693271 16.56441738 11.04294463 33.12883477 22.08588926 46.93251533 35.88957072 46.93251533 46.93251533 74.53987734 110.42944805 74.53987734 176.68711669 0 66.25766865-24.84662607 129.75460136-74.53987734 176.6871167-96.6257666 96.6257666-256.74846592 96.6257666-353.3742334 0-46.93251533-46.93251533-74.53987734-110.42944805-74.53987734-176.6871167 0-66.25766865 24.84662607-129.75460136 74.53987735-176.6871167 13.80368057-13.80368057 30.36809795-24.84662607 46.93251532-35.8895707-5.52147276-2.76073594-11.04294463-5.52147276-19.32515331-8.28220869-46.93251533-19.32515332-85.58282198-49.69325127-121.47239268-85.58282198-35.8895707-35.8895707-63.49693271-77.30061328-80.06134922-124.23312861-19.32515332-49.69325127-30.36809795-99.38650342-30.36809883-154.60122744v-22.08588926c0-16.56441738 13.80368057-27.60736201 30.36809883-27.60736201h2.76073594c16.56441738 0 30.36809795 16.56441738 27.60736201 33.12883477v19.32515331c0 44.1717794 8.28220869 88.34355791 24.84662608 129.75460137 16.56441738 38.65030664 38.65030664 74.53987734 69.01840458 107.66871123 57.97545997 60.73619589 140.79754599 96.6257666 226.38036797 96.6257666 35.8895707 0 71.77914141-5.52147276 107.66871211-19.32515332 33.12883477-11.04294463 63.49693271-27.60736201 91.10429385-52.45398721z m-204.29447871 135.27607325c-49.69325127 2.76073594-93.86503066 22.08588926-126.99386456 55.21472402-35.8895707 35.8895707-55.21472402 82.82208604-55.21472402 135.27607325 0 49.69325127 19.32515332 99.38650342 55.21472402 135.27607412 35.8895707 35.8895707 82.82208604 55.21472402 135.27607325 55.21472401 104.90797529 0 190.49079727-85.58282198 190.49079814-190.49079813 0-49.69325127-19.32515332-99.38650342-55.21472402-135.27607325-35.8895707-35.8895707-82.82208604-55.21472402-132.51533731-55.21472402h-11.0429455z m245.70552216-129.75460137zM1088.99386543 215.59509200000002c-30.36809795 13.80368057-66.25766865 11.04294463-93.86503066-5.52147276-27.60736201 16.56441738-63.49693271 19.32515332-96.62576748 5.52147276-46.93251533-22.08588926-69.01840459-74.53987734-55.21472403-124.23312862 16.56441738-82.82208604 138.03681006-154.60122656 138.03681006-154.60122744 2.76073594-2.76073594 8.28220869-2.76073594 13.80368145-2.76073594s8.28220869 0 13.80368056 2.76073594c13.80368057 8.28220869 124.23312862 77.30061328 138.03681006 154.60122744 13.80368057 49.69325127-11.04294463 102.14723935-57.97545996 124.23312862z m-77.30061416-57.97545997c16.56441738 13.80368057 38.65030664 16.56441738 57.97545996 11.04294463 24.84662607-11.04294463 35.8895707-38.65030664 27.60736201-66.25766865-8.28220869-38.65030664-57.97545997-82.82208604-102.14723847-113.19018398-44.1717794 30.36809795-93.86503066 74.53987734-102.14723936 113.19018398-8.28220869 24.84662607 5.52147276 52.45398809 27.60736201 66.25766865 5.52147276 2.76073594 11.04294463 2.76073594 16.56441651 2.76073594 13.80368057 0 30.36809795-5.52147276 41.41104345-16.56441651 8.28220869-2.76073594 22.08588926-2.76073594 33.12883389 2.76073594z" horiz-adv-x="1238" />
+
+
+ <glyph glyph-name="tuikuan" unicode="" d="M830.40731035 702.40731035C745.81201075 787.00261084 633.01827675 834 513.17493506 834S280.53785937 787.00261084 195.94255888 702.40731035C108.99738916 617.81201075 62 505.01827675 62 385.17493506v-2.34987012c0-7.04960859 2.34986924-14.09921631 9.39947783-18.79895567 4.69973848-4.69973848 11.74934707-7.04960859 18.79895566-7.04960771 9.39947783 0 16.44908643 4.69973848 21.1488249 11.74934708L172.44386387 434.52219346l2.34987011 2.34986924c7.04960859 11.74934707 4.69973848 25.84856426-4.69973935 35.24804209-4.69973848 4.69973848-11.74934707 7.04960859-18.79895567 7.04960771-7.04960859 0-14.09921631-2.34986924-18.79895566-9.39947783l-9.39947783-9.39947783c21.1488249 103.39425615 84.59530049 197.38903359 176.24020957 256.13577069 183.28981729 117.49347247 430.02610928 65.79634482 547.51958173-119.84334257 56.39686699-89.29503896 75.19582266-195.03916435 54.04699776-298.43341963s-84.59530049-192.68929511-173.89033945-249.0861621c-183.28981729-117.49347247-430.02610928-65.79634482-547.51958262 119.84334169 0 0 0 2.34986924-2.34986923 2.34987012-4.69973848 4.69973848-9.39947783 9.39947783-16.44908643 11.74934707-7.04960859 0-14.09921631 0-21.1488249-4.69973935-4.69973848-4.69973848-9.39947783-9.39947783-11.74934708-16.44908555s0-14.09921631 4.69973848-18.79895567c82.24543037-129.24281953 225.58746709-206.78851143 378.32898164-206.7885123 119.8433417 0 232.63707568 46.99738916 317.23237618 131.59268964 84.59530049 84.59530049 131.59268965 197.38903359 131.59268964 317.23237618 4.69973848 119.8433417-42.29764981 232.63707568-129.24282041 317.2323753zM327.53524766 554.36553516c2.34986924-2.34986924 7.04960859-4.69973848 11.74934794-9.39947784s9.39947783-7.04960859 14.09921632-11.74934706c4.69973848-4.69973848 9.39947783-9.39947783 16.44908642-14.09921719 4.69973848-4.69973848 9.39947783-9.39947783 14.09921631-11.74934708 4.69973848-7.04960859 14.09921631-11.74934707 21.1488249-14.0992163 7.04960859 0 11.74934707 2.34986924 16.44908643 7.04960859 4.69973848 4.69973848 7.04960859 11.74934707 4.69973935 16.44908555-2.34986924 7.04960859-7.04960859 14.09921631-11.74934794 18.79895566-9.39947783 9.39947783-21.1488249 18.79895566-30.54830274 25.84856426-4.69973848 4.69973848-11.74934707 9.39947783-16.44908554 11.74934708l-11.74934796 9.39947782c-4.69973848 4.69973848-11.74934707 7.04960859-21.1488249 9.39947783-7.04960859 0-14.09921631-2.34986924-16.44908643-7.04960859-4.69973848-4.69973848-7.04960859-11.74934707-4.69973847-18.79895566 2.34986924-2.34986924 7.04960859-7.04960859 14.09921631-11.74934707zM294.63707568 450.97127901c0-4.69973848 0-9.39947783 2.34986924-14.09921632 2.34986924-4.69973848 7.04960859-7.04960859 11.74934707-7.04960859h49.34725928v-143.34203672c0-7.04960859-2.34986924-14.09921631-4.69973936-21.1488249-2.34986924-7.04960859-7.04960859-11.74934707-11.74934707-18.79895566-4.69973848-4.69973848-9.39947783-11.74934707-16.44908642-14.09921632-4.69973848-4.69973848-11.74934707-9.39947783-18.79895566-11.74934706-7.04960859-2.34986924-14.09921631-9.39947783-16.44908555-16.44908643-2.34986924-7.04960859 0-11.74934707 2.34986923-18.79895566 4.69973848-4.69973848 7.04960859-9.39947783 11.74934708-9.39947783h2.34986924c7.04960859 0 11.74934707 2.34986924 16.44908641 4.69973847 23.49869414 11.74934707 44.64751992 30.54830273 56.396867 54.04699775 16.44908643-18.79895566 35.24804209-32.89817198 58.74673623-39.94778056 30.54830273-11.74934707 63.44647559-16.44908643 96.34464756-16.44908642h164.49086162c7.04960859 0 11.74934707 2.34986924 18.79895566 7.04960859 7.04960859 9.39947783 7.04960859 21.1488249 0 30.54830273 2.34986924 4.69973848-4.69973848 7.04960859-9.39947783 7.0496086H531.97389073c-25.84856426-2.34986924-54.04699776 4.69973848-77.5456919 14.0992163 7.04960859-2.34986924 16.44908643-2.34986924 23.49869414 0l49.3472584 14.09921719c14.09921631 4.69973848 25.84856426 11.74934707 39.94778056 16.44908555 7.04960859 2.34986924 14.09921631 7.04960859 18.79895567 14.09921719 2.34986924 7.04960859 2.34986924 14.09921631 0 18.79895566-2.34986924 4.69973848-7.04960859 9.39947783-11.74934708 11.74934707-7.04960859 2.34986924-16.44908643 0-28.19843349-4.69973848-9.39947783-4.69973848-21.1488249-9.39947783-30.54830273-14.09921719-11.74934707-4.69973848-23.49869414-9.39947783-35.24804209-11.74934706V387.5248043h18.79895566c28.19843349-25.84856426 56.39686699-49.3472584 82.24543125-75.19582266 28.19843349-25.84856426 54.04699776-51.69712763 79.89556114-75.19582266 9.39947783-9.39947783 16.44908643-11.74934707 23.49869414-11.74934706 4.69973848 0 9.39947783 2.34986924 14.09921718 7.04960858 4.69973848 4.69973848 7.04960859 11.74934707 4.69973848 18.79895567-2.34986924 7.04960859-7.04960859 14.09921631-11.74934707 18.79895566l-46.99738916 44.64751905c9.39947783 4.69973848 16.44908643 11.74934707 23.49869502 16.44908643 7.04960859 7.04960859 16.44908643 11.74934707 23.49869414 18.79895566 4.69973848 4.69973848 9.39947783 11.74934707 11.74934707 18.79895566 0 7.04960859-2.34986924 11.74934707-7.04960772 16.44908643-4.69973848 4.69973848-9.39947783 7.04960859-14.09921718 7.04960772-7.04960859 0-14.09921631-2.34986924-21.1488249-11.74934708-7.04960859-7.04960859-14.09921631-14.09921631-23.49869503-21.1488249-9.39947783-7.04960859-16.44908643-11.74934707-25.84856338-18.79895567l-51.69712851 46.99738917h93.99477832c11.74934707-2.34986924 23.49869414 2.34986924 32.89817285 11.74934707 7.04960859 9.39947783 9.39947783 21.1488249 9.39947783 32.89817197v112.79373398c0 11.74934707-2.34986924 23.49869414-9.39947783 32.89817286-9.39947783 7.04960859-21.1488249 11.74934707-30.54830361 9.39947783h-176.24020869c-11.74934707 2.34986924-23.49869414-2.34986924-32.89817198-9.39947783-7.04960859-9.39947783-9.39947783-21.1488249-7.04960859-30.54830362v-267.88511689c-2.34986924-11.74934707 2.34986924-25.84856426 9.39947783-35.24804209h4.69973936c-2.34986924 0-2.34986924 2.34986924-4.69973936 2.34986924-18.79895566 9.39947783-32.89817198 28.19843349-39.94778056 49.34725839V434.52219346c0 7.04960859 0 14.09921631-2.34986924 21.1488249 0 4.69973848-2.34986924 9.39947783-4.69973936 14.09921631-2.34986924 2.34986924-7.04960859 4.69973848-11.74934706 7.04960859-4.69973848 0-9.39947783 0-14.09921632 2.34986924h-54.04699775c-7.04960859 0-11.74934707 0-18.79895566-7.04960771-9.39947783-11.74934707-9.39947783-16.44908643-9.39947784-21.14882578z m185.63968653 91.64490907v2.34986924h171.54047021s2.34986924 0 2.34986924-2.34986924v-32.89817285h-173.89033945v32.89817285z m164.49086162-110.44386474h-164.49086162v35.24804208h173.89033945v-35.24804208h-9.39947783z" horiz-adv-x="1026" />
+
+
+ <glyph glyph-name="xiadanjianshu" unicode="" d="M353.49293516 684.4297998c15.47277979 0 30.94555869 12.89398271 30.94555869 28.36676163V728.26934122h255.30085986v-15.47277979c0-15.47277979 12.89398271-28.3667625 28.36676251-28.36676163s28.3667625 12.89398271 28.36676161 28.36676163V803.05444131c0 15.47277979-12.89398271 30.94555869-28.36676161 30.94555869s-28.3667625-12.89398271-28.3667625-30.94555869v-15.47277978h-255.30085987v15.47277978c0 15.47277979-12.89398271 30.94555869-28.36676162 30.94555869-20.63037217-2.57879619-33.52435488-15.47277979-33.52435577-30.94555869v-90.25787988c0-7.73638945 2.57879619-15.47277979 7.73639034-20.63037217 7.73638945-5.15759326 15.47277979-7.73638945 23.20916836-7.73638945zM817.67631641 787.58166152v-2.57879619 2.57879619h-48.99713467c-7.73638945 0-15.47277979-2.57879619-20.63037217-10.31518564-5.15759326-5.15759326-7.73638945-12.89398271-7.73638945-20.63037305 0-15.47277979 12.89398271-28.3667625 28.36676162-28.36676162h51.57593173c28.3667625 0 51.57593086-23.20916924 51.57593086-51.57593173v-77.3638963H152.3468041V674.11461328c0 28.3667625 23.20916924 51.57593086 51.57593087 51.57593086h51.57593085c15.47277979 2.57879619 25.78796543 18.05157598 23.20916924 33.52435576-2.57879619 12.89398271-10.31518653 23.20916924-23.20916924 25.78796543h-51.57593085C142.03161758 785.00286533 93.03448291 736.00573067 93.03448291 674.11461328v-629.22636123c0-61.89111739 48.99713467-110.88825205 110.88825205-110.88825205h613.75358145c61.89111739 0 110.88825205 51.57593086 110.88825205 110.88825205V674.11461328c0 61.89111739-51.57593086 110.88825205-110.88825205 113.46704825z m51.57593174-247.56446953v-495.12893994c0-28.3667625-23.20916924-51.57593086-51.57593174-51.57593086H203.92273496c-28.3667625 0-51.57593086 23.20916924-51.57593085 51.57593086V540.01719199h716.90544404zM477.2751708 111.93696268999997c7.73638945-7.73638945 18.05157598-12.89398271 28.36676162-12.89398271 10.31518653 0 20.63037217 5.15759326 28.3667625 10.31518653l146.99140401 146.991404c5.15759326 5.15759326 7.73638945 12.89398271 7.73638945 20.63037217 0 7.73638945-2.57879619 15.47277979-10.31518653 20.63037216-10.31518653 10.31518653-28.3667625 10.31518653-38.68194813 0l-103.1518626-103.15186172v237.24928302c0 15.47277979-12.89398271 30.94555869-30.9455587 30.94555868s-30.94555869-12.89398271-30.94555869-30.94555869v-234.67048681l-103.15186259 103.1518626c-5.15759326 5.15759326-12.89398271 7.73638945-20.63037218 7.73638945-7.73638945 0-15.47277979-5.15759326-20.63037216-10.31518653-10.31518653-12.89398271-10.31518653-30.94555869 2.57879619-41.26074433l144.41260781-144.41260781z m56.73352412 2.57879619z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="leijiquguanyonghu" unicode="" d="M444.91925498 344.86956533h2.79503086c8.38509346 0 13.97515518 5.59006172 16.77018603 11.18012432 5.59006172 8.38509346 8.38509346 16.77018604 5.5900626 27.95031035-2.79503086 8.38509346-8.38509346 13.97515518-13.97515517 19.56521778-5.59006172 2.79503086-11.18012432 2.79503086-16.77018691 2.79503086H389.0186334c-11.18012432 2.79503086-25.15527949 5.59006172-36.33540381 11.18012431-8.38509346 2.79503086-16.77018604 8.38509346-25.15527949 13.97515517-2.79503086 2.79503086-5.59006172 2.79503086-5.59006172 5.59006172-5.59006172 2.79503086-8.38509346 8.38509346-11.18012432 11.18012432l-11.18012432 11.18012432-2.79503086 2.79503086c-2.79503086 2.79503086-2.79503086 2.79503086-2.79503085 5.59006259-5.59006172 8.38509346-11.18012432 16.77018604-13.97515605 25.1552795-5.59006172 11.18012432-8.38509346 25.15527949-11.18012344 36.3354038-2.79503086 13.97515518-2.79503086 25.15527949 0 39.13043467 2.79503086 11.18012432 5.59006172 25.15527949 11.18012344 36.33540381 0 5.59006172 5.59006172 13.97515518 11.18012431 22.36024775 0 2.79503086 2.79503086 5.59006172 5.59006259 5.5900626 2.79503086 5.59006172 5.59006172 8.38509346 11.18012432 13.97515518 2.79503086 2.79503086 5.59006172 5.59006172 11.18012432 8.38509345l2.79503086 2.79503086 5.59006172 5.59006172c8.38509346 5.59006172 16.77018604 11.18012432 25.15527949 13.97515518 11.18012432 5.59006172 25.15527949 8.38509346 36.3354038 11.18012432h39.13043468c5.59006172 0 11.18012432-2.79503086 16.77018691-2.79503086 16.77018604-5.59006172 33.54037295 5.59006172 39.13043466 22.36024862 2.79503086 8.38509346 2.79503086 16.77018604-2.79503086 22.36024864-2.79503086 8.38509346-11.18012432 13.97515518-19.56521776 16.77018604-16.77018604 0-33.54037295 2.79503086-53.10558985 2.79503086-39.13043467 0-78.26086933-11.18012432-111.80124229-30.74534122C257.65217422 694.24844737 229.70186299 655.1180127 212.93167695 613.19254629c-13.97515518-44.72049727-13.97515518-92.23602451 0-134.16149004 13.97515518-39.13043467 39.13043467-72.67080761 75.46583848-97.82608711 0 0-2.79503086 0-2.79503086-2.79503086-69.87577675-27.95031035-128.57142832-75.46583847-170.49689473-136.95652177-41.92546552-67.08074502-58.69565244-145.34161523-50.31055898-223.60248458 0-8.38509346 2.79503086-16.77018604 8.38509346-22.36024863 5.59006172-5.59006172 13.97515518-8.38509346 22.36024863-8.38509346 8.38509346 0 16.77018604 2.79503086 22.36024775 8.38509346 5.59006172 5.59006172 8.38509346 13.97515518 8.38509346 22.36024863-2.79503086 25.15527949-2.79503086 53.10558984 0 78.26086934 5.59006172 41.92546552 19.56521777 81.05590019 41.92546553 114.59627315 5.59006172 5.59006172 8.38509346 13.97515518 13.97515605 19.56521777l-2.79503173-2.79503174 2.79503173 2.79503174s0 2.79503086 2.79503086 2.79503086l2.79503086 2.79503086 8.38509346 8.38509346L229.70186299 277.78882031c0-2.79503086 2.79503086 0 5.59006259 0s2.79503086 2.79503086 5.59006172 2.79503086c5.59006172 5.59006172 11.18012432 8.38509346 19.56521778 13.97515518 11.18012432 8.38509346 25.15527949 13.97515518 39.13043466 19.5652169 22.36024864 8.38509346 47.51552813 16.77018604 72.67080763 19.56521777 11.18012432 2.79503086 61.4906833 8.38509346 72.67080761 11.18012431zM956.40993828 252.63353994c13.97515518-11.18012432 30.74534122-8.38509346 41.92546553 2.79503174 11.18012432 13.97515518 8.38509346 33.54037295-2.79503086 41.92546553-33.54037295 27.95031035-69.87577675 47.51552813-109.00621143 64.28571416 16.77018604 11.18012432 33.54037295 22.36024864 47.51552813 36.33540381 47.51552813 47.51552813 75.46583847 111.80124229 75.46583847 178.8819873 0 67.08074502-25.15527949 131.36646006-75.46583847 178.88198819-97.82608711 97.82608711-259.93788838 97.82608711-357.76397549-1e-8-47.51552813-47.51552813-75.46583847-111.80124229-75.46583848-178.88198818 0-67.08074502 25.15527949-131.36646006 75.46583848-178.8819873 13.97515518-13.97515518 30.74534122-25.15527949 47.51552813-36.33540381-5.59006172-2.79503086-11.18012432-5.59006172-19.56521778-8.38509258-47.51552813-19.56521777-86.64596279-50.31055898-122.98136573-86.6459628-36.33540381-36.33540381-64.28571416-78.26086933-81.05590107-125.77639745-19.56521777-50.31055898-30.74534122-100.62111797-30.7453412-156.52173956v-22.36024863c0-16.77018604 13.97515518-27.95031035 30.7453412-27.95031035h2.79503086c16.77018604 0 30.74534122 16.77018604 27.95031123 33.54037295v19.56521689c0 44.72049727 8.38509346 89.44099365 25.1552795 131.36646006 16.77018604 39.13043467 39.13043467 75.46583847 69.87577588 109.00621055 58.69565244 61.4906833 142.54658349 97.82608711 229.19254628 97.82608711 36.33540381 0 72.67080761-5.59006172 109.00621143-19.5652169 33.54037295-11.18012432 64.28571416-27.95031035 92.23602539-53.10559072z m-206.83229854 136.95652178c-50.31055898 2.79503086-95.03105625 22.36024864-128.57142831 55.90062158-36.33540381 36.33540381-55.9006207 83.85093193-55.90062159 136.95652178 0 50.31055898 19.56521777 100.62111797 55.90062159 136.95652177 36.33540381 36.33540381 83.85093193 55.9006207 136.95652177 55.90062071 106.21117969 0 192.85714248-86.64596279 192.85714248-192.85714248 0-50.31055898-19.56521777-100.62111797-55.9006207-136.95652178-36.33540381-36.33540381-83.85093193-55.9006207-134.16149092-55.90062158h-11.18012432z m248.75776407-131.36645918zM1180.01242197 73.75155262999999c0 19.56521777-13.97515518 33.54037295-33.54037207 33.54037296h-268.32298183c-19.56521777 0-33.54037295-13.97515518-33.54037208-33.54037296v-2.79503085c0-11.18012432 8.38509346-22.36024864 19.5652169-27.95031035 5.59006172-2.79503086 8.38509346-2.79503086 13.97515518-2.79503174h268.32298183c5.59006172 0 8.38509346 0 13.97515518 2.79503174 11.18012432 5.59006172 16.77018604 13.97515518 19.56521689 27.95031035v2.79503085z" horiz-adv-x="1276" />
+
+
+ <glyph glyph-name="leijiyonghu" unicode="" d="M1055.68384502 249.59984648c-26.60794981 35.47726612-56.17233809 65.0416544-91.6496042 88.69316573-26.60794981 17.73863349-56.17233809 35.47726612-88.69316572 44.34658242 26.60794981 17.73863349 47.30302178 41.39014394 65.0416544 70.95453222 23.65151045 41.39014394 35.47726612 88.69316573 32.52082763 135.99618663-2.95643848 50.25946026-20.69507197 94.60604268-53.21589961 133.03974814-62.08521592 73.9109707-165.5605749 100.51892051-254.25374062 67.99809375-44.34658242-17.73863349-85.73672636-47.30302178-112.34467618-85.73672636A209.9071582 209.9071582 0 0 1 508.7426583 574.8081193400001c0-11.82575567 0-26.60794981 2.95643848-38.4337046 8.86931631-59.12877656 44.34658242-115.30111465 94.60604355-150.77838164h-2.95643936c-79.82384854-29.56438828-147.82194229-85.73672636-192.1685247-156.69125859C363.87715537 152.03736445000004 343.1820834 63.34419961000003 355.00783818-25.34896612c0-8.86931631 2.95643848-17.73863349 11.82575567-26.6079498 14.78219414-14.78219414 35.47726612-14.78219414 50.25946026 0 5.91287783 5.91287783 11.82575567 14.78219414 11.82575566 26.6079498-2.95643848 29.56438828-2.95643848 59.12877656 0 88.69316573 5.91287783 47.30302178 23.65151045 91.6496042 47.3030209 130.08330879 5.91287783 8.86931631 8.86931631 14.78219414 14.78219501 20.69507197l-2.95643935-2.95643847 2.95643935 2.95643847 2.95643848 2.95643936 2.95643847 2.95643847 8.86931719 8.86931631c11.82575567 11.82575567 23.65151045 26.60794981 38.4337046 35.47726611l8.86931631 8.86931719c2.95643848 0 2.95643848 2.95643848 5.91287783 2.95643848 5.91287783 5.91287783 14.78219414 8.86931631 20.69507197 14.78219414 38.43370459 23.65151045 79.82384854 38.43370459 124.17043184 44.34658243 29.56438828 2.95643848 56.17233809 2.95643848 85.73672636 0 47.30302178-5.91287783 91.6496042-23.65151045 130.08330879-47.30302091 8.86931631-5.91287783 14.78219414-8.86931631 20.69507197-14.78219414l-2.95643847 2.95643848 2.95643847-2.95643848 2.95643936-2.95643935 2.95643847-2.95643848 8.86931631-8.86931719c11.82575567-11.82575567 26.60794981-23.65151045 35.47726611-38.43370459l8.86931719-8.8693163c0-2.95643848 2.95643848-2.95643848 2.95643848-5.91287784 5.91287783-5.91287783 8.86931631-14.78219414 14.78219414-20.69507197 23.65151045-38.43370459 38.43370459-79.82384854 44.34658243-124.17043183 2.95643848-29.56438828 2.95643848-59.12877656 0-88.69316485 0-8.86931631 2.95643848-17.73863349 11.82575565-26.60794981 14.78219414-14.78219414 35.47726612-14.78219414 50.25946026 0 5.91287783 5.91287783 8.86931631 14.78219414 11.82575567 26.60794981 2.95643848 14.78219414 2.95643848 26.60794981 2.95643847 41.39014394-5.91287783 85.73672636-32.52082763 168.51701425-82.78028701 236.51510713z m-186.25564775 224.68935235c-5.91287783-5.91287783-8.86931631-11.82575567-14.78219415-14.78219414l-11.82575566-11.82575567s-2.95643848 0-2.95643848-2.95643847l-2.95643848-2.95643936c-2.95643848-2.95643848-5.91287783-2.95643848-5.91287782-5.91287695-8.86931631-5.91287783-17.73863349-11.82575567-26.60794981-14.78219502-11.82575567-5.91287783-26.60794981-8.86931631-41.39014394-11.82575479-14.78219414-2.95643848-29.56438828-2.95643848-44.34658242 0s-26.60794981 5.91287783-41.39014395 11.82575479c-8.86931631 2.95643848-17.73863349 8.86931631-26.6079498 14.78219502-2.95643848 2.95643848-5.91287783 2.95643848-8.86931631 5.91287695-5.91287783 2.95643848-8.86931631 8.86931631-14.78219414 11.82575566l-11.82575567 11.82575567-2.95643847 2.95643847-2.95643936 2.95643936v2.95643848c-2.95643848 2.95643848-2.95643848 5.91287783-5.91287783 5.91287783-5.91287783 8.86931631-11.82575567 17.73863349-14.78219414 26.6079498-5.91287783 11.82575567-8.86931631 26.60794981-11.82575479 41.39014307-2.95643848 14.78219414-2.95643848 29.56438828 0 44.3465833s5.91287783 26.60794981 11.82575479 41.39014395c8.86931631 11.82575567 14.78219414 20.69507197 20.69507197 29.56438828 2.95643848 2.95643848 2.95643848 5.91287783 5.91287783 8.8693163 5.91287783 5.91287783 8.86931631 11.82575567 11.82575567 14.78219414l11.82575566 11.82575567 2.95643848 2.95643847 2.95643847 2.95643937c2.95643848 2.95643848 5.91287783 2.95643848 5.91287784 5.91287782 8.86931631 5.91287783 17.73863349 11.82575567 26.6079498 14.78219414 11.82575567 5.91287783 26.60794981 8.86931631 41.39014395 11.82575479 14.78219414 2.95643848 29.56438828 2.95643848 44.34658242 0s26.60794981-5.91287783 41.39014394-11.82575479c8.86931631-2.95643848 17.73863349-8.86931631 26.60794981-14.78219414 2.95643848-2.95643848 5.91287783-2.95643848 8.8693163-5.91287782 5.91287783-2.95643848 8.86931631-8.86931631 14.78219414-11.82575567 5.91287783-8.86931631 8.86931631-14.78219414 11.82575566-17.7386335 0 0 0-2.95643848 2.95643849-2.95643848l2.95643935-2.95643847c2.95643848-2.95643848 2.95643848-5.91287783 5.91287695-5.91287783 14.78219414-20.69507197 23.65151045-44.34658242 26.60794981-67.99809375 2.95643848-14.78219414 2.95643848-29.56438828 0-44.34658243s-5.91287783-26.60794981-11.82575479-41.39014394c-2.95643848-8.86931631-8.86931631-17.73863349-14.78219502-26.60794981-5.91287783-2.95643848-5.91287783-5.91287783-8.8693163-8.8693163zM993.5986291 211.16614189999996c0 2.95643848 0 2.95643848 0 0zM328.39988925 500.89714864l2.95643848-2.95643936c0 2.95643848-2.95643848 2.95643848-2.95643847 2.95643936zM496.91690263 370.81383896h2.95643936c8.86931631 2.95643848 17.73863349 8.86931631 20.69507197 17.7386335 8.86931631 17.73863349 2.95643848 38.43370459-11.82575566 50.25946025-8.86931631 5.91287783-17.73863349 5.91287783-26.60794981 2.95643848H479.17827002c-14.78219414-2.95643848-29.56438828-2.95643848-44.34658242 0s-26.60794981 5.91287783-41.39014395 11.82575566c-8.86931631 2.95643848-17.73863349 8.86931631-26.6079498 14.78219414-2.95643848 2.95643848-5.91287783 2.95643848-8.86931631 5.91287784-5.91287783 2.95643848-8.86931631 8.86931631-14.78219414 11.82575567l-11.82575567 11.82575478-2.95643847 2.95643936-2.95643936 2.95643847c-2.95643848 2.95643848-2.95643848 5.91287783-5.91287782 5.91287783-5.91287783 8.86931631-11.82575567 17.73863349-14.78219415 26.6079498-2.95643848 14.78219414-5.91287783 26.60794981-8.86931631 41.39014395-2.95643848 14.78219414-2.95643848 29.56438828 0 44.34658243s5.91287783 26.60794981 11.82575567 41.39014394c2.95643848 8.86931631 8.86931631 17.73863349 14.78219414 26.60794981 2.95643848 2.95643848 2.95643848 5.91287783 5.91287783 8.8693163l14.78219414 14.78219414 11.82575478 11.82575567 2.95643936 2.95643847 2.95643848 2.95643848c2.95643848 2.95643848 5.91287783 2.95643848 5.91287783 5.91287783 20.69507197 14.78219414 44.34658242 23.65151045 67.99809375 26.60794981 14.78219414 2.95643848 29.56438828 2.95643848 44.34658242 0 5.91287783 0 14.78219414-2.95643848 20.69507198-2.95643848 17.73863349-5.91287783 38.43370459 5.91287783 44.34658242 23.65151045S538.30704658 823.14898213 520.56841396 829.06185996C452.57032021 840.88761563 387.52866582 832.01829932 331.35632773 796.5410332c-44.34658242-29.56438828-76.86741006-70.95453223-94.60604267-121.21399336-17.73863349-50.25946026-17.73863349-103.47535987 0-153.73481924 17.73863349-44.34658242 44.34658242-82.78028789 82.78028701-112.34467617-2.95643848 0-2.95643848 0-5.91287783-2.95643935-79.82384854-29.56438828-144.86550381-85.73672636-192.16852471-156.6912586C74.14614864 172.73243643 53.45107666 84.03927157999999 65.27683144-4.653894140000034c0-8.86931631 2.95643848-17.73863349 11.82575567-26.60794981 14.78219414-14.78219414 35.47726612-14.78219414 50.25946026 1e-8 5.91287783 5.91287783 11.82575567 14.78219414 11.82575565 26.6079498-2.95643848 29.56438828-2.95643848 59.12877656 0 88.69316572 5.91287783 47.30302178 23.65151045 91.6496042 47.30302091 130.08330879 5.91287783 8.86931631 8.86931631 14.78219414 14.78219502 20.69507197l-2.95643936-2.95643848 2.95643936 2.95643848 2.95643847 2.95643936 2.95643848 2.95643848 8.86931719 8.8693163c11.82575567 11.82575567 23.65151045 26.60794981 38.43370459 35.47726612l8.8693163 8.86931631 2.95643936 5.91287783c5.91287783 5.91287783 14.78219414 8.86931631 20.69507197 14.78219414 38.43370459 23.65151045 79.82384854 38.43370459 124.17043096 44.3465833 14.78219414 2.95643848 73.9109707 11.82575567 85.73672636 11.82575478z" horiz-adv-x="1230" />
+
+
+ <glyph glyph-name="xinzengquguanyonghu" unicode="" d="M725.0841125 256.42990693c11.21495362 14.0186918 8.41121455 33.64485996-2.80373906 42.05607451-33.64485996 28.03738359-70.0934581 47.66355175-109.34579443 64.48598086 16.82242998 11.21495362 33.64485996 22.42990635 47.66355175 36.44859815 47.66355175 47.66355175 75.70093447 112.14953262 75.70093447 179.43925254 0 67.28971991-25.23364453 131.77570078-75.70093447 179.43925254C562.46728994 856.42990635 399.85046738 856.42990635 301.71962656 758.29906553c-47.66355175-47.66355175-75.70093447-112.14953262-75.70093534-179.43925254 0-67.28971991 25.23364453-131.77570078 75.70093534-179.43925254 14.0186918-14.0186918 30.84112177-25.23364453 47.66355088-36.44859814-5.60747636-2.80373818-11.21495362-5.60747636-19.62616816-8.41121456-47.66355175-19.62616816-86.91588809-50.46728994-123.36448623-86.91588808-36.44859815-36.44859815-64.48598174-78.50467266-81.30841084-126.16822441C102.65420586 91.00934618999997 91.43925223 40.54205624999997 91.43925223-15.53271006v-22.42990635c0-16.82242998 14.0186918-28.03738359 30.84112179-28.03738359h2.80373819c16.82242998 0 30.84112177 16.82242998 28.03738271 33.64485997v19.62616816c0 44.8598127 8.41121455 89.71962627 25.23364541 131.77570078 16.82242998 39.25233633 39.25233633 75.70093447 70.09345811 109.34579443 58.8785045 61.68224268 142.9906544 98.13084082 229.90654159 98.13084082 36.44859815 0 72.89719628-5.60747636 109.34579444-19.62616817 33.64485996-14.0186918 64.48598174-30.84112177 92.52336446-53.27102812 14.0186918-11.21495362 33.64485996-11.21495362 44.85981357 2.80373906z m-252.33644883 131.77570078C369.0093456 391.0093459 287.70093477 477.92523398 287.70093477 581.66355117c0 50.46728994 19.62616816 100.93457901 56.0747663 137.38317804 36.44859815 36.44859815 84.1121499 56.07476631 137.38317715 56.0747663 106.54205625 0 193.45794434-86.91588809 193.45794434-193.45794434 0-50.46728994-19.62616816-100.93457901-56.07476631-137.38317714-36.44859815-36.44859815-84.1121499-56.07476631-134.57943984-56.07476632h-11.21495274z m249.53270977-131.77570078zM929.75700957 62.97196259999998c0 2.80373818 2.80373818 5.60747636 2.80373818 8.41121454v2.80373907c0 16.82242998-14.0186918 30.84112177-33.64485996 30.8411209h-269.15887881c-19.62616816 0-33.64485996-14.0186918-33.64485908-33.64485997 0-14.0186918 8.41121455-25.23364453 19.62616817-30.84112089 2.80373818-2.80373818 8.41121455-2.80373818 14.01869091-2.80373818h269.15887881c5.60747636 0 11.21495362 2.80373818 16.82242998 5.60747636 8.41121455 2.80373818 14.0186918 11.21495362 14.0186918 19.62616817z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="shangpinfangkeshu" unicode="" d="M905.90097148 577.4854374c0 19.08643271-13.63316573 32.71959844-32.71959843 32.71959844h-106.33869492c-8.17989961 128.15176113-117.24522803 229.03718906-245.39698828 223.58392295h-19.08643272c-128.15176113 2.72663349-234.49045605-95.4321627-245.39698916-220.85729033h-109.06532754c-16.35979922 0-29.99296494-13.63316573-32.71959931-32.71959844L96.09090928 45.79196191999995v-2.7266335c5.45326612-59.98593076 57.25929727-109.06532842 119.97186064-109.06532842h597.13267324c62.71256338 0 114.51859453 49.07939766 114.51859453 111.79196192v2.72663261l-21.81306621 528.96684287z m-92.70552832-578.04624053H216.06276992c-29.99296494 0-51.80603115 21.81306533-54.53266377 51.80603115l19.08643272 498.97387706h73.61909649v-100.88542881c0-19.08643271 16.35979922-32.71959844 32.71959843-29.99296494 19.08643271 0 32.71959844 16.35979922 29.99296494 32.71959844V596.5718692400001c2.72663349 98.15879531 84.52562959 174.50452529 182.6844249 174.50452529h19.08643272c98.15879531 2.72663349 179.95779141-76.34572998 182.6844249-174.50452529V449.33367627c0-16.35979922 16.35979922-29.99296494 32.71959844-27.26633233 16.35979922 0 32.71959844 13.63316573 32.71959844 32.71959844v92.7055292h76.34572997l21.81306534-498.97387705c-2.72663349-29.99296494-24.53969883-49.07939766-51.80603028-49.07939766zM417.83362754 547.49247158h193.59095801c16.35979922 0 32.71959844 13.63316573 32.71959843 32.71959844v2.7266335c0 16.35979922-16.35979922 29.99296494-32.71959843 27.26633232h-193.59095802-2.72663349c-19.08643271 0-32.71959844-16.35979922-29.99296493-32.71959844 0-16.35979922 13.63316573-29.99296494 32.71959843-29.99296582zM630.51101826 195.75678838c43.62613154 62.71256338 29.99296494 147.23819297-27.26633232 196.31759063-62.71256338 51.80603115-155.41809258 40.89949805-207.22412373-21.81306534-51.80603115-62.71256338-40.89949805-155.41809258 21.81306533-207.22412461 51.80603115-40.89949805 122.69849414-43.62613154 177.23115879-8.17989961l59.98593076-59.98592987c5.45326612-5.45326612 10.9065331-8.17989961 19.08643184-8.17989961 8.17989961 0 13.63316573 2.72663349 19.08643271 8.17989961 10.9065331 10.9065331 10.9065331 27.26633232 0 38.17286454l-62.71256338 62.71256426z m-119.97186152-8.17990049c-51.80603115 0-92.70552921 40.89949805-92.7055292 92.7055292s40.89949805 92.70552921 92.7055292 92.7055292 92.70552921-40.89949805 92.7055292-92.7055292-40.89949805-92.70552921-92.7055292-92.7055292z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="xinzengyonghushu" unicode="" d="M932.65217422 138.03726679h-111.80124229V247.04347823c0 8.38509346-5.59006172 16.77018604-11.18012432 19.56521776s-13.97515518 8.38509346-22.36024863 8.38509258c-13.97515518 0-27.95031035-13.97515518-27.95031035-27.95031035v-109.00621141H650.35403721c-16.77018604-2.79503086-30.74534122-16.77018604-27.95031036-33.54037209 0-13.97515518 13.97515518-27.95031035 27.95031036-27.95031123h109.00621142V-32.459627049999995c-2.79503086-16.77018604 11.18012432-30.74534122 27.95031035-33.54037295h2.79503085c16.77018604 0 27.95031035 11.18012432 30.7453421 27.95031036v114.59627313H929.85714247c8.38509346 0 16.77018604 5.59006172 19.56521779 11.18012432s8.38509346 13.97515518 8.38509345 22.36024864c0 13.97515518-11.18012432 25.15527949-25.15527949 27.95031034zM672.71428583 247.04347823c8.38509346 0 16.77018604 5.59006172 19.5652169 11.1801243 11.18012432 13.97515518 8.38509346 33.54037295-2.79503086 41.92546554-33.54037295 27.95031035-69.87577675 47.51552813-109.00621142 64.28571416 16.77018604 11.18012432 33.54037295 22.36024864 47.51552812 36.33540381 97.82608711 97.82608711 97.82608711 259.93788838 0 357.76397549C580.47826045 806.04968964 516.19254629 834 449.11180127 834c-67.08074502 0-131.36646006-27.95031035-178.88198731-75.46583847s-75.46583847-111.80124229-75.46583847-178.88198731 25.15527949-131.36646006 75.46583847-178.88198818c13.97515518-13.97515518 30.74534122-25.15527949 47.51552726-36.33540381-5.59006172-2.79503086-11.18012432-5.59006172-19.5652169-8.38509258-47.51552813-19.56521777-86.64596279-50.31055898-122.98136661-86.6459628-36.33540381-36.33540381-64.28571415-78.26086933-81.0559002-125.77639745C74.57763974 93.31677041 63.39751543 43.00621143000001 63.39751543-12.894410170000015v-22.36024862c0-16.77018604 13.97515518-27.95031035 30.7453421-27.95031035h2.79503085c16.77018604 0 30.74534122 16.77018604 27.95031035 33.54037295v19.56521689c0 44.72049727 8.38509346 89.44099365 25.1552795 131.36646006 16.77018604 39.13043467 39.13043467 75.46583847 69.87577675 109.00621143 58.69565244 61.4906833 142.54658349 97.82608711 229.19254629 97.82608711 36.33540381 0 72.67080761-5.59006172 109.00621142-19.56521777 33.54037295-13.97515518 64.28571415-30.74534122 92.23602452-53.10558985 5.59006172-5.59006172 13.97515518-8.38509346 22.36024864-8.38509345zM641.96894375 579.65217422c0-50.31055898-19.56521777-100.62111797-55.9006207-136.95652178-36.33540381-36.33540381-83.85093193-55.9006207-134.16149092-55.90062158h-8.38509258C340.10558983 389.59006172 259.04968964 476.23602451 259.04968964 579.65217422c0 50.31055898 19.56521777 100.62111797 55.90062071 136.95652177 36.33540381 36.33540381 83.85093193 55.9006207 136.95652178 55.90062071 50.31055898 0 100.62111797-19.56521777 136.95652178-55.90062071 33.54037295-36.33540381 53.10558985-83.85093193 53.10558984-136.95652177z m50.31055898-321.42857168z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="xinzengguanzhuyonghu" unicode="" d="M715.77601191 265.28834326000003c11.04294463 13.80368057 8.28220869 33.12883477-2.76073594 41.41104346-33.12883477 27.60736201-69.01840459 46.93251533-107.66871123 63.49693271 16.56441738 11.04294463 33.12883477 22.08588926 46.93251533 35.88956983 46.93251533 46.93251533 74.53987734 110.42944805 74.53987735 176.6871167 0 66.25766865-24.84662607 129.75460137-74.53987735 176.6871167C555.6533126 856.08588925 395.53061328 856.08588925 298.90484668 759.46012266c-46.93251533-46.93251533-74.53987734-110.42944805-74.53987735-176.6871167 0-66.25766865 24.84662607-129.75460137 74.53987735-176.68711671 13.80368057-13.80368057 30.36809795-24.84662607 46.93251533-35.88956982-5.52147276-2.76073594-11.04294463-5.52147276-19.32515332-8.28220868-46.93251533-19.32515332-85.58282198-49.69325127-121.47239267-85.58282198-35.8895707-35.8895707-63.49693271-77.30061328-80.0613501-124.2331295C102.89257666 102.40490800999999 91.84963203 52.71165673999997 91.84963203-2.50306728999999v-22.08589013c0-16.56441738 13.80368057-27.60736201 30.36809795-27.60736201h2.76073594c16.56441738 0 30.36809795 16.56441738 27.60736201 33.12883476v19.32515332c0 44.1717794 8.28220869 88.34355791 24.84662608 129.75460137 16.56441738 38.65030663 38.65030663 74.53987734 69.01840458 107.66871123 57.97545997 60.73619589 140.79754599 96.6257666 226.38036797 96.62576748 35.8895707 0 71.77914141-5.52147276 107.66871211-19.32515332 33.12883477-13.80368057 63.49693271-30.36809795 91.10429473-52.45398809 13.80368057-11.04294463 33.12883477-11.04294463 44.17177853 2.76073594z m-248.46625722 129.75460137C365.16251533 397.80368057 285.10116523 483.38650342 285.10116523 585.5337419c0 49.69325127 19.32515332 99.38650342 55.21472402 135.27607412 35.8895707 35.8895707 82.82208604 55.21472402 135.27607413 55.21472401 104.90797529 0 190.49079727-85.58282198 190.49079727-190.49079813 0-49.69325127-19.32515332-99.38650342-55.21472403-135.27607325-35.8895707-35.8895707-82.82208604-55.21472402-132.5153373-55.21472402h-11.04294463z m245.70552129-129.75460137zM870.37723935 215.59509200000002c-30.36809795 13.80368057-66.25766865 11.04294463-93.86503066-5.52147276-27.60736201 16.56441738-63.49693271 19.32515332-96.6257666 5.52147276-46.93251533-22.08588926-69.01840459-74.53987734-55.21472402-124.23312862 16.56441738-82.82208604 138.03681006-154.60122656 138.03680917-154.60122744 2.76073594-2.76073594 8.28220869-2.76073594 13.80368145-2.76073594s8.28220869 0 13.80368057 2.76073594c13.80368057 8.28220869 124.23312862 77.30061328 138.03681006 154.60122744 13.80368057 49.69325127-11.04294463 102.14723935-57.97545997 124.23312862z m-77.30061328-57.97545997c16.56441738 13.80368057 38.65030663 16.56441738 57.97545997 11.04294463 24.84662607-11.04294463 35.8895707-38.65030663 27.60736201-66.25766865-8.28220869-38.65030663-57.97545997-82.82208604-102.14723936-113.19018398-44.1717794 30.36809795-93.86503066 74.53987734-102.14723935 113.19018398-8.28220869 24.84662607 5.52147276 52.45398809 27.60736201 66.25766865 5.52147276 2.76073594 11.04294463 2.76073594 16.56441738 2.76073594 13.80368057 0 30.36809795-5.52147276 41.41104258-16.56441651 8.28220869-2.76073594 22.08588926-2.76073594 33.12883476 2.76073594z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="zhifujine" unicode="" d="M508.96673984 417.74866231a31.31075391 31.31075391 0 0 0-22.40038037 9.30860243l-137.66278359 142.31708438a30.912525 30.912525 0 0 0 44.65142578 42.78472646l113.02236385-116.73087187 92.09045304 114.88906319a31.08675058 31.08675058 0 1 0 48.35993291-39.07621934l-114.49083339-142.31708438a31.33564365 31.33564365 0 0 0-22.79861016-11.62330839c0.17422558 0.44800752-0.29867168 0.44800752-0.77156807 0.44800751z m171.7362501-16.75050645h-338.2457458a31.16141807 31.16141807 0 1 0 0 62.22327891h338.14618857a31.16141807 31.16141807 0 0 0 0-62.22327891z m39.99712412-114.49083428H303.85392207a31.80854003 31.80854003 0 1 0 0 62.22327891h416.74663476a35.26815498 35.26815498 0 0 0 38.13042569-31.16141807 34.67081162 34.67081162 0 0 0-38.13042569-30.98719248z m-380.80646894 26.03422002z m169.24731943-212.55472178a31.16141807 31.16141807 0 0 0-31.16141806 31.16141807v300.91177881a31.16141807 31.16141807 0 1 0 62.2232789 0v-300.91177881a31.78365117 31.78365117 0 0 0-31.23608555-31.08675058zM512.22723945-66a449.99875547 449.99875547 0 1 0 233.01373623 834.86218271A30.14095605 30.14095605 0 0 0 714.10444647 717.26663906a389.34350333 389.34350333 0 1 1 119.9913715-113.49526113 30.11606719 30.11606719 0 0 0 49.77862383 33.94902129 445.69290498 445.69290498 0 0 0 78.60044619-254.41854434 450.99432773 450.99432773 0 0 0-450.24764854-449.30185488z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="yingyee" unicode="" d="M927.39954219 418.61321865a31.07439492 31.07439492 0 0 1-4.05203818-0.84198164 32.33736826 32.33736826 0 0 1-4.05203731 0.84198164H546.61321865V795.05807315c0 0.76304619-0.36836719 1.42084425-0.44730263 2.18389042a21.41791523 21.41791523 0 0 1 0.44730263 2.15757862A34.62650683 34.62650683 0 0 1 511.93408818 833.99973721a449.93408818 449.93408818 0 1 1 449.93408906-449.93408906 34.62650683 34.62650683 0 0 1-34.46863505 34.5475705zM511.93408818 3.2267009800000324A380.68107539 380.68107539 0 0 0 477.38651767 762.95751211v-378.89186396a34.62650683 34.62650683 0 0 1 34.62650684-34.62650596h378.89186396A381.12837891 381.12837891 0 0 0 511.93408818 3.2267009800000324zM634.96869628 744.5391580099999a384.41737002 384.41737002 0 0 0 234.54458878-229.1506418 34.62650683 34.62650683 0 1 1 64.96416738 23.83861289A448.09225313 448.09225313 0 0 1 657.30752949 810.02956435a34.60019414 34.60019414 0 1 1-22.36514502-65.49040636z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="zhifujianshu" unicode="" d="M164.55884258 504.56765625a26.38828037 26.38828037 0 0 1 31.00622871 21.11062412 314.75940469 314.75940469 0 0 0 623.79255322-59.76945439 347.63920224 347.63920224 0 0 0-5.83181016-61.11525674 26.59938662 26.59938662 0 0 1 20.66202334-31.00622959 20.13425771 20.13425771 0 0 1 5.27765625-0.44860078 26.38828037 26.38828037 0 0 1 26.07162012 21.11062412 381.5481419 381.5481419 0 0 1 7.1776125 71.45946299 366.79709355 366.79709355 0 0 1-224.30038096 338.40330381A355.63485058 355.63485058 0 0 1 505.68013849 833.99894443 368.24844902 368.24844902 0 0 1 144.34542002 535.12528418a25.30636084 25.30636084 0 0 1 20.21342256-30.55762793zM596.85164667 506.30928193a25.57024365 25.57024365 0 0 1 1e-8 51.14048731h-46.44337324l62.64577705 62.22356455a25.30636084 25.30636084 0 0 1-35.78250762 35.78250762l-67.05262002-66.92067862-65.62765196 66.47207784a25.30636084 25.30636084 0 0 1-35.78250849-35.78250762l62.22356455-62.64577705h-45.07118262a25.57024365 25.57024365 0 1 1 0-51.14048643h60.08611377v-19.60649209h-60.08611377a25.57024365 25.57024365 0 0 1 0-51.14048731h60.08611377v-53.7001497a25.57024365 25.57024365 0 1 1 51.14048731 0v54.9667872h60.11250205a25.57024365 25.57024365 0 0 1 0 51.14048643h-60.11250205v19.60649209l59.66390126-0.4222125zM921.87609277 201.20798818000003a71.80250977 71.80250977 0 0 1-88.6382332 35.78250762l-175.13901475-62.22356455a48.26416464 48.26416464 0 0 0-15.33159052-2.63882812h-217.65053497a25.57024365 25.57024365 0 1 1 0-51.14048643h218.17830058a100.72406513 100.72406513 0 0 1 31.95620685 5.54153907l175.13901475 62.22356366a21.11062412 21.11062412 0 0 0 26.38828036-11.08307724 20.50369365 20.50369365 0 0 0 0.844425-16.62461631 21.11062412 21.11062412 0 0 0-11.08307812-12.34971562l-317.00240859-146.92994297a95.39363232 95.39363232 0 0 0-55.41538799-7.25677735l-190.89281777 43.46149746v188.78175616h262.06200878a25.57024365 25.57024365 0 1 1 0 51.14048642h-262.0356205a63.88602627 63.88602627 0 0 1-63.49020206 61.77496377H157.51317148A63.33187237 63.33187237 0 0 1 94.02296943 276.1770917V-2.5095342700000174a63.33187237 63.33187237 0 0 1 63.49020205-63.49020206h82.25226915a63.78047315 63.78047315 0 0 1 63.06798955 53.70015059l180.6805538-40.47962168h0.844425a138.6968001 138.6968001 0 0 1 26.38827949-2.63882813 140.67592119 140.67592119 0 0 1 60.08611377 13.64274053l317.02879689 147.00910869a72.51499337 72.51499337 0 0 1 37.9199584 41.32404669 65.97070049 65.97070049 0 0 1-3.90546475 54.65012782zM253.38179287-3.776171780000027a14.01217646 14.01217646 0 0 0-13.64274053-13.64274052H157.51317148a14.01217646 14.01217646 0 0 0-13.64274053 13.64274053V274.9104542a14.01217646 14.01217646 0 0 0 13.64274053 13.64274053h82.25226915a14.01217646 14.01217646 0 0 0 13.64274052-13.64274053z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="zhichujine" unicode="" d="M510.28320166-65.92523673000005a449.30283135 449.30283135 0 0 0 0 898.60566358 33.2696918 33.2696918 0 0 0 2.49211142-66.46462119h-2.49211142a382.19026201 382.19026201 0 1 1 382.19026113-382.19026113 33.04540195 33.04540195 0 0 0 34.54066934 31.94887237 32.39745293 32.39745293 0 0 0 31.94887324-31.94887237 449.50220068 449.50220068 0 0 0-448.67980371-449.95078124zM644.4834207 415.9744169H374.78708457a33.2696918 33.2696918 0 0 0-2.4921123 66.46462119H644.55818398a33.04540195 33.04540195 0 0 0 31.94887324-34.51574796 31.64981924 31.64981924 0 0 0-32.02363652-31.94887323z m0-130.38728819H374.78708457a33.04540195 33.04540195 0 0 0-31.94887324 34.51574883 32.39745293 32.39745293 0 0 0 31.94887325 31.94887236h269.72125751a33.04540195 33.04540195 0 0 0 31.94887236-34.51574795 32.39745293 32.39745293 0 0 0-31.97379375-31.94887324zM510.28320166 150.09101162000002a33.84287753 33.84287753 0 0 0-33.24477129 33.24477129V454.30309658a33.04540195 33.04540195 0 0 0 34.51574794 31.94887236 32.39745293 32.39745293 0 0 0 31.94887325-31.94887236v-269.72125752a34.11701015 34.11701015 0 0 0-33.2198499-34.49082744zM510.28320166 437.63086817a34.88956523 34.88956523 0 0 0-24.29809014 10.21765868L374.78708457 559.04655381a33.51890303 33.51890303 0 1 0 44.85801181 49.84223554l2.49211143-2.49211142 111.19802784-111.19802783a33.96748359 33.96748359 0 0 0 0-47.35012325 34.36622138 34.36622138 0 0 0-23.05203399-10.21765869zM510.25828028 437.78039472a34.88956523 34.88956523 0 0 0-24.27316875 10.2176587 33.96748359 33.96748359 0 0 0 0 47.35012324l111.19802782 111.19802783a33.94256221 33.94256221 0 0 0 47.35012325-2.49211142 33.31953457 33.31953457 0 0 0 0-44.8580127l-111.19802695-111.19802695a34.36622138 34.36622138 0 0 0-23.07695537-10.21765869z m414.13913437 216.01624923a33.84287753 33.84287753 0 0 1 33.24477129 33.2447704 34.88956523 34.88956523 0 0 1-10.21765782 24.29809015L836.22650029 822.53753232a33.46906114 33.46906114 0 1 1-48.571258-46.02930469l1.27097666-1.27097753 111.19802695-111.19802695a37.38167666 37.38167666 0 0 1 24.29809014-10.31734249zM814.49528575 542.44908955a34.88956523 34.88956523 0 0 1 24.29809013 10.21765868l111.19802695 111.19802696a33.94256221 33.94256221 0 0 1-2.49211142 47.35012413 33.31953457 33.31953457 0 0 1-44.85801182 0l-111.19802784-111.19802784a33.96748359 33.96748359 0 0 1 0-47.35012325 29.90534151 29.90534151 0 0 1 23.052034-10.21765868zM919.31350713 653.74680117a33.2696918 33.2696918 0 1 1 2.49211142 66.4646212h-227.52980508a33.04540195 33.04540195 0 0 1-31.94887235-34.51574796A32.39745293 32.39745293 0 0 1 694.27581348 653.74680117z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="fangwenliang" unicode="" d="M954.72237237 392.49056572C862.53908398 637.50404326 590.84097031 761.22371924 345.82749365 671.46630703 217.25606445 622.94878711 117.79514844 523.48787021 69.27762763 394.9164419l-4.85175146-12.12937998 4.85175146-12.12937999c92.18328838-245.01347666 363.88140205-368.73315352 608.89487872-276.54986513 128.57142832 48.51751992 228.03234521 147.97843682 276.54986602 276.54986513l4.85175146 12.12937998-4.85175146 9.70350381z m-441.50943429-266.84636044c-167.38544443 0-317.78975742 101.88679219-380.86253349 254.71698047C217.25606445 591.41239863 457.41778965 693.2991916999999 668.46900253 605.96765479c101.88679219-41.23989229 184.36657675-123.71967685 225.60646905-225.60646904-65.49865224-152.83018828-215.90296523-252.29110518-380.8625335-254.71698047zM513.21293808 547.74663105c-92.18328838 0-164.95956914-75.20215606-164.95956913-164.95956914 0-92.18328838 75.20215606-164.95956914 164.95956913-164.95956826s164.95956914 75.20215606 164.95956827 164.95956826c0 89.75741221-75.20215606 164.95956914-164.95956826 164.95956914z m0-269.2722375c-55.79514844 0-101.88679219 46.09164463-101.88679218 101.88679219s46.09164463 101.88679219 101.88679219 101.88679307 101.88679219-46.09164463 101.88679219-101.88679306-46.09164463-101.88679219-101.88679219-101.88679219z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="fangkeshu" unicode="" d="M169.91240908 234.07746211000006a411.20072842 411.20072842 0 0 0 198.75109571 162.39493388l4.00559854 1.49827677a238.19554424 238.19554424 0 0 0-97.47976817 155.23989433 276.3557543 276.3557543 0 0 0-3.60809649 40.48406983 238.95997119 238.95997119 0 0 0 42.80792872 136.64902235A248.19425244 248.19425244 0 0 0 431.31596504 820.0568458a240.85575088 240.85575088 0 0 0 264.00261006-71.30577744 246.42078135 246.42078135 0 0 0 56.23127138-138.60595635 238.65420058 238.65420058 0 0 0-33.63480088-140.16538828 244.92250371 244.92250371 0 0 0-66.41344336-71.91731953 392.12062295 392.12062295 0 0 0 90.44703721-47.18045215 425.54138467 425.54138467 0 0 0 95.27821787-92.80147324 401.23259648 401.23259648 0 0 0 78.64427901-244.00519102 381.66325752 381.66325752 0 0 0-3.0577087-42.80792871 40.45349268 40.45349268 0 0 0-10.82429032-26.14341358 36.96770391 36.96770391 0 0 0-52.28682715 0 35.34711768 35.34711768 0 0 0-10.82429034 26.14341358 378.94189658 378.94189658 0 0 1 0.39750205 91.97589199 321.05946182 321.05946182 0 0 1-46.29371659 128.72955586q-7.00215381 11.40525528-14.82988976 22.22954561a262.44317724 262.44317724 0 0 1-4.31136914 5.87080108c-2.56847607 3.05770958-5.13695127 6.39061172-7.76658164 9.50947558a368.42337685 368.42337685 0 0 1-37.94617089 38.61886728q-4.86175781 4.28079287-9.87640049 8.37812285l-2.35443604 1.89577969c1.2230833-0.97846699-0.7950041 0.70327354-2.32385888 1.86520254l-0.39750206 0.33634776-2.53789891 1.98751113 2.14039687-1.7123168q-10.91602178 8.16408369-22.4130085 15.5331624a323.19985869 323.19985869 0 0 1-134.20285488 49.71835108 376.74034628 376.74034628 0 0 1-88.67356612 0 320.41734346 320.41734346 0 0 1-128.60724726-46.32429375q-11.37467812-7.00215381-22.22954561-14.82988975l-5.87080195-4.31137001c-3.21059443-2.56847607-6.39061172-5.13695127-9.50947559-7.76658077a368.54568545 368.54568545 0 0 1-38.58828925-37.8238623q-4.25021573-4.86175781-8.37812286-9.87640138l-1.86520341-2.32385888c0.97846699 1.2230833-0.70327354-0.7950041-1.86520254-2.32385888l-0.30577061-0.39750206-1.98751113-2.53789893 1.71231768 2.14039688q-8.16408369-10.91602178-15.53316328-22.41300849a323.1387044 323.1387044 0 0 1-49.7183502-134.23343203 378.29977823 378.29977823 0 0 1 0.39750205-91.97589199 36.69250957 36.69250957 0 0 0-10.82429033-26.1434127 36.96770391 36.96770391 0 0 0-52.28682715 0 43.32773848 43.32773848 0 0 0-10.82429033 26.1434127 401.96644717 401.96644717 0 0 0 58.70801601 262.87125732z m603.50005811-13.57622842a8.98966494 8.98966494 0 0 1-1.65116338 2.10981884l1.68173965-2.07924257z m-96.53187833 395.66756514a162.88416739 162.88416739 0 0 1-27.73342264 71.55039463 153.19122891 153.19122891 0 0 1-4.95348839 7.00215381l1.22308331-1.43712334c-0.51981065 0.64211924-1.03962128 1.2230833-1.55943194 1.92635683l-0.30577061 0.45865635a35.10250136 35.10250136 0 0 1-2.62962948 3.05770957 213.64213974 213.64213974 0 0 1-11.52756388 12.53660713q-6.8186918 6.8186918-14.27950195 12.99526436l-0.67269638 0.64211923-0.73384981 0.51980977q-3.88329082 2.87424667-7.9194665 5.56503135a205.14170742 205.14170742 0 0 1-29.01766026 16.05297304 207.46556719 207.46556719 0 0 1-42.53273437 11.68044873 211.65462862 211.65462862 0 0 1-44.91774757 0 207.43499004 207.43499004 0 0 1-42.50215722-11.58871728 205.04997685 205.04997685 0 0 1-29.01766025-16.05297304q-3.54694307-2.38501318-7.00215381-4.95348927l1.40654619 1.22308331a35.46942627 35.46942627 0 0 0-1.92635684-1.55943106l-0.42807919-0.30577149a37.60982315 37.60982315 0 0 1-3.05770958-2.62962949 213.64213974 213.64213974 0 0 1-12.53660712-11.52756387q-6.8186918-6.84926894-12.99526436-14.27950195l-0.64211836-0.6726955a5.16752842 5.16752842 0 0 1-0.51981064-0.70327354 194.89838203 194.89838203 0 0 1-5.56503135-7.91946651 205.69209521 205.69209521 0 0 1-16.05297305-29.01766024 207.92422354 207.92422354 0 0 1-11.68044873-42.59388868 199.91302559 199.91302559 0 0 1 0-44.82601611 207.92422354 207.92422354 0 0 1 11.68044873-42.59388867 204.86651396 204.86651396 0 0 1 16.05297305-29.01766026q2.38501318-3.54694307 4.95348925-7.00215381l-1.22308329 1.43712334 1.55943105-1.92635683 0.30577148-0.42807921a37.97674805 37.97674805 0 0 1 2.6296295-3.05770868q5.50387617-6.51292031 11.52756386-12.53660801 6.84926894-6.8186918 14.27950196-12.99526347l0.70327265-0.64211925 0.70327354-0.51981064c2.59905323-1.92635683 5.22868271-3.79155938 7.91946651-5.56503047a204.86651396 204.86651396 0 0 1 29.01766024-16.05297305 207.46556719 207.46556719 0 0 1 42.53273439-11.68044961 209.97288809 209.97288809 0 0 1 44.91774755 0 207.43499004 207.43499004 0 0 1 42.53273438 11.68044961 205.08055401 205.08055401 0 0 1 29.01765937 16.05297305q3.54694307 2.38501318 7.00215469 4.95348838l-1.43712334-1.2230833c0.64211924 0.51981065 1.2230833 1.03962128 1.92635683 1.55943193l0.4280792 0.30577061a38.25194151 38.25194151 0 0 1 3.05770869 2.62962949c4.34194717 3.69982793 8.53100859 7.52196445 12.53660802 11.52756387q6.8186918 6.8186918 12.99526347 14.27950195l0.64211924 0.70327266 0.51981065 0.70327353q2.90482383 3.88329082 5.56503047 7.9194665a204.86651396 204.86651396 0 0 1 16.05297304 29.01766026 207.25152715 207.25152715 0 0 1 11.68044961 42.56331152 211.50174287 211.50174287 0 0 1 0 44.88717041zM310.13895166 280.46291016a8.89793349 8.89793349 0 0 1-2.10981973-1.62058623l2.17097315 1.68174052z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="jiaoyijine" unicode="" d="M858.56372773 669.62874258l26.94610723-5.38922198h5.38922197c5.38922197 0 10.77844307 2.69461055 16.16766505 5.38922198 8.08383252 5.38922197 10.77844307 10.77844307 13.4730536 21.55688613v2.69461054c2.69461055 8.08383252 0 16.16766503-5.38922196 24.25149757-5.38922197 8.08383252-10.77844307 10.77844307-21.55688614 13.47305361L764.25235068 755.85628711c-16.16766503 2.69461055-35.02993974-8.08383252-37.72455117-24.25149668v-2.69461055c-2.69461055-8.08383252 0-16.16766503 5.38922109-24.25149756 5.38922197-5.38922197 10.77844307-10.77844307 18.86227559-13.47305361 0-2.69461055 2.69461055-2.69461055 2.69461142-5.3892211 78.14371289-64.67065839 129.34131768-153.59281435 142.81437042-253.29341337 18.86227559-156.2874249-56.58682676-307.18562871-194.0119752-385.32934161-78.14371289-45.80838281-169.7604794-61.97604786-258.68263535-45.80838281-16.16766503 2.69461055-29.64071865-8.08383252-35.02993975-24.25149755-2.69461055-16.16766503 8.08383252-32.3353292 24.25149668-35.02993975 26.9461081-5.38922197 53.89221533-8.08383252 78.14371289-8.08383252 78.14371289 0 153.59281435 21.55688613 220.9580833 59.28143731 48.50299424 26.9461081 91.61676651 64.67065839 126.64670713 107.78443066 140.11976075 169.7604794 132.03592823 406.88622773 0 568.56287461zM246.88708086 101.06586797h-5.38922198c-26.9461081 24.25149668-48.50299424 53.89221533-67.36526894 86.22754541-37.72455117 64.67065839-56.58682676 140.11976075-51.19760478 215.5688622C133.71342823 618.43113779 316.94696123 782.80239521 532.51582344 769.3293416c16.16766503 0 29.64071865 13.47305362 29.64071865 29.64071866 0 16.16766503-13.47305362 29.64071865-29.64071865 29.64071776-86.22754453 5.38922197-172.45508994-16.16766503-247.90419141-59.28143642C74.43199092 650.766467-1.01711055 375.91616748 122.93498516 160.34730528l24.25149668-40.41916172-29.64071866 5.38922196c-8.08383252 2.69461055-18.86227559 0-24.25149667-5.38922196-8.08383252-5.38922197-10.77844307-10.77844307-13.47305362-21.55688614v-2.69461055c-2.69461055-16.16766503 8.08383252-35.02993974 24.25149669-37.72455117l129.34131766-24.25149667h5.3892211c16.16766503 0 26.9461081 10.77844307 32.33532919 26.94610722v2.69461143c2.69461055 8.08383252 0 16.16766503-5.38922109 24.25149667-2.69461055 8.08383252-10.77844307 10.77844307-18.86227558 13.47305362zM481.31821865 200.76646700000003c0-16.16766503 13.47305362-32.3353292 29.64071865-32.33532921h10.77844307c16.16766503 0 29.64071865 13.47305362 29.64071865 32.3353292V268.13173682h102.39520957c16.16766503 0 29.64071865 13.47305362 29.64071865 32.3353292v5.38922109 2.69461143c0 16.16766503-13.47305362 29.64071865-32.33533007 29.64071865H548.6834876V402.86227559h102.39520957c16.16766503 0 29.64071865 13.47305362 29.64071865 32.3353292v5.38922196 2.69461055c0 16.16766503-13.47305362 29.64071865-32.3353292 29.64071866h-110.47904209l83.53293487 78.14371201c13.47305362 13.47305362 13.47305362 32.3353292 2.69461054 45.80838369-13.47305362 13.47305362-35.02993974 16.16766503-48.50299424 2.69461055L513.65354785 537.59281435l-64.6706584 67.36526983c-10.77844307 13.47305362-32.3353292 13.47305362-45.80838369 2.69461054-13.47305362-13.47305362-16.16766503-35.02993974-2.69461055-48.50299423l80.83832344-86.22754453h-107.78443154-2.69461055c-16.16766503 0-29.64071865-13.47305362-29.64071865-32.3353292V432.50299424c0-16.16766503 13.47305362-29.64071865 32.3353292-29.64071865h107.78443154v-64.6706584h-107.78443154-2.69461055c-16.16766503 0-29.64071865-13.47305362-29.64071865-32.33533008V297.77245546999995c0-16.16766503 13.47305362-29.64071865 32.3353292-29.64071865h107.78443154v-67.36526982z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="yuezhifujine" unicode="" d="M875.56707354 405.95121972c-41.15853633 54.87804844-90.54878027 98.78048789-145.42682959 134.45121973l19.2073166 19.2073166c2.74390224 2.74390224 5.48780449 8.23170761 8.23170762 10.97560987 43.90243945 57.62195156 32.92682959 139.93902422-24.69512198 183.84146367-30.18292646 21.95121972-68.59756055 32.92682959-107.01219463 32.92682871h-21.95121972c-2.74390224 0-2.74390224 0-5.48780538 2.74390225C576.48170762 814.79268252 546.29878027 831.25609776 513.37195156 834h-2.74390312c-32.92682959-5.48780449-63.10975606-19.20731748-85.0609749-43.90243945-2.74390224-2.74390224-2.74390224-2.74390224-5.48780537-2.74390225H395.38414619c-38.41463408 0-76.82926817-10.97560987-109.75609775-35.67073184-32.92682959-27.43902422-52.13414619-68.59756055-52.1341462-109.75609687 2.74390224-41.15853633 24.69512197-82.31707354 57.62195157-107.01219551-54.87804844-35.67073183-104.26829238-79.57317041-142.68292735-134.45121973-52.13414619-71.34146367-79.57317041-153.65853633-82.31707265-241.46341435v-19.20731748c0-112.5 93.29268252-205.79268252 205.79268252-205.79268252H776.78658565c101.52439013 0 183.84146367 85.06097578 183.84146279 186.58536592v43.90243858c-2.74390224 87.80487803-32.92682959 172.86585381-85.0609749 241.46341523zM365.20121972 501.98780449l2.74390225 2.74390312c8.23170761 2.74390224 13.71951211 10.97560987 16.46341436 19.20731661 2.74390224 8.23170761 2.74390224 16.46341435-2.74390225 24.69512197-2.74390224 5.48780449-5.48780449 10.97560987-10.97560986 13.71951211l-2.74390225 2.74390225C335.01829238 581.56097578 299.34756055 614.4878044899999 299.34756055 644.67073184c0 21.95121972 8.23170761 41.15853633 24.69512197 54.87804843 19.20731748 13.71951211 43.90243945 21.95121972 68.59756143 21.95121973h5.48780449c8.23170761 0 16.46341435 0 24.69512197-2.74390224 10.97560987-2.74390224 19.20731748 0 27.4390251 5.48780448 5.48780449 5.48780449 10.97560987 8.23170761 19.2073166 16.46341524 10.97560987 10.97560987 30.18292646 27.43902422 38.41463408 27.43902422 16.46341435-2.74390224 30.18292646-13.71951211 43.90243946-24.69512198 5.48780449-8.23170761 10.97560987-13.71951211 16.46341435-19.20731748h2.74390224c5.48780449-5.48780449 13.71951211-5.48780449 21.95121974-5.48780448h2.74390224c5.48780449 2.74390224 13.71951211 2.74390224 21.95121973 2.74390224 24.69512197 0 52.13414619-5.48780449 71.34146367-19.20731748 16.46341435-13.71951211 27.43902422-32.92682959 24.69512197-54.87804844 0-8.23170761-5.48780449-41.15853633-65.85365918-82.31707353l-2.74390225-2.74390225c-5.48780449-2.74390224-8.23170761-8.23170761-10.97560986-13.71951211-2.74390224-8.23170761-5.48780449-16.46341435-2.74390225-24.69512197 2.74390224-8.23170761 8.23170761-13.71951211 16.46341436-19.2073166l2.74390313-2.74390313c65.8536583-32.92682959 123.47560987-79.57317041 167.37804844-139.93902421 43.90243945-57.62195156 68.59756055-128.96341435 68.59756054-200.30487804V120.58536591999996c0-65.8536583-52.13414619-117.98780449-117.98780449-117.98780537H249.95731748c-65.8536583 0-117.98780449 52.13414619-117.98780537 117.98780537v38.41463408c0 74.08536592 24.69512197 142.68292646 68.59756143 200.30487802 41.15853633 60.36585381 98.78048789 109.75609776 164.63414618 142.68292648zM406.35975606 216.62195155999996h76.82926816v-19.20731748h-76.82926816c-19.20731748 0-35.67073183-16.46341435-35.67073184-35.67073184 0-19.20731748 16.46341435-35.67073183 35.67073184-35.67073183h76.82926816v-57.62195068c0-16.46341435 13.71951211-32.92682959 32.92682959-32.9268296 16.46341435 0 32.92682959 13.71951211 32.92682871 32.9268296v57.62195068h76.82926904c19.20731748 0 35.67073183 16.46341435 35.67073096 35.67073183s-16.46341435 35.67073183-35.67073096 35.67073184h-76.82926904v19.20731748h79.57317129c19.20731748 0 32.92682959 13.71951211 35.67073184 32.92682871 0 19.20731748-13.71951211 35.67073183-32.92682959 35.67073184h-60.36585382l57.62195157 96.03658565v2.74390224c8.23170761 13.71951211 2.74390224 32.92682959-13.71951211 41.15853633-8.23170761 5.48780449-16.46341435 5.48780449-24.69512197 2.74390312-8.23170761-2.74390224-13.71951211-8.23170761-19.20731749-13.71951299l-52.13414618-93.29268251-54.87804844 96.03658564c-5.48780449 8.23170761-10.97560987 10.97560987-19.20731749 13.71951211-8.23170761 2.74390224-16.46341435 0-24.69512196-2.74390225-13.71951211-8.23170761-19.20731748-27.43902422-10.97560987-43.90243945l57.62195157-96.03658565h-57.62195157c-19.20731748 0-35.67073183-16.46341435-35.67073184-35.67073183s13.71951211-35.67073183 32.9268296-35.67073096z" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="zhifuyongjinjine" unicode="" d="M190.50547168 737.57542558a32.17883378 32.17883378 0 0 0 32.12287031 32.17883379h578.40753692a32.20681465 32.20681465 0 0 0 32.23479638-32.17883379v-69.75811406L515.79150576 609.47568692 190.50547168 667.81731153zM222.93613935 834A96.59246396 96.59246396 0 0 1 126.4276206 737.57542558v-96.45255527a32.20681465 32.20681465 0 0 1 26.38664385-31.6471834l357.49284873-64.3576667a36.06827519 36.06827519 0 0 1 5.59631953-0.44770518 38.16689502 38.16689502 0 0 1 5.87613428 0.44770518l349.76992939 64.3576667a32.20681465 32.20681465 0 0 1 26.30269864 31.6471834V737.57542558A96.56448222 96.56448222 0 0 1 801.37165801 834zM833.49452832 512.46349951v-482.0389251a32.09488857 32.09488857 0 0 0-32.23479726-32.06690771H222.65632373a32.01094423 32.01094423 0 0 0-32.12287031 32.06690771V512.46349951a32.17883378 32.17883378 0 1 1-64.3576667 0v-481.89901729a96.73237178 96.73237178 0 0 1 96.50851875-96.56448222h578.57542558a96.64842656 96.64842656 0 0 1 96.42457442 96.39659268V512.46349951a32.09488857 32.09488857 0 1 1-64.18977715 0M587.98401963 439.40355703l-76.55764219-74.06728067-73.64755635 73.56361202a32.12287031 32.12287031 0 0 1-45.52605439-45.35816484l74.45902324-73.95535372h-51.40218955a32.17883378 32.17883378 0 1 1 0-64.35766669h64.35766758v-32.09488858h-64.35766758a32.26277812 32.26277812 0 0 1 0-64.52555713h64.35766758v-64.58151972a32.17883378 32.17883378 0 1 1 64.3576667 0v64.58151972h64.35766668a32.26277812 32.26277812 0 0 1 0 64.52555713h-64.35766668v32.29075987h64.35766668a32.09488857 32.09488857 0 1 1 0 64.18977714h-52.10172859l76.33379003 73.75948242a32.01094423 32.01094423 0 0 1-13.45914756 53.78062412 32.71048417 32.71048417 0 0 1-8.78622012 1.2032086 31.81507295 31.81507295 0 0 1-22.38527548-9.03805488" horiz-adv-x="1024" />
+
+
+ <glyph glyph-name="xianxiashouyinjine" unicode="" d="M254.85714248-65.94424482H62V448.34146933h192.85714248z m-128.57142832 64.36934736h64.36934736V384.08363232H126.28571416z m0 0M574.50154854-65.97212285H222.79791816a32.1986127 32.1986127 0 1 0 0 64.36934736H564.91165917l319.39350734 260.51604521a89.98884932 89.98884932 0 0 1-50.7093293 28.79754698c-39.47466269 0-134.73237481-44.85503672-211.28422763-80.84500049-21.27059825-9.89654326-43.26601377-20.35063828-63.83967276-29.71750782a152.23949912 152.23949912 0 0 0-87.50774443-11.73646318l-156.78354551 25.31284805a32.1986127 32.1986127 0 0 0 10.25895146 63.44938653l156.78354639-25.31284805a88.14892852 88.14892852 0 0 1 50.65357412 6.77425342c20.18337276 9.14384795 41.00792959 18.95675888 63.03122315 29.3272207 95.06256943 44.77140352 184.8562752 87.033825 238.66001718 87.033825a131.61008584 131.61008584 0 0 0 81.87647168-34.9863706 291.68318672 291.68318672 0 0 0 39.02862041-39.61405108 34.15004297 34.15004297 0 0 0-4.96220976-48.11671407l-351.56424287-286.86036445a37.16082246 37.16082246 0 0 0-23.50080528-8.36327548z m-17.11683809 58.20840088z m351.56424287 286.86036445z m0 0M626.27022705 226.71465703L311.56015362 383.97212285H222.71428584v64.36934649h103.98339755l328.1191919-164.08747354z m-79.59050947 168.1854794v48.64638779h-58.0690125c-12.54491367 0-18.84524854 5.7427831-18.84524854 17.33985878 1.03147031 9.42262383 7.41543838 15.16540693 18.84524854 17.3398588h58.0690125v26.67885029h-58.0690125c-12.54491367 0-18.84524854 5.7427831-18.84524854 17.33985879 1.03147031 9.42262383 7.41543838 15.16540693 18.84524854 17.33985879h32.95130713l-50.17965557 70.61392617a17.33985878 17.33985878 0 0 0-6.30033487 17.33985879 29.49448623 29.49448623 0 0 0 29.71750782 29.71750781 35.23726934 35.23726934 0 0 0 23.55656045-12.54491455l58.0690125-83.18671787 58.0690125 83.18671787a29.3272207 29.3272207 0 0 0 53.38557774-17.33985879 23.33353974 23.33353974 0 0 0-6.30033487-17.33985879l-50.17965557-70.61392617h32.95130714a21.80027286 21.80027286 0 0 0 18.84524853-17.33985879 16.92169453 16.92169453 0 0 0-18.84524853-17.33985879h-58.0690125v-26.67885029h58.0690125a21.80027286 21.80027286 0 0 0 18.84524853-17.33985879 16.92169453 16.92169453 0 0 0-18.84524853-17.33985879h-58.0690125v-48.6463878a25.954033 25.954033 0 0 0-29.71750694-26.67885029q-29.71750693 0-29.71750694 26.67885029z m0 0M833.42857168 512.59930635a256.47379541 256.47379541 0 0 0-87.2568457-192.85714336h87.31260087a321.42857168 321.42857168 0 1 1-578.62718437 192.85714336 325.1084124 325.1084124 0 0 1 6.38396807-64.36934737h66.04200175a257.17073467 257.17073467 0 1 0 506.17333653 64.36934737z m0 0" horiz-adv-x="1024" />
+
+
+
+
+ </font>
+</defs></svg>
diff --git a/src/assets/iconfont/iconfont.ttf b/src/assets/iconfont/iconfont.ttf
new file mode 100644
index 0000000..0777160
--- /dev/null
+++ b/src/assets/iconfont/iconfont.ttf
Binary files differ
diff --git a/src/assets/iconfont/iconfont.woff b/src/assets/iconfont/iconfont.woff
new file mode 100644
index 0000000..8fc6ac9
--- /dev/null
+++ b/src/assets/iconfont/iconfont.woff
Binary files differ
diff --git a/src/assets/iconfont/iconfont.woff2 b/src/assets/iconfont/iconfont.woff2
new file mode 100644
index 0000000..1f71ba4
--- /dev/null
+++ b/src/assets/iconfont/iconfont.woff2
Binary files differ
diff --git a/src/assets/imgs/app.png b/src/assets/imgs/app.png
new file mode 100644
index 0000000..8c0138c
--- /dev/null
+++ b/src/assets/imgs/app.png
Binary files differ
diff --git a/src/assets/imgs/bg.jpg b/src/assets/imgs/bg.jpg
new file mode 100644
index 0000000..3002585
--- /dev/null
+++ b/src/assets/imgs/bg.jpg
Binary files differ
diff --git a/src/assets/imgs/expressi.jpg b/src/assets/imgs/expressi.jpg
new file mode 100644
index 0000000..d3fbe46
--- /dev/null
+++ b/src/assets/imgs/expressi.jpg
Binary files differ
diff --git a/src/assets/imgs/head.gif b/src/assets/imgs/head.gif
new file mode 100644
index 0000000..e33fb4a
--- /dev/null
+++ b/src/assets/imgs/head.gif
Binary files differ
diff --git a/src/assets/imgs/line.jpg b/src/assets/imgs/line.jpg
new file mode 100644
index 0000000..1640f55
--- /dev/null
+++ b/src/assets/imgs/line.jpg
Binary files differ
diff --git a/src/assets/imgs/mobileHeadbj.png b/src/assets/imgs/mobileHeadbj.png
new file mode 100644
index 0000000..fc6526f
--- /dev/null
+++ b/src/assets/imgs/mobileHeadbj.png
Binary files differ
diff --git a/src/assets/imgs/mobilefoot.png b/src/assets/imgs/mobilefoot.png
new file mode 100644
index 0000000..4a89d4b
--- /dev/null
+++ b/src/assets/imgs/mobilefoot.png
Binary files differ
diff --git a/src/assets/imgs/mobilehead.png b/src/assets/imgs/mobilehead.png
new file mode 100644
index 0000000..248cfb7
--- /dev/null
+++ b/src/assets/imgs/mobilehead.png
Binary files differ
diff --git a/src/assets/imgs/moren.jpg b/src/assets/imgs/moren.jpg
new file mode 100644
index 0000000..98725f1
--- /dev/null
+++ b/src/assets/imgs/moren.jpg
Binary files differ
diff --git a/src/assets/imgs/no.png b/src/assets/imgs/no.png
new file mode 100644
index 0000000..e4ade86
--- /dev/null
+++ b/src/assets/imgs/no.png
Binary files differ
diff --git a/src/assets/imgs/orderIndex.png b/src/assets/imgs/orderIndex.png
new file mode 100644
index 0000000..74d6ffb
--- /dev/null
+++ b/src/assets/imgs/orderIndex.png
Binary files differ
diff --git a/src/assets/imgs/over.svg b/src/assets/imgs/over.svg
new file mode 100644
index 0000000..c37949e
--- /dev/null
+++ b/src/assets/imgs/over.svg
@@ -0,0 +1,5 @@
+<svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
+<path fill-rule="evenodd" clip-rule="evenodd" d="M9.99992 2.08333L0.833252 17.9167H19.1666L9.99992 2.08333Z" stroke="#3E3E3E" stroke-width="1.66667" stroke-linejoin="round"/>
+<path d="M10 14.5833V15" stroke="#3E3E3E" stroke-width="1.66667" stroke-linecap="round"/>
+<path d="M10 7.91687L10.0035 12.0833" stroke="#3E3E3E" stroke-width="1.66667" stroke-linecap="round"/>
+</svg>
diff --git a/src/assets/imgs/pc.png b/src/assets/imgs/pc.png
new file mode 100644
index 0000000..7055ca1
--- /dev/null
+++ b/src/assets/imgs/pc.png
Binary files differ
diff --git a/src/assets/imgs/pricetitle.jpg b/src/assets/imgs/pricetitle.jpg
new file mode 100644
index 0000000..1451364
--- /dev/null
+++ b/src/assets/imgs/pricetitle.jpg
Binary files differ
diff --git a/src/assets/imgs/routine.png b/src/assets/imgs/routine.png
new file mode 100644
index 0000000..83379ed
--- /dev/null
+++ b/src/assets/imgs/routine.png
Binary files differ
diff --git a/src/assets/imgs/scan.gif b/src/assets/imgs/scan.gif
new file mode 100644
index 0000000..d8438a6
--- /dev/null
+++ b/src/assets/imgs/scan.gif
Binary files differ
diff --git a/src/assets/imgs/scanCode.png b/src/assets/imgs/scanCode.png
new file mode 100644
index 0000000..c42675a
--- /dev/null
+++ b/src/assets/imgs/scanCode.png
Binary files differ
diff --git a/src/assets/imgs/user_bg.png b/src/assets/imgs/user_bg.png
new file mode 100644
index 0000000..2e2d706
--- /dev/null
+++ b/src/assets/imgs/user_bg.png
Binary files differ
diff --git a/src/assets/imgs/vehicleTopHeader.png b/src/assets/imgs/vehicleTopHeader.png
new file mode 100644
index 0000000..a8d00e7
--- /dev/null
+++ b/src/assets/imgs/vehicleTopHeader.png
Binary files differ
diff --git a/src/assets/imgs/wechat_h5.png b/src/assets/imgs/wechat_h5.png
new file mode 100644
index 0000000..3fcc224
--- /dev/null
+++ b/src/assets/imgs/wechat_h5.png
Binary files differ
diff --git a/src/assets/imgs/weixin.png b/src/assets/imgs/weixin.png
new file mode 100644
index 0000000..c4dcfe1
--- /dev/null
+++ b/src/assets/imgs/weixin.png
Binary files differ
diff --git a/src/assets/imgs/writeOffBg.jpg b/src/assets/imgs/writeOffBg.jpg
new file mode 100644
index 0000000..3cb529d
--- /dev/null
+++ b/src/assets/imgs/writeOffBg.jpg
Binary files differ
diff --git a/src/assets/imgs/wutu.png b/src/assets/imgs/wutu.png
new file mode 100644
index 0000000..42c67aa
--- /dev/null
+++ b/src/assets/imgs/wutu.png
Binary files differ
diff --git a/src/assets/js/canvas-nest.min.js b/src/assets/js/canvas-nest.min.js
new file mode 100644
index 0000000..2ed0be7
--- /dev/null
+++ b/src/assets/js/canvas-nest.min.js
@@ -0,0 +1,85 @@
+// JavaScript Document
+! function() {
+ function o(w, v, i) {
+ return w.getAttribute(v) || i
+ }
+
+ function j(i) {
+ return document.getElementsByTagName(i)
+ }
+
+ function l() {
+ var i = j("script"),
+ w = i.length,
+ v = i[w - 1];
+ return {
+ l: w,
+ z: o(v, "zIndex", -2),
+ o: o(v, "opacity", 0.8),
+ c: o(v, "color", "255,255,255"),
+ n: o(v, "count", 240)
+ }
+ }
+
+ function k() {
+ r = u.width = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth, n = u.height = window.innerHeight || document.documentElement.clientHeight || document.body.clientHeight
+ }
+
+ function b() {
+ delay = delay + 1;
+ if( delay < 5 ) { m(b) } else { delay = 0;
+ e.clearRect(0, 0, r, n);
+ var w = [f].concat(t);
+ var x, v, A, B, z, y;
+ t.forEach(function(i) {
+ i.x += i.xa, i.y += i.ya, i.xa *= i.x > r || i.x < 0 ? -1 : 1, i.ya *= i.y > n || i.y < 0 ? -1 : 1, e.fillRect(i.x - 0.5, i.y - 0.5, 2, 2);e.fillStyle="#FFFFFF";
+ for (v = 0; v < w.length; v++) {
+ x = w[v];
+ if (i !== x && null !== x.x && null !== x.y) {
+ B = i.x - x.x, z = i.y - x.y, y = B * B + z * z;
+ y < x.max && (x === f && y >= x.max / 2 && (i.x -= 0.03 * B, i.y -= 0.03 * z), A = (x.max - y) / x.max, e.beginPath(), e.lineWidth = A / 2, e.strokeStyle = "rgba(" + s.c + "," + (A + 0.2) + ")", e.moveTo(i.x, i.y), e.lineTo(x.x, x.y), e.stroke())
+ }
+ }
+ w.splice(w.indexOf(i), 1)
+ }), m(b) }
+ }
+ var u = document.createElement("canvas"),
+ s = l(),
+ c = "c_n" + s.l,
+ e = u.getContext("2d"),
+ delay = 0,
+ r, n, m = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function(i) {
+ window.setTimeout(i, 1000 / 45)
+ },
+ a = Math.random,
+ f = {
+ x: null,
+ y: null,
+ max: 20000
+ }
+ u.id = c;
+ u.style.cssText = "position:fixed;top:0;left:0;z-index:" + s.z + ";opacity:" + s.o;
+ j("body")[0].appendChild(u);
+ k(), window.onresize = k;
+ window.onmousemove = function(i) {
+ i = i || window.event, f.x = i.clientX, f.y = i.clientY
+ }, window.onmouseout = function() {
+ f.x = null, f.y = null
+ };
+ for (var t = [], p = 0; s.n > p; p++) {
+ var h = a() * r,
+ g = a() * n,
+ q = 2 * a() - 1,
+ d = 2 * a() - 1;
+ t.push({
+ x: h,
+ y: g,
+ xa: q,
+ ya: d,
+ max: 6000
+ })
+ }
+ setTimeout(function() {
+ b()
+ }, 100)
+}();
\ No newline at end of file
diff --git a/src/assets/js/media_750.js b/src/assets/js/media_750.js
new file mode 100644
index 0000000..169a524
--- /dev/null
+++ b/src/assets/js/media_750.js
@@ -0,0 +1,62 @@
+(function flexible(window, document) {
+ var docEl = document.documentElement || document.body;
+ var dpr = window.devicePixelRatio || 1;
+
+ // adjust body font size
+ function setBodyFontSize() {
+ if (document.body) {
+ } else {
+ document.addEventListener("DOMContentLoaded", setBodyFontSize);
+ }
+ }
+ setBodyFontSize();
+
+ // set 1rem = viewWidth / 10
+ function setRemUnit() {
+ var rem = docEl.clientWidth / 7.5;
+ docEl.style.fontSize = rem + "px";
+ }
+
+ setRemUnit();
+
+ // reset rem unit on page resize
+ window.addEventListener("resize", setRemUnit);
+ window.addEventListener("pageshow", function(e) {
+ if (e.persisted) {
+ setRemUnit();
+ }
+ });
+
+ // detect 0.5px supports
+ if (dpr >= 2) {
+ var fakeBody = document.createElement("body");
+ var testElement = document.createElement("div");
+ testElement.style.border = ".5px solid transparent";
+ fakeBody.appendChild(testElement);
+ docEl.appendChild(fakeBody);
+ if (testElement.offsetHeight === 1) {
+ docEl.classList.add("hairlines");
+ }
+ docEl.removeChild(fakeBody);
+ }
+
+ if (typeof WeixinJSBridge == "object" && typeof WeixinJSBridge.invoke == "function") {
+ handleFontSize();
+ } else {
+ if (document.addEventListener) {
+ document.addEventListener("WeixinJSBridgeReady", handleFontSize, false);
+ } else if (document.attachEvent) {
+ document.attachEvent("WeixinJSBridgeReady", handleFontSize);
+ document.attachEvent("onWeixinJSBridgeReady", handleFontSize);
+ }
+ }
+ function handleFontSize() {
+ // 璁剧疆缃戦〉瀛椾綋涓洪粯璁ゅぇ灏�
+ WeixinJSBridge.invoke('setFontSizeCallback', { 'fontSize' : 0 });
+ // 閲嶅啓璁剧疆缃戦〉瀛椾綋澶у皬鐨勪簨浠�
+ WeixinJSBridge.on('menu:setfont', function() {
+ WeixinJSBridge.invoke('setFontSizeCallback', { 'fontSize' : 0 });
+ });
+ }
+
+})(window, document);
diff --git a/src/components/Breadcrumb/index.vue b/src/components/Breadcrumb/index.vue
new file mode 100644
index 0000000..92c5448
--- /dev/null
+++ b/src/components/Breadcrumb/index.vue
@@ -0,0 +1,82 @@
+<template>
+ <el-breadcrumb class="app-breadcrumb" separator="/">
+ <transition-group name="breadcrumb">
+ <el-breadcrumb-item v-for="(item,index) in levelList" :key="item.path">
+ <span v-if="item.redirect==='noRedirect'||index==levelList.length-1" class="no-redirect">{{ item.meta.title }}</span>
+ <a v-else @click.prevent="handleLink(item)">{{ item.meta.title }}</a>
+ </el-breadcrumb-item>
+ </transition-group>
+ </el-breadcrumb>
+</template>
+
+<script>
+import pathToRegexp from 'path-to-regexp'
+
+export default {
+ data() {
+ return {
+ levelList: null
+ }
+ },
+ watch: {
+ $route(route) {
+ // if you go to the redirect page, do not update the breadcrumbs
+ if (route.path.startsWith('/redirect/')) {
+ return
+ }
+ this.getBreadcrumb()
+ }
+ },
+ created() {
+ this.getBreadcrumb()
+ },
+ methods: {
+ getBreadcrumb() {
+ // only show routes with meta.title
+ let matched = this.$route.matched.filter(item => item.meta && item.meta.title)
+ const first = matched[0]
+
+ if (!this.isDashboard(first)) {
+ matched = [{ path: '/dashboard', meta: { title: '' }}].concat(matched)
+ }
+
+ this.levelList = matched.filter(item => item.meta && item.meta.title && item.meta.breadcrumb !== false)
+ },
+ isDashboard(route) {
+ const name = route && route.name
+ if (!name) {
+ return false
+ }
+ return name.trim().toLocaleLowerCase() === 'Dashboard'.toLocaleLowerCase()
+ },
+ pathCompile(path) {
+ // To solve this problem https://github.com/PanJiaChen/vue-element-admin/issues/561
+ const { params } = this.$route
+ var toPath = pathToRegexp.compile(path)
+ return toPath(params)
+ },
+ handleLink(item) {
+ const { redirect, path } = item
+ if (redirect) {
+ this.$router.push(redirect)
+ return
+ }
+ this.$router.push(this.pathCompile(path))
+ }
+ }
+}
+</script>
+
+<style lang="scss" scoped>
+.app-breadcrumb.el-breadcrumb {
+ display: inline-block;
+ font-size: 14px;
+ line-height: 50px;
+ margin-left: 8px;
+
+ .no-redirect {
+ color: #97a8be;
+ cursor: text;
+ }
+}
+</style>
diff --git a/src/components/ErrorLog/index.vue b/src/components/ErrorLog/index.vue
new file mode 100644
index 0000000..6119c03
--- /dev/null
+++ b/src/components/ErrorLog/index.vue
@@ -0,0 +1,78 @@
+<template>
+ <div v-if="errorLogs.length>0">
+ <el-badge :is-dot="true" style="line-height: 25px;margin-top: -5px;" @click.native="dialogTableVisible=true">
+ <el-button style="padding: 8px 10px;" size="small" type="danger">
+ <svg-icon icon-class="bug" />
+ </el-button>
+ </el-badge>
+
+ <el-dialog :visible.sync="dialogTableVisible" width="80%" append-to-body>
+ <div slot="title">
+ <span style="padding-right: 10px;">Error Log</span>
+ <el-button size="mini" type="primary" icon="el-icon-delete" @click="clearAll">Clear All</el-button>
+ </div>
+ <el-table :data="errorLogs" border>
+ <el-table-column label="Message">
+ <template slot-scope="{row}">
+ <div>
+ <span class="message-title">Msg:</span>
+ <el-tag type="danger">
+ {{ row.err.message }}
+ </el-tag>
+ </div>
+ <br>
+ <div>
+ <span class="message-title" style="padding-right: 10px;">Info: </span>
+ <el-tag type="warning">
+ {{ row.vm.$vnode.tag }} error in {{ row.info }}
+ </el-tag>
+ </div>
+ <br>
+ <div>
+ <span class="message-title" style="padding-right: 16px;">Url: </span>
+ <el-tag type="success">
+ {{ row.url }}
+ </el-tag>
+ </div>
+ </template>
+ </el-table-column>
+ <el-table-column label="Stack">
+ <template slot-scope="scope">
+ {{ scope.row.err.stack }}
+ </template>
+ </el-table-column>
+ </el-table>
+ </el-dialog>
+ </div>
+</template>
+
+<script>
+export default {
+ name: 'ErrorLog',
+ data() {
+ return {
+ dialogTableVisible: false
+ }
+ },
+ computed: {
+ errorLogs() {
+ return this.$store.getters.errorLogs
+ }
+ },
+ methods: {
+ clearAll() {
+ this.dialogTableVisible = false
+ this.$store.dispatch('errorLog/clearErrorLog')
+ }
+ }
+}
+</script>
+
+<style scoped>
+.message-title {
+ font-size: 16px;
+ color: #333;
+ font-weight: bold;
+ padding-right: 8px;
+}
+</style>
diff --git a/src/components/FormGenerator/components/SvgIcon/index.vue b/src/components/FormGenerator/components/SvgIcon/index.vue
new file mode 100644
index 0000000..c1f731d
--- /dev/null
+++ b/src/components/FormGenerator/components/SvgIcon/index.vue
@@ -0,0 +1,73 @@
+<template>
+ <div
+ v-if="isExternal"
+ :style="styleExternalIcon"
+ class="svg-external-icon svg-icon"
+ v-on="$listeners"
+ />
+ <svg
+ v-else
+ :class="svgClass"
+ aria-hidden="true"
+ v-on="$listeners"
+ >
+ <use :xlink:href="iconName" />
+ </svg>
+</template>
+
+<script>
+// doc: https://panjiachen.github.io/vue-element-admin-site/feature/component/svg-icon.html#usage
+function isExternal(path) {
+ return /^(https?:|mailto:|tel:)/.test(path)
+}
+
+export default {
+ name: 'SvgIcon',
+ props: {
+ iconClass: {
+ type: String,
+ required: true
+ },
+ className: {
+ type: String,
+ default: ''
+ }
+ },
+ computed: {
+ isExternal() {
+ return isExternal(this.iconClass)
+ },
+ iconName() {
+ return `#icon-${this.iconClass}`
+ },
+ svgClass() {
+ if (this.className) {
+ return `svg-icon ${this.className}`
+ }
+ return 'svg-icon'
+ },
+ styleExternalIcon() {
+ return {
+ mask: `url(${this.iconClass}) no-repeat 50% 50%`,
+ '-webkit-mask': `url(${this.iconClass}) no-repeat 50% 50%`
+ }
+ }
+ }
+}
+</script>
+
+<style scoped>
+.svg-icon {
+ width: 1em;
+ height: 1em;
+ vertical-align: -0.15em;
+ fill: currentColor;
+ overflow: hidden;
+}
+
+.svg-external-icon {
+ background-color: currentColor;
+ mask-size: cover!important;
+ display: inline-block;
+}
+</style>
diff --git a/src/components/FormGenerator/components/generator/config.js b/src/components/FormGenerator/components/generator/config.js
new file mode 100644
index 0000000..792ad88
--- /dev/null
+++ b/src/components/FormGenerator/components/generator/config.js
@@ -0,0 +1,708 @@
+import { getToken } from '@/utils/auth'
+import SettingMer from '@/utils/settingMer'
+
+// 琛ㄥ崟灞炴�с�愬彸闈㈡澘銆�
+export const formConf = {
+ formRef: 'elForm',
+ formModel: 'formData',
+ size: 'medium',
+ labelPosition: 'right',
+ labelWidth: 100,
+ formRules: 'rules',
+ gutter: 15,
+ disabled: false,
+ span: 24,
+ formBtns: true
+}
+
+// 杈撳叆鍨嬬粍浠� 銆愬乏闈㈡澘銆�
+export const inputComponents = [
+ {
+ // 缁勪欢鐨勮嚜瀹氫箟閰嶇疆
+ __config__: {
+ label: '鍗曡鏂囨湰',
+ labelWidth: null,
+ showLabel: true,
+ changeTag: true,
+ tag: 'el-input',
+ tagIcon: 'input',
+ defaultValue: undefined,
+ required: true,
+ tips:false, //tooltip鎻忚堪鏄惁寮�鍚�
+ tipsDesc:'', //tooltip鎻忚堪鍐呭
+ tipsIsLink:false,//鏄惁寮�鍚弿杩伴摼鎺�
+ tipsLink:'', //鎻忚堪閾炬帴
+ layout: 'colFormItem',
+ span: 24,
+ document: 'https://element.eleme.cn/#/zh-CN/component/input',
+ // 姝e垯鏍¢獙瑙勫垯
+ regList: []
+ },
+ // 缁勪欢鐨勬彃妲藉睘鎬�
+ __slot__: {
+ prepend: '',
+ append: ''
+ },
+ // 鍏朵綑鐨勪负鍙洿鎺ュ啓鍦ㄧ粍浠舵爣绛句笂鐨勫睘鎬�
+ placeholder: '璇疯緭鍏�',
+ style: { width: '95%' },
+ clearable: true,
+ 'prefix-icon': '',
+ 'suffix-icon': '',
+ maxlength: null,
+ 'show-word-limit': false,
+ readonly: false,
+ disabled: false
+ },
+ {
+ __config__: {
+ label: '澶氳鏂囨湰',
+ labelWidth: null,
+ showLabel: true,
+ tag: 'el-input',
+ tagIcon: 'textarea',
+ defaultValue: undefined,
+ required: true,
+ tips:false,
+ tipsDesc:'',
+ tipsIsLink:false,
+ tipsLink:'',
+ layout: 'colFormItem',
+ span: 24,
+ regList: [],
+ changeTag: true,
+ document: 'https://element.eleme.cn/#/zh-CN/component/input'
+ },
+ type: 'textarea',
+ placeholder: '璇疯緭鍏�',
+ autosize: {
+ minRows: 4,
+ maxRows: 4
+ },
+ style: { width: '95%' },
+ maxlength: null,
+ 'show-word-limit': false,
+ readonly: false,
+ disabled: false
+ },
+ {
+ __config__: {
+ label: '瀵嗙爜',
+ showLabel: true,
+ labelWidth: null,
+ changeTag: true,
+ tag: 'el-input',
+ tagIcon: 'password',
+ defaultValue: undefined,
+ layout: 'colFormItem',
+ span: 24,
+ required: true,
+ tips:false,
+ tipsDesc:'',
+ tipsIsLink:false,
+ tipsLink:'',
+ regList: [],
+ document: 'https://element.eleme.cn/#/zh-CN/component/input'
+ },
+ __slot__: {
+ prepend: '',
+ append: ''
+ },
+ placeholder: '璇疯緭鍏�',
+ 'show-password': true,
+ style: { width: '100%' },
+ clearable: true,
+ 'prefix-icon': '',
+ 'suffix-icon': '',
+ maxlength: null,
+ 'show-word-limit': false,
+ readonly: false,
+ disabled: false
+ },
+ {
+ __config__: {
+ label: '璁℃暟鍣�',
+ showLabel: true,
+ changeTag: true,
+ labelWidth: null,
+ tag: 'el-input-number',
+ tagIcon: 'number',
+ defaultValue: undefined,
+ span: 24,
+ layout: 'colFormItem',
+ required: true,
+ tips:false,
+ tipsDesc:'',
+ tipsIsLink:false,
+ tipsLink:'',
+ regList: [],
+ document: 'https://element.eleme.cn/#/zh-CN/component/input-number'
+ },
+ placeholder: '',
+ min: undefined,
+ max: undefined,
+ step: 1,
+ 'step-strictly': false,
+ precision: undefined,
+ 'controls-position': '',
+ disabled: false
+ }
+ // {
+ // __config__: {
+ // label: '缂栬緫鍣�',
+ // showLabel: true,
+ // changeTag: true,
+ // labelWidth: null,
+ // tag: 'tinymce',
+ // tagIcon: 'rich-text',
+ // defaultValue: null,
+ // span: 24,
+ // layout: 'colFormItem',
+ // required: true,
+ // regList: [],
+ // document: 'http://tinymce.ax-z.cn'
+ // },
+ // height: 300, // 缂栬緫鍣ㄩ珮搴�
+ // branding: false // 闅愯棌鍙充笅瑙掑搧鐗岀儥鍗�
+ // }
+]
+
+// 閫夋嫨鍨嬬粍浠� 銆愬乏闈㈡澘銆�
+export const selectComponents = [
+ {
+ __config__: {
+ label: '涓嬫媺閫夋嫨',
+ showLabel: true,
+ labelWidth: null,
+ tag: 'el-select',
+ tagIcon: 'select',
+ defaultValue: undefined,
+ layout: 'colFormItem',
+ span: 24,
+ required: true,
+ tips:false,
+ tipsDesc:'',
+ tipsIsLink:false,
+ tipsLink:'',
+ regList: [],
+ changeTag: true,
+ document: 'https://element.eleme.cn/#/zh-CN/component/select'
+ },
+ __slot__: {
+ options: [{
+ label: '閫夐」涓�',
+ value: 1
+ }, {
+ label: '閫夐」浜�',
+ value: 2
+ }]
+ },
+ placeholder: '璇烽�夋嫨',
+ style: { width: '100%' },
+ clearable: true,
+ disabled: false,
+ filterable: false,
+ multiple: false
+ },
+ {
+ __config__: {
+ label: '绾ц仈閫夋嫨',
+ showLabel: true,
+ labelWidth: null,
+ tag: 'el-cascader',
+ tagIcon: 'cascader',
+ layout: 'colFormItem',
+ defaultValue: [],
+ dataType: 'dynamic',
+ span: 24,
+ required: true,
+ tips:false,
+ tipsDesc:'',
+ tipsIsLink:false,
+ tipsLink:'',
+ regList: [],
+ changeTag: true,
+ document: 'https://element.eleme.cn/#/zh-CN/component/cascader'
+ },
+ options: [{
+ id: 1,
+ value: 1,
+ label: '閫夐」1',
+ children: [{
+ id: 2,
+ value: 2,
+ label: '閫夐」1-1'
+ }]
+ }],
+ placeholder: '璇烽�夋嫨',
+ style: { width: '100%' },
+ props: {
+ props: {
+ multiple: false,
+ label: 'label',
+ value: 'value',
+ children: 'children'
+ }
+ },
+ 'show-all-levels': true,
+ disabled: false,
+ clearable: true,
+ filterable: false,
+ separator: '/'
+ },
+ {
+ __config__: {
+ label: '鍗曢�夋缁�',
+ labelWidth: null,
+ showLabel: true,
+ tag: 'el-radio-group',
+ tagIcon: 'radio',
+ changeTag: true,
+ defaultValue: undefined,
+ layout: 'colFormItem',
+ span: 24,
+ optionType: 'default',
+ regList: [],
+ required: true,
+ tips:false,
+ tipsDesc:'',
+ tipsIsLink:false,
+ tipsLink:'',
+ border: false,
+ // bindInput:false, //鏄惁寮�鍚粦瀹氳緭鍏�
+ // bindValve:'', //缁戝畾杈撳叆鍐呭
+ document: 'https://element.eleme.cn/#/zh-CN/component/radio'
+ },
+ __slot__: {
+ options: [{
+ label: '閫夐」涓�',
+ value: 1
+ }, {
+ label: '閫夐」浜�',
+ value: 2
+ }]
+ },
+ style: {},
+ size: 'medium',
+ disabled: false
+ },
+ {
+ __config__: {
+ label: '澶氶�夋缁�',
+ tag: 'el-checkbox-group',
+ tagIcon: 'checkbox',
+ defaultValue: [],
+ span: 24,
+ showLabel: true,
+ labelWidth: null,
+ layout: 'colFormItem',
+ optionType: 'default',
+ required: true,
+ tips:false,
+ tipsDesc:'',
+ tipsIsLink:false,
+ tipsLink:'',
+ regList: [],
+ changeTag: true,
+ border: false,
+ document: 'https://element.eleme.cn/#/zh-CN/component/checkbox'
+ },
+ __slot__: {
+ options: [{
+ label: '閫夐」涓�',
+ value: 1
+ }, {
+ label: '閫夐」浜�',
+ value: 2
+ }]
+ },
+ style: {},
+ size: 'medium',
+ min: null,
+ max: null,
+ disabled: false
+ },
+ {
+ __config__: {
+ label: '寮�鍏�',
+ tag: 'el-switch',
+ tagIcon: 'switch',
+ defaultValue: false,
+ span: 24,
+ showLabel: true,
+ labelWidth: null,
+ layout: 'colFormItem',
+ required: true,
+ tips:false,
+ tipsDesc:'',
+ tipsIsLink:false,
+ tipsLink:'',
+ regList: [],
+ changeTag: true,
+ document: 'https://element.eleme.cn/#/zh-CN/component/switch'
+ },
+ style: {},
+ disabled: false,
+ 'active-text': '',
+ 'inactive-text': '',
+ 'active-color': null,
+ 'inactive-color': null,
+ 'active-value': true,
+ 'inactive-value': false
+ },
+ {
+ __config__: {
+ label: '婊戝潡',
+ tag: 'el-slider',
+ tagIcon: 'slider',
+ defaultValue: null,
+ span: 24,
+ showLabel: true,
+ layout: 'colFormItem',
+ labelWidth: null,
+ required: true,
+ tips:false,
+ tipsDesc:'',
+ tipsIsLink:false,
+ tipsLink:'',
+ regList: [],
+ changeTag: true,
+ document: 'https://element.eleme.cn/#/zh-CN/component/slider'
+ },
+ disabled: false,
+ min: 0,
+ max: 100,
+ step: 1,
+ 'show-stops': false,
+ range: false
+ },
+ {
+ __config__: {
+ label: '鏃堕棿閫夋嫨',
+ tag: 'el-time-picker',
+ tagIcon: 'time',
+ defaultValue: null,
+ span: 24,
+ showLabel: true,
+ layout: 'colFormItem',
+ labelWidth: null,
+ required: true,
+ tips:false,
+ tipsDesc:'',
+ tipsIsLink:false,
+ tipsLink:'',
+ regList: [],
+ changeTag: true,
+ document: 'https://element.eleme.cn/#/zh-CN/component/time-picker'
+ },
+ placeholder: '璇烽�夋嫨',
+ style: { width: '100%' },
+ disabled: false,
+ clearable: true,
+ 'picker-options': {
+ selectableRange: '00:00:00-23:59:59'
+ },
+ format: 'HH:mm:ss',
+ 'value-format': 'HH:mm:ss'
+ },
+ {
+ __config__: {
+ label: '鏃堕棿鑼冨洿',
+ tag: 'el-time-picker',
+ tagIcon: 'time-range',
+ span: 24,
+ showLabel: true,
+ labelWidth: null,
+ layout: 'colFormItem',
+ defaultValue: null,
+ required: true,
+ tips:false,
+ tipsDesc:'',
+ tipsIsLink:false,
+ tipsLink:'',
+ regList: [],
+ changeTag: true,
+ document: 'https://element.eleme.cn/#/zh-CN/component/time-picker'
+ },
+ style: { width: '100%' },
+ disabled: false,
+ clearable: true,
+ 'is-range': true,
+ 'range-separator': '鑷�',
+ 'start-placeholder': '寮�濮嬫椂闂�',
+ 'end-placeholder': '缁撴潫鏃堕棿',
+ format: 'HH:mm:ss',
+ 'value-format': 'HH:mm:ss'
+ },
+ {
+ __config__: {
+ label: '鍥哄畾鏃堕棿鑼冨洿',
+ tag: 'time-select',
+ tagIcon: 'time-select',
+ span: 24,
+ showLabel: true,
+ labelWidth: null,
+ layout: 'colFormItem',
+ defaultValue: null,
+ required: true,
+ tips:false,
+ tipsDesc:'',
+ tipsIsLink:false,
+ tipsLink:'',
+ regList: [],
+ changeTag: true,
+ document: 'https://element.eleme.cn/#/zh-CN/component/time-picker'
+ },
+ style: { width: '100%' },
+ disabled: false,
+ clearable: true,
+ placeholder: '璇烽�夋嫨',
+ format: 'HH:mm',
+ 'value-format': 'HH:mm'
+ },
+ {
+ __config__: {
+ label: '鏃ユ湡閫夋嫨',
+ tag: 'el-date-picker',
+ tagIcon: 'date',
+ defaultValue: null,
+ showLabel: true,
+ labelWidth: null,
+ span: 24,
+ layout: 'colFormItem',
+ required: true,
+ tips:false,
+ tipsDesc:'',
+ tipsIsLink:false,
+ tipsLink:'',
+ regList: [],
+ changeTag: true,
+ document: 'https://element.eleme.cn/#/zh-CN/component/date-picker'
+ },
+ placeholder: '璇烽�夋嫨',
+ type: 'date',
+ style: { width: '100%' },
+ disabled: false,
+ clearable: true,
+ format: 'yyyy-MM-dd',
+ 'value-format': 'yyyy-MM-dd',
+ readonly: false
+ },
+ {
+ __config__: {
+ label: '鏃ユ湡鑼冨洿',
+ tag: 'el-date-picker',
+ tagIcon: 'date-range',
+ defaultValue: null,
+ span: 24,
+ showLabel: true,
+ labelWidth: null,
+ required: true,
+ tips:false,
+ tipsDesc:'',
+ tipsIsLink:false,
+ tipsLink:'',
+ layout: 'colFormItem',
+ regList: [],
+ changeTag: true,
+ document: 'https://element.eleme.cn/#/zh-CN/component/date-picker'
+ },
+ style: { width: '100%' },
+ type: 'daterange',
+ 'range-separator': '鑷�',
+ 'start-placeholder': '寮�濮嬫棩鏈�',
+ 'end-placeholder': '缁撴潫鏃ユ湡',
+ disabled: false,
+ clearable: true,
+ format: 'yyyy-MM-dd',
+ 'value-format': 'yyyy-MM-dd',
+ readonly: false
+ },
+ {
+ __config__: {
+ label: '璇勫垎',
+ tag: 'el-rate',
+ tagIcon: 'rate',
+ defaultValue: 0,
+ span: 24,
+ showLabel: true,
+ labelWidth: null,
+ layout: 'colFormItem',
+ required: true,
+ tips:false,
+ tipsDesc:'',
+ tipsIsLink:false,
+ tipsLink:'',
+ regList: [],
+ changeTag: true,
+ document: 'https://element.eleme.cn/#/zh-CN/component/rate'
+ },
+ style: {},
+ max: 5,
+ 'allow-half': false,
+ 'show-text': false,
+ 'show-score': false,
+ disabled: false
+ },
+ {
+ __config__: {
+ label: '棰滆壊閫夋嫨',
+ tag: 'el-color-picker',
+ tagIcon: 'color',
+ span: 24,
+ defaultValue: null,
+ showLabel: true,
+ labelWidth: null,
+ layout: 'colFormItem',
+ required: true,
+ tips:false,
+ tipsDesc:'',
+ tipsIsLink:false,
+ tipsLink:'',
+ regList: [],
+ changeTag: true,
+ document: 'https://element.eleme.cn/#/zh-CN/component/color-picker'
+ },
+ 'show-alpha': false,
+ 'color-format': '',
+ disabled: false,
+ size: 'medium'
+ },
+ {
+ __config__: {
+ label: '涓婁紶鏂囦欢',
+ tag: 'upload-file',
+ tagIcon: 'uploadPicture',
+ layout: 'colFormItem',
+ defaultValue: null,
+ showLabel: true,
+ labelWidth: null,
+ required: true,
+ tips:false,
+ tipsDesc:'',
+ tipsIsLink:false,
+ tipsLink:'',
+ span: 24,
+ showTip: false,
+ buttonText: '鐐瑰嚮涓婁紶',
+ regList: [],
+ changeTag: true,
+ // fileSize: 2,
+ // sizeUnit: 'MB',
+ document: 'https://element.eleme.cn/#/zh-CN/component/upload'
+ },
+ __slot__: {
+ 'list-type': true
+ },
+ accept: '',
+ // headers: { 'Authori-zation': getToken() },
+ // data: { model: 'product', pid: 0 },
+ // action: SettingMer.apiBaseURL + 'admin/upload/image?model=product&pid=0',
+ // disabled: false,
+ // accept: '',
+ name: 'upfile',
+ // 'auto-upload': false,
+ // 'list-type': 'text',
+ // multiple: false
+ },
+ {
+ __config__: {
+ label: '鑷畾涔変笂浼�',
+ tag: 'self-upload',
+ tagIcon: 'selfUpload',
+ layout: 'colFormItem',
+ defaultValue: null,
+ showLabel: true,
+ labelWidth: null,
+ required: true,
+ tips:false,
+ tipsDesc:'',
+ tipsIsLink:false,
+ tipsLink:'',
+ span: 24,
+ showTip: false,
+ buttonText: '',
+ regList: [],
+ changeTag: true,
+ // fileSize: 2,
+ // sizeUnit: 'MB',
+ document: 'https://element.eleme.cn/#/zh-CN/component/upload'
+ },
+ __slot__: {
+ 'list-type': true
+ },
+ // action: 'https://jsonplaceholder.typicode.com/posts/',
+ disabled: true,
+ accept: 'image',
+ name: 'file',
+ // 'auto-upload': true,
+ // 'list-type': 'text',
+ multiple: false
+ },
+ // {
+ // __config__: {
+ // label: '瀵屾枃鏈紪杈戝櫒',
+ // tag: 'tinymce',
+ // tagIcon: 'rich-text',
+ // layout: 'colFormItem',
+ // defaultValue: null,
+ // showLabel: true,
+ // labelWidth: null,
+ // required: false,
+ // tips:false,
+ // tipsDesc:'',
+ // tipsIsLink:false,
+ // tipsLink:'',
+ // span: 24,
+ // showTip: false,
+ // regList: [],
+ // document: "http://tinymce.ax-z.cn",
+ // renderKey: 1636077154813,
+ // changeTag: true,
+ // },
+ // height: 300, // 缂栬緫鍣ㄩ珮搴�
+ // name: 'tinymce',
+ // disabled: false
+ // }
+]
+
+// 甯冨眬鍨嬬粍浠� 銆愬乏闈㈡澘銆�
+export const layoutComponents = [
+ {
+ __config__: {
+ layout: 'rowFormItem',
+ tagIcon: 'row',
+ label: '琛屽鍣�',
+ layoutTree: true,
+ children: [],
+ document: 'https://element.eleme.cn/#/zh-CN/component/layout'
+ },
+ type: 'default',
+ justify: 'start',
+ align: 'top'
+ },
+ {
+ __config__: {
+ label: '鎸夐挳',
+ showLabel: true,
+ changeTag: true,
+ labelWidth: null,
+ tag: 'el-button',
+ tagIcon: 'button',
+ defaultValue: undefined,
+ span: 24,
+ layout: 'colFormItem',
+ document: 'https://element.eleme.cn/#/zh-CN/component/button'
+ },
+ __slot__: {
+ default: '涓昏鎸夐挳'
+ },
+ type: 'primary',
+ icon: 'el-icon-search',
+ round: false,
+ size: 'medium',
+ plain: false,
+ circle: false,
+ disabled: false
+ }
+]
diff --git a/src/components/FormGenerator/components/generator/css.js b/src/components/FormGenerator/components/generator/css.js
new file mode 100644
index 0000000..7cb86e6
--- /dev/null
+++ b/src/components/FormGenerator/components/generator/css.js
@@ -0,0 +1,18 @@
+const styles = {
+ 'el-rate': '.el-rate{display: inline-block; vertical-align: text-top;}',
+ 'el-upload': '.el-upload__tip{line-height: 1.2;}'
+}
+
+function addCss(cssList, el) {
+ const css = styles[el.__config__.tag]
+ css && cssList.indexOf(css) === -1 && cssList.push(css)
+ if (el.__config__.children) {
+ el.__config__.children.forEach(el2 => addCss(cssList, el2))
+ }
+}
+
+export function makeUpCss(conf) {
+ const cssList = []
+ conf.fields.forEach(el => addCss(cssList, el))
+ return cssList.join('\n')
+}
diff --git a/src/components/FormGenerator/components/generator/drawingDefalut.js b/src/components/FormGenerator/components/generator/drawingDefalut.js
new file mode 100644
index 0000000..dbc1daf
--- /dev/null
+++ b/src/components/FormGenerator/components/generator/drawingDefalut.js
@@ -0,0 +1,37 @@
+export default [
+ {
+ __config__: {
+ label: '鍗曡鏂囨湰',
+ labelWidth: null,
+ showLabel: true,
+ changeTag: true,
+ tag: 'el-input',
+ tagIcon: 'input',
+ defaultValue: undefined,
+ required: true,
+ layout: 'colFormItem',
+ span: 24,
+ document: 'https://element.eleme.cn/#/zh-CN/component/input',
+ // 姝e垯鏍¢獙瑙勫垯
+ regList: [{
+ pattern: '/^1(3|4|5|7|8|9)\\d{9}$/',
+ message: '鎵嬫満鍙锋牸寮忛敊璇�'
+ }]
+ },
+ // 缁勪欢鐨勬彃妲藉睘鎬�
+ __slot__: {
+ prepend: '',
+ append: ''
+ },
+ __vModel__: 'mobile',
+ placeholder: '璇疯緭鍏ユ墜鏈哄彿',
+ style: { width: '100%' },
+ clearable: true,
+ 'prefix-icon': 'el-icon-mobile',
+ 'suffix-icon': '',
+ maxlength: 11,
+ 'show-word-limit': true,
+ readonly: false,
+ disabled: false
+ }
+]
diff --git a/src/components/FormGenerator/components/generator/html.js b/src/components/FormGenerator/components/generator/html.js
new file mode 100644
index 0000000..0421e70
--- /dev/null
+++ b/src/components/FormGenerator/components/generator/html.js
@@ -0,0 +1,432 @@
+/* eslint-disable max-len */
+import ruleTrigger from './ruleTrigger'
+import { getToken } from '@/utils/auth'
+let confGlobal
+let someSpanIsNot24
+
+export function dialogWrapper(str) {
+ return `<el-dialog v-bind="$attrs" v-on="$listeners" @open="onOpen" @close="onClose" title="Dialog Titile">
+ ${str}
+ <div slot="footer">
+ <el-button @click="close">鍙栨秷</el-button>
+ <el-button type="primary" @click="handelConfirm">纭畾</el-button>
+ </div>
+ </el-dialog>`
+}
+
+export function vueTemplate(str) {
+ return `<template>
+ <div>
+ ${str}
+ </div>
+ </template>`
+}
+
+export function vueScript(str) {
+ return `<script>
+ ${str}
+ </script>`
+}
+
+export function cssStyle(cssStr) {
+ return `<style>
+ ${cssStr}
+ </style>`
+}
+
+function buildFormTemplate(scheme, child, type) {
+ let labelPosition = ''
+ if (scheme.labelPosition !== 'right') {
+ labelPosition = `label-position="${scheme.labelPosition}"`
+ }
+ const disabled = scheme.disabled ? `:disabled="${scheme.disabled}"` : ''
+ let str = `<el-form ref="${scheme.formRef}" :model="${scheme.formModel}" :rules="${scheme.formRules}" size="${scheme.size}" ${disabled} label-width="${scheme.labelWidth}px" ${labelPosition}>
+ ${child}
+ ${buildFromBtns(scheme, type)}
+ </el-form>`
+ if (someSpanIsNot24) {
+ str = `<el-row :gutter="${scheme.gutter}">
+ ${str}
+ </el-row>`
+ }
+ return str
+}
+
+function buildFromBtns(scheme, type) {
+ let str = ''
+ if (scheme.formBtns && type === 'file') {
+ str = `<el-form-item size="large">
+ <el-button type="primary" @click="submitForm">鎻愪氦</el-button>
+ <el-button @click="resetForm">鍙栨秷</el-button>
+ </el-form-item>`
+ if (someSpanIsNot24) {
+ str = `<el-col :span="24">
+ ${str}
+ </el-col>`
+ }
+ }
+ return str
+}
+
+// span涓嶄负24鐨勭敤el-col鍖呰9
+function colWrapper(scheme, str) {
+ if (someSpanIsNot24 || scheme.__config__.span !== 24) {
+ return `<el-col :span="${scheme.__config__.span}">
+ ${str}
+ </el-col>`
+ }
+ return str
+}
+
+const layouts = {
+ colFormItem(scheme) {
+ const config = scheme.__config__
+ let labelWidth = ''
+ let label = `label="${config.label}"`
+ if (config.labelWidth && config.labelWidth !== confGlobal.labelWidth) {
+ labelWidth = `label-width="${config.labelWidth}px"`
+ }
+ if (config.showLabel === false) {
+ labelWidth = 'label-width="0"'
+ label = ''
+ }
+ const required = !ruleTrigger[config.tag] && config.required ? 'required' : ''
+ const tagDom = tags[config.tag] ? tags[config.tag](scheme) : null
+ let str = `<el-form-item ${labelWidth} ${label} prop="${scheme.__vModel__}" ${required}>
+ ${tagDom}
+ </el-form-item>`
+ str = colWrapper(scheme, str)
+ return str
+ },
+ rowFormItem(scheme) {
+ const config = scheme.__config__
+ const type = scheme.type === 'default' ? '' : `type="${scheme.type}"`
+ const justify = scheme.type === 'default' ? '' : `justify="${scheme.justify}"`
+ const align = scheme.type === 'default' ? '' : `align="${scheme.align}"`
+ const gutter = scheme.gutter ? `:gutter="${scheme.gutter}"` : ''
+ const children = config.children.map(el => layouts[el.__config__.layout](el))
+ let str = `<el-row ${type} ${justify} ${align} ${gutter}>
+ ${children.join('\n')}
+ </el-row>`
+ str = colWrapper(scheme, str)
+ return str
+ }
+}
+
+const tags = {
+ 'el-button': el => {
+ const {
+ tag, disabled
+ } = attrBuilder(el)
+ const type = el.type ? `type="${el.type}"` : ''
+ const icon = el.icon ? `icon="${el.icon}"` : ''
+ const round = el.round ? 'round' : ''
+ const size = el.size ? `size="${el.size}"` : ''
+ const plain = el.plain ? 'plain' : ''
+ const circle = el.circle ? 'circle' : ''
+ let child = buildElButtonChild(el)
+
+ if (child) child = `\n${child}\n` // 鎹㈣
+ return `<${tag} ${type} ${icon} ${round} ${size} ${plain} ${disabled} ${circle}>${child}</${tag}>`
+ },
+ 'el-input': el => {
+ const {
+ tag, disabled, vModel, clearable, placeholder, width
+ } = attrBuilder(el)
+ const maxlength = el.maxlength ? `:maxlength="${el.maxlength}"` : ''
+ const showWordLimit = el['show-word-limit'] ? 'show-word-limit' : ''
+ const readonly = el.readonly ? 'readonly' : ''
+ const prefixIcon = el['prefix-icon'] ? `prefix-icon='${el['prefix-icon']}'` : ''
+ const suffixIcon = el['suffix-icon'] ? `suffix-icon='${el['suffix-icon']}'` : ''
+ const showPassword = el['show-password'] ? 'show-password' : ''
+ const type = el.type ? `type="${el.type}"` : ''
+ const autosize = el.autosize && el.autosize.minRows
+ ? `:autosize="{minRows: ${el.autosize.minRows}, maxRows: ${el.autosize.maxRows}}"`
+ : ''
+ let child = buildElInputChild(el)
+
+ if (child) child = `\n${child}\n` // 鎹㈣
+ return `<${tag} ${vModel} ${type} ${placeholder} ${maxlength} ${showWordLimit} ${readonly} ${disabled} ${clearable} ${prefixIcon} ${suffixIcon} ${showPassword} ${autosize} ${width}>${child}</${tag}>`
+ },
+ 'el-input-number': el => {
+ const {
+ tag, disabled, vModel, placeholder
+ } = attrBuilder(el)
+ const controlsPosition = el['controls-position'] ? `controls-position=${el['controls-position']}` : ''
+ const min = el.min ? `:min='${el.min}'` : ''
+ const max = el.max ? `:max='${el.max}'` : ''
+ const step = el.step ? `:step='${el.step}'` : ''
+ const stepStrictly = el['step-strictly'] ? 'step-strictly' : ''
+ const precision = el.precision ? `:precision='${el.precision}'` : ''
+
+ return `<${tag} ${vModel} ${placeholder} ${step} ${stepStrictly} ${precision} ${controlsPosition} ${min} ${max} ${disabled}></${tag}>`
+ },
+ 'el-select': el => {
+ const {
+ tag, disabled, vModel, clearable, placeholder, width
+ } = attrBuilder(el)
+ const filterable = el.filterable ? 'filterable' : ''
+ const multiple = el.multiple ? 'multiple' : ''
+ let child = buildElSelectChild(el)
+
+ if (child) child = `\n${child}\n` // 鎹㈣
+ return `<${tag} ${vModel} ${placeholder} ${disabled} ${multiple} ${filterable} ${clearable} ${width}>${child}</${tag}>`
+ },
+ 'el-radio-group': el => {
+ const { tag, disabled, vModel } = attrBuilder(el)
+ const size = `size="${el.size}"`
+ let child = buildElRadioGroupChild(el)
+
+ if (child) child = `\n${child}\n` // 鎹㈣
+ return `<${tag} ${vModel} ${size} ${disabled}>${child}</${tag}>`
+ },
+ 'el-checkbox-group': el => {
+ const { tag, disabled, vModel } = attrBuilder(el)
+ const size = `size="${el.size}"`
+ const min = el.min ? `:min="${el.min}"` : ''
+ const max = el.max ? `:max="${el.max}"` : ''
+ let child = buildElCheckboxGroupChild(el)
+
+ if (child) child = `\n${child}\n` // 鎹㈣
+ return `<${tag} ${vModel} ${min} ${max} ${size} ${disabled}>${child}</${tag}>`
+ },
+ 'el-switch': el => {
+ const { tag, disabled, vModel } = attrBuilder(el)
+ const activeText = el['active-text'] ? `active-text="${el['active-text']}"` : ''
+ const inactiveText = el['inactive-text'] ? `inactive-text="${el['inactive-text']}"` : ''
+ const activeColor = el['active-color'] ? `active-color="${el['active-color']}"` : ''
+ const inactiveColor = el['inactive-color'] ? `inactive-color="${el['inactive-color']}"` : ''
+ const activeValue = el['active-value'] !== true ? `:active-value='${JSON.stringify(el['active-value'])}'` : ''
+ const inactiveValue = el['inactive-value'] !== false ? `:inactive-value='${JSON.stringify(el['inactive-value'])}'` : ''
+
+ return `<${tag} ${vModel} ${activeText} ${inactiveText} ${activeColor} ${inactiveColor} ${activeValue} ${inactiveValue} ${disabled}></${tag}>`
+ },
+ 'el-cascader': el => {
+ const {
+ tag, disabled, vModel, clearable, placeholder, width
+ } = attrBuilder(el)
+ const options = el.options ? `:options="${el.__vModel__}Options"` : ''
+ const props = el.props ? `:props="${el.__vModel__}Props"` : ''
+ const showAllLevels = el['show-all-levels'] ? '' : ':show-all-levels="false"'
+ const filterable = el.filterable ? 'filterable' : ''
+ const separator = el.separator === '/' ? '' : `separator="${el.separator}"`
+
+ return `<${tag} ${vModel} ${options} ${props} ${width} ${showAllLevels} ${placeholder} ${separator} ${filterable} ${clearable} ${disabled}></${tag}>`
+ },
+ 'el-slider': el => {
+ const { tag, disabled, vModel } = attrBuilder(el)
+ const min = el.min ? `:min='${el.min}'` : ''
+ const max = el.max ? `:max='${el.max}'` : ''
+ const step = el.step ? `:step='${el.step}'` : ''
+ const range = el.range ? 'range' : ''
+ const showStops = el['show-stops'] ? `:show-stops="${el['show-stops']}"` : ''
+
+ return `<${tag} ${min} ${max} ${step} ${vModel} ${range} ${showStops} ${disabled}></${tag}>`
+ },
+ 'el-time-picker': el => {
+ const {
+ tag, disabled, vModel, clearable, placeholder, width
+ } = attrBuilder(el)
+ const startPlaceholder = el['start-placeholder'] ? `start-placeholder="${el['start-placeholder']}"` : ''
+ const endPlaceholder = el['end-placeholder'] ? `end-placeholder="${el['end-placeholder']}"` : ''
+ const rangeSeparator = el['range-separator'] ? `range-separator="${el['range-separator']}"` : ''
+ const isRange = el['is-range'] ? 'is-range' : ''
+ const format = el.format ? `format="${el.format}"` : ''
+ const valueFormat = el['value-format'] ? `value-format="${el['value-format']}"` : ''
+ const pickerOptions = el['picker-options'] ? `:picker-options='${JSON.stringify(el['picker-options'])}'` : ''
+
+ return `<${tag} ${vModel} ${isRange} ${format} ${valueFormat} ${pickerOptions} ${width} ${placeholder} ${startPlaceholder} ${endPlaceholder} ${rangeSeparator} ${clearable} ${disabled}></${tag}>`
+ },
+ 'el-date-picker': el => {
+ const {
+ tag, disabled, vModel, clearable, placeholder, width
+ } = attrBuilder(el)
+ const startPlaceholder = el['start-placeholder'] ? `start-placeholder="${el['start-placeholder']}"` : ''
+ const endPlaceholder = el['end-placeholder'] ? `end-placeholder="${el['end-placeholder']}"` : ''
+ const rangeSeparator = el['range-separator'] ? `range-separator="${el['range-separator']}"` : ''
+ const format = el.format ? `format="${el.format}"` : ''
+ const valueFormat = el['value-format'] ? `value-format="${el['value-format']}"` : ''
+ const type = el.type === 'date' ? '' : `type="${el.type}"`
+ const readonly = el.readonly ? 'readonly' : ''
+
+ return `<${tag} ${type} ${vModel} ${format} ${valueFormat} ${width} ${placeholder} ${startPlaceholder} ${endPlaceholder} ${rangeSeparator} ${clearable} ${readonly} ${disabled}></${tag}>`
+ },
+ 'el-rate': el => {
+ const { tag, disabled, vModel } = attrBuilder(el)
+ const max = el.max ? `:max='${el.max}'` : ''
+ const allowHalf = el['allow-half'] ? 'allow-half' : ''
+ const showText = el['show-text'] ? 'show-text' : ''
+ const showScore = el['show-score'] ? 'show-score' : ''
+
+ return `<${tag} ${vModel} ${max} ${allowHalf} ${showText} ${showScore} ${disabled}></${tag}>`
+ },
+ 'el-color-picker': el => {
+ const { tag, disabled, vModel } = attrBuilder(el)
+ const size = `size="${el.size}"`
+ const showAlpha = el['show-alpha'] ? 'show-alpha' : ''
+ const colorFormat = el['color-format'] ? `color-format="${el['color-format']}"` : ''
+
+ return `<${tag} ${vModel} ${size} ${showAlpha} ${colorFormat} ${disabled}></${tag}>`
+ },
+ 'el-upload': el => {
+ const { tag } = el.__config__
+ const disabled = el.disabled ? ':disabled=\'true\'' : ''
+ const action = el.action ? `:action="${el.__vModel__}Action"` : ''
+ const multiple = el.multiple ? 'multiple' : ''
+ const listType = el['list-type'] !== 'text' ? `list-type="${el['list-type']}"` : ''
+ const accept = el.accept ? `accept="${el.accept}"` : ''
+ const name = el.name !== 'file' ? `name="${el.name}"` : ''
+ const autoUpload = el['auto-upload'] === false ? ':auto-upload="false"' : ''
+ const beforeUpload = `:before-upload="${el.__vModel__}BeforeUpload"`
+ const fileList = `:file-list="${el.__vModel__}fileList"`
+ const ref = `ref="${el.__vModel__}"`
+ const headers = { 'Authori-zation': getToken() }
+ const data = el.data ? 'data' : ''
+ let child = buildElUploadChild(el)
+
+ if (child) child = `\n${child}\n` // 鎹㈣
+ return `<${tag} ${headers} ${data} ${ref} ${fileList} ${action} ${autoUpload} ${multiple} ${beforeUpload} ${listType} ${accept} ${name} ${disabled}>${child}</${tag}>`
+ },
+ 'self-upload': el => {
+ const { tag, vModel } = attrBuilder(el)
+ const height = el.height ? `:height="${el.height}"` : ''
+ const multiple = el.multiple ? 'multiple' : ''
+ const branding = el.branding ? `:branding="${el.branding}"` : ''
+ return `<${tag} ${vModel} ${height} ${branding} ${multiple}></${tag}>`
+ },
+ 'ueditor-from': el => {
+ const { tag, vModel } = attrBuilder(el)
+ const height = el.height ? `:height="${el.height}"` : ''
+ return `<${tag} ${vModel}${height} >`
+ },
+ 'upload-file': el => {
+ const { tag, vModel } = attrBuilder(el)
+ const height = el.height ? `:height="${el.height}"` : ''
+ return `<${tag} ${vModel}${height} >`
+ },
+ 'time-select': el => {
+ const { tag, vModel } = attrBuilder(el)
+ const height = el.height ? `:height="${el.height}"` : ''
+ return `<${tag} ${vModel}${height} >`
+ },
+ tinymce: el => {
+ const { tag, vModel } = attrBuilder(el)
+ const branding = el.branding ? `:branding="${el.branding}"` : ''
+ return `<${tag} ${vModel} ${branding}></${tag}>`
+ }
+}
+
+function attrBuilder(el) {
+ return {
+ tag: el.__config__.tag,
+ vModel: `v-model="${confGlobal.formModel}.${el.__vModel__}"`,
+ clearable: el.clearable ? 'clearable' : '',
+ placeholder: el.placeholder ? `placeholder="${el.placeholder}"` : '',
+ width: el.style && el.style.width ? ':style="{width: \'100%\'}"' : '',
+ disabled: el.disabled ? ':disabled=\'true\'' : ''
+ }
+}
+
+// el-buttin 瀛愮骇
+function buildElButtonChild(scheme) {
+ const children = []
+ const slot = scheme.__slot__ || {}
+ if (slot.default) {
+ children.push(slot.default)
+ }
+ return children.join('\n')
+}
+
+// el-input 瀛愮骇
+function buildElInputChild(scheme) {
+ const children = []
+ const slot = scheme.__slot__
+ if (slot && slot.prepend) {
+ children.push(`<template slot="prepend">${slot.prepend}</template>`)
+ }
+ if (slot && slot.append) {
+ children.push(`<template slot="append">${slot.append}</template>`)
+ }
+ return children.join('\n')
+}
+
+// el-select 瀛愮骇
+function buildElSelectChild(scheme) {
+ const children = []
+ const slot = scheme.__slot__
+ if (slot && slot.options && slot.options.length) {
+ children.push(`<el-option v-for="(item, index) in ${scheme.__vModel__}Options" :key="index" :label="item.label" :value="item.value" :disabled="item.disabled"></el-option>`)
+ }
+ return children.join('\n')
+}
+
+// el-radio-group 瀛愮骇
+function buildElRadioGroupChild(scheme) {
+ const children = []
+ const slot = scheme.__slot__
+ const config = scheme.__config__
+ if (slot && slot.options && slot.options.length) {
+ const tag = config.optionType === 'button' ? 'el-radio-button' : 'el-radio'
+ const border = config.border ? 'border' : ''
+ children.push(`<${tag} v-for="(item, index) in ${scheme.__vModel__}Options" :key="index" :label="item.value" :disabled="item.disabled" ${border}>{{item.label}}</${tag}>`)
+ }
+ return children.join('\n')
+}
+
+// el-checkbox-group 瀛愮骇
+function buildElCheckboxGroupChild(scheme) {
+ const children = []
+ const slot = scheme.__slot__
+ const config = scheme.__config__
+ if (slot && slot.options && slot.options.length) {
+ const tag = config.optionType === 'button' ? 'el-checkbox-button' : 'el-checkbox'
+ const border = config.border ? 'border' : ''
+ children.push(`<${tag} v-for="(item, index) in ${scheme.__vModel__}Options" :key="index" :label="item.value" :disabled="item.disabled" ${border}>{{item.label}}</${tag}>`)
+ }
+ return children.join('\n')
+}
+
+// el-upload 瀛愮骇
+function buildElUploadChild(scheme) {
+ const list = []
+ const config = scheme.__config__
+ if (scheme['list-type'] === 'picture-card') list.push('<i class="el-icon-plus"></i>')
+ else list.push(`<el-button size="small" type="primary" icon="el-icon-upload">${config.buttonText}</el-button>`)
+ if (config.showTip) list.push(`<div slot="tip" class="el-upload__tip">鍙兘涓婁紶涓嶈秴杩� ${config.fileSize}${config.sizeUnit} 鐨�${scheme.accept}鏂囦欢</div>`)
+ return list.join('\n')
+}
+
+// el-upload 瀛愮骇
+// function buildSelfUploadChild(scheme) {
+// const list = []
+// const config = scheme.__config__
+// if (scheme['list-type'] === 'picture-card') list.push('<i class="el-icon-plus"></i>')
+// else list.push(`<el-button size="small" type="primary" icon="el-icon-upload">${config.buttonText}</el-button>`)
+// if (config.showTip) list.push(`<div slot="tip" class="el-upload__tip">鍙兘涓婁紶涓嶈秴杩� ${config.fileSize}${config.sizeUnit} 鐨�${scheme.accept}鏂囦欢</div>`)
+// return list.join('\n')
+// }
+
+/**
+ * 缁勮html浠g爜銆傘�愬叆鍙e嚱鏁般��
+ * @param {Object} formConfig 鏁翠釜琛ㄥ崟閰嶇疆
+ * @param {String} type 鐢熸垚绫诲瀷锛屾枃浠舵垨寮圭獥绛�
+ */
+export function makeUpHtml(formConfig, type) {
+ const htmlList = []
+ confGlobal = formConfig
+ // 鍒ゆ柇甯冨眬鏄惁閮芥簿婊′簡24涓爡鏍硷紝浠ュ鍚庣画绠�鍖栦唬鐮佺粨鏋�
+ someSpanIsNot24 = formConfig.fields.some(item => item.__config__.span !== 24)
+ // 閬嶅巻娓叉煋姣忎釜缁勪欢鎴恏tml
+ formConfig.fields.forEach(el => {
+ htmlList.push(layouts[el.__config__.layout](el))
+ })
+ const htmlStr = htmlList.join('\n')
+ // 灏嗙粍浠朵唬鐮佹斁杩沠orm鏍囩
+ let temp = buildFormTemplate(formConfig, htmlStr, type)
+ // dialog鏍囩鍖呰9浠g爜
+ if (type === 'dialog') {
+ temp = dialogWrapper(temp)
+ }
+ confGlobal = null
+ return temp
+}
diff --git a/src/components/FormGenerator/components/generator/js.js b/src/components/FormGenerator/components/generator/js.js
new file mode 100644
index 0000000..9052ffb
--- /dev/null
+++ b/src/components/FormGenerator/components/generator/js.js
@@ -0,0 +1,253 @@
+import { isArray } from 'util'
+import { exportDefault, titleCase } from '@/utils/index'
+import ruleTrigger from './ruleTrigger'
+
+const units = {
+ KB: '1024',
+ MB: '1024 / 1024',
+ GB: '1024 / 1024 / 1024'
+}
+let confGlobal
+const inheritAttrs = {
+ file: '',
+ dialog: 'inheritAttrs: false,'
+}
+
+/**
+ * 缁勮js 銆愬叆鍙e嚱鏁般��
+ * @param {Object} formConfig 鏁翠釜琛ㄥ崟閰嶇疆
+ * @param {String} type 鐢熸垚绫诲瀷锛屾枃浠舵垨寮圭獥绛�
+ */
+export function makeUpJs(formConfig, type) {
+ confGlobal = formConfig = JSON.parse(JSON.stringify(formConfig))
+ const dataList = []
+ const ruleList = []
+ const optionsList = []
+ const propsList = []
+ const methodList = mixinMethod(type)
+ const uploadVarList = []
+
+ formConfig.fields.forEach(el => {
+ buildAttributes(el, dataList, ruleList, optionsList, methodList, propsList, uploadVarList)
+ })
+
+ const script = buildexport(
+ formConfig,
+ type,
+ dataList.join('\n'),
+ ruleList.join('\n'),
+ optionsList.join('\n'),
+ uploadVarList.join('\n'),
+ propsList.join('\n'),
+ methodList.join('\n')
+ )
+ confGlobal = null
+ return script
+}
+
+// 鏋勫缓缁勪欢灞炴��
+function buildAttributes(scheme, dataList, ruleList, optionsList, methodList, propsList, uploadVarList) {
+ const config = scheme.__config__
+ const slot = scheme.__slot__
+ buildData(scheme, dataList)
+ buildRules(scheme, ruleList)
+
+ // 鐗规畩澶勭悊options灞炴��
+ if (scheme.options || (slot && slot.options && slot.options.length)) {
+ buildOptions(scheme, optionsList)
+ if (config.dataType === 'dynamic') {
+ const model = `${scheme.__vModel__}Options`
+ const options = titleCase(model)
+ buildOptionMethod(`get${options}`, model, methodList)
+ }
+ }
+
+ // 澶勭悊props
+ if (scheme.props && scheme.props.props) {
+ buildProps(scheme, propsList)
+ }
+
+ // 澶勭悊el-upload鐨刟ction
+ if (scheme.action && config.tag === 'el-upload') {
+ uploadVarList.push(
+ `${scheme.__vModel__}Action: '${scheme.action}',
+ ${scheme.__vModel__}fileList: [],`
+ )
+ methodList.push(buildBeforeUpload(scheme))
+ // 闈炶嚜鍔ㄤ笂浼犳椂锛岀敓鎴愭墜鍔ㄤ笂浼犵殑鍑芥暟
+ if (!scheme['auto-upload']) {
+ methodList.push(buildSubmitUpload(scheme))
+ }
+ }
+
+ // 鏋勫缓瀛愮骇缁勪欢灞炴��
+ if (config.children) {
+ config.children.forEach(item => {
+ buildAttributes(item, dataList, ruleList, optionsList, methodList, propsList, uploadVarList)
+ })
+ }
+}
+
+// 娣峰叆澶勭悊鍑芥暟
+function mixinMethod(type) {
+ const list = []; const
+ minxins = {
+ file: confGlobal.formBtns ? {
+ submitForm: `submitForm() {
+ this.$refs['${confGlobal.formRef}'].validate(valid => {
+ if(!valid) return
+ // TODO 鎻愪氦琛ㄥ崟
+ })
+ },`,
+ resetForm: `resetForm() {
+ this.$refs['${confGlobal.formRef}'].resetFields()
+ },`
+ } : null,
+ dialog: {
+ onOpen: 'onOpen() {},',
+ onClose: `onClose() {
+ this.$refs['${confGlobal.formRef}'].resetFields()
+ },`,
+ close: `close() {
+ this.$emit('update:visible', false)
+ },`,
+ handelConfirm: `handelConfirm() {
+ this.$refs['${confGlobal.formRef}'].validate(valid => {
+ if(!valid) return
+ this.close()
+ })
+ },`
+ }
+ }
+
+ const methods = minxins[type]
+ if (methods) {
+ Object.keys(methods).forEach(key => {
+ list.push(methods[key])
+ })
+ }
+
+ return list
+}
+
+// 鏋勫缓data
+function buildData(scheme, dataList) {
+ const config = scheme.__config__
+ if (scheme.__vModel__ === undefined) return
+ const defaultValue = JSON.stringify(config.defaultValue)
+ dataList.push(`${scheme.__vModel__}: ${defaultValue},`)
+}
+
+// 鏋勫缓鏍¢獙瑙勫垯
+function buildRules(scheme, ruleList) {
+ const config = scheme.__config__
+ if (scheme.__vModel__ === undefined) return
+ const rules = []
+ if (ruleTrigger[config.tag]) {
+ if (config.required) {
+ const type = isArray(config.defaultValue) ? 'type: \'array\',' : ''
+ let message = isArray(config.defaultValue) ? `璇疯嚦灏戦�夋嫨涓�涓�${config.label}` : scheme.placeholder
+ if (message === undefined) message = `${config.label}涓嶈兘涓虹┖`
+ rules.push(`{ required: true, ${type} message: '${message}', trigger: '${ruleTrigger[config.tag]}' }`)
+ }
+ if (config.regList && isArray(config.regList)) {
+ config.regList.forEach(item => {
+ if (item.pattern) {
+ rules.push(
+ `{ pattern: ${eval(item.pattern)}, message: '${item.message}', trigger: '${ruleTrigger[config.tag]}' }`
+ )
+ }
+ })
+ }
+ ruleList.push(`${scheme.__vModel__}: [${rules.join(',')}],`)
+ }
+}
+
+// 鏋勫缓options
+function buildOptions(scheme, optionsList) {
+ if (scheme.__vModel__ === undefined) return
+ // el-cascader鐩存帴鏈塷ptions灞炴�э紝鍏朵粬缁勪欢閮芥槸瀹氫箟鍦╯lot涓紝鎵�浠ユ湁涓ゅ鍒ゆ柇
+ let { options } = scheme
+ if (!options) options = scheme.__slot__.options
+ if (scheme.__config__.dataType === 'dynamic') { options = [] }
+ const str = `${scheme.__vModel__}Options: ${JSON.stringify(options)},`
+ optionsList.push(str)
+}
+
+function buildProps(scheme, propsList) {
+ const str = `${scheme.__vModel__}Props: ${JSON.stringify(scheme.props.props)},`
+ propsList.push(str)
+}
+
+// el-upload鐨凚eforeUpload
+function buildBeforeUpload(scheme) {
+ const config = scheme.__config__
+ const unitNum = units[config.sizeUnit]; let rightSizeCode = ''; let acceptCode = ''; const
+ returnList = []
+ if (config.fileSize) {
+ rightSizeCode = `let isRightSize = file.size / ${unitNum} < ${config.fileSize}
+ if(!isRightSize){
+ this.$message.error('鏂囦欢澶у皬瓒呰繃 ${config.fileSize}${config.sizeUnit}')
+ }`
+ returnList.push('isRightSize')
+ }
+ if (scheme.accept) {
+ acceptCode = `let isAccept = new RegExp('${scheme.accept}').test(file.type)
+ if(!isAccept){
+ this.$message.error('搴旇閫夋嫨${scheme.accept}绫诲瀷鐨勬枃浠�')
+ }`
+ returnList.push('isAccept')
+ }
+ const str = `${scheme.__vModel__}BeforeUpload(file) {
+ ${rightSizeCode}
+ ${acceptCode}
+ return ${returnList.join('&&')}
+ },`
+ return returnList.length ? str : ''
+}
+
+// el-upload鐨剆ubmit
+function buildSubmitUpload(scheme) {
+ const str = `submitUpload() {
+ this.$refs['${scheme.__vModel__}'].submit()
+ },`
+ return str
+}
+
+function buildOptionMethod(methodName, model, methodList) {
+ const str = `${methodName}() {
+ // TODO 鍙戣捣璇锋眰鑾峰彇鏁版嵁
+ this.${model}
+ },`
+ methodList.push(str)
+}
+
+// js鏁翠綋鎷兼帴
+function buildexport(conf, type, data, rules, selectOptions, uploadVar, props, methods) {
+ const str = `${exportDefault}{
+ ${inheritAttrs[type]}
+ components: {},
+ props: [],
+ data () {
+ return {
+ ${conf.formModel}: {
+ ${data}
+ },
+ ${conf.formRules}: {
+ ${rules}
+ },
+ ${uploadVar}
+ ${selectOptions}
+ ${props}
+ }
+ },
+ computed: {},
+ watch: {},
+ created () {},
+ mounted () {},
+ methods: {
+ ${methods}
+ }
+}`
+ return str
+}
diff --git a/src/components/FormGenerator/components/generator/ruleTrigger.js b/src/components/FormGenerator/components/generator/ruleTrigger.js
new file mode 100644
index 0000000..2301347
--- /dev/null
+++ b/src/components/FormGenerator/components/generator/ruleTrigger.js
@@ -0,0 +1,19 @@
+
+/**
+ * 鐢ㄤ簬鐢熸垚琛ㄥ崟鏍¢獙锛屾寚瀹氭鍒欒鍒欑殑瑙﹀彂鏂瑰紡銆�
+ * 鏈湪姝ゅ澹版槑鏃犺Е鍙戞柟寮忕殑缁勪欢灏嗕笉鐢熸垚rule锛侊紒
+ */
+export default {
+ 'el-input': 'blur',
+ 'el-input-number': 'blur',
+ 'el-select': 'change',
+ 'el-radio-group': 'change',
+ 'el-checkbox-group': 'change',
+ 'el-cascader': 'change',
+ 'el-time-picker': 'change',
+ 'el-date-picker': 'change',
+ 'el-rate': 'change',
+ tinymce: 'blur',
+ 'time-select': 'change'
+
+}
diff --git a/src/components/FormGenerator/components/parser/Parser.vue b/src/components/FormGenerator/components/parser/Parser.vue
new file mode 100644
index 0000000..017209b
--- /dev/null
+++ b/src/components/FormGenerator/components/parser/Parser.vue
@@ -0,0 +1,280 @@
+<script>
+import render from "@/components/FormGenerator/components/render/render.js";
+
+const ruleTrigger = {
+ "el-input": "blur",
+ "el-input-number": "blur",
+ "el-select": "change",
+ "el-radio-group": "change",
+ "el-checkbox-group": "change",
+ "el-cascader": "change",
+ "el-time-picker": "change",
+ "el-date-picker": "change",
+ "el-rate": "change",
+};
+
+function renderFrom(h) {
+ const { formConfCopy } = this;
+ return (
+ <el-row gutter={formConfCopy.gutter}>
+ <el-form
+ size={formConfCopy.size}
+ label-position={formConfCopy.labelPosition}
+ disabled={formConfCopy.disabled}
+ label-width={`${formConfCopy.labelWidth}px`}
+ ref={formConfCopy.formRef}
+ // model涓嶈兘鐩存帴璧嬪�� https://github.com/vuejs/jsx/issues/49#issuecomment-472013664
+ props={{ model: this[formConfCopy.formModel] }}
+ rules={this[formConfCopy.formRules]}
+ >
+ {renderFormItem.call(this, h, formConfCopy.fields)}
+ {formConfCopy.formBtns && formBtns.call(this, h)}
+ </el-form>
+ </el-row>
+ );
+}
+
+function formBtns(h) {
+ return (
+ <el-col>
+ <el-form-item size="mini" labelWidth={this.labelWidth}>
+ <el-button type="primary" onClick={this.submitForm}>
+ 鎻愪氦
+ </el-button>
+ </el-form-item>
+ </el-col>
+ );
+}
+
+function renderFormItem(h, elementList) {
+ return elementList.map((scheme) => {
+ const config = scheme.__config__;
+ const layout = layouts[config.layout];
+ if (layout) {
+ return layout.call(this, h, scheme);
+ }
+ throw new Error(`娌℃湁涓�${config.layout}鍖归厤鐨刲ayout`);
+ });
+}
+
+function renderChildren(h, scheme) {
+ const config = scheme.__config__;
+ if (!Array.isArray(config.children)) return null;
+ return renderFormItem.call(this, h, config.children);
+}
+
+function setValue(event, config, scheme) {
+ this.$set(config, "defaultValue", event);
+ this.$set(this[this.formConf.formModel], scheme.__vModel__, event);
+}
+
+function buildListeners(scheme) {
+ const config = scheme.__config__;
+ const methods = this.formConf.__methods__ || {};
+ const listeners = {};
+
+ // 缁檁_methods__涓殑鏂规硶缁戝畾this鍜宔vent
+ Object.keys(methods).forEach((key) => {
+ listeners[key] = (event) => methods[key].call(this, event);
+ });
+ // 鍝嶅簲 render.js 涓殑 vModel $emit('input', val)
+ listeners.input = (event) => setValue.call(this, event, config, scheme);
+
+ return listeners;
+}
+const layouts = {
+ colFormItem(h, scheme) {
+ const config = scheme.__config__;
+ const listeners = buildListeners.call(this, scheme);
+ let labelWidth = config.labelWidth ? `${config.labelWidth}px` : null;
+ if (config.showLabel === false) labelWidth = "0";
+ if (config.tips && !config.tipsIsLink) {
+ return (
+ <el-col span={config.span}>
+ <el-form-item
+ label-width={labelWidth}
+ prop={scheme.__vModel__}
+ label={config.showLabel ? config.label : ""}
+ >
+ <el-tooltip
+ effect="dark"
+ placement="top-start"
+ style="padding:10px 5px 0 0;"
+ >
+ 聽 聽 聽 聽 聽 聽 <i class="el-icon-warning-outline" />聽 聽 聽 聽 聽 聽{" "}
+ <div slot="content" style="max-width:400px;">
+ {config.tipsDesc}
+ </div>
+ 聽 聽 聽 聽 聽
+ </el-tooltip>
+ <render conf={scheme} {...{ on: listeners }} />
+ </el-form-item>
+ </el-col>
+ );
+ } else if (config.tips && config.tipsIsLink) {
+ return (
+ <el-col span={config.span}>
+ <el-form-item
+ label-width={labelWidth}
+ prop={scheme.__vModel__}
+ label={config.showLabel ? config.label : ""}
+ >
+ <el-tooltip
+ effect="dark"
+ placement="top-start"
+ style="padding:10px 5px 0 0;"
+ >
+ 聽 聽 聽 聽 聽 聽 <i class="el-icon-warning-outline" />聽 聽 聽 聽 聽 聽{" "}
+ <div slot="content" style="max-width:400px;">
+ <a href={config.tipsLink} target="_blank">
+ {config.tipsDesc}
+ </a>
+ </div>
+ 聽 聽 聽 聽 聽
+ </el-tooltip>
+ <render conf={scheme} {...{ on: listeners }} />
+ </el-form-item>
+ </el-col>
+ );
+ } else {
+ return (
+ <el-col span={config.span}>
+ <el-form-item
+ label-width={labelWidth}
+ prop={scheme.__vModel__}
+ label={config.showLabel ? config.label : ""}
+ >
+ <render conf={scheme} {...{ on: listeners }} />
+ </el-form-item>
+ </el-col>
+ );
+ }
+ },
+ rowFormItem(h, scheme) {
+ let child = renderChildren.apply(this, arguments);
+ if (scheme.type === "flex") {
+ child = (
+ <el-row
+ type={scheme.type}
+ justify={scheme.justify}
+ align={scheme.align}
+ >
+ {child}
+ </el-row>
+ );
+ }
+ return (
+ <el-col span={scheme.span}>
+ <el-row gutter={scheme.gutter}>{child}</el-row>
+ </el-col>
+ );
+ },
+};
+
+export default {
+ components: {
+ render,
+ },
+ props: {
+ formConf: {
+ type: Object,
+ required: true,
+ },
+ formEditData: {
+ type: Object,
+ },
+ isEdit: {
+ type: Boolean,
+ default: false,
+ },
+ labelWidth: {
+ type: String,
+ default: "100px",
+ },
+ },
+ data() {
+ if (this.isEdit) {
+ // 鍒濆鍖栧緟缂栬緫鏁版嵁
+ this.formConf.fields.forEach((conf) => {
+ // 璁剧疆鐜版湁鐨勬暟鎹�
+ const hasValueForEdit = this.formEditData[conf.__vModel__];
+ if (hasValueForEdit) {
+ conf.__config__.defaultValue = hasValueForEdit;
+ }
+ // 濡傛灉鏄痚l-select鏍囩 鍒ゆ柇鏁版嵁鍚庢敼鍙樺疄鐜伴粯璁ら�変腑鏁堟灉
+ if (
+ conf.__config__.tag === "el-select" ||
+ conf.__config__.tag === "el-radio-group"
+ ) {
+ const perValue = conf.__slot__.options.filter(
+ (option) => option.value == this.formEditData[conf.__vModel__]
+ );
+ if (perValue.length > 0) {
+ // 鏈夎〃鍗曟暟鎹�
+ conf.__config__.defaultValue = perValue[0].value;
+ }
+ }
+ });
+ }
+ const data = {
+ formConfCopy: JSON.parse(JSON.stringify(this.formConf)),
+ [this.formConf.formModel]: {},
+ [this.formConf.formRules]: {},
+ };
+ this.initFormData(data.formConfCopy.fields, data[this.formConf.formModel]);
+ this.buildRules(data.formConfCopy.fields, data[this.formConf.formRules]);
+ return data;
+ },
+ methods: {
+ initFormData(componentList, formData) {
+ componentList.forEach((cur) => {
+ const config = cur.__config__;
+ if (cur.__vModel__) formData[cur.__vModel__] = config.defaultValue;
+ if (config.children) this.initFormData(config.children, formData);
+ });
+ },
+ buildRules(componentList, rules) {
+ componentList.forEach((cur) => {
+ const config = cur.__config__;
+ if (Array.isArray(config.regList)) {
+ if (config.required) {
+ const required = {
+ required: config.required,
+ message: cur.placeholder,
+ };
+ if (Array.isArray(config.defaultValue)) {
+ required.type = "array";
+ required.message = `璇疯嚦灏戦�夋嫨涓�涓�${config.label}`;
+ }
+ required.message === undefined &&
+ (required.message = `${config.label}涓嶈兘涓虹┖`);
+ config.regList.push(required);
+ }
+ rules[cur.__vModel__] = config.regList.map((item) => {
+ item.pattern && (item.pattern = eval(item.pattern));
+ item.trigger = ruleTrigger && ruleTrigger[config.tag];
+ return item;
+ });
+ }
+ if (config.children) this.buildRules(config.children, rules);
+ });
+ },
+ resetForm() {
+ this.$emit("resetForm", this.formConf);
+ this.formConfCopy = JSON.parse(JSON.stringify(this.formConf));
+ this.$refs[this.formConf.formRef].resetFields();
+ },
+ submitForm() {
+ this.$refs[this.formConf.formRef].validate((valid) => {
+ if (!valid) return false;
+ // 瑙﹀彂sumit浜嬩欢
+ this.$emit("submit", this[this.formConf.formModel]);
+ return true;
+ });
+ },
+ },
+ render(h) {
+ return renderFrom.call(this, h);
+ },
+};
+</script>
diff --git a/src/components/FormGenerator/components/parser/README.md b/src/components/FormGenerator/components/parser/README.md
new file mode 100644
index 0000000..b991462
--- /dev/null
+++ b/src/components/FormGenerator/components/parser/README.md
@@ -0,0 +1,17 @@
+## form-generator JSON 瑙f瀽鍣�
+>鐢ㄤ簬灏唂orm-generator瀵煎嚭鐨凧SON瑙f瀽鎴愪竴涓〃鍗曘��
+
+### 瀹夎缁勪欢
+```
+npm i form-gen-parser
+```
+鎴栬��
+```
+yarn add form-gen-parser
+```
+
+### 浣跨敤绀轰緥
+> [鏌ョ湅鍦ㄧ嚎绀轰緥](https://mrhj.gitee.io/form-generator/#/parser)
+
+绀轰緥浠g爜:
+> [src\components\parser\example\Index.vue](https://github.com/JakHuang/form-generator/blob/dev/src/components/parser/example/Index.vue)
diff --git a/src/components/FormGenerator/components/parser/ZBParser.vue b/src/components/FormGenerator/components/parser/ZBParser.vue
new file mode 100644
index 0000000..b452c03
--- /dev/null
+++ b/src/components/FormGenerator/components/parser/ZBParser.vue
@@ -0,0 +1,74 @@
+<template>
+ <div>
+ <parser
+ v-if="formConf.fields.length > 0"
+ v-loading="loading"
+ :is-edit="isCreate === 1"
+ :form-conf="formConf"
+ :form-edit-data="editData"
+ @submit="handlerSubmit"
+ @resetForm="resetForm"
+ />
+ <!-- editData:{{ editData }}-->
+ <!-- formConf:{{ formConf }}-->
+ <!-- isCreate:{{ isCreate }}-->
+ </div>
+</template>
+
+<script>
+/**
+ * 娉ㄦ剰锛氬拰Parser鍞竴鐨勫尯鍒氨鏄繖閲屼粎浠呬紶鍏ヨ〃鍗曢厤缃甶d鍗冲彲鑷姩鍔犺浇宸查厤缃殑琛ㄥ崟
+ * 鏁版嵁鍚庢覆鏌撹〃鍗曪紝
+ * 鍏朵粬涓氬姟鍜孭arser淇濇寔涓�鑷�
+ */
+import * as systemFormConfigApi from '@/api/systemFormConfig.js'
+import parser from '@/components/FormGenerator/components/parser/Parser'
+export default {
+ // name: "ZBParser"
+ components: { parser },
+ props: {
+ formId: {
+ type: Number,
+ required: true
+ },
+ isCreate: {
+ type: Number,
+ default: 0 // 0=create 1=edit
+ },
+ editData: {
+ type: Object
+ },
+ },
+ data() {
+ return {
+ loading: false,
+ formConf: { fields: [] }
+ }
+ },
+ mounted() {
+ this.handlerGetFormConfig(this.formId)
+ },
+ methods: {
+ handlerGetFormConfig(formId) { // 鑾峰彇琛ㄥ崟閰嶇疆鍚庣敓鎴恡able鍒�
+ this.loading = true
+ const _pram = { id: formId }
+ systemFormConfigApi.getFormConfigInfo(_pram).then(data => {
+ this.formConf = JSON.parse(data.content)
+ this.loading = false
+ }).catch(()=>{
+ this.loading = false
+ })
+ },
+ handlerSubmit(formValue) {
+ this.$emit('submit', formValue)
+ },
+ resetForm(formValue){
+ this.$emit('resetForm', formValue)
+ }
+ }
+}
+</script>
+
+<style scoped>
+
+</style>
diff --git a/src/components/FormGenerator/components/parser/example/Index.vue b/src/components/FormGenerator/components/parser/example/Index.vue
new file mode 100644
index 0000000..47cc49a
--- /dev/null
+++ b/src/components/FormGenerator/components/parser/example/Index.vue
@@ -0,0 +1,264 @@
+<template>
+ <div class="test-form">
+ <parser :form-conf="formConf" @submit="sumbitForm1" />
+ <parser :key="key2" :form-conf="formConf" @submit="sumbitForm2" />
+ <el-button @click="change">
+ change
+ </el-button>
+ </div>
+</template>
+
+<script>
+import Parser from '../Parser'
+
+// 鑻arser鏄�氳繃瀹夎npm鏂瑰紡闆嗘垚鍒伴」鐩腑鐨勶紝浣跨敤姝よ寮曞叆
+// import Parser from 'form-gen-parser'
+
+export default {
+ components: {
+ Parser
+ },
+ props: {},
+ data() {
+ return {
+ key2: +new Date(),
+ formConf: {
+ fields: [
+ {
+ __config__: {
+ label: '鍗曡鏂囨湰',
+ labelWidth: null,
+ showLabel: true,
+ changeTag: true,
+ tag: 'el-input',
+ tagIcon: 'input',
+ required: true,
+ layout: 'colFormItem',
+ span: 24,
+ document: 'https://element.eleme.cn/#/zh-CN/component/input',
+ regList: [
+ {
+ pattern: '/^1(3|4|5|7|8|9)\\d{9}$/',
+ message: '鎵嬫満鍙锋牸寮忛敊璇�'
+ }
+ ]
+ },
+ __slot__: {
+ prepend: '',
+ append: ''
+ },
+ __vModel__: 'mobile',
+ placeholder: '璇疯緭鍏ユ墜鏈哄彿',
+ style: {
+ width: '100%'
+ },
+ clearable: true,
+ 'prefix-icon': 'el-icon-mobile',
+ 'suffix-icon': '',
+ maxlength: 11,
+ 'show-word-limit': true,
+ readonly: false,
+ disabled: false
+ },
+ {
+ __config__: {
+ label: '鏃ユ湡鑼冨洿',
+ tag: 'el-date-picker',
+ tagIcon: 'date-range',
+ defaultValue: null,
+ span: 24,
+ showLabel: true,
+ labelWidth: null,
+ required: true,
+ layout: 'colFormItem',
+ regList: [],
+ changeTag: true,
+ document:
+ 'https://element.eleme.cn/#/zh-CN/component/date-picker',
+ formId: 101,
+ renderKey: 1585980082729
+ },
+ style: {
+ width: '100%'
+ },
+ type: 'daterange',
+ 'range-separator': '鑷�',
+ 'start-placeholder': '寮�濮嬫棩鏈�',
+ 'end-placeholder': '缁撴潫鏃ユ湡',
+ disabled: false,
+ clearable: true,
+ format: 'yyyy-MM-dd',
+ 'value-format': 'yyyy-MM-dd',
+ readonly: false,
+ __vModel__: 'field101'
+ },
+ {
+ __config__: {
+ layout: 'rowFormItem',
+ tagIcon: 'row',
+ label: '琛屽鍣�',
+ layoutTree: true,
+ children: [
+ {
+ __config__: {
+ label: '璇勫垎',
+ tag: 'el-rate',
+ tagIcon: 'rate',
+ defaultValue: 0,
+ span: 24,
+ showLabel: true,
+ labelWidth: null,
+ layout: 'colFormItem',
+ required: true,
+ regList: [],
+ changeTag: true,
+ document: 'https://element.eleme.cn/#/zh-CN/component/rate',
+ formId: 102,
+ renderKey: 1586839671259
+ },
+ style: {},
+ max: 5,
+ 'allow-half': false,
+ 'show-text': false,
+ 'show-score': false,
+ disabled: false,
+ __vModel__: 'field102'
+ }
+ ],
+ document: 'https://element.eleme.cn/#/zh-CN/component/layout',
+ formId: 101,
+ span: 24,
+ renderKey: 1586839668999,
+ componentName: 'row101',
+ gutter: 15
+ },
+ type: 'default',
+ justify: 'start',
+ align: 'top'
+ }
+ ],
+ formRef: 'elForm',
+ formModel: 'formData',
+ size: 'small',
+ labelPosition: 'right',
+ labelWidth: 100,
+ formRules: 'rules',
+ gutter: 15,
+ disabled: false,
+ span: 24,
+ formBtns: true,
+ unFocusedComponentBorder: false
+ },
+ formConf2: {
+ fields: [
+ {
+ __config__: {
+ label: '鍗曡鏂囨湰',
+ labelWidth: null,
+ showLabel: true,
+ changeTag: true,
+ tag: 'el-input',
+ tagIcon: 'input',
+ required: true,
+ layout: 'colFormItem',
+ span: 24,
+ document: 'https://element.eleme.cn/#/zh-CN/component/input',
+ regList: [
+ {
+ pattern: '/^1(3|4|5|7|8|9)\\d{9}$/',
+ message: '鎵嬫満鍙锋牸寮忛敊璇�'
+ }
+ ]
+ },
+ __slot__: {
+ prepend: '',
+ append: ''
+ },
+ __vModel__: 'mobile',
+ placeholder: '璇疯緭鍏ユ墜鏈哄彿',
+ style: {
+ width: '100%'
+ },
+ clearable: true,
+ 'prefix-icon': 'el-icon-mobile',
+ 'suffix-icon': '',
+ maxlength: 11,
+ 'show-word-limit': true,
+ readonly: false,
+ disabled: false
+ },
+ {
+ __config__: {
+ label: '鏃ユ湡鑼冨洿',
+ tag: 'el-date-picker',
+ tagIcon: 'date-range',
+ defaultValue: null,
+ span: 24,
+ showLabel: true,
+ labelWidth: null,
+ required: true,
+ layout: 'colFormItem',
+ regList: [],
+ changeTag: true,
+ document:
+ 'https://element.eleme.cn/#/zh-CN/component/date-picker',
+ formId: 101,
+ renderKey: 1585980082729
+ },
+ style: {
+ width: '100%'
+ },
+ type: 'daterange',
+ 'range-separator': '鑷�',
+ 'start-placeholder': '寮�濮嬫棩鏈�',
+ 'end-placeholder': '缁撴潫鏃ユ湡',
+ disabled: false,
+ clearable: true,
+ format: 'yyyy-MM-dd',
+ 'value-format': 'yyyy-MM-dd',
+ readonly: false,
+ __vModel__: 'field101'
+ }
+ ],
+ formRef: 'elForm',
+ formModel: 'formData',
+ size: 'small',
+ labelPosition: 'right',
+ labelWidth: 100,
+ formRules: 'rules',
+ gutter: 15,
+ disabled: false,
+ span: 24,
+ formBtns: true,
+ unFocusedComponentBorder: false
+ }
+ }
+ },
+ computed: {},
+ watch: {},
+ created() {},
+ mounted() {},
+ methods: {
+ change() {
+ this.key2 = +new Date()
+ const t = this.formConf
+ this.formConf = this.formConf2
+ this.formConf2 = t
+ },
+ sumbitForm1(data) {
+ console.log('sumbitForm1鎻愪氦鏁版嵁锛�', data)
+ },
+ sumbitForm2(data) {
+ console.log('sumbitForm2鎻愪氦鏁版嵁锛�', data)
+ }
+ }
+}
+</script>
+
+<style lang="scss" scoped>
+.test-form {
+ margin: 15px auto;
+ width: 800px;
+ padding: 15px;
+}
+</style>
diff --git a/src/components/FormGenerator/components/parser/index.js b/src/components/FormGenerator/components/parser/index.js
new file mode 100644
index 0000000..0a44b2c
--- /dev/null
+++ b/src/components/FormGenerator/components/parser/index.js
@@ -0,0 +1,3 @@
+import Parser from './Parser'
+
+export default Parser
diff --git a/src/components/FormGenerator/components/parser/package.json b/src/components/FormGenerator/components/parser/package.json
new file mode 100644
index 0000000..c31d3a3
--- /dev/null
+++ b/src/components/FormGenerator/components/parser/package.json
@@ -0,0 +1,25 @@
+{
+ "name": "form-gen-parser",
+ "version": "1.0.3",
+ "description": "琛ㄥ崟json瑙f瀽鍣�",
+ "main": "lib/form-gen-parser.umd.js",
+ "directories": {
+ "example": "example"
+ },
+ "scripts": {
+ "test": "echo \"Error: no test specified\" && exit 1"
+ },
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/JakHuang/form-generator.git"
+ },
+ "dependencies": {
+ "form-gen-render": "^1.0.0"
+ },
+ "author": "jakHuang",
+ "license": "MIT",
+ "bugs": {
+ "url": "https://github.com/JakHuang/form-generator/issues"
+ },
+ "homepage": "https://github.com/JakHuang/form-generator#readme"
+}
diff --git a/src/components/FormGenerator/components/render/package.json b/src/components/FormGenerator/components/render/package.json
new file mode 100644
index 0000000..96bffcf
--- /dev/null
+++ b/src/components/FormGenerator/components/render/package.json
@@ -0,0 +1,19 @@
+{
+ "name": "form-gen-render",
+ "version": "1.0.4",
+ "description": "琛ㄥ崟鏍稿績render",
+ "main": "lib/form-gen-render.umd.js",
+ "scripts": {
+ "test": "echo \"Error: no test specified\" && exit 1"
+ },
+ "repository": {
+ "type": "git",
+ "url": "git+https://github.com/JakHuang/form-generator.git"
+ },
+ "author": "jakhuang",
+ "license": "MIT",
+ "bugs": {
+ "url": "https://github.com/JakHuang/form-generator/issues"
+ },
+ "homepage": "https://github.com/JakHuang/form-generator#readme"
+}
diff --git a/src/components/FormGenerator/components/render/render.js b/src/components/FormGenerator/components/render/render.js
new file mode 100644
index 0000000..c1f9f6d
--- /dev/null
+++ b/src/components/FormGenerator/components/render/render.js
@@ -0,0 +1,59 @@
+function vModel(self, dataObject, defaultValue) {
+ dataObject.props.value = defaultValue
+
+ dataObject.on.input = val => {
+ self.$emit('input', val)
+ }
+}
+
+const componentChild = {}
+/**
+ * 灏�./slots涓殑鏂囦欢鎸傝浇鍒板璞omponentChild涓�
+ * 鏂囦欢鍚嶄负key锛屽搴擩SON閰嶇疆涓殑__config__.tag
+ * 鏂囦欢鍐呭涓簐alue锛岃В鏋怞SON閰嶇疆涓殑__slot__
+ */
+const slotsFiles = require.context('./slots', true, /\.js$/)
+const keys = slotsFiles.keys() || []
+keys.forEach(key => {
+ const tag = key.replace(/^\.\/(.*)\.\w+$/, '$1')
+ const value = slotsFiles(key).default
+ componentChild[tag] = value
+})
+
+export default {
+ render(h) {
+ const dataObject = {
+ attrs: {},
+ props: {},
+ on: {},
+ style: {}
+ }
+ const confClone = JSON.parse(JSON.stringify(this.conf))
+ const children = []
+
+ const childObjs = componentChild[confClone.__config__.tag]
+ if (childObjs) {
+ Object.keys(childObjs).forEach(key => {
+ const childFunc = childObjs[key]
+ if (confClone.__slot__ && confClone.__slot__[key]) {
+ children.push(childFunc(h, confClone, key))
+ }
+ })
+ }
+
+ Object.keys(confClone).forEach(key => {
+ const val = confClone[key]
+ if (key === '__vModel__') {
+ vModel(this, dataObject, confClone.__config__.defaultValue)
+ } else if (dataObject[key]) {
+ dataObject[key] = { ...dataObject[key], ...val }
+ } else {
+ dataObject.attrs[key] = val
+ }
+ })
+ delete dataObject.attrs.__config__
+ delete dataObject.attrs.__slot__
+ return h(this.conf.__config__.tag, dataObject, children)
+ },
+ props: ['conf']
+}
diff --git a/src/components/FormGenerator/components/render/slots/el-button.js b/src/components/FormGenerator/components/render/slots/el-button.js
new file mode 100644
index 0000000..a2d9684
--- /dev/null
+++ b/src/components/FormGenerator/components/render/slots/el-button.js
@@ -0,0 +1,5 @@
+export default {
+ default(h, conf, key) {
+ return conf.__slot__[key]
+ }
+}
diff --git a/src/components/FormGenerator/components/render/slots/el-checkbox-group.js b/src/components/FormGenerator/components/render/slots/el-checkbox-group.js
new file mode 100644
index 0000000..0a85c8e
--- /dev/null
+++ b/src/components/FormGenerator/components/render/slots/el-checkbox-group.js
@@ -0,0 +1,13 @@
+export default {
+ options(h, conf, key) {
+ const list = []
+ conf.__slot__.options.forEach(item => {
+ if (conf.__config__.optionType === 'button') {
+ list.push(<el-checkbox-button label={item.value}>{item.label}</el-checkbox-button>)
+ } else {
+ list.push(<el-checkbox label={item.value} border={conf.border}>{item.label}</el-checkbox>)
+ }
+ })
+ return list
+ }
+}
diff --git a/src/components/FormGenerator/components/render/slots/el-input.js b/src/components/FormGenerator/components/render/slots/el-input.js
new file mode 100644
index 0000000..1545fb7
--- /dev/null
+++ b/src/components/FormGenerator/components/render/slots/el-input.js
@@ -0,0 +1,8 @@
+export default {
+ prepend(h, conf, key) {
+ return <template slot='prepend'>{conf.__slot__[key]}</template>
+ },
+ append(h, conf, key) {
+ return <template slot='append'>{conf.__slot__[key]}</template>
+ }
+}
diff --git a/src/components/FormGenerator/components/render/slots/el-radio-group.js b/src/components/FormGenerator/components/render/slots/el-radio-group.js
new file mode 100644
index 0000000..c78506f
--- /dev/null
+++ b/src/components/FormGenerator/components/render/slots/el-radio-group.js
@@ -0,0 +1,13 @@
+export default {
+ options(h, conf, key) {
+ const list = []
+ conf.__slot__.options.forEach(item => {
+ if (conf.__config__.optionType === 'button') {
+ list.push(<el-radio-button label={item.value}>{item.label}</el-radio-button>)
+ } else {
+ list.push(<el-radio label={item.value} border={conf.border}>{item.label}</el-radio>)
+ }
+ })
+ return list
+ }
+}
diff --git a/src/components/FormGenerator/components/render/slots/el-select.js b/src/components/FormGenerator/components/render/slots/el-select.js
new file mode 100644
index 0000000..cbf4a20
--- /dev/null
+++ b/src/components/FormGenerator/components/render/slots/el-select.js
@@ -0,0 +1,9 @@
+export default {
+ options(h, conf, key) {
+ const list = []
+ conf.__slot__.options.forEach(item => {
+ list.push(<el-option label={item.label} value={item.value} disabled={item.disabled}></el-option>)
+ })
+ return list
+ }
+}
diff --git a/src/components/FormGenerator/components/render/slots/el-upload.js b/src/components/FormGenerator/components/render/slots/el-upload.js
new file mode 100644
index 0000000..6af59e9
--- /dev/null
+++ b/src/components/FormGenerator/components/render/slots/el-upload.js
@@ -0,0 +1,17 @@
+export default {
+ 'list-type': (h, conf, key) => {
+ const list = []
+ const config = conf.__config__
+ if (conf['list-type'] === 'picture-card') {
+ list.push(<i class='el-icon-plus'></i>)
+ } else {
+ list.push(<el-button size='small' type='primary' icon='el-icon-upload'>{config.buttonText}</el-button>)
+ }
+ if (config.showTip) {
+ list.push(
+ <div slot='tip' class='el-upload__tip'>鍙兘涓婁紶涓嶈秴杩� {config.fileSize}{config.sizeUnit} 鐨剓conf.accept}鏂囦欢</div>
+ )
+ }
+ return list
+ }
+}
diff --git a/src/components/FormGenerator/components/tinymce/config.js b/src/components/FormGenerator/components/tinymce/config.js
new file mode 100644
index 0000000..fc61554
--- /dev/null
+++ b/src/components/FormGenerator/components/tinymce/config.js
@@ -0,0 +1,8 @@
+/* eslint-disable max-len */
+
+export const plugins = [
+ 'advlist anchor autolink autosave code codesample directionality emoticons fullscreen hr image imagetools insertdatetime link lists media nonbreaking noneditable pagebreak paste preview print save searchreplace spellchecker tabfocus table template textpattern visualblocks visualchars wordcount'
+]
+export const toolbar = [
+ 'code searchreplace bold italic underline strikethrough alignleft aligncenter alignright outdent indent blockquote removeformat subscript superscript codesample hr bullist numlist link image charmap preview anchor pagebreak insertdatetime media table emoticons forecolor backcolor fullscreen'
+]
diff --git a/src/components/FormGenerator/components/tinymce/index.js b/src/components/FormGenerator/components/tinymce/index.js
new file mode 100644
index 0000000..19a3995
--- /dev/null
+++ b/src/components/FormGenerator/components/tinymce/index.js
@@ -0,0 +1,3 @@
+import Index from './index.vue'
+
+export default Index
\ No newline at end of file
diff --git a/src/components/FormGenerator/components/tinymce/index.vue b/src/components/FormGenerator/components/tinymce/index.vue
new file mode 100644
index 0000000..52b6cda
--- /dev/null
+++ b/src/components/FormGenerator/components/tinymce/index.vue
@@ -0,0 +1,93 @@
+<template>
+ <textarea :id="tinymceId" class="textarea" />
+</template>
+
+<script>
+import loadTinymce from '@/components/FormGenerator/utils/loadTinymce'
+import { plugins, toolbar } from './config'
+import { debounce } from 'throttle-debounce'
+
+let num = 1
+
+export default {
+ props: {
+ id: {
+ type: String,
+ default: () => {
+ num === 10000 && (num = 1)
+ return `tinymce${+new Date()}${num++}`
+ }
+ },
+ value: {
+ type: [String, Number, Boolean],
+ default: ''
+ }
+ },
+ data() {
+ return {
+ tinymceId: this.id
+ }
+ },
+ mounted() {
+ loadTinymce(tinymce => {
+ import('./zh_CN').then(() => {
+ tinymce.init({
+ selector: `#${this.tinymceId}`,
+ language: 'zh_CN',
+ menubar: 'file edit insert view format table',
+ plugins,
+ toolbar,
+ height: this.$attrs.height || 300,
+ branding: this.$attrs.branding || false,
+ object_resizing: false,
+ end_container_on_empty_block: true,
+ powerpaste_word_import: 'clean',
+ code_dialog_height: 450,
+ code_dialog_width: 1000,
+ advlist_bullet_styles: 'square',
+ advlist_number_styles: 'default',
+ default_link_target: '_blank',
+ link_title: false,
+ nonbreaking_force_tab: true,
+ init_instance_callback: editor => {
+ if (this.value) editor.setContent(this.value)
+ this.vModel(editor)
+ }
+ })
+ })
+ })
+ },
+ destroyed() {
+ this.destroyTinymce()
+ },
+ methods: {
+ vModel(editor) {
+ // 鎺у埗杩炵画鍐欏叆鏃秙etContent鐨勮Е鍙戦鐜�
+ const debounceSetContent = debounce(250, editor.setContent)
+ this.$watch('value', (val, prevVal) => {
+ if (editor && val !== prevVal && val !== editor.getContent()) {
+ if (typeof val !== 'string') val = val.toString()
+ debounceSetContent.call(editor, val)
+ }
+ })
+
+ editor.on('change keyup undo redo', () => {
+ this.$emit('input', editor.getContent())
+ })
+ },
+ destroyTinymce() {
+ if (!window.tinymce) return
+ const tinymce = window.tinymce.get(this.tinymceId)
+ if (tinymce) {
+ tinymce.destroy()
+ }
+ }
+ }
+}
+</script>
+
+<style lang="scss" scoped>
+.textarea{
+ visibility: hidden;
+}
+</style>
diff --git a/src/components/FormGenerator/components/tinymce/zh_CN.js b/src/components/FormGenerator/components/tinymce/zh_CN.js
new file mode 100644
index 0000000..4f494d6
--- /dev/null
+++ b/src/components/FormGenerator/components/tinymce/zh_CN.js
@@ -0,0 +1,420 @@
+/* eslint-disable */
+tinymce.addI18n('zh_CN',{
+"Redo": "\u91cd\u505a",
+"Undo": "\u64a4\u9500",
+"Cut": "\u526a\u5207",
+"Copy": "\u590d\u5236",
+"Paste": "\u7c98\u8d34",
+"Select all": "\u5168\u9009",
+"New document": "\u65b0\u6587\u4ef6",
+"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\u8fb9\u5bf9\u9f50",
+"Align center": "\u4e2d\u95f4\u5bf9\u9f50",
+"Align right": "\u53f3\u8fb9\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\u6253\u5f00\u526a\u8d34\u677f\uff0c\u8bf7\u4f7f\u7528Ctrl+X\/C\/V\u7b49\u5feb\u6377\u952e\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\u5148\u683c\u5f0f\u5316\u7684",
+"Div": "Div",
+"Pre": "Pre",
+"Code": "\u4ee3\u7801",
+"Paragraph": "\u6bb5\u843d",
+"Blockquote": "\u5f15\u6587\u533a\u5757",
+"Inline": "\u6587\u672c",
+"Blocks": "\u57fa\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",
+"Fonts": "\u5b57\u4f53",
+"Font Sizes": "\u5b57\u53f7",
+"Class": "\u7c7b\u578b",
+"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\u5b57\u7b26...",
+"Source code": "\u6e90\u4ee3\u7801",
+"Insert\/Edit code sample": "\u63d2\u5165\/\u7f16\u8f91\u4ee3\u7801\u793a\u4f8b",
+"Language": "\u8bed\u8a00",
+"Code sample...": "\u793a\u4f8b\u4ee3\u7801...",
+"Color Picker": "\u9009\u8272\u5668",
+"R": "R",
+"G": "G",
+"B": "B",
+"Left to right": "\u4ece\u5de6\u5230\u53f3",
+"Right to left": "\u4ece\u53f3\u5230\u5de6",
+"Emoticons...": "\u8868\u60c5\u7b26\u53f7...",
+"Metadata and Document Properties": "\u5143\u6570\u636e\u548c\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\/Edit Link": "\u63d2\u5165\/\u7f16\u8f91\u94fe\u63a5",
+"Insert\/edit link": "\u63d2\u5165\/\u7f16\u8f91\u94fe\u63a5",
+"Text to display": "\u663e\u793a\u6587\u5b57",
+"Url": "\u5730\u5740",
+"Open link in...": "\u94fe\u63a5\u6253\u5f00\u4f4d\u7f6e...",
+"Current window": "\u5f53\u524d\u7a97\u53e3",
+"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",
+"Alternative source URL": "\u66ff\u4ee3\u6765\u6e90\u7f51\u5740",
+"Media poster (Image URL)": "\u5c01\u9762(\u56fe\u7247\u5730\u5740)",
+"Paste your embed code below:": "\u5c06\u5185\u5d4c\u4ee3\u7801\u7c98\u8d34\u5728\u4e0b\u9762:",
+"Embed": "\u5185\u5d4c",
+"Media...": "\u591a\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",
+"Previous": "\u4e0a\u4e00\u4e2a",
+"Next": "\u4e0b\u4e00\u4e2a",
+"Find and replace...": "\u67e5\u627e\u5e76\u66ff\u6362...",
+"Could not find the specified string.": "\u672a\u627e\u5230\u641c\u7d22\u5185\u5bb9.",
+"Match case": "\u533a\u5206\u5927\u5c0f\u5199",
+"Find whole words only": "\u5168\u5b57\u5339\u914d",
+"Spell check": "\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",
+"Show caption": "\u663e\u793a\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",
+"Remove color": "\u79fb\u9664\u989c\u8272",
+"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",
+"Word count": "\u5b57\u6570",
+"Count": "\u8ba1\u6570",
+"Document": "\u6587\u6863",
+"Selection": "\u9009\u62e9",
+"Words": "\u5355\u8bcd",
+"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",
+"Image title": "\u56fe\u7247\u6807\u9898",
+"Border width": "\u8fb9\u6846\u5bbd\u5ea6",
+"Border style": "\u8fb9\u6846\u6837\u5f0f",
+"Error": "\u9519\u8bef",
+"Warn": "\u8b66\u544a",
+"Valid": "\u6709\u6548",
+"To open the popup, press Shift+Enter": "\u6309Shitf+Enter\u952e\u6253\u5f00\u5bf9\u8bdd\u6846",
+"Rich Text Area. Press ALT-0 for help.": "\u7f16\u8f91\u533a\u3002\u6309Alt+0\u952e\u6253\u5f00\u5e2e\u52a9\u3002",
+"System Font": "\u7cfb\u7edf\u5b57\u4f53",
+"Failed to upload image: {0}": "\u56fe\u7247\u4e0a\u4f20\u5931\u8d25: {0}",
+"Failed to load plugin: {0} from url {1}": "\u63d2\u4ef6\u52a0\u8f7d\u5931\u8d25: {0} \u6765\u81ea\u94fe\u63a5 {1}",
+"Failed to load plugin url: {0}": "\u63d2\u4ef6\u52a0\u8f7d\u5931\u8d25 \u94fe\u63a5: {0}",
+"Failed to initialize plugin: {0}": "\u63d2\u4ef6\u521d\u59cb\u5316\u5931\u8d25: {0}",
+"example": "\u793a\u4f8b",
+"Search": "\u641c\u7d22",
+"All": "\u5168\u90e8",
+"Currency": "\u8d27\u5e01",
+"Text": "\u6587\u5b57",
+"Quotations": "\u5f15\u7528",
+"Mathematical": "\u6570\u5b66",
+"Extended Latin": "\u62c9\u4e01\u8bed\u6269\u5145",
+"Symbols": "\u7b26\u53f7",
+"Arrows": "\u7bad\u5934",
+"User Defined": "\u81ea\u5b9a\u4e49",
+"dollar sign": "\u7f8e\u5143\u7b26\u53f7",
+"currency sign": "\u8d27\u5e01\u7b26\u53f7",
+"euro-currency sign": "\u6b27\u5143\u7b26\u53f7",
+"colon sign": "\u5192\u53f7",
+"cruzeiro sign": "\u514b\u9c81\u8d5b\u7f57\u5e01\u7b26\u53f7",
+"french franc sign": "\u6cd5\u90ce\u7b26\u53f7",
+"lira sign": "\u91cc\u62c9\u7b26\u53f7",
+"mill sign": "\u5bc6\u5c14\u7b26\u53f7",
+"naira sign": "\u5948\u62c9\u7b26\u53f7",
+"peseta sign": "\u6bd4\u585e\u5854\u7b26\u53f7",
+"rupee sign": "\u5362\u6bd4\u7b26\u53f7",
+"won sign": "\u97e9\u5143\u7b26\u53f7",
+"new sheqel sign": "\u65b0\u8c22\u514b\u5c14\u7b26\u53f7",
+"dong sign": "\u8d8a\u5357\u76fe\u7b26\u53f7",
+"kip sign": "\u8001\u631d\u57fa\u666e\u7b26\u53f7",
+"tugrik sign": "\u56fe\u683c\u91cc\u514b\u7b26\u53f7",
+"drachma sign": "\u5fb7\u62c9\u514b\u9a6c\u7b26\u53f7",
+"german penny symbol": "\u5fb7\u56fd\u4fbf\u58eb\u7b26\u53f7",
+"peso sign": "\u6bd4\u7d22\u7b26\u53f7",
+"guarani sign": "\u74dc\u62c9\u5c3c\u7b26\u53f7",
+"austral sign": "\u6fb3\u5143\u7b26\u53f7",
+"hryvnia sign": "\u683c\u91cc\u592b\u5c3c\u4e9a\u7b26\u53f7",
+"cedi sign": "\u585e\u5730\u7b26\u53f7",
+"livre tournois sign": "\u91cc\u5f17\u5f17\u5c14\u7b26\u53f7",
+"spesmilo sign": "spesmilo\u7b26\u53f7",
+"tenge sign": "\u575a\u6208\u7b26\u53f7",
+"indian rupee sign": "\u5370\u5ea6\u5362\u6bd4",
+"turkish lira sign": "\u571f\u8033\u5176\u91cc\u62c9",
+"nordic mark sign": "\u5317\u6b27\u9a6c\u514b",
+"manat sign": "\u9a6c\u7eb3\u7279\u7b26\u53f7",
+"ruble sign": "\u5362\u5e03\u7b26\u53f7",
+"yen character": "\u65e5\u5143\u5b57\u6837",
+"yuan character": "\u4eba\u6c11\u5e01\u5143\u5b57\u6837",
+"yuan character, in hong kong and taiwan": "\u5143\u5b57\u6837\uff08\u6e2f\u53f0\u5730\u533a\uff09",
+"yen\/yuan character variant one": "\u5143\u5b57\u6837\uff08\u5927\u5199\uff09",
+"Loading emoticons...": "\u52a0\u8f7d\u8868\u60c5\u7b26\u53f7...",
+"Could not load emoticons": "\u4e0d\u80fd\u52a0\u8f7d\u8868\u60c5\u7b26\u53f7",
+"People": "\u4eba\u7c7b",
+"Animals and Nature": "\u52a8\u7269\u548c\u81ea\u7136",
+"Food and Drink": "\u98df\u7269\u548c\u996e\u54c1",
+"Activity": "\u6d3b\u52a8",
+"Travel and Places": "\u65c5\u6e38\u548c\u5730\u70b9",
+"Objects": "\u7269\u4ef6",
+"Flags": "\u65d7\u5e1c",
+"Characters": "\u5b57\u7b26",
+"Characters (no spaces)": "\u5b57\u7b26(\u65e0\u7a7a\u683c)",
+"{0} characters": "{0} \u4e2a\u5b57\u7b26",
+"Error: Form submit field collision.": "\u9519\u8bef: \u8868\u5355\u63d0\u4ea4\u5b57\u6bb5\u51b2\u7a81\u3002",
+"Error: No form element found.": "\u9519\u8bef: \u6ca1\u6709\u8868\u5355\u63a7\u4ef6\u3002",
+"Update": "\u66f4\u65b0",
+"Color swatch": "\u989c\u8272\u6837\u672c",
+"Turquoise": "\u9752\u7eff\u8272",
+"Green": "\u7eff\u8272",
+"Blue": "\u84dd\u8272",
+"Purple": "\u7d2b\u8272",
+"Navy Blue": "\u6d77\u519b\u84dd",
+"Dark Turquoise": "\u6df1\u84dd\u7eff\u8272",
+"Dark Green": "\u6df1\u7eff\u8272",
+"Medium Blue": "\u4e2d\u84dd\u8272",
+"Medium Purple": "\u4e2d\u7d2b\u8272",
+"Midnight Blue": "\u6df1\u84dd\u8272",
+"Yellow": "\u9ec4\u8272",
+"Orange": "\u6a59\u8272",
+"Red": "\u7ea2\u8272",
+"Light Gray": "\u6d45\u7070\u8272",
+"Gray": "\u7070\u8272",
+"Dark Yellow": "\u6697\u9ec4\u8272",
+"Dark Orange": "\u6df1\u6a59\u8272",
+"Dark Red": "\u6df1\u7ea2\u8272",
+"Medium Gray": "\u4e2d\u7070\u8272",
+"Dark Gray": "\u6df1\u7070\u8272",
+"Light Green": "\u6d45\u7eff\u8272",
+"Light Yellow": "\u6d45\u9ec4\u8272",
+"Light Red": "\u6d45\u7ea2\u8272",
+"Light Purple": "\u6d45\u7d2b\u8272",
+"Light Blue": "\u6d45\u84dd\u8272",
+"Dark Purple": "\u6df1\u7d2b\u8272",
+"Dark Blue": "\u6df1\u84dd\u8272",
+"Black": "\u9ed1\u8272",
+"White": "\u767d\u8272",
+"Switch to or from fullscreen mode": "\u5207\u6362\u5168\u5c4f\u6a21\u5f0f",
+"Open help dialog": "\u6253\u5f00\u5e2e\u52a9\u5bf9\u8bdd\u6846",
+"history": "\u5386\u53f2",
+"styles": "\u6837\u5f0f",
+"formatting": "\u683c\u5f0f\u5316",
+"alignment": "\u5bf9\u9f50",
+"indentation": "\u7f29\u8fdb",
+"permanent pen": "\u8bb0\u53f7\u7b14",
+"comments": "\u5907\u6ce8",
+"Format Painter": "\u683c\u5f0f\u5237",
+"Insert\/edit iframe": "\u63d2\u5165\/\u7f16\u8f91\u6846\u67b6",
+"Capitalization": "\u5927\u5199",
+"lowercase": "\u5c0f\u5199",
+"UPPERCASE": "\u5927\u5199",
+"Title Case": "\u9996\u5b57\u6bcd\u5927\u5199",
+"Permanent Pen Properties": "\u6c38\u4e45\u7b14\u5c5e\u6027",
+"Permanent pen properties...": "\u6c38\u4e45\u7b14\u5c5e\u6027...",
+"Font": "\u5b57\u4f53",
+"Size": "\u5b57\u53f7",
+"More...": "\u66f4\u591a...",
+"Spellcheck Language": "\u62fc\u5199\u68c0\u67e5\u8bed\u8a00",
+"Select...": "\u9009\u62e9...",
+"Preferences": "\u9996\u9009\u9879",
+"Yes": "\u662f",
+"No": "\u5426",
+"Keyboard Navigation": "\u952e\u76d8\u6307\u5f15",
+"Version": "\u7248\u672c",
+"Anchor": "\u951a\u70b9",
+"Special character": "\u7279\u6b8a\u7b26\u53f7",
+"Code sample": "\u4ee3\u7801\u793a\u4f8b",
+"Color": "\u989c\u8272",
+"Emoticons": "\u8868\u60c5",
+"Document properties": "\u6587\u6863\u5c5e\u6027",
+"Image": "\u56fe\u7247",
+"Insert link": "\u63d2\u5165\u94fe\u63a5",
+"Target": "\u6253\u5f00\u65b9\u5f0f",
+"Link": "\u94fe\u63a5",
+"Poster": "\u5c01\u9762",
+"Media": "\u5a92\u4f53",
+"Print": "\u6253\u5370",
+"Prev": "\u4e0a\u4e00\u4e2a",
+"Find and replace": "\u67e5\u627e\u548c\u66ff\u6362",
+"Whole words": "\u5168\u5b57\u5339\u914d",
+"Spellcheck": "\u62fc\u5199\u68c0\u67e5",
+"Caption": "\u6807\u9898",
+"Insert template": "\u63d2\u5165\u6a21\u677f"
+});
\ No newline at end of file
diff --git a/src/components/FormGenerator/index/CodeTypeDialog.vue b/src/components/FormGenerator/index/CodeTypeDialog.vue
new file mode 100644
index 0000000..6f0c0d1
--- /dev/null
+++ b/src/components/FormGenerator/index/CodeTypeDialog.vue
@@ -0,0 +1,110 @@
+<template>
+ <div>
+ <el-dialog
+ v-bind="$attrs"
+ width="500px"
+ :close-on-click-modal="false"
+ :modal-append-to-body="false"
+ v-on="$listeners"
+ @open="onOpen"
+ @close="onClose"
+ >
+ <el-row :gutter="15">
+ <el-form
+ ref="elForm"
+ :model="formData"
+ :rules="rules"
+ size="medium"
+ label-width="100px"
+ >
+ <el-col :span="24">
+ <el-form-item label="鐢熸垚绫诲瀷" prop="type">
+ <el-radio-group v-model="formData.type">
+ <el-radio-button
+ v-for="(item, index) in typeOptions"
+ :key="index"
+ :label="item.value"
+ :disabled="item.disabled"
+ >
+ {{ item.label }}
+ </el-radio-button>
+ </el-radio-group>
+ </el-form-item>
+ <el-form-item v-if="showFileName" label="鏂囦欢鍚�" prop="fileName">
+ <el-input v-model="formData.fileName" placeholder="璇疯緭鍏ユ枃浠跺悕" clearable />
+ </el-form-item>
+ </el-col>
+ </el-form>
+ </el-row>
+
+ <div slot="footer">
+ <el-button @click="close">
+ 鍙栨秷
+ </el-button>
+ <el-button type="primary" @click="handelConfirm">
+ 纭畾
+ </el-button>
+ </div>
+ </el-dialog>
+ </div>
+</template>
+<script>
+export default {
+ inheritAttrs: false,
+ props: ['showFileName'],
+ data() {
+ return {
+ formData: {
+ fileName: undefined,
+ type: 'file'
+ },
+ rules: {
+ fileName: [{
+ required: true,
+ message: '璇疯緭鍏ユ枃浠跺悕',
+ trigger: 'blur'
+ }],
+ type: [{
+ required: true,
+ message: '鐢熸垚绫诲瀷涓嶈兘涓虹┖',
+ trigger: 'change'
+ }]
+ },
+ typeOptions: [{
+ label: '椤甸潰',
+ value: 'file'
+ }, {
+ label: '寮圭獥',
+ value: 'dialog'
+ }]
+ }
+ },
+ computed: {
+ },
+ watch: {},
+ mounted() {},
+ methods: {
+ onOpen() {
+ if (this.showFileName) {
+ this.formData.fileName = `${+new Date()}.vue`
+ }
+ },
+ onClose() {
+ },
+ close(e) {
+ this.$emit('update:visible', false)
+ },
+ handelConfirm() {
+ this.$refs.elForm.validate(valid => {
+ if (!valid) return
+ this.$emit('confirm', { ...this.formData })
+ this.close()
+ })
+ }
+ }
+}
+</script>
+
+<style lang="scss" scoped>
+
+</style>
diff --git a/src/components/FormGenerator/index/DraggableItem.vue b/src/components/FormGenerator/index/DraggableItem.vue
new file mode 100644
index 0000000..e416db7
--- /dev/null
+++ b/src/components/FormGenerator/index/DraggableItem.vue
@@ -0,0 +1,128 @@
+<script>
+import draggable from 'vuedraggable'
+import render from '@/components/FormGenerator/components/render/render'
+
+const components = {
+ itemBtns(h, element, index, parent) {
+ const { copyItem, deleteItem } = this.$listeners
+ return [
+ <span class='drawing-item-copy' title='澶嶅埗' onClick={event => {
+ copyItem(element, parent); event.stopPropagation()
+ }}>
+ <i class='el-icon-copy-document' />
+ </span>,
+ <span class='drawing-item-delete' title='鍒犻櫎' onClick={event => {
+ deleteItem(index, parent); event.stopPropagation()
+ }}>
+ <i class='el-icon-delete' />
+ </span>
+ ]
+ }
+}
+const layouts = {
+ colFormItem(h, element, index, parent) {
+ const { activeItem } = this.$listeners
+ const config = element.__config__
+ let className = this.activeId === config.formId ? 'drawing-item active-from-item' : 'drawing-item'
+ if (this.formConf.unFocusedComponentBorder) className += ' unfocus-bordered'
+ let labelWidth = config.labelWidth ? `${config.labelWidth}px` : null
+ if (config.showLabel === false) labelWidth = '0'
+ if(config.tips == undefined){
+ this.$set(config,'tips',false);//濡傛灉浠ュ墠鐨勮〃鍗曟病鏈塼ooltip閰嶇疆锛屽氨璧嬪�间竴涓粯璁ゅ�肩敤鏉ヨ鍙�
+ }
+ if(config.tips){
+ return (
+ <el-col span={config.span} class={className}
+ nativeOnClick={event => { activeItem(element); event.stopPropagation() }}>
+ <el-form-item label-width={labelWidth}
+ label={config.showLabel ? config.label : ''} required={config.required}>
+ <el-tooltip effect="dark" placement="top-start" style="padding:10px 5px 0 0;">
+ 聽 聽 聽 聽 聽 聽 <i class="el-icon-warning-outline" />
+ 聽 聽 聽 聽 聽 聽 <div slot="content" style="max-width:400px;">{config.tipsDesc}</div>
+ 聽 聽 聽 聽 聽</el-tooltip>
+ <render key={config.renderKey} conf={element} onInput={ event => {
+ this.$set(config, 'defaultValue', event)
+ }} />
+ </el-form-item>
+ {components.itemBtns.apply(this, arguments)}
+ </el-col>
+ )
+ }else{
+ return (
+ <el-col span={config.span} class={className}
+ nativeOnClick={event => { activeItem(element); event.stopPropagation() }}>
+ <el-form-item label-width={labelWidth}
+ label={config.showLabel ? config.label : ''} required={config.required}>
+ <render key={config.renderKey} conf={element} onInput={ event => {
+ this.$set(config, 'defaultValue', event)
+ }} />
+ </el-form-item>
+ {components.itemBtns.apply(this, arguments)}
+ </el-col>
+ )
+ }
+ },
+ rowFormItem(h, element, index, parent) {
+ const { activeItem } = this.$listeners
+ const className = this.activeId === element.__config__.formId
+ ? 'drawing-row-item active-from-item'
+ : 'drawing-row-item'
+ let child = renderChildren.apply(this, arguments)
+ if (element.type === 'flex') {
+ child = <el-row type={element.type} justify={element.justify} align={element.align}>
+ {child}
+ </el-row>
+ }
+ return (
+ <el-col span={element.__config__.span}>
+ <el-row gutter={element.__config__.gutter} class={className}
+ nativeOnClick={event => { activeItem(element); event.stopPropagation() }}>
+ <span class='component-name'>{element.__config__.componentName}</span>
+ <draggable list={element.__config__.children} animation={340} group='componentsGroup' class='drag-wrapper'>
+ {child}
+ </draggable>
+ {components.itemBtns.apply(this, arguments)}
+ </el-row>
+ </el-col>
+ )
+ }
+}
+
+function renderChildren(h, element, index, parent) {
+ const config = element.__config__
+ if (!Array.isArray(config.children)) return null
+ return config.children.map((el, i) => {
+ const layout = layouts[el.__config__.layout]
+ if (layout) {
+ return layout.call(this, h, el, i, config.children)
+ }
+ return layoutIsNotFound.call(this)
+ })
+}
+
+function layoutIsNotFound() {
+ throw new Error(`娌℃湁涓�${this.element.__config__.layout}鍖归厤鐨刲ayout`)
+}
+
+export default {
+ components: {
+ render,
+ draggable
+ },
+ props: [
+ 'element',
+ 'index',
+ 'drawingList',
+ 'activeId',
+ 'formConf'
+ ],
+ render(h) {
+ const layout = layouts[this.element.__config__.layout]
+
+ if (layout) {
+ return layout.call(this, h, this.element, this.index, this.drawingList)
+ }
+ return layoutIsNotFound.call(this)
+ }
+}
+</script>
\ No newline at end of file
diff --git a/src/components/FormGenerator/index/FormDrawer.vue b/src/components/FormGenerator/index/FormDrawer.vue
new file mode 100644
index 0000000..aae27b5
--- /dev/null
+++ b/src/components/FormGenerator/index/FormDrawer.vue
@@ -0,0 +1,332 @@
+<template>
+ <div>
+ <el-drawer v-bind="$attrs" v-on="$listeners" @opened="onOpen" @close="onClose">
+ <div style="height:100%">
+ <el-row style="height:100%;overflow:auto">
+ <el-col :md="24" :lg="12" class="left-editor">
+ <div class="setting" title="璧勬簮寮曠敤" @click="showResource">
+ <el-badge :is-dot="!!resources.length" class="item">
+ <i class="el-icon-setting" />
+ </el-badge>
+ </div>
+ <el-tabs v-model="activeTab" type="card" class="editor-tabs">
+ <el-tab-pane name="html">
+ <span slot="label">
+ <i v-if="activeTab==='html'" class="el-icon-edit" />
+ <i v-else class="el-icon-document" />
+ template
+ </span>
+ </el-tab-pane>
+ <el-tab-pane name="js">
+ <span slot="label">
+ <i v-if="activeTab==='js'" class="el-icon-edit" />
+ <i v-else class="el-icon-document" />
+ script
+ </span>
+ </el-tab-pane>
+ <el-tab-pane name="css">
+ <span slot="label">
+ <i v-if="activeTab==='css'" class="el-icon-edit" />
+ <i v-else class="el-icon-document" />
+ css
+ </span>
+ </el-tab-pane>
+ </el-tabs>
+ <div v-show="activeTab==='html'" id="editorHtml" class="tab-editor" />
+ <div v-show="activeTab==='js'" id="editorJs" class="tab-editor" />
+ <div v-show="activeTab==='css'" id="editorCss" class="tab-editor" />
+ </el-col>
+ <el-col :md="24" :lg="12" class="right-preview">
+ <div class="action-bar" :style="{'text-align': 'left'}">
+ <span class="bar-btn" @click="runCode">
+ <i class="el-icon-refresh" />
+ 鍒锋柊
+ </span>
+ <span class="bar-btn" @click="exportFile">
+ <i class="el-icon-download" />
+ 瀵煎嚭vue鏂囦欢
+ </span>
+ <span ref="copyBtn" class="bar-btn copy-btn">
+ <i class="el-icon-document-copy" />
+ 澶嶅埗浠g爜
+ </span>
+ <span class="bar-btn delete-btn" @click="$emit('update:visible', false)">
+ <i class="el-icon-circle-close" />
+ 鍏抽棴
+ </span>
+ </div>
+ <iframe
+ v-show="isIframeLoaded"
+ ref="previewPage"
+ class="result-wrapper"
+ frameborder="0"
+ src="preview.html"
+ @load="iframeLoad"
+ />
+ <div v-show="!isIframeLoaded" v-loading="true" class="result-wrapper" />
+ </el-col>
+ </el-row>
+ </div>
+ </el-drawer>
+ <resource-dialog
+ :visible.sync="resourceVisible"
+ :origin-resource="resources"
+ @save="setResource"
+ />
+ </div>
+</template>
+<script>
+import { parse } from '@babel/parser'
+import ClipboardJS from 'clipboard'
+import { saveAs } from 'file-saver'
+import {
+ makeUpHtml, vueTemplate, vueScript, cssStyle
+} from '@/components/FormGenerator/components/generator/html'
+import { makeUpJs } from '@/components/FormGenerator/components/generator/js'
+import { makeUpCss } from '@/components/FormGenerator/components/generator/css'
+import { exportDefault, beautifierConf, titleCase } from '../utils/index'
+import ResourceDialog from './ResourceDialog'
+import loadMonaco from '../utils/loadMonaco'
+import loadBeautifier from '../utils/loadBeautifier'
+
+const editorObj = {
+ html: null,
+ js: null,
+ css: null
+}
+const mode = {
+ html: 'html',
+ js: 'javascript',
+ css: 'css'
+}
+let beautifier
+let monaco
+
+export default {
+ components: { ResourceDialog },
+ props: ['formData', 'generateConf'],
+ data() {
+ return {
+ activeTab: 'html',
+ htmlCode: '',
+ jsCode: '',
+ cssCode: '',
+ codeFrame: '',
+ isIframeLoaded: false,
+ isInitcode: false, // 淇濊瘉open鍚庝袱涓紓姝ュ彧鎵ц涓�娆uncode
+ isRefreshCode: false, // 姣忔鎵撳紑閮介渶瑕侀噸鏂板埛鏂颁唬鐮�
+ resourceVisible: false,
+ scripts: [],
+ links: [],
+ monaco: null
+ }
+ },
+ computed: {
+ resources() {
+ return this.scripts.concat(this.links)
+ }
+ },
+ watch: {},
+ created() {
+ },
+ mounted() {
+ window.addEventListener('keydown', this.preventDefaultSave)
+ const clipboard = new ClipboardJS('.copy-btn', {
+ text: trigger => {
+ const codeStr = this.generateCode()
+ this.$notify({
+ title: '鎴愬姛',
+ message: '浠g爜宸插鍒跺埌鍓垏鏉匡紝鍙矘璐淬��',
+ type: 'success'
+ })
+ return codeStr
+ }
+ })
+ clipboard.on('error', e => {
+ this.$message.error('浠g爜澶嶅埗澶辫触')
+ })
+ },
+ beforeDestroy() {
+ window.removeEventListener('keydown', this.preventDefaultSave)
+ },
+ methods: {
+ preventDefaultSave(e) {
+ if (e.key === 's' && (e.metaKey || e.ctrlKey)) {
+ e.preventDefault()
+ }
+ },
+ onOpen() {
+ const { type } = this.generateConf
+ this.htmlCode = makeUpHtml(this.formData, type)
+ this.jsCode = makeUpJs(this.formData, type)
+ this.cssCode = makeUpCss(this.formData)
+
+ loadBeautifier(btf => {
+ beautifier = btf
+ this.htmlCode = beautifier.html(this.htmlCode, beautifierConf.html)
+ this.jsCode = beautifier.js(this.jsCode, beautifierConf.js)
+ this.cssCode = beautifier.css(this.cssCode, beautifierConf.html)
+
+ loadMonaco(val => {
+ monaco = val
+ this.setEditorValue('editorHtml', 'html', this.htmlCode)
+ this.setEditorValue('editorJs', 'js', this.jsCode)
+ this.setEditorValue('editorCss', 'css', this.cssCode)
+ if (!this.isInitcode) {
+ this.isRefreshCode = true
+ this.isIframeLoaded && (this.isInitcode = true) && this.runCode()
+ }
+ })
+ })
+ },
+ onClose() {
+ this.isInitcode = false
+ this.isRefreshCode = false
+ this.isIframeLoaded = false
+ },
+ iframeLoad() {
+ if (!this.isInitcode) {
+ this.isIframeLoaded = true
+ this.isRefreshCode && (this.isInitcode = true) && this.runCode()
+ }
+ },
+ setEditorValue(id, type, codeStr) {
+ if (editorObj[type]) {
+ editorObj[type].setValue(codeStr)
+ } else {
+ editorObj[type] = monaco.editor.create(document.getElementById(id), {
+ value: codeStr,
+ theme: 'vs-dark',
+ language: mode[type],
+ automaticLayout: true
+ })
+ }
+ // ctrl + s 鍒锋柊
+ editorObj[type].onKeyDown(e => {
+ if (e.keyCode === 49 && (e.metaKey || e.ctrlKey)) {
+ this.runCode()
+ }
+ })
+ },
+ runCode() {
+ const jsCodeStr = editorObj.js.getValue()
+ try {
+ const ast = parse(jsCodeStr, { sourceType: 'module' })
+ const astBody = ast.program.body
+ if (astBody.length > 1) {
+ this.$confirm(
+ 'js鏍煎紡涓嶈兘璇嗗埆锛屼粎鏀寔淇敼export default鐨勫璞″唴瀹�',
+ '鎻愮ず',
+ {
+ type: 'warning'
+ }
+ )
+ return
+ }
+ if (astBody[0].type === 'ExportDefaultDeclaration') {
+ const postData = {
+ type: 'refreshFrame',
+ data: {
+ generateConf: this.generateConf,
+ html: editorObj.html.getValue(),
+ js: jsCodeStr.replace(exportDefault, ''),
+ css: editorObj.css.getValue(),
+ scripts: this.scripts,
+ links: this.links
+ }
+ }
+
+ this.$refs.previewPage.contentWindow.postMessage(
+ postData,
+ location.origin
+ )
+ } else {
+ this.$message.error('璇蜂娇鐢╡xport default')
+ }
+ } catch (err) {
+ this.$message.error(`js閿欒锛�${err}`)
+ }
+ },
+ generateCode() {
+ const html = vueTemplate(editorObj.html.getValue())
+ const script = vueScript(editorObj.js.getValue())
+ const css = cssStyle(editorObj.css.getValue())
+ return beautifier.html(html + script + css, beautifierConf.html)
+ },
+ exportFile() {
+ this.$prompt('鏂囦欢鍚�:', '瀵煎嚭鏂囦欢', {
+ inputValue: `${+new Date()}.vue`,
+ closeOnClickModal: false,
+ inputPlaceholder: '璇疯緭鍏ユ枃浠跺悕'
+ }).then(({ value }) => {
+ if (!value) value = `${+new Date()}.vue`
+ const codeStr = this.generateCode()
+ const blob = new Blob([codeStr], { type: 'text/plain;charset=utf-8' })
+ saveAs(blob, value)
+ })
+ },
+ showResource() {
+ this.resourceVisible = true
+ },
+ setResource(arr) {
+ const scripts = []; const
+ links = []
+ if (Array.isArray(arr)) {
+ arr.forEach(item => {
+ if (item.endsWith('.css')) {
+ links.push(item)
+ } else {
+ scripts.push(item)
+ }
+ })
+ this.scripts = scripts
+ this.links = links
+ } else {
+ this.scripts = []
+ this.links = []
+ }
+ }
+ }
+}
+</script>
+
+<style lang="scss" scoped>
+@import '../styles/mixin';
+.tab-editor {
+ position: absolute;
+ top: 33px;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ font-size: 14px;
+}
+.left-editor {
+ position: relative;
+ height: 100%;
+ background: #1e1e1e;
+ overflow: hidden;
+}
+.setting{
+ position: absolute;
+ right: 15px;
+ top: 3px;
+ color: #a9f122;
+ font-size: 18px;
+ cursor: pointer;
+ z-index: 1;
+}
+.right-preview {
+ height: 100%;
+ .result-wrapper {
+ height: calc(100vh - 33px);
+ width: 100%;
+ overflow: auto;
+ padding: 12px;
+ box-sizing: border-box;
+ }
+}
+@include action-bar;
+::v-deep .el-drawer__header {
+ display: none;
+}
+</style>
diff --git a/src/components/FormGenerator/index/Home.vue b/src/components/FormGenerator/index/Home.vue
new file mode 100644
index 0000000..0955f03
--- /dev/null
+++ b/src/components/FormGenerator/index/Home.vue
@@ -0,0 +1,494 @@
+
+<template>
+ <div class="container-FromGen">
+ <div class="left-board">
+ <div class="logo-wrapper">
+ <div class="logo">
+ <span>CMS</span>
+ <!-- <img :src="logo" alt="logo"> Form Generator
+ <a class="github" href="https://github.com/JakHuang/form-generator" target="_blank">
+ <img src="https://github.githubassets.com/pinned-octocat.svg" alt>
+ </a> -->
+ </div>
+ </div>
+ <el-scrollbar class="left-scrollbar">
+ <div class="components-list">
+ <div v-for="(item, listIndex) in leftComponents" :key="listIndex">
+ <div class="components-title">
+ <svg-icon icon-class="component" />
+ {{ item.title }}
+ </div>
+ <draggable
+ class="components-draggable"
+ :list="item.list"
+ :group="{ name: 'componentsGroup', pull: 'clone', put: false }"
+ :clone="cloneComponent"
+ draggable=".components-item"
+ :sort="false"
+ @end="onEnd"
+ >
+ <div
+ v-for="(element, index) in item.list"
+ :key="index"
+ class="components-item"
+ @click="addComponent(element)"
+ >
+ <div class="components-body">
+ <svg-icon :icon-class="element.__config__.tagIcon" />
+ {{ element.__config__.label }}
+ </div>
+ </div>
+ </draggable>
+ </div>
+ </div>
+ </el-scrollbar>
+ </div>
+
+ <div class="center-board">
+ <div class="action-bar">
+<!-- <el-button icon="el-icon-video-play" type="text" @click="run">-->
+<!-- 杩愯-->
+<!-- </el-button>-->
+<!-- <el-button icon="el-icon-view" type="text" @click="showJson">-->
+<!-- 鏌ョ湅json-->
+<!-- </el-button>-->
+ <!-- <el-button icon="el-icon-download" type="text" @click="download"> -->
+ <!-- 瀵煎嚭vue鏂囦欢 -->
+ <!-- </el-button> -->
+<!-- <el-button class="copy-btn-main" icon="el-icon-document-copy" type="text" @click="copy">-->
+<!-- 澶嶅埗浠g爜-->
+<!-- </el-button>-->
+<!-- <el-button class="delete-btn" icon="el-icon-delete" type="text" @click="empty">-->
+<!-- 娓呯┖-->
+<!-- </el-button>-->
+ <el-form ref="selfForm" inline :model="selfForm">
+ <el-form-item
+ label="鍚嶇О"
+ prop="name"
+ :rules="[{ required:true, message:'璇峰~鍐欏悕绉�', trigger:['blur','change'] }]"
+ >
+ <el-input v-model="selfForm.name" placeholder="鍚嶇О" />
+ </el-form-item>
+ <el-form-item
+ label="鎻忚堪"
+ prop="info"
+ :rules="[{ required:true, message:'璇峰~鍐欐弿杩�', trigger:['blur','change'] }]"
+ >
+ <el-input v-model="selfForm.info" placeholder="鎻忚堪" />
+ </el-form-item>
+ <el-form-item>
+ <el-button type="primary" @click="handlerSaveJSON('selfForm')" v-hasPermi="['admin:system:form:update']">淇濆瓨</el-button>
+ </el-form-item>
+ </el-form>
+ </div>
+ <el-scrollbar class="center-scrollbar">
+ <el-row class="center-board-row" :gutter="formConf.gutter">
+ <el-form
+ :size="formConf.size"
+ :label-position="formConf.labelPosition"
+ :disabled="formConf.disabled"
+ :label-width="formConf.labelWidth + 'px'"
+ >
+ <draggable class="drawing-board" :list="drawingList" :animation="340" group="componentsGroup">
+ <draggable-item
+ v-for="(element, index) in drawingList"
+ :key="element.renderKey"
+ :drawing-list="drawingList"
+ :element="element"
+ :index="index"
+ :active-id="activeId"
+ :form-conf="formConf"
+ @activeItem="activeFormItem"
+ @copyItem="drawingItemCopy"
+ @deleteItem="drawingItemDelete"
+ />
+ </draggable>
+ <div v-show="!drawingList.length" class="empty-info">
+ 浠庡乏渚ф嫋鍏ユ垨鐐归�夌粍浠惰繘琛岃〃鍗曡璁�
+ </div>
+ </el-form>
+ </el-row>
+ </el-scrollbar>
+ </div>
+
+ <right-panel
+ :active-data="activeData"
+ :form-conf="formConf"
+ :show-field="!!drawingList.length"
+ @tag-change="tagChange"
+ />
+
+ <form-drawer
+ :visible.sync="drawerVisible"
+ :form-data="formData"
+ size="100%"
+ :generate-conf="generateConf"
+ />
+ <json-drawer
+ size="60%"
+ :visible.sync="jsonDrawerVisible"
+ :json-str="JSON.stringify(formData)"
+ @refresh="refreshJson"
+ />
+ <code-type-dialog
+ :visible.sync="dialogVisible"
+ title="閫夋嫨鐢熸垚绫诲瀷"
+ :show-file-name="showFileName"
+ @confirm="generate"
+ />
+ <input id="copyNode" type="hidden">
+ </div>
+</template>
+
+<script>
+import draggable from 'vuedraggable'
+import { debounce } from 'throttle-debounce'
+import { saveAs } from 'file-saver'
+import ClipboardJS from 'clipboard'
+import render from '@/components/FormGenerator/components/render/render'
+import FormDrawer from './FormDrawer'
+import JsonDrawer from './JsonDrawer'
+import RightPanel from './RightPanel'
+import {
+ inputComponents, selectComponents, layoutComponents, formConf
+} from '@/components/FormGenerator/components/generator/config'
+import {
+ exportDefault, beautifierConf, isNumberStr, titleCase
+} from '../utils/index'
+import {
+ makeUpHtml, vueTemplate, vueScript, cssStyle
+} from '@/components/FormGenerator/components/generator/html'
+import { makeUpJs } from '@/components/FormGenerator/components/generator/js'
+import { makeUpCss } from '@/components/FormGenerator/components/generator/css'
+import drawingDefalut from '@/components/FormGenerator/components/generator/drawingDefalut'
+// import logo from '@/assets/logo.png'
+import CodeTypeDialog from './CodeTypeDialog'
+import DraggableItem from './DraggableItem'
+import {
+ getDrawingList, saveDrawingList, getIdGlobal, saveIdGlobal, getFormConf, getFormConfSelf
+} from '../utils/db'
+import loadBeautifier from '../utils/loadBeautifier'
+import {Debounce} from '@/utils/validate'
+let beautifier
+const emptyActiveData = { style: {}, autosize: {}}
+let oldActiveId
+let tempActiveData
+const drawingListInDB = getDrawingList()
+const formConfInDB = getFormConf()
+const idGlobal = getIdGlobal()
+
+export default {
+ components: {
+ draggable,
+ render,
+ FormDrawer,
+ JsonDrawer,
+ CodeTypeDialog,
+ DraggableItem,
+ RightPanel
+ },
+ props: {
+ editData: {
+ type: Object,
+ default: {}
+ },
+ isCreate: {
+ type: Number,
+ default: 0 // 0=鍒涘缓锛�1=缂栬緫
+ }
+ },
+ data() {
+ return {
+ // logo,
+ idGlobal,
+ formConf,
+ inputComponents,
+ selectComponents,
+ layoutComponents,
+ labelWidth: 100,
+ drawingList: drawingDefalut,
+ drawingData: {},
+ activeId: drawingDefalut[0].formId,
+ drawerVisible: false,
+ formData: {},
+ dialogVisible: false,
+ jsonDrawerVisible: false,
+ generateConf: null,
+ showFileName: false,
+ activeData: drawingDefalut[0],
+ saveDrawingListDebounce: debounce(340, saveDrawingList),
+ saveIdGlobalDebounce: debounce(340, saveIdGlobal),
+ leftComponents: [
+ {
+ title: '杈撳叆鍨嬬粍浠�',
+ list: inputComponents
+ },
+ {
+ title: '閫夋嫨鍨嬬粍浠�',
+ list: selectComponents
+ },
+ {
+ title: '甯冨眬鍨嬬粍浠�',
+ list: layoutComponents
+ }
+ ],
+ selfForm: {
+ name: null,
+ info: null,
+ id: null
+ }
+ }
+ },
+ computed: {
+ },
+ watch: {
+ // eslint-disable-next-line func-names
+ 'activeData.__config__.label': function(val, oldVal) {
+ if (
+ this.activeData.placeholder === undefined ||
+ !this.activeData.__config__.tag ||
+ oldActiveId !== this.activeId
+ ) {
+ return
+ }
+ this.activeData.placeholder = this.activeData.placeholder.replace(oldVal, '') + val
+ },
+ activeId: {
+ handler(val) {
+ oldActiveId = val
+ },
+ immediate: true
+ },
+ drawingList: {
+ handler(val) {
+ this.saveDrawingListDebounce(val)
+ if (val.length === 0) this.idGlobal = 100
+ },
+ deep: true
+ },
+ idGlobal: {
+ handler(val) {
+ this.saveIdGlobalDebounce(val)
+ },
+ immediate: true
+ }
+ },
+ mounted() {
+ if (this.editData.content) {
+ let { id, name, info, content } = this.editData
+ this.selfForm.name = name
+ this.selfForm.id = id
+ this.selfForm.info = info
+ content = JSON.parse(content)
+ this.drawingList = content.fields
+ const _content = JSON.parse(JSON.stringify(content))
+ delete _content.fields
+ this.formConf = _content
+ }
+ // if (Array.isArray(drawingListInDB) && drawingListInDB.length > 0) {
+ // this.drawingList = drawingListInDB
+ // } else {
+ // this.drawingList = drawingDefalut
+ // }
+ this.activeFormItem(this.drawingList[0])
+ // if (formConfInDB) {
+ // this.formConf = formConfInDB
+ // }
+ loadBeautifier(btf => {
+ beautifier = btf
+ })
+ const clipboard = new ClipboardJS('#copyNode', {
+ text: trigger => {
+ const codeStr = this.generateCode()
+ this.$notify({
+ title: '鎴愬姛',
+ message: '浠g爜宸插鍒跺埌鍓垏鏉匡紝鍙矘璐淬��',
+ type: 'success'
+ })
+ return codeStr
+ }
+ })
+ clipboard.on('error', e => {
+ this.$message.error('浠g爜澶嶅埗澶辫触')
+ })
+ },
+ methods: {
+ activeFormItem(element) {
+ this.activeData = element
+ this.activeId = element.__config__.formId
+ },
+ onEnd(obj) {
+ if (obj.from !== obj.to) {
+ this.activeData = tempActiveData
+ this.activeId = this.idGlobal
+ }
+ },
+ addComponent(item) {
+ const clone = this.cloneComponent(item)
+ this.drawingList.push(clone)
+ this.activeFormItem(clone)
+ },
+ cloneComponent(origin) {
+ const clone = JSON.parse(JSON.stringify(origin))
+ const config = clone.__config__
+ config.formId = ++this.idGlobal
+ config.span = this.formConf.span
+ config.renderKey = +new Date() // 鏀瑰彉renderKey鍚庡彲浠ュ疄鐜板己鍒舵洿鏂扮粍浠�
+ if (config.layout === 'colFormItem') {
+ clone.__vModel__ = `field${this.idGlobal}`
+ clone.placeholder !== undefined && (clone.placeholder += config.label)
+ } else if (config.layout === 'rowFormItem') {
+ config.componentName = `row${this.idGlobal}`
+ config.gutter = this.formConf.gutter
+ }
+ tempActiveData = clone
+ return tempActiveData
+ },
+ AssembleFormData() {
+ this.formData = {
+ fields: JSON.parse(JSON.stringify(this.drawingList)),
+ ...this.formConf
+ }
+ },
+ generate(data) {
+ const func = this[`exec${titleCase(this.operationType)}`]
+ this.generateConf = data
+ func && func(data)
+ },
+ execRun(data) {
+ this.AssembleFormData()
+ this.drawerVisible = true
+ },
+ execDownload(data) {
+ const codeStr = this.generateCode()
+ const blob = new Blob([codeStr], { type: 'text/plain;charset=utf-8' })
+ saveAs(blob, data.fileName)
+ },
+ execCopy(data) {
+ document.getElementById('copyNode').click()
+ },
+ empty() {
+ this.$confirm('纭畾瑕佹竻绌烘墍鏈夌粍浠跺悧锛�', '鎻愮ず', { type: 'warning' }).then(
+ () => {
+ this.drawingList = []
+ this.idGlobal = 100
+ }
+ )
+ },
+ drawingItemCopy(item, parent) {
+ let clone = JSON.parse(JSON.stringify(item))
+ clone = this.createIdAndKey(clone)
+ parent.push(clone)
+ this.activeFormItem(clone)
+ },
+ createIdAndKey(item) {
+ const config = item.__config__
+ config.formId = ++this.idGlobal
+ config.renderKey = +new Date()
+ if (config.layout === 'colFormItem') {
+ item.__vModel__ = `field${this.idGlobal}`
+ } else if (config.layout === 'rowFormItem') {
+ config.componentName = `row${this.idGlobal}`
+ }
+ if (Array.isArray(config.children)) {
+ config.children = config.children.map(childItem => this.createIdAndKey(childItem))
+ }
+ return item
+ },
+ drawingItemDelete(index, parent) {
+ parent.splice(index, 1)
+ this.$nextTick(() => {
+ const len = this.drawingList.length
+ if (len) {
+ this.activeFormItem(this.drawingList[len - 1])
+ }
+ })
+ },
+ generateCode() {
+ const { type } = this.generateConf
+ this.AssembleFormData()
+ const script = vueScript(makeUpJs(this.formData, type))
+ const html = vueTemplate(makeUpHtml(this.formData, type))
+ const css = cssStyle(makeUpCss(this.formData))
+ return beautifier.html(html + script + css, beautifierConf.html)
+ },
+ showJson() {
+ this.AssembleFormData()
+ this.jsonDrawerVisible = true
+ },
+ handlerSaveJSON:Debounce(function(form) {
+ // this.AssembleFormData()
+ // loadBeautifier(btf => {
+ // beautifier = btf
+ // let jsonStr = JSON.stringify(this.formData)
+ // this.beautifierJson = beautifier.js(jsonStr, beautifierConf.js)
+ //
+ // })
+ this.$refs[form].validate(result => {
+ if (!result) return
+ const formConfig = getFormConfSelf()
+ if (formConfig.fields.length === 0) {
+ this.$message.error('琛ㄥ崟閰嶇疆鏁版嵁涓嶈兘涓虹┖')
+ return
+ }
+ this.selfForm.content = JSON.stringify(formConfig)
+ this.$emit('getFormConfigDataResult', this.selfForm)
+ })
+ }),
+ download() {
+ this.dialogVisible = true
+ this.showFileName = true
+ this.operationType = 'download'
+ },
+ run() {
+ this.dialogVisible = true
+ this.showFileName = false
+ this.operationType = 'run'
+ },
+ copy() {
+ this.dialogVisible = true
+ this.showFileName = false
+ this.operationType = 'copy'
+ },
+ tagChange(newTag) {
+ newTag = this.cloneComponent(newTag)
+ const config = newTag.__config__
+ newTag.__vModel__ = this.activeData.__vModel__
+ config.formId = this.activeId
+ config.span = this.activeData.__config__.span
+ this.activeData.__config__.tag = config.tag
+ this.activeData.__config__.tagIcon = config.tagIcon
+ this.activeData.__config__.document = config.document
+ if (typeof this.activeData.__config__.defaultValue === typeof config.defaultValue) {
+ config.defaultValue = this.activeData.__config__.defaultValue
+ }
+ Object.keys(newTag).forEach(key => {
+ if (this.activeData[key] !== undefined) {
+ newTag[key] = this.activeData[key]
+ }
+ })
+ this.activeData = newTag
+ this.updateDrawingList(newTag, this.drawingList)
+ },
+ updateDrawingList(newTag, list) {
+ const index = list.findIndex(item => item.__config__.formId === this.activeId)
+ if (index > -1) {
+ list.splice(index, 1, newTag)
+ } else {
+ list.forEach(item => {
+ if (Array.isArray(item.__config__.children)) this.updateDrawingList(newTag, item.__config__.children)
+ })
+ }
+ },
+ refreshJson(data) {
+ this.drawingList = JSON.parse(JSON.stringify(data.fields))
+ delete data.fields
+ this.formConf = data
+ }
+ }
+}
+</script>
+
+<style lang='scss'>
+@import '../styles/home';
+</style>
diff --git a/src/components/FormGenerator/index/IconsDialog.vue b/src/components/FormGenerator/index/IconsDialog.vue
new file mode 100644
index 0000000..32aad4c
--- /dev/null
+++ b/src/components/FormGenerator/index/IconsDialog.vue
@@ -0,0 +1,123 @@
+<template>
+ <div class="icon-dialog">
+ <el-dialog
+ v-bind="$attrs"
+ width="980px"
+ :modal-append-to-body="false"
+ v-on="$listeners"
+ @open="onOpen"
+ @close="onClose"
+ >
+ <div slot="title">
+ 閫夋嫨鍥炬爣
+ <el-input
+ v-model="key"
+ size="mini"
+ :style="{width: '260px'}"
+ placeholder="璇疯緭鍏ュ浘鏍囧悕绉�"
+ prefix-icon="el-icon-search"
+ clearable
+ />
+ </div>
+ <ul class="icon-ul">
+ <li
+ v-for="icon in iconList"
+ :key="icon"
+ :class="active===icon?'active-item':''"
+ @click="onSelect(icon)"
+ >
+ <i :class="icon" />
+ <div>{{ icon }}</div>
+ </li>
+ </ul>
+ </el-dialog>
+ </div>
+</template>
+<script>
+import iconList from '../utils/icon.json'
+
+const originList = iconList.map(name => `el-icon-${name}`)
+
+export default {
+ inheritAttrs: false,
+ props: ['current'],
+ data() {
+ return {
+ iconList: originList,
+ active: null,
+ key: ''
+ }
+ },
+ watch: {
+ key(val) {
+ if (val) {
+ this.iconList = originList.filter(name => name.indexOf(val) > -1)
+ } else {
+ this.iconList = originList
+ }
+ }
+ },
+ methods: {
+ onOpen() {
+ this.active = this.current
+ this.key = ''
+ },
+ onClose() {},
+ onSelect(icon) {
+ this.active = icon
+ this.$emit('select', icon)
+ this.$emit('update:visible', false)
+ }
+ }
+}
+</script>
+<style lang="scss" scoped>
+.icon-ul {
+ margin: 0;
+ padding: 0;
+ font-size: 0;
+ li {
+ list-style-type: none;
+ text-align: center;
+ font-size: 14px;
+ display: inline-block;
+ width: 16.66%;
+ box-sizing: border-box;
+ height: 108px;
+ padding: 15px 6px 6px 6px;
+ cursor: pointer;
+ overflow: hidden;
+ &:hover {
+ background: #f2f2f2;
+ }
+ &.active-item{
+ background: #e1f3fb;
+ color: #7a6df0
+ }
+ > i {
+ font-size: 30px;
+ line-height: 50px;
+ }
+ }
+}
+.icon-dialog {
+ ::v-deep .el-dialog {
+ border-radius: 8px;
+ margin-bottom: 0;
+ margin-top: 4vh !important;
+ display: flex;
+ flex-direction: column;
+ max-height: 92vh;
+ overflow: hidden;
+ box-sizing: border-box;
+ .el-dialog__header {
+ padding-top: 14px;
+ }
+ .el-dialog__body {
+ margin: 0 20px 20px 20px;
+ padding: 0;
+ overflow: auto;
+ }
+ }
+}
+</style>
diff --git a/src/components/FormGenerator/index/JsonDrawer.vue b/src/components/FormGenerator/index/JsonDrawer.vue
new file mode 100644
index 0000000..eb8a613
--- /dev/null
+++ b/src/components/FormGenerator/index/JsonDrawer.vue
@@ -0,0 +1,158 @@
+<template>
+ <div>
+ <el-drawer v-bind="$attrs" append-to-body v-on="$listeners" @opened="onOpen" @close="onClose">
+ <div class="action-bar" :style="{'text-align': 'left'}">
+ <span class="bar-btn" @click="refresh">
+ <i class="el-icon-refresh" />
+ 鍒锋柊
+ </span>
+ <span ref="copyBtn" class="bar-btn copy-json-btn">
+ <i class="el-icon-document-copy" />
+ 澶嶅埗JSON
+ </span>
+ <span class="bar-btn" @click="exportJsonFile">
+ <i class="el-icon-download" />
+ 瀵煎嚭JSON鏂囦欢
+ </span>
+ <span class="bar-btn delete-btn" @click="$emit('update:visible', false)">
+ <i class="el-icon-circle-close" />
+ 鍏抽棴
+ </span>
+ </div>
+ <div id="editorJson" class="json-editor" />
+ </el-drawer>
+ </div>
+</template>
+
+<script>
+import { beautifierConf } from '../utils/index'
+import ClipboardJS from 'clipboard'
+import { saveAs } from 'file-saver'
+import loadMonaco from '../utils/loadMonaco'
+import loadBeautifier from '../utils/loadBeautifier'
+// import * as monaco from "monaco-editor";
+
+let beautifier
+let monaco
+
+export default {
+ components: {},
+ props: {
+ jsonStr: {
+ type: String,
+ required: true,
+ beautifier: null,
+ jsonEditor: null
+ }
+ },
+ data() {
+ return {}
+ },
+ computed: {},
+ watch: {},
+ created() {},
+ mounted() {
+ window.addEventListener('keydown', this.preventDefaultSave)
+ const clipboard = new ClipboardJS('.copy-json-btn', {
+ text: trigger => {
+ this.$notify({
+ title: '鎴愬姛',
+ message: '浠g爜宸插鍒跺埌鍓垏鏉匡紝鍙矘璐淬��',
+ type: 'success'
+ })
+ return this.beautifierJson
+ }
+ })
+ clipboard.on('error', e => {
+ this.$message.error('浠g爜澶嶅埗澶辫触')
+ })
+ },
+ beforeDestroy() {
+ window.removeEventListener('keydown', this.preventDefaultSave)
+ },
+ methods: {
+ preventDefaultSave(e) {
+ if (e.key === 's' && (e.metaKey || e.ctrlKey)) {
+ e.preventDefault()
+ }
+ },
+ onOpen() {
+ loadBeautifier(btf => {
+ beautifier = btf
+ this.beautifierJson = beautifier.js(this.jsonStr, beautifierConf.js)
+
+ loadMonaco(val => {
+ monaco = val
+ this.setEditorValue('editorJson', this.beautifierJson)
+ })
+ })
+ // monaco.editor.create(document.getElementById("editorJson"), {
+ // value: [
+ // "function x() {",
+ // '\tconsole.integralLog("Hello world!");',
+ // "}"].join(
+ // "\n"
+ // ),
+ // language: "javascript",
+ // theme: 'vs-dark',
+ // automaticLayout: true
+ // });
+ },
+ onClose() {},
+ setEditorValue(id, codeStr) {
+ if (this.jsonEditor) {
+ this.jsonEditor.setValue(codeStr)
+ } else {
+ this.jsonEditor = monaco.editor.create(document.getElementById(id), {
+ value: codeStr,
+ theme: 'vs-dark',
+ language: 'json',
+ automaticLayout: true
+ })
+ // ctrl + s 鍒锋柊
+ this.jsonEditor.onKeyDown(e => {
+ if (e.keyCode === 49 && (e.metaKey || e.ctrlKey)) {
+ this.refresh()
+ }
+ })
+ }
+ },
+ exportJsonFile() {
+ this.$prompt('鏂囦欢鍚�:', '瀵煎嚭鏂囦欢', {
+ inputValue: `${+new Date()}.json`,
+ closeOnClickModal: false,
+ inputPlaceholder: '璇疯緭鍏ユ枃浠跺悕'
+ }).then(({ value }) => {
+ if (!value) value = `${+new Date()}.json`
+ const codeStr = this.jsonEditor.getValue()
+ const blob = new Blob([codeStr], { type: 'text/plain;charset=utf-8' })
+ saveAs(blob, value)
+ })
+ },
+ refresh() {
+ try {
+ this.$emit('refresh', JSON.parse(this.jsonEditor.getValue()))
+ } catch (error) {
+ this.$notify({
+ title: '閿欒',
+ message: 'JSON鏍煎紡閿欒锛岃妫�鏌�',
+ type: 'error'
+ })
+ }
+ }
+ }
+}
+</script>
+
+<style lang="scss" scoped>
+@import '../styles/mixin';
+
+::v-deep .el-drawer__header {
+ display: none;
+}
+@include action-bar;
+
+.json-editor{
+ height: calc(100vh - 33px);
+}
+</style>
diff --git a/src/components/FormGenerator/index/ResourceDialog.vue b/src/components/FormGenerator/index/ResourceDialog.vue
new file mode 100644
index 0000000..38f72b6
--- /dev/null
+++ b/src/components/FormGenerator/index/ResourceDialog.vue
@@ -0,0 +1,114 @@
+<template>
+ <div>
+ <el-dialog
+ v-bind="$attrs"
+ title="澶栭儴璧勬簮寮曠敤"
+ width="600px"
+ :close-on-click-modal="false"
+ v-on="$listeners"
+ @open="onOpen"
+ @close="onClose"
+ >
+ <el-input
+ v-for="(item, index) in resources"
+ :key="index"
+ v-model="resources[index]"
+ class="url-item"
+ placeholder="璇疯緭鍏� css 鎴� js 璧勬簮璺緞"
+ prefix-icon="el-icon-link"
+ clearable
+ >
+ <el-button
+ slot="append"
+ icon="el-icon-delete"
+ @click="deleteOne(index)"
+ />
+ </el-input>
+ <el-button-group class="add-item">
+ <el-button
+ plain
+ @click="addOne('https://cdn.bootcss.com/jquery/1.8.3/jquery.min.js')"
+ >
+ jQuery1.8.3
+ </el-button>
+ <el-button
+ plain
+ @click="addOne('https://unpkg.com/http-vue-loader')"
+ >
+ http-vue-loader
+ </el-button>
+ <el-button
+ icon="el-icon-circle-plus-outline"
+ plain
+ @click="addOne('')"
+ >
+ 娣诲姞鍏朵粬
+ </el-button>
+ </el-button-group>
+ <div slot="footer">
+ <el-button @click="close">
+ 鍙栨秷
+ </el-button>
+ <el-button
+ type="primary"
+ @click="handelConfirm"
+ >
+ 纭畾
+ </el-button>
+ </div>
+ </el-dialog>
+ </div>
+</template>
+<script>
+export default {
+ components: {},
+ inheritAttrs: false,
+ props: ['originResource'],
+ data() {
+ return {
+ resources: null
+ }
+ },
+ computed: {},
+ watch: {},
+ created() {},
+ mounted() {},
+ methods: {
+ onOpen() {
+ this.resources = this.originResource.length ? JSON.parse(JSON.stringify(this.originResource)) : ['']
+ },
+ onClose() {
+ },
+ close() {
+ this.$emit('update:visible', false)
+ },
+ handelConfirm() {
+ const results = this.resources.filter(item => !!item) || []
+ this.$emit('save', results)
+ this.close()
+ if (results.length) {
+ this.resources = results
+ }
+ },
+ deleteOne(index) {
+ this.resources.splice(index, 1)
+ },
+ addOne(url) {
+ if (this.resources.indexOf(url) > -1) {
+ this.$message('璧勬簮宸插瓨鍦�')
+ } else {
+ this.resources.push(url)
+ }
+ }
+ }
+}
+
+</script>
+<style lang="scss" scoped>
+.add-item{
+ margin-top: 8px;
+}
+.url-item{
+ margin-bottom: 12px;
+}
+</style>
diff --git a/src/components/FormGenerator/index/RightPanel.vue b/src/components/FormGenerator/index/RightPanel.vue
new file mode 100644
index 0000000..dd6ba5f
--- /dev/null
+++ b/src/components/FormGenerator/index/RightPanel.vue
@@ -0,0 +1,1033 @@
+<template>
+ <div class="right-board">
+ <el-tabs v-model="currentTab" class="center-tabs">
+ <el-tab-pane label="缁勪欢灞炴��" name="field" />
+ <el-tab-pane label="琛ㄥ崟灞炴��" name="form" />
+ </el-tabs>
+ <div class="field-box">
+ <!-- <a class="document-link" target="_blank" :href="documentLink" title="鏌ョ湅缁勪欢鏂囨。">
+ <i class="el-icon-link" />
+ </a> -->
+ <el-scrollbar class="right-scrollbar">
+ <!-- 缁勪欢灞炴�� -->
+ <el-form v-show="currentTab==='field' && showField" size="small" label-width="90px">
+ <el-form-item v-if="activeData.__config__.changeTag" label="缁勪欢绫诲瀷">
+ <el-select
+ v-model="activeData.__config__.tagIcon"
+ placeholder="璇烽�夋嫨缁勪欢绫诲瀷"
+ :style="{width: '100%'}"
+ @change="tagChange"
+ >
+ <el-option-group v-for="group in tagList" :key="group.label" :label="group.label">
+ <el-option
+ v-for="item in group.options"
+ :key="item.__config__.label"
+ :label="item.__config__.label"
+ :value="item.__config__.tagIcon"
+ >
+ <svg-icon class="node-icon" :icon-class="item.__config__.tagIcon" />
+ <span> {{ item.__config__.label }}</span>
+ </el-option>
+ </el-option-group>
+ </el-select>
+ </el-form-item>
+ <el-form-item v-if="activeData.__vModel__!==undefined" label="瀛楁鍚�">
+ <el-input v-model="activeData.__vModel__" placeholder="璇疯緭鍏ュ瓧娈靛悕锛坴-model锛�" />
+ </el-form-item>
+ <el-form-item v-if="activeData.__config__.componentName!==undefined" label="缁勪欢鍚�">
+ {{ activeData.__config__.componentName }}
+ </el-form-item>
+ <el-form-item v-if="activeData.__config__.label!==undefined" label="鏍囬">
+ <el-input v-model="activeData.__config__.label" placeholder="璇疯緭鍏ユ爣棰�" />
+ </el-form-item>
+ <el-form-item v-if="activeData.placeholder!==undefined" label="鍗犱綅鎻愮ず">
+ <el-input v-model="activeData.placeholder" placeholder="璇疯緭鍏ュ崰浣嶆彁绀�" />
+ </el-form-item>
+ <el-form-item v-if="activeData['start-placeholder']!==undefined" label="寮�濮嬪崰浣�">
+ <el-input v-model="activeData['start-placeholder']" placeholder="璇疯緭鍏ュ崰浣嶆彁绀�" />
+ </el-form-item>
+ <el-form-item v-if="activeData['end-placeholder']!==undefined" label="缁撴潫鍗犱綅">
+ <el-input v-model="activeData['end-placeholder']" placeholder="璇疯緭鍏ュ崰浣嶆彁绀�" />
+ </el-form-item>
+ <el-form-item v-if="activeData.__config__.span!==undefined" label="琛ㄥ崟鏍呮牸">
+ <el-slider v-model="activeData.__config__.span" :max="24" :min="1" :marks="{12:''}" @change="spanChange" />
+ </el-form-item>
+ <el-form-item v-if="activeData.__config__.layout==='rowFormItem'" label="鏍呮牸闂撮殧">
+ <el-input-number v-model="activeData.gutter" :min="0" placeholder="鏍呮牸闂撮殧" />
+ </el-form-item>
+ <el-form-item v-if="activeData.__config__.layout==='rowFormItem'" label="甯冨眬妯″紡">
+ <el-radio-group v-model="activeData.type">
+ <el-radio-button label="default" />
+ <el-radio-button label="flex" />
+ </el-radio-group>
+ </el-form-item>
+ <el-form-item v-if="activeData.justify!==undefined&&activeData.type==='flex'" label="姘村钩鎺掑垪">
+ <el-select v-model="activeData.justify" placeholder="璇烽�夋嫨姘村钩鎺掑垪" :style="{width: '100%'}">
+ <el-option
+ v-for="(item, index) in justifyOptions"
+ :key="index"
+ :label="item.label"
+ :value="item.value"
+ />
+ </el-select>
+ </el-form-item>
+ <el-form-item v-if="activeData.align!==undefined&&activeData.type==='flex'" label="鍨傜洿鎺掑垪">
+ <el-radio-group v-model="activeData.align">
+ <el-radio-button label="top" />
+ <el-radio-button label="middle" />
+ <el-radio-button label="bottom" />
+ </el-radio-group>
+ </el-form-item>
+ <el-form-item v-if="activeData.__config__.labelWidth!==undefined" label="鏍囩瀹藉害">
+ <el-input v-model.number="activeData.__config__.labelWidth" type="number" placeholder="璇疯緭鍏ユ爣绛惧搴�" />
+ </el-form-item>
+ <el-form-item v-if="activeData.style&&activeData.style.width!==undefined" label="缁勪欢瀹藉害">
+ <el-input v-model="activeData.style.width" placeholder="璇疯緭鍏ョ粍浠跺搴�" clearable />
+ </el-form-item>
+ <el-form-item v-if="activeData.__vModel__!==undefined" label="榛樿鍊�">
+ <el-input
+ :value="setDefaultValue(activeData.__config__.defaultValue)"
+ placeholder="璇疯緭鍏ラ粯璁ゅ��"
+ @input="onDefaultValueInput"
+ />
+ </el-form-item>
+ <el-form-item v-if="activeData.__config__.tag==='el-checkbox-group'" label="鑷冲皯搴旈��">
+ <el-input-number
+ :value="activeData.min"
+ :min="0"
+ placeholder="鑷冲皯搴旈��"
+ @input="$set(activeData, 'min', $event?$event:undefined)"
+ />
+ </el-form-item>
+ <el-form-item v-if="activeData.__config__.tag==='el-checkbox-group'" label="鏈�澶氬彲閫�">
+ <el-input-number
+ :value="activeData.max"
+ :min="0"
+ placeholder="鏈�澶氬彲閫�"
+ @input="$set(activeData, 'max', $event?$event:undefined)"
+ />
+ </el-form-item>
+ <el-form-item v-if="activeData.__slot__&&activeData.__slot__.prepend!==undefined" label="鍓嶇紑">
+ <el-input v-model="activeData.__slot__.prepend" placeholder="璇疯緭鍏ュ墠缂�" />
+ </el-form-item>
+ <el-form-item v-if="activeData.__slot__&&activeData.__slot__.append!==undefined" label="鍚庣紑">
+ <el-input v-model="activeData.__slot__.append" placeholder="璇疯緭鍏ュ悗缂�" />
+ </el-form-item>
+ <el-form-item v-if="activeData['prefix-icon']!==undefined" label="鍓嶅浘鏍�">
+ <el-input v-model="activeData['prefix-icon']" placeholder="璇疯緭鍏ュ墠鍥炬爣鍚嶇О">
+ <el-button slot="append" icon="el-icon-thumb" @click="openIconsDialog('prefix-icon')">
+ 閫夋嫨
+ </el-button>
+ </el-input>
+ </el-form-item>
+ <el-form-item v-if="activeData['suffix-icon'] !== undefined" label="鍚庡浘鏍�">
+ <el-input v-model="activeData['suffix-icon']" placeholder="璇疯緭鍏ュ悗鍥炬爣鍚嶇О">
+ <el-button slot="append" icon="el-icon-thumb" @click="openIconsDialog('suffix-icon')">
+ 閫夋嫨
+ </el-button>
+ </el-input>
+ </el-form-item>
+ <el-form-item
+ v-if="activeData['icon']!==undefined && activeData.__config__.tag === 'el-button'"
+ label="鎸夐挳鍥炬爣"
+ >
+ <el-input v-model="activeData['icon']" placeholder="璇疯緭鍏ユ寜閽浘鏍囧悕绉�">
+ <el-button slot="append" icon="el-icon-thumb" @click="openIconsDialog('icon')">
+ 閫夋嫨
+ </el-button>
+ </el-input>
+ </el-form-item>
+ <el-form-item v-if="activeData.__config__.tag === 'el-cascader'" label="閫夐」鍒嗛殧绗�">
+ <el-input v-model="activeData.separator" placeholder="璇疯緭鍏ラ�夐」鍒嗛殧绗�" />
+ </el-form-item>
+ <el-form-item v-if="activeData.autosize !== undefined" label="鏈�灏忚鏁�">
+ <el-input-number v-model="activeData.autosize.minRows" :min="1" placeholder="鏈�灏忚鏁�" />
+ </el-form-item>
+ <el-form-item v-if="activeData.autosize !== undefined" label="鏈�澶ц鏁�">
+ <el-input-number v-model="activeData.autosize.maxRows" :min="1" placeholder="鏈�澶ц鏁�" />
+ </el-form-item>
+ <el-form-item v-if="isShowMin" label="鏈�灏忓��">
+ <el-input-number v-model="activeData.min" placeholder="鏈�灏忓��" />
+ </el-form-item>
+ <el-form-item v-if="isShowMax" label="鏈�澶у��">
+ <el-input-number v-model="activeData.max" placeholder="鏈�澶у��" />
+ </el-form-item>
+ <el-form-item v-if="activeData.height!==undefined" label="缁勪欢楂樺害">
+ <el-input-number v-model="activeData.height" placeholder="楂樺害" @input="changeRenderKey" />
+ </el-form-item>
+ <el-form-item v-if="isShowStep" label="姝ラ暱">
+ <el-input-number v-model="activeData.step" placeholder="姝ユ暟" />
+ </el-form-item>
+ <el-form-item v-if="activeData.__config__.tag === 'el-input-number'" label="绮惧害">
+ <el-input-number v-model="activeData.precision" :min="0" placeholder="绮惧害" />
+ </el-form-item>
+ <el-form-item v-if="activeData.__config__.tag === 'el-input-number'" label="鎸夐挳浣嶇疆">
+ <el-radio-group v-model="activeData['controls-position']">
+ <el-radio-button label="">
+ 榛樿
+ </el-radio-button>
+ <el-radio-button label="right">
+ 鍙充晶
+ </el-radio-button>
+ </el-radio-group>
+ </el-form-item>
+ <el-form-item v-if="activeData.maxlength !== undefined" label="鏈�澶氳緭鍏�">
+ <el-input v-model="activeData.maxlength" placeholder="璇疯緭鍏ュ瓧绗﹂暱搴�">
+ <template slot="append">
+ 涓瓧绗�
+ </template>
+ </el-input>
+ </el-form-item>
+ <el-form-item v-if="activeData['active-text'] !== undefined" label="寮�鍚彁绀�">
+ <el-input v-model="activeData['active-text']" placeholder="璇疯緭鍏ュ紑鍚彁绀�" />
+ </el-form-item>
+ <el-form-item v-if="activeData['inactive-text'] !== undefined" label="鍏抽棴鎻愮ず">
+ <el-input v-model="activeData['inactive-text']" placeholder="璇疯緭鍏ュ叧闂彁绀�" />
+ </el-form-item>
+ <el-form-item v-if="activeData['active-value'] !== undefined" label="寮�鍚��">
+ <el-input
+ :value="setDefaultValue(activeData['active-value'])"
+ placeholder="璇疯緭鍏ュ紑鍚��"
+ @input="onSwitchValueInput($event, 'active-value')"
+ />
+ </el-form-item>
+ <el-form-item v-if="activeData['inactive-value'] !== undefined" label="鍏抽棴鍊�">
+ <el-input
+ :value="setDefaultValue(activeData['inactive-value'])"
+ placeholder="璇疯緭鍏ュ叧闂��"
+ @input="onSwitchValueInput($event, 'inactive-value')"
+ />
+ </el-form-item>
+ <el-form-item
+ v-if="activeData.type !== undefined && 'el-date-picker' === activeData.__config__.tag"
+ label="鏃堕棿绫诲瀷"
+ >
+ <el-select
+ v-model="activeData.type"
+ placeholder="璇烽�夋嫨鏃堕棿绫诲瀷"
+ :style="{ width: '100%' }"
+ @change="dateTypeChange"
+ >
+ <el-option
+ v-for="(item, index) in dateOptions"
+ :key="index"
+ :label="item.label"
+ :value="item.value"
+ />
+ </el-select>
+ </el-form-item>
+ <el-form-item v-if="activeData.name !== undefined" label="鏂囦欢瀛楁鍚�">
+ <el-input v-model="activeData.name" placeholder="璇疯緭鍏ヤ笂浼犳枃浠跺瓧娈靛悕" />
+ </el-form-item>
+ <el-form-item v-if="activeData.accept === 'image'" label="鏂囦欢绫诲瀷">
+ <span>鍥剧墖</span>
+ </el-form-item>
+ <el-form-item v-if="activeData.accept !== undefined && activeData.accept !== 'image'" label="鏂囦欢绫诲瀷">
+ <el-select
+ v-model="activeData.accept"
+ placeholder="璇烽�夋嫨鏂囦欢绫诲瀷"
+ :style="{ width: '100%' }"
+ clearable
+ >
+ <el-option label="瑙嗛" value="video/*" />
+ <el-option label="闊抽" value="audio/*" />
+ <el-option label="excel" value=".xls,.xlsx" />
+ <el-option label="word" value=".doc,.docx" />
+ <el-option label="pdf" value=".pdf" />
+ <el-option label="txt" value=".txt" />
+ </el-select>
+ </el-form-item>
+ <el-form-item v-if="activeData.__config__.fileSize !== undefined" label="鏂囦欢澶у皬">
+ <el-input v-model.number="activeData.__config__.fileSize" placeholder="璇疯緭鍏ユ枃浠跺ぇ灏�">
+ <el-select slot="append" v-model="activeData.__config__.sizeUnit" :style="{ width: '66px' }">
+ <el-option label="KB" value="KB" />
+ <el-option label="MB" value="MB" />
+ <el-option label="GB" value="GB" />
+ </el-select>
+ </el-input>
+ </el-form-item>
+ <el-form-item v-if="activeData.action !== undefined" label="涓婁紶鍦板潃">
+ <el-input v-model="activeData.action" placeholder="璇疯緭鍏ヤ笂浼犲湴鍧�" clearable />
+ </el-form-item>
+ <el-form-item v-if="activeData['list-type'] !== undefined" label="鍒楄〃绫诲瀷">
+ <el-radio-group v-model="activeData['list-type']" size="small">
+ <el-radio-button label="text">
+ text
+ </el-radio-button>
+ <el-radio-button label="picture">
+ picture
+ </el-radio-button>
+ <el-radio-button label="picture-card">
+ picture-card
+ </el-radio-button>
+ </el-radio-group>
+ </el-form-item>
+ <el-form-item
+ v-if="activeData.type !== undefined && activeData.__config__.tag === 'el-button'"
+ label="鎸夐挳绫诲瀷"
+ >
+ <el-select v-model="activeData.type" :style="{ width: '100%' }">
+ <el-option label="primary" value="primary" />
+ <el-option label="success" value="success" />
+ <el-option label="warning" value="warning" />
+ <el-option label="danger" value="danger" />
+ <el-option label="info" value="info" />
+ <el-option label="text" value="text" />
+ </el-select>
+ </el-form-item>
+ <el-form-item
+ v-if="activeData.__config__.buttonText !== undefined"
+ v-show="'picture-card' !== activeData['list-type']"
+ label="鎸夐挳鏂囧瓧"
+ >
+ <el-input v-model="activeData.__config__.buttonText" placeholder="璇疯緭鍏ユ寜閽枃瀛�" />
+ </el-form-item>
+ <el-form-item v-if="activeData['range-separator'] !== undefined" label="鍒嗛殧绗�">
+ <el-input v-model="activeData['range-separator']" placeholder="璇疯緭鍏ュ垎闅旂" />
+ </el-form-item>
+ <el-form-item v-if="activeData['picker-options'] !== undefined" label="鏃堕棿娈�">
+ <el-input
+ v-model="activeData['picker-options'].selectableRange"
+ placeholder="璇疯緭鍏ユ椂闂存"
+ />
+ </el-form-item>
+ <el-form-item v-if="activeData.format !== undefined" label="鏃堕棿鏍煎紡">
+ <el-input
+ :value="activeData.format"
+ placeholder="璇疯緭鍏ユ椂闂存牸寮�"
+ @input="setTimeValue($event)"
+ />
+ </el-form-item>
+ <template v-if="['el-checkbox-group', 'el-radio-group', 'el-select'].indexOf(activeData.__config__.tag) > -1">
+ <el-divider>閫夐」</el-divider>
+ <draggable
+ :list="activeData.__slot__.options"
+ :animation="340"
+ group="selectItem"
+ handle=".option-drag"
+ >
+ <div v-for="(item, index) in activeData.__slot__.options" :key="index" class="select-item">
+ <div class="select-line-icon option-drag">
+ <i class="el-icon-s-operation" />
+ </div>
+ <el-input v-model="item.label" placeholder="閫夐」鍚�" size="small" />
+ <el-input
+ placeholder="閫夐」鍊�"
+ size="small"
+ :value="item.value"
+ @input="setOptionValue(item, $event)"
+ />
+ <div class="close-btn select-line-icon" @click="activeData.__slot__.options.splice(index, 1)">
+ <i class="el-icon-remove-outline" />
+ </div>
+ </div>
+ </draggable>
+ <div style="margin-left: 20px;">
+ <el-button
+ style="padding-bottom: 0"
+ icon="el-icon-circle-plus-outline"
+ type="text"
+ @click="addSelectItem"
+ >
+ 娣诲姞閫夐」
+ </el-button>
+ </div>
+ <el-divider />
+ </template>
+
+ <template v-if="['el-cascader'].indexOf(activeData.__config__.tag) > -1">
+ <el-divider>閫夐」</el-divider>
+ <el-form-item label="鏁版嵁绫诲瀷">
+ <el-radio-group v-model="activeData.__config__.dataType" size="small">
+ <el-radio-button label="dynamic">
+ 鍔ㄦ�佹暟鎹�
+ </el-radio-button>
+ <el-radio-button label="static">
+ 闈欐�佹暟鎹�
+ </el-radio-button>
+ </el-radio-group>
+ </el-form-item>
+
+ <template v-if="activeData.__config__.dataType === 'dynamic'">
+ <el-form-item label="鏍囩閿悕">
+ <el-input v-model="activeData.props.props.label" placeholder="璇疯緭鍏ユ爣绛鹃敭鍚�" />
+ </el-form-item>
+ <el-form-item label="鍊奸敭鍚�">
+ <el-input v-model="activeData.props.props.value" placeholder="璇疯緭鍏ュ�奸敭鍚�" />
+ </el-form-item>
+ <el-form-item label="瀛愮骇閿悕">
+ <el-input v-model="activeData.props.props.children" placeholder="璇疯緭鍏ュ瓙绾ч敭鍚�" />
+ </el-form-item>
+ </template>
+
+ <!-- 绾ц仈閫夋嫨闈欐�佹爲 -->
+ <el-tree
+ v-if="activeData.__config__.dataType === 'static'"
+ draggable
+ :data="activeData.options"
+ node-key="id"
+ :expand-on-click-node="false"
+ :render-content="renderContent"
+ />
+ <div v-if="activeData.__config__.dataType === 'static'" style="margin-left: 20px">
+ <el-button
+ style="padding-bottom: 0"
+ icon="el-icon-circle-plus-outline"
+ type="text"
+ @click="addTreeItem"
+ >
+ 娣诲姞鐖剁骇
+ </el-button>
+ </div>
+ <el-divider />
+ </template>
+
+ <el-form-item v-if="activeData.__config__.optionType !== undefined" label="閫夐」鏍峰紡">
+ <el-radio-group v-model="activeData.__config__.optionType">
+ <el-radio-button label="default">
+ 榛樿
+ </el-radio-button>
+ <el-radio-button label="button">
+ 鎸夐挳
+ </el-radio-button>
+ </el-radio-group>
+ </el-form-item>
+ <el-form-item v-if="activeData['active-color'] !== undefined" label="寮�鍚鑹�">
+ <el-color-picker v-model="activeData['active-color']" />
+ </el-form-item>
+ <el-form-item v-if="activeData['inactive-color'] !== undefined" label="鍏抽棴棰滆壊">
+ <el-color-picker v-model="activeData['inactive-color']" />
+ </el-form-item>
+
+ <el-form-item
+ v-if="activeData.__config__.showLabel !== undefined
+ && activeData.__config__.labelWidth !== undefined"
+ label="鏄剧ず鏍囩"
+ >
+ <el-switch v-model="activeData.__config__.showLabel" />
+ </el-form-item>
+ <el-form-item v-if="activeData.branding !== undefined" label="鍝佺墝鐑欏嵃">
+ <el-switch v-model="activeData.branding" @input="changeRenderKey" />
+ </el-form-item>
+ <el-form-item v-if="activeData['allow-half'] !== undefined" label="鍏佽鍗婇��">
+ <el-switch v-model="activeData['allow-half']" />
+ </el-form-item>
+ <el-form-item v-if="activeData['show-text'] !== undefined" label="杈呭姪鏂囧瓧">
+ <el-switch v-model="activeData['show-text']" @change="rateTextChange" />
+ </el-form-item>
+ <el-form-item v-if="activeData['show-score'] !== undefined" label="鏄剧ず鍒嗘暟">
+ <el-switch v-model="activeData['show-score']" @change="rateScoreChange" />
+ </el-form-item>
+ <el-form-item v-if="activeData['show-stops'] !== undefined" label="鏄剧ず闂存柇鐐�">
+ <el-switch v-model="activeData['show-stops']" />
+ </el-form-item>
+ <el-form-item v-if="activeData.range !== undefined" label="鑼冨洿閫夋嫨">
+ <el-switch v-model="activeData.range" @change="rangeChange" />
+ </el-form-item>
+ <el-form-item
+ v-if="activeData.__config__.border !== undefined && activeData.__config__.optionType === 'default'"
+ label="鏄惁甯﹁竟妗�"
+ >
+ <el-switch v-model="activeData.__config__.border" />
+ </el-form-item>
+ <el-form-item v-if="activeData.__config__.tag === 'el-color-picker'" label="棰滆壊鏍煎紡">
+ <el-select
+ v-model="activeData['color-format']"
+ placeholder="璇烽�夋嫨棰滆壊鏍煎紡"
+ :style="{ width: '100%' }"
+ clearable
+ @change="colorFormatChange"
+ >
+ <el-option
+ v-for="(item, index) in colorFormatOptions"
+ :key="index"
+ :label="item.label"
+ :value="item.value"
+ />
+ </el-select>
+ </el-form-item>
+ <el-form-item
+ v-if="activeData.size !== undefined &&
+ (activeData.__config__.optionType === 'button' ||
+ activeData.__config__.border ||
+ activeData.__config__.tag === 'el-color-picker' ||
+ activeData.__config__.tag === 'el-button')"
+ label="缁勪欢灏哄"
+ >
+ <el-radio-group v-model="activeData.size">
+ <el-radio-button label="medium">
+ 涓瓑
+ </el-radio-button>
+ <el-radio-button label="small">
+ 杈冨皬
+ </el-radio-button>
+ <el-radio-button label="mini">
+ 杩蜂綘
+ </el-radio-button>
+ </el-radio-group>
+ </el-form-item>
+ <el-form-item v-if="activeData['show-word-limit'] !== undefined" label="杈撳叆缁熻">
+ <el-switch v-model="activeData['show-word-limit']" />
+ </el-form-item>
+ <el-form-item v-if="activeData.__config__.tag === 'el-input-number'" label="涓ユ牸姝ユ暟">
+ <el-switch v-model="activeData['step-strictly']" />
+ </el-form-item>
+ <el-form-item v-if="activeData.__config__.tag === 'el-cascader'" label="鏄惁澶氶��">
+ <el-switch v-model="activeData.props.props.multiple" />
+ </el-form-item>
+ <el-form-item v-if="activeData.__config__.tag === 'el-cascader'" label="灞曠ず鍏ㄨ矾寰�">
+ <el-switch v-model="activeData['show-all-levels']" />
+ </el-form-item>
+ <el-form-item v-if="activeData.__config__.tag === 'el-cascader'" label="鍙惁绛涢��">
+ <el-switch v-model="activeData.filterable" />
+ </el-form-item>
+ <el-form-item v-if="activeData.clearable !== undefined" label="鑳藉惁娓呯┖">
+ <el-switch v-model="activeData.clearable" />
+ </el-form-item>
+ <el-form-item v-if="activeData.__config__.showTip !== undefined" label="鏄剧ず鎻愮ず">
+ <el-switch v-model="activeData.__config__.showTip" />
+ </el-form-item>
+ <el-form-item v-if="activeData.__config__.tag === 'el-upload' || activeData.__config__.tag === 'self-upload'" label="澶氶�夋枃浠�">
+ <el-switch v-model="activeData.multiple" />
+ </el-form-item>
+ <el-form-item v-if="activeData['auto-upload'] !== undefined" label="鑷姩涓婁紶">
+ <el-switch v-model="activeData['auto-upload']" />
+ </el-form-item>
+ <el-form-item v-if="activeData.readonly !== undefined" label="鏄惁鍙">
+ <el-switch v-model="activeData.readonly" />
+ </el-form-item>
+ <el-form-item v-if="activeData.disabled !== undefined" label="鏄惁绂佺敤">
+ <el-switch v-model="activeData.disabled" />
+ </el-form-item>
+ <el-form-item v-if="activeData.__config__.tag === 'el-select'" label="鑳藉惁鎼滅储">
+ <el-switch v-model="activeData.filterable" />
+ </el-form-item>
+ <el-form-item v-if="activeData.__config__.tag === 'el-select'" label="鏄惁澶氶��">
+ <el-switch v-model="activeData.multiple" @change="multipleChange" />
+ </el-form-item>
+ <el-form-item v-if="activeData.__config__.required !== undefined" label="鏄惁蹇呭~">
+ <el-switch v-model="activeData.__config__.required" />
+ </el-form-item>
+ <el-form-item v-if="activeData.__config__.tips !== undefined" label="寮�鍚弿杩�">
+ <el-switch v-model="activeData.__config__.tips" />
+ </el-form-item>
+ <el-form-item v-if="activeData.__config__.tips" label="鎻忚堪鍐呭">
+ <el-input v-model="activeData.__config__.tipsDesc" placeholder="璇疯緭鍏ユ弿杩�" />
+ </el-form-item>
+ <el-form-item v-if="activeData.__config__.tips" label="鎻忚堪閾炬帴">
+ <el-switch v-model="activeData.__config__.tipsIsLink" />
+ </el-form-item>
+ <el-form-item v-if="activeData.__config__.tipsIsLink" label="閾炬帴鍦板潃">
+ <el-input v-model="activeData.__config__.tipsLink" placeholder="璇疯緭鍏ラ摼鎺ュ湴鍧�" />
+ </el-form-item>
+ <!-- <el-form-item v-if="activeData.__config__.bindInput !== undefined" label="缁戝畾杈撳叆">
+ <el-switch v-model="activeData.__config__.bindInput" />
+ </el-form-item>
+ <el-form-item v-if="activeData.__config__.bindInput" label="缁戝畾鍐呭">
+ <el-input v-model="activeData.__config__.bindValve" placeholder="璇疯緭鍏ュ唴瀹�" />
+ </el-form-item> -->
+ <template v-if="activeData.__config__.layoutTree">
+ <el-divider>甯冨眬缁撴瀯鏍�</el-divider>
+ <el-tree
+ :data="[activeData.__config__]"
+ :props="layoutTreeProps"
+ node-key="renderKey"
+ default-expand-all
+ draggable
+ >
+ <span slot-scope="{ node, data }">
+ <span class="node-label">
+ <svg-icon class="node-icon" :icon-class="data.__config__?data.__config__.tagIcon:data.tagIcon" />
+ {{ node.label }}
+ </span>
+ </span>
+ </el-tree>
+ </template>
+
+ <template v-if="activeData.__config__.layout === 'colFormItem'">
+ <el-divider>姝e垯鏍¢獙</el-divider>
+ <div
+ v-for="(item, index) in activeData.__config__.regList"
+ :key="index"
+ class="reg-item"
+ >
+ <span class="close-btn" @click="activeData.__config__.regList.splice(index, 1)">
+ <i class="el-icon-close" />
+ </span>
+ <el-form-item label="琛ㄨ揪寮�">
+ <el-input v-model="item.pattern" placeholder="璇疯緭鍏ユ鍒�" />
+ </el-form-item>
+ <el-form-item label="閿欒鎻愮ず" style="margin-bottom:0">
+ <el-input v-model="item.message" placeholder="璇疯緭鍏ラ敊璇彁绀�" />
+ </el-form-item>
+ </div>
+ <div style="margin-left: 20px">
+ <el-button icon="el-icon-circle-plus-outline" type="text" @click="addReg">
+ 娣诲姞瑙勫垯
+ </el-button>
+ </div>
+ </template>
+ </el-form>
+ <!-- 琛ㄥ崟灞炴�� -->
+ <el-form v-show="currentTab === 'form'" size="small" label-width="90px">
+ <el-form-item label="琛ㄥ崟鍚�">
+ <el-input v-model="formConf.formRef" placeholder="璇疯緭鍏ヨ〃鍗曞悕锛坮ef锛�" />
+ </el-form-item>
+ <el-form-item label="琛ㄥ崟妯″瀷">
+ <el-input v-model="formConf.formModel" placeholder="璇疯緭鍏ユ暟鎹ā鍨�" />
+ </el-form-item>
+ <el-form-item label="鏍¢獙妯″瀷">
+ <el-input v-model="formConf.formRules" placeholder="璇疯緭鍏ユ牎楠屾ā鍨�" />
+ </el-form-item>
+ <el-form-item label="琛ㄥ崟灏哄">
+ <el-radio-group v-model="formConf.size">
+ <el-radio-button label="medium">
+ 涓瓑
+ </el-radio-button>
+ <el-radio-button label="small">
+ 杈冨皬
+ </el-radio-button>
+ <el-radio-button label="mini">
+ 杩蜂綘
+ </el-radio-button>
+ </el-radio-group>
+ </el-form-item>
+ <el-form-item label="鏍囩瀵归綈">
+ <el-radio-group v-model="formConf.labelPosition">
+ <el-radio-button label="left">
+ 宸﹀榻�
+ </el-radio-button>
+ <el-radio-button label="right">
+ 鍙冲榻�
+ </el-radio-button>
+ <el-radio-button label="top">
+ 椤堕儴瀵归綈
+ </el-radio-button>
+ </el-radio-group>
+ </el-form-item>
+ <el-form-item label="鏍囩瀹藉害">
+ <el-input v-model.number="formConf.labelWidth" type="number" placeholder="璇疯緭鍏ユ爣绛惧搴�" />
+ </el-form-item>
+ <el-form-item label="鏍呮牸闂撮殧">
+ <el-input-number v-model="formConf.gutter" :min="0" placeholder="鏍呮牸闂撮殧" />
+ </el-form-item>
+ <el-form-item label="绂佺敤琛ㄥ崟">
+ <el-switch v-model="formConf.disabled" />
+ </el-form-item>
+ <el-form-item label="琛ㄥ崟鎸夐挳">
+ <el-switch v-model="formConf.formBtns" />
+ </el-form-item>
+ <el-form-item label="鏄剧ず鏈�変腑缁勪欢杈规">
+ <el-switch v-model="formConf.unFocusedComponentBorder" />
+ </el-form-item>
+ </el-form>
+ </el-scrollbar>
+ </div>
+
+ <treeNode-dialog :visible.sync="dialogVisible" title="娣诲姞閫夐」" @commit="addNode" />
+ <icons-dialog :visible.sync="iconsVisible" :current="activeData[currentIconModel]" @select="setIcon" />
+ </div>
+</template>
+
+<script>
+import { isArray } from 'util'
+import TreeNodeDialog from './TreeNodeDialog'
+import { isNumberStr } from '../utils/index'
+import IconsDialog from './IconsDialog'
+import {
+ inputComponents, selectComponents, layoutComponents
+} from '@/components/FormGenerator/components/generator/config'
+import { saveFormConf } from '../utils/db'
+
+const dateTimeFormat = {
+ date: 'yyyy-MM-dd',
+ week: 'yyyy 绗� WW 鍛�',
+ month: 'yyyy-MM',
+ year: 'yyyy',
+ datetime: 'yyyy-MM-dd HH:mm:ss',
+ daterange: 'yyyy-MM-dd',
+ monthrange: 'yyyy-MM',
+ datetimerange: 'yyyy-MM-dd HH:mm:ss'
+}
+
+export default {
+ components: {
+ TreeNodeDialog,
+ IconsDialog
+ },
+ props: ['showField', 'activeData', 'formConf'],
+ data() {
+ return {
+ currentTab: 'field',
+ currentNode: null,
+ dialogVisible: false,
+ iconsVisible: false,
+ currentIconModel: null,
+ dateTypeOptions: [
+ {
+ label: '鏃�(date)',
+ value: 'date'
+ },
+ {
+ label: '鍛�(week)',
+ value: 'week'
+ },
+ {
+ label: '鏈�(month)',
+ value: 'month'
+ },
+ {
+ label: '骞�(year)',
+ value: 'year'
+ },
+ {
+ label: '鏃ユ湡鏃堕棿(datetime)',
+ value: 'datetime'
+ }
+ ],
+ dateRangeTypeOptions: [
+ {
+ label: '鏃ユ湡鑼冨洿(daterange)',
+ value: 'daterange'
+ },
+ {
+ label: '鏈堣寖鍥�(monthrange)',
+ value: 'monthrange'
+ },
+ {
+ label: '鏃ユ湡鏃堕棿鑼冨洿(datetimerange)',
+ value: 'datetimerange'
+ }
+ ],
+ colorFormatOptions: [
+ {
+ label: 'hex',
+ value: 'hex'
+ },
+ {
+ label: 'rgb',
+ value: 'rgb'
+ },
+ {
+ label: 'rgba',
+ value: 'rgba'
+ },
+ {
+ label: 'hsv',
+ value: 'hsv'
+ },
+ {
+ label: 'hsl',
+ value: 'hsl'
+ }
+ ],
+ justifyOptions: [
+ {
+ label: 'start',
+ value: 'start'
+ },
+ {
+ label: 'end',
+ value: 'end'
+ },
+ {
+ label: 'center',
+ value: 'center'
+ },
+ {
+ label: 'space-around',
+ value: 'space-around'
+ },
+ {
+ label: 'space-between',
+ value: 'space-between'
+ }
+ ],
+ layoutTreeProps: {
+ label(data, node) {
+ const config = data.__config__
+ return data.componentName || `${config.label}: ${data.__vModel__}`
+ }
+ }
+ }
+ },
+ computed: {
+ // documentLink() {
+ // return (
+ // this.activeData.__config__.document
+ // || 'https://element.eleme.cn/#/zh-CN/component/installation'
+ // )
+ // },
+ dateOptions() {
+ if (
+ this.activeData.type !== undefined &&
+ this.activeData.__config__.tag === 'el-date-picker'
+ ) {
+ if (this.activeData['start-placeholder'] === undefined) {
+ return this.dateTypeOptions
+ }
+ return this.dateRangeTypeOptions
+ }
+ return []
+ },
+ tagList() {
+ return [
+ {
+ label: '杈撳叆鍨嬬粍浠�',
+ options: inputComponents
+ },
+ {
+ label: '閫夋嫨鍨嬬粍浠�',
+ options: selectComponents
+ }
+ ]
+ },
+ activeTag() {
+ return this.activeData.__config__.tag
+ },
+ isShowMin() {
+ return ['el-input-number', 'el-slider'].indexOf(this.activeTag) > -1
+ },
+ isShowMax() {
+ return ['el-input-number', 'el-slider', 'el-rate'].indexOf(this.activeTag) > -1
+ },
+ isShowStep() {
+ return ['el-input-number', 'el-slider'].indexOf(this.activeTag) > -1
+ }
+ },
+ watch: {
+ formConf: {
+ handler(val) {
+ saveFormConf(val)
+ },
+ deep: true
+ }
+ },
+ mounted() {
+ saveFormConf(this.formConf)
+ },
+ methods: {
+ addReg() {
+ this.activeData.__config__.regList.push({
+ pattern: '',
+ message: ''
+ })
+ },
+ addSelectItem() {
+ this.activeData.__slot__.options.push({
+ label: '',
+ value: ''
+ })
+ },
+ addTreeItem() {
+ ++this.idGlobal
+ this.dialogVisible = true
+ this.currentNode = this.activeData.options
+ },
+ renderContent(h, { node, data, store }) {
+ return (
+ <div class='custom-tree-node'>
+ <span>{node.label}</span>
+ <span class='node-operation'>
+ <i on-click={() => this.append(data)}
+ class='el-icon-plus'
+ title='娣诲姞'
+ ></i>
+ <i on-click={() => this.remove(node, data)}
+ class='el-icon-delete'
+ title='鍒犻櫎'
+ ></i>
+ </span>
+ </div>
+ )
+ },
+ append(data) {
+ if (!data.children) {
+ this.$set(data, 'children', [])
+ }
+ this.dialogVisible = true
+ this.currentNode = data.children
+ },
+ remove(node, data) {
+ this.activeData.__config__.defaultValue = [] // 閬垮厤鍒犻櫎鏃舵姤閿�
+ const { parent } = node
+ const children = parent.data.children || parent.data
+ const index = children.findIndex(d => d.id === data.id)
+ children.splice(index, 1)
+ },
+ addNode(data) {
+ this.currentNode.push(data)
+ },
+ setOptionValue(item, val) {
+ item.value = isNumberStr(val) ? +val : val
+ },
+ setDefaultValue(val) {
+ if (Array.isArray(val)) {
+ return val.join(',')
+ }
+ // if (['string', 'number'].indexOf(typeof val) > -1) {
+ // return val
+ // }
+ if (typeof val === 'boolean') {
+ return `${val}`
+ }
+ return val
+ },
+ onDefaultValueInput(str) {
+ if (isArray(this.activeData.__config__.defaultValue)) {
+ // 鏁扮粍
+ this.$set(
+ this.activeData.__config__,
+ 'defaultValue',
+ str.split(',').map(val => (isNumberStr(val) ? +val : val))
+ )
+ } else if (['true', 'false'].indexOf(str) > -1) {
+ // 甯冨皵
+ this.$set(this.activeData.__config__, 'defaultValue', JSON.parse(str))
+ } else {
+ // 瀛楃涓插拰鏁板瓧
+ this.$set(
+ this.activeData.__config__,
+ 'defaultValue',
+ isNumberStr(str) ? +str : str
+ )
+ }
+ },
+ onSwitchValueInput(val, name) {
+ if (['true', 'false'].indexOf(val) > -1) {
+ this.$set(this.activeData, name, JSON.parse(val))
+ } else {
+ this.$set(this.activeData, name, isNumberStr(val) ? +val : val)
+ }
+ },
+ setTimeValue(val, type) {
+ const valueFormat = type === 'week' ? dateTimeFormat.date : val
+ this.$set(this.activeData.__config__, 'defaultValue', null)
+ this.$set(this.activeData, 'value-format', valueFormat)
+ this.$set(this.activeData, 'format', val)
+ },
+ spanChange(val) {
+ this.formConf.span = val
+ },
+ multipleChange(val) {
+ this.$set(this.activeData.__config__, 'defaultValue', val ? [] : '')
+ },
+ dateTypeChange(val) {
+ this.setTimeValue(dateTimeFormat[val], val)
+ },
+ rangeChange(val) {
+ this.$set(
+ this.activeData.__config__,
+ 'defaultValue',
+ val ? [this.activeData.min, this.activeData.max] : this.activeData.min
+ )
+ },
+ rateTextChange(val) {
+ if (val) this.activeData['show-score'] = false
+ },
+ rateScoreChange(val) {
+ if (val) this.activeData['show-text'] = false
+ },
+ colorFormatChange(val) {
+ this.activeData.__config__.defaultValue = null
+ this.activeData['show-alpha'] = val.indexOf('a') > -1
+ this.activeData.__config__.renderKey = +new Date() // 鏇存柊renderKey,閲嶆柊娓叉煋璇ョ粍浠�
+ },
+ openIconsDialog(model) {
+ this.iconsVisible = true
+ this.currentIconModel = model
+ },
+ setIcon(val) {
+ this.activeData[this.currentIconModel] = val
+ },
+ tagChange(tagIcon) {
+ let target = inputComponents.find(item => item.__config__.tagIcon === tagIcon)
+ if (!target) target = selectComponents.find(item => item.__config__.tagIcon === tagIcon)
+ this.$emit('tag-change', target)
+ },
+ changeRenderKey() {
+ this.activeData.__config__.renderKey = +new Date()
+ }
+ }
+}
+</script>
+
+<style lang="scss" scoped>
+ .center-tabs{
+ padding-left: 10px;
+ box-sizing: border-box;
+ }
+.right-board {
+ width: 350px;
+ position: absolute;
+ right: 0;
+ top: 0;
+ padding-top: 3px;
+ .field-box {
+ position: relative;
+ height: calc(100vh - 42px);
+ box-sizing: border-box;
+ overflow: hidden;
+ }
+ .el-scrollbar {
+ height: 100%;
+ }
+}
+.select-item {
+ display: flex;
+ border: 1px dashed #fff;
+ box-sizing: border-box;
+ & .close-btn {
+ cursor: pointer;
+ color: #f56c6c;
+ }
+ & .el-input + .el-input {
+ margin-left: 4px;
+ }
+}
+.select-item + .select-item {
+ margin-top: 4px;
+}
+.select-item.sortable-chosen {
+ border: 1px dashed #409eff;
+}
+.select-line-icon {
+ line-height: 32px;
+ font-size: 22px;
+ padding: 0 4px;
+ color: #777;
+}
+.option-drag {
+ cursor: move;
+}
+.time-range {
+ .el-date-editor {
+ width: 227px;
+ }
+ ::v-deep .el-icon-time {
+ display: none;
+ }
+}
+.document-link {
+ position: absolute;
+ display: block;
+ width: 26px;
+ height: 26px;
+ top: 0;
+ left: 0;
+ cursor: pointer;
+ background: #409eff;
+ z-index: 1;
+ border-radius: 0 0 6px 0;
+ text-align: center;
+ line-height: 26px;
+ color: #fff;
+ font-size: 18px;
+}
+.node-label{
+ font-size: 14px;
+}
+.node-icon{
+ color: #bebfc3;
+}
+</style>
diff --git a/src/components/FormGenerator/index/TreeNodeDialog.vue b/src/components/FormGenerator/index/TreeNodeDialog.vue
new file mode 100644
index 0000000..70fcdc8
--- /dev/null
+++ b/src/components/FormGenerator/index/TreeNodeDialog.vue
@@ -0,0 +1,158 @@
+<template>
+ <div>
+ <el-dialog
+ v-bind="$attrs"
+ :close-on-click-modal="false"
+ :modal-append-to-body="false"
+ v-on="$listeners"
+ @open="onOpen"
+ @close="onClose"
+ >
+ <el-row :gutter="0">
+ <el-form
+ ref="elForm"
+ :model="formData"
+ :rules="rules"
+ size="small"
+ label-width="100px"
+ >
+ <el-col :span="24">
+ <el-form-item
+ label="閫夐」鍚�"
+ prop="label"
+ >
+ <el-input
+ v-model="formData.label"
+ placeholder="璇疯緭鍏ラ�夐」鍚�"
+ clearable
+ />
+ </el-form-item>
+ </el-col>
+ <el-col :span="24">
+ <el-form-item
+ label="閫夐」鍊�"
+ prop="value"
+ >
+ <el-input
+ v-model="formData.value"
+ placeholder="璇疯緭鍏ラ�夐」鍊�"
+ clearable
+ >
+ <el-select
+ slot="append"
+ v-model="dataType"
+ :style="{width: '100px'}"
+ >
+ <el-option
+ v-for="(item, index) in dataTypeOptions"
+ :key="index"
+ :label="item.label"
+ :value="item.value"
+ :disabled="item.disabled"
+ />
+ </el-select>
+ </el-input>
+ </el-form-item>
+ </el-col>
+ </el-form>
+ </el-row>
+ <div slot="footer">
+ <el-button
+ type="primary"
+ @click="handelConfirm"
+ >
+ 纭畾
+ </el-button>
+ <el-button @click="close">
+ 鍙栨秷
+ </el-button>
+ </div>
+ </el-dialog>
+ </div>
+</template>
+<script>
+import { isNumberStr } from '../utils/index'
+import { getTreeNodeId, saveTreeNodeId } from '../utils/db'
+
+const id = getTreeNodeId()
+
+export default {
+ components: {},
+ inheritAttrs: false,
+ props: [],
+ data() {
+ return {
+ id,
+ formData: {
+ label: undefined,
+ value: undefined
+ },
+ rules: {
+ label: [
+ {
+ required: true,
+ message: '璇疯緭鍏ラ�夐」鍚�',
+ trigger: 'blur'
+ }
+ ],
+ value: [
+ {
+ required: true,
+ message: '璇疯緭鍏ラ�夐」鍊�',
+ trigger: 'blur'
+ }
+ ]
+ },
+ dataType: 'string',
+ dataTypeOptions: [
+ {
+ label: '瀛楃涓�',
+ value: 'string'
+ },
+ {
+ label: '鏁板瓧',
+ value: 'number'
+ }
+ ]
+ }
+ },
+ computed: {},
+ watch: {
+ // eslint-disable-next-line func-names
+ 'formData.value': function(val) {
+ this.dataType = isNumberStr(val) ? 'number' : 'string'
+ },
+ id(val) {
+ saveTreeNodeId(val)
+ }
+ },
+ created() {},
+ mounted() {},
+ methods: {
+ onOpen() {
+ this.formData = {
+ label: undefined,
+ value: undefined
+ }
+ },
+ onClose() {},
+ close() {
+ this.$emit('update:visible', false)
+ },
+ handelConfirm() {
+ this.$refs.elForm.validate(valid => {
+ if (!valid) return
+ if (this.dataType === 'number') {
+ this.formData.value = parseFloat(this.formData.value)
+ }
+ this.formData.id = this.id++
+ this.$emit('commit', this.formData)
+ this.close()
+ })
+ }
+ }
+}
+</script>
+
+<style lang="scss" scoped>
+</style>
diff --git a/src/components/FormGenerator/index/index.vue b/src/components/FormGenerator/index/index.vue
new file mode 100644
index 0000000..b25f0b5
--- /dev/null
+++ b/src/components/FormGenerator/index/index.vue
@@ -0,0 +1,22 @@
+<template>
+ <div>
+ <router-view />
+ </div>
+</template>
+
+<script>
+export default {
+ mounted() {
+ // 鍙栨秷寮�濮嬬殑loading鍔ㄧ敾
+ const preLoader = document.querySelector('#pre-loader')
+ preLoader.style.display = 'none'
+
+ // fix: firefox 涓� 鎷栨嫿 浼氭柊鎵撳崱涓�涓�夐」鍗�
+ // https://github.com/JakHuang/form-generator/issues/15
+ document.body.ondrop = event => {
+ event.preventDefault()
+ event.stopPropagation()
+ }
+ }
+}
+</script>
diff --git a/src/components/FormGenerator/preview/main.js b/src/components/FormGenerator/preview/main.js
new file mode 100644
index 0000000..4be1587
--- /dev/null
+++ b/src/components/FormGenerator/preview/main.js
@@ -0,0 +1,59 @@
+import Vue from 'vue'
+import { loadScriptQueue } from '@/utils/loadScript'
+import Tinymce from '@/components/tinymce'
+
+Vue.component('tinymce', Tinymce)
+
+const $previewApp = document.getElementById('previewApp')
+const childAttrs = {
+ file: '',
+ dialog: ' width="600px" class="dialog-width" v-if="visible" :visible.sync="visible" :modal-append-to-body="false" '
+}
+
+window.addEventListener('message', init, false)
+
+function buildLinks(links) {
+ let strs = ''
+ links.forEach(url => {
+ strs += `<link href="${url}" rel="stylesheet">`
+ })
+ return strs
+}
+
+function init(event) {
+ if (event.data.type === 'refreshFrame') {
+ const code = event.data.data
+ const attrs = childAttrs[code.generateConf.type]
+ let links = ''
+
+ if (Array.isArray(code.links) && code.links.length > 0) {
+ links = buildLinks(code.links)
+ }
+
+ $previewApp.innerHTML = `${links}<style>${code.css}</style><div id="app"></div>`
+
+ if (Array.isArray(code.scripts) && code.scripts.length > 0) {
+ loadScriptQueue(code.scripts, () => {
+ newVue(attrs, code.js, code.html)
+ })
+ } else {
+ newVue(attrs, code.js, code.html)
+ }
+ }
+}
+
+function newVue(attrs, main, html) {
+ main = eval(`(${main})`)
+ main.template = `<div>${html}</div>`
+ new Vue({
+ components: {
+ child: main
+ },
+ data() {
+ return {
+ visible: true
+ }
+ },
+ template: `<div><child ${attrs}/></div>`
+ }).$mount('#app')
+}
diff --git a/src/components/FormGenerator/styles/home.scss b/src/components/FormGenerator/styles/home.scss
new file mode 100644
index 0000000..8e5ef1c
--- /dev/null
+++ b/src/components/FormGenerator/styles/home.scss
@@ -0,0 +1,271 @@
+$selectedColor: #f6f7ff;
+$lighterBlue: #409EFF;
+
+.container-FromGen {
+ position: relative;
+ width: 100%;
+ height: 100%;
+}
+
+.components-list {
+ padding: 8px;
+ box-sizing: border-box;
+ height: 100%;
+ .components-item {
+ display: inline-block;
+ width: 48%;
+ margin: 1%;
+ transition: transform 0ms !important;
+ }
+}
+.components-draggable{
+ padding-bottom: 20px;
+}
+.components-title{
+ font-size: 14px;
+ color: #222;
+ margin: 6px 2px;
+ .svg-icon{
+ color: #666;
+ font-size: 18px;
+ }
+}
+
+.components-body {
+ padding: 8px 10px;
+ background: $selectedColor;
+ font-size: 12px;
+ cursor: move;
+ border: 1px dashed $selectedColor;
+ border-radius: 3px;
+ .svg-icon{
+ color: #777;
+ font-size: 15px;
+ }
+ &:hover {
+ border: 1px dashed #787be8;
+ color: #787be8;
+ .svg-icon {
+ color: #787be8;
+ }
+ }
+}
+
+.left-board {
+ width: 260px;
+ position: absolute;
+ left: 0;
+ top: 0;
+ height: 100vh;
+}
+.left-scrollbar{
+ height: calc(100vh - 42px);
+ overflow: hidden;
+}
+.center-scrollbar {
+ height: calc(100vh - 42px);
+ overflow: hidden;
+ border-left: 1px solid #f1e8e8;
+ border-right: 1px solid #f1e8e8;
+ box-sizing: border-box;
+}
+.center-board {
+ height: 100vh;
+ width: auto;
+ margin: 0 350px 0 260px;
+ box-sizing: border-box;
+}
+.empty-info{
+ position: absolute;
+ top: 46%;
+ left: 0;
+ right: 0;
+ text-align: center;
+ font-size: 18px;
+ color: #ccb1ea;
+ letter-spacing: 4px;
+}
+.action-bar{
+ position: relative;
+ height: 42px;
+ text-align: right;
+ padding: 0 15px;
+ box-sizing: border-box;;
+ border: 1px solid #f1e8e8;
+ border-top: none;
+ border-left: none;
+ .delete-btn{
+ color: #F56C6C;
+ }
+}
+.logo-wrapper{
+ position: relative;
+ height: 42px;
+ background: #fff;
+ border-bottom: 1px solid #f1e8e8;
+ box-sizing: border-box;
+}
+.logo{
+ position: absolute;
+ left: 12px;
+ top: 6px;
+ line-height: 30px;
+ color: #00afff;
+ font-weight: 600;
+ font-size: 17px;
+ white-space: nowrap;
+ > img{
+ width: 30px;
+ height: 30px;
+ vertical-align: top;
+ }
+ .github{
+ display: inline-block;
+ vertical-align: sub;
+ margin-left: 15px;
+ > img{
+ height: 22px;
+ }
+ }
+}
+
+.center-board-row {
+ padding: 12px 12px 15px 12px;
+ box-sizing: border-box;
+ & > .el-form {
+ // 69 = 12+15+42
+ height: calc(100vh - 69px);
+ }
+}
+.drawing-board {
+ height: 100%;
+ position: relative;
+ .components-body {
+ padding: 0;
+ margin: 0;
+ font-size: 0;
+ }
+ .sortable-ghost {
+ position: relative;
+ display: block;
+ overflow: hidden;
+ &::before {
+ content: " ";
+ position: absolute;
+ left: 0;
+ right: 0;
+ top: 0;
+ height: 3px;
+ background: rgb(89, 89, 223);
+ z-index: 2;
+ }
+ }
+ .components-item.sortable-ghost {
+ width: 100%;
+ height: 60px;
+ background-color: $selectedColor;
+ }
+ .active-from-item {
+ & > .el-form-item{
+ background: $selectedColor;
+ border-radius: 6px;
+ }
+ & > .drawing-item-copy, & > .drawing-item-delete{
+ display: initial;
+ }
+ & > .component-name{
+ color: $lighterBlue;
+ }
+ }
+ .el-form-item{
+ margin-bottom: 15px;
+ }
+}
+.drawing-item{
+ position: relative;
+ cursor: move;
+ &.unfocus-bordered:not(.active-from-item) > div:first-child {
+ border: 1px dashed #ccc;
+ }
+ .el-form-item{
+ padding: 12px 10px;
+ }
+}
+.drawing-row-item{
+ position: relative;
+ cursor: move;
+ box-sizing: border-box;
+ border: 1px dashed #ccc;
+ border-radius: 3px;
+ padding: 0 2px;
+ margin-bottom: 15px;
+ .drawing-row-item {
+ margin-bottom: 2px;
+ }
+ .el-col{
+ margin-top: 22px;
+ }
+ .el-form-item{
+ margin-bottom: 0;
+ }
+ .drag-wrapper{
+ min-height: 80px;
+ }
+ &.active-from-item{
+ border: 1px dashed $lighterBlue;
+ }
+ .component-name{
+ position: absolute;
+ top: 0;
+ left: 0;
+ font-size: 12px;
+ color: #bbb;
+ display: inline-block;
+ padding: 0 6px;
+ }
+}
+.drawing-item, .drawing-row-item{
+ &:hover {
+ & > .el-form-item{
+ background: $selectedColor;
+ border-radius: 6px;
+ }
+ & > .drawing-item-copy, & > .drawing-item-delete{
+ display: initial;
+ }
+ }
+ & > .drawing-item-copy, & > .drawing-item-delete{
+ display: none;
+ position: absolute;
+ top: -10px;
+ width: 22px;
+ height: 22px;
+ line-height: 22px;
+ text-align: center;
+ border-radius: 50%;
+ font-size: 12px;
+ border: 1px solid;
+ cursor: pointer;
+ z-index: 1;
+ }
+ & > .drawing-item-copy{
+ right: 56px;
+ border-color: $lighterBlue;
+ color: $lighterBlue;
+ background: #fff;
+ &:hover{
+ background: $lighterBlue;
+ color: #fff;
+ }
+ }
+ & > .drawing-item-delete{
+ right: 24px;
+ border-color: #F56C6C;
+ color: #F56C6C;
+ background: #fff;
+ &:hover{
+ background: #F56C6C;
+ color: #fff;
+ }
+ }
+}
diff --git a/src/components/FormGenerator/styles/index.scss b/src/components/FormGenerator/styles/index.scss
new file mode 100644
index 0000000..07f5ed9
--- /dev/null
+++ b/src/components/FormGenerator/styles/index.scss
@@ -0,0 +1,137 @@
+$editorTabsborderColor: #121315;
+body, html{
+ margin: 0;
+ padding: 0;
+ background: #fff;
+ -moz-osx-font-smoothing: grayscale;
+ -webkit-font-smoothing: antialiased;
+ text-rendering: optimizeLegibility;
+ font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;
+}
+
+input, textarea{
+ font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji;
+}
+
+.editor-tabs{
+ background: $editorTabsborderColor;
+ .el-tabs__header{
+ margin: 0;
+ border-bottom-color: $editorTabsborderColor;
+ .el-tabs__nav{
+ border-color: $editorTabsborderColor;
+ }
+ }
+ .el-tabs__item{
+ height: 32px;
+ line-height: 32px;
+ color: #888a8e;
+ border-left: 1px solid $editorTabsborderColor!important;
+ background: #363636;
+ margin-right: 5px;
+ user-select: none;
+ }
+ .el-tabs__item.is-active{
+ background: #1e1e1e;
+ border-bottom-color: #1e1e1e!important;
+ color: #fff;
+ }
+ .el-icon-edit{
+ color: #f1fa8c;
+ }
+ .el-icon-document{
+ color: #a95812;
+ }
+}
+
+// home
+.right-scrollbar {
+ .el-scrollbar__view {
+ padding: 12px 18px 15px 15px;
+ }
+}
+.el-scrollbar__wrap {
+ box-sizing: border-box;
+ overflow-x: hidden !important;
+ margin-bottom: 0 !important;
+}
+.center-tabs{
+ .el-tabs__header{
+ margin-bottom: 0!important;
+ }
+ .el-tabs__item{
+ width: 50%;
+ text-align: center;
+ }
+ .el-tabs__nav{
+ width: 100%;
+ }
+}
+.reg-item{
+ padding: 12px 6px;
+ background: #f8f8f8;
+ position: relative;
+ border-radius: 4px;
+ .close-btn{
+ position: absolute;
+ right: -6px;
+ top: -6px;
+ display: block;
+ width: 16px;
+ height: 16px;
+ line-height: 16px;
+ background: rgba(0, 0, 0, 0.2);
+ border-radius: 50%;
+ color: #fff;
+ text-align: center;
+ z-index: 1;
+ cursor: pointer;
+ font-size: 12px;
+ &:hover{
+ background: rgba(210, 23, 23, 0.5)
+ }
+ }
+ & + .reg-item{
+ margin-top: 18px;
+ }
+}
+.action-bar{
+ & .el-button+.el-button {
+ margin-left: 15px;
+ }
+ & i {
+ font-size: 20px;
+ vertical-align: middle;
+ position: relative;
+ top: -1px;
+ }
+}
+
+.custom-tree-node{
+ width: 100%;
+ font-size: 14px;
+ .node-operation{
+ float: right;
+ }
+ i[class*="el-icon"] + i[class*="el-icon"]{
+ margin-left: 6px;
+ }
+ .el-icon-plus{
+ color: #409EFF;
+ }
+ .el-icon-delete{
+ color: #157a0c;
+ }
+}
+
+.el-scrollbar__view{
+ overflow-x: hidden;
+}
+
+.el-rate{
+ display: inline-block;
+ vertical-align: text-top;
+}
+.el-upload__tip{
+ line-height: 1.2;
+}
diff --git a/src/components/FormGenerator/styles/mixin.scss b/src/components/FormGenerator/styles/mixin.scss
new file mode 100644
index 0000000..a65c535
--- /dev/null
+++ b/src/components/FormGenerator/styles/mixin.scss
@@ -0,0 +1,33 @@
+@mixin action-bar {
+ .action-bar {
+ height: 33px;
+ background: #f2fafb;
+ padding: 0 15px;
+ box-sizing: border-box;
+
+ .bar-btn {
+ display: inline-block;
+ padding: 0 6px;
+ line-height: 32px;
+ color: #8285f5;
+ cursor: pointer;
+ font-size: 14px;
+ user-select: none;
+ & i {
+ font-size: 20px;
+ }
+ &:hover {
+ color: #4348d4;
+ }
+ }
+ .bar-btn + .bar-btn {
+ margin-left: 8px;
+ }
+ .delete-btn {
+ color: #f56c6c;
+ &:hover {
+ color: #ea0b30;
+ }
+ }
+ }
+}
diff --git a/src/components/FormGenerator/utils/db.js b/src/components/FormGenerator/utils/db.js
new file mode 100644
index 0000000..f859fd8
--- /dev/null
+++ b/src/components/FormGenerator/utils/db.js
@@ -0,0 +1,67 @@
+const DRAWING_ITEMS = 'drawingItems'
+const DRAWING_ITEMS_VERSION = '1.1'
+const DRAWING_ITEMS_VERSION_KEY = 'DRAWING_ITEMS_VERSION'
+const DRAWING_ID = 'idGlobal'
+const TREE_NODE_ID = 'treeNodeId'
+const FORM_CONF = 'formConf'
+
+export function getDrawingList() {
+ // 鍔犲叆缂撳瓨鐗堟湰鐨勬蹇碉紝淇濊瘉缂撳瓨鏁版嵁涓庣▼搴忓尮閰�
+ const version = localStorage.getItem(DRAWING_ITEMS_VERSION_KEY)
+ if (version !== DRAWING_ITEMS_VERSION) {
+ localStorage.setItem(DRAWING_ITEMS_VERSION_KEY, DRAWING_ITEMS_VERSION)
+ saveDrawingList([])
+ return null
+ }
+
+ const str = localStorage.getItem(DRAWING_ITEMS)
+ if (str) return JSON.parse(str)
+ return null
+}
+
+export function saveDrawingList(list) {
+ localStorage.setItem(DRAWING_ITEMS, JSON.stringify(list))
+}
+
+export function getIdGlobal() {
+ const str = localStorage.getItem(DRAWING_ID)
+ if (str) return parseInt(str, 10)
+ return 100
+}
+
+export function saveIdGlobal(id) {
+ localStorage.setItem(DRAWING_ID, `${id}`)
+}
+
+export function getTreeNodeId() {
+ const str = localStorage.getItem(TREE_NODE_ID)
+ if (str) return parseInt(str, 10)
+ return 100
+}
+
+export function saveTreeNodeId(id) {
+ localStorage.setItem(TREE_NODE_ID, `${id}`)
+}
+
+export function getFormConf() {
+ const str = localStorage.getItem(FORM_CONF)
+ if (str) return JSON.parse(str)
+ return null
+}
+
+export function saveFormConf(obj) {
+ localStorage.setItem(FORM_CONF, JSON.stringify(obj))
+}
+
+/**
+ * 鏍规嵁鑷繁鐨勯渶姹傝幏鍙栭厤缃殑琛ㄥ崟淇℃伅
+ */
+export function getFormConfSelf() {
+ let formConfig = localStorage.getItem(FORM_CONF)
+ formConfig = JSON.parse(formConfig)
+ let formItemConfig = localStorage.getItem(DRAWING_ITEMS)
+ if (!formConfig && !formItemConfig) return 'Error'
+ formItemConfig = JSON.parse(formItemConfig)
+ formConfig.fields = formItemConfig
+ return formConfig
+}
diff --git a/src/components/FormGenerator/utils/icon.json b/src/components/FormGenerator/utils/icon.json
new file mode 100644
index 0000000..2d9999a
--- /dev/null
+++ b/src/components/FormGenerator/utils/icon.json
@@ -0,0 +1 @@
+["platform-eleme","eleme","delete-solid","delete","s-tools","setting","user-solid","user","phone","phone-outline","more","more-outline","star-on","star-off","s-goods","goods","warning","warning-outline","question","info","remove","circle-plus","success","error","zoom-in","zoom-out","remove-outline","circle-plus-outline","circle-check","circle-close","s-help","help","minus","plus","check","close","picture","picture-outline","picture-outline-round","upload","upload2","download","camera-solid","camera","video-camera-solid","video-camera","message-solid","bell","s-cooperation","s-order","s-platform","s-fold","s-unfold","s-operation","s-promotion","s-home","s-release","s-ticket","s-management","s-open","s-shop","s-marketing","s-flag","s-comment","s-finance","s-claim","s-custom","s-opportunity","s-data","s-check","s-grid","menu","share","d-caret","caret-left","caret-right","caret-bottom","caret-top","bottom-left","bottom-right","back","right","bottom","top","top-left","top-right","arrow-left","arrow-right","arrow-down","arrow-up","d-arrow-left","d-arrow-right","video-pause","video-play","refresh","refresh-right","refresh-left","finished","sort","sort-up","sort-down","rank","loading","view","c-scale-to-original","date","edit","edit-outline","folder","folder-opened","folder-add","folder-remove","folder-delete","folder-checked","tickets","document-remove","document-delete","document-copy","document-checked","document","document-add","printer","paperclip","takeaway-box","search","monitor","attract","mobile","scissors","umbrella","headset","brush","mouse","coordinate","magic-stick","reading","data-line","data-board","pie-chart","data-analysis","collection-tag","film","suitcase","suitcase-1","receiving","collection","files","notebook-1","notebook-2","toilet-paper","office-building","school","table-lamp","house","no-smoking","smoking","shopping-cart-full","shopping-cart-1","shopping-cart-2","shopping-bag-1","shopping-bag-2","sold-out","sell","present","box","bank-card","money","coin","wallet","discount","price-tag","news","guide","male","female","thumb","cpu","link","connection","open","turn-off","set-up","chat-round","chat-line-round","chat-square","chat-dot-round","chat-dot-square","chat-line-square","message","postcard","position","turn-off-microphone","microphone","close-notification","bangzhu","time","odometer","crop","aim","switch-button","full-screen","copy-document","mic","stopwatch","medal-1","medal","trophy","trophy-1","first-aid-kit","discover","place","location","location-outline","location-information","add-location","delete-location","map-location","alarm-clock","timer","watch-1","watch","lock","unlock","key","service","mobile-phone","bicycle","truck","ship","basketball","football","soccer","baseball","wind-power","light-rain","lightning","heavy-rain","sunrise","sunrise-1","sunset","sunny","cloudy","partly-cloudy","cloudy-and-sunny","moon","moon-night","dish","dish-1","food","chicken","fork-spoon","knife-fork","burger","tableware","sugar","dessert","ice-cream","hot-water","water-cup","coffee-cup","cold-drink","goblet","goblet-full","goblet-square","goblet-square-full","refrigerator","grape","watermelon","cherry","apple","pear","orange","coffee","ice-tea","ice-drink","milk-tea","potato-strips","lollipop","ice-cream-square","ice-cream-round"]
\ No newline at end of file
diff --git a/src/components/FormGenerator/utils/index.js b/src/components/FormGenerator/utils/index.js
new file mode 100644
index 0000000..dd03aea
--- /dev/null
+++ b/src/components/FormGenerator/utils/index.js
@@ -0,0 +1,102 @@
+/**
+ * num 灏忎簬0锛屽乏缂╄繘num*2涓┖鏍硷紱 澶т簬0锛屽彸缂╄繘num*2涓┖鏍笺��
+ * @param {string} str 浠g爜
+ * @param {number} num 缂╄繘娆℃暟
+ * @param {number} len 銆愬彲閫夈�戠缉杩涘崟浣嶏紝绌烘牸鏁�
+ */
+export function indent(str, num, len = 2) {
+ if (num === 0) return str
+ const isLeft = num < 0; const result = []; let reg; let
+ spaces = ''
+ if (isLeft) {
+ num *= -1
+ reg = new RegExp(`(^\\s{0,${num * len}})`, 'g')
+ } else {
+ for (let i = 0; i < num * len; i++) spaces += ' '
+ }
+
+ str.split('\n').forEach(line => {
+ line = isLeft ? line.replace(reg, '') : spaces + line
+ result.push(line)
+ })
+ return result.join('\n')
+}
+
+// 棣栧瓧姣嶅ぇ灏�
+export function titleCase(str) {
+ return str.replace(/( |^)[a-z]/g, L => L.toUpperCase())
+}
+
+// 涓嬪垝杞┘宄�
+export function camelCase(str) {
+ return str.replace(/-[a-z]/g, str1 => str1.substr(-1).toUpperCase())
+}
+
+export function isNumberStr(str) {
+ return /^[+-]?(0|([1-9]\d*))(\.\d+)?$/g.test(str)
+}
+
+export const exportDefault = 'export default '
+
+export const beautifierConf = {
+ html: {
+ indent_size: '2',
+ indent_char: ' ',
+ max_preserve_newlines: '-1',
+ preserve_newlines: false,
+ keep_array_indentation: false,
+ break_chained_methods: false,
+ indent_scripts: 'separate',
+ brace_style: 'end-expand',
+ space_before_conditional: true,
+ unescape_strings: false,
+ jslint_happy: false,
+ end_with_newline: true,
+ wrap_line_length: '110',
+ indent_inner_html: true,
+ comma_first: false,
+ e4x: true,
+ indent_empty_lines: true
+ },
+ js: {
+ indent_size: '2',
+ indent_char: ' ',
+ max_preserve_newlines: '-1',
+ preserve_newlines: false,
+ keep_array_indentation: false,
+ break_chained_methods: false,
+ indent_scripts: 'normal',
+ brace_style: 'end-expand',
+ space_before_conditional: true,
+ unescape_strings: false,
+ jslint_happy: true,
+ end_with_newline: true,
+ wrap_line_length: '110',
+ indent_inner_html: true,
+ comma_first: false,
+ e4x: true,
+ indent_empty_lines: true
+ }
+}
+
+function stringify(obj) {
+ return JSON.stringify(obj, (key, val) => {
+ if (typeof val === 'function') {
+ return `${val}`
+ }
+ return val
+ })
+}
+
+function parse(str) {
+ JSON.parse(str, (k, v) => {
+ if (v.indexOf && v.indexOf('function') > -1) {
+ return eval(`(${v})`)
+ }
+ return v
+ })
+}
+
+export function jsonClone(obj) {
+ return parse(stringify(obj))
+}
diff --git a/src/components/FormGenerator/utils/loadBeautifier.js b/src/components/FormGenerator/utils/loadBeautifier.js
new file mode 100644
index 0000000..001bbab
--- /dev/null
+++ b/src/components/FormGenerator/utils/loadBeautifier.js
@@ -0,0 +1,26 @@
+import loadScript from './loadScript'
+import ELEMENT from 'element-ui'
+
+let beautifierObj
+
+export default function loadBeautifier(cb) {
+ if (beautifierObj) {
+ cb(beautifierObj)
+ return
+ }
+
+ const loading = ELEMENT.Loading.service({
+ fullscreen: true,
+ lock: true,
+ text: '鏍煎紡鍖栬祫婧愬姞杞戒腑...',
+ spinner: 'el-icon-loading',
+ background: 'rgba(255, 255, 255, 0.5)'
+ })
+
+ loadScript('https://cdn.bootcss.com/js-beautify/1.10.2/beautifier.min.js', () => {
+ loading.close()
+ // eslint-disable-next-line no-undef
+ beautifierObj = beautifier
+ cb(beautifierObj)
+ })
+}
diff --git a/src/components/FormGenerator/utils/loadMonaco.js b/src/components/FormGenerator/utils/loadMonaco.js
new file mode 100644
index 0000000..a15bfbd
--- /dev/null
+++ b/src/components/FormGenerator/utils/loadMonaco.js
@@ -0,0 +1,42 @@
+import { loadScriptQueue } from './loadScript'
+import ELEMENT from 'element-ui'
+
+// monaco-editor鍗曚緥
+let monacoEidtor
+
+/**
+ * 鍔ㄦ�佸姞杞絤onaco-editor cdn璧勬簮
+ * @param {Function} cb 鍥炶皟锛屽繀濉�
+ */
+export default function loadMonaco(cb) {
+ if (monacoEidtor) {
+ cb(monacoEidtor)
+ return
+ }
+
+ const vs = 'https://cdn.bootcss.com/monaco-editor/0.18.0/min/vs'
+
+ // 浣跨敤element ui瀹炵幇鍔犺浇鎻愮ず
+ const loading = ELEMENT.Loading.service({
+ fullscreen: true,
+ lock: true,
+ text: '缂栬緫鍣ㄨ祫婧愬垵濮嬪寲涓�...',
+ spinner: 'el-icon-loading',
+ background: 'rgba(255, 255, 255, 0.5)'
+ })
+
+ !window.require && (window.require = {})
+ !window.require.paths && (window.require.paths = {})
+ window.require.paths.vs = vs
+
+ loadScriptQueue([
+ `${vs}/loader.js`,
+ `${vs}/editor/editor.main.nls.js`,
+ `${vs}/editor/editor.main.js`
+ ], () => {
+ loading.close()
+ // eslint-disable-next-line no-undef
+ monacoEidtor = monaco
+ cb(monacoEidtor)
+ })
+}
diff --git a/src/components/FormGenerator/utils/loadScript.js b/src/components/FormGenerator/utils/loadScript.js
new file mode 100644
index 0000000..18112fd
--- /dev/null
+++ b/src/components/FormGenerator/utils/loadScript.js
@@ -0,0 +1,60 @@
+const callbacks = {}
+
+/**
+ * 鍔犺浇涓�涓繙绋嬭剼鏈�
+ * @param {String} src 涓�涓繙绋嬭剼鏈�
+ * @param {Function} callback 鍥炶皟
+ */
+function loadScript(src, callback) {
+ const existingScript = document.getElementById(src)
+ const cb = callback || (() => {})
+ if (!existingScript) {
+ callbacks[src] = []
+ const $script = document.createElement('script')
+ $script.src = src
+ $script.id = src
+ $script.async = 1
+ document.body.appendChild($script)
+ const onEnd = 'onload' in $script ? stdOnEnd.bind($script) : ieOnEnd.bind($script)
+ onEnd($script)
+ }
+
+ callbacks[src].push(cb)
+
+ function stdOnEnd(script) {
+ script.onload = () => {
+ this.onerror = this.onload = null
+ callbacks[src].forEach(item => {
+ item(null, script)
+ })
+ delete callbacks[src]
+ }
+ script.onerror = () => {
+ this.onerror = this.onload = null
+ cb(new Error(`Failed to load ${src}`), script)
+ }
+ }
+
+ function ieOnEnd(script) {
+ script.onreadystatechange = () => {
+ if (this.readyState !== 'complete' && this.readyState !== 'loaded') return
+ this.onreadystatechange = null
+ callbacks[src].forEach(item => {
+ item(null, script)
+ })
+ delete callbacks[src]
+ }
+ }
+}
+
+/**
+ * 椤哄簭鍔犺浇涓�缁勮繙绋嬭剼鏈�
+ * @param {Array} list 涓�缁勮繙绋嬭剼鏈�
+ * @param {Function} cb 鍥炶皟
+ */
+export function loadScriptQueue(list, cb) {
+ const first = list.shift()
+ list.length ? loadScript(first, () => loadScriptQueue(list, cb)) : loadScript(first, cb)
+}
+
+export default loadScript
diff --git a/src/components/FormGenerator/utils/loadTinymce.js b/src/components/FormGenerator/utils/loadTinymce.js
new file mode 100644
index 0000000..969cece
--- /dev/null
+++ b/src/components/FormGenerator/utils/loadTinymce.js
@@ -0,0 +1,26 @@
+import loadScript from './loadScript'
+import ELEMENT from 'element-ui'
+
+let tinymceObj
+
+export default function loadTinymce(cb) {
+ if (tinymceObj) {
+ cb(tinymceObj)
+ return
+ }
+
+ const loading = ELEMENT.Loading.service({
+ fullscreen: true,
+ lock: true,
+ text: '瀵屾枃鏈祫婧愬姞杞戒腑...',
+ spinner: 'el-icon-loading',
+ background: 'rgba(255, 255, 255, 0.5)'
+ })
+
+ loadScript('https://cdn.bootcdn.net/ajax/libs/tinymce/5.2.2/tinymce.min.js', () => {
+ loading.close()
+ // eslint-disable-next-line no-undef
+ tinymceObj = tinymce
+ cb(tinymceObj)
+ })
+}
diff --git a/src/components/Hamburger/index.vue b/src/components/Hamburger/index.vue
new file mode 100644
index 0000000..368b002
--- /dev/null
+++ b/src/components/Hamburger/index.vue
@@ -0,0 +1,44 @@
+<template>
+ <div style="padding: 0 15px;" @click="toggleClick">
+ <svg
+ :class="{'is-active':isActive}"
+ class="hamburger"
+ viewBox="0 0 1024 1024"
+ xmlns="http://www.w3.org/2000/svg"
+ width="64"
+ height="64"
+ >
+ <path d="M408 442h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8zm-8 204c0 4.4 3.6 8 8 8h480c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8H408c-4.4 0-8 3.6-8 8v56zm504-486H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zm0 632H120c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-56c0-4.4-3.6-8-8-8zM142.4 642.1L298.7 519a8.84 8.84 0 0 0 0-13.9L142.4 381.9c-5.8-4.6-14.4-.5-14.4 6.9v246.3a8.9 8.9 0 0 0 14.4 7z" />
+ </svg>
+ </div>
+</template>
+
+<script>
+export default {
+ name: 'Hamburger',
+ props: {
+ isActive: {
+ type: Boolean,
+ default: false
+ }
+ },
+ methods: {
+ toggleClick() {
+ this.$emit('toggleClick')
+ }
+ }
+}
+</script>
+
+<style scoped>
+.hamburger {
+ display: inline-block;
+ vertical-align: middle;
+ width: 20px;
+ height: 20px;
+}
+
+.hamburger.is-active {
+ transform: rotate(180deg);
+}
+</style>
diff --git a/src/components/HeaderSearch/index.vue b/src/components/HeaderSearch/index.vue
new file mode 100644
index 0000000..34f039a
--- /dev/null
+++ b/src/components/HeaderSearch/index.vue
@@ -0,0 +1,185 @@
+<template>
+ <div :class="{'show':show}" class="header-search">
+ <i class="iconfont iconios-search" style="font-size: 20px;" @click.stop="click"></i>
+ <!--<svg-icon class-name="search-icon" icon-class="search" @click.stop="click" />-->
+ <el-select
+ ref="headerSearchSelect"
+ v-model="search"
+ :remote-method="querySearch"
+ filterable
+ default-first-option
+ remote
+ placeholder="鎼滅储鑿滃崟"
+ class="header-search-select"
+ @change="change"
+ >
+ <el-option v-for="item in options" :key="item.url" :value="item" :label="item.name.join(' > ')" />
+ </el-select>
+ </div>
+</template>
+
+<script>
+// fuse is a lightweight fuzzy-search module
+// make search results more in line with expectations
+import Fuse from 'fuse.js'
+import path from 'path'
+import { mapGetters } from 'vuex'
+export default {
+ name: 'HeaderSearch',
+ data() {
+ return {
+ search: '',
+ options: [],
+ searchPool: [],
+ show: false,
+ fuse: undefined
+ }
+ },
+ computed: {
+ ...mapGetters([
+ 'permission_routes'
+ ]),
+ // routes() {
+ // return this.$store.getters.permission_routes
+ // }
+ },
+ watch: {
+ routes(n) {
+ this.searchPool = this.generateRoutes(this.permission_routes)
+ },
+ searchPool(list) {
+ this.initFuse(list)
+ },
+ show(value) {
+ if (value) {
+ document.body.addEventListener('click', this.close)
+ } else {
+ document.body.removeEventListener('click', this.close)
+ }
+ }
+ },
+ mounted() {
+ this.searchPool = this.generateRoutes(this.permission_routes)
+ },
+ methods: {
+ click() {
+ this.show = !this.show
+ if (this.show) {
+ this.$refs.headerSearchSelect && this.$refs.headerSearchSelect.focus()
+ }
+ },
+ close() {
+ this.$refs.headerSearchSelect && this.$refs.headerSearchSelect.blur()
+ this.options = []
+ this.show = false
+ },
+ change(val) {
+ this.$router.push(val.path)
+ this.search = ''
+ this.options = []
+ this.$nextTick(() => {
+ this.show = false
+ })
+ },
+ initFuse(list) {
+ this.fuse = new Fuse(list, {
+ shouldSort: true,
+ threshold: 0.4,
+ location: 0,
+ distance: 100,
+ maxPatternLength: 32,
+ minMatchCharLength: 1,
+ keys: [{
+ name: 'name',
+ weight: 0.7
+ }, {
+ name: 'url',
+ weight: 0.3
+ }]
+ })
+ },
+ // Filter out the routes that can be displayed in the sidebar
+ // And generate the internationalized title
+ generateRoutes(routes, basePath = '/', prefixTitle = []) {
+ let res = []
+ for (const router of routes) {
+ // skip hidden router
+ if (router.hidden) { continue }
+
+ const data = {
+ path: path.resolve(basePath, router.url),
+ name: [...prefixTitle],
+ children: router.child || []
+ }
+
+ if (router.name) {
+ data.name = [...data.name, router.name]
+
+ if (router.redirect !== 'noRedirect') {
+ // only push the routes with title
+ // special case: need to exclude parent router without redirect
+ res.push(data)
+ }
+ }
+
+ // recursive child routes
+ if (router.child) {
+ const tempRoutes = this.generateRoutes(router.child, data.url, data.name)
+ if (tempRoutes.length >= 1) {
+ res = [...res, ...tempRoutes]
+ }
+ }
+ }
+ return res
+ },
+ querySearch(query) {
+ if (query !== '') {
+ this.options = this.fuse.search(query)
+ } else {
+ this.options = []
+ }
+ }
+ }
+}
+</script>
+
+<style lang="scss" scoped>
+.header-search {
+ font-size: 0 !important;
+ display: inline-flex !important;
+ cursor: pointer;
+ .search-icon {
+ cursor: pointer;
+ font-size: 18px;
+ vertical-align: middle;
+ }
+
+ .header-search-select {
+ font-size: 18px;
+ transition: width 0.2s;
+ width: 0;
+ overflow: hidden;
+ background: transparent;
+ border-radius: 0;
+ display: inline-block;
+ /*vertical-align: middle;*/
+ line-height: 50px;
+ ::v-deep .el-input__inner {
+ border-radius: 0;
+ border: 0;
+ padding-left: 0;
+ padding-right: 0;
+ box-shadow: none !important;
+ /*border-bottom: 1px solid #d9d9d9;*/
+ vertical-align: middle;
+ }
+ }
+
+ &.show {
+ .header-search-select {
+ width: 210px;
+ margin-left: 10px;
+ }
+ }
+}
+</style>
diff --git a/src/components/PanThumb/index.vue b/src/components/PanThumb/index.vue
new file mode 100644
index 0000000..1bcf417
--- /dev/null
+++ b/src/components/PanThumb/index.vue
@@ -0,0 +1,142 @@
+<template>
+ <div :style="{zIndex:zIndex,height:height,width:width}" class="pan-item">
+ <div class="pan-info">
+ <div class="pan-info-roles-container">
+ <slot />
+ </div>
+ </div>
+ <!-- eslint-disable-next-line -->
+ <div :style="{backgroundImage: `url(${image})`}" class="pan-thumb"></div>
+ </div>
+</template>
+
+<script>
+export default {
+ name: 'PanThumb',
+ props: {
+ image: {
+ type: String,
+ required: true
+ },
+ zIndex: {
+ type: Number,
+ default: 1
+ },
+ width: {
+ type: String,
+ default: '150px'
+ },
+ height: {
+ type: String,
+ default: '150px'
+ }
+ }
+}
+</script>
+
+<style scoped>
+.pan-item {
+ width: 200px;
+ height: 200px;
+ border-radius: 50%;
+ display: inline-block;
+ position: relative;
+ cursor: default;
+ box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
+}
+
+.pan-info-roles-container {
+ padding: 20px;
+ text-align: center;
+}
+
+.pan-thumb {
+ width: 100%;
+ height: 100%;
+ background-position: center center;
+ background-size: cover;
+ border-radius: 50%;
+ overflow: hidden;
+ position: absolute;
+ transform-origin: 95% 40%;
+ transition: all 0.3s ease-in-out;
+}
+
+/* .pan-thumb:after {
+ content: '';
+ width: 8px;
+ height: 8px;
+ position: absolute;
+ border-radius: 50%;
+ top: 40%;
+ left: 95%;
+ margin: -4px 0 0 -4px;
+ background: radial-gradient(ellipse at center, rgba(14, 14, 14, 1) 0%, rgba(125, 126, 125, 1) 100%);
+ box-shadow: 0 0 1px rgba(255, 255, 255, 0.9);
+} */
+
+.pan-info {
+ position: absolute;
+ width: inherit;
+ height: inherit;
+ border-radius: 50%;
+ overflow: hidden;
+ box-shadow: inset 0 0 0 5px rgba(0, 0, 0, 0.05);
+}
+
+.pan-info h3 {
+ color: #fff;
+ text-transform: uppercase;
+ position: relative;
+ letter-spacing: 2px;
+ font-size: 18px;
+ margin: 0 60px;
+ padding: 22px 0 0 0;
+ height: 85px;
+ font-family: 'Open Sans', Arial, sans-serif;
+ text-shadow: 0 0 1px #fff, 0 1px 2px rgba(0, 0, 0, 0.3);
+}
+
+.pan-info p {
+ color: #fff;
+ padding: 10px 5px;
+ font-style: italic;
+ margin: 0 30px;
+ font-size: 12px;
+ border-top: 1px solid rgba(255, 255, 255, 0.5);
+}
+
+.pan-info p a {
+ display: block;
+ color: #333;
+ width: 80px;
+ height: 80px;
+ background: rgba(255, 255, 255, 0.3);
+ border-radius: 50%;
+ color: #fff;
+ font-style: normal;
+ font-weight: 700;
+ text-transform: uppercase;
+ font-size: 9px;
+ letter-spacing: 1px;
+ padding-top: 24px;
+ margin: 7px auto 0;
+ font-family: 'Open Sans', Arial, sans-serif;
+ opacity: 0;
+ transition: transform 0.3s ease-in-out 0.2s, opacity 0.3s ease-in-out 0.2s, background 0.2s linear 0s;
+ transform: translateX(60px) rotate(90deg);
+}
+
+.pan-info p a:hover {
+ background: rgba(255, 255, 255, 0.5);
+}
+
+.pan-item:hover .pan-thumb {
+ transform: rotate(-110deg);
+}
+
+.pan-item:hover .pan-info p a {
+ opacity: 1;
+ transform: translateX(0px) rotate(0deg);
+}
+</style>
diff --git a/src/components/ParentView/index.vue b/src/components/ParentView/index.vue
new file mode 100644
index 0000000..7bf6148
--- /dev/null
+++ b/src/components/ParentView/index.vue
@@ -0,0 +1,3 @@
+<template >
+ <router-view />
+</template>
diff --git a/src/components/RightPanel/index.vue b/src/components/RightPanel/index.vue
new file mode 100644
index 0000000..f090f71
--- /dev/null
+++ b/src/components/RightPanel/index.vue
@@ -0,0 +1,149 @@
+<template>
+ <div ref="rightPanel" :class="{show:show}" class="rightPanel-container">
+ <div class="rightPanel-background" />
+ <div class="rightPanel">
+ <div class="rightPanel-items">
+ <slot />
+ </div>
+ </div>
+ </div>
+</template>
+
+<script>
+import { addClass, removeClass } from '@/utils'
+
+export default {
+ name: 'RightPanel',
+ props: {
+ clickNotClose: {
+ default: false,
+ type: Boolean
+ },
+ buttonTop: {
+ default: 250,
+ type: Number
+ }
+ },
+ computed: {
+ show: {
+ get() {
+ return this.$store.state.settings.showSettings
+ },
+ set(val) {
+ this.$store.dispatch('settings/changeSetting', {
+ key: 'showSettings',
+ value: val
+ })
+ }
+ },
+ theme() {
+ return this.$store.state.settings.theme
+ },
+ },
+ watch: {
+ show(value) {
+ if (value && !this.clickNotClose) {
+ this.addEventClick()
+ }
+ if (value) {
+ addClass(document.body, 'showRightPanel')
+ } else {
+ removeClass(document.body, 'showRightPanel')
+ }
+ }
+ },
+ mounted() {
+ this.insertToBody()
+ this.addEventClick()
+ },
+ beforeDestroy() {
+ const elx = this.$refs.rightPanel
+ elx.remove()
+ },
+ methods: {
+ addEventClick() {
+ window.addEventListener('click', this.closeSidebar)
+ },
+ closeSidebar(evt) {
+ const parent = evt.target.closest('.rightPanel')
+ if (!parent) {
+ this.show = false
+ window.removeEventListener('click', this.closeSidebar)
+ }
+ },
+ insertToBody() {
+ const elx = this.$refs.rightPanel
+ const body = document.querySelector('body')
+ body.insertBefore(elx, body.firstChild)
+ }
+ }
+}
+</script>
+
+<style>
+.showRightPanel {
+ overflow: hidden;
+ position: relative;
+ width: calc(100% - 15px);
+}
+</style>
+
+<style lang="scss" scoped>
+.rightPanel-background {
+ position: fixed;
+ top: 0;
+ left: 0;
+ opacity: 0;
+ transition: opacity .3s cubic-bezier(0, 0, .25, 1);
+ background: rgba(0, 0, 0, .2);
+ z-index: -1;
+}
+
+.rightPanel {
+ width: 100%;
+ max-width: 260px;
+ height: 100vh;
+ position: fixed;
+ top: 0;
+ right: 0;
+ box-shadow: 0px 0px 15px 0px rgba(0, 0, 0, .05);
+ transition: all .25s cubic-bezier(0, 0, .25, 1);
+ transform: translate(100%);
+ background: #fff;
+ z-index: 40000;
+}
+
+.show {
+ transition: all .3s cubic-bezier(0, 0, .25, 1);
+
+ .rightPanel-background {
+ z-index: 20000;
+ opacity: 1;
+ width: 100%;
+ height: 100%;
+ }
+
+ .rightPanel {
+ transform: translate(0);
+ }
+}
+
+.handle-button {
+ width: 48px;
+ height: 48px;
+ position: absolute;
+ left: -48px;
+ text-align: center;
+ font-size: 24px;
+ border-radius: 6px 0 0 6px !important;
+ z-index: 0;
+ pointer-events: auto;
+ cursor: pointer;
+ color: #fff;
+ line-height: 48px;
+ i {
+ font-size: 24px;
+ line-height: 48px;
+ }
+}
+</style>
diff --git a/src/components/Screenfull/index.vue b/src/components/Screenfull/index.vue
new file mode 100644
index 0000000..cfc2974
--- /dev/null
+++ b/src/components/Screenfull/index.vue
@@ -0,0 +1,61 @@
+<template>
+ <div>
+ <i class="iconfont iconios-qr-scanner" style="font-size: 20px;" @click="click"></i>
+ <!--<svg-icon :icon-class="isFullscreen?'exit-fullscreen':'fullscreen'" @click="click" />-->
+ </div>
+</template>
+
+<script>
+import screenfull from 'screenfull'
+
+export default {
+ name: 'Screenfull',
+ data() {
+ return {
+ isFullscreen: false
+ }
+ },
+ mounted() {
+ this.init()
+ },
+ beforeDestroy() {
+ this.destroy()
+ },
+ methods: {
+ click() {
+ if (!screenfull.enabled) {
+ this.$message({
+ message: 'you browser can not work',
+ type: 'warning'
+ })
+ return false
+ }
+ screenfull.toggle()
+ },
+ change() {
+ this.isFullscreen = screenfull.isFullscreen
+ },
+ init() {
+ if (screenfull.enabled) {
+ screenfull.on('change', this.change)
+ }
+ },
+ destroy() {
+ if (screenfull.enabled) {
+ screenfull.off('change', this.change)
+ }
+ }
+ }
+}
+</script>
+
+<style scoped>
+.screenfull-svg {
+ display: inline-block;
+ cursor: pointer;
+ fill: #5a5e66;;
+ width: 20px;
+ height: 20px;
+ vertical-align: 10px;
+}
+</style>
diff --git a/src/components/Share/DropdownMenu.vue b/src/components/Share/DropdownMenu.vue
new file mode 100644
index 0000000..d194a51
--- /dev/null
+++ b/src/components/Share/DropdownMenu.vue
@@ -0,0 +1,103 @@
+<template>
+ <div :class="{active:isActive}" class="share-dropdown-menu">
+ <div class="share-dropdown-menu-wrapper">
+ <span class="share-dropdown-menu-title" @click.self="clickTitle">{{ title }}</span>
+ <div v-for="(item,index) of items" :key="index" class="share-dropdown-menu-item">
+ <a v-if="item.href" :href="item.href" target="_blank">{{ item.title }}</a>
+ <span v-else>{{ item.title }}</span>
+ </div>
+ </div>
+ </div>
+</template>
+
+<script>
+export default {
+ props: {
+ items: {
+ type: Array,
+ default: function() {
+ return []
+ }
+ },
+ title: {
+ type: String,
+ default: 'vue'
+ }
+ },
+ data() {
+ return {
+ isActive: false
+ }
+ },
+ methods: {
+ clickTitle() {
+ this.isActive = !this.isActive
+ }
+ }
+}
+</script>
+
+<style lang="scss" >
+$n: 9; //鍜宨tems.length 鐩稿悓
+$t: .1s;
+.share-dropdown-menu {
+ width: 250px;
+ position: relative;
+ z-index: 1;
+ height: auto!important;
+ &-title {
+ width: 100%;
+ display: block;
+ cursor: pointer;
+ background: black;
+ color: white;
+ height: 60px;
+ line-height: 60px;
+ font-size: 20px;
+ text-align: center;
+ z-index: 2;
+ transform: translate3d(0,0,0);
+ }
+ &-wrapper {
+ position: relative;
+ }
+ &-item {
+ text-align: center;
+ position: absolute;
+ width: 100%;
+ background: #e0e0e0;
+ color: #000;
+ line-height: 60px;
+ height: 60px;
+ cursor: pointer;
+ font-size: 18px;
+ overflow: hidden;
+ opacity: 1;
+ transition: transform 0.28s ease;
+ &:hover {
+ background: black;
+ color: white;
+ }
+ @for $i from 1 through $n {
+ &:nth-of-type(#{$i}) {
+ z-index: -1;
+ transition-delay: $i*$t;
+ transform: translate3d(0, -60px, 0);
+ }
+ }
+ }
+ &.active {
+ .share-dropdown-menu-wrapper {
+ z-index: 1;
+ }
+ .share-dropdown-menu-item {
+ @for $i from 1 through $n {
+ &:nth-of-type(#{$i}) {
+ transition-delay: ($n - $i)*$t;
+ transform: translate3d(0, ($i - 1)*60px, 0);
+ }
+ }
+ }
+ }
+}
+</style>
diff --git a/src/components/Sticky/index.vue b/src/components/Sticky/index.vue
new file mode 100644
index 0000000..97ce0e9
--- /dev/null
+++ b/src/components/Sticky/index.vue
@@ -0,0 +1,91 @@
+<template>
+ <div :style="{height:height+'px',zIndex:zIndex}">
+ <div
+ :class="className"
+ :style="{top:(isSticky ? stickyTop +'px' : ''),zIndex:zIndex,position:position,width:width,height:height+'px'}"
+ >
+ <slot>
+ <div>sticky</div>
+ </slot>
+ </div>
+ </div>
+</template>
+
+<script>
+export default {
+ name: 'Sticky',
+ props: {
+ stickyTop: {
+ type: Number,
+ default: 0
+ },
+ zIndex: {
+ type: Number,
+ default: 1
+ },
+ className: {
+ type: String,
+ default: ''
+ }
+ },
+ data() {
+ return {
+ active: false,
+ position: '',
+ width: undefined,
+ height: undefined,
+ isSticky: false
+ }
+ },
+ mounted() {
+ this.height = this.$el.getBoundingClientRect().height
+ window.addEventListener('scroll', this.handleScroll)
+ window.addEventListener('resize', this.handleResize)
+ },
+ activated() {
+ this.handleScroll()
+ },
+ destroyed() {
+ window.removeEventListener('scroll', this.handleScroll)
+ window.removeEventListener('resize', this.handleResize)
+ },
+ methods: {
+ sticky() {
+ if (this.active) {
+ return
+ }
+ this.position = 'fixed'
+ this.active = true
+ this.width = this.width + 'px'
+ this.isSticky = true
+ },
+ handleReset() {
+ if (!this.active) {
+ return
+ }
+ this.reset()
+ },
+ reset() {
+ this.position = ''
+ this.width = 'auto'
+ this.active = false
+ this.isSticky = false
+ },
+ handleScroll() {
+ const width = this.$el.getBoundingClientRect().width
+ this.width = width || 'auto'
+ const offsetTop = this.$el.getBoundingClientRect().top
+ if (offsetTop < this.stickyTop) {
+ this.sticky()
+ return
+ }
+ this.handleReset()
+ },
+ handleResize() {
+ if (this.isSticky) {
+ this.width = this.$el.getBoundingClientRect().width + 'px'
+ }
+ }
+ }
+}
+</script>
diff --git a/src/components/SvgIcon/index.vue b/src/components/SvgIcon/index.vue
new file mode 100644
index 0000000..b07ded2
--- /dev/null
+++ b/src/components/SvgIcon/index.vue
@@ -0,0 +1,62 @@
+<template>
+ <div v-if="isExternal" :style="styleExternalIcon" class="svg-external-icon svg-icon" v-on="$listeners" />
+ <svg v-else :class="svgClass" aria-hidden="true" v-on="$listeners">
+ <use :xlink:href="iconName" />
+ </svg>
+</template>
+
+<script>
+// doc: https://panjiachen.github.io/vue-element-admin-site/feature/component/svg-icon.html#usage
+import { isExternal } from '@/utils/validate'
+
+export default {
+ name: 'SvgIcon',
+ props: {
+ iconClass: {
+ type: String,
+ required: true
+ },
+ className: {
+ type: String,
+ default: ''
+ }
+ },
+ computed: {
+ isExternal() {
+ return isExternal(this.iconClass)
+ },
+ iconName() {
+ return `#icon-${this.iconClass}`
+ },
+ svgClass() {
+ if (this.className) {
+ return 'svg-icon ' + this.className
+ } else {
+ return 'svg-icon'
+ }
+ },
+ styleExternalIcon() {
+ return {
+ mask: `url(${this.iconClass}) no-repeat 50% 50%`,
+ '-webkit-mask': `url(${this.iconClass}) no-repeat 50% 50%`
+ }
+ }
+ }
+}
+</script>
+
+<style scoped>
+.svg-icon {
+ width: 1em;
+ height: 1em;
+ vertical-align: -0.15em;
+ fill: currentColor;
+ overflow: hidden;
+}
+
+.svg-external-icon {
+ background-color: currentColor;
+ mask-size: cover!important;
+ display: inline-block;
+}
+</style>
diff --git a/src/components/ThemePicker/index.vue b/src/components/ThemePicker/index.vue
new file mode 100644
index 0000000..b0df471
--- /dev/null
+++ b/src/components/ThemePicker/index.vue
@@ -0,0 +1,174 @@
+<template>
+ <el-color-picker
+ v-model="theme"
+ :predefine="['#409EFF', '#1890ff', '#304156','#212121','#11a983', '#13c2c2', '#6959CD', '#f5222d', ]"
+ class="theme-picker"
+ popper-class="theme-picker-dropdown"
+ />
+</template>
+
+<script>
+const version = require('element-ui/package.json').version // element-ui version from node_modules
+const ORIGINAL_THEME = '#409EFF' // default color
+
+export default {
+ data() {
+ return {
+ chalk: '', // content of theme-chalk css
+ theme: ''
+ }
+ },
+ computed: {
+ defaultTheme() {
+ return this.$store.state.settings.theme
+ }
+ },
+ watch: {
+ defaultTheme: {
+ handler: function(val, oldVal) {
+ this.theme = val
+ },
+ immediate: true
+ },
+ async theme(val) {
+ const oldVal = this.chalk ? this.theme : ORIGINAL_THEME
+ if (typeof val !== 'string') return
+ const themeCluster = this.getThemeCluster(val.replace('#', ''))
+ const originalCluster = this.getThemeCluster(oldVal.replace('#', ''))
+
+ const $message = this.$message({
+ message: ' Compiling the theme',
+ customClass: 'theme-message',
+ type: 'success',
+ duration: 0,
+ iconClass: 'el-icon-loading'
+ })
+
+ const getHandler = (variable, id) => {
+ return () => {
+ const originalCluster = this.getThemeCluster(ORIGINAL_THEME.replace('#', ''))
+ const newStyle = this.updateStyle(this[variable], originalCluster, themeCluster)
+
+ let styleTag = document.getElementById(id)
+ if (!styleTag) {
+ styleTag = document.createElement('style')
+ styleTag.setAttribute('id', id)
+ document.head.appendChild(styleTag)
+ }
+ styleTag.innerText = newStyle
+ }
+ }
+
+ if (!this.chalk) {
+ const url = `https://unpkg.com/element-ui@${version}/lib/theme-chalk/index.css`
+ await this.getCSSString(url, 'chalk')
+ }
+
+ const chalkHandler = getHandler('chalk', 'chalk-style')
+
+ chalkHandler()
+
+ const styles = [].slice.call(document.querySelectorAll('style'))
+ .filter(style => {
+ const text = style.innerText
+ return new RegExp(oldVal, 'i').test(text) && !/Chalk Variables/.test(text)
+ })
+ styles.forEach(style => {
+ const { innerText } = style
+ if (typeof innerText !== 'string') return
+ style.innerText = this.updateStyle(innerText, originalCluster, themeCluster)
+ })
+
+ this.$emit('change', val)
+
+ $message.close()
+ }
+ },
+
+ methods: {
+ updateStyle(style, oldCluster, newCluster) {
+ let newStyle = style
+ oldCluster.forEach((color, index) => {
+ newStyle = newStyle.replace(new RegExp(color, 'ig'), newCluster[index])
+ })
+ return newStyle
+ },
+
+ getCSSString(url, variable) {
+ return new Promise(resolve => {
+ const xhr = new XMLHttpRequest()
+ xhr.onreadystatechange = () => {
+ if (xhr.readyState === 4 && xhr.status === 200) {
+ this[variable] = xhr.responseText.replace(/@font-face{[^}]+}/, '')
+ resolve()
+ }
+ }
+ xhr.open('GET', url)
+ xhr.send()
+ })
+ },
+
+ getThemeCluster(theme) {
+ const tintColor = (color, tint) => {
+ let red = parseInt(color.slice(0, 2), 16)
+ let green = parseInt(color.slice(2, 4), 16)
+ let blue = parseInt(color.slice(4, 6), 16)
+
+ if (tint === 0) { // when primary color is in its rgb space
+ return [red, green, blue].join(',')
+ } else {
+ red += Math.round(tint * (255 - red))
+ green += Math.round(tint * (255 - green))
+ blue += Math.round(tint * (255 - blue))
+
+ red = red.toString(16)
+ green = green.toString(16)
+ blue = blue.toString(16)
+
+ return `#${red}${green}${blue}`
+ }
+ }
+
+ const shadeColor = (color, shade) => {
+ let red = parseInt(color.slice(0, 2), 16)
+ let green = parseInt(color.slice(2, 4), 16)
+ let blue = parseInt(color.slice(4, 6), 16)
+
+ red = Math.round((1 - shade) * red)
+ green = Math.round((1 - shade) * green)
+ blue = Math.round((1 - shade) * blue)
+
+ red = red.toString(16)
+ green = green.toString(16)
+ blue = blue.toString(16)
+
+ return `#${red}${green}${blue}`
+ }
+
+ const clusters = [theme]
+ for (let i = 0; i <= 9; i++) {
+ clusters.push(tintColor(theme, Number((i / 10).toFixed(2))))
+ }
+ clusters.push(shadeColor(theme, 0.1))
+ return clusters
+ }
+ }
+}
+</script>
+
+<style>
+.theme-message,
+.theme-picker-dropdown {
+ z-index: 99999 !important;
+}
+
+.theme-picker .el-color-picker__trigger {
+ height: 26px !important;
+ width: 26px !important;
+ padding: 2px;
+}
+
+.theme-picker-dropdown .el-color-dropdown__link-btn {
+ display: none;
+}
+</style>
diff --git a/src/components/TimeSelect/index.vue b/src/components/TimeSelect/index.vue
new file mode 100644
index 0000000..af9796f
--- /dev/null
+++ b/src/components/TimeSelect/index.vue
@@ -0,0 +1,57 @@
+<template>
+ <div>
+ <el-time-select
+ placeholder="璧峰鏃堕棿"
+ v-model="startTime"
+ :picker-options="{
+ start: '00:00',
+ step: '01:00',
+ end: '24:00'
+ }">
+ </el-time-select>
+ <el-time-select
+ placeholder="缁撴潫鏃堕棿"
+ v-model="endTime"
+ :picker-options="{
+ start: '00:00',
+ step: '01:00',
+ end: '24:00',
+ minTime: startTime
+ }">
+ </el-time-select>
+ </div>
+</template>
+
+<script>
+ export default {
+ name: "index",
+ data() {
+ return {
+ startTime: '',
+ endTime: ''
+ }
+ },
+ props: {
+ value: {}
+ },
+ beforeMount(){
+ // 鎺ユ敹 v-model 鏁版嵁
+ if(this.value){
+ this.startTime = this.value.split(',')[0]
+ this.endTime = this.value.split(',')[1]
+ }
+ },
+ watch: {
+ startTime: function(val) {
+ this.$emit('input', [val, this.endTime].join(','))
+ },
+ endTime: function(val) {
+ this.$emit('input', [this.startTime, val].join(','))
+ }
+ }
+ }
+</script>
+
+<style scoped>
+
+</style>
diff --git a/src/components/Tinymce/components/EditorImage.vue b/src/components/Tinymce/components/EditorImage.vue
new file mode 100644
index 0000000..f628edd
--- /dev/null
+++ b/src/components/Tinymce/components/EditorImage.vue
@@ -0,0 +1,47 @@
+<template>
+ <div class="upload-container">
+ <el-button :style="{background:color,borderColor:color}" icon="el-icon-upload" size="mini" type="primary" @click="modalPicTap('2')"> upload</el-button>
+ </div>
+</template>
+
+<script>
+export default {
+ name: 'EditorSlideUpload',
+ props: {
+ color: {
+ type: String,
+ default: '#1890ff'
+ }
+ },
+ data() {
+ return {
+ dialogVisible: false,
+ listObj: {},
+ fileList: []
+ }
+ },
+ methods: {
+ modalPicTap(tit) {
+ const _this = this
+ this.$modalUpload(function(img) {
+ let arr = [];
+ if(img.length>10) return this.$message.warning("鏈�澶氶�夋嫨10寮犲浘鐗囷紒");
+ img.map((item) => {
+ arr.push(item.sattDir)
+ });
+ // console.log(arr);
+ _this.$emit('successCBK', arr)
+ }, tit, 'content')
+ },
+ }
+}
+</script>
+
+<style lang="scss" scoped>
+.editor-slide-upload {
+ margin-bottom: 20px;
+ ::v-deep .el-upload--picture-card {
+ width: 100%;
+ }
+}
+</style>
diff --git a/src/components/Tinymce/dynamicLoadScript.js b/src/components/Tinymce/dynamicLoadScript.js
new file mode 100644
index 0000000..185f58d
--- /dev/null
+++ b/src/components/Tinymce/dynamicLoadScript.js
@@ -0,0 +1,59 @@
+let callbacks = []
+
+function loadedTinymce() {
+ // to fixed https://github.com/PanJiaChen/vue-element-admin/issues/2144
+ // check is successfully downloaded script
+ return window.tinymce
+}
+
+const dynamicLoadScript = (src, callback) => {
+ const existingScript = document.getElementById(src)
+ const cb = callback || function() {}
+
+ if (!existingScript) {
+ const script = document.createElement('script')
+ script.src = src // src url for the third-party library being loaded.
+ script.id = src
+ document.body.appendChild(script)
+ callbacks.push(cb)
+ const onEnd = 'onload' in script ? stdOnEnd : ieOnEnd
+ onEnd(script)
+ }
+
+ if (existingScript && cb) {
+ if (loadedTinymce()) {
+ cb(null, existingScript)
+ } else {
+ callbacks.push(cb)
+ }
+ }
+
+ function stdOnEnd(script) {
+ script.onload = function() {
+ // this.onload = null here is necessary
+ // because even IE9 works not like others
+ this.onerror = this.onload = null
+ for (const cb of callbacks) {
+ cb(null, script)
+ }
+ callbacks = null
+ }
+ script.onerror = function() {
+ this.onerror = this.onload = null
+ cb(new Error('Failed to load ' + src), script)
+ }
+ }
+
+ function ieOnEnd(script) {
+ script.onreadystatechange = function() {
+ if (this.readyState !== 'complete' && this.readyState !== 'loaded') return
+ this.onreadystatechange = null
+ for (const cb of callbacks) {
+ cb(null, script) // there is no way to catch loading errors in IE8
+ }
+ callbacks = null
+ }
+ }
+}
+
+export default dynamicLoadScript
diff --git a/src/components/Tinymce/index.vue b/src/components/Tinymce/index.vue
new file mode 100644
index 0000000..2e6e8bb
--- /dev/null
+++ b/src/components/Tinymce/index.vue
@@ -0,0 +1,230 @@
+<template>
+ <div :class="{fullscreen:fullscreen}" class="tinymce-container editor-container">
+ <textarea :id="tinymceId" class="tinymce-textarea" />
+ <div class="editor-custom-btn-container">
+ <editorImage color="#1890ff" class="editor-upload-btn" @successCBK="imageSuccessCBK" />
+ </div>
+ </div>
+</template>
+
+<script>
+import editorImage from './components/EditorImage'
+import plugins from './plugins'
+import toolbar from './toolbar'
+
+export default {
+ name: 'Tinymce',
+ components: { editorImage },
+ props: {
+ id: {
+ type: String,
+ default: function() {
+ return 'vue-tinymce-' + +new Date() + ((Math.random() * 1000).toFixed(0) + '')
+ }
+ },
+ value: {
+ type: String,
+ default: ''
+ },
+ toolbar: {
+ type: Array,
+ required: false,
+ default() {
+ return []
+ }
+ },
+ menubar: {
+ type: String,
+ default: 'file edit insert view format table'
+ },
+ height: {
+ type: Number,
+ required: false,
+ default: 400
+ }
+ },
+ data() {
+ return {
+ hasChange: false,
+ hasInit: false,
+ tinymceId: this.id,
+ fullscreen: false,
+ languageTypeList: {
+ 'en': 'en',
+ 'zh': 'zh_CN'
+ }
+ }
+ },
+ computed: {
+ language() {
+ // return this.languageTypeList[this.$store.getters.language]
+ return this.languageTypeList['zh']
+ }
+ },
+ watch: {
+ value(val) {
+ if (!this.hasChange && this.hasInit) {
+ this.$nextTick(() =>
+ window.tinymce.get(this.tinymceId).setContent(val || ''))
+ }
+ },
+ language() {
+ this.destroyTinymce()
+ this.$nextTick(() => this.initTinymce())
+ }
+ },
+ mounted() {
+ this.initTinymce()
+ },
+ activated() {
+ this.initTinymce()
+ },
+ deactivated() {
+ this.destroyTinymce()
+ },
+ destroyed() {
+ this.destroyTinymce()
+ },
+ methods: {
+ initTinymce() {
+ const _this = this
+ window.tinymce.init({
+ language: this.language,
+ selector: `#${this.tinymceId}`,
+ height: this.height,
+ body_class: 'panel-body ',
+ object_resizing: false,
+ toolbar: this.toolbar.length > 0 ? this.toolbar : toolbar,
+ menubar: this.menubar,
+ plugins: plugins,
+ end_container_on_empty_block: true,
+ powerpaste_word_import: 'clean',
+ code_dialog_height: 450,
+ code_dialog_width: 1000,
+ advlist_bullet_styles: 'square',
+ advlist_number_styles: 'default',
+ imagetools_cors_hosts: ['www.tinymce.com', 'codepen.io'],
+ default_link_target: '_blank',
+ link_title: false,
+ nonbreaking_force_tab: true, // inserting nonbreaking space need Nonbreaking Space Plugin
+ init_instance_callback: editor => {
+ if (_this.value) {
+ editor.setContent(_this.value)
+ }
+ _this.hasInit = true
+ editor.on('NodeChange Change KeyUp SetContent', () => {
+ this.hasChange = true
+ this.$emit('input', editor.getContent())
+ })
+ },
+ setup(editor) {
+ editor.on('FullscreenStateChanged', (e) => {
+ _this.fullscreen = e.state
+ })
+ }
+ })
+ },
+ destroyTinymce() {
+ const tinymce = window.tinymce.get(this.tinymceId)
+ if (this.fullscreen) {
+ tinymce.execCommand('mceFullScreen')
+ }
+
+ if (tinymce) {
+ tinymce.destroy()
+ }
+ },
+ setContent(value) {
+ window.tinymce.get(this.tinymceId).setContent(value)
+ },
+ getContent() {
+ window.tinymce.get(this.tinymceId).getContent()
+ },
+ imageSuccessCBK(arr) {
+ const _this = this;
+ arr.forEach((v) => {
+ if (this.getFileType(v) == "video") {
+ window.tinymce
+ .get(_this.tinymceId)
+ .insertContent(
+ `<video class="wscnph" src="${v}" controls muted></video>`
+ );
+ } else {
+ window.tinymce
+ .get(_this.tinymceId)
+ .insertContent(`<img class="wscnph" src="${v}" />`);
+ }
+ });
+ },
+ getFileType(fileName) {
+ // 鍚庣紑鑾峰彇
+ let suffix = "";
+ // 鑾峰彇绫诲瀷缁撴灉
+ let result = "";
+ try {
+ const flieArr = fileName.split(".");
+ suffix = flieArr[flieArr.length - 1];
+ } catch (err) {
+ suffix = "";
+ }
+ // fileName鏃犲悗缂�杩斿洖 false
+ if (!suffix) {
+ return false;
+ }
+ suffix = suffix.toLocaleLowerCase();
+ // 鍥剧墖鏍煎紡
+ const imglist = ["png", "jpg", "jpeg", "bmp", "gif"];
+ // 杩涜鍥剧墖鍖归厤
+ result = imglist.find((item) => item === suffix);
+ if (result) {
+ return "image";
+ }
+ // 鍖归厤 瑙嗛
+ const videolist = [
+ "mp4",
+ "m2v",
+ "mkv",
+ "rmvb",
+ "wmv",
+ "avi",
+ "flv",
+ "mov",
+ "m4v",
+ ];
+ result = videolist.find((item) => item === suffix);
+ if (result) {
+ return "video";
+ }
+ // 鍏朵粬 鏂囦欢绫诲瀷
+ return "other";
+ },
+ }
+}
+</script>
+
+<style scoped>
+.tinymce-container {
+ position: relative;
+ line-height: normal;
+}
+.tinymce-container>>>.mce-fullscreen {
+ z-index: 10000;
+}
+.tinymce-textarea {
+ visibility: hidden;
+ z-index: -1;
+}
+.editor-custom-btn-container {
+ position: absolute;
+ right: 4px;
+ top: 4px;
+ /*z-index: 2005;*/
+}
+.fullscreen .editor-custom-btn-container {
+ z-index: 10000;
+ position: fixed;
+}
+.editor-upload-btn {
+ display: inline-block;
+}
+</style>
diff --git a/src/components/Tinymce/plugins.js b/src/components/Tinymce/plugins.js
new file mode 100644
index 0000000..4672793
--- /dev/null
+++ b/src/components/Tinymce/plugins.js
@@ -0,0 +1,7 @@
+// Any plugins you want to use has to be imported
+// Detail plugins list see https://www.tinymce.com/docs/plugins/
+// Custom builds see https://www.tinymce.com/download/custom-builds/
+
+const plugins = ['advlist anchor autolink autosave code codesample colorpicker colorpicker contextmenu directionality emoticons fullscreen hr image imagetools insertdatetime link lists media nonbreaking noneditable pagebreak paste preview print save searchreplace spellchecker tabfocus table template textcolor textpattern visualblocks visualchars wordcount']
+export default plugins
+
diff --git a/src/components/Tinymce/toolbar.js b/src/components/Tinymce/toolbar.js
new file mode 100644
index 0000000..001d45d
--- /dev/null
+++ b/src/components/Tinymce/toolbar.js
@@ -0,0 +1,6 @@
+// Here is a list of the toolbar
+// Detail list see https://www.tinymce.com/docs/advanced/editor-control-identifiers/#toolbarcontrols
+
+const toolbar = ['searchreplace bold italic underline strikethrough alignleft aligncenter alignright outdent indent blockquote undo redo removeformat subscript superscript code codesample fontsizeselect fontselect', 'hr bullist numlist link image charmap preview anchor pagebreak insertdatetime media table emoticons forecolor backcolor ']
+
+export default toolbar
diff --git a/src/components/TopNav/index.vue b/src/components/TopNav/index.vue
new file mode 100644
index 0000000..56e90e7
--- /dev/null
+++ b/src/components/TopNav/index.vue
@@ -0,0 +1,5 @@
+<template>
+ <div>
+
+ </div>
+</template>
\ No newline at end of file
diff --git a/src/components/Upload/uploadFile.vue b/src/components/Upload/uploadFile.vue
new file mode 100644
index 0000000..5d72e45
--- /dev/null
+++ b/src/components/Upload/uploadFile.vue
@@ -0,0 +1,69 @@
+<template>
+ <div class="upload-container">
+ <el-upload
+ class="upload-demo mr10 mb15"
+ action
+ :http-request="handleUploadForm"
+ :headers="myHeaders"
+ :show-file-list="false"
+ multiple
+ >
+ <div v-if="url" class="upLoadPicBox">
+ <div class="upLoad">
+ <i class="el-icon-document-checked cameraIconfont" />
+ </div>
+ </div>
+ <el-button v-else size="mini" type="primary" v-hasPermi="['admin:upload:file']">鐐瑰嚮涓婁紶</el-button>
+ </el-upload>
+ </div>
+</template>
+<script>
+import { fileFileApi } from '@/api/systemSetting'
+import { getToken } from '@/utils/auth'
+export default {
+ name: 'UploadFile',
+ props: {
+ value: {}
+ },
+ data() {
+ return {
+ myHeaders: { 'X-Token': getToken() },
+ url: ''
+ }
+ },
+ beforeMount() {
+ if (this.value) {
+ this.url = this.value
+ }
+ },
+ methods: {
+ // 涓婁紶
+ handleUploadForm(param) {
+ const formData = new FormData()
+ const data = {
+ model: this.$route.path.split('/')[1],
+ pid: 10
+ }
+ formData.append('multipart', param.file)
+ const loading = this.$loading({
+ lock: true,
+ text: '涓婁紶涓紝璇风◢鍊�...',
+ spinner: 'el-icon-loading',
+ background: 'rgba(0, 0, 0, 0.7)'
+ })
+ fileFileApi(formData, data).then(res => {
+ loading.close()
+ this.url = res.url
+ this.$emit('input', this.url)
+ this.$message.success('涓婁紶鎴愬姛')
+ }).catch(res => {
+ loading.close()
+ })
+ }
+ }
+}
+</script>
+
+<style scoped>
+
+</style>
diff --git a/src/components/UploadExcel/index.vue b/src/components/UploadExcel/index.vue
new file mode 100644
index 0000000..9e8ba8b
--- /dev/null
+++ b/src/components/UploadExcel/index.vue
@@ -0,0 +1,138 @@
+<template>
+ <div>
+ <input ref="excel-upload-input" class="excel-upload-input" type="file" accept=".xlsx, .xls" @change="handleClick">
+ <div class="drop" @drop="handleDrop" @dragover="handleDragover" @dragenter="handleDragover">
+ Drop excel file here or
+ <el-button :loading="loading" style="margin-left:16px;" size="mini" type="primary" @click="handleUpload">
+ Browse
+ </el-button>
+ </div>
+ </div>
+</template>
+
+<script>
+import XLSX from 'xlsx'
+
+export default {
+ props: {
+ beforeUpload: Function, // eslint-disable-line
+ onSuccess: Function// eslint-disable-line
+ },
+ data() {
+ return {
+ loading: false,
+ excelData: {
+ header: null,
+ results: null
+ }
+ }
+ },
+ methods: {
+ generateData({ header, results }) {
+ this.excelData.header = header
+ this.excelData.results = results
+ this.onSuccess && this.onSuccess(this.excelData)
+ },
+ handleDrop(e) {
+ e.stopPropagation()
+ e.preventDefault()
+ if (this.loading) return
+ const files = e.dataTransfer.files
+ if (files.length !== 1) {
+ this.$message.error('Only support uploading one file!')
+ return
+ }
+ const rawFile = files[0] // only use files[0]
+
+ if (!this.isExcel(rawFile)) {
+ this.$message.error('Only supports upload .xlsx, .xls, .csv suffix files')
+ return false
+ }
+ this.upload(rawFile)
+ e.stopPropagation()
+ e.preventDefault()
+ },
+ handleDragover(e) {
+ e.stopPropagation()
+ e.preventDefault()
+ e.dataTransfer.dropEffect = 'copy'
+ },
+ handleUpload() {
+ this.$refs['excel-upload-input'].click()
+ },
+ handleClick(e) {
+ const files = e.target.files
+ const rawFile = files[0] // only use files[0]
+ if (!rawFile) return
+ this.upload(rawFile)
+ },
+ upload(rawFile) {
+ this.$refs['excel-upload-input'].value = null // fix can't select the same excel
+
+ if (!this.beforeUpload) {
+ this.readerData(rawFile)
+ return
+ }
+ const before = this.beforeUpload(rawFile)
+ if (before) {
+ this.readerData(rawFile)
+ }
+ },
+ readerData(rawFile) {
+ this.loading = true
+ return new Promise((resolve, reject) => {
+ const reader = new FileReader()
+ reader.onload = e => {
+ const data = e.target.result
+ const workbook = XLSX.read(data, { type: 'array' })
+ const firstSheetName = workbook.SheetNames[0]
+ const worksheet = workbook.Sheets[firstSheetName]
+ const header = this.getHeaderRow(worksheet)
+ const results = XLSX.utils.sheet_to_json(worksheet)
+ this.generateData({ header, results })
+ this.loading = false
+ resolve()
+ }
+ reader.readAsArrayBuffer(rawFile)
+ })
+ },
+ getHeaderRow(sheet) {
+ const headers = []
+ const range = XLSX.utils.decode_range(sheet['!ref'])
+ let C
+ const R = range.s.r
+ /* start in the first row */
+ for (C = range.s.c; C <= range.e.c; ++C) { /* walk every column in the range */
+ const cell = sheet[XLSX.utils.encode_cell({ c: C, r: R })]
+ /* find the cell in the first row */
+ let hdr = 'UNKNOWN ' + C // <-- replace with your desired default
+ if (cell && cell.t) hdr = XLSX.utils.format_cell(cell)
+ headers.push(hdr)
+ }
+ return headers
+ },
+ isExcel(file) {
+ return /\.(xlsx|xls|csv)$/.test(file.name)
+ }
+ }
+}
+</script>
+
+<style scoped>
+.excel-upload-input{
+ display: none;
+ z-index: -9999;
+}
+.drop{
+ border: 2px dashed #bbb;
+ width: 600px;
+ height: 160px;
+ line-height: 160px;
+ margin: 0 auto;
+ font-size: 24px;
+ border-radius: 5px;
+ text-align: center;
+ color: #bbb;
+ position: relative;
+}
+</style>
diff --git a/src/components/cards/index.vue b/src/components/cards/index.vue
new file mode 100644
index 0000000..e453011
--- /dev/null
+++ b/src/components/cards/index.vue
@@ -0,0 +1,106 @@
+<template>
+ <el-row align="middle" :gutter="20" class="ivu-mt">
+ <el-col :xl="6" :lg="6" :md="12" :sm="12" :xs="24" class="ivu-mb mb20" v-for="(item, index) in cardLists"
+ :key="index">
+ <div class="card_box">
+ <div class="card_box_cir" :class="item.class">
+ <span class="iconfont" :class="item.icon" :style="{color:item.color}" v-if="item.icon"></span>
+ <i class="el-icon-edit" style="color: #fff;" v-else></i>
+ </div>
+ <div class="card_box_txt">
+ <span class="sp2" v-text="item.name"></span>
+ <span class="sp1" v-text="item.count || 0"></span>
+ </div>
+ </div>
+ </el-col>
+ </el-row>
+</template>
+
+<script>
+ export default {
+ name: "index",
+ props: {
+ cardLists: Array
+ },
+ }
+</script>
+
+<style scoped lang="scss">
+.one {
+ background: rgba(24, 144, 255, .1);
+}
+.two {
+ background: rgba(162, 119, 255, .1);
+}
+.three {
+ background: rgba(232, 182, 0, .1);
+}
+.four {
+ background: rgba(27, 190, 107, .1);
+}
+.five {
+ background: rgba(75, 202, 213, .1);
+}
+.six {
+ background: rgba(239, 156, 32, .1);
+}
+ .one1{
+ background: #1890FF;
+ }
+ .two1{
+ background: #A277FF;
+ }
+ .three1{
+ background: #EF9C20;
+ }
+ .four1{
+ background: #1BBE6B;
+ }
+ .five1{
+ background: #4BCAD5;
+ }
+ .six1{
+ background: #EF9C20;
+ }
+ .card_box {
+ width: 100%;
+ height: 110px;
+ display: flex;
+ align-items: center;
+ /*justify-content: center*/
+ padding: 25px;
+ box-sizing: border-box;
+ border-radius: 4px;
+ background: #fff;
+ box-sizing: border-box;
+ .card_box_cir {
+ width: 50px;
+ height: 50px;
+ border-radius: 4px;
+ overflow: hidden;
+ margin-right: 20px;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ }
+ .card_box_txt {
+ .sp1 {
+ display: block;
+ color: #333333;
+ font-size: 28px;
+ padding-top: 3px;
+ font-family: PingFangSC-Semibold, PingFang SC;
+ font-weight: 600;
+ }
+ .sp2 {
+ display: block;
+ color: #606266;
+ font-size: 14px;
+ font-weight: 400;
+ }
+ }
+ }
+ .iconfont{
+ font-size: 23px;
+ }
+</style>
diff --git a/src/components/customerInfo/index.vue b/src/components/customerInfo/index.vue
new file mode 100644
index 0000000..a95fd34
--- /dev/null
+++ b/src/components/customerInfo/index.vue
@@ -0,0 +1,205 @@
+<template>
+ <el-dialog v-model="dialogFormVisible" title="璇烽�夋嫨绠$悊鍛�" append-to-body :visible.sync="dialogFormVisible" width="1200px" @close="cancel">
+ <el-form ref="form" inline :model="artFrom">
+ <el-form-item label="韬唤锛�">
+ <el-select v-model="artFrom.roles" placeholder="璇疯緭鍏ヨ韩浠�" clearable class="selWidth">
+ <el-option
+ v-for="item in roleList.list"
+ :key="item.id"
+ :label="item.roleName"
+ :value="item.id"
+ />
+ </el-select>
+ </el-form-item>
+ <el-form-item label="濮撳悕锛�">
+ <el-input v-model="artFrom.realName" size="small" placeholder="璇疯緭鍏ュ鍚嶆垨鑰呰处鍙�" class="selWidth">
+ <el-button slot="append" icon="el-icon-search" @click="search" class="">鎼滅储</el-button>
+ </el-input>
+ </el-form-item>
+ </el-form>
+ <el-table
+ v-loading="loading"
+ :row-style="{height:'50px'}"
+ :data="tableData"
+ max-height="400px"
+ size="mini"
+ style="width: 100%;">
+ <el-table-column
+ label=""
+ width="55">
+ <template slot-scope="{ row, index }">
+ <el-radio v-model="templateRadio" :label="row.uid" @change.native="getTemplateRow(row)"> </el-radio>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="id"
+ label="ID"
+ sortable
+ width="80">
+ </el-table-column>
+ <el-table-column
+ prop="realName"
+ label="濮撳悕"
+ min-Width="120">
+ </el-table-column>
+ <!--<el-table-column-->
+ <!--label="瀹㈡湇澶村儚"-->
+ <!--min-Width="100">-->
+ <!--<template slot-scope="{ row, index }" class="picMiddle">-->
+ <!--<div class="demo-image__preview">-->
+ <!--<el-image-->
+ <!--:src="row.avatar"-->
+ <!--:preview-src-list="[row.avatar]"-->
+ <!--/>-->
+ <!--</div>-->
+ <!--</template>-->
+ <!--</el-table-column>-->
+ <el-table-column
+ prop="account"
+ label="璐﹀彿"
+ min-Width="120"/>
+ <el-table-column label="韬唤" prop="realName" min-width="230">
+ <template slot-scope="scope">
+ <el-tag size="small" type="info" v-for="(item, index) in scope.row.roleNames.split(',')" :key="index" class="mr5">{{ item }}</el-tag>
+ </template>
+ </el-table-column>
+ <el-table-column label="鏈�鍚庣櫥褰曟椂闂�" prop="lastTime" min-width="180">
+ <template slot-scope="scope">
+ <span>{{ scope.row.lastTime | filterEmpty }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column label="鏈�鍚庣櫥褰旾P" prop="lastIp" min-width="150">
+ <template slot-scope="scope">
+ <span>{{ scope.row.lastIp | filterEmpty }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column label="鐘舵��" prop="status" min-width="100">
+ <template slot-scope="scope">
+ <span>{{ scope.row.status | filterShowOrHide }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column label="鍒犻櫎鏍囪" prop="status" min-width="100">
+ <template slot-scope="scope">
+ <span>{{ scope.row.isDel | filterYesOrNo }}</span>
+ </template>
+ </el-table-column>
+ </el-table>
+ <div class="block">
+ <el-pagination
+ class="mt20"
+ @size-change="sizeChange"
+ @current-change="pageChange"
+ :current-page="artFrom.page"
+ :page-sizes="[20, 40, 60, 100]"
+ :page-size="artFrom.limit"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="total">
+ </el-pagination>
+ </div>
+ </el-dialog>
+</template>
+
+<script>
+ import * as systemAdminApi from '@/api/systemadmin.js'
+ import * as roleApi from '@/api/role.js'
+ export default {
+ name: "index",
+ data(){
+ return {
+ constants: this.$constants,
+ loading:false,
+ templateRadio:'',
+ dialogFormVisible:false,
+ tableData:[],
+ artFrom: {
+ page: 1,
+ limit: 20,
+ status: 1,
+ realName: '',
+ roles: ''
+ },
+ total:0,
+ timeVal:'',
+ roleList: []
+ }
+ },
+ created(){
+ this.handleGetRoleList()
+ },
+ methods:{
+ handleGetRoleList() {
+ const _pram = {
+ page: 1,
+ limit: 9999
+ }
+ roleApi.getRoleList(_pram).then(data => {
+ this.roleList = data
+ })
+ },
+ getTemplateRow(row){
+ this.dialogFormVisible = false;
+ this.$emit("upImgUid", row);
+ },
+ tableList(){
+ this.loading = true;
+ systemAdminApi.adminList( this.artFrom ).then(data => {
+ this.tableData = data.list
+ this.total = data.total
+ this.loading = false;
+ }).catch(() => {
+ this.loading = false;
+ })
+ // let that = this;
+ // that.loading = true;
+ // userListApi(that.artFrom).then(res=>{
+ // that.loading = false;
+ // that.tableData = res.list;
+ // that.total = res.total
+ // })
+ },
+ //鍒囨崲鏄剧ず鏉℃暟
+ sizeChange(index){
+ this.artFrom.limit = index;
+ this.tableList();
+ },
+ //鍒囨崲椤垫暟
+ pageChange(index){
+ this.artFrom.page = index;
+ this.tableList();
+ },
+ onchangeTime(e){
+ this.artFrom.page = 1;
+ if(e!==null){
+ this.artFrom.data = e.join(',');
+ }else {
+ this.artFrom.data = '';
+ }
+ this.tableList();
+ },
+ search(){
+ this.timeVal = '';
+ this.artFrom.page = 1;
+ this.tableList();
+ },
+ cancel(){
+ this.artFrom = {
+ page: 1,
+ limit: 20,
+ data: '',
+ realName: ''
+ };
+ this.timeVal = '';
+ this.templateRadio = ''
+ }
+ }
+ }
+</script>
+
+<style lang="scss">
+ .el-input-group__append, .el-input-group__prepend{
+ background-color:#1890ff!important;
+ color: #fff!important;
+ border-color:#1890ff!important;
+ border-radius: 0 4px 4px 0;
+ }
+</style>
diff --git a/src/components/echarts/index.vue b/src/components/echarts/index.vue
new file mode 100644
index 0000000..f9b9b81
--- /dev/null
+++ b/src/components/echarts/index.vue
@@ -0,0 +1,195 @@
+<template>
+ <div>
+ <div :id="echarts" :style="styles"></div>
+ </div>
+</template>
+
+<script>
+ import echarts from 'echarts';
+
+ export default {
+ name: 'index',
+ props: {
+ // styles: {
+ // type: Object,
+ // default: null
+ // },
+ seriesData: {
+ type: Array,
+ default: () => []
+ },
+ xAxis: {
+ type: Array,
+ default: () => []
+ },
+ echartsTitle: {
+ type: String,
+ default: ''
+ },
+ yAxisData: {
+ type: Array,
+ default: () => []
+ },
+ legendData: {
+ type: Array,
+ default: () => []
+ }
+ },
+ data() {
+ return {
+ styles: 'height:300px',
+ infoLists: this.infoList,
+ seriesArray: this.seriesData
+ }
+ },
+ watch: {
+ seriesData: {
+ handler(newVal, oldVal) {
+ this.seriesArray = newVal;
+ this.handleSetVisitChart();
+ },
+ deep: true // 瀵硅薄鍐呴儴灞炴�х殑鐩戝惉锛屽叧閿��
+ }
+ },
+ computed: {
+ echarts() {
+ return 'echarts' + Math.ceil(Math.random() * 100)
+ }
+ },
+ mounted: function () {
+ const vm = this
+ vm.$nextTick(() => {
+ vm.handleSetVisitChart();
+ window.addEventListener('resize', this.wsFunc)
+ })
+ },
+ methods: {
+ wsFunc() {
+ this.myChart.resize()
+ },
+ handleSetVisitChart() {
+ this.myChart = echarts.init(document.getElementById(this.echarts))
+ let option = null
+ if (this.echartsTitle === 'circle') {
+ option = {
+ tooltip: {
+ trigger: 'item',
+ formatter: '{a} <br/>{b} : {c} ({d}%)'
+ },
+ legend: {
+ orient: 'vertical',
+ left: 'right',
+ data: this.legendData || []
+ },
+ series: [
+ {
+ name: '璁块棶鏉ユ簮',
+ type: 'pie',
+ radius: '70%',
+ center: ['50%', '60%'],
+ data: this.seriesArray || [],
+ emphasis: {
+ itemStyle: {
+ shadowBlur: 10,
+ shadowOffsetX: 0,
+ shadowColor: 'rgba(0, 0, 0, 0.5)'
+ }
+ }
+ }
+ ]
+ };
+ } else {
+ option = {
+ tooltip: {
+ trigger: 'axis'
+ },
+ toolbox: {},
+ legend: {
+ data: this.legendData || []
+ },
+ color: ['#1495EB', '#00CC66', '#F9D249', '#ff9900', '#9860DF'],
+ grid: {
+ left: 16,
+ right: 25,
+ bottom: 10,
+ top: 40,
+ containLabel: true
+ },
+ xAxis: [
+ {
+ type: 'category',
+ axisLine: {
+ lineStyle: {
+ color: '#D7DDE4'
+ }
+ },
+ axisTick: {
+ alignWithLabel: true,
+ lineStyle: {
+ color: '#D7DDE4'
+ }
+ },
+ splitLine: {
+ show: false,
+ lineStyle: {
+ color: '#F5F7F9'
+ }
+ },
+ // axisPointer: {
+ // type: 'shadow'
+ // },
+ axisLabel: {
+ interval: 0,
+ rotate: 40,
+ textStyle: {
+ color: '#7F8B9C'
+ }
+ },
+ data: this.xAxis
+ }
+ ],
+ yAxis: this.yAxisData.length?this.yAxisData:{
+ axisLine: {
+ show: false
+ },
+ axisTick: {
+ show: false
+ },
+ axisLabel: {
+ textStyle: {
+ color: '#7F8B9C'
+ }
+ },
+ splitLine: {
+ show: true,
+ lineStyle: {
+ color: '#F5F7F9'
+ }
+ },
+ type: 'value'
+ },
+ series: this.seriesArray
+ };
+ }
+
+ // 鍩轰簬鍑嗗濂界殑dom锛屽垵濮嬪寲echarts瀹炰緥
+ this.myChart.setOption(option, true)
+ },
+ handleResize() {
+ this.myChart.resize()
+ }
+ },
+ beforeDestroy() {
+ window.removeEventListener('resize', this.wsFunc)
+ if (!this.myChart) {
+ return
+ }
+ this.myChart.dispose()
+ this.myChart = null
+ }
+ }
+</script>
+
+<style scoped>
+
+</style>
diff --git a/src/components/echartsNew/index.vue b/src/components/echartsNew/index.vue
new file mode 100644
index 0000000..1ec4a9c
--- /dev/null
+++ b/src/components/echartsNew/index.vue
@@ -0,0 +1,71 @@
+<template>
+ <div>
+ <div :id="echarts" :style="styles" />
+ </div>
+</template>
+
+<script>
+import echarts from 'echarts'
+export default {
+ name: 'Index',
+ props: {
+ styles: {
+ type: Object,
+ default: null
+ },
+ optionData: {
+ type: Object,
+ default: null
+ }
+ },
+ data() {
+ return {
+ myChart: null
+ }
+ },
+ computed: {
+ echarts() {
+ return 'echarts' + Math.ceil(Math.random() * 100)
+ }
+ },
+ watch: {
+ optionData: {
+ handler(newVal, oldVal) {
+ this.handleSetVisitChart()
+ },
+ deep: true // 瀵硅薄鍐呴儴灞炴�х殑鐩戝惉锛屽叧閿��
+ }
+ },
+ mounted: function() {
+ const vm = this
+ vm.$nextTick(() => {
+ vm.handleSetVisitChart()
+ window.addEventListener('resize', this.wsFunc)
+ })
+ },
+ beforeDestroy() {
+ window.removeEventListener('resize', this.wsFunc)
+ if (!this.myChart) {
+ return
+ }
+ this.myChart.dispose()
+ this.myChart = null
+ },
+ methods: {
+ wsFunc() {
+ this.myChart.resize()
+ },
+ handleSetVisitChart() {
+ this.myChart = echarts.init(document.getElementById(this.echarts))
+ let option = null
+ option = this.optionData
+ // 鍩轰簬鍑嗗濂界殑dom锛屽垵濮嬪寲echarts瀹炰緥
+ this.myChart.setOption(option, true)
+ }
+ }
+}
+</script>
+
+<style scoped>
+
+</style>
diff --git a/src/components/html5qrcode/index.vue b/src/components/html5qrcode/index.vue
new file mode 100644
index 0000000..3ef2485
--- /dev/null
+++ b/src/components/html5qrcode/index.vue
@@ -0,0 +1,96 @@
+<template>
+ <div class="qrcode">
+ <div id="reader"></div>
+ <div class="tipText">灏嗕簩缁寸爜缃簬姝ゅ尯鍩�</div>
+ </div>
+</template>
+
+<script>
+import { Html5Qrcode } from "html5-qrcode";
+export default {
+ created() {
+ this.getCameras();
+ },
+
+ beforeDestroy() {
+ this.stop();
+ },
+ methods: {
+ getCameras() {
+ Html5Qrcode.getCameras()
+ .then((devices) => {
+ if (devices && devices.length) {
+ console.log("Html5Qrcode", devices);
+ this.html5QrCode = new Html5Qrcode("reader");
+ this.start();
+ }
+ })
+ .catch((err) => {
+ // handle err
+ console.log(err);
+ this.html5QrCode = new Html5Qrcode("reader");
+ this.error = "ERROR: 鎮ㄩ渶瑕佹巿浜堢浉鏈鸿闂潈闄�";
+ this.$emit("err", this.error);
+ });
+ },
+ start() {
+ //environment鍚庣疆 user鍓嶇疆
+ this.html5QrCode
+ .start(
+ { facingMode: "environment" },
+ {
+ fps: 10,
+ qrbox: { width: 250, height: 250 },
+ },
+ (decodedText, decodedResult) => {
+ console.log("xxxxxxxxx鎵弿鍒颁簡缁撴灉", decodedText, decodedResult);
+ this.$emit("ok", decodedText);
+ }
+ )
+ .catch((err) => {
+ this.$emit("err", err);
+ });
+ },
+ stop() {
+ this.html5QrCode
+ .stop()
+ .then((ignore) => {
+ // QR Code scanning is stopped.
+ console.log("QR Code scanning stopped.");
+ })
+ .catch((err) => {
+ // Stop failed, handle it.
+ console.log("Unable to stop scanning.");
+ });
+ },
+ },
+};
+</script>
+
+<style lang="scss" scoped>
+.qrcode {
+ position: relative;
+ height: 100%;
+ width: 100%;
+ background: rgba($color: #000000, $alpha: 0.48);
+}
+
+#reader {
+ top: 50%;
+ left: 0;
+ transform: translateY(-50%);
+}
+
+.tipText {
+ position: absolute;
+ left: 50%;
+ top: calc(50% + 165px);
+ transform: translate(-50%, -50%);
+ width: 100%;
+ height: 20px;
+ color: white;
+ font-size: 15px;
+ z-index: 999;
+ text-align: center;
+}
+</style>
diff --git a/src/components/iconFrom/element-icons.js b/src/components/iconFrom/element-icons.js
new file mode 100644
index 0000000..9ea4d63
--- /dev/null
+++ b/src/components/iconFrom/element-icons.js
@@ -0,0 +1,3 @@
+const elementIcons = ['platform-eleme', 'eleme', 'delete-solid', 'delete', 's-tools', 'setting', 'user-solid', 'user', 'phone', 'phone-outline', 'more', 'more-outline', 'star-on', 'star-off', 's-goods', 'goods', 'warning', 'warning-outline', 'question', 'info', 'remove', 'circle-plus', 'success', 'error', 'zoom-in', 'zoom-out', 'remove-outline', 'circle-plus-outline', 'circle-check', 'circle-close', 's-help', 'help', 'minus', 'plus', 'check', 'close', 'picture', 'picture-outline', 'picture-outline-round', 'upload', 'upload2', 'download', 'camera-solid', 'camera', 'video-camera-solid', 'video-camera', 'message-solid', 'bell', 's-cooperation', 's-order', 's-platform', 's-fold', 's-unfold', 's-operation', 's-promotion', 's-home', 's-release', 's-ticket', 's-management', 's-open', 's-shop', 's-marketing', 's-flag', 's-comment', 's-finance', 's-claim', 's-custom', 's-opportunity', 's-data', 's-check', 's-grid', 'menu', 'share', 'd-caret', 'caret-left', 'caret-right', 'caret-bottom', 'caret-top', 'bottom-left', 'bottom-right', 'back', 'right', 'bottom', 'top', 'top-left', 'top-right', 'arrow-left', 'arrow-right', 'arrow-down', 'arrow-up', 'd-arrow-left', 'd-arrow-right', 'video-pause', 'video-play', 'refresh', 'refresh-right', 'refresh-left', 'finished', 'sort', 'sort-up', 'sort-down', 'rank', 'loading', 'view', 'c-scale-to-original', 'date', 'edit', 'edit-outline', 'folder', 'folder-opened', 'folder-add', 'folder-remove', 'folder-delete', 'folder-checked', 'tickets', 'document-remove', 'document-delete', 'document-copy', 'document-checked', 'document', 'document-add', 'printer', 'paperclip', 'takeaway-box', 'search', 'monitor', 'attract', 'mobile', 'scissors', 'umbrella', 'headset', 'brush', 'mouse', 'coordinate', 'magic-stick', 'reading', 'data-line', 'data-board', 'pie-chart', 'data-analysis', 'collection-tag', 'film', 'suitcase', 'suitcase-1', 'receiving', 'collection', 'files', 'notebook-1', 'notebook-2', 'toilet-paper', 'office-building', 'school', 'table-lamp', 'house', 'no-smoking', 'smoking', 'shopping-cart-full', 'shopping-cart-1', 'shopping-cart-2', 'shopping-bag-1', 'shopping-bag-2', 'sold-out', 'sell', 'present', 'box', 'bank-card', 'money', 'coin', 'wallet', 'discount', 'price-tag', 'news', 'guide', 'male', 'female', 'thumb', 'cpu', 'link', 'connection', 'open', 'turn-off', 'set-up', 'chat-round', 'chat-line-round', 'chat-square', 'chat-dot-round', 'chat-dot-square', 'chat-line-square', 'message', 'postcard', 'position', 'turn-off-microphone', 'microphone', 'close-notification', 'bangzhu', 'time', 'odometer', 'crop', 'aim', 'switch-button', 'full-screen', 'copy-document', 'mic', 'stopwatch', 'medal-1', 'medal', 'trophy', 'trophy-1', 'first-aid-kit', 'discover', 'place', 'location', 'location-outline', 'location-information', 'add-location', 'delete-location', 'map-location', 'alarm-clock', 'timer', 'watch-1', 'watch', 'lock', 'unlock', 'key', 'service', 'mobile-phone', 'bicycle', 'truck', 'ship', 'basketball', 'football', 'soccer', 'baseball', 'wind-power', 'light-rain', 'lightning', 'heavy-rain', 'sunrise', 'sunrise-1', 'sunset', 'sunny', 'cloudy', 'partly-cloudy', 'cloudy-and-sunny', 'moon', 'moon-night', 'dish', 'dish-1', 'food', 'chicken', 'fork-spoon', 'knife-fork', 'burger', 'tableware', 'sugar', 'dessert', 'ice-cream', 'hot-water', 'water-cup', 'coffee-cup', 'cold-drink', 'goblet', 'goblet-full', 'goblet-square', 'goblet-square-full', 'refrigerator', 'grape', 'watermelon', 'cherry', 'apple', 'pear', 'orange', 'coffee', 'ice-tea', 'ice-drink', 'milk-tea', 'potato-strips', 'lollipop', 'ice-cream-square', 'ice-cream-round']
+
+export default elementIcons
diff --git a/src/components/iconFrom/index.vue b/src/components/iconFrom/index.vue
new file mode 100644
index 0000000..282b5ba
--- /dev/null
+++ b/src/components/iconFrom/index.vue
@@ -0,0 +1,106 @@
+<template>
+ <div class="iconBox">
+ <el-input
+ ref="search"
+ v-model="iconVal"
+ placeholder="杈撳叆鍏抽敭璇嶆悳绱�,娉ㄦ剰鍏ㄦ槸鑻辨枃"
+ clearable
+ style="width: 300px"
+ @input="upIcon(iconVal)"
+ />
+ <div class="icons-container">
+ <div class="grid">
+ <div
+ v-for="item of list"
+ :key="item"
+ @click="handleClipboard(generateElementIconCode(item),$event,item)"
+ >
+ <el-tooltip placement="top">
+ <div slot="content">
+ {{ generateElementIconCode(item) }}
+ </div>
+ <div class="icon-item">
+ <i :class="'el-icon-' + item" />
+ <span>{{ item }}</span>
+ </div>
+ </el-tooltip>
+ </div>
+ </div>
+ </div>
+ </div>
+</template>
+
+<script>
+import elementIcons from './element-icons'
+
+export default {
+ name: 'Index',
+ data() {
+ return {
+ elementIcons,
+ iconVal: '',
+ modals2: false,
+ list: []
+ }
+ },
+ mounted() {
+ this.list = this.elementIcons
+ },
+ methods: {
+ generateElementIconCode(symbol) {
+ return `<i class="el-icon-${symbol}" />`
+ },
+ handleClipboard(text, event, n) {
+ this.iconChange(n)
+ // clipboard(text, event)
+ },
+ // 鎼滅储
+ upIcon(n) {
+ const arrs = []
+ for (var i = 0; i < this.elementIcons.length; i++) {
+ if (this.elementIcons[i].indexOf(n) !== -1) {
+ arrs.push(this.elementIcons[i])
+ this.list = arrs
+ }
+ }
+ },
+ iconChange(n) {
+ this.$emit('getIcon', n)
+ this.$msgbox.close()
+ }
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ .icons-container {
+ margin: 10px 20px 0;
+ overflow: hidden;
+
+ .grid {
+ position: relative;
+ display: grid;
+ grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
+ }
+
+ .icon-item {
+ margin: 10px 20px;
+ text-align: center;
+ width: 100px;
+ float: left;
+ font-size: 30px;
+ color: #24292e;
+ cursor: pointer;
+ }
+
+ span {
+ display: block;
+ font-size: 16px;
+ margin-top: 10px;
+ }
+
+ .disabled {
+ pointer-events: none;
+ }
+ }
+</style>
diff --git a/src/components/qrcode/index.vue b/src/components/qrcode/index.vue
new file mode 100644
index 0000000..ffe482c
--- /dev/null
+++ b/src/components/qrcode/index.vue
@@ -0,0 +1,79 @@
+<template>
+ <div class="qrcode-box">
+ <div class="qrcode" ref="qrCodeUrl" alt=""></div>
+ <div class="code" :class="isRed?'red':''">{{ showText }}</div>
+ </div>
+</template>
+
+<script>
+import QRCode from "qrcodejs2";
+
+export default {
+ name: "qrcode",
+ props: {
+ size: {
+ type: Number,
+ default: 300
+ },
+ qrUrl: {
+ type: String,
+ default: ""
+ },
+ showText: {
+ type: String,
+ default: ""
+ },
+ isRed: {
+ type: Boolean,
+ default: false
+ }
+ },
+ data() {
+ return {
+ myChart: null
+ };
+ },
+ computed: {},
+ mounted: function() {
+ this.creatQrCode();
+ },
+ beforeDestroy() {},
+ methods: {
+ creatQrCode() {
+ var qrcode = new QRCode(this.$refs.qrCodeUrl, {
+ text: this.qrUrl, // 闇�瑕佽浆鎹负浜岀淮鐮佺殑鍐呭
+ width: this.size,
+ height: this.size,
+ colorDark: "#000000",
+ colorLight: "#ffffff",
+ correctLevel: QRCode.CorrectLevel.H
+ });
+ }
+ }
+};
+</script>
+
+<style scoped>
+.qrcode-box {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ background: #fff;
+ width: 100%;
+ height: 100%;
+}
+.qrcode {
+ width: 100%;
+ height: 100%;
+ display: block;
+}
+.code {
+ text-align: center;
+ font-size: 24px;
+ margin-top: 10px;
+}
+.red {
+ color: red;
+ font-size: 12px;
+}
+</style>
diff --git a/src/components/uploadPicture/forGenrator/index.vue b/src/components/uploadPicture/forGenrator/index.vue
new file mode 100644
index 0000000..c75211a
--- /dev/null
+++ b/src/components/uploadPicture/forGenrator/index.vue
@@ -0,0 +1,149 @@
+<template>
+ <div>
+ <div class="acea-row" v-if="multiple">
+ <div
+ v-for="(item,index) in imageList"
+ :key="index"
+ class="pictrue"
+ draggable="false"
+ @dragstart="handleDragStart($event, item)"
+ @dragover.prevent="handleDragOver($event, item)"
+ @dragenter="handleDragEnter($event, item)"
+ @dragend="handleDragEnd($event, item)"
+ >
+ <img :src="item.sattDir">
+ <i class="el-icon-error btndel" @click="handleRemove(index)" />
+ </div>
+ <div class="upLoadPicBox" @click="modalPicTap('2')" v-show="imageList.length<20">
+ <div class="upLoad">
+ <i class="el-icon-camera cameraIconfont" />
+ </div>
+ </div>
+ </div>
+ <div class="upLoadPicBox" @click="modalPicTap('1')" v-else>
+ <div v-if="image" class="pictrue"><img :src="image"></div>
+ <div v-else class="upLoad">
+ <i class="el-icon-camera cameraIconfont" />
+ </div>
+ </div>
+ <el-dialog
+ title="涓婁紶鍥剧墖"
+ :visible.sync="visible"
+ width="896px"
+ :before-close="handleClose"
+ :modal="false"
+ >
+ <upload-index v-if="visible" :checkedMore="imageList" :isMore="isMore" @getImage="getImage" />
+ </el-dialog>
+ </div>
+</template>
+
+<script>
+import UploadIndex from '@/components/uploadPicture/index.vue'
+export default {
+ name: 'UploadFroms',
+ components: { UploadIndex },
+ props:{
+ value:{},
+ multiple:{
+ type: Boolean,
+ default: false
+ }
+ },
+ data() {
+ return {
+ image:"",
+ visible: false,
+ callback: function() {},
+ isMore: '',
+ imageList: []
+ }
+ },
+ beforeMount(){
+ if( this.multiple ){
+ // 鎺ユ敹 v-model 鏁版嵁
+ if(this.value){
+ this.imageList = JSON.parse(this.value)
+ }
+ }else{
+ // 鎺ユ敹 v-model 鏁版嵁
+ if(this.value){
+ this.image = this.value
+ }
+ }
+ // 澶勭悊澶氶��
+ this.isMore = this.multiple ? '2':'1'
+ },
+ methods: {
+ handleClose() {
+ this.visible = false
+ },
+ getImage(img) {
+ if (this.multiple) {
+ let obj = {};
+ this.imageList = img.reduce((cur,next) => {
+ obj[next.attId] ? "" : obj[next.attId] = true && cur.push(next);
+ return cur;
+ },[])
+ this.$emit('input', JSON.stringify(this.imageList))
+ } else {
+ this.image = img[0].sattDir
+ this.$emit('input', this.image)
+ }
+ this.visible = false
+ },
+ // 鐐瑰嚮鍟嗗搧鍥�
+ modalPicTap (tit, num, i) {
+ this.visible = true
+ },
+ handleRemove (i) {
+ this.imageList.splice(i, 1)
+ this.$emit('input', JSON.stringify(this.imageList))
+ },
+ // 绉诲姩
+ handleDragStart (e, item) {
+ this.dragging = item;
+ },
+ handleDragEnd (e, item) {
+ this.dragging = null
+ },
+ handleDragOver (e) {
+ e.dataTransfer.dropEffect = 'move'
+ },
+ handleDragEnter (e, item) {
+ e.dataTransfer.effectAllowed = 'move'
+ if (item === this.dragging) {
+ return
+ }
+ const newItems = [...this.imageList]
+ const src = newItems.indexOf(this.dragging)
+ const dst = newItems.indexOf(item)
+ newItems.splice(dst, 0, ...newItems.splice(src, 1))
+ this.imageList = newItems;
+ }
+ }
+}
+</script>
+
+<style scoped lang="scss">
+ .btndel{
+ position: absolute;
+ z-index: 1;
+ width :20px !important;
+ height: 20px !important;
+ left: 46px;
+ top: -4px;
+ }
+ .pictrue{
+ width: 60px;
+ height: 60px;
+ border: 1px dotted rgba(0,0,0,0.1);
+ margin-right: 10px;
+ position: relative;
+ cursor: pointer;
+ img{
+ width: 100%;
+ height: 100%;
+ }
+ }
+</style>
diff --git a/src/components/uploadPicture/index.vue b/src/components/uploadPicture/index.vue
new file mode 100644
index 0000000..c134f11
--- /dev/null
+++ b/src/components/uploadPicture/index.vue
@@ -0,0 +1,938 @@
+ <template>
+ <div>
+ <el-row :gutter="30">
+ <el-col v-bind="grid">
+ <div class="Nav">
+ <div class="input">
+ <el-input
+ v-model="filterText"
+ placeholder="閫夋嫨鍒嗙被"
+ prefix-icon="el-icon-search"
+ style="width: 100%"
+ clearable
+ />
+ </div>
+ <div class="trees-coadd">
+ <div class="scollhide">
+ <div
+ class="trees"
+ :style="{ maxHeight: !pictureType ? '300px' : '700px' }"
+ >
+ <el-tree
+ ref="tree"
+ :data="treeData2"
+ :filter-node-method="filterNode"
+ :props="defaultProps"
+ highlight-current
+ >
+ <div
+ slot-scope="{ node, data }"
+ class="custom-tree-node"
+ @click.stop="handleNodeClick(data)"
+ >
+ <div>
+ <span
+ class="custom-tree-node-label"
+ :title="node.label"
+ >{{ node.label }}</span
+ >
+ <span
+ v-if="data.space_property_name"
+ style="font-size: 11px; color: #3889b1"
+ >锛坽{ data.name }}锛�</span
+ >
+ </div>
+ <span class="el-ic">
+ <el-dropdown>
+ <span class="el-dropdown-link">
+ <i class="el-icon-more"></i>
+ </span>
+ <el-dropdown-menu slot="dropdown">
+ <el-dropdown-item
+ @click.native="onAdd(data.id)"
+ v-if="checkPermi(['admin:category:save'])"
+ >娣诲姞鍒嗙被</el-dropdown-item
+ >
+ <el-dropdown-item
+ v-if="
+ node.label !== '鍏ㄩ儴鍥剧墖' &&
+ checkPermi(['admin:category:update'])
+ "
+ @click.native="onEdit(data.id)"
+ >缂栬緫鍒嗙被</el-dropdown-item
+ >
+ <el-dropdown-item
+ v-if="
+ node.label !== '鍏ㄩ儴鍥剧墖' &&
+ checkPermi(['admin:category:delete'])
+ "
+ @click.native="handleDelete(data.id)"
+ >鍒犻櫎鍒嗙被</el-dropdown-item
+ >
+ </el-dropdown-menu>
+ </el-dropdown>
+ </span>
+ </div>
+ </el-tree>
+ </div>
+ </div>
+ </div>
+ </div>
+ </el-col>
+ <el-col v-bind="grid2" class="colLeft">
+ <div class="conter mb15 relative">
+ <div class="bnt">
+ <el-button
+ v-if="!pictureType"
+ size="small"
+ type="primary"
+ class="mr15 mb20"
+ @click="checkPics"
+ >浣跨敤閫変腑鍥剧墖</el-button
+ >
+ <div class="mb20">
+ <el-tooltip
+ class="item"
+ effect="dark"
+ content="涓婁紶鍥剧墖"
+ placement="top-start"
+ >
+ <el-upload
+ class="upload-demo"
+ action
+ :http-request="handleUploadForm"
+ :on-change="imgSaveToUrl"
+ :headers="myHeaders"
+ :show-file-list="false"
+ multiple
+ >
+ <el-button
+ icon="el-icon-upload2"
+ size="small"
+ class="mr15"
+ v-if="!pictureType"
+ ></el-button>
+ </el-upload>
+ </el-tooltip>
+ <el-tooltip
+ class="item"
+ effect="dark"
+ content="鍒犻櫎鍥剧墖"
+ placement="top-start"
+ >
+ <el-button
+ icon="el-icon-delete"
+ class="mr15"
+ type="danger"
+ size="small"
+ @click.stop="editPicList('鍥剧墖')"
+ v-hasPermi="['admin:system:attachment:delete']"
+ v-if="!pictureType"
+ ></el-button>
+ </el-tooltip>
+ </div>
+ <el-upload
+ class="upload-demo"
+ action
+ :http-request="handleUploadForm"
+ :on-change="imgSaveToUrl"
+ :headers="myHeaders"
+ :show-file-list="false"
+ multiple
+ >
+ <el-button class="mr10" type="primary" v-if="pictureType"
+ >涓婁紶鍥剧墖</el-button
+ >
+ </el-upload>
+ <div>
+ <el-button
+ class="mr10"
+ type="danger"
+ @click.stop="editPicList('鍥剧墖')"
+ v-if="pictureType"
+ >鍒犻櫎鍥剧墖</el-button
+ >
+ </div>
+ <el-select
+ v-model="sleOptions.attachment_category_name"
+ placeholder="鍥剧墖绉诲姩鑷�"
+ class="mb20"
+ :size="pictureType ? '' : 'small'"
+ >
+ <el-option
+ class="demo"
+ :label="sleOptions.attachment_category_name"
+ :value="sleOptions.attachment_category_id"
+ style="
+ max-width: 560px;
+ height: 200px;
+ overflow: auto;
+ background-color: #fff;">
+ <el-tree
+ ref="tree2"
+ :data="treeData2"
+ :filter-node-method="filterNode"
+ :props="defaultProps"
+ highlight-current
+ @node-click="handleSelClick"
+ />
+ </el-option>
+ </el-select>
+ <div class="abs_video">
+ <el-radio-group v-model="typeDate" @change="radioChange" size="small">
+ <el-radio-button label="pic">鍥剧墖</el-radio-button>
+ <el-radio-button label="video">瑙嗛</el-radio-button>
+ </el-radio-group>
+ </div>
+ </div>
+ <div class="pictrueList acea-row" v-loading="loadingPic">
+ <div v-show="isShowPic" class="imagesNo">
+ <i
+ class="el-icon-picture"
+ style="font-size: 60px; color: rgb(219, 219, 219)"
+ />
+ <span class="imagesNo_sp">鍥剧墖搴撲负绌�</span>
+ </div>
+ <div
+ class="conters scrollbarAll"
+ :style="{ maxHeight: !pictureType ? '500px' : '700px' }"
+ >
+ <div
+ v-for="(item, index) in pictrueList.list"
+ :key="index"
+ class="gridPic"
+ >
+ <span class="num_badge" v-if="item.num > 0">{{item.num}}</span>
+ <img
+ style="object-fit: contain;"
+ v-lazy="item.sattDir ? item.sattDir : localImg"
+ :class="item.isSelect ? 'on' : ''"
+ @click="changImage(item, index, pictrueList.list)"
+ v-if="item.attType !== 'video/mp4'"
+ />
+ <video
+ :src="item.sattDir"
+ :class="item.isSelect ? 'on' : ''"
+ @click="changImage(item, index, pictrueList.list)"
+ v-if="item.attType == 'video/mp4'"
+ ></video>
+ </div>
+ </div>
+ </div>
+ </div>
+ <div class="block">
+ <el-pagination
+ :page-sizes="!pictureType ? [10, 20, 30, 40] : [30, 60, 90, 120]"
+ :page-size="tableData.limit"
+ :current-page="tableData.page"
+ :pager-count="5"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="pictrueList.total"
+ @size-change="handleSizeChange"
+ @current-change="pageChange"
+ />
+ </div>
+ </el-col>
+ </el-row>
+ <el-dialog
+ :title="bizTitle"
+ :visible.sync="visible"
+ destroy-on-close
+ :close-on-click-modal="false"
+ :modal="modals"
+ @close="closeModel"
+ >
+ <el-form
+ ref="editPram"
+ :model="editPram"
+ label-width="100px"
+ v-loading="loading"
+ >
+ <el-form-item
+ label="涓婄骇鍒嗙被"
+ prop="pid"
+ :rules="[
+ {
+ type: 'number',
+ required: true,
+ message: '璇烽�夋嫨涓婄骇鍒嗙被',
+ trigger: ['blur', 'change'],
+ },
+ ]"
+ >
+ <el-cascader
+ v-model="editPram.pid"
+ :options="treeData2"
+ :props="categoryProps"
+ style="width: 100%"
+ />
+ </el-form-item>
+ <el-form-item
+ label="鍒嗙被鍚嶇О"
+ prop="name"
+ :rules="[
+ {
+ required: true,
+ message: '璇疯緭鍏ュ垎绫诲悕绉�',
+ trigger: ['blur', 'change'],
+ },
+ ]"
+ >
+ <el-input v-model="editPram.name" placeholder="鍒嗙被鍚嶇О" />
+ </el-form-item>
+ <el-form-item label="鎺掑簭">
+ <el-input-number v-model="editPram.sort" />
+ </el-form-item>
+ <el-form-item>
+ <el-button type="primary" @click="handlerSubmit('editPram')"
+ >纭畾</el-button
+ >
+ </el-form-item>
+ </el-form>
+ </el-dialog>
+ </div>
+</template>
+
+<script>
+import {
+ addCategroy,
+ listCategroy,
+ treeCategroy,
+ infoCategroy,
+ updateCategroy,
+ deleteCategroy,
+} from "@/api/categoryApi";
+import {
+ fileImageApi,
+ fileListApi,
+ fileDeleteApi,
+ attachmentMoveApi,
+} from "@/api/systemSetting";
+import { getToken } from "@/utils/auth";
+import { checkPermi } from "@/utils/permission"; // 鏉冮檺鍒ゆ柇鍑芥暟
+export default {
+ name: "Upload",
+ props: {
+ pictureType: {
+ type: String,
+ default: "",
+ },
+ isMore: {
+ type: String,
+ default: "1",
+ },
+ modelName: {
+ type: String,
+ default: "",
+ },
+ checkedMore: {
+ type: Array,
+ default: () => [],
+ },
+ },
+ data() {
+ return {
+ loadingPic: false,
+ loading: false,
+ modals: false,
+ allTreeList: [],
+ categoryProps: {
+ value: "id",
+ label: "name",
+ children: "child",
+ expandTrigger: "hover",
+ checkStrictly: true,
+ emitPath: false,
+ },
+ editPram: {
+ pid: 1000,
+ name: "",
+ type: 2,
+ sort: 1,
+ status: 0,
+ url: "url",
+ id: 0,
+ },
+ visible: false,
+ bizTitle: "",
+ sleOptions: {
+ attrId: "",
+ pid: "",
+ },
+ list: [],
+ grid: {
+ xl: 7,
+ lg: 7,
+ md: 7,
+ sm: 7,
+ xs: 24,
+ },
+ grid2: {
+ xl: 17,
+ lg: 17,
+ md: 17,
+ sm: 17,
+ xs: 24,
+ },
+ filterText: "",
+ treeData: [],
+ treeData2: [],
+ defaultProps: {
+ children: "child",
+ label: "name",
+ },
+ tableData: {
+ page: 1,
+ limit: 10,
+ pid: 0,
+ attType: "jpg,jpeg,gif,png,bmp,PNG,JPG",
+ },
+ classifyId: 0,
+ myHeaders: { "X-Token": getToken() },
+ treeFrom: {
+ status: -1,
+ type: 2,
+ },
+ pictrueList: {
+ list: [],
+ total: 0,
+ },
+ isShowPic: false,
+ checkPicList: [],
+ ids: [],
+ listPram: {
+ pid: 0,
+ type: 2,
+ status: 0,
+ name: "",
+ page: 1,
+ limit: 9999,
+ },
+ localImg: "",
+ videoStatus: false,
+ typeDate:"pic",
+ };
+ },
+ watch: {
+ filterText(val) {
+ this.$refs.tree.filter(val);
+ },
+ },
+ mounted() {
+ this.pictureType
+ ? (this.tableData.limit = 30)
+ : (this.tableData.limit = 10);
+ if (this.$route && this.$route.query.field === "dialog")
+ import("./internal.js");
+ this.getList();
+ this.getFileList();
+ // this.handlerGetList()
+ },
+ methods: {
+ checkPermi,
+ // 閫夊彇鍥剧墖鍚庤嚜鍔ㄥ洖璋冿紝閲岄潰鍙互鑾峰彇鍒版枃浠�
+ imgSaveToUrl(event) {
+ // 涔熷彲浠ョ敤file
+ this.localFile = event.raw; // 鎴栬�� this.localFile=file.raw
+
+ // 杞崲鎿嶄綔鍙互涓嶆斁鍒拌繖涓嚱鏁伴噷闈紝
+ // 鍥犱负杩欎釜鍑芥暟浼氳澶氭瑙﹀彂锛屼笂浼犳椂瑙﹀彂锛屼笂浼犳垚鍔熶篃瑙﹀彂
+ let reader = new FileReader();
+ reader.readAsDataURL(this.localFile); // 杩欓噷涔熷彲浠ョ洿鎺ュ啓鍙傛暟event.raw
+
+ // 杞崲鎴愬姛鍚庣殑鎿嶄綔锛宺eader.result鍗充负杞崲鍚庣殑DataURL 锛�
+ // 瀹冧笉闇�瑕佽嚜宸卞畾涔夛紝浣犲彲浠onsole.integralLog(reader.result)鐪嬩竴涓�
+ reader.onload = () => {
+ // console.integralLog(reader.result)
+ };
+
+ /* 鍙﹀涓�绉嶆湰鍦伴瑙堟柟娉� */
+ let URL = window.URL || window.webkitURL;
+ this.localImg = URL.createObjectURL(event.raw);
+ // 杞崲鍚庣殑鍦板潃涓� blob:http://xxx/7bf54338-74bb-47b9-9a7f-7a7093c716b5
+ },
+ closeModel() {
+ this.$refs["editPram"].resetFields();
+ },
+ handlerSubmit(formName) {
+ this.$refs[formName].validate((valid) => {
+ if (valid) {
+ if (this.editPram.pid == 10000) this.editPram.pid = 0;
+ this.bizTitle === "娣诲姞鍒嗙被"
+ ? addCategroy(this.editPram).then((data) => {
+ this.$message.success("鍒涘缓鎴愬姛");
+ this.visible = false;
+ this.getList();
+ })
+ : updateCategroy(this.editPram).then((data) => {
+ this.$message.success("缂栬緫鎴愬姛");
+ this.visible = false;
+ this.getList();
+ });
+ } else {
+ return false;
+ }
+ });
+ },
+ // 琛ㄥ崟鍒嗙被
+ handlerGetList() {
+ let datas = {
+ name: "鍏ㄩ儴鍥剧墖",
+ id: "",
+ };
+ treeCategroy(this.treeFrom).then((data) => {
+ this.allTreeList = data;
+ this.allTreeLis.unshift(datas);
+ });
+ },
+ // 鎼滅储鍒嗙被
+ filterNode(value, data) {
+ if (!value) return true;
+ return data.name.indexOf(value) !== -1;
+ },
+ // 鎵�鏈夊垎绫�
+ getList() {
+ const data = {
+ name: "鍏ㄩ儴鍥剧墖",
+ id: 10000,
+ };
+ treeCategroy(this.treeFrom).then((res) => {
+ this.treeData = res;
+ this.treeData.unshift(data);
+ this.treeData2 = [...this.treeData];
+ });
+ },
+ // 娣诲姞鍒嗙被
+ onAdd(id) {
+ this.tableData.pid = id;
+ if (this.tableData.pid === 10000) this.tableData.pid = 0;
+ this.bizTitle = "娣诲姞鍒嗙被";
+ this.visible = true;
+ if (id)
+ this.editPram = {
+ pid: id,
+ name: "",
+ type: 2,
+ sort: 1,
+ status: 0,
+ url: "url",
+ id: 0,
+ };
+ },
+ // 缂栬緫
+ onEdit(id) {
+ if (id === 10000) id = 0;
+ this.bizTitle = "缂栬緫鍒嗙被";
+ this.loading = true;
+ infoCategroy({ id: id }).then((res) => {
+ this.editPram = res;
+ this.loading = false;
+ });
+ this.visible = true;
+ },
+ // 鍒犻櫎
+ handleDelete(id) {
+ if (id === 10000) id = 0;
+ this.$modalSure().then(() => {
+ deleteCategroy({ id: id }).then(() => {
+ this.$message.success("鍒犻櫎鎴愬姛");
+ this.getList();
+ });
+ });
+ },
+ handleNodeClick(data) {
+ this.checkPicList = [];
+ this.tableData.pid = data.id;
+ this.getFileList();
+ },
+ // 涓婁紶
+ handleUploadForm(param) {
+ const formData = new FormData();
+ const data = {
+ model: this.modelName ? this.modelName : this.$route.path.split("/")[1],
+ pid: this.tableData.pid,
+ };
+ formData.append("multipart", param.file);
+ let loading = this.$loading({
+ lock: true,
+ text: "涓婁紶涓紝璇风◢鍊�...",
+ spinner: "el-icon-loading",
+ background: "rgba(0, 0, 0, 0.7)",
+ });
+ fileImageApi(formData, data)
+ .then((res) => {
+ loading.close();
+ this.$message.success("涓婁紶鎴愬姛");
+ this.tableData.page = 1;
+ this.getFileList();
+ })
+ .catch((res) => {
+ loading.close();
+ });
+ },
+ // 鏂囦欢鍒楄〃
+ getFileList() {
+ if (this.tableData.pid === 10000) this.tableData.pid = 0;
+ this.loadingPic = true;
+ fileListApi(this.tableData)
+ .then(async (res) => {
+ this.pictrueList.list = res.list;
+ if (this.tableData.page === 1 && this.pictrueList.list.length > 0)
+ this.pictrueList.list[0].localImg = this.localImg;
+ if (this.pictrueList.list.length) {
+ this.isShowPic = false;
+ } else {
+ this.isShowPic = true;
+ }
+ this.pictrueList.total = res.total;
+ this.loadingPic = false;
+ })
+ .catch(() => {
+ this.loadingPic = false;
+ });
+ },
+ pageChange(page) {
+ this.tableData.page = page;
+ this.checkPicList = [];
+ this.getFileList();
+ },
+ handleSizeChange(val) {
+ this.tableData.limit = val;
+ this.getFileList();
+ },
+ // 閫変腑鍥剧墖
+ changImage(item, index, row) {
+ let activeIndex = 0;
+ if (!item.isSelect) {
+ this.$set(item, "isSelect", true);
+ this.checkPicList.push(item);
+ } else {
+ this.$set(item, "isSelect", !item.isSelect);
+ this.checkPicList.map((el, index) => {
+ if (el.attId == item.attId) {
+ activeIndex = index;
+ }
+ });
+ this.checkPicList.splice(activeIndex, 1);
+ }
+ this.ids = [];
+ this.checkPicList.map((item, i) => {
+ this.ids.push(item.attId);
+ });
+
+ this.pictrueList.list.map((el, i) => {
+ if (el.isSelect) {
+ this.checkPicList.filter((el2, j) => {
+ if (el.attId == el2.attId) {
+ el.num = j + 1;
+ this.$nextTick(() => {
+ this.pictrueList.list;
+ });
+ }
+ });
+ } else {
+ el.num = 0;
+ }
+ });
+ },
+ // 鐐瑰嚮浣跨敤閫変腑鍥剧墖
+ checkPics() {
+ if (!this.checkPicList.length)
+ return this.$message.warning("璇峰厛閫夋嫨鍥剧墖");
+ if (this.$route && this.$route.query.field === "dialog") {
+ let str = "";
+ for (let i = 0; i < this.checkPicList.length; i++) {
+ str += '<img src="' + this.checkPicList[i].sattDir + '">';
+ }
+ /* eslint-disable */
+ nowEditor.dialog.close(true);
+ nowEditor.editor.setContent(str, true);
+ } else {
+ if (this.isMore === "1" && this.checkPicList.length > 1) {
+ return this.$message.warning("鏈�澶氬彧鑳介�変竴寮犲浘鐗�");
+ }
+
+ this.$emit("getImage", [...this.checkedMore, ...this.checkPicList]);
+ }
+ },
+ // 鍒犻櫎鍥剧墖
+ editPicList(tit) {
+ if (!this.checkPicList.length)
+ return this.$message.warning("璇峰厛閫夋嫨鍥剧墖");
+ this.$modalSure().then(() => {
+ fileDeleteApi(this.ids.join(",")).then(() => {
+ this.$message.success("鍒櫎鎴愬姛");
+ this.getFileList();
+ this.checkPicList = [];
+ });
+ });
+ },
+ // 绉诲姩鍒嗙被鐐瑰嚮
+ handleSelClick(node) {
+ if (this.ids.length) {
+ this.sleOptions = {
+ attrId: this.ids.join(","),
+ pid: node.id,
+ };
+ this.getMove();
+ } else {
+ this.$message.warning("璇峰厛閫夋嫨鍥剧墖");
+ }
+ },
+ getMove() {
+ attachmentMoveApi(this.sleOptions)
+ .then(async (res) => {
+ this.$message.success("鎿嶄綔鎴愬姛");
+ this.clearBoth();
+ this.getFileList();
+ })
+ .catch((res) => {
+ this.clearBoth();
+ });
+ },
+ clearBoth() {
+ this.sleOptions = {
+ attrId: "",
+ pid: "",
+ };
+ this.checkPicList = [];
+ this.ids = [];
+ },
+ videoChange(val) {
+ if (val == false) {
+ this.$set(this.tableData, "attType", "jpg,jpeg,gif,png,bmp,PNG,JPG");
+ this.getFileList();
+ } else {
+ this.$set(this.tableData, "attType", "video/mp4");
+ this.getFileList();
+ }
+ },
+ radioChange(val){
+ if(val === 'video'){
+ this.videoChange(true)
+ }else{
+ this.videoChange(false)
+ }
+ }
+ },
+};
+</script>
+
+<style scoped lang="scss">
+.demo::-webkit-scrollbar {
+ display: none; /* Chrome Safari */
+}
+
+.demo {
+ scrollbar-width: none; /* firefox */
+ -ms-overflow-style: none; /* IE 10+ */
+ overflow-x: hidden;
+ overflow-y: auto;
+}
+.temp {
+ height: 0;
+ margin-bottom: 0;
+ border: none;
+ padding: 0;
+}
+.selectTreeClass {
+ background: #d5e8fc;
+}
+.treeBox {
+ width: 100%;
+ height: 100%;
+}
+.upload-demo {
+ display: inline-block !important;
+ float: left;
+}
+.tree_w {
+ padding: 20px 30px;
+}
+.custom-tree-node {
+ flex: 1;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ font-size: 12px;
+ padding-right: 8px;
+ color: #4386c6;
+}
+.custom-tree-node-label {
+ display: block;
+ width: 125px;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+}
+.el-ic {
+ display: none;
+ i,
+ span {
+ /*padding: 0 14px;*/
+ font-size: 18px;
+ font-weight: 600;
+ }
+ .svg-icon {
+ color: #4386c6;
+ }
+}
+.el-tree-node__content {
+ height: 38px;
+}
+.el-tree-node__expand-icon {
+ color: #428bca;
+ /*padding: 10px 10px 0px 10px !important;*/
+}
+.el-tree-node__content:hover .el-ic {
+ color: #428bca !important;
+ display: inline-block;
+}
+.el-tree-node__content:hover {
+ font-weight: bold;
+}
+.el-tree--highlight-current
+ .el-tree-node.is-current
+ > .el-tree-node__content
+ :hover {
+ .el-tree-node__expand-icon.is-leaf {
+ color: transparent;
+ cursor: default;
+ }
+ /*background-color: #3998d9;*/
+ .custom-tree-node {
+ font-weight: bold;
+ }
+ .el-tree-node__expand-icon {
+ font-weight: bold;
+ }
+}
+.el-dialog__body {
+ .upload-container .image-preview .image-preview-wrapper img {
+ height: 100px;
+ }
+ .el-dialog .el-collapse-item__wrap {
+ padding-top: 0px;
+ }
+ .spatial_img {
+ .el-collapse-item__wrap {
+ margin-bottom: 0;
+ padding-top: 0px;
+ }
+ }
+ .upload-container .image-preview .image-preview-wrapper {
+ width: 120px;
+ }
+ .upload-container .image-preview .image-preview-action {
+ line-height: 100px;
+ height: 100px;
+ }
+}
+.trees-coadd {
+ width: 100%;
+ border-radius: 4px;
+ overflow: hidden;
+ position: relative;
+ .scollhide {
+ overflow-x: hidden;
+ overflow-y: scroll;
+ padding: 10px 0 10px 0;
+ box-sizing: border-box;
+ .trees {
+ width: 100%;
+ }
+ }
+ .scollhide::-webkit-scrollbar {
+ display: none;
+ }
+}
+.conters {
+ display: flex;
+ flex-wrap: wrap;
+ /*max-height: 296px;*/
+ overflow: auto;
+}
+.conters:after {
+ content: "";
+ width: 410px !important;
+}
+.gridPic {
+ margin-right: 15px;
+ margin-bottom: 10px;
+ width: 110px;
+ height: 110px;
+ position: relative;
+ cursor: pointer;
+ img {
+ width: 100%;
+ height: 100%;
+ display: block;
+ }
+ video {
+ width: 100%;
+ height: 100%;
+ display: block;
+ }
+ .num_badge {
+ position: absolute;
+ bottom: 6px;
+ right: 6px;
+ display: inline-block;
+ min-width: 20px;
+ height: 20px;
+ border-radius: 10px;
+ background: #1890FF;
+ font-size: 14px;
+ text-align: center;
+ color: #fff;
+ line-height: 20px;
+ }
+}
+.conter {
+ width: 99%;
+ height: 100%;
+ .bnt {
+ width: 100%;
+ padding: 0 13px 10px 7px;
+ box-sizing: border-box;
+ display: flex;
+ }
+ .pictrueList {
+ /*padding-left: 15px;*/
+ width: 100%;
+ el-image {
+ width: 100%;
+ border: 2px solid #fff;
+ }
+ .on {
+ border: 2px solid #1890FF;
+ }
+ }
+ .el-image {
+ width: 110px;
+ height: 110px;
+ cursor: pointer;
+ }
+ .imagesNo {
+ width: 100%;
+ display: flex;
+ justify-content: center;
+ flex-direction: column;
+ align-items: center;
+ margin: 65px 0;
+ .imagesNo_sp {
+ font-size: 13px;
+ color: #dbdbdb;
+ line-height: 3;
+ }
+ }
+}
+.relative{
+ position: relative;
+}
+.abs_video{
+ position: absolute;
+ right: 20px;
+ top: 0;
+}
+</style>
diff --git a/src/components/uploadPicture/internal.js b/src/components/uploadPicture/internal.js
new file mode 100644
index 0000000..434fde2
--- /dev/null
+++ b/src/components/uploadPicture/internal.js
@@ -0,0 +1,80 @@
+(function () {
+ /* eslint-disable */
+ if (window.frameElement.id) {
+ let parent = window.parent,
+
+ dialog = parent.$EDITORUI[window.frameElement.id.replace(/_iframe$/, '')],
+
+ editor = dialog.editor,
+
+ UE = parent.UE,
+
+ domUtils = UE.dom.domUtils,
+
+ utils = UE.utils,
+
+ browser = UE.browser,
+ /* eslint-disable */
+ ajax = UE.ajax,
+
+ $G = function (id) {
+ return document.getElementById(id)
+ },
+ $focus = function (node) {
+ setTimeout(function () {
+ if (browser.ie) {
+ var r = node.createTextRange();
+ r.collapse(false);
+ r.select();
+ } else {
+ node.focus()
+ }
+ }, 0)
+ };
+ window.nowEditor = {editor: editor, dialog: dialog};
+ utils.loadFile(document, {
+ href: editor.options.themePath + editor.options.theme + '/dialogbase.css?cache=' + Math.random(),
+ tag: 'link',
+ type: 'text/css',
+ rel: 'stylesheet'
+ });
+ var lang = editor.getLang(dialog.className.split('-')[2]);
+ if (lang) {
+ domUtils.on(window, 'load', function () {
+ var langImgPath = editor.options.langPath + editor.options.lang + '/images/';
+ // 閽堝闈欐�佽祫婧�
+ for (var i in lang['static']) {
+ var dom = $G(i);
+ if (!dom) continue;
+ let tagName = dom.tagName,
+ content = lang['static'][i];
+ if (content.src) {
+ // clone
+ content = utils.extend({}, content, false);
+ content.src = langImgPath + content.src;
+ }
+ if (content.style) {
+ content = utils.extend({}, content, false);
+ content.style = content.style.replace(/url\s*\(/g, 'url(' + langImgPath)
+ }
+ switch (tagName.toLowerCase()) {
+ case 'var':
+ dom.parentNode.replaceChild(document.createTextNode(content), dom);
+ break;
+ case 'select':
+ var ops = dom.options;
+ for (var j = 0, oj; oj = ops[j];) {
+ oj.innerHTML = content.options[j++];
+ }
+ for (var p in content) {
+ p != 'options' && dom.setAttribute(p, content[p]);
+ }
+ break;
+ default :
+ domUtils.setAttributes(dom, content);
+ }
+ }
+ });
+ }
+ }
+})();
diff --git a/src/components/uploadPicture/uploadFrom/index.js b/src/components/uploadPicture/uploadFrom/index.js
new file mode 100644
index 0000000..03ade27
--- /dev/null
+++ b/src/components/uploadPicture/uploadFrom/index.js
@@ -0,0 +1,24 @@
+import Element from 'element-ui'
+import '@/styles/element-variables.scss'
+import uploadFromComponent from './index.vue'
+import Vue from 'vue'
+import Cookies from 'js-cookie'
+Vue.use(Element, {
+ size: Cookies.get('size') || 'medium' // set element-ui default size
+})
+const uploadFrom = {}
+uploadFrom.install = function(Vue, options) {
+ const ToastConstructor = Vue.extend(uploadFromComponent)
+ // 鐢熸垚涓�涓瀛愮被鐨勫疄渚�
+ const instance = new ToastConstructor()
+ instance.$mount(document.createElement('div'))
+ document.body.appendChild(instance.$el)
+ Vue.prototype.$modalUpload = function(callback, isMore, modelName, boolean) {
+ instance.visible = true
+ instance.callback = callback
+ instance.isMore = isMore
+ instance.modelName = modelName
+ instance.booleanVal = boolean
+ }
+}
+export default uploadFrom
diff --git a/src/components/uploadPicture/uploadFrom/index.vue b/src/components/uploadPicture/uploadFrom/index.vue
new file mode 100644
index 0000000..9de88ac
--- /dev/null
+++ b/src/components/uploadPicture/uploadFrom/index.vue
@@ -0,0 +1,50 @@
+<template>
+ <div>
+ <el-dialog
+ title="涓婁紶鍥剧墖"
+ :visible.sync="visible"
+ width="950px"
+ :modal="booleanVal"
+ append-to-body
+ :before-close="handleClose"
+ >
+ <upload-index v-if="visible" :isMore="isMore" :modelName="modelName" @getImage="getImage" />
+ </el-dialog>
+ </div>
+</template>
+
+<script>
+// import UploadIndex from '@/components/uploadPicture/index.vue'
+export default {
+ name: 'UploadFroms',
+ // components: { UploadIndex },
+ data() {
+ return {
+ visible: false,
+ callback: function() {},
+ isMore: '',
+ modelName: '',
+ ISmodal: false,
+ booleanVal: false
+ }
+ },
+ watch: {
+ // show() {
+ // this.visible = this.show
+ // }
+ },
+ methods: {
+ handleClose() {
+ this.visible = false
+ },
+ getImage(img) {
+ this.callback(img)
+ this.visible = false
+ }
+ }
+}
+</script>
+
+<style scoped>
+
+</style>
diff --git a/src/components/userList/index.vue b/src/components/userList/index.vue
new file mode 100644
index 0000000..4d7e78d
--- /dev/null
+++ b/src/components/userList/index.vue
@@ -0,0 +1,157 @@
+<template>
+ <div class="divBox">
+ <el-card class="box-card">
+ <div slot="header" class="clearfix">
+ <el-form inline>
+ <el-form-item>
+ <el-input v-model="tableFrom.keywords" placeholder="璇疯緭鍏ョ敤鎴峰悕绉�" class="selWidth">
+ <el-button slot="append" icon="el-icon-search" @click="search" />
+ </el-input>
+ </el-form-item>
+ </el-form>
+ </div>
+ <el-table
+ v-loading="loading"
+ :data="tableData.data"
+ width="800px"
+ size="small"
+ >
+ <el-table-column label="" width="40">
+ <template slot-scope="scope">
+ <el-radio v-model="templateRadio" :label="scope.row.uid" @change.native="getTemplateRow(scope.$index,scope.row)"> </el-radio>
+ </template>
+ </el-table-column>
+ <el-table-column
+ prop="uid"
+ label="ID"
+ min-width="60"
+ />
+ <el-table-column
+ prop="nickname"
+ label="寰俊鐢ㄦ埛鍚嶇О"
+ min-width="130"
+ />
+ <el-table-column label="鐢ㄦ埛澶村儚" min-width="80">
+ <template slot-scope="scope">
+ <div class="demo-image__preview">
+ <el-image
+ class="tabImage"
+ :src="scope.row.avatar"
+ :preview-src-list="[scope.row.avatar]"
+ />
+ </div>
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="鎬у埆"
+ min-width="80"
+ >
+ <template slot-scope="scope">
+ <span>{{ scope.row.sex | saxFilter }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="鍦板尯"
+ min-width="130"
+ >
+ <template slot-scope="scope">
+ <span>{{ scope.row.addres }}</span>
+ </template>
+ </el-table-column>
+ </el-table>
+ <div class="block">
+ <el-pagination
+ :page-sizes="[10, 20, 30, 40]"
+ :page-size="tableFrom.limit"
+ :current-page="tableFrom.page"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="tableData.total"
+ @size-change="handleSizeChange"
+ @current-change="pageChange"
+ />
+ </div>
+ </el-card>
+ </div>
+</template>
+
+<script>
+import { userListApi } from '@/api/user'
+export default {
+ name: 'UserList',
+ filters: {
+ saxFilter(status) {
+ const statusMap = {
+ 0: '鏈煡',
+ 1: '鐢�',
+ 2: '濂�'
+ }
+ return statusMap[status]
+ },
+ statusFilter(status) {
+ const statusMap = {
+ 'wechat': '寰俊鐢ㄦ埛',
+ 'routine': '灏忕▼搴忕敤鎴�'
+ }
+ return statusMap[status]
+ }
+ },
+ data() {
+ return {
+ templateRadio: 0,
+ loading: false,
+ tableData: {
+ data: [],
+ total: 0
+ },
+ tableFrom: {
+ page: 1,
+ limit: 10,
+ keywords: ''
+ }
+ }
+ },
+ mounted() {
+ this.getList()
+ },
+ methods: {
+ getTemplateRow(idx, row) {
+ this.$emit('getTemplateRow', row);
+ },
+ // 鍒楄〃
+ getList() {
+ this.loading = true
+ userListApi(this.tableFrom).then(res => {
+ this.tableData.data = res.list
+ this.tableData.total = res.total
+ this.loading = false
+ }).catch(res => {
+ this.$message.error(res.message)
+ this.loading = false
+ })
+ },
+ search(){
+ this.loading = true
+ userListApi({keywords:this.tableFrom.keywords}).then(res => {
+ this.tableData.data = res.list
+ this.tableData.total = res.total
+ this.loading = false
+ }).catch(res => {
+ this.$message.error(res.message)
+ this.loading = false
+ })
+ },
+ pageChange(page) {
+ this.tableFrom.page = page
+ this.getList()
+ },
+ handleSizeChange(val) {
+ this.tableFrom.limit = val
+ this.getList()
+ }
+ }
+}
+</script>
+
+<style scoped>
+
+</style>
diff --git a/src/config/settings.js b/src/config/settings.js
new file mode 100644
index 0000000..8308cb0
--- /dev/null
+++ b/src/config/settings.js
@@ -0,0 +1,10 @@
+/**
+ * @description 鍏叡璁剧疆鏂囦欢
+ * @author 鏉庝笢杈�
+ */
+module.exports = {
+ // aeskey
+ aeskey: "123456789ZTTJMSF",
+ // aesiv
+ aesiv: "ZTTJMSF123456789",
+};
diff --git a/src/directive/copy/copy.js b/src/directive/copy/copy.js
new file mode 100644
index 0000000..5490585
--- /dev/null
+++ b/src/directive/copy/copy.js
@@ -0,0 +1,74 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+import { Message } from 'element-ui';
+
+const vCopy = { // 鍚嶅瓧鐖卞彇鍟ュ彇鍟�
+ /*
+ bind 閽╁瓙鍑芥暟锛岀涓�娆$粦瀹氭椂璋冪敤锛屽彲浠ュ湪杩欓噷鍋氬垵濮嬪寲璁剧疆
+ el: 浣滅敤鐨� dom 瀵硅薄
+ value: 浼犵粰鎸囦护鐨勫�硷紝涔熷氨鏄垜浠 copy 鐨勫��
+ */
+ bind(el, { value }) {
+ el.$value = value; // 鐢ㄤ竴涓叏灞�灞炴�ф潵瀛樹紶杩涙潵鐨勫�硷紝鍥犱负杩欎釜鍊煎湪鍒殑閽╁瓙鍑芥暟閲岃繕浼氱敤鍒�
+ el.handler = () => {
+ if (!el.$value) {
+ // 鍊间负绌虹殑鏃跺�欙紝缁欏嚭鎻愮ず锛屾垜杩欓噷鐨勬彁绀烘槸鐢ㄧ殑 element-ui 鐨勬彁绀猴紝浣犱滑闅忔剰
+ Message.warning('鏃犲鍒跺唴瀹�');
+ return;
+ }
+ // 鍔ㄦ�佸垱寤� textarea 鏍囩
+ const textarea = document.createElement('textarea');
+ // 灏嗚 textarea 璁句负鍙锛屽悓鏃跺皢 textarea 绉诲嚭鍙鍖哄煙
+ textarea.readOnly = 'readonly';
+ textarea.style.position = 'absolute';
+ textarea.style.left = '-9999px';
+ // 灏嗚 copy 鐨勫�艰祴缁� textarea 鏍囩鐨� value 灞炴��
+ textarea.value = el.$value;
+ // 灏� textarea 鎻掑叆鍒� body 涓�
+ document.body.appendChild(textarea);
+ // 閫変腑鍊煎苟澶嶅埗
+ textarea.select();
+ textarea.setSelectionRange(0, textarea.value.length);
+ //灏辨槸鍙互閫氳繃璁剧疆璧峰浜庣粓姝綅缃紝鏉ラ�変腑涓�娈垫枃鏈腑鐨勪竴閮ㄥ垎,杩欓噷鍏跺疄灏辨槸鍏ㄩ��
+ const result = document.execCommand('Copy');
+ //html鍘熺敓鐨勫鍒跺姛鑳�
+ /**
+ * 鎷撳睍
+ * :document.execCommand(鈥漵electAll鈥�) 鍏ㄩ��
+ * :document.execCommand(open) 鎵撳紑
+ * :document.execCommand(saveAs) 鍙﹀瓨涓�
+ */
+ if (result) {
+ Message.success('澶嶅埗鎴愬姛');
+ }
+ document.body.removeChild(textarea);
+ //澶嶅埗鎴愬姛鐒跺悗鍒犻櫎textarea鏍囩
+ };
+ // 缁戝畾鐐瑰嚮浜嬩欢锛屽氨鏄墍璋撶殑涓�閿� copy 鍟�
+ el.addEventListener('click', el.handler);
+ },
+ // 褰撲紶杩涙潵鐨勫�兼洿鏂扮殑鏃跺�欒Е鍙�
+ componentUpdated(el, { value }) {
+ el.$value = value;
+ },
+ // 鎸囦护涓庡厓绱犺В缁戠殑鏃跺�欙紝绉婚櫎浜嬩欢缁戝畾
+ unbind(el) {
+ el.removeEventListener('click', el.handler);
+ },
+};
+
+//浣跨敤绀轰緥 <el-button v-copy="info">澶嶅埗</el-button>
+//data() {
+// return {
+// info:'瑕佸鍒剁殑鍐呭'
+// }
+
+export default vCopy;
\ No newline at end of file
diff --git a/src/directive/dialog/drag.js b/src/directive/dialog/drag.js
new file mode 100644
index 0000000..2e82346
--- /dev/null
+++ b/src/directive/dialog/drag.js
@@ -0,0 +1,64 @@
+/**
+* v-dialogDrag 寮圭獥鎷栨嫿
+* Copyright (c) 2019 ruoyi
+*/
+
+export default {
+ bind(el, binding, vnode, oldVnode) {
+ const value = binding.value
+ if (value == false) return
+ // 鑾峰彇鎷栨嫿鍐呭澶撮儴
+ const dialogHeaderEl = el.querySelector('.el-dialog__header');
+ const dragDom = el.querySelector('.el-dialog');
+ dialogHeaderEl.style.cursor = 'move';
+ // 鑾峰彇鍘熸湁灞炴�� ie dom鍏冪礌.currentStyle 鐏嫄璋锋瓕 window.getComputedStyle(dom鍏冪礌, null);
+ const sty = dragDom.currentStyle || window.getComputedStyle(dragDom, null);
+ dragDom.style.position = 'absolute';
+ dragDom.style.marginTop = 0;
+ let width = dragDom.style.width;
+ if (width.includes('%')) {
+ width = +document.body.clientWidth * (+width.replace(/\%/g, '') / 100);
+ } else {
+ width = +width.replace(/\px/g, '');
+ }
+ dragDom.style.left = `${(document.body.clientWidth - width) / 2}px`;
+ // 榧犳爣鎸変笅浜嬩欢
+ dialogHeaderEl.onmousedown = (e) => {
+ // 榧犳爣鎸変笅锛岃绠楀綋鍓嶅厓绱犺窛绂诲彲瑙嗗尯鐨勮窛绂� (榧犳爣鐐瑰嚮浣嶇疆璺濈鍙绐楀彛鐨勮窛绂�)
+ const disX = e.clientX - dialogHeaderEl.offsetLeft;
+ const disY = e.clientY - dialogHeaderEl.offsetTop;
+
+ // 鑾峰彇鍒扮殑鍊煎甫px 姝e垯鍖归厤鏇挎崲
+ let styL, styT;
+
+ // 娉ㄦ剰鍦╥e涓� 绗竴娆¤幏鍙栧埌鐨勫�间负缁勪欢鑷甫50% 绉诲姩涔嬪悗璧嬪�间负px
+ if (sty.left.includes('%')) {
+ styL = +document.body.clientWidth * (+sty.left.replace(/\%/g, '') / 100);
+ styT = +document.body.clientHeight * (+sty.top.replace(/\%/g, '') / 100);
+ } else {
+ styL = +sty.left.replace(/\px/g, '');
+ styT = +sty.top.replace(/\px/g, '');
+ };
+
+ // 榧犳爣鎷栨嫿浜嬩欢
+ document.onmousemove = function (e) {
+ // 閫氳繃浜嬩欢濮旀墭锛岃绠楃Щ鍔ㄧ殑璺濈 锛堝紑濮嬫嫋鎷借嚦缁撴潫鎷栨嫿鐨勮窛绂伙級
+ const l = e.clientX - disX;
+ const t = e.clientY - disY;
+
+ let finallyL = l + styL
+ let finallyT = t + styT
+
+ // 绉诲姩褰撳墠鍏冪礌
+ dragDom.style.left = `${finallyL}px`;
+ dragDom.style.top = `${finallyT}px`;
+
+ };
+
+ document.onmouseup = function (e) {
+ document.onmousemove = null;
+ document.onmouseup = null;
+ };
+ }
+ }
+};
\ No newline at end of file
diff --git a/src/directive/dialog/dragHeight.js b/src/directive/dialog/dragHeight.js
new file mode 100644
index 0000000..d1590f8
--- /dev/null
+++ b/src/directive/dialog/dragHeight.js
@@ -0,0 +1,34 @@
+/**
+* v-dialogDragWidth 鍙嫋鍔ㄥ脊绐楅珮搴︼紙鍙充笅瑙掞級
+* Copyright (c) 2019 ruoyi
+*/
+
+export default {
+ bind(el) {
+ const dragDom = el.querySelector('.el-dialog');
+ const lineEl = document.createElement('div');
+ lineEl.style = 'width: 6px; background: inherit; height: 10px; position: absolute; right: 0; bottom: 0; margin: auto; z-index: 1; cursor: nwse-resize;';
+ lineEl.addEventListener('mousedown',
+ function(e) {
+ // 榧犳爣鎸変笅锛岃绠楀綋鍓嶅厓绱犺窛绂诲彲瑙嗗尯鐨勮窛绂�
+ const disX = e.clientX - el.offsetLeft;
+ const disY = e.clientY - el.offsetTop;
+ // 褰撳墠瀹藉害 楂樺害
+ const curWidth = dragDom.offsetWidth;
+ const curHeight = dragDom.offsetHeight;
+ document.onmousemove = function(e) {
+ e.preventDefault(); // 绉诲姩鏃剁鐢ㄩ粯璁や簨浠�
+ // 閫氳繃浜嬩欢濮旀墭锛岃绠楃Щ鍔ㄧ殑璺濈
+ const xl = e.clientX - disX;
+ const yl = e.clientY - disY
+ dragDom.style.width = `${curWidth + xl}px`;
+ dragDom.style.height = `${curHeight + yl}px`;
+ };
+ document.onmouseup = function(e) {
+ document.onmousemove = null;
+ document.onmouseup = null;
+ };
+ }, false);
+ dragDom.appendChild(lineEl);
+ }
+}
\ No newline at end of file
diff --git a/src/directive/dialog/dragWidth.js b/src/directive/dialog/dragWidth.js
new file mode 100644
index 0000000..d5cda3a
--- /dev/null
+++ b/src/directive/dialog/dragWidth.js
@@ -0,0 +1,30 @@
+/**
+* v-dialogDragWidth 鍙嫋鍔ㄥ脊绐楀搴︼紙鍙充晶杈癸級
+* Copyright (c) 2019 ruoyi
+*/
+
+export default {
+ bind(el) {
+ const dragDom = el.querySelector('.el-dialog');
+ const lineEl = document.createElement('div');
+ lineEl.style = 'width: 5px; background: inherit; height: 80%; position: absolute; right: 0; top: 0; bottom: 0; margin: auto; z-index: 1; cursor: w-resize;';
+ lineEl.addEventListener('mousedown',
+ function (e) {
+ // 榧犳爣鎸変笅锛岃绠楀綋鍓嶅厓绱犺窛绂诲彲瑙嗗尯鐨勮窛绂�
+ const disX = e.clientX - el.offsetLeft;
+ // 褰撳墠瀹藉害
+ const curWidth = dragDom.offsetWidth;
+ document.onmousemove = function (e) {
+ e.preventDefault(); // 绉诲姩鏃剁鐢ㄩ粯璁や簨浠�
+ // 閫氳繃浜嬩欢濮旀墭锛岃绠楃Щ鍔ㄧ殑璺濈
+ const l = e.clientX - disX;
+ dragDom.style.width = `${curWidth + l}px`;
+ };
+ document.onmouseup = function (e) {
+ document.onmousemove = null;
+ document.onmouseup = null;
+ };
+ }, false);
+ dragDom.appendChild(lineEl);
+ }
+}
\ No newline at end of file
diff --git a/src/directive/index.js b/src/directive/index.js
new file mode 100644
index 0000000..7ffcfc8
--- /dev/null
+++ b/src/directive/index.js
@@ -0,0 +1,33 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+import hasRole from './permission/hasRole'
+import hasPermi from './permission/hasPermi'
+import dialogDrag from './dialog/drag'
+import dialogDragWidth from './dialog/dragWidth'
+import dialogDragHeight from './dialog/dragHeight'
+import copy from './copy/copy'
+
+const install = function(Vue) {
+ Vue.directive('hasRole', hasRole)
+ Vue.directive('hasPermi', hasPermi)
+ Vue.directive('dialogDrag', dialogDrag)
+ Vue.directive('dialogDragWidth', dialogDragWidth)
+ Vue.directive('dialogDragHeight', dialogDragHeight)
+ Vue.directive('copy', copy)
+}
+
+if (window.Vue) {
+ window['hasRole'] = hasRole
+ window['hasPermi'] = hasPermi
+ Vue.use(install); // eslint-disable-line
+}
+
+export default install
diff --git a/src/directive/permission/hasPermi.js b/src/directive/permission/hasPermi.js
new file mode 100644
index 0000000..96232e7
--- /dev/null
+++ b/src/directive/permission/hasPermi.js
@@ -0,0 +1,41 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+import store from '@/store'
+
+export default {
+ inserted(el, binding, vnode) {
+ // 褰撹缁戝畾鐨勫厓绱犳彃鍏ュ埌 DOM 涓椂鈥︹��
+ const { value } = binding
+ const all_permission = "*:*:*";
+ //瓒呯鏍囪瘑
+ const permissions = store.getters && store.getters.permissions
+ //浠巊etters涓彇鍑轰粠鎺ュ彛璇锋眰鍒扮殑鏉冮檺鏍囪瘑鏁扮粍
+ if (value && value instanceof Array && value.length > 0) {
+ //value涓烘寚浠ょ殑缁戝畾鍊硷紝骞朵笖瑕佹眰鏄竴涓潪绌烘暟缁�
+ const permissionFlag = value
+
+ const hasPermissions = permissions.some(permission => {
+ //some() 鏂规硶鐢ㄤ簬妫�娴嬫暟缁勪腑鐨勫厓绱犳槸鍚︽弧瓒虫寚瀹氭潯浠讹紙鍑芥暟鎻愪緵锛�
+ //濡傛灉鏄秴绠℃垨鑰呭叾浠栫鐞嗗憳鏈夊搴旂殑鏉冮檺鏍囪瘑
+ return all_permission === permission || permissionFlag.includes(permission)
+ //妫�娴嬫暟缁� permissionFlag 鏄惁鍖呭惈 permission
+ })
+
+ if (!hasPermissions) {
+ el.parentNode && el.parentNode.removeChild(el)
+ //鍚﹀垯灏卞垹闄よ鑺傜偣锛屼綋鐜板湪椤甸潰涓婂氨鏄病鏈夋寜閽搴旂殑鏉冮檺鏍囪瘑灏变笉鏄剧ず璇ユ寜閽�
+ }
+ } else {
+ throw new Error(`璇疯缃搷浣滄潈闄愭爣绛惧�糮)
+ //椤甸潰涓婁娇鐢╲-hasPermi娌℃湁浼犲�肩殑鎯呭喌涓嬬粰鐨勬彁绀�
+ }
+ }
+}
diff --git a/src/directive/permission/hasRole.js b/src/directive/permission/hasRole.js
new file mode 100644
index 0000000..1c8d3a0
--- /dev/null
+++ b/src/directive/permission/hasRole.js
@@ -0,0 +1,33 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+import store from '@/store'
+
+export default {
+ inserted(el, binding, vnode) {
+ const { value } = binding
+ const super_admin = "admin";
+ const roles = store.state.user.name
+
+ if (value && value instanceof Array && value.length > 0) {
+ const roleFlag = value
+
+ const hasRole = roles.some(role => {
+ return super_admin === role || roleFlag.includes(role)
+ })
+
+ if (!hasRole) {
+ el.parentNode && el.parentNode.removeChild(el)
+ }
+ } else {
+ throw new Error(`璇疯缃鑹叉潈闄愭爣绛惧��"`)
+ }
+ }
+}
diff --git a/src/filters/commFilter.js b/src/filters/commFilter.js
new file mode 100644
index 0000000..620f2ff
--- /dev/null
+++ b/src/filters/commFilter.js
@@ -0,0 +1,248 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+import * as constants from '@/utils/constants.js'
+import { formatDates } from '@/utils/index';
+
+// 鍏叡杩囨护鍣�
+export function filterEmpty(val) {
+ let _result = '-'
+ if (!val) {
+ return _result
+ }
+ _result = val
+ return _result
+}
+
+// 鏃堕棿杩囨护鍣�
+export function formatDate(time) {
+ if (time !== 0) {
+ const date = new Date(time * 1000);
+ return formatDates(date, 'yyyy-MM-dd hh:mm');
+ }
+}
+
+// 鏃堕棿杩囨护鍣�
+export function vformatDate(time) {
+ if (time !== '') {
+
+ return time.replace('T',' ');
+ }
+}
+
+export function filterYesOrNo(value) {
+ return value ? '鏄�' : '鍚�'
+}
+
+export function filterShowOrHide(value) {
+ return value ? '鏄剧ず' : '涓嶆樉绀�'
+}
+
+export function filterShowOrHideForFormConfig(value) {
+ return value === '鈥�0鈥�' ? '鏄剧ず' : '涓嶆樉绀�'
+}
+
+export function filterYesOrNoIs(value) {
+ return value ? '鍚�' : '鏄�'
+}
+
+export function filterCategroyType(value) {
+ return constants.categoryType.filter(item => value === item.value)[0].name
+}
+
+export function filterConfigCategory(value) {
+ return constants.configCategory.filter(item => value === item.value)[0].label
+}
+
+/**
+ * @description 鍏紬鍙峰洖澶嶇被鍨�
+ */
+export function keywordStatusFilter(status) {
+ const statusMap = {
+ 'text': '鏂囧瓧娑堟伅',
+ 'image': '鍥剧墖娑堟伅',
+ 'news': '鍥炬枃娑堟伅',
+ 'voice': '澹伴煶娑堟伅'
+ }
+ return statusMap[status]
+}
+
+/**
+ * @description 浼樻儬鍒哥被鍨�
+ */
+export function couponUserTypeFilter(status) {
+ const statusMap = {
+ 1: '閫氱敤鍒�',
+ 2: '鍟嗗搧鍒�',
+ 3: '鍝佺被鍒�'
+ }
+ return statusMap[status]
+}
+
+/**
+ * @description 浼樻儬鍒搁鍙栨柟寮�
+ */
+export function couponTypeFilter(status) {
+ const statusMap = {
+ 1: '鎵嬪姩棰嗗彇',
+ 2: '鏂颁汉鍒�',
+ 3: '璧犻�佸埜'
+ }
+ return statusMap[status]
+}
+
+/**
+ * @description 鏂囩珷鍒嗙被
+ */
+export function articleTypeFilter(status) {
+ if(!status){
+ return ''
+ }
+ let arrayList = JSON.parse(localStorage.getItem('articleClass'));
+ if(arrayList.filter(item => Number(status) === Number(item.id)).length < 1){
+ return ''
+ }
+ return arrayList.filter(item => Number(status) === Number(item.id))[0].name
+}
+
+
+/**
+ * @description 鏀粯鐘舵��
+ */
+export function payStatusFilter(status) {
+ const statusMap = {
+ false: '鏈敮浠�',
+ true: '宸叉敮浠�'
+ }
+ return statusMap[status]
+}
+
+/**
+ * @description 鎻愮幇鏂瑰紡
+ */
+export function extractTypeFilter(status) {
+ const statusMap = {
+ 'bank': '閾惰鍗�',
+ 'alipay': '鏀粯瀹�',
+ 'weixin': '寰俊'
+ }
+ return statusMap[status]
+}
+
+/**
+ * @description 鍏呭�肩被鍨�
+ */
+export function rechargeTypeFilter(status) {
+ const statusMap = {
+ 'public': '寰俊鍏紬鍙�',
+ 'weixinh5': '寰俊H5鏀粯',
+ 'routine': '灏忕▼搴�'
+ }
+ return statusMap[status]
+}
+
+/**
+ * @description 璐㈠姟瀹℃牳鐘舵��
+ */
+export function extractStatusFilter(status) {
+ const statusMap = {
+ '-1': '宸叉嫆缁�',
+ '0': '瀹℃牳涓�',
+ '1': '宸叉彁鐜�'
+ }
+ return statusMap[status]
+}
+
+/**
+ * @description 鐮嶄环鐘舵��
+ */
+export function bargainStatusFilter(status) {
+ const statusMap = {
+ '1': '杩涜涓�',
+ '2': '鏈畬鎴�',
+ '3': '宸叉垚鍔�'
+ }
+ return statusMap[status]
+}
+
+/**
+ * @description 鐮嶄环鐘舵��
+ */
+export function bargainColorFilter(status) {
+ const statusMap = {
+ '1': '',
+ '2': 'danger',
+ '3': 'success'
+ }
+ return statusMap[status]
+}
+
+/**
+ * @description 鎷煎洟鐘舵��
+ */
+export function groupStatusFilter(status) {
+ const statusMap = {
+ '1': '杩涜涓�',
+ '2': '宸叉垚鍔�',
+ '3': '鏈畬鎴�'
+ }
+ return statusMap[status]
+}
+
+/**
+ * @description 鎷煎洟鐘舵��
+ */
+export function groupColorFilter(status) {
+ const statusMap = {
+ '1': '',
+ '2': 'success',
+ '3': 'danger'
+ }
+ return statusMap[status]
+}
+
+/**
+ * @description 涓�鍙烽�歵ab鍊�
+ */
+export function onePassTypeFilter(status) {
+ const statusMap = {
+ 'sms': '鐭俊',
+ 'copy': '鍟嗗搧閲囬泦',
+ 'expr_query': '鐗╂祦鏌ヨ',
+ 'expr_dump': '鐢靛瓙闈㈠崟鎵撳嵃'
+ }
+ return statusMap[status]
+}
+
+/**
+ * @description 瑙嗛鍙峰晢鍝佽崏绋跨姸鎬�
+ */
+export function editStatusFilter(status) {
+ const statusMap = {
+ 1: '鏈鏍�',
+ 2: '瀹℃牳涓�',
+ 3: '瀹℃牳澶辫触',
+ 4: '瀹℃牳鎴愬姛'
+ }
+ return statusMap[status]
+}
+
+/**
+ * @description 瑙嗛鍙锋寮忓晢鍝佺姸鎬�
+ */
+export function videoStatusFilter(status) {
+ const statusMap = {
+ 0: '鍒濆鍊�',
+ 5: '涓婃灦',
+ 11: '鑷富涓嬫灦',
+ 13: '杩濊涓嬫灦/椋庢帶绯荤粺涓嬫灦'
+ }
+ return statusMap[status]
+}
diff --git a/src/filters/index.js b/src/filters/index.js
new file mode 100644
index 0000000..3933f94
--- /dev/null
+++ b/src/filters/index.js
@@ -0,0 +1,83 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+// import parseTime, formatTime and set to filter
+export { parseTime, formatTime } from '@/utils'
+
+export * from '../filters/commFilter'
+export * from '../filters/user'
+export * from '../filters/order'
+export * from '../filters/wx'
+
+/**
+ * Show plural label if time is plural number
+ * @param {number} time
+ * @param {string} label
+ * @return {string}
+ */
+function pluralize(time, label) {
+ if (time === 1) {
+ return time + label
+ }
+ return time + label + 's'
+}
+
+/**
+ * @param {number} time
+ */
+export function timeAgo(time) {
+ const between = Date.now() / 1000 - Number(time)
+ if (between < 3600) {
+ return pluralize(~~(between / 60), ' minute')
+ } else if (between < 86400) {
+ return pluralize(~~(between / 3600), ' hour')
+ } else {
+ return pluralize(~~(between / 86400), ' day')
+ }
+}
+
+/**
+ * Number formatting
+ * like 10000 => 10k
+ * @param {number} num
+ * @param {number} digits
+ */
+export function numberFormatter(num, digits) {
+ const si = [
+ { value: 1E18, symbol: 'E' },
+ { value: 1E15, symbol: 'P' },
+ { value: 1E12, symbol: 'T' },
+ { value: 1E9, symbol: 'G' },
+ { value: 1E6, symbol: 'M' },
+ { value: 1E3, symbol: 'k' }
+ ]
+ for (let i = 0; i < si.length; i++) {
+ if (num >= si[i].value) {
+ return (num / si[i].value).toFixed(digits).replace(/\.0+$|(\.[0-9]*[1-9])0+$/, '$1') + si[i].symbol
+ }
+ }
+ return num.toString()
+}
+
+/**
+ * 10000 => "10,000"
+ * @param {number} num
+ */
+export function toThousandFilter(num) {
+ return (+num || 0).toString().replace(/^-?\d+/g, m => m.replace(/(?=(?!\b)(\d{3})+$)/g, ','))
+}
+
+/**
+ * Upper case first char
+ * @param {String} string
+ */
+export function uppercaseFirst(string) {
+ return string.charAt(0).toUpperCase() + string.slice(1)
+}
diff --git a/src/filters/order.js b/src/filters/order.js
new file mode 100644
index 0000000..a4bb1d3
--- /dev/null
+++ b/src/filters/order.js
@@ -0,0 +1,52 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+//璁㈠崟杩囨护鍣�
+
+/**
+ * @description 鏀粯鐘舵��
+ */
+export function paidFilter(status) {
+ const statusMap = {
+ true: '宸叉敮浠�',
+ false: '鏈敮浠�'
+ }
+ return statusMap[status]
+}
+
+/**
+ * @description 璁㈠崟鐘舵��
+ * 2,宸叉敹璐э紝寰呰瘎浠�
+ */
+export function orderStatusFilter(status) {
+ const statusMap = {
+ '0': '寰呭彂璐�',
+ '1': '寰呮敹璐�',
+ '2': '寰呰瘎浠�',
+ '3': '宸插畬鎴�',
+ '-2': '宸查��娆�',
+ '-1': '閫�娆句腑'
+ }
+ return statusMap[status]
+}
+
+/**
+ * @description 閫�娆剧姸鎬�
+ * 2,宸叉敹璐э紝寰呰瘎浠�
+ */
+export function refundStatusFilter(status) {
+ const statusMap = {
+ '0': '鏈��娆�',
+ '1': '鐢宠涓�',
+ '2': '宸查��娆�',
+ '3': '閫�娆句腑'
+ }
+ return statusMap[status]
+}
diff --git a/src/filters/user.js b/src/filters/user.js
new file mode 100644
index 0000000..8bfbcd8
--- /dev/null
+++ b/src/filters/user.js
@@ -0,0 +1,50 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+//浼氬憳杩囨护鍣�
+
+/**
+ * 绛夌骇
+ */
+export function levelFilter(status) {
+ if(!status){
+ return ''
+ }
+ let arrayList = JSON.parse(localStorage.getItem('levelKey'));
+ let array = arrayList.filter(item => status === item.id)
+ if(array.length){
+ return array[0].name
+ }else{
+ return ''
+ }
+}
+
+/**
+ * 鐢ㄦ埛绫诲瀷
+ */
+export function typeFilter(status) {
+ const statusMap = {
+ 'wechat': '寰俊鐢ㄦ埛',
+ 'routine': '灏忕▼搴忕敤鎴�',
+ 'h5': 'H5鐢ㄦ埛'
+ }
+ return statusMap[status]
+}
+
+/**
+ * 鐢ㄦ埛绫诲瀷
+ */
+export function filterIsPromoter(status) {
+ const statusMap = {
+ true: '鎺ㄥ箍鍛�',
+ false: '鏅�氱敤鎴�'
+ }
+ return statusMap[status]
+}
diff --git a/src/filters/wx.js b/src/filters/wx.js
new file mode 100644
index 0000000..ea71d94
--- /dev/null
+++ b/src/filters/wx.js
@@ -0,0 +1,39 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+//灏忕▼搴� 寰俊杩囨护鍣�
+import Cookies from 'js-cookie'
+/**
+ * @description 灏忕▼搴忔墍灞炵被鐩�
+ */
+export function wxCategoryFilter(status) {
+ if(!status){
+ return ''
+ }
+ if(!Cookies.get('WxCategory')) {
+ return
+ }
+ let arrayList = JSON.parse(Cookies.get('WxCategory'));
+ if(arrayList.filter(item => Number(status) === Number(item.id)).length < 1){
+ return ''
+ }
+ return arrayList.filter(item => Number(status) === Number(item.id))[0].name
+}
+
+/**
+ * @description 灏忕▼搴忔ā鏉跨被鍨�
+ */
+export function wxTypeFilter(status) {
+ const statusMap = {
+ 2: '涓�娆℃�ц闃�',
+ 3: '闀挎湡璁㈤槄'
+ }
+ return statusMap[status]
+}
diff --git a/src/icons/index.js b/src/icons/index.js
new file mode 100644
index 0000000..2c6b309
--- /dev/null
+++ b/src/icons/index.js
@@ -0,0 +1,9 @@
+import Vue from 'vue'
+import SvgIcon from '@/components/SvgIcon'// svg component
+
+// register globally
+Vue.component('svg-icon', SvgIcon)
+
+const req = require.context('./svg', false, /\.svg$/)
+const requireAll = requireContext => requireContext.keys().map(requireContext)
+requireAll(req)
diff --git a/src/icons/svg/404.svg b/src/icons/svg/404.svg
new file mode 100644
index 0000000..6df5019
--- /dev/null
+++ b/src/icons/svg/404.svg
@@ -0,0 +1 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M121.718 73.272v9.953c3.957-7.584 6.199-16.05 6.199-24.995C127.917 26.079 99.273 0 63.958 0 28.644 0 0 26.079 0 58.23c0 .403.028.806.028 1.21l22.97-25.953h13.34l-19.76 27.187h6.42V53.77l13.728-19.477v49.361H22.998V73.272H2.158c5.951 20.284 23.608 36.208 45.998 41.399-1.44 3.3-5.618 11.263-12.565 12.674-8.607 1.764 23.358.428 46.163-13.178 17.519-4.611 31.938-15.849 39.77-30.513h-13.506V73.272H85.02V59.464l22.998-25.977h13.008l-19.429 27.187h6.421v-7.433l13.727-19.402v39.433h-.027zm-78.24 2.822a10.516 10.516 0 0 1-.996-4.535V44.548c0-1.613.332-3.124.996-4.535a11.66 11.66 0 0 1 2.713-3.68c1.134-1.032 2.49-1.864 4.04-2.468 1.55-.605 3.21-.908 4.982-.908h11.292c1.77 0 3.431.303 4.981.908 1.522.604 2.85 1.41 3.986 2.418l-12.26 16.303v-2.898a1.96 1.96 0 0 0-.665-1.512c-.443-.403-.996-.604-1.66-.604-.665 0-1.218.201-1.661.604a1.96 1.96 0 0 0-.664 1.512v9.071L44.364 77.606a10.556 10.556 0 0 1-.886-1.512zm35.73-4.535c0 1.613-.332 3.124-.997 4.535a11.66 11.66 0 0 1-2.712 3.68c-1.134 1.032-2.49 1.864-4.04 2.469-1.55.604-3.21.907-4.982.907H55.185c-1.77 0-3.431-.303-4.981-.907-1.55-.605-2.906-1.437-4.041-2.47a12.49 12.49 0 0 1-1.384-1.512l13.727-18.217v6.375c0 .605.222 1.109.665 1.512.442.403.996.604 1.66.604.664 0 1.218-.201 1.66-.604a1.96 1.96 0 0 0 .665-1.512V53.87L75.97 36.838c.913.932 1.66 1.99 2.214 3.175.664 1.41.996 2.922.996 4.535v27.011h.028z"/></svg>
\ No newline at end of file
diff --git a/src/icons/svg/bug.svg b/src/icons/svg/bug.svg
new file mode 100644
index 0000000..05a150d
--- /dev/null
+++ b/src/icons/svg/bug.svg
@@ -0,0 +1 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M127.88 73.143c0 1.412-.506 2.635-1.518 3.669-1.011 1.033-2.209 1.55-3.592 1.55h-17.887c0 9.296-1.783 17.178-5.35 23.645l16.609 17.044c1.011 1.034 1.517 2.257 1.517 3.67 0 1.412-.506 2.635-1.517 3.668-.958 1.033-2.155 1.55-3.593 1.55-1.438 0-2.635-.517-3.593-1.55l-15.811-16.063a15.49 15.49 0 0 1-1.196 1.06c-.532.434-1.65 1.208-3.353 2.322a50.104 50.104 0 0 1-5.192 2.974c-1.758.87-3.94 1.658-6.546 2.364-2.607.706-5.189 1.06-7.748 1.06V47.044H58.89v73.062c-2.716 0-5.417-.367-8.106-1.102-2.688-.734-5.003-1.631-6.945-2.692a66.769 66.769 0 0 1-5.268-3.179c-1.571-1.057-2.73-1.94-3.476-2.65L33.9 109.34l-14.611 16.877c-1.066 1.14-2.344 1.711-3.833 1.711-1.277 0-2.422-.434-3.434-1.304-1.012-.978-1.557-2.187-1.635-3.627-.079-1.44.333-2.705 1.236-3.794l16.129-18.51c-3.087-6.197-4.63-13.644-4.63-22.342H5.235c-1.383 0-2.58-.517-3.592-1.55S.125 74.545.125 73.132c0-1.412.506-2.635 1.518-3.668 1.012-1.034 2.21-1.55 3.592-1.55h17.887V43.939L9.308 29.833c-1.012-1.033-1.517-2.256-1.517-3.669 0-1.412.505-2.635 1.517-3.668 1.012-1.034 2.21-1.55 3.593-1.55s2.58.516 3.593 1.55l13.813 14.106h67.396l13.814-14.106c1.012-1.034 2.21-1.55 3.592-1.55 1.384 0 2.581.516 3.593 1.55 1.012 1.033 1.518 2.256 1.518 3.668 0 1.413-.506 2.636-1.518 3.67l-13.814 14.105v23.975h17.887c1.383 0 2.58.516 3.593 1.55 1.011 1.033 1.517 2.256 1.517 3.668l-.005.01zM89.552 26.175H38.448c0-7.23 2.489-13.386 7.466-18.469C50.892 2.623 56.92.082 64 .082c7.08 0 13.108 2.541 18.086 7.624 4.977 5.083 7.466 11.24 7.466 18.469z"/></svg>
\ No newline at end of file
diff --git a/src/icons/svg/chart.svg b/src/icons/svg/chart.svg
new file mode 100644
index 0000000..27728fb
--- /dev/null
+++ b/src/icons/svg/chart.svg
@@ -0,0 +1 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M0 54.857h36.571V128H0V54.857zM91.429 27.43H128V128H91.429V27.429zM45.714 0h36.572v128H45.714V0z"/></svg>
\ No newline at end of file
diff --git a/src/icons/svg/clipboard.svg b/src/icons/svg/clipboard.svg
new file mode 100644
index 0000000..90923ff
--- /dev/null
+++ b/src/icons/svg/clipboard.svg
@@ -0,0 +1 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M54.857 118.857h64V73.143H89.143c-1.902 0-3.52-.668-4.855-2.002-1.335-1.335-2.002-2.954-2.002-4.855V36.57H54.857v82.286zM73.143 16v-4.571a2.2 2.2 0 0 0-.677-1.61 2.198 2.198 0 0 0-1.609-.676H20.571c-.621 0-1.158.225-1.609.676a2.198 2.198 0 0 0-.676 1.61V16a2.2 2.2 0 0 0 .676 1.61c.451.45.988.676 1.61.676h50.285c.622 0 1.158-.226 1.61-.677.45-.45.676-.987.676-1.609zm18.286 48h21.357L91.43 42.642V64zM128 73.143v48c0 1.902-.667 3.52-2.002 4.855-1.335 1.335-2.953 2.002-4.855 2.002H52.57c-1.901 0-3.52-.667-4.854-2.002-1.335-1.335-2.003-2.953-2.003-4.855v-11.429H6.857c-1.902 0-3.52-.667-4.855-2.002C.667 106.377 0 104.759 0 102.857v-96c0-1.902.667-3.52 2.002-4.855C3.337.667 4.955 0 6.857 0h77.714c1.902 0 3.52.667 4.855 2.002 1.335 1.335 2.003 2.953 2.003 4.855V30.29c1 .622 1.856 1.29 2.569 2.003l29.147 29.147c1.335 1.335 2.478 3.145 3.429 5.43.95 2.287 1.426 4.383 1.426 6.291v-.018z"/></svg>
\ No newline at end of file
diff --git a/src/icons/svg/component.svg b/src/icons/svg/component.svg
new file mode 100644
index 0000000..207ada3
--- /dev/null
+++ b/src/icons/svg/component.svg
@@ -0,0 +1 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M0 0h54.857v54.857H0V0zm0 73.143h54.857V128H0V73.143zm73.143 0H128V128H73.143V73.143zm27.428-18.286C115.72 54.857 128 42.577 128 27.43 128 12.28 115.72 0 100.571 0 85.423 0 73.143 12.28 73.143 27.429c0 15.148 12.28 27.428 27.428 27.428z"/></svg>
\ No newline at end of file
diff --git a/src/icons/svg/dashboard.svg b/src/icons/svg/dashboard.svg
new file mode 100644
index 0000000..5317d37
--- /dev/null
+++ b/src/icons/svg/dashboard.svg
@@ -0,0 +1 @@
+<svg width="128" height="100" xmlns="http://www.w3.org/2000/svg"><path d="M27.429 63.638c0-2.508-.893-4.65-2.679-6.424-1.786-1.775-3.94-2.662-6.464-2.662-2.524 0-4.679.887-6.465 2.662-1.785 1.774-2.678 3.916-2.678 6.424 0 2.508.893 4.65 2.678 6.424 1.786 1.775 3.94 2.662 6.465 2.662 2.524 0 4.678-.887 6.464-2.662 1.786-1.775 2.679-3.916 2.679-6.424zm13.714-31.801c0-2.508-.893-4.65-2.679-6.424-1.785-1.775-3.94-2.662-6.464-2.662-2.524 0-4.679.887-6.464 2.662-1.786 1.774-2.679 3.916-2.679 6.424 0 2.508.893 4.65 2.679 6.424 1.785 1.774 3.94 2.662 6.464 2.662 2.524 0 4.679-.888 6.464-2.662 1.786-1.775 2.679-3.916 2.679-6.424zM71.714 65.98l7.215-27.116c.285-1.23.107-2.378-.536-3.443-.643-1.064-1.56-1.762-2.75-2.094-1.19-.33-2.333-.177-3.429.462-1.095.639-1.81 1.573-2.143 2.804l-7.214 27.116c-2.857.237-5.405 1.266-7.643 3.088-2.238 1.822-3.738 4.152-4.5 6.992-.952 3.644-.476 7.098 1.429 10.364 1.905 3.265 4.69 5.37 8.357 6.317 3.667.947 7.143.474 10.429-1.42 3.285-1.892 5.404-4.66 6.357-8.305.762-2.84.619-5.607-.429-8.305-1.047-2.697-2.762-4.85-5.143-6.46zm47.143-2.342c0-2.508-.893-4.65-2.678-6.424-1.786-1.775-3.94-2.662-6.465-2.662-2.524 0-4.678.887-6.464 2.662-1.786 1.774-2.679 3.916-2.679 6.424 0 2.508.893 4.65 2.679 6.424 1.786 1.775 3.94 2.662 6.464 2.662 2.524 0 4.679-.887 6.465-2.662 1.785-1.775 2.678-3.916 2.678-6.424zm-45.714-45.43c0-2.509-.893-4.65-2.679-6.425C68.68 10.01 66.524 9.122 64 9.122c-2.524 0-4.679.887-6.464 2.661-1.786 1.775-2.679 3.916-2.679 6.425 0 2.508.893 4.65 2.679 6.424 1.785 1.774 3.94 2.662 6.464 2.662 2.524 0 4.679-.888 6.464-2.662 1.786-1.775 2.679-3.916 2.679-6.424zm32 13.629c0-2.508-.893-4.65-2.679-6.424-1.785-1.775-3.94-2.662-6.464-2.662-2.524 0-4.679.887-6.464 2.662-1.786 1.774-2.679 3.916-2.679 6.424 0 2.508.893 4.65 2.679 6.424 1.785 1.774 3.94 2.662 6.464 2.662 2.524 0 4.679-.888 6.464-2.662 1.786-1.775 2.679-3.916 2.679-6.424zM128 63.638c0 12.351-3.357 23.78-10.071 34.286-.905 1.372-2.19 2.058-3.858 2.058H13.93c-1.667 0-2.953-.686-3.858-2.058C3.357 87.465 0 76.037 0 63.638c0-8.613 1.69-16.847 5.071-24.703C8.452 31.08 13 24.312 18.714 18.634c5.715-5.68 12.524-10.199 20.429-13.559C47.048 1.715 55.333.035 64 .035c8.667 0 16.952 1.68 24.857 5.04 7.905 3.36 14.714 7.88 20.429 13.559 5.714 5.678 10.262 12.446 13.643 20.301 3.38 7.856 5.071 16.09 5.071 24.703z"/></svg>
\ No newline at end of file
diff --git a/src/icons/svg/documentation.svg b/src/icons/svg/documentation.svg
new file mode 100644
index 0000000..7043122
--- /dev/null
+++ b/src/icons/svg/documentation.svg
@@ -0,0 +1 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M71.984 44.815H115.9L71.984 9.642v35.173zM16.094.05h63.875l47.906 38.37v76.74c0 3.392-1.682 6.645-4.677 9.044-2.995 2.399-7.056 3.746-11.292 3.746H16.094c-4.236 0-8.297-1.347-11.292-3.746-2.995-2.399-4.677-5.652-4.677-9.044V12.84C.125 5.742 7.23.05 16.094.05zm71.86 102.32V89.58h-71.86v12.79h71.86zm23.952-25.58V64H16.094v12.79h95.812z"/></svg>
\ No newline at end of file
diff --git a/src/icons/svg/drag.svg b/src/icons/svg/drag.svg
new file mode 100644
index 0000000..4185d3c
--- /dev/null
+++ b/src/icons/svg/drag.svg
@@ -0,0 +1 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M73.137 29.08h-9.209 29.7L63.886.093 34.373 29.08h20.49v27.035H27.238v17.948h27.625v27.133h18.274V74.063h27.41V56.115h-27.41V29.08zm-9.245 98.827l27.518-26.711H36.59l27.302 26.71zM.042 64.982l27.196 27.029V38.167L.042 64.982zm100.505-26.815V92.01l27.41-27.029-27.41-26.815z"/></svg>
\ No newline at end of file
diff --git a/src/icons/svg/edit.svg b/src/icons/svg/edit.svg
new file mode 100644
index 0000000..d26101f
--- /dev/null
+++ b/src/icons/svg/edit.svg
@@ -0,0 +1 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M106.133 67.2a4.797 4.797 0 0 0-4.8 4.8c0 .187.014.36.027.533h-.027V118.4H9.6V26.667h50.133c2.654 0 4.8-2.147 4.8-4.8 0-2.654-2.146-4.8-4.8-4.8H9.6a9.594 9.594 0 0 0-9.6 9.6V118.4c0 5.307 4.293 9.6 9.6 9.6h91.733c5.307 0 9.6-4.293 9.6-9.6V72.533h-.026c.013-.173.026-.346.026-.533 0-2.653-2.146-4.8-4.8-4.8z"/><path d="M125.16 13.373L114.587 2.8c-3.747-3.747-9.854-3.72-13.6.027l-52.96 52.96a4.264 4.264 0 0 0-.907 1.36L33.813 88.533c-.746 1.76-.226 3.534.907 4.68 1.133 1.147 2.92 1.667 4.693.92l31.4-13.293c.507-.213.96-.52 1.36-.907l52.96-52.96c3.747-3.746 3.774-9.853.027-13.6zM66.107 72.4l-18.32 7.76 7.76-18.32L92.72 24.667l10.56 10.56L66.107 72.4zm52.226-52.227l-8.266 8.267-10.56-10.56 8.266-8.267.027-.026 10.56 10.56-.027.026z"/></svg>
\ No newline at end of file
diff --git a/src/icons/svg/education.svg b/src/icons/svg/education.svg
new file mode 100644
index 0000000..7bfb01d
--- /dev/null
+++ b/src/icons/svg/education.svg
@@ -0,0 +1 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M88.883 119.565c-7.284 0-19.434 2.495-21.333 8.25v.127c-4.232.13-5.222 0-7.108 0-1.895-5.76-14.045-8.256-21.333-8.256H0V0h42.523c9.179 0 17.109 5.47 21.47 13.551C68.352 5.475 76.295 0 85.478 0H128v119.57l-39.113-.005h-.004zM60.442 24.763c0-9.651-8.978-16.507-17.777-16.507H7.108V111.43H39.11c7.054-.14 18.177.082 21.333 6.12v-4.628c-.134-5.722-.004-13.522 0-13.832V27.413l.004-2.655-.004.005zm60.442-16.517h-35.55c-8.802 0-17.78 6.856-17.78 16.493v74.259c.004.32.138 8.115 0 13.813v4.627c3.155-6.022 14.279-6.26 21.333-6.114h32V8.25l-.003-.005z"/></svg>
\ No newline at end of file
diff --git a/src/icons/svg/email.svg b/src/icons/svg/email.svg
new file mode 100644
index 0000000..74d25e2
--- /dev/null
+++ b/src/icons/svg/email.svg
@@ -0,0 +1 @@
+<svg width="128" height="96" xmlns="http://www.w3.org/2000/svg"><path d="M64.125 56.975L120.188.912A12.476 12.476 0 0 0 115.5 0h-103c-1.588 0-3.113.3-4.513.838l56.138 56.137z"/><path d="M64.125 68.287l-62.3-62.3A12.42 12.42 0 0 0 0 12.5v71C0 90.4 5.6 96 12.5 96h103c6.9 0 12.5-5.6 12.5-12.5v-71a12.47 12.47 0 0 0-1.737-6.35L64.125 68.287z"/></svg>
\ No newline at end of file
diff --git a/src/icons/svg/example.svg b/src/icons/svg/example.svg
new file mode 100644
index 0000000..46f42b5
--- /dev/null
+++ b/src/icons/svg/example.svg
@@ -0,0 +1 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M96.258 57.462h31.421C124.794 27.323 100.426 2.956 70.287.07v31.422a32.856 32.856 0 0 1 25.971 25.97zm-38.796-25.97V.07C27.323 2.956 2.956 27.323.07 57.462h31.422a32.856 32.856 0 0 1 25.97-25.97zm12.825 64.766v31.421c30.46-2.885 54.507-27.253 57.713-57.712H96.579c-2.886 13.466-13.146 23.726-26.292 26.291zM31.492 70.287H.07c2.886 30.46 27.253 54.507 57.713 57.713V96.579c-13.466-2.886-23.726-13.146-26.291-26.292z"/></svg>
\ No newline at end of file
diff --git a/src/icons/svg/excel.svg b/src/icons/svg/excel.svg
new file mode 100644
index 0000000..74d97b8
--- /dev/null
+++ b/src/icons/svg/excel.svg
@@ -0,0 +1 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M78.208 16.576v8.384h38.72v5.376h-38.72v8.704h38.72v5.376h-38.72v8.576h38.72v5.376h-38.72v8.576h38.72v5.376h-38.72v8.576h38.72v5.376h-38.72v8.512h38.72v5.376h-38.72v11.136H128v-94.72H78.208zM0 114.368L72.128 128V0L0 13.632v100.736z"/><path d="M28.672 82.56h-11.2l14.784-23.488-14.08-22.592h11.52l8.192 14.976 8.448-14.976h11.136l-14.08 22.208L58.368 82.56H46.656l-8.768-15.68z"/></svg>
\ No newline at end of file
diff --git a/src/icons/svg/exit-fullscreen.svg b/src/icons/svg/exit-fullscreen.svg
new file mode 100644
index 0000000..485c128
--- /dev/null
+++ b/src/icons/svg/exit-fullscreen.svg
@@ -0,0 +1 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M49.217 41.329l-.136-35.24c-.06-2.715-2.302-4.345-5.022-4.405h-3.65c-2.712-.06-4.866 2.303-4.806 5.016l.152 19.164-24.151-23.79a6.698 6.698 0 0 0-9.499 0 6.76 6.76 0 0 0 0 9.526l23.93 23.713-18.345.074c-2.712-.069-5.228 1.813-5.64 5.02v3.462c.069 2.721 2.31 4.97 5.022 5.03l35.028-.207c.052.005.087.025.133.025l2.457.054a4.626 4.626 0 0 0 3.436-1.38c.88-.874 1.205-2.096 1.169-3.462l-.262-2.465c0-.048.182-.081.182-.136h.002zm52.523 51.212l18.32-.073c2.713.06 5.224-1.609 5.64-4.815v-3.462c-.068-2.722-2.317-4.97-5.021-5.04l-34.58.21c-.053 0-.086-.021-.138-.021l-2.451-.06a4.64 4.64 0 0 0-3.445 1.381c-.885.868-1.201 2.094-1.174 3.46l.27 2.46c.005.06-.177.095-.177.141l.141 34.697c.069 2.713 2.31 4.338 5.022 4.397l3.45.006c2.705.062 4.867-2.31 4.8-5.026l-.153-18.752 24.151 23.946a6.69 6.69 0 0 0 9.494 0 6.747 6.747 0 0 0 0-9.523L101.74 92.54v.001zM48.125 80.662a4.636 4.636 0 0 0-3.437-1.382l-2.457.06c-.05 0-.082.022-.137.022l-35.025-.21c-2.712.07-4.957 2.318-5.022 5.04v3.462c.409 3.206 2.925 4.874 5.633 4.814l18.554.06-24.132 23.928c-2.62 2.626-2.62 6.89 0 9.524a6.694 6.694 0 0 0 9.496 0l24.155-23.79-.155 18.866c-.06 2.722 2.094 5.093 4.801 5.025h3.65c2.72-.069 4.962-1.685 5.022-4.406l.141-34.956c0-.05-.182-.082-.182-.136l.262-2.46c.03-1.366-.286-2.592-1.166-3.46h-.001zM80.08 47.397a4.62 4.62 0 0 0 3.443 1.374l2.45-.054c.055 0 .088-.02.143-.028l35.08.21c2.712-.062 4.953-2.312 5.021-5.033l.009-3.463c-.417-3.211-2.937-5.084-5.64-5.025l-18.615-.073 23.917-23.715c2.63-2.623 2.63-6.879.008-9.513a6.691 6.691 0 0 0-9.494 0L92.251 26.016l.155-19.312c.065-2.713-2.097-5.085-4.802-5.025h-3.45c-2.713.069-4.954 1.693-5.022 4.406l-.139 35.247c0 .054.18.088.18.136l-.267 2.465c-.028 1.366.288 2.588 1.174 3.463v.001z"/></svg>
\ No newline at end of file
diff --git a/src/icons/svg/eye-open.svg b/src/icons/svg/eye-open.svg
new file mode 100644
index 0000000..88dcc98
--- /dev/null
+++ b/src/icons/svg/eye-open.svg
@@ -0,0 +1 @@
+<svg class="icon" viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="128" height="128"><defs><style/></defs><path d="M512 128q69.675 0 135.51 21.163t115.498 54.997 93.483 74.837 73.685 82.006 51.67 74.837 32.17 54.827L1024 512q-2.347 4.992-6.315 13.483T998.87 560.17t-31.658 51.669-44.331 59.99-56.832 64.34-69.504 60.16-82.347 51.5-94.848 34.687T512 896q-69.675 0-135.51-21.163t-115.498-54.826-93.483-74.326-73.685-81.493-51.67-74.496-32.17-54.997L0 513.707q2.347-4.992 6.315-13.483t18.816-34.816 31.658-51.84 44.331-60.33 56.832-64.683 69.504-60.331 82.347-51.84 94.848-34.816T512 128.085zm0 85.333q-46.677 0-91.648 12.331t-81.152 31.83-70.656 47.146-59.648 54.485-48.853 57.686-37.675 52.821-26.325 43.99q12.33 21.674 26.325 43.52t37.675 52.351 48.853 57.003 59.648 53.845T339.2 767.02t81.152 31.488T512 810.667t91.648-12.331 81.152-31.659 70.656-46.848 59.648-54.186 48.853-57.344 37.675-52.651T927.957 512q-12.33-21.675-26.325-43.648t-37.675-52.65-48.853-57.345-59.648-54.186-70.656-46.848-81.152-31.659T512 213.334zm0 128q70.656 0 120.661 50.006T682.667 512 632.66 632.661 512 682.667 391.339 632.66 341.333 512t50.006-120.661T512 341.333zm0 85.334q-35.328 0-60.33 25.002T426.666 512t25.002 60.33T512 597.334t60.33-25.002T597.334 512t-25.002-60.33T512 426.666z"/></svg>
\ No newline at end of file
diff --git a/src/icons/svg/eye.svg b/src/icons/svg/eye.svg
new file mode 100644
index 0000000..16ed2d8
--- /dev/null
+++ b/src/icons/svg/eye.svg
@@ -0,0 +1 @@
+<svg width="128" height="64" xmlns="http://www.w3.org/2000/svg"><path d="M127.072 7.994c1.37-2.208.914-5.152-.914-6.87-2.056-1.717-4.797-1.226-6.396.982-.229.245-25.586 32.382-55.74 32.382-29.24 0-55.74-32.382-55.968-32.627-1.6-1.963-4.57-2.208-6.397-.49C-.17 3.086-.399 6.275 1.2 8.238c.457.736 5.94 7.36 14.62 14.72L4.17 35.96c-1.828 1.963-1.6 5.152.228 6.87.457.98 1.6 1.471 2.742 1.471s2.284-.49 3.198-1.472l12.564-13.983c5.94 4.416 13.021 8.587 20.788 11.53l-4.797 17.418c-.685 2.699.686 5.397 3.198 6.133h1.37c2.057 0 3.884-1.472 4.341-3.68L52.6 42.83c3.655.736 7.538 1.227 11.422 1.227 3.883 0 7.767-.49 11.422-1.227l4.797 17.173c.457 2.208 2.513 3.68 4.34 3.68.457 0 .914 0 1.143-.246 2.513-.736 3.883-3.434 3.198-6.133l-4.797-17.172c7.767-2.944 14.848-7.114 20.788-11.53l12.336 13.738c.913.981 2.056 1.472 3.198 1.472s2.284-.49 3.198-1.472c1.828-1.963 1.828-4.906.228-6.87l-11.65-13.001c9.366-7.36 14.849-14.474 14.849-14.474z"/></svg>
\ No newline at end of file
diff --git a/src/icons/svg/form.svg b/src/icons/svg/form.svg
new file mode 100644
index 0000000..dcbaa18
--- /dev/null
+++ b/src/icons/svg/form.svg
@@ -0,0 +1 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M84.068 23.784c-1.02 0-1.877-.32-2.572-.96a8.588 8.588 0 0 1-1.738-2.237 11.524 11.524 0 0 1-1.042-2.621c-.232-.895-.348-1.641-.348-2.238V0h.278c.834 0 1.622.085 2.363.256.742.17 1.645.575 2.711 1.214 1.066.64 2.363 1.535 3.892 2.686 1.53 1.15 3.453 2.664 5.77 4.54 2.502 2.045 4.494 3.771 5.977 5.178 1.483 1.406 2.618 2.6 3.406 3.58.787.98 1.274 1.812 1.46 2.494.185.682.277 1.278.277 1.79v2.046H84.068zM127.3 84.01c.278.682.464 1.535.556 2.558.093 1.023-.37 2.003-1.39 2.94-.463.427-.88.832-1.25 1.215-.372.384-.696.704-.974.96a6.69 6.69 0 0 1-.973.767l-11.816-10.741a44.331 44.331 0 0 0 1.877-1.535 31.028 31.028 0 0 1 1.737-1.406c1.112-.938 2.317-1.343 3.615-1.215 1.297.128 2.363.405 3.197.83.927.427 1.923 1.173 2.989 2.239 1.065 1.065 1.876 2.195 2.432 3.388zM78.23 95.902c2.038 0 3.752-.511 5.143-1.534l-26.969 25.83H18.037c-1.761 0-3.684-.47-5.77-1.407a24.549 24.549 0 0 1-5.838-3.709 21.373 21.373 0 0 1-4.518-5.306c-1.204-2.003-1.807-4.07-1.807-6.202V16.495c0-1.79.44-3.665 1.32-5.626A18.41 18.41 0 0 1 5.04 5.562a21.798 21.798 0 0 1 5.213-3.964C12.198.533 14.237 0 16.37 0h53.24v15.984c0 1.62.278 3.367.834 5.242a16.704 16.704 0 0 0 2.572 5.179c1.159 1.577 2.665 2.898 4.518 3.964 1.853 1.066 4.078 1.598 6.673 1.598h20.295v42.325L85.458 92.45c1.02-1.364 1.529-2.856 1.529-4.476 0-2.216-.857-4.113-2.572-5.69-1.714-1.577-3.776-2.366-6.186-2.366H26.1c-2.409 0-4.448.789-6.116 2.366-1.668 1.577-2.502 3.474-2.502 5.69 0 2.217.834 4.092 2.502 5.626 1.668 1.535 3.707 2.302 6.117 2.302h52.13zM26.1 47.951c-2.41 0-4.449.789-6.117 2.366-1.668 1.577-2.502 3.473-2.502 5.69 0 2.216.834 4.092 2.502 5.626 1.668 1.534 3.707 2.302 6.117 2.302h52.13c2.409 0 4.47-.768 6.185-2.302 1.715-1.534 2.572-3.41 2.572-5.626 0-2.217-.857-4.113-2.572-5.69-1.714-1.577-3.776-2.366-6.186-2.366H26.1zm52.407 64.063l1.807-1.663 3.476-3.196a479.75 479.75 0 0 0 4.587-4.284 500.757 500.757 0 0 1 5.004-4.667c3.985-3.666 8.48-7.758 13.485-12.276l11.677 10.741-13.485 12.404-5.004 4.603-4.587 4.22a179.46 179.46 0 0 0-3.267 3.068c-.88.853-1.367 1.322-1.46 1.407-.463.341-.973.703-1.529 1.087-.556.383-1.112.703-1.668.959-.556.256-1.413.575-2.572.959a83.5 83.5 0 0 1-3.545 1.087 72.2 72.2 0 0 1-3.475.895c-1.112.256-1.946.426-2.502.511-1.112.17-1.854.043-2.224-.383-.371-.426-.464-1.151-.278-2.174.092-.511.278-1.279.556-2.302.278-1.023.602-2.067.973-3.132l1.042-3.005c.325-.938.58-1.577.765-1.918a10.157 10.157 0 0 1 2.224-2.941z"/></svg>
\ No newline at end of file
diff --git a/src/icons/svg/fullscreen.svg b/src/icons/svg/fullscreen.svg
new file mode 100644
index 0000000..0e86b6f
--- /dev/null
+++ b/src/icons/svg/fullscreen.svg
@@ -0,0 +1 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M38.47 52L52 38.462l-23.648-23.67L43.209 0H.035L0 43.137l14.757-14.865L38.47 52zm74.773 47.726L89.526 76 76 89.536l23.648 23.672L84.795 128h43.174L128 84.863l-14.757 14.863zM89.538 52l23.668-23.648L128 43.207V.038L84.866 0 99.73 14.76 76 38.472 89.538 52zM38.46 76L14.792 99.651 0 84.794v43.173l43.137.033-14.865-14.757L52 89.53 38.46 76z"/></svg>
\ No newline at end of file
diff --git a/src/icons/svg/guide.svg b/src/icons/svg/guide.svg
new file mode 100644
index 0000000..b271001
--- /dev/null
+++ b/src/icons/svg/guide.svg
@@ -0,0 +1 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M1.482 70.131l36.204 16.18 69.932-65.485-61.38 70.594 46.435 18.735c1.119.425 2.397-.17 2.797-1.363v-.085L127.998.047 1.322 65.874c-1.12.597-1.519 1.959-1.04 3.151.32.511.72.937 1.2 1.107zm44.676 57.821L64.22 107.26l-18.062-7.834v28.527z"/></svg>
\ No newline at end of file
diff --git a/src/icons/svg/icon.svg b/src/icons/svg/icon.svg
new file mode 100644
index 0000000..82be8ee
--- /dev/null
+++ b/src/icons/svg/icon.svg
@@ -0,0 +1 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M115.147.062a13 13 0 0 1 4.94.945c1.55.63 2.907 1.526 4.069 2.688a13.148 13.148 0 0 1 2.761 4.069c.678 1.55 1.017 3.245 1.017 5.086v102.3c0 3.681-1.187 6.733-3.56 9.155-2.373 2.422-5.352 3.633-8.937 3.633H12.992c-3.875 0-7-1.26-9.373-3.779-2.373-2.518-3.56-5.667-3.56-9.445V12.704c0-3.39 1.163-6.345 3.488-8.863C5.872 1.32 8.972.062 12.847.062h102.3zM81.434 109.047c1.744 0 3.003-.412 3.778-1.235.775-.824 1.163-1.914 1.163-3.27 0-1.26-.388-2.325-1.163-3.197-.775-.872-2.034-1.307-3.778-1.307H72.57c.097-.194.145-.485.145-.872V27.09h9.01c1.743 0 2.954-.436 3.633-1.308.678-.872 1.017-1.938 1.017-3.197 0-1.26-.34-2.325-1.017-3.197-.679-.872-1.89-1.308-3.633-1.308H46.268c-1.743 0-2.954.436-3.632 1.308-.678.872-1.018 1.938-1.018 3.197 0 1.26.34 2.325 1.018 3.197.678.872 1.889 1.308 3.632 1.308h8.138v72.075c0 .193.024.339.073.436.048.096.072.242.072.436H46.56c-1.744 0-3.003.435-3.778 1.307-.775.872-1.163 1.938-1.163 3.197 0 1.356.388 2.446 1.163 3.27.775.823 2.034 1.235 3.778 1.235h34.875z"/></svg>
\ No newline at end of file
diff --git a/src/icons/svg/international.svg b/src/icons/svg/international.svg
new file mode 100644
index 0000000..e9b56ee
--- /dev/null
+++ b/src/icons/svg/international.svg
@@ -0,0 +1 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M83.287 103.01c-1.57-3.84-6.778-10.414-15.447-19.548-2.327-2.444-2.182-4.306-1.338-9.862v-.64c.553-3.81 1.513-6.05 14.313-8.087 6.516-1.018 8.203 1.57 10.589 5.178l.785 1.193a12.625 12.625 0 0 0 6.43 5.207c1.134.524 2.53 1.164 4.421 2.24 4.596 2.53 4.596 5.41 4.596 11.753v.727a26.91 26.91 0 0 1-5.178 17.454 59.055 59.055 0 0 1-19.025 11.026c3.49-6.546.814-14.313 0-16.553l-.146-.087zM64 5.12a58.502 58.502 0 0 1 25.484 5.818 54.313 54.313 0 0 0-12.859 10.327c-.93 1.28-1.716 2.473-2.472 3.579-2.444 3.694-3.637 5.352-5.818 5.614a25.105 25.105 0 0 1-4.219 0c-4.276-.29-10.094-.64-11.956 4.422-1.193 3.23-1.396 11.956 2.444 16.495.66 1.077.778 2.4.32 3.578a7.01 7.01 0 0 1-2.066 3.229 18.938 18.938 0 0 1-2.909-2.91 18.91 18.91 0 0 0-8.32-6.603c-1.25-.349-2.647-.64-3.985-.93-3.782-.786-8.03-1.688-9.019-3.812a14.895 14.895 0 0 1-.727-5.818 21.935 21.935 0 0 0-1.396-9.25 8.873 8.873 0 0 0-5.557-4.946A58.705 58.705 0 0 1 64 5.12zM0 64c0 35.346 28.654 64 64 64 35.346 0 64-28.654 64-64 0-35.346-28.654-64-64-64C28.654 0 0 28.654 0 64z"/></svg>
\ No newline at end of file
diff --git a/src/icons/svg/language.svg b/src/icons/svg/language.svg
new file mode 100644
index 0000000..0082b57
--- /dev/null
+++ b/src/icons/svg/language.svg
@@ -0,0 +1 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M84.742 36.8c2.398 7.2 5.595 12.8 11.19 18.4 4.795-4.8 7.992-11.2 10.39-18.4h-21.58zm-52.748 40h20.78l-10.39-28-10.39 28z"/><path d="M111.916 0H16.009C7.218 0 .025 7.2.025 16v96c0 8.8 7.193 16 15.984 16h95.907c8.791 0 15.984-7.2 15.984-16V16c0-8.8-6.394-16-15.984-16zM72.754 103.2c-1.598 1.6-3.197 1.6-4.795 1.6-.8 0-2.398 0-3.197-.8-.8-.8-1.599 0-1.599-.8s-.799-1.6-1.598-3.2c-.8-1.6-.8-2.4-1.599-4l-3.196-8.8H28.797L25.6 96c-1.598 3.2-2.398 5.6-3.197 7.2-.8 1.6-2.398 1.6-4.795 1.6-1.599 0-3.197-.8-4.796-1.6-1.598-1.6-2.397-2.4-2.397-4 0-.8 0-1.6.799-3.2.8-1.6.8-2.4 1.598-4l17.583-44.8c.8-1.6.8-3.2 1.599-4.8.799-1.6 1.598-3.2 2.397-4 .8-.8 1.599-2.4 3.197-3.2 1.599-.8 3.197-.8 4.796-.8 1.598 0 3.196 0 4.795.8 1.598.8 2.398 1.6 3.197 3.2.799.8 1.598 2.4 2.397 4 .8 1.6 1.599 3.2 2.398 5.6l17.583 44c1.598 3.2 2.398 5.6 2.398 7.2-.8.8-1.599 2.4-2.398 4zM116.711 72c-8.791-3.2-15.185-7.2-20.78-12-5.594 5.6-12.787 9.6-21.579 12l-2.397-4c8.791-2.4 15.984-5.6 21.579-11.2C87.939 51.2 83.144 44 81.545 36h-7.992v-3.2h21.58c-1.6-2.4-3.198-5.6-4.796-8l2.397-.8c1.599 2.4 3.997 5.6 5.595 8.8h19.98v4h-7.992c-2.397 8-6.393 15.2-11.189 20 5.595 4.8 11.988 8.8 20.78 11.2l-3.197 4z"/></svg>
\ No newline at end of file
diff --git a/src/icons/svg/link.svg b/src/icons/svg/link.svg
new file mode 100644
index 0000000..48197ba
--- /dev/null
+++ b/src/icons/svg/link.svg
@@ -0,0 +1 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M115.625 127.937H.063V12.375h57.781v12.374H12.438v90.813h90.813V70.156h12.374z"/><path d="M116.426 2.821l8.753 8.753-56.734 56.734-8.753-8.745z"/><path d="M127.893 37.982h-12.375V12.375H88.706V0h39.187z"/></svg>
\ No newline at end of file
diff --git a/src/icons/svg/list.svg b/src/icons/svg/list.svg
new file mode 100644
index 0000000..20259ed
--- /dev/null
+++ b/src/icons/svg/list.svg
@@ -0,0 +1 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M1.585 12.087c0 6.616 3.974 11.98 8.877 11.98 4.902 0 8.877-5.364 8.877-11.98 0-6.616-3.975-11.98-8.877-11.98-4.903 0-8.877 5.364-8.877 11.98zM125.86.107H35.613c-1.268 0-2.114 1.426-2.114 2.852v18.255c0 1.712 1.057 2.853 2.114 2.853h90.247c1.268 0 2.114-1.426 2.114-2.853V2.96c0-1.711-1.057-2.852-2.114-2.852zM.106 62.86c0 6.615 3.974 11.979 8.876 11.979 4.903 0 8.877-5.364 8.877-11.98 0-6.616-3.974-11.98-8.877-11.98-4.902 0-8.876 5.364-8.876 11.98zM124.17 50.88H33.921c-1.268 0-2.114 1.425-2.114 2.851v18.256c0 1.711 1.057 2.852 2.114 2.852h90.247c1.268 0 2.114-1.426 2.114-2.852V53.73c0-1.426-.846-2.852-2.114-2.852zM.106 115.913c0 6.616 3.974 11.98 8.876 11.98 4.903 0 8.877-5.364 8.877-11.98 0-6.616-3.974-11.98-8.877-11.98-4.902 0-8.876 5.364-8.876 11.98zm124.064-11.98H33.921c-1.268 0-2.114 1.426-2.114 2.853v18.255c0 1.711 1.057 2.852 2.114 2.852h90.247c1.268 0 2.114-1.426 2.114-2.852v-18.255c0-1.427-.846-2.853-2.114-2.853z"/></svg>
\ No newline at end of file
diff --git a/src/icons/svg/lock.svg b/src/icons/svg/lock.svg
new file mode 100644
index 0000000..74fee54
--- /dev/null
+++ b/src/icons/svg/lock.svg
@@ -0,0 +1 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M119.88 49.674h-7.987V39.52C111.893 17.738 90.45.08 63.996.08 37.543.08 16.1 17.738 16.1 39.52v10.154H8.113c-4.408 0-7.987 2.94-7.987 6.577v65.13c0 3.637 3.57 6.577 7.987 6.577H119.88c4.407 0 7.987-2.94 7.987-6.577v-65.13c-.008-3.636-3.58-6.577-7.987-6.577zm-23.953 0H32.065V39.52c0-14.524 14.301-26.295 31.931-26.295 17.63 0 31.932 11.777 31.932 26.295v10.153z"/></svg>
\ No newline at end of file
diff --git a/src/icons/svg/message.svg b/src/icons/svg/message.svg
new file mode 100644
index 0000000..14ca817
--- /dev/null
+++ b/src/icons/svg/message.svg
@@ -0,0 +1 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M0 20.967v59.59c0 11.59 8.537 20.966 19.075 20.966h28.613l1 26.477L76.8 101.523h32.125c10.538 0 19.075-9.377 19.075-20.966v-59.59C128 9.377 119.463 0 108.925 0h-89.85C8.538 0 0 9.377 0 20.967zm82.325 33.1c0-5.524 4.013-9.935 9.037-9.935 5.026 0 9.038 4.41 9.038 9.934 0 5.524-4.025 9.934-9.038 9.934-5.024 0-9.037-4.41-9.037-9.934zm-27.613 0c0-5.524 4.013-9.935 9.038-9.935s9.037 4.41 9.037 9.934c0 5.524-4.025 9.934-9.037 9.934-5.025 0-9.038-4.41-9.038-9.934zm-27.1 0c0-5.524 4.013-9.935 9.038-9.935s9.038 4.41 9.038 9.934c0 5.524-4.026 9.934-9.05 9.934-5.013 0-9.025-4.41-9.025-9.934z"/></svg>
\ No newline at end of file
diff --git a/src/icons/svg/money.svg b/src/icons/svg/money.svg
new file mode 100644
index 0000000..c1580de
--- /dev/null
+++ b/src/icons/svg/money.svg
@@ -0,0 +1 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M54.122 127.892v-28.68H7.513V87.274h46.609v-12.4H7.513v-12.86h38.003L.099 0h22.6l32.556 45.07c3.617 5.144 6.44 9.611 8.487 13.385 1.788-3.05 4.89-7.779 9.301-14.186L103.93 0h24.01L82.385 62.013h38.34v12.862h-46.41v12.4h46.41v11.937h-46.41v28.68H54.123z"/></svg>
\ No newline at end of file
diff --git a/src/icons/svg/nested.svg b/src/icons/svg/nested.svg
new file mode 100644
index 0000000..06713a8
--- /dev/null
+++ b/src/icons/svg/nested.svg
@@ -0,0 +1 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M.002 9.2c0 5.044 3.58 9.133 7.998 9.133 4.417 0 7.997-4.089 7.997-9.133 0-5.043-3.58-9.132-7.997-9.132S.002 4.157.002 9.2zM31.997.066h95.981V18.33H31.997V.066zm0 45.669c0 5.044 3.58 9.132 7.998 9.132 4.417 0 7.997-4.088 7.997-9.132 0-3.263-1.524-6.278-3.998-7.91-2.475-1.63-5.524-1.63-7.998 0-2.475 1.632-4 4.647-4 7.91zM63.992 36.6h63.986v18.265H63.992V36.6zm-31.995 82.2c0 5.043 3.58 9.132 7.998 9.132 4.417 0 7.997-4.089 7.997-9.132 0-5.044-3.58-9.133-7.997-9.133s-7.998 4.089-7.998 9.133zm31.995-9.131h63.986v18.265H63.992V109.67zm0-27.404c0 5.044 3.58 9.133 7.998 9.133 4.417 0 7.997-4.089 7.997-9.133 0-3.263-1.524-6.277-3.998-7.909-2.475-1.631-5.524-1.631-7.998 0-2.475 1.632-4 4.646-4 7.91zm31.995-9.13h31.991V91.4H95.987V73.135z"/></svg>
\ No newline at end of file
diff --git a/src/icons/svg/password.svg b/src/icons/svg/password.svg
new file mode 100644
index 0000000..e291d85
--- /dev/null
+++ b/src/icons/svg/password.svg
@@ -0,0 +1 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M108.8 44.322H89.6v-5.36c0-9.04-3.308-24.163-25.6-24.163-23.145 0-25.6 16.881-25.6 24.162v5.361H19.2v-5.36C19.2 15.281 36.798 0 64 0c27.202 0 44.8 15.281 44.8 38.961v5.361zm-32 39.356c0-5.44-5.763-9.832-12.8-9.832-7.037 0-12.8 4.392-12.8 9.832 0 3.682 2.567 6.808 6.407 8.477v11.205c0 2.718 2.875 4.962 6.4 4.962 3.524 0 6.4-2.244 6.4-4.962V92.155c3.833-1.669 6.393-4.795 6.393-8.477zM128 64v49.201c0 8.158-8.645 14.799-19.2 14.799H19.2C8.651 128 0 121.359 0 113.201V64c0-8.153 8.645-14.799 19.2-14.799h89.6c10.555 0 19.2 6.646 19.2 14.799z"/></svg>
\ No newline at end of file
diff --git a/src/icons/svg/pdf.svg b/src/icons/svg/pdf.svg
new file mode 100644
index 0000000..957aa0c
--- /dev/null
+++ b/src/icons/svg/pdf.svg
@@ -0,0 +1 @@
+<svg viewBox="0 0 1024 1024" xmlns="http://www.w3.org/2000/svg" width="128" height="128"><path d="M869.073 277.307H657.111V65.344l211.962 211.963zm-238.232 26.27V65.344l-476.498-.054v416.957h714.73v-178.67H630.841zm-335.836 360.57c-5.07-3.064-10.944-5.133-17.61-6.201-6.67-1.064-13.603-1.6-20.81-1.6h-48.821v85.641h48.822c7.206 0 14.14-.532 20.81-1.6 6.665-1.065 12.54-3.133 17.609-6.202 5.064-3.063 9.134-7.406 12.208-13.007 3.065-5.602 4.6-12.937 4.6-22.011 0-9.07-1.535-16.408-4.6-22.01-3.074-5.603-7.144-9.94-12.208-13.01zM35.82 541.805v416.904h952.358V541.805H35.821zm331.421 191.179c-3.6 11.071-9.343 20.879-17.209 29.413-7.874 8.542-18.078 15.408-30.617 20.61-12.544 5.206-27.747 7.807-45.621 7.807h-66.036v102.45h-62.831V607.517h128.867c17.874 0 33.077 2.6 45.62 7.802 12.541 5.207 22.745 12.076 30.618 20.615 7.866 8.538 13.604 18.277 17.21 29.212 3.6 10.943 5.401 22.278 5.401 34.018 0 11.477-1.8 22.752-5.402 33.819zM644.9 806.417c-5.343 17.61-13.408 32.818-24.212 45.627-10.807 12.803-24.283 22.879-40.423 30.213-16.146 7.343-35.155 11.007-57.03 11.007h-123.26V607.518h123.26c18.41 0 35.552 2.941 51.428 8.808 15.873 5.869 29.618 14.671 41.22 26.412 11.608 11.744 20.674 26.411 27.217 44.02 6.535 17.61 9.803 38.288 9.803 62.035 0 20.81-2.67 40.02-8.003 57.624zm245.362-146.07h-138.07v66.03h119.66v48.829h-119.66v118.058h-62.83V607.518h200.9v52.829h-.001zm-318.2 25.611c-6.402-8.266-14.877-14.604-25.412-19.01-10.544-4.402-23.551-6.602-39.019-6.602h-44.825v180.088h56.029c9.07 0 17.872-1.463 26.415-4.401 8.535-2.932 16.14-7.802 22.812-14.609 6.665-6.8 12.007-15.667 16.007-26.61 4.003-10.94 6.003-24.275 6.003-40.021 0-14.408-1.4-27.416-4.202-39.019-2.8-11.607-7.406-21.542-13.808-29.816zm0 0"/></svg>
\ No newline at end of file
diff --git a/src/icons/svg/people.svg b/src/icons/svg/people.svg
new file mode 100644
index 0000000..2bd54ae
--- /dev/null
+++ b/src/icons/svg/people.svg
@@ -0,0 +1 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M104.185 95.254c8.161 7.574 13.145 17.441 13.145 28.28 0 1.508-.098 2.998-.285 4.466h-10.784c.238-1.465.403-2.948.403-4.465 0-8.983-4.36-17.115-11.419-23.216C86 104.66 75.355 107.162 64 107.162c-11.344 0-21.98-2.495-31.22-6.83-7.064 6.099-11.444 14.218-11.444 23.203 0 1.517.165 3 .403 4.465H10.955a35.444 35.444 0 0 1-.285-4.465c0-10.838 4.974-20.713 13.127-28.291C9.294 85.42.003 70.417.003 53.58.003 23.99 28.656.001 64 .001s63.997 23.988 63.997 53.58c0 16.842-9.299 31.85-23.812 41.673zM64 36.867c-29.454 0-53.33-10.077-53.33 15.342 0 25.418 23.876 46.023 53.33 46.023 29.454 0 53.33-20.605 53.33-46.023 0-25.419-23.876-15.342-53.33-15.342zm24.888 25.644c-3.927 0-7.111-2.665-7.111-5.953 0-3.288 3.184-5.954 7.11-5.954 3.928 0 7.111 2.666 7.111 5.954s-3.183 5.953-7.11 5.953zm-3.556 16.372c0 4.11-9.55 7.442-21.332 7.442-11.781 0-21.332-3.332-21.332-7.442 0-1.06.656-2.064 1.8-2.976 3.295 2.626 10.79 4.465 19.532 4.465 8.743 0 16.237-1.84 19.531-4.465 1.145.912 1.801 1.916 1.801 2.976zm-46.22-16.372c-3.927 0-7.11-2.665-7.11-5.953 0-3.288 3.183-5.954 7.11-5.954 3.927 0 7.111 2.666 7.111 5.954s-3.184 5.953-7.11 5.953z"/></svg>
\ No newline at end of file
diff --git a/src/icons/svg/peoples.svg b/src/icons/svg/peoples.svg
new file mode 100644
index 0000000..aab852e
--- /dev/null
+++ b/src/icons/svg/peoples.svg
@@ -0,0 +1 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M95.648 118.762c0 5.035-3.563 9.121-7.979 9.121H7.98c-4.416 0-7.979-4.086-7.979-9.121C0 100.519 15.408 83.47 31.152 76.75c-9.099-6.43-15.216-17.863-15.216-30.987v-9.128c0-20.16 14.293-36.518 31.893-36.518s31.894 16.358 31.894 36.518v9.122c0 13.137-6.123 24.556-15.216 30.993 15.738 6.726 31.141 23.769 31.141 42.012z"/><path d="M106.032 118.252h15.867c3.376 0 6.101-3.125 6.101-6.972 0-13.957-11.787-26.984-23.819-32.123 6.955-4.919 11.638-13.66 11.638-23.704v-6.985c0-15.416-10.928-27.926-24.39-27.926-1.674 0-3.306.193-4.89.561 1.936 4.713 3.018 9.974 3.018 15.526v9.121c0 13.137-3.056 23.111-11.066 30.993 14.842 4.41 27.312 23.42 27.541 41.509z"/></svg>
\ No newline at end of file
diff --git a/src/icons/svg/qq.svg b/src/icons/svg/qq.svg
new file mode 100644
index 0000000..ee13d4e
--- /dev/null
+++ b/src/icons/svg/qq.svg
@@ -0,0 +1 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M18.448 57.545l-.244-.744-.198-.968-.132-.53v-2.181l.236-.859.24-.908.317-.953.428-1.06.561-1.103.794-1.104v-.773l.077-.724.123-.984.34-1.106.313-1.194.25-.548.289-.511.371-.569.405-.423v-2.73l.234-1.407.236-1.633.42-1.955.577-2.035.43-1.118.426-1.217.468-1.135.559-1.216.57-1.332.655-1.247.737-1.331.929-1.33.43-.762.457-.624.995-1.406 1.025-1.403 1.163-1.444 1.246-1.405 1.352-1.384 1.41-1.423 1.708-1.536 1.083-.934 1.322-1.008 1.34-.89 1.448-.855 1.392-.76 1.57-.63 1.667-.775 1.657-.532 1.653-.552 1.787-.548 1.785-.417 1.876-.347L59.128.68l1.879-.245 1.876-.252 2.002-.106h5.912l1.97.243 1.981.231 2.019.207 1.874.441 1.979.413 1.857.475 2.035.53 1.862.646 1.782.738 1.904.78 1.736.853 1.689.95 1.655 1.044 1.425.971.662.548.693.401 1.323 1.1 1.115 1.064 1.112 1.1 1.083 1.214.894 1.178 1.064 1.217.74 1.306.752 1.162.798 1.352.661 1.175 1.113 2.489.546 1.286.428 1.192.428 1.294.384 1.217.267 1.047.347 1.231.607 2.198.388 1.924.253 1.861.217 1.497.342 2.28.077.362.274.41.737 1.18.473.8.42.832.534.892.472 1.07.307 1.093.334 1.2.252 1.232.115.605.106.746v.648l-.106.643v.8l-.192.774-.35 1.5-.403.76-.299.852v.213l.142.264.4.623 1.746 2.53 1.377 1.9.66 1.267.889 1.389.774 1.52.893 1.627.894 1.828 1.006 2.069.567 1.268.518 1.239.447 1.307.44 1.175.336 1.235.342 1.16.432 2.261.343 2.31.235 2.05v2.891l-.158 1.025-.226 1.768-.308 1.59-.48 1.44-.18.588-.336.707-.28.493-.375.607-.33.383-.42.494-.375.4-.401.34-.48.207-.432.207-.355.114h-.543l-.346-.114-.66-.32-.302-.212-.317-.223-.347-.304-.35-.342-.579-.63-.684-.89-.539-.917-.538-.734-.526-.855-.741-1.517-.833-1.579-.098-.055h-.138l-.338.247-.196.415-.326.516-.567 1.533-.856 2.182-1.096 2.626-.824 1.308-.864 1.366-1.027 1.536-1.09 1.503-.557.68-.676.743-1.555 1.497.136.135.21.214.777.446 3.235 1.524 1.41.779 1.347.756 1.332.953 1.187.982.574.443.432.511.445.593.367.643.198.533.242.64.105.554.115.647-.115.433v.44l-.105.454-.242.415-.092.325-.22.394-.587.784-.543.627-.42.47-.35.348-.893.638-1.01.556-1.077.532-1.155.511-1.287.495-.693.207-.608.167-1.496.342-1.545.325-1.552.323-1.689.27-1.74.072-1.785.21h-5.539l-1.998-.114-1.86-.168-2.005-.27-1.99-.209-2.095-.286-2.03-.495-1.981-.374-1.968-.552-2.019-.707-1.98-.585-1.044-.342-.927-.323-.586-.223-.582-.12h-1.647l-1.904-.131-.962-.096-1.24-.135-.795.705-1.085.665-1.471.701-1.628.875-.99.475-1.033.376-2.281.914-1.24.305-1.3.343-1.803.344-1.13.086-1.193.1-1.246.135-1.45.053h-5.926l-3.346-.053-3.25-.321-1.644-.23-1.589-.23-1.546-.227-1.547-.305-1.442-.456-1.434-.325-1.294-.51-1.223-.474-1.142-.533-.99-.583-.984-.71-.336-.343-.44-.415-.334-.362-.3-.417-.278-.415-.215-.42-.311-.89-.109-.46-.138-.51v-.473l.138-.533v-.53l.109-.53v-1.069l.052-.564.259-.647.215-.646.39-.779.286-.3.236-.348.615-.738.49-.38.464-.266.428-.338.676-.21.543-.324.676-.341.77-.227.775-.231.897-.192.85-.11 1.008-.13 1.093-.081.284-.092h.063l.137-.115v-.13l-.2-.266-.58-.27-1.45-1.231-.975-.761-1.127-.967-1.136-1.082-1.181-1.382-1.36-1.558-.508-.843-.672-.87-.58-1.007-.522-1.1-.704-1.047-.459-1.194-.547-1.192-.546-1.33-.397-1.273-.378-1.575-.112-.057h-.115l-.059-.113h-.14l-.23.113-.114.057-.158.264-.057.321-.119.286-.206.477-.664 1.157-.345.701-.546.612-.58.736-.641.816-.677.724-.795.701-.734.658-.814.524-.89.546-.855.325-1.008.247-.99.095h-.233l-.228-.095-.18-.384-.29-.188-.38-.912-.237-.493-.255-.707-.21-.734-.113-.724-.313-1.648-.12-.972v-3.185l.12-2.379.196-1.214.23-1.252.21-1.347.374-1.254.42-1.443.431-1.407.578-1.448.545-1.38.754-1.4.699-1.52.855-1.425 1.006-1.538 1.023-1.382 1.069-1.538.891-1.071 1.142-1.227 1.202-1.237.56-.59.678-.662.985-.836 1.012-.853 1.647-1.446 1.242-.889z"/></svg>
\ No newline at end of file
diff --git a/src/icons/svg/search.svg b/src/icons/svg/search.svg
new file mode 100644
index 0000000..84233dd
--- /dev/null
+++ b/src/icons/svg/search.svg
@@ -0,0 +1 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M124.884 109.812L94.256 79.166c-.357-.357-.757-.629-1.129-.914a50.366 50.366 0 0 0 8.186-27.59C101.327 22.689 78.656 0 50.67 0 22.685 0 0 22.688 0 50.663c0 27.989 22.685 50.663 50.656 50.663 10.186 0 19.643-3.03 27.6-8.201.286.385.557.771.9 1.114l30.628 30.632a10.633 10.633 0 0 0 7.543 3.129c2.728 0 5.457-1.043 7.543-3.115 4.171-4.157 4.171-10.915.014-15.073M50.671 85.338C31.557 85.338 16 69.78 16 50.663c0-19.102 15.557-34.661 34.67-34.661 19.115 0 34.657 15.559 34.657 34.675 0 19.102-15.557 34.661-34.656 34.661"/></svg>
\ No newline at end of file
diff --git a/src/icons/svg/shopping.svg b/src/icons/svg/shopping.svg
new file mode 100644
index 0000000..87513e7
--- /dev/null
+++ b/src/icons/svg/shopping.svg
@@ -0,0 +1 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M42.913 101.36c1.642 0 3.198.332 4.667.996a12.28 12.28 0 0 1 3.89 2.772c1.123 1.184 1.987 2.582 2.592 4.193.605 1.612.908 3.318.908 5.118 0 1.8-.303 3.507-.908 5.118-.605 1.611-1.469 3.01-2.593 4.194a13.3 13.3 0 0 1-3.889 2.843 10.582 10.582 0 0 1-4.667 1.066c-1.729 0-3.306-.355-4.732-1.066a13.604 13.604 0 0 1-3.825-2.843c-1.123-1.185-1.988-2.583-2.593-4.194a14.437 14.437 0 0 1-.907-5.118c0-1.8.302-3.506.907-5.118.605-1.61 1.47-3.009 2.593-4.193a12.515 12.515 0 0 1 3.825-2.772c1.426-.664 3.003-.996 4.732-.996zm53.932.285c1.643 0 3.22.331 4.733.995a11.386 11.386 0 0 1 3.889 2.772c1.08 1.185 1.945 2.583 2.593 4.194.648 1.61.972 3.317.972 5.118 0 1.8-.324 3.506-.972 5.117-.648 1.611-1.513 3.01-2.593 4.194a12.253 12.253 0 0 1-3.89 2.843 11 11 0 0 1-4.732 1.066 10.58 10.58 0 0 1-4.667-1.066 12.478 12.478 0 0 1-3.824-2.843c-1.08-1.185-1.945-2.583-2.593-4.194a13.581 13.581 0 0 1-.973-5.117c0-1.801.325-3.507.973-5.118.648-1.611 1.512-3.01 2.593-4.194a11.559 11.559 0 0 1 3.824-2.772 11.212 11.212 0 0 1 4.667-.995zm21.781-80.747c2.42 0 4.3.355 5.64 1.066 1.34.71 2.29 1.587 2.852 2.63a6.427 6.427 0 0 1 .778 3.34c-.044 1.185-.195 2.204-.454 3.057-.26.853-.8 2.606-1.62 5.26a589.268 589.268 0 0 1-2.788 8.743 1236.373 1236.373 0 0 0-3.047 9.453c-.994 3.128-1.75 5.592-2.269 7.393-1.123 3.79-2.55 6.42-4.278 7.89-1.728 1.469-3.846 2.203-6.352 2.203H39.023l1.945 12.795h65.342c4.148 0 6.223 1.943 6.223 5.828 0 1.896-.41 3.53-1.232 4.905-.821 1.374-2.442 2.061-4.862 2.061H38.505c-1.729 0-3.176-.426-4.343-1.28-1.167-.852-2.14-1.966-2.917-3.34a21.277 21.277 0 0 1-1.88-4.478 44.128 44.128 0 0 1-1.102-4.55c-.087-.568-.324-1.942-.713-4.122-.39-2.18-.865-4.904-1.426-8.174l-1.88-10.947c-.692-4.027-1.383-8.079-2.075-12.154-1.642-9.572-3.5-20.234-5.574-31.986H6.87c-1.296 0-2.377-.356-3.24-1.067a9.024 9.024 0 0 1-2.14-2.558 10.416 10.416 0 0 1-1.167-3.2C.108 8.53 0 7.488 0 6.54c0-1.896.583-3.46 1.75-4.69C2.917.615 4.494 0 6.482 0h13.095c1.728 0 3.111.284 4.148.853 1.037.569 1.858 1.28 2.463 2.132a8.548 8.548 0 0 1 1.297 2.701c.26.948.475 1.754.648 2.417.173.758.346 1.825.519 3.199.173 1.374.345 2.772.518 4.193.26 1.706.519 3.507.778 5.403h88.678z"/></svg>
\ No newline at end of file
diff --git a/src/icons/svg/size.svg b/src/icons/svg/size.svg
new file mode 100644
index 0000000..ddb25b8
--- /dev/null
+++ b/src/icons/svg/size.svg
@@ -0,0 +1 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M0 54.857h54.796v18.286H36.531V128H18.265V73.143H0V54.857zm127.857-36.571H91.935V128H72.456V18.286H36.534V0h91.326l-.003 18.286z"/></svg>
\ No newline at end of file
diff --git a/src/icons/svg/skill.svg b/src/icons/svg/skill.svg
new file mode 100644
index 0000000..a3b7312
--- /dev/null
+++ b/src/icons/svg/skill.svg
@@ -0,0 +1 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M31.652 93.206h33.401c1.44 2.418 3.077 4.663 4.93 6.692h-38.33v-6.692zm0-10.586h28.914a44.8 44.8 0 0 1-1.264-6.688h-27.65v6.688zm0-17.27H59.39c.288-2.286.714-4.532 1.34-6.687H31.65v6.687h.003zm53.913 44.84v5.85c0 2.798-2.095 5.075-4.667 5.075h-70.07c-2.576 0-4.663-2.277-4.663-5.075V31.26l23.22-20.96v22.25H17.16v6.688h18.39V6.688h45.348c2.576 0 4.667 2.277 4.667 5.066v20.009c1.987-.675 4.053-1.128 6.17-1.445v-18.56C91.738 5.28 86.874 0 80.902 0H31.15L0 28.118v87.917c0 6.48 4.859 11.759 10.832 11.759h70.07c5.974 0 10.837-5.27 10.837-11.759v-4.41c-2.117-.312-4.183-.765-6.17-1.435h-.004zM23.279 58.667h-7.96v6.688h7.96v-6.688zm-7.956 41.23h7.96v-6.691h-7.96v6.692zm7.956-23.96h-7.96v6.687h7.96v-6.688zm89.718-15.042l-4.896-4.07-12.447 17.613-11.19-9.305-3.762 5.311 16.091 13.38 16.204-22.929zM128 70.978c0-18.632-13.97-33.782-31.147-33.782-17.168 0-31.135 15.155-31.135 33.782 0 18.628 13.97 33.783 31.135 33.783 17.172 0 31.143-15.15 31.143-33.783H128zm-6.17 0c0 14.933-11.203 27.1-24.981 27.1-13.77 0-24.987-12.158-24.987-27.1 0-14.941 11.195-27.099 24.987-27.099 13.778 0 24.982 12.158 24.982 27.1z"/></svg>
\ No newline at end of file
diff --git a/src/icons/svg/star.svg b/src/icons/svg/star.svg
new file mode 100644
index 0000000..6cf86e6
--- /dev/null
+++ b/src/icons/svg/star.svg
@@ -0,0 +1 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M70.66 4.328l14.01 29.693c1.088 2.29 3.177 3.882 5.603 4.25l31.347 4.76c6.087.926 8.528 8.756 4.117 13.247L103.05 79.395c-1.75 1.78-2.544 4.352-2.132 6.867l5.352 32.641c1.043 6.337-5.33 11.182-10.778 8.19l-28.039-15.409a7.13 7.13 0 0 0-6.91 0l-28.039 15.41c-5.448 2.99-11.821-1.854-10.777-8.19l5.352-32.642c.415-2.515-.387-5.088-2.136-6.867L2.264 56.278C-2.146 51.787.286 43.957 6.38 43.031l31.343-4.76c2.419-.368 4.51-1.96 5.595-4.25L57.334 4.328c2.728-5.77 10.605-5.77 13.325 0z"/></svg>
\ No newline at end of file
diff --git a/src/icons/svg/tab.svg b/src/icons/svg/tab.svg
new file mode 100644
index 0000000..b4b48e4
--- /dev/null
+++ b/src/icons/svg/tab.svg
@@ -0,0 +1 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M78.921.052H49.08c-1.865 0-3.198 1.599-3.198 3.464v6.661c0 1.865 1.6 3.464 3.198 3.464h29.84c1.865 0 3.198-1.599 3.198-3.464V3.516C82.385 1.65 80.786.052 78.92.052zm45.563 0H94.642c-1.865 0-3.464 1.599-3.464 3.464v6.661c0 1.865 1.599 3.464 3.464 3.464h29.842c1.865-.266 3.464-1.599 3.464-3.464V3.516c0-1.865-1.599-3.464-3.464-3.464zm0 22.382H40.02c-1.866 0-3.464-1.599-3.464-3.464V3.516c0-1.865-1.599-3.464-3.464-3.464H3.516C1.65.052.052 1.651.052 3.516V124.75c0 1.598 1.599 3.197 3.464 3.197h120.968c1.865 0 3.464-1.599 3.464-3.464V25.898c0-1.865-1.599-3.464-3.464-3.464z"/></svg>
\ No newline at end of file
diff --git a/src/icons/svg/table.svg b/src/icons/svg/table.svg
new file mode 100644
index 0000000..0e3dc9d
--- /dev/null
+++ b/src/icons/svg/table.svg
@@ -0,0 +1 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M.006.064h127.988v31.104H.006V.064zm0 38.016h38.396v41.472H.006V38.08zm0 48.384h38.396v41.472H.006V86.464zM44.802 38.08h38.396v41.472H44.802V38.08zm0 48.384h38.396v41.472H44.802V86.464zM89.598 38.08h38.396v41.472H89.598zm0 48.384h38.396v41.472H89.598z"/><path d="M.006.064h127.988v31.104H.006V.064zm0 38.016h38.396v41.472H.006V38.08zm0 48.384h38.396v41.472H.006V86.464zM44.802 38.08h38.396v41.472H44.802V38.08zm0 48.384h38.396v41.472H44.802V86.464zM89.598 38.08h38.396v41.472H89.598zm0 48.384h38.396v41.472H89.598z"/></svg>
\ No newline at end of file
diff --git a/src/icons/svg/theme.svg b/src/icons/svg/theme.svg
new file mode 100644
index 0000000..5982a2f
--- /dev/null
+++ b/src/icons/svg/theme.svg
@@ -0,0 +1 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M125.5 36.984L95.336 2.83C93.735 1.018 91.565 0 89.3 0c-2.263 0-4.433 1.018-6.033 2.83l-3.786 4.286c-1.6 1.812-3.77 2.83-6.032 2.831H54.553c-2.263 0-4.434-1.018-6.033-2.83L44.734 2.83C43.134 1.018 40.964 0 38.701 0c-2.263 0-4.434 1.018-6.034 2.83L2.5 36.984C.9 38.796 0 41.254 0 43.815c0 2.562.899 5.02 2.5 6.831L14.565 64.31c2.178 2.468 5.367 3.403 8.33 2.444 1.35-.435 2.709.592 2.709 2.18v49.407c0 5.313 3.84 9.66 8.532 9.66h59.726c4.693 0 8.532-4.347 8.532-9.66V68.934c0-1.59 1.36-2.616 2.71-2.181 2.962.96 6.15.024 8.329-2.444L125.5 50.646c1.6-1.811 2.499-4.269 2.499-6.83 0-2.563-.899-5.02-2.5-6.832z"/></svg>
\ No newline at end of file
diff --git a/src/icons/svg/tree-table.svg b/src/icons/svg/tree-table.svg
new file mode 100644
index 0000000..8aafdb8
--- /dev/null
+++ b/src/icons/svg/tree-table.svg
@@ -0,0 +1 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M44.8 0h79.543C126.78 0 128 1.422 128 4.267v23.466c0 2.845-1.219 4.267-3.657 4.267H44.8c-2.438 0-3.657-1.422-3.657-4.267V4.267C41.143 1.422 42.362 0 44.8 0zm22.857 48h56.686c2.438 0 3.657 1.422 3.657 4.267v23.466c0 2.845-1.219 4.267-3.657 4.267H67.657C65.22 80 64 78.578 64 75.733V52.267C64 49.422 65.219 48 67.657 48zm0 48h56.686c2.438 0 3.657 1.422 3.657 4.267v23.466c0 2.845-1.219 4.267-3.657 4.267H67.657C65.22 128 64 126.578 64 123.733v-23.466C64 97.422 65.219 96 67.657 96zM50.286 68.267c2.02 0 3.657-1.91 3.657-4.267 0-2.356-1.638-4.267-3.657-4.267H17.37V32h6.4c2.02 0 3.658-1.91 3.658-4.267V4.267C27.429 1.91 25.79 0 23.77 0H3.657C1.637 0 0 1.91 0 4.267v23.466C0 30.09 1.637 32 3.657 32h6.4v80c0 2.356 1.638 4.267 3.657 4.267h36.572c2.02 0 3.657-1.91 3.657-4.267 0-2.356-1.638-4.267-3.657-4.267H17.37V68.267h32.915z"/></svg>
\ No newline at end of file
diff --git a/src/icons/svg/tree.svg b/src/icons/svg/tree.svg
new file mode 100644
index 0000000..dd4b7dd
--- /dev/null
+++ b/src/icons/svg/tree.svg
@@ -0,0 +1 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M126.713 90.023c.858.985 1.287 2.134 1.287 3.447v29.553c0 1.423-.429 2.6-1.287 3.53-.858.93-1.907 1.395-3.146 1.395H97.824c-1.145 0-2.146-.465-3.004-1.395-.858-.93-1.287-2.107-1.287-3.53V93.47c0-.875.19-1.696.572-2.462.382-.766.906-1.368 1.573-1.806a3.84 3.84 0 0 1 2.146-.657h9.725V69.007a3.84 3.84 0 0 0-.43-1.806 3.569 3.569 0 0 0-1.143-1.313 2.714 2.714 0 0 0-1.573-.492h-36.47v23.149h9.725c1.144 0 2.145.492 3.004 1.478.858.985 1.287 2.134 1.287 3.447v29.553c0 .876-.191 1.696-.573 2.463-.38.766-.905 1.368-1.573 1.806a3.84 3.84 0 0 1-2.145.656H51.915a3.84 3.84 0 0 1-2.145-.656c-.668-.438-1.216-1.04-1.645-1.806a4.96 4.96 0 0 1-.644-2.463V93.47c0-1.313.43-2.462 1.288-3.447.858-.986 1.907-1.478 3.146-1.478h9.582v-23.15h-37.9c-.953 0-1.74.356-2.359 1.068-.62.711-.93 1.56-.93 2.544v19.538h9.726c1.239 0 2.264.492 3.074 1.478.81.985 1.216 2.134 1.216 3.447v29.553c0 1.423-.405 2.6-1.216 3.53-.81.93-1.835 1.395-3.074 1.395H4.29c-.476 0-.93-.082-1.358-.246a4.1 4.1 0 0 1-1.144-.657 4.658 4.658 0 0 1-.93-1.067 5.186 5.186 0 0 1-.643-1.395 5.566 5.566 0 0 1-.215-1.56V93.47c0-.437.048-.875.143-1.313a3.95 3.95 0 0 1 .429-1.15c.19-.328.429-.656.715-.984.286-.329.572-.602.858-.821.286-.22.62-.383 1.001-.493.382-.11.763-.164 1.144-.164h9.726V61.619c0-.985.31-1.833.93-2.544.619-.712 1.358-1.068 2.216-1.068h44.335V39.62h-9.582c-1.24 0-2.288-.492-3.146-1.477a5.09 5.09 0 0 1-1.287-3.448V5.14c0-1.423.429-2.627 1.287-3.612.858-.985 1.907-1.477 3.146-1.477h25.743c.763 0 1.478.246 2.145.739a5.17 5.17 0 0 1 1.573 1.888c.382.766.573 1.587.573 2.462v29.553c0 1.313-.43 2.463-1.287 3.448-.859.985-1.86 1.477-3.004 1.477h-9.725v18.389h42.762c.954 0 1.74.355 2.36 1.067.62.711.93 1.56.93 2.545v26.925h9.582c1.239 0 2.288.492 3.146 1.478z"/></svg>
\ No newline at end of file
diff --git a/src/icons/svg/user.svg b/src/icons/svg/user.svg
new file mode 100644
index 0000000..0ba0716
--- /dev/null
+++ b/src/icons/svg/user.svg
@@ -0,0 +1 @@
+<svg width="130" height="130" xmlns="http://www.w3.org/2000/svg"><path d="M63.444 64.996c20.633 0 37.359-14.308 37.359-31.953 0-17.649-16.726-31.952-37.359-31.952-20.631 0-37.36 14.303-37.358 31.952 0 17.645 16.727 31.953 37.359 31.953zM80.57 75.65H49.434c-26.652 0-48.26 18.477-48.26 41.27v2.664c0 9.316 21.608 9.325 48.26 9.325H80.57c26.649 0 48.256-.344 48.256-9.325v-2.663c0-22.794-21.605-41.271-48.256-41.271z" stroke="#979797"/></svg>
\ No newline at end of file
diff --git a/src/icons/svg/wechat.svg b/src/icons/svg/wechat.svg
new file mode 100644
index 0000000..c586e55
--- /dev/null
+++ b/src/icons/svg/wechat.svg
@@ -0,0 +1 @@
+<svg width="128" height="110" xmlns="http://www.w3.org/2000/svg"><path d="M86.635 33.334c1.467 0 2.917.113 4.358.283C87.078 14.392 67.58.111 45.321.111 20.44.111.055 17.987.055 40.687c0 13.104 6.781 23.863 18.115 32.209l-4.527 14.352 15.82-8.364c5.666 1.182 10.207 2.395 15.858 2.395 1.42 0 2.829-.073 4.227-.189-.886-3.19-1.398-6.53-1.398-9.996 0-20.845 16.98-37.76 38.485-37.76zm-24.34-12.936c3.407 0 5.665 2.363 5.665 5.954 0 3.576-2.258 5.97-5.666 5.97-3.392 0-6.795-2.395-6.795-5.97 0-3.591 3.403-5.954 6.795-5.954zM30.616 32.323c-3.393 0-6.818-2.395-6.818-5.971 0-3.591 3.425-5.954 6.818-5.954 3.392 0 5.65 2.363 5.65 5.954 0 3.576-2.258 5.97-5.65 5.97z"/><path d="M127.945 70.52c0-19.075-18.108-34.623-38.448-34.623-21.537 0-38.5 15.548-38.5 34.623 0 19.108 16.963 34.622 38.5 34.622 4.508 0 9.058-1.2 13.584-2.395l12.414 7.167-3.404-11.923c9.087-7.184 15.854-16.712 15.854-27.471zm-50.928-5.97c-2.254 0-4.53-2.362-4.53-4.773 0-2.378 2.276-4.771 4.53-4.771 3.422 0 5.665 2.393 5.665 4.771 0 2.41-2.243 4.773-5.665 4.773zm24.897 0c-2.24 0-4.498-2.362-4.498-4.773 0-2.378 2.258-4.771 4.498-4.771 3.392 0 5.665 2.393 5.665 4.771 0 2.41-2.273 4.773-5.665 4.773z"/></svg>
\ No newline at end of file
diff --git a/src/icons/svg/zip.svg b/src/icons/svg/zip.svg
new file mode 100644
index 0000000..f806fc4
--- /dev/null
+++ b/src/icons/svg/zip.svg
@@ -0,0 +1 @@
+<svg width="128" height="128" xmlns="http://www.w3.org/2000/svg"><path d="M78.527 116.793c.178.008.348.024.527.024h40.233c4.711-.005 8.53-3.677 8.534-8.21V18.895c-.004-4.532-3.823-8.204-8.534-8.209H79.054c-.179 0-.353.016-.527.024V0L0 10.082v107.406l78.527 10.342v-11.037zm0-101.362c.174-.024.348-.052.527-.052h40.233c2.018 0 3.659 1.578 3.659 3.52v89.713c-.003 1.942-1.64 3.517-3.659 3.519H79.054c-.179 0-.353-.028-.527-.052V15.431zM30.262 75.757l-18.721-.46V72.37l11.3-16.673v-.148l-10.266.164v-4.51l17.504-.44v3.264L18.696 70.76v.144l11.566.176v4.678zm9.419.231l-5.823-.144V50.671l5.823-.144v25.461zm22.255-11.632c-2.168 1.922-5.353 2.76-9.02 2.736-.702.004-1.402-.04-2.097-.131v9.303l-5.997-.148V50.743c1.852-.352 4.473-.647 8.218-.743 3.838-.096 6.608.539 8.48 1.913 1.807 1.306 3.032 3.5 3.032 6.112s-.926 4.833-2.612 6.331h-.004zM53.36 54.45c-.856-.01-1.71.083-2.541.275v7.682c.523.116 1.167.152 2.06.152 3.301-.004 5.36-1.614 5.36-4.314 0-2.425-1.772-3.843-4.875-3.791l-.004-.004zm39.847-37.066h9.564v3.795h-9.564v-3.795zm-9.568 5.68h9.564v3.8h-9.564v-3.8zm9.568 6.216h9.564v3.799h-9.564V29.28zm0 12h9.564v3.794h-9.564V41.28zm-9.568-6.096h9.564v3.795h-9.564v-3.795zm9.472 47.064c2.512 0 4.921-.96 6.697-2.67 1.776-1.708 2.773-4.026 2.772-6.442l-1.748-15.263c0-5.033-2.492-9.112-7.725-9.112-5.232 0-7.72 4.079-7.72 9.112l-1.752 15.263c-.001 2.417.996 4.735 2.773 6.444 1.777 1.71 4.187 2.669 6.7 2.668h.003zm-3.135-16.75h6.27v12.743h-6.27V65.5z"/></svg>
\ No newline at end of file
diff --git a/src/icons/svgo.yml b/src/icons/svgo.yml
new file mode 100644
index 0000000..d11906a
--- /dev/null
+++ b/src/icons/svgo.yml
@@ -0,0 +1,22 @@
+# replace default config
+
+# multipass: true
+# full: true
+
+plugins:
+
+ # - name
+ #
+ # or:
+ # - name: false
+ # - name: true
+ #
+ # or:
+ # - name:
+ # param1: 1
+ # param2: 2
+
+- removeAttrs:
+ attrs:
+ - 'fill'
+ - 'fill-rule'
diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue
new file mode 100644
index 0000000..9924adf
--- /dev/null
+++ b/src/layout/components/AppMain.vue
@@ -0,0 +1,93 @@
+<template>
+ <section class="app-main">
+ <transition name="fade-transform" mode="out-in">
+ <keep-alive :include="cachedViews">
+ <router-view :key="key" />
+ </keep-alive>
+ </transition>
+ <!-- <div class="footers">
+ <el-link v-for="item in links" :key="item.key" :href="item.href" target="_blank" class="mr15 mb20">{{item.title}}</el-link>
+ <div class="title mb15" v-text="copyright"></div>
+ </div> -->
+ </section>
+</template>
+
+<script>
+export default {
+ name: "AppMain",
+ data() {
+ return {
+ links: [
+ {
+ title: "瀹樼綉",
+ key: "1",
+ href: "https://www.CMS.com",
+ blankTarget: true,
+ },
+ {
+ title: "绀惧尯",
+ key: "2",
+ href: "https://q.CMS.net/?categoryId=122&sequence=0",
+ blankTarget: true,
+ },
+ {
+ title: "鏂囨。",
+ key: "3",
+ href: "https://help.CMS.net/CMS_java/1748037",
+ blankTarget: true,
+ },
+ ],
+ copyright: "Copyright 漏 2025 鏈夐檺鍏徃",
+ };
+ },
+ computed: {
+ cachedViews() {
+ return this.$store.state.tagsView.cachedViews;
+ },
+ key() {
+ return this.$route.path;
+ },
+ },
+};
+</script>
+
+<style lang="scss" scoped>
+.footers {
+ text-align: center;
+ font-size: 14px;
+ color: #808695;
+ .title {
+ font-size: 14px;
+ color: #808695;
+ }
+}
+.app-main {
+ /* 50= navbar 50 */
+ min-height: calc(100vh - 50px);
+ width: 100%;
+ position: relative;
+ overflow: hidden;
+}
+
+.fixed-header + .app-main {
+ padding-top: 50px;
+}
+
+.hasTagsView {
+ .app-main {
+ background: #f5f5f5;
+ /* 84 = navbar + tags-view = 50 + 34 */
+ min-height: calc(100vh - 50px);
+ overflow-y: scroll;
+ }
+
+ .fixed-header + .app-main {
+ padding-top: 50px;
+ }
+}
+.el-popup-parent--hidden {
+ .fixed-header {
+ padding-right: 15px;
+ }
+}
+</style>
diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue
new file mode 100644
index 0000000..0030c13
--- /dev/null
+++ b/src/layout/components/Navbar.vue
@@ -0,0 +1,240 @@
+<template>
+ <div class="navbar" :class="showVehicle ? 'vehicleNavBar' : ''">
+ <template v-if="device !== 'mobile'">
+ <hamburger
+ id="hamburger-container"
+ :is-active="sidebar.opened"
+ class="hamburger-container"
+ @toggleClick="toggleSideBar"
+ />
+ <breadcrumb id="breadcrumb-container" class="breadcrumb-container" />
+ </template>
+ <div v-if="device === 'mobile' && showback" @click="goBack" class="back">
+ <i class="el-icon-arrow-left"></i>
+ </div>
+ <div class="navTitle" v-if="device === 'mobile' && showVehicle">
+ 杞﹁締淇℃伅
+ </div>
+ <div v-if="showVehicle == false" class="right-menu">
+ <template v-if="device !== 'mobile'">
+ <search id="header-search" class="right-menu-item" />
+ <screenfull id="screenfull" class="right-menu-item hover-effect" />
+ </template>
+ <el-dropdown
+ class="avatar-container right-menu-item hover-effect"
+ trigger="click"
+ >
+ <div class="avatar-wrapper">
+ {{ JavaInfo.realName
+ }}<i class="el-icon-arrow-down el-icon--right"></i>
+ </div>
+ <el-dropdown-menu slot="dropdown">
+ <!-- <router-link to="/">
+ <el-dropdown-item>涓婚〉</el-dropdown-item>
+ </router-link> -->
+ <router-link :to="{ path: '/maintain/user' }" v-if="!isPhone">
+ <el-dropdown-item>涓汉涓績</el-dropdown-item>
+ </router-link>
+ <el-dropdown-item @click.native="logout">
+ <span>閫�鍑�</span>
+ </el-dropdown-item>
+ </el-dropdown-menu>
+ </el-dropdown>
+ </div>
+ </div>
+</template>
+
+<script>
+import { mapGetters } from "vuex";
+import Breadcrumb from "@/components/Breadcrumb";
+import Hamburger from "@/components/Hamburger";
+import Screenfull from "@/components/Screenfull";
+import Search from "@/components/HeaderSearch";
+import Cookies from "js-cookie";
+export default {
+ components: {
+ Breadcrumb,
+ Hamburger,
+ Screenfull,
+ Search,
+ },
+ data() {
+ return {
+ showback: true,
+ isPhone: this.$wechat.isPhone(),
+ JavaInfo: JSON.parse(Cookies.get("JavaInfo")),
+ showVehicle: false,
+ };
+ },
+ watch: {
+ show(value) {
+ if (value && !this.clickNotClose) {
+ this.addEventClick();
+ }
+ if (value) {
+ addClass(document.body, "showRightPanel");
+ } else {
+ removeClass(document.body, "showRightPanel");
+ }
+ },
+ $route: {
+ handler(to, from) {
+ if (
+ to.path == "/javaMobile/orderCancellation" ||
+ to.path === "/javaMobile/queryResult"
+ ) {
+ this.showback = false;
+ } else {
+ this.showback = true;
+ }
+
+ if (
+ to.path === "/javaMobile/hexiaoInfo" ||
+ to.path === "/javaMobile/queryResult"
+ ) {
+ this.showVehicle = true;
+ } else {
+ this.showVehicle = false;
+ }
+ },
+ deep: true,
+ immediate: true,
+ },
+ },
+ computed: {
+ ...mapGetters(["sidebar", "avatar", "device"]),
+ },
+ methods: {
+ goBack() {
+ //鏍搁攢缁撴灉椤� 杩斿洖鍒版牳閿�椤�
+ if (this.$route.path == "/javaMobile/hexiaoInfo") {
+ window.location.href = 'back'
+ // this.$router.push("/javaMobile/orderCancellation");
+ } else {
+ this.$router.go(-1);
+ }
+ },
+ toggleSideBar() {
+ this.$store.dispatch("app/toggleSideBar");
+ },
+ async logout() {
+ await this.$store.dispatch("user/logout");
+ this.$router.push(`/login?redirect=${this.$route.fullPath}`);
+ },
+ },
+};
+</script>
+
+<style lang="scss" scoped>
+.navbar {
+ height: 50px;
+ overflow: hidden;
+ position: relative;
+ background: #fff;
+
+ .back {
+ position: absolute;
+ left: 0.312rem;
+ height: 50px;
+ line-height: 50px;
+ font-size: 24px;
+ }
+ // box-shadow: 0 1px 4px rgba(0, 21, 41, 0.08);
+
+ .hamburger-container {
+ line-height: 46px;
+ height: 100%;
+ float: left;
+ cursor: pointer;
+ transition: background 0.3s;
+ -webkit-tap-highlight-color: transparent;
+
+ &:hover {
+ background: rgba(0, 0, 0, 0.025);
+ }
+ }
+
+ .breadcrumb-container {
+ float: left;
+ }
+
+ .topmenu-container {
+ position: absolute;
+ left: 50px;
+ }
+
+ .errLog-container {
+ display: inline-block;
+ vertical-align: top;
+ }
+
+ .right-menu {
+ float: right;
+ height: 100%;
+ line-height: 50px;
+
+ &:focus {
+ outline: none;
+ }
+
+ .right-menu-item {
+ display: inline-block;
+ padding: 0 8px;
+ height: 100%;
+ font-size: 18px;
+ color: #5a5e66;
+ vertical-align: text-bottom;
+
+ &.hover-effect {
+ cursor: pointer;
+ transition: background 0.3s;
+
+ &:hover {
+ background: rgba(0, 0, 0, 0.025);
+ }
+ }
+ }
+
+ .avatar-container {
+ margin-right: 30px;
+
+ .avatar-wrapper {
+ position: relative;
+ font-size: 14px;
+ .user-avatar {
+ cursor: pointer;
+ width: 40px;
+ height: 40px;
+ border-radius: 10px;
+ }
+
+ .el-icon-caret-bottom {
+ cursor: pointer;
+ position: absolute;
+ right: -20px;
+ top: 25px;
+ font-size: 12px;
+ }
+ }
+ }
+ }
+}
+.vehicleNavBar {
+ background: #3873f3;
+ color: white;
+
+ .navTitle {
+ position: absolute;
+ top: 0;
+ height: 50px;
+ line-height: 50px;
+ width: 200px;
+ text-align: center;
+ left: 50%;
+ font-size: 0.374rem;
+ transform: translateX(-50%);
+ font-size: 0.45rem;
+ font-weight: 500;
+ }
+}
+</style>
diff --git a/src/layout/components/Settings/index.vue b/src/layout/components/Settings/index.vue
new file mode 100644
index 0000000..473f97f
--- /dev/null
+++ b/src/layout/components/Settings/index.vue
@@ -0,0 +1,188 @@
+<template>
+ <div class="drawer-container">
+ <div>
+ <h3 class="drawer-title">涓婚椋庢牸璁剧疆</h3>
+ <div class="drawer-item">
+ <span>涓婚棰滆壊</span>
+ <theme-picker style="float: right;height: 26px;margin: -3px 8px 0 0;" @change="themeChange" />
+ <div class="drawer-item" v-if="topNav">
+ <span>寮�鍚� Icon</span>
+ <el-switch v-model="navIcon" class="drawer-switch" />
+ </div>
+
+ <div class="drawer-item">
+ <span>寮�鍚� Tags-Views</span>
+ <el-switch v-model="tagsView" class="drawer-switch" />
+ </div>
+
+ <div class="drawer-item">
+ <span>鍥哄畾 Header</span>
+ <el-switch v-model="fixedHeader" class="drawer-switch" />
+ </div>
+
+ <div class="drawer-item">
+ <span>鏄剧ず Logo</span>
+ <el-switch v-model="sidebarLogo" class="drawer-switch" />
+ </div>
+
+ <el-divider/>
+ <el-button size="small" type="primary" plain icon="el-icon-document-add" @click="saveSetting">淇濆瓨閰嶇疆</el-button>
+ <el-button size="small" plain icon="el-icon-refresh" @click="resetSetting">閲嶇疆閰嶇疆</el-button>
+
+ </div>
+ </div>
+ </div>
+</template>
+
+<script>
+import ThemePicker from '@/components/ThemePicker'
+
+export default {
+ components: { ThemePicker },
+ data() {
+ return {
+ sideTheme: this.$store.state.settings.sideTheme,
+ routers:this.$store.state.permission.routes,
+ }
+ },
+ computed: {
+ theme:{
+ get(){
+ return this.$store.state.settings.theme
+ }
+ },
+ fixedHeader: {
+ get() {
+ return this.$store.state.settings.fixedHeader
+ },
+ set(val) {
+ this.$store.dispatch('settings/changeSetting', {
+ key: 'fixedHeader',
+ value: val
+ })
+ }
+ },
+ tagsView: {
+ get() {
+ return this.$store.state.settings.tagsView
+ },
+ set(val) {
+ this.$store.dispatch('settings/changeSetting', {
+ key: 'tagsView',
+ value: val
+ })
+ }
+ },
+ sidebarLogo: {
+ get() {
+ return this.$store.state.settings.sidebarLogo
+ },
+ set(val) {
+ this.$store.dispatch('settings/changeSetting', {
+ key: 'sidebarLogo',
+ value: val
+ })
+ }
+ }
+ },
+ methods: {
+ themeChange(val) {
+ this.$store.dispatch('settings/changeSetting', {
+ key: 'theme',
+ value: val
+ })
+ },
+ handleTheme(val) {
+ this.$store.dispatch('settings/changeSetting', {
+ key: 'sideTheme',
+ value: val
+ })
+ this.sideTheme = val;
+ },
+ saveSetting() {
+ this.$modal.loading("姝e湪淇濆瓨鍒版湰鍦帮紝璇风◢鍊�...");
+ //灏嗚缃啓鍏ョ紦瀛�
+ this.$cache.local.setJSON(
+ 'layout-setting',{
+ "topNav":this.topNav,
+ "tagsView":this.tagsView,
+ "fixedHeader":this.fixedHeader,
+ "sidebarLogo":this.sidebarLogo,
+ "dynamicTitle":this.dynamicTitle,
+ "sideTheme":this.sideTheme,
+ "theme":this.theme,
+ "navIcon":this.navIcon
+ }
+ );
+ setTimeout(this.$modal.closeLoading(), 1000)
+ },
+ resetSetting() {
+ this.$modal.loading("姝e湪娓呴櫎璁剧疆缂撳瓨骞跺埛鏂帮紝璇风◢鍊�...");
+ this.$cache.local.remove("layout-setting")
+ setTimeout("window.location.reload()", 1000)
+ }
+ }
+}
+</script>
+
+<style lang="scss" scoped>
+::v-deep .el-switch{
+ width: 40px;
+}
+.drawer-container {
+ padding: 24px;
+ font-size: 14px;
+ line-height: 1.5;
+ word-wrap: break-word;
+
+ .drawer-title {
+ margin-bottom: 12px;
+ color: rgba(0, 0, 0, .85);
+ font-size: 14px;
+ line-height: 22px;
+ }
+
+ .drawer-item {
+ color: rgba(0, 0, 0, .65);
+ font-size: 14px;
+ padding: 12px 0;
+ }
+
+ .drawer-switch {
+ float: right
+ }
+ .setting-drawer-block-checbox {
+ display: flex;
+ justify-content: flex-start;
+ align-items: center;
+ margin-top: 10px;
+ margin-bottom: 20px;
+
+ .setting-drawer-block-checbox-item {
+ position: relative;
+ margin-right: 16px;
+ border-radius: 2px;
+ cursor: pointer;
+
+ img {
+ width: 48px;
+ height: 48px;
+ }
+
+ .setting-drawer-block-checbox-selectIcon {
+ position: absolute;
+ top: 0;
+ right: 0;
+ width: 100%;
+ height: 100%;
+ padding-top: 15px;
+ padding-left: 24px;
+ color: #1890ff;
+ font-weight: 700;
+ font-size: 14px;
+ }
+ }
+ }
+}
+
+</style>
diff --git a/src/layout/components/Sidebar/FixiOSBug.js b/src/layout/components/Sidebar/FixiOSBug.js
new file mode 100644
index 0000000..bc14856
--- /dev/null
+++ b/src/layout/components/Sidebar/FixiOSBug.js
@@ -0,0 +1,26 @@
+export default {
+ computed: {
+ device() {
+ return this.$store.state.app.device
+ }
+ },
+ mounted() {
+ // In order to fix the click on menu on the ios device will trigger the mouseleave bug
+ // https://github.com/PanJiaChen/vue-element-admin/issues/1135
+ this.fixBugIniOS()
+ },
+ methods: {
+ fixBugIniOS() {
+ const $subMenu = this.$refs.subMenu
+ if ($subMenu) {
+ const handleMouseleave = $subMenu.handleMouseleave
+ $subMenu.handleMouseleave = (e) => {
+ if (this.device === 'mobile') {
+ return
+ }
+ handleMouseleave(e)
+ }
+ }
+ }
+ }
+}
diff --git a/src/layout/components/Sidebar/Item.vue b/src/layout/components/Sidebar/Item.vue
new file mode 100644
index 0000000..ac3483c
--- /dev/null
+++ b/src/layout/components/Sidebar/Item.vue
@@ -0,0 +1,30 @@
+<script>
+export default {
+ name: 'MenuItem',
+ functional: true,
+ props: {
+ icon: {
+ type: String,
+ default: ''
+ },
+ title: {
+ type: String,
+ default: ''
+ }
+ },
+ render(h, context) {
+ const { icon, title } = context.props
+ const vnodes = []
+
+ if (icon) {
+ const ic = 'el-icon-' + icon
+ vnodes.push(<i style="color:#ffffff;" class={ic}/>)
+ }
+
+ if (title) {
+ vnodes.push(<span slot='title'>{(title)}</span>)
+ }
+ return vnodes
+ }
+}
+</script>
diff --git a/src/layout/components/Sidebar/Link.vue b/src/layout/components/Sidebar/Link.vue
new file mode 100644
index 0000000..eb4dd10
--- /dev/null
+++ b/src/layout/components/Sidebar/Link.vue
@@ -0,0 +1,36 @@
+
+<template>
+ <!-- eslint-disable vue/require-component-is -->
+ <component v-bind="linkProps(to)">
+ <slot />
+ </component>
+</template>
+
+<script>
+import { isExternal } from '@/utils/validate'
+
+export default {
+ props: {
+ to: {
+ type: String,
+ required: true
+ }
+ },
+ methods: {
+ linkProps(url) {
+ if (isExternal(url)) {
+ return {
+ is: 'a',
+ href: url,
+ target: '_blank',
+ rel: 'noopener'
+ }
+ }
+ return {
+ is: 'router-link',
+ to: url
+ }
+ }
+ }
+}
+</script>
diff --git a/src/layout/components/Sidebar/Logo.vue b/src/layout/components/Sidebar/Logo.vue
new file mode 100644
index 0000000..6cd9306
--- /dev/null
+++ b/src/layout/components/Sidebar/Logo.vue
@@ -0,0 +1,101 @@
+<template>
+ <div class="sidebar-logo-container" :class="{'collapse':collapse}">
+ <transition name="sidebarLogoFade">
+ <router-link v-if="collapse" key="collapse" class="sidebar-logo-link" to="/">
+ <img v-if="logoSmall" :src="logoSmall" class="sidebar-logo-small">
+ </router-link>
+ <router-link v-else key="expand" class="sidebar-logo-link" to="/">
+ <img v-if="logo" :src="logo" class="sidebar-logo-big">
+ </router-link>
+ </transition>
+ </div>
+</template>
+
+<script>
+ import * as systemConfigApi from '@/api/systemConfig.js'
+ export default {
+ name: 'SidebarLogo',
+ props: {
+ collapse: {
+ type: Boolean,
+ required: true
+ }
+ },
+ data() {
+ return {
+ title: 'Vue Element Admin',
+ logo: '',
+ logoSmall: ''
+ }
+ },
+ mounted() {
+ this.getLogo()
+ this.getSquareLogo()
+ },
+ methods: {
+ getLogo() {
+ systemConfigApi.configGetUniq({key: "site_logo_lefttop"}).then(data => {
+ this.logo = data
+ })
+ },
+ getSquareLogo() {
+ systemConfigApi.configGetUniq({key: "site_logo_square"}).then(data => {
+ this.logoSmall = data
+ })
+ }
+ }
+ }
+</script>
+
+<style lang="scss" scoped>
+ .sidebarLogoFade-enter-active {
+ transition: opacity 1.5s;
+ }
+ .sidebar-logo-big{
+ width: auto;
+ height: 40px;
+ vertical-align: middle;
+ margin-right: 12px;
+ }
+ .sidebarLogoFade-enter,
+ .sidebarLogoFade-leave-to {
+ opacity: 0;
+ }
+
+ .sidebar-logo-container {
+ position: relative;
+ width: 100%;
+ height: 65px;
+ line-height: 65px;
+ text-align: center;
+ overflow: hidden;
+
+ & .sidebar-logo-link {
+ height: 100%;
+ width: 100%;
+
+ & .sidebar-logo-small {
+ width: 35px;
+ height: 35px;
+ vertical-align: middle;
+ }
+
+ & .sidebar-title {
+ display: inline-block;
+ margin: 0;
+ color: #fff;
+ font-weight: 600;
+ line-height: 50px;
+ font-size: 14px;
+ font-family: Avenir, Helvetica Neue, Arial, Helvetica, sans-serif;
+ vertical-align: middle;
+ }
+ }
+
+ &.collapse {
+ .sidebar-logo {
+ margin-right: 0px;
+ }
+ }
+ }
+</style>
diff --git a/src/layout/components/Sidebar/SidebarItem.vue b/src/layout/components/Sidebar/SidebarItem.vue
new file mode 100644
index 0000000..5a3b6ce
--- /dev/null
+++ b/src/layout/components/Sidebar/SidebarItem.vue
@@ -0,0 +1,94 @@
+<template>
+ <div v-if="!item.hidden">
+ <template v-if="hasOneShowingChild(item.child,item) && (!onlyOneChild.child||onlyOneChild.noShowingChildren)&&!item.alwaysShow">
+ <app-link v-if="onlyOneChild" :to="resolvePath(onlyOneChild.url)">
+ <el-menu-item :index="resolvePath(onlyOneChild.url)" :class="{'submenu-title-noDropdown':!isNest}">
+ <item :icon="onlyOneChild.extra||(item.meta&&item.extra)" :title="onlyOneChild.name" />
+ </el-menu-item>
+ </app-link>
+ </template>
+ <el-submenu v-else ref="subMenu" :index="resolvePath(item.url)" popper-append-to-body>
+ <template slot="title">
+ <item v-if="item" :icon="item && item.extra" :title="item.name" />
+ </template>
+ <sidebar-item
+ v-for="childs in item.child"
+ :key="childs.url"
+ :is-nest="true"
+ :item="childs"
+ :base-path="resolvePath(childs.url)"
+ class="nest-menu"
+ />
+ </el-submenu>
+ </div>
+</template>
+
+<script>
+import path from 'path'
+import { isExternal } from '@/utils/validate'
+import Item from './Item'
+import AppLink from './Link'
+import FixiOSBug from './FixiOSBug'
+
+export default {
+ name: 'SidebarItem',
+ components: { Item, AppLink },
+ mixins: [FixiOSBug],
+ props: {
+ // route object
+ item: {
+ type: Object,
+ required: true
+ },
+ isNest: {
+ type: Boolean,
+ default: false
+ },
+ basePath: {
+ type: String,
+ default: ''
+ }
+ },
+ data() {
+ // To fix https://github.com/PanJiaChen/vue-admin-template/issues/237
+ // TODO: refactor with render function
+ this.onlyOneChild = null
+ return {}
+ },
+ methods: {
+ hasOneShowingChild(child = [], parent) {
+ const showingChildren = child.filter(item => {
+ if (item.hidden) {
+ return false
+ } else {
+ // Temp set(will be used if only has one showing child)
+ this.onlyOneChild = item
+ return true
+ }
+ })
+
+ // When there is only one child router, the child router is displayed by default
+ if (showingChildren.length === 1) {
+ return true
+ }
+
+ // Show parent if there are no child router to display
+ if (showingChildren.length === 0) {
+ this.onlyOneChild = { ... parent, path: '', noShowingChildren: true }
+ return true
+ }
+
+ return false
+ },
+ resolvePath(routePath) {
+ if (isExternal(routePath)) {
+ return routePath
+ }
+ if (isExternal(this.basePath)) {
+ return this.basePath
+ }
+ return path.resolve(this.basePath, routePath)
+ }
+ }
+}
+</script>
diff --git a/src/layout/components/Sidebar/index.vue b/src/layout/components/Sidebar/index.vue
new file mode 100644
index 0000000..fabde1e
--- /dev/null
+++ b/src/layout/components/Sidebar/index.vue
@@ -0,0 +1,65 @@
+<template>
+ <div
+ :class="{ 'has-logo': showLogo }"
+ :style="{ backgroundColor: variables.menuBackground }"
+ >
+ <logo v-if="showLogo" :collapse="isCollapse" />
+ <el-scrollbar wrap-class="scrollbar-wrapper">
+ <el-menu
+ :default-active="activeMenu"
+ :collapse="isCollapse"
+ :background-color="variables.menuBackground"
+ :text-color="variables.menuColor"
+ :unique-opened="true"
+ :active-text-color="variables.menuActiveText"
+ :collapse-transition="true"
+ mode="vertical"
+ >
+ <sidebar-item
+ v-for="route in sidebarRouters"
+ :key="route.url"
+ :item="route"
+ :base-path="route.url"
+ />
+ </el-menu>
+ </el-scrollbar>
+ </div>
+</template>
+
+<script>
+import { mapGetters, mapState } from "vuex";
+import Logo from "./Logo";
+import SidebarItem from "./SidebarItem";
+import variables from "@/styles/variables.scss";
+export default {
+ components: { SidebarItem, Logo },
+ computed: {
+ ...mapState(["settings"]),
+ ...mapGetters(["permission_routes", "sidebarRouters", "sidebar"]),
+ activeMenu() {
+ const route = this.$route;
+ const { meta, path } = route;
+ // if set path, the sidebar will highlight the path you set
+ if (meta.activeMenu) {
+ return meta.activeMenu;
+ }
+ return path;
+ },
+ showLogo() {
+ return this.$store.state.settings.sidebarLogo;
+ },
+ variables() {
+ return variables;
+ },
+ isCollapse() {
+ return !this.sidebar.opened;
+ },
+ },
+
+};
+</script>
+<style lang="scss">
+.el-submenu__icon-arrow {
+ color: #fff !important;
+}
+</style>
diff --git a/src/layout/components/TagsView/ScrollPane.vue b/src/layout/components/TagsView/ScrollPane.vue
new file mode 100644
index 0000000..8e3de78
--- /dev/null
+++ b/src/layout/components/TagsView/ScrollPane.vue
@@ -0,0 +1,85 @@
+<template>
+ <el-scrollbar ref="scrollContainer" :vertical="false" class="scroll-container" @wheel.native.prevent="handleScroll">
+ <slot />
+ </el-scrollbar>
+</template>
+
+<script>
+const tagAndTagSpacing = 4 // tagAndTagSpacing
+
+export default {
+ name: 'ScrollPane',
+ data() {
+ return {
+ left: 0
+ }
+ },
+ computed: {
+ scrollWrapper() {
+ return this.$refs.scrollContainer.$refs.wrap
+ }
+ },
+ methods: {
+ handleScroll(e) {
+ const eventDelta = e.wheelDelta || -e.deltaY * 40
+ const $scrollWrapper = this.scrollWrapper
+ $scrollWrapper.scrollLeft = $scrollWrapper.scrollLeft + eventDelta / 4
+ },
+ moveToTarget(currentTag) {
+ const $container = this.$refs.scrollContainer.$el
+ const $containerWidth = $container.offsetWidth
+ const $scrollWrapper = this.scrollWrapper
+ const tagList = this.$parent.$refs.tag
+
+ let firstTag = null
+ let lastTag = null
+
+ // find first tag and last tag
+ if (tagList.length > 0) {
+ firstTag = tagList[0]
+ lastTag = tagList[tagList.length - 1]
+ }
+
+ if (firstTag === currentTag) {
+ $scrollWrapper.scrollLeft = 0
+ } else if (lastTag === currentTag) {
+ $scrollWrapper.scrollLeft = $scrollWrapper.scrollWidth - $containerWidth
+ } else {
+ // find preTag and nextTag
+ const currentIndex = tagList.findIndex(item => item === currentTag)
+ const prevTag = tagList[currentIndex - 1]
+ const nextTag = tagList[currentIndex + 1]
+
+ // the tag's offsetLeft after of nextTag
+ const afterNextTagOffsetLeft = nextTag.$el.offsetLeft + nextTag.$el.offsetWidth + tagAndTagSpacing
+
+ // the tag's offsetLeft before of prevTag
+ const beforePrevTagOffsetLeft = prevTag.$el.offsetLeft - tagAndTagSpacing
+
+ if (afterNextTagOffsetLeft > $scrollWrapper.scrollLeft + $containerWidth) {
+ $scrollWrapper.scrollLeft = afterNextTagOffsetLeft - $containerWidth
+ } else if (beforePrevTagOffsetLeft < $scrollWrapper.scrollLeft) {
+ $scrollWrapper.scrollLeft = beforePrevTagOffsetLeft
+ }
+ }
+ }
+ }
+}
+</script>
+
+<style lang="scss" scoped>
+.scroll-container {
+ white-space: nowrap;
+ position: relative;
+ overflow: hidden;
+ width: 100%;
+ ::v-deep {
+ .el-scrollbar__bar {
+ bottom: 0px;
+ }
+ .el-scrollbar__wrap {
+ /*height: 49px;*/
+ }
+ }
+}
+</style>
diff --git a/src/layout/components/TagsView/index.vue b/src/layout/components/TagsView/index.vue
new file mode 100644
index 0000000..92d44b7
--- /dev/null
+++ b/src/layout/components/TagsView/index.vue
@@ -0,0 +1,299 @@
+<template>
+ <div id="tags-view-container" class="tags-view-container" v-if="!isPhone">
+ <scroll-pane ref="scrollPane" class="tags-view-wrapper">
+ <router-link
+ v-for="tag in visitedViews"
+ ref="tag"
+ :key="tag.path"
+ :class="isActive(tag)?'active':''"
+ :to="{ path: tag.path, query: tag.query, fullPath: tag.fullPath }"
+ tag="span"
+ class="tags-view-item"
+ @click.middle.native="!isAffix(tag)?closeSelectedTag(tag):''"
+ @contextmenu.prevent.native="openMenu(tag,$event)"
+ >
+ {{ tag.title }}
+ <span v-if="!isAffix(tag)" class="el-icon-close" @click.prevent.stop="closeSelectedTag(tag)" />
+ </router-link>
+ </scroll-pane>
+ <ul v-show="visible" :style="{left:left+'px',top:top+'px'}" class="contextmenu">
+ <li @click="refreshSelectedTag(selectedTag)">鍒锋柊</li>
+ <li v-if="!isAffix(selectedTag)" @click="closeSelectedTag(selectedTag)">鍏抽棴</li>
+ <li @click="closeOthersTags">鍏抽棴鍏朵粬</li>
+ <li @click="closeAllTags(selectedTag)">鍏抽棴鎵�鏈�</li>
+ </ul>
+ </div>
+</template>
+
+<script>
+import ScrollPane from './ScrollPane'
+import path from 'path'
+
+export default {
+ components: { ScrollPane },
+ data() {
+ return {
+ fullWidth: document.body.clientWidth,
+ visible: false,
+ top: 0,
+ left: 0,
+ selectedTag: {},
+ affixTags: [],
+ isPhone: this.$wechat.isPhone()
+ }
+ },
+ computed: {
+ visitedViews() {
+ return this.$store.state.tagsView.visitedViews
+ },
+ routes() {
+ return this.$store.state.permission.routes
+ },
+ theme() {
+ return this.$store.state.settings.theme;
+ },
+ },
+ watch: {
+ $route() {
+ this.addTags()
+ if( !this.isPhone ) this.moveToCurrentTag()
+ },
+ visible(value) {
+ if (value) {
+ document.body.addEventListener('click', this.closeMenu)
+ } else {
+ document.body.removeEventListener('click', this.closeMenu)
+ }
+ }
+ },
+ mounted() {
+ window.addEventListener('resize', this.handleResize)
+ this.initTags()
+ this.addTags()
+ },
+ methods: {
+ handleResize(event) {
+ this.fullWidth = document.body.clientWidth
+ },
+ isActive(route) {
+ return route.path === this.$route.path
+ },
+ isAffix(tag) {
+ return tag.meta && tag.meta.affix
+ },
+ filterAffixTags(routes, basePath = '/') {
+ let tags = []
+ routes.forEach(route => {
+ if (route.meta && route.meta.affix) {
+ const tagPath = path.resolve(basePath, route.path)
+ tags.push({
+ fullPath: tagPath,
+ path: tagPath,
+ name: route.name,
+ meta: { ...route.meta }
+ })
+ }
+ if (route.children) {
+ const tempTags = this.filterAffixTags(route.children, route.path)
+ if (tempTags.length >= 1) {
+ tags = [...tags, ...tempTags]
+ }
+ }
+ })
+ return tags
+ },
+ initTags() {
+ const affixTags = this.affixTags = this.filterAffixTags(this.routes)
+ for (const tag of affixTags) {
+ // Must have tag name
+ if (tag.name) {
+ this.$store.dispatch('tagsView/addVisitedView', tag)
+ }
+ }
+ },
+ addTags() {
+ const { name } = this.$route
+ if (name) {
+ this.$store.dispatch('tagsView/addView', this.$route)
+ }
+ return false
+ },
+ moveToCurrentTag() {
+ const tags = this.$refs.tag
+ this.$nextTick(() => {
+ for (const tag of tags) {
+ if (tag.to.path === this.$route.path) {
+ this.$refs.scrollPane.moveToTarget(tag)
+ // when query is different then update
+ if (tag.to.fullPath !== this.$route.fullPath) {
+ this.$store.dispatch('tagsView/updateVisitedView', this.$route)
+ }
+ break
+ }
+ }
+ })
+ },
+ refreshSelectedTag(view) {
+ this.$store.dispatch('tagsView/delCachedView', view).then(() => {
+ const { fullPath } = view
+ this.$nextTick(() => {
+ this.$router.replace({
+ path: '/redirect' + fullPath
+ })
+ })
+ })
+ },
+ closeSelectedTag(view) {
+ this.$store.dispatch('tagsView/delView', view).then(({ visitedViews }) => {
+ if (this.isActive(view)) {
+ this.toLastView(visitedViews, view)
+ }
+ })
+ },
+ closeOthersTags() {
+ this.$router.push(this.selectedTag)
+ this.$store.dispatch('tagsView/delOthersViews', this.selectedTag).then(() => {
+ this.moveToCurrentTag()
+ })
+ },
+ closeAllTags(view) {
+ this.$store.dispatch('tagsView/delAllViews').then(({ visitedViews }) => {
+ if (this.affixTags.some(tag => tag.path === view.path)) {
+ return
+ }
+ this.toLastView(visitedViews, view)
+ })
+ },
+ toLastView(visitedViews, view) {
+ const latestView = visitedViews.slice(-1)[0]
+ if (latestView) {
+ this.$router.push(latestView.fullPath)
+ } else {
+ // now the default is to redirect to the home page if there is no tags-view,
+ // you can adjust it according to your needs.
+ if (view.name === 'Dashboard') {
+ // to reload home page
+ this.$router.replace({ path: '/redirect' + view.fullPath })
+ } else {
+ this.$router.push('/')
+ }
+ }
+ },
+ openMenu(tag, e) {
+ const menuMinWidth = 105
+ const offsetLeft = this.$el.getBoundingClientRect().left // container margin left
+ const offsetWidth = this.$el.offsetWidth // container width
+ const maxLeft = offsetWidth - menuMinWidth // left boundary
+ const left = e.clientX - offsetLeft + 15 // 15: margin right
+
+ if (left > maxLeft) {
+ this.left = maxLeft
+ } else {
+ this.left = left
+ }
+
+ this.top = e.clientY
+ this.visible = true
+ this.selectedTag = tag
+ },
+ closeMenu() {
+ this.visible = false
+ }
+ }
+}
+</script>
+
+<style lang="scss" scoped>
+.tags-view-container {
+ padding: 10px 0;
+ width: 100%;
+ // background: #f5f7f9;
+ background: #f5f5f5;
+ // border-bottom: 1px solid #d8dce5;
+ // box-shadow: 0 1px 3px 0 rgba(0, 0, 0, .12), 0 0 3px 0 rgba(0, 0, 0, .04);
+ .tags-view-wrapper {
+ .tags-view-item {
+ display: inline-block;
+ position: relative;
+ cursor: pointer;
+ height: 30px;
+ line-height: 30px;
+ border: 1px solid #fff;
+ color: #495060;
+ background: #fff;
+ padding: 0 8px;
+ font-size: 12px;
+ margin-left: 10px;
+ border-radius: 3px;
+ &:first-of-type {
+ margin-left: 20px;
+ }
+ &:last-of-type {
+ margin-right: 20px;
+ }
+ &.active {
+ background-color: #fff;
+ color: #1890FF;
+ border-color: #fff;
+ // &::before {
+ // content: '';
+ // background: #fff;
+ // display: inline-block;
+ // width: 8px;
+ // height: 8px;
+ // border-radius: 50%;
+ // position: relative;
+ // margin-right: 2px;
+ // }
+ }
+ }
+ }
+ .contextmenu {
+ margin: 0;
+ background: #fff;
+ z-index: 3000;
+ position: absolute;
+ list-style-type: none;
+ padding: 5px 0;
+ border-radius: 4px;
+ font-size: 12px;
+ font-weight: 400;
+ color: #333;
+ box-shadow: 2px 2px 3px 0 rgba(0, 0, 0, .3);
+ li {
+ margin: 0;
+ padding: 7px 16px;
+ cursor: pointer;
+ &:hover {
+ background: #eee;
+ }
+ }
+ }
+}
+</style>
+
+<style lang="scss" scoped>
+//reset element css of el-icon-close
+.tags-view-wrapper {
+ .tags-view-item {
+ .el-icon-close {
+ width: 16px;
+ height: 16px;
+ vertical-align: 2px;
+ border-radius: 50%;
+ text-align: center;
+ transition: all .3s cubic-bezier(.645, .045, .355, 1);
+ transform-origin: 100% 50%;
+ &:before {
+ transform: scale(.6);
+ display: inline-block;
+ vertical-align: -3px;
+ }
+ &:hover {
+ background-color: #b4bccc;
+ color: #fff;
+ }
+ }
+ }
+}
+</style>
diff --git a/src/layout/components/index.js b/src/layout/components/index.js
new file mode 100644
index 0000000..104bd3a
--- /dev/null
+++ b/src/layout/components/index.js
@@ -0,0 +1,5 @@
+export { default as AppMain } from './AppMain'
+export { default as Navbar } from './Navbar'
+export { default as Settings } from './Settings'
+export { default as Sidebar } from './Sidebar/index.vue'
+export { default as TagsView } from './TagsView/index.vue'
diff --git a/src/layout/index.vue b/src/layout/index.vue
new file mode 100644
index 0000000..0722f8c
--- /dev/null
+++ b/src/layout/index.vue
@@ -0,0 +1,127 @@
+<template>
+ <div :class="classObj" class="app-wrapper">
+ <div
+ v-if="device === 'mobile' && sidebar.opened"
+ class="drawer-bg"
+ @click="handleClickOutside"
+ />
+ <sidebar v-if="!flag" class="sidebar-container" />
+ <div :class="{ hasTagsView: needTagsView }" class="main-container">
+ <div :class="{ 'fixed-header': fixedHeader }">
+ <navbar />
+ <!-- <tags-view v-if="needTagsView" /> -->
+ </div>
+ <app-main />
+ <!-- <right-panel v-if="showSettings">
+ <settings />
+ </right-panel> -->
+ </div>
+ </div>
+</template>
+
+<script>
+// import RightPanel from '@/components/RightPanel'
+import { AppMain, Navbar, Settings, Sidebar, TagsView } from "./components";
+import ResizeMixin from "./mixin/ResizeHandler";
+import { mapState } from "vuex";
+
+export default {
+ name: "Layout",
+ data() {
+ return {
+ openImage: true,
+ flag: navigator.userAgent.match(
+ /(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i
+ ),
+ };
+ },
+ components: {
+ AppMain,
+ Navbar,
+ Settings,
+ Sidebar,
+ TagsView,
+ },
+ mixins: [ResizeMixin],
+ computed: {
+ ...mapState({
+ sidebar: (state) => state.app.sidebar,
+ device: (state) => state.app.device,
+ showSettings: (state) => state.settings.showSettings,
+ needTagsView: (state) => state.settings.tagsView,
+ fixedHeader: (state) => state.settings.fixedHeader,
+ }),
+ classObj() {
+ return {
+ hideSidebar: !this.sidebar.opened,
+ openSidebar: this.sidebar.opened,
+ withoutAnimation: this.sidebar.withoutAnimation,
+ mobile: this.device === "mobile",
+ };
+ },
+ },
+ methods: {
+ clear() {
+ this.openImage = false;
+ },
+ handleClickOutside() {
+ this.$store.dispatch("app/closeSideBar", { withoutAnimation: false });
+ },
+ },
+};
+</script>
+
+<style lang="scss" scoped>
+@import "~@/styles/mixin.scss";
+@import "~@/styles/variables.scss";
+.open-image {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ position: fixed;
+ background-color: rgba(0, 0, 0, 0.6);
+ height: 100%;
+ width: 100%;
+ top: 0;
+ left: 0;
+ z-index: 999999;
+}
+.app-wrapper {
+ @include clearfix;
+ position: relative;
+ height: 100%;
+ width: 100%;
+
+ &.mobile.openSidebar {
+ position: fixed;
+ top: 0;
+ }
+}
+
+.drawer-bg {
+ background: #000;
+ opacity: 0.3;
+ width: 100%;
+ top: 0;
+ height: 100%;
+ position: absolute;
+ z-index: 999;
+}
+
+.fixed-header {
+ position: fixed;
+ top: 0;
+ right: 0;
+ z-index: 9;
+ width: calc(100% - #{$base-sidebar-width});
+ transition: width 0.28s;
+}
+
+.hideSidebar .fixed-header {
+ width: calc(100% - 54px);
+}
+
+.mobile .fixed-header {
+ width: 100%;
+}
+</style>
diff --git a/src/layout/mixin/ResizeHandler.js b/src/layout/mixin/ResizeHandler.js
new file mode 100644
index 0000000..5791aab
--- /dev/null
+++ b/src/layout/mixin/ResizeHandler.js
@@ -0,0 +1,55 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+import store from '@/store'
+
+const { body } = document
+const WIDTH = 992 // refer to Bootstrap's responsive design
+
+export default {
+ watch: {
+ $route() {
+ if (this.device === 'mobile' && this.sidebar.opened) {
+ store.dispatch('app/closeSideBar', { withoutAnimation: false })
+ }
+ }
+ },
+ beforeMount() {
+ window.addEventListener('resize', this.$_resizeHandler)
+ },
+ beforeDestroy() {
+ window.removeEventListener('resize', this.$_resizeHandler)
+ },
+ mounted() {
+ const isMobile = this.$_isMobile()
+ if (isMobile) {
+ store.dispatch('app/toggleDevice', 'mobile')
+ store.dispatch('app/closeSideBar', { withoutAnimation: true })
+ }
+ },
+ methods: {
+ // use $_ for mixins properties
+ // https://vuejs.org/v2/style-guide/index.html#Private-property-names-essential
+ $_isMobile() {
+ const rect = body.getBoundingClientRect()
+ return rect.width - 1 < WIDTH
+ },
+ $_resizeHandler() {
+ if (!document.hidden) {
+ const isMobile = this.$_isMobile()
+ store.dispatch('app/toggleDevice', isMobile ? 'mobile' : 'desktop')
+
+ if (isMobile) {
+ store.dispatch('app/closeSideBar', { withoutAnimation: true })
+ }
+ }
+ }
+ }
+}
diff --git a/src/libs/dialog.js b/src/libs/dialog.js
new file mode 100644
index 0000000..606630d
--- /dev/null
+++ b/src/libs/dialog.js
@@ -0,0 +1,67 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+import {
+ Confirm as confirm,
+ Alert as alert,
+ Toast as toast,
+ Notify as notify,
+ Loading as loading
+} from "vue-ydui/dist/lib.rem/dialog";
+
+const dialog = {
+ confirm,
+ alert,
+ toast,
+ notify,
+ loading
+};
+
+const icons = { error: "鎿嶄綔澶辫触", success: "鎿嶄綔鎴愬姛" };
+Object.keys(icons).reduce((dialog, key) => {
+ dialog[key] = (mes, obj = {}) => {
+ return new Promise(function(resolve) {
+ toast({
+ mes: mes || icons[key],
+ timeout: 1000,
+ icon: key,
+ callback: () => {
+ resolve();
+ },
+ ...obj
+ });
+ });
+ };
+ return dialog;
+}, dialog);
+
+dialog.message = (mes = "鎿嶄綔澶辫触", obj = {}) => {
+ return new Promise(function(resolve) {
+ toast({
+ mes,
+ timeout: 1000,
+ callback: () => {
+ resolve();
+ },
+ ...obj
+ });
+ });
+};
+
+dialog.validateError = (...args) => {
+ validatorDefaultCatch(...args);
+};
+
+export function validatorDefaultCatch(err, type = "message") {
+ console.log(err)
+ return dialog[type](err.errors[0].message);
+}
+
+export default dialog;
diff --git a/src/libs/loading.js b/src/libs/loading.js
new file mode 100644
index 0000000..2b40db9
--- /dev/null
+++ b/src/libs/loading.js
@@ -0,0 +1,48 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+const events = [];
+
+const $scroll = function(dom, fn) {
+ events.push({ dom, fn });
+ fn._index = events.length - 1;
+};
+
+$scroll.remove = function(fn) {
+ fn._index && events.splice(fn._index, 1);
+};
+
+//涓婃媺鍔犺浇锛�
+const Scroll = {
+ addHandler: function(element, type, handler) {
+ if (element.addEventListener)
+ element.addEventListener(type, handler, false);
+ else if (element.attachEvent) element.attachEvent("on" + type, handler);
+ else element["on" + type] = handler;
+ },
+ listenTouchDirection: function() {
+ this.addHandler(window, "scroll", function() {
+ const wh = window.innerHeight,
+ st = window.scrollY;
+ events
+ .filter(e => e.dom.scrollHeight && e.dom.scrollHeight > 0)
+ .forEach(e => {
+ var dh = e.dom.scrollHeight;
+ var s = Math.ceil((st / (dh - wh)) * 100);
+ if (s > 85) e.fn();
+ });
+ });
+ }
+};
+
+Scroll.listenTouchDirection();
+
+export default $scroll;
+export { Scroll };
diff --git a/src/libs/modal-attr.js b/src/libs/modal-attr.js
new file mode 100644
index 0000000..b0863ab
--- /dev/null
+++ b/src/libs/modal-attr.js
@@ -0,0 +1,44 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+export default function modalAttr(val, callback, keyNum) {
+ const h = this.$createElement
+ return new Promise((resolve, reject) => {
+ this.$msgbox({
+ title: '灞炴�ц鏍�',
+ customClass: 'upload-form',
+ closeOnClickModal: false,
+ showClose: false,
+ message: h('div', { class: 'common-form-upload' }, [
+ h('attrFrom', {
+ props: {
+ currentRow: val,
+ keyNum: keyNum
+ },
+ on: {
+ getList() {
+ callback()
+ }
+ }
+ })
+ ]),
+ showCancelButton: false,
+ showConfirmButton: false
+ }).then(() => {
+ resolve()
+ }).catch(() => {
+ reject()
+ this.$message({
+ type: 'info',
+ message: '宸插彇娑�'
+ })
+ })
+ })
+}
diff --git a/src/libs/modal-coupon.js b/src/libs/modal-coupon.js
new file mode 100644
index 0000000..f5162fe
--- /dev/null
+++ b/src/libs/modal-coupon.js
@@ -0,0 +1,46 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+export default function modalCoupon(handle, keyNum, callback, couponId=[], userIds) {
+ const h = this.$createElement
+ return new Promise((resolve, reject) => {
+ this.$msgbox({
+ title: '浼樻儬鍒稿垪琛�',
+ customClass: 'upload-form-temp',
+ closeOnClickModal: false,
+ showClose: false,
+ message: h('div', { class: 'common-form-upload' }, [
+ h('couponList', {
+ props: {
+ handle: handle,
+ couponId: couponId,
+ keyNum: keyNum,
+ userIds: userIds
+ },
+ on: {
+ getCouponId(id) {
+ callback(id)
+ }
+ }
+ })
+ ]),
+ showCancelButton: false,
+ showConfirmButton: false
+ }).then(() => {
+ resolve()
+ }).catch(() => {
+ reject()
+ this.$message({
+ type: 'info',
+ message: '宸插彇娑�'
+ })
+ })
+ })
+}
diff --git a/src/libs/modal-icon.js b/src/libs/modal-icon.js
new file mode 100644
index 0000000..2522eb1
--- /dev/null
+++ b/src/libs/modal-icon.js
@@ -0,0 +1,40 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+export default function modalIcon(callback) {
+ const h = this.$createElement
+ return new Promise((resolve, reject) => {
+ this.$msgbox({
+ title: '鑿滃崟鍥炬爣',
+ customClass: 'upload-form',
+ closeOnClickModal: false,
+ showClose: false,
+ message: h('div', { class: 'common-form-upload' }, [
+ h('iconFrom', {
+ on: {
+ getIcon(n) {
+ callback(n)
+ }
+ }
+ })
+ ]),
+ showCancelButton: false,
+ showConfirmButton: false
+ }).then(() => {
+ resolve()
+ }).catch(() => {
+ reject()
+ this.$message({
+ type: 'info',
+ message: '宸插彇娑�'
+ })
+ })
+ })
+}
diff --git a/src/libs/public.js b/src/libs/public.js
new file mode 100644
index 0000000..a4cdf9c
--- /dev/null
+++ b/src/libs/public.js
@@ -0,0 +1,59 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+// import { seckillListApi } from '@/api/marketing'
+import Cookies from 'js-cookie'
+
+/**
+ * @description 纭畾鎿嶄綔寮规
+ */
+export function modalSure(title) {
+ return new Promise((resolve, reject) => {
+ this.$confirm(`纭畾${title || '姘镐箙鍒犻櫎璇ユ枃浠�'}`, '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(() => {
+ resolve()
+ }).catch(() => {
+ reject()
+ this.$message({
+ type: 'info',
+ message: '宸插彇娑�'
+ })
+ })
+ })
+}
+
+/**
+ * @description 鐭俊鏄惁鐧诲綍
+ */
+export function isLogin() {
+ return new Promise((resolve, reject) => {
+ isLoginApi().then(async res => {
+ resolve(res)
+ }).catch(res => {
+ reject(res)
+ })
+ })
+}
+
+
+
+// /**
+// * @description 绉掓潃閰嶇疆鍒楄〃
+// */
+// export function getSeckillList(status) {
+// return new Promise((resolve, reject) => {
+// seckillListApi({page: 1, limit: 9999, isDel: false, status: status || null}).then(async res => {
+// resolve(res)
+// })
+// })
+// }
diff --git a/src/libs/timeOptions.js b/src/libs/timeOptions.js
new file mode 100644
index 0000000..af26dc7
--- /dev/null
+++ b/src/libs/timeOptions.js
@@ -0,0 +1,56 @@
+// +---------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +---------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +---------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +---------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +---------------------------------------------------------------------
+
+export default {
+ shortcuts: [
+ {
+ text: '鏄ㄥぉ',
+ onClick(picker) {
+ const end = new Date();
+ const start = new Date();
+ start.setTime(start.getTime() - 3600 * 1000 * 24);
+ picker.$emit('pick', [start, end]);
+ }
+ },
+ {
+ text: '鏈�杩戜竷澶�',
+ onClick(picker) {
+ const end = new Date();
+ const start = new Date();
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
+ picker.$emit('pick', [start, end]);
+ }
+ }, {
+ text: '鏈湀',
+ onClick(picker){
+ const end = new Date()
+ const start = new Date()
+ start.setTime(start.setTime(new Date(new Date().getFullYear(), new Date().getMonth(), 1)))
+ picker.$emit('pick', [start, end]);
+ }
+ },{
+ text: '鏈�杩�30澶�',
+ onClick(picker) {
+ const end = new Date();
+ const start = new Date();
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
+ picker.$emit('pick', [start, end]);
+ }
+ },{
+ text: '鏈�杩戜竴骞�',
+ onClick(picker) {
+ const end = new Date();
+ const start = new Date();
+ start.setTime(start.getTime() - 3600 * 1000 * 24 * 365);
+ picker.$emit('pick', [start, end]);
+ }
+ },
+ ]
+}
diff --git a/src/libs/wechat.js b/src/libs/wechat.js
new file mode 100644
index 0000000..1f8ef08
--- /dev/null
+++ b/src/libs/wechat.js
@@ -0,0 +1,184 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+import WechatJSSDK from "wechat-jssdk/dist/client.umd";
+import { getWechatConfig, wechatAuth } from "@/api/wxApi";
+import { getToken, removeToken, setToken } from '@/utils/auth'
+import { parseQuery } from "@/utils";
+import Cookies from 'js-cookie'
+const STATE_KEY = "wx_authorize_state";
+import store from "@/store";
+const WX_AUTH = "wx_auth";
+const BACK_URL = "login_back_url";
+const LOGINTYPE = "loginType";
+let instance;
+let wechatObj;
+const LONGITUDE = "user_longitude";
+const LATITUDE = "user_latitude";
+
+const WECHAT_SCRIPT_URL = "//res.wx.qq.com/open/js/jweixin-1.6.0.js";
+
+/**
+ * 鏄惁鏄井淇�
+ */
+export function isWeixin() {
+ return navigator.userAgent.toLowerCase().indexOf("micromessenger") !== -1;
+}
+
+/**
+ * 鏄惁鏄Щ鍔ㄧ
+ */
+export function isPhone() {
+ return /(iPhone|iPad|iPod|iOS|Android)/i.test(navigator.userAgent);
+}
+
+export default function wechat() {
+ return new Promise((resolve, reject) => {
+ if (instance) return resolve(instance);
+ console.log('11111111111111')
+ getWechatConfig()
+ .then(res => {
+ const _wx = WechatJSSDK(res);
+ wechatObj = _wx;
+ _wx
+ .initialize()
+ .then(() => {
+ instance = _wx.wx;
+ instance.initConfig = res;
+ resolve(instance);
+ })
+ .catch(reject);
+ })
+ .catch(err => {
+ reject(err);
+ });
+ });
+}
+
+export function loginByWxCode(code) {
+ return new Promise((resolve, reject) => {
+ let loginType = getToken();
+ wechatAuth(code)
+ .then((res) => {
+ store.commit('SET_TOKEN', res.token)
+ setToken(res.token)
+ Cookies.set(WX_AUTH, code);
+ resolve(res);
+ })
+ .catch((err)=>{
+ reject(err);
+ });
+ });
+}
+
+export function getWXCodeByUrl(path, step) {
+ if( getToken() ) return;
+ generatorWxUrl(path, step);
+}
+
+export function generatorWxUrl(path, step) {
+ wechat().then(wx => {
+ window.location.href = getAuthUrl(wx.initConfig, path, step);
+ });
+}
+
+function getAuthUrl(config, path, step) {
+ const finalUrl = `https://open.weixin.qq.com/connect/oauth2/authorize?appid=${config.appId}&redirect_uri=${encodeURIComponent(path)}&response_type=code&scope=snsapi_base&state=${step}#wechat_redirect`;
+ return finalUrl;
+}
+
+function getQueryString(name) {
+ var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
+ var reg_rewrite = new RegExp("(^|/)" + name + "/([^/]*)(/|$)", "i");
+ var r = window.location.search.substr(1).match(reg);
+ var q = window.location.pathname.substr(1).match(reg_rewrite);
+ if(r != null){
+ return unescape(r[2]);
+ }else if(q != null){
+ return unescape(q[2]);
+ }else{
+ return null;
+ }
+}
+
+/**
+ * 鍏紬鍙蜂簨浠�
+ * @param name 浜嬩欢鍚�
+ * @param config 閰嶇疆
+ * @returns {Promise<unknown>}
+ */
+export function wechatEvevt(name, config) {
+ return new Promise((resolve, reject) => {
+ let wx;
+ let configDefault = {
+ fail(res) {
+ if (wx) return reject({ is_ready: true, wx: wx });
+ console.log('11111111111111222')
+
+ getWechatConfig().then(res => {
+ wechatObj.signSignature({
+ nonceStr: res.nonceStr,
+ signature: res.signature,
+ timestamp: res.timestamp
+ });
+ wx = wechatObj.getOriginalWx();
+ reject({ is_ready: true, wx: wx });
+ });
+ },
+ success(res) {
+ resolve(res);
+ },
+ cancel(err) {
+ reject(err);
+ },
+ complete(err) {
+ reject(err);
+ }
+ };
+ Object.assign(configDefault, config);
+ console.log('1111111111111133333')
+
+ getWechatConfig().then(res => {
+ const _wx = WechatJSSDK(res);
+ _wx.initialize().then(() => {
+ instance = _wx.getOriginalWx();
+ instance.ready(() => {
+ if (typeof name === "object") {
+ name.forEach(item => {
+ instance[item] && instance[item](configDefault);
+ });
+ } else instance[name] && instance[name](configDefault);
+ });
+ });
+ });
+ });
+}
+
+export function ready() {
+ return new Promise(resolve => {
+ if (typeof instance !== "undefined") {
+ instance.ready(() => {
+ resolve(instance);
+ });
+ } else {
+ console.log('11111111111111444444')
+
+ getWechatConfig().then(res => {
+ const _wx = WechatJSSDK(res);
+ _wx.initialize().then(() => {
+ instance = _wx.wx;
+ instance.ready(() => {
+ resolve(instance);
+ });
+ });
+ });
+ }
+ });
+}
diff --git a/src/main.js b/src/main.js
new file mode 100644
index 0000000..c03ce2c
--- /dev/null
+++ b/src/main.js
@@ -0,0 +1,219 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+import Vue from "vue";
+import "@babel/polyfill";
+// import 'babel-polyfill'
+import Cookies from "js-cookie";
+import "normalize.css/normalize.css"; // a modern alternative to CSS resets
+import Element from "element-ui";
+import "./styles/element-variables.scss";
+import "@/styles/index.scss"; // global css
+import "@/assets/iconfont/iconfont";
+import "@/assets/iconfont/iconfont.css";
+import VueAwesomeSwiper from "vue-awesome-swiper";
+import "swiper/dist/css/swiper.css";
+import "vue-ydui/dist/ydui.base.css";
+import {
+ parseTime,
+ resetForm,
+ handleTree,
+} from "@/utils/parsing";
+// 鎳掑姞杞�
+import VueLazyload from "vue-lazyload";
+
+// import VConsole from "vconsole";
+// const vConsole = new VConsole();
+// vConsole.setOption("display", "box");
+
+Vue.config.devtools = true;
+import App from "./App";
+import store from "./store";
+import router from "./router";
+import uploadPicture from "./components/uploadPicture/uploadFrom";
+import UploadIndex from "@/components/uploadPicture/index.vue";
+import UploadFile from "@/components/Upload/uploadFile.vue";
+import iconFrom from "./components/iconFrom";
+import TimeSelect from "@/components/TimeSelect";
+import dialog from "@/libs/dialog";
+import scroll from "@/libs/loading";
+import schema from "async-validator";
+// 鍒囧嬁鏇存敼 姝ょ粍浠朵负琛ㄥ崟鐢熸垚涓娇鐢ㄧ殑鍥剧墖涓婁紶缁勪欢
+import SelfUpload from "@/components/uploadPicture/forGenrator/index.vue";
+import util from "@/utils/utils";
+import modalAttr from "@/libs/modal-attr";
+import modalIcon from "@/libs/modal-icon";
+import { modalSure } from "@/libs/public";
+import timeOptions from "@/libs/timeOptions";
+import { loadScriptQueue } from "@/components/FormGenerator/utils/loadScript";
+import "./icons"; // icon
+import "./permission"; // permission control
+import "./utils/error-log"; // error integralLog
+import * as filters from "./filters"; // global filters
+import { parseQuery } from "@/utils";
+import * as Auth from "@/libs/wechat";
+import * as constants from "@/utils/constants.js";
+import * as selfUtil from "@/utils/ZBKJIutil.js";
+import plugins from "./plugins";
+import directive from "./directive"; //directive
+
+Vue.use(VueLazyload, {
+ preLoad: 1.3,
+ error: require("./assets/imgs/no.png"),
+ loading: require("./assets/imgs/moren.jpg"),
+ attempt: 1,
+ listenEvents: [
+ "scroll",
+ "wheel",
+ "mousewheel",
+ "resize",
+ "animationend",
+ "transitionend",
+ "touchmove",
+ ],
+});
+
+Vue.use(uploadPicture);
+// Vue.use(goodListFrom);
+// Vue.use(couponFrom);
+// Vue.use(articleFrom);
+Vue.use(VueAwesomeSwiper);
+Vue.use(plugins);
+Vue.use(directive);
+
+// Vue.component("attrFrom", attrFrom);
+Vue.component("UploadIndex", UploadIndex);
+Vue.component("SelfUpload", SelfUpload);
+Vue.component("iconFrom", iconFrom);
+Vue.component("uploadFile", UploadFile);
+Vue.component("timeSelect", TimeSelect);
+Vue.prototype.$modalSure = modalSure;
+Vue.prototype.$modalAttr = modalAttr;
+Vue.prototype.$modalIcon = modalIcon;
+Vue.prototype.$dialog = dialog;
+Vue.prototype.$scroll = scroll;
+Vue.prototype.$wechat = Auth;
+Vue.prototype.$util = util;
+Vue.prototype.$constants = constants;
+Vue.prototype.$selfUtil = selfUtil;
+Vue.prototype.$timeOptions = timeOptions;
+Vue.prototype.$validator = function (rule) {
+ return new schema(rule);
+};
+Vue.prototype.handleTree = handleTree;
+Vue.prototype.parseTime = parseTime;
+Vue.prototype.resetForm = resetForm;
+
+let cookieName = "VCONSOLE";
+let query = parseQuery();
+let urlSpread = query["spread"];
+let vconsole = query[cookieName.toLowerCase()];
+let md5CMS = "b14d1e9baeced9bb7525ab19ee35f2d2"; //CMS MD5 鍔犲瘑寮�鍚痸console妯″紡
+let md5UnCMS = "3dca2162c4e101b7656793a1af20295c"; //UN_CREMB MD5 鍔犲瘑鍏抽棴vconsole妯″紡
+
+if (vconsole !== undefined) {
+ if (vconsole === md5UnCMS && Cookies.has(cookieName))
+ Cookies.remove(cookieName);
+} else vconsole = Cookies.get(cookieName);
+
+if (vconsole !== undefined && vconsole === md5CMS) {
+ Cookies.set(cookieName, md5CMS, 3600);
+ const module = () => import("vconsole");
+ module().then((Module) => {
+ new Module.default();
+ });
+}
+// 鑷畾涔夊疄鐜癝tring 绫诲瀷鐨剅eplaceAll鏂规硶
+String.prototype.replaceAll = function (s1, s2) {
+ return this.replace(new RegExp(s1, "gm"), s2);
+};
+
+Vue.use(Element, {
+ size: Cookies.get("size") || "mini", // set element-ui default size
+});
+
+// register global utility filters
+Object.keys(filters).forEach((key) => {
+ Vue.filter(key, filters[key]);
+});
+
+Vue.config.productionTip = false;
+
+const $previewApp = document.getElementById("previewApp");
+const childAttrs = {
+ file: "",
+ dialog:
+ ' width="600px" class="dialog-width" v-if="visible" :visible.sync="visible" :modal-append-to-body="false" ',
+};
+
+window.addEventListener("message", init, false);
+
+function buildLinks(links) {
+ let strs = "";
+ links.forEach((url) => {
+ strs += `<link href="${url}" rel="stylesheet">`;
+ });
+ return strs;
+}
+
+function init(event) {
+ if (event.data.type === "refreshFrame") {
+ const code = event.data.data;
+ const attrs = childAttrs[code.generateConf.type];
+ let links = "";
+
+ if (Array.isArray(code.links) && code.links.length > 0) {
+ links = buildLinks(code.links);
+ }
+
+ $previewApp.innerHTML = `${links}<style>${code.css}</style><div id="app"></div>`;
+
+ if (Array.isArray(code.scripts) && code.scripts.length > 0) {
+ loadScriptQueue(code.scripts, () => {
+ newVue(attrs, code.js, code.html);
+ });
+ } else {
+ newVue(attrs, code.js, code.html);
+ }
+ }
+}
+
+function newVue(attrs, main, html) {
+ // eslint-disable-next-line no-eval
+ main = eval(`(${main})`);
+ main.template = `<div>${html}</div>`;
+ new Vue({
+ components: {
+ child: main,
+ },
+ data() {
+ return {
+ visible: true,
+ };
+ },
+ template: `<div><child ${attrs}/></div>`,
+ }).$mount("#app");
+}
+
+String.prototype.replaceAll = function (s1, s2) {
+ return this.replace(new RegExp(s1, "gm"), s2);
+};
+
+// // 娣诲姞CMS chat 缁熻
+// var __s = document.createElement("script");
+// __s.src = `${SettingMer.apiBaseURL}/public/jsconfig/getCMSchatconfig`;
+// document.head.appendChild(__s);
+
+new Vue({
+ el: "#app",
+ router,
+ store,
+ render: (h) => h(App),
+});
diff --git a/src/permission.js b/src/permission.js
new file mode 100644
index 0000000..858b733
--- /dev/null
+++ b/src/permission.js
@@ -0,0 +1,77 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+import router from "./router";
+import store from "./store";
+import { Message } from "element-ui";
+import NProgress from "nprogress"; // progress bar
+import "nprogress/nprogress.css"; // progress bar style
+import { getToken } from "@/utils/auth"; // get token from cookie
+import getPageTitle from "@/utils/get-page-title";
+
+NProgress.configure({ showSpinner: false }); // NProgress Configuration
+
+const whiteList = ["/login", "/auth-redirect"]; // no redirect whitelist
+
+router.beforeEach(async (to, from, next) => {
+ // start progress bar
+ NProgress.start();
+
+ // set page title
+ document.title = getPageTitle(to.meta.title);
+
+ // determine whether the user has logged in
+ const hasToken = getToken();
+
+ if (hasToken) {
+ if (to.path === "/login") {
+ // if is logged in, redirect to the home page
+ next({ path: "/" });
+ NProgress.done();
+ } else {
+ const hasRoles = store.getters.roles && store.getters.roles.length > 0;
+ if (hasRoles) {
+ next();
+ } else {
+ // next()
+ try {
+ const roles = await store.dispatch("user/getInfo");
+ const accessRoutes = await store.dispatch(
+ "permission/generateRoutes",
+ roles
+ );
+ router.addRoutes(accessRoutes);
+ next({ ...to, replace: true });
+ } catch (error) {
+ // remove token and go to login page to re-login
+ await store.dispatch("user/resetToken");
+ Message.error(error || "Has Error");
+ next(`/login?redirect=${to.path}`);
+ NProgress.done();
+ }
+ }
+ }
+ } else {
+ /* has no token*/
+ if (whiteList.indexOf(to.path) !== -1) {
+ // in the free login whitelist, go directly
+ next();
+ } else {
+ // other pages that do not have permission to access are redirected to the login page.
+ next(`/login?redirect=${to.path}`);
+ NProgress.done();
+ }
+ }
+});
+
+router.afterEach(() => {
+ // finish progress bar
+ NProgress.done();
+});
diff --git a/src/plugins/auth.js b/src/plugins/auth.js
new file mode 100644
index 0000000..1077a82
--- /dev/null
+++ b/src/plugins/auth.js
@@ -0,0 +1,44 @@
+import store from '@/store'
+
+function authPermission(permission) {
+ const all_permission = "*:*:*";
+ const permissions = store.getters && store.getters.permissions
+ if (permission && permission.length > 0) {
+ return permissions.some(v => {
+ return all_permission === v || v === permission
+ })
+ } else {
+ return false
+ }
+}
+
+function authRole(role) {
+ const super_admin = "admin";
+ const roles = store.getters && store.getters.roles
+ if (role && role.length > 0) {
+ return roles.some(v => {
+ return super_admin === v || v === role
+ })
+ } else {
+ return false
+ }
+}
+
+export default {
+ // 楠岃瘉鐢ㄦ埛鏄惁鍏峰鏌愭潈闄�
+ hasPermi(permission) {
+ return authPermission(permission);
+ },
+ // 楠岃瘉鐢ㄦ埛鏄惁鍚湁鎸囧畾鏉冮檺锛屽彧闇�鍖呭惈鍏朵腑涓�涓�
+ hasPermiOr(permissions) {
+ return permissions.some(item => {
+ return authPermission(item)
+ })
+ },
+ // 楠岃瘉鐢ㄦ埛鏄惁鍚湁鎸囧畾鏉冮檺锛屽繀椤诲叏閮ㄦ嫢鏈�
+ hasPermiAnd(permissions) {
+ return permissions.every(item => {
+ return authPermission(item)
+ })
+ },
+}
diff --git a/src/plugins/cache.js b/src/plugins/cache.js
new file mode 100644
index 0000000..275ec7d
--- /dev/null
+++ b/src/plugins/cache.js
@@ -0,0 +1,109 @@
+const sessionCache = {
+ set(key, value) {
+ if (!sessionStorage) {
+ return;
+ }
+ if (key != null && value != null) {
+ sessionStorage.setItem(key, value);
+ }
+ },
+ get(key) {
+ if (!sessionStorage) {
+ return null;
+ }
+ if (key == null) {
+ return null;
+ }
+ return sessionStorage.getItem(key);
+ },
+ setJSON(key, jsonValue) {
+ if (jsonValue != null) {
+ this.set(key, JSON.stringify(jsonValue));
+ }
+ },
+ getJSON(key) {
+ const value = this.get(key);
+ if (value != null) {
+ return JSON.parse(value);
+ }
+ },
+ remove(key) {
+ sessionStorage.removeItem(key);
+ }
+};
+const localCache = {
+ set(key, value) {
+ if (!localStorage) {
+ return;
+ }
+ if (key != null && value != null) {
+ localStorage.setItem(key, value);
+ }
+ },
+ get(key) {
+ if (!localStorage) {
+ return null;
+ }
+ if (key == null) {
+ return null;
+ }
+ return localStorage.getItem(key);
+ },
+ setJSON(key, jsonValue) {
+ if (jsonValue != null) {
+ this.set(key, JSON.stringify(jsonValue));
+ }
+ },
+ getJSON(key) {
+ const value = this.get(key);
+ if (value != null) {
+ return JSON.parse(value);
+ }
+ },
+ remove(key) {
+ localStorage.removeItem(key);
+ },
+ // 妫�娴嬬紦瀛樻槸鍚﹀瓨鍦�
+ has(key)
+ {
+ return localStorage.getItem(key) ? true:false;
+ },
+ setItem(params){
+ let obj = {
+ name:'',
+ value:'',
+ expires:"",
+ startTime:new Date().getTime()
+ }
+ let options = {};
+ //灏唎bj鍜屼紶杩涙潵鐨刾arams鍚堝苟
+ Object.assign(options,obj,params);
+ if(options.expires){
+ //濡傛灉options.expires璁剧疆浜嗙殑璇�
+ //浠ptions.name涓簁ey锛宱ptions涓哄�兼斁杩涘幓
+ localStorage.setItem(options.name,JSON.stringify(options));
+ }else{
+ //濡傛灉options.expires娌℃湁璁剧疆锛屽氨鍒ゆ柇涓�涓媣alue鐨勭被鍨�
+ let type = Object.prototype.toString.call(options.value);
+ //濡傛灉value鏄璞℃垨鑰呮暟缁勫璞$殑绫诲瀷锛屽氨鍏堢敤JSON.stringify杞竴涓嬶紝鍐嶅瓨杩涘幓
+ if(Object.prototype.toString.call(options.value) == '[object Object]'){
+ options.value = JSON.stringify(options.value);
+ }
+ if(Object.prototype.toString.call(options.value) == '[object Array]'){
+ options.value = JSON.stringify(options.value);
+ }
+ localStorage.setItem(options.name,options.value);
+ }
+ }
+};
+
+export default {
+ /**
+ * 浼氳瘽绾х紦瀛�
+ */
+ session: sessionCache,
+ /**
+ * 鏈湴缂撳瓨
+ */
+ local: localCache
+};
diff --git a/src/plugins/download.js b/src/plugins/download.js
new file mode 100644
index 0000000..2aa8122
--- /dev/null
+++ b/src/plugins/download.js
@@ -0,0 +1,73 @@
+import { saveAs } from 'file-saver'
+import axios from 'axios'
+import { getToken } from '@/utils/auth'
+import { Message } from 'element-ui'
+
+const baseURL = process.env.VUE_APP_BASE_API
+
+export default {
+ name(name, isDelete = true) {
+ var url = baseURL + "/common/download?fileName=" + encodeURI(name) + "&delete=" + isDelete
+ axios({
+ method: 'get',
+ url: url,
+ responseType: 'blob',
+ headers: { 'Authorization': 'Bearer ' + getToken() }
+ }).then(async (res) => {
+ const isLogin = await this.blobValidate(res.data);
+ if (isLogin) {
+ const blob = new Blob([res.data])
+ this.saveAs(blob, decodeURI(res.headers['download-filename']))
+ } else {
+ Message.error('鏃犳晥鐨勪細璇濓紝鎴栬�呬細璇濆凡杩囨湡锛岃閲嶆柊鐧诲綍銆�');
+ }
+ })
+ },
+ resource(resource) {
+ var url = baseURL + "/common/download/resource?resource=" + encodeURI(resource);
+ axios({
+ method: 'get',
+ url: url,
+ responseType: 'blob',
+ headers: { 'Authorization': 'Bearer ' + getToken() }
+ }).then(async (res) => {
+ const isLogin = await this.blobValidate(res.data);
+ if (isLogin) {
+ const blob = new Blob([res.data])
+ this.saveAs(blob, decodeURI(res.headers['download-filename']))
+ } else {
+ Message.error('鏃犳晥鐨勪細璇濓紝鎴栬�呬細璇濆凡杩囨湡锛岃閲嶆柊鐧诲綍銆�');
+ }
+ })
+ },
+ zip(url, name) {
+ var url = baseURL + url
+ axios({
+ method: 'get',
+ url: url,
+ responseType: 'blob',
+ headers: { 'Authorization': 'Bearer ' + getToken() }
+ }).then(async (res) => {
+ const isLogin = await this.blobValidate(res.data);
+ if (isLogin) {
+ const blob = new Blob([res.data], { type: 'application/zip' })
+ this.saveAs(blob, name)
+ } else {
+ Message.error('鏃犳晥鐨勪細璇濓紝鎴栬�呬細璇濆凡杩囨湡锛岃閲嶆柊鐧诲綍銆�');
+ }
+ })
+ },
+ saveAs(text, name, opts) {
+ saveAs(text, name, opts);
+ },
+ async blobValidate(data) {
+ try {
+ const text = await data.text();
+ JSON.parse(text);
+ return false;
+ } catch (error) {
+ return true;
+ }
+ },
+}
+
diff --git a/src/plugins/index.js b/src/plugins/index.js
new file mode 100644
index 0000000..d1cb4db
--- /dev/null
+++ b/src/plugins/index.js
@@ -0,0 +1,17 @@
+import auth from './auth'
+import cache from './cache'
+import modal from './modal'
+import download from './download'
+
+export default {
+ install(Vue) {
+ // 璁よ瘉瀵硅薄
+ Vue.prototype.$auth = auth
+ // 缂撳瓨瀵硅薄
+ Vue.prototype.$cache = cache
+ // 妯℃�佹瀵硅薄
+ Vue.prototype.$modal = modal
+ // 涓嬭浇鏂囦欢
+ Vue.prototype.$download = download
+ }
+}
diff --git a/src/plugins/modal.js b/src/plugins/modal.js
new file mode 100644
index 0000000..7ad9d29
--- /dev/null
+++ b/src/plugins/modal.js
@@ -0,0 +1,75 @@
+import { Message, MessageBox, Notification, Loading } from 'element-ui'
+
+let loadingInstance;
+
+export default {
+ // 娑堟伅鎻愮ず
+ msg(content) {
+ Message.info(content)
+ },
+ // 閿欒娑堟伅
+ msgError(content) {
+ Message.error(content)
+ },
+ // 鎴愬姛娑堟伅
+ msgSuccess(content) {
+ Message.success(content)
+ },
+ // 璀﹀憡娑堟伅
+ msgWarning(content) {
+ Message.warning(content)
+ },
+ // 寮瑰嚭鎻愮ず
+ alert(content) {
+ MessageBox.alert(content, "绯荤粺鎻愮ず")
+ },
+ // 閿欒鎻愮ず
+ alertError(content) {
+ MessageBox.alert(content, "绯荤粺鎻愮ず", { type: 'error' })
+ },
+ // 鎴愬姛鎻愮ず
+ alertSuccess(content) {
+ MessageBox.alert(content, "绯荤粺鎻愮ず", { type: 'success' })
+ },
+ // 璀﹀憡鎻愮ず
+ alertWarning(content) {
+ MessageBox.alert(content, "绯荤粺鎻愮ず", { type: 'warning' })
+ },
+ // 閫氱煡鎻愮ず
+ notify(content) {
+ Notification.info(content)
+ },
+ // 閿欒閫氱煡
+ notifyError(content) {
+ Notification.error(content);
+ },
+ // 鎴愬姛閫氱煡
+ notifySuccess(content) {
+ Notification.success(content)
+ },
+ // 璀﹀憡閫氱煡
+ notifyWarning(content) {
+ Notification.warning(content)
+ },
+ // 纭绐椾綋
+ confirm(content) {
+ return MessageBox.confirm(content, "绯荤粺鎻愮ず", {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: "warning",
+ })
+ },
+ // 鎵撳紑閬僵灞�
+ loading(content) {
+ loadingInstance = Loading.service({
+ lock: true,
+ text: content,
+ spinner: "el-icon-loading",
+ background: "rgba(0, 0, 0, 0.7)",
+ })
+ },
+ // 鍏抽棴閬僵灞�
+ closeLoading() {
+ loadingInstance.close();
+ }
+}
diff --git a/src/router/index.js b/src/router/index.js
new file mode 100644
index 0000000..8ae2ada
--- /dev/null
+++ b/src/router/index.js
@@ -0,0 +1,141 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+import Vue from "vue";
+import Router from "vue-router";
+Vue.use(Router);
+
+/* Layout */
+import Layout from "@/layout";
+
+/* Router Modules */
+// import componentsRouter from './modules/components'
+import operationRouter from "./modules/operation";
+import maintainRouter from "./modules/maintain";
+import mobileRouter from "./modules/mobile";
+import customRouter from "./modules/custom";
+
+/**
+ * Note: sub-menu only appear when route children.length >= 1
+ * Detail see: https://panjiachen.github.io/vue-element-admin-site/guide/essentials/router-and-nav.html
+ *
+ * hidden: true if set true, item will not show in the sidebar(default is false)
+ * alwaysShow: true if set true, will always show the root menu
+ * if not set alwaysShow, when item has more than one children route,
+ * it will becomes nested mode, otherwise not show the root menu
+ * redirect: noRedirect if set noRedirect will no redirect in the breadcrumb
+ * name:'router-name' the name is used by <keep-alive> (must set!!!)
+ * meta : {
+ roles: ['admin','editor'] control the page roles (you can set multiple roles)
+ title: 'title' the name show in sidebar and breadcrumb (recommend set)
+ icon: 'svg-name' the icon show in the sidebar
+ noCache: true if set true, the page will no be cached(default is false)
+ affix: true if set true, the tag will affix in the tags-view
+ breadcrumb: false if set false, the item will hidden in breadcrumb(default is true)
+ activeMenu: '/example/list' if set path, the sidebar will highlight the path you set
+ }
+ */
+
+/**
+ * constantRoutes
+ * a base page that does not have permission requirements
+ * all roles can be accessed
+ *
+ */
+let flag = navigator.userAgent.match(
+ /(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i
+);
+
+export const constantRoutes = [
+ operationRouter,
+ // 缁存姢
+ maintainRouter,
+ //绉诲姩绔鐞�
+ mobileRouter,
+
+ //杞﹁締瀹氬埗鐩稿叧
+ customRouter,
+
+ {
+ path: "/redirect",
+ component: Layout,
+ hidden: true,
+ children: [
+ {
+ path: "/redirect/:path(.*)",
+ component: () => import("@/views/redirect/index"),
+ },
+ ],
+ },
+ {
+ path: "/auth-send",
+ component: () => import("@/views/mobile/auth-send"),
+ hidden: true,
+ },
+ {
+ path: "/login",
+ component: () => import("@/views/login/index"),
+ hidden: true,
+ },
+ {
+ path: "/auth-redirect",
+ component: () => import("@/views/login/auth-redirect"),
+ hidden: true,
+ },
+ {
+ path: "/401",
+ component: () => import("@/views/error-page/401"),
+ hidden: true,
+ },
+ {
+ path: "/",
+ component: Layout,
+ redirect: flag ? "/javaMobile/orderCancellation" : "/vehicle/registration",
+ children: [
+ {
+ path: "vehicle/registration",
+ component: () => import("@/views/vehicle/registration/index"),
+ name: "Dashboard",
+ meta: { title: "杞﹁締淇℃伅鐧昏", icon: "dashboard", affix: true },
+ },
+ ],
+ },
+ {
+ path: "/setting/uploadPicture",
+ component: () => import("@/components/uploadPicture/index.vue"),
+ name: "uploadPicture",
+ },
+ // 404 page must be placed at the end !!!
+ { path: "*", redirect: "/404", hidden: true },
+];
+
+/**
+ * asyncRoutes
+ * the routes that need to be dynamically loaded based on user roles
+ */
+export const asyncRoutes = [];
+
+const createRouter = () =>
+ new Router({
+ // mode: 'history', // require service support
+ mode: "history",
+ scrollBehavior: () => ({ y: 0 }),
+ routes: constantRoutes,
+ });
+
+const router = createRouter();
+
+// Detail see: https://github.com/vuejs/vue-router/issues/1234#issuecomment-357941465
+export function resetRouter() {
+ const newRouter = createRouter();
+ router.matcher = newRouter.matcher; // reset router
+}
+
+export default router;
diff --git a/src/router/modules/custom.js b/src/router/modules/custom.js
new file mode 100644
index 0000000..4aec0f4
--- /dev/null
+++ b/src/router/modules/custom.js
@@ -0,0 +1,35 @@
+import Layout from '@/layout'
+
+const customRouter = {
+ path: '/vehicle',
+ component: Layout,
+ redirect: '/vehicle/index',
+ name: 'Vehicle',
+ alwaysShow: true,
+ meta: {
+ title: '',
+ icon: 'clipboard'
+ },
+ children: [
+ {
+ path: 'registration',
+ component: () => import('@/views/vehicle/registration/index'),
+ name: 'registration ',
+ meta: { title: '杞﹁締淇℃伅鐧昏' }
+ },
+ {
+ path: 'queuing',
+ component: () => import('@/views/vehicle/queuing/index'),
+ name: 'queuing',
+ meta: { title: '鎺掗槦鍙彿' }
+ },
+ {
+ path: 'systemLog',
+ component: () => import('@/views/systemLog/index'),
+ name: 'systemLog',
+ meta: { title: '绯荤粺鏃ュ織' }
+ },
+ ]
+}
+
+export default customRouter
\ No newline at end of file
diff --git a/src/router/modules/maintain.js b/src/router/modules/maintain.js
new file mode 100644
index 0000000..f517161
--- /dev/null
+++ b/src/router/modules/maintain.js
@@ -0,0 +1,88 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+/** When your routing table is too long, you can split it into small modules **/
+
+import Layout from '@/layout'
+
+const maintainRouter = {
+ path: '/maintain',
+ component: Layout,
+ redirect: '/maintain/devconfiguration/configCategory',
+ name: 'maintain',
+ meta: {
+ title: '缁存姢',
+ icon: 'clipboard'
+ },
+ children: [
+ {
+ path: 'devconfiguration',
+ name: 'devconfiguration',
+ component: () => import('@/views/maintain'),
+ meta: {
+ title: '寮�鍙戦厤缃�',
+ icon: 'clipboard'
+ },
+ children: [
+ {
+ path: 'configCategory',
+ name: 'configCategory',
+ component: () => import('@/views/maintain/devconfig/configCategroy'),
+ meta: {
+ title: '閰嶇疆鍒嗙被',
+ icon: 'clipboard'
+ }
+ },
+ {
+ path: 'combineddata',
+ name: 'combineddata',
+ component: () => import('@/views/maintain/devconfig/combinedData'),
+ meta: {
+ title: '缁勫悎鏁版嵁',
+ icon: 'clipboard'
+ }
+ },
+ {
+ path: 'formConfig',
+ name: 'formConfig',
+ component: () => import('@/views/maintain/formConfig/index'),
+ meta: {
+ title: '琛ㄥ崟閰嶇疆',
+ icon: 'clipboard'
+ }
+ }
+ ]
+ },
+ {
+ path: 'user',
+ name: 'user',
+ component: () => import('@/views/maintain/user'),
+ meta: {
+ title: '涓汉涓績',
+ icon: 'clipboard'
+ },
+ hidden: true
+ },
+ {
+ path: 'picture',
+ name: 'picture',
+ component: () => import('@/views/maintain/picture'),
+ meta: {
+ title: '绱犳潗绠$悊',
+ icon: 'clipboard'
+ },
+ hidden: false
+ },
+
+
+ ]
+}
+
+export default maintainRouter
diff --git a/src/router/modules/mobile.js b/src/router/modules/mobile.js
new file mode 100644
index 0000000..cad11b9
--- /dev/null
+++ b/src/router/modules/mobile.js
@@ -0,0 +1,54 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+import Layout from "@/layout";
+
+const mobileRouter = {
+ path: "/javaMobile",
+ component: Layout,
+ redirect: "/javaMobile/index",
+ name: "Mobile",
+ alwaysShow: true,
+ meta: {
+ title: "绉诲姩绔�",
+ icon: "clipboard",
+ },
+ children: [
+ {
+ path: "orderCancellation",
+ component: () => import("@/views/mobile/orderCancellation/index.vue"),
+ name: "OrderCancellation",
+ meta: { title: "璁㈠崟鏍搁攢", icon: "" },
+ },
+
+ {
+ path: "hexiao",
+ component: () => import("@/views/mobile/orderCancellation/hexiao.vue"),
+ name: "hexiao",
+ meta: { title: "鎵爜" },
+ },
+ {
+ path: "hexiaoInfo",
+ component: () =>
+ import("@/views/mobile/orderCancellation/hexiaoInfo.vue"),
+ name: "hexiaoInfo",
+ meta: { title: "杞﹁締淇℃伅" },
+ },
+ {
+ path: "queryResult",
+ component: () =>
+ import("@/views/mobile/orderCancellation/queryResult.vue"),
+ name: "queryResult",
+ meta: { title: "鏌ヨ缁撴灉" },
+ },
+ ],
+};
+
+export default mobileRouter;
diff --git a/src/router/modules/operation.js b/src/router/modules/operation.js
new file mode 100644
index 0000000..ab7a031
--- /dev/null
+++ b/src/router/modules/operation.js
@@ -0,0 +1,113 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+import Layout from '@/layout'
+
+const operationRouter = {
+ path: '/operation',
+ component: Layout,
+ redirect: '/operation/setting',
+ name: 'Operation',
+ meta: {
+ title: '璁剧疆',
+ icon: 'clipboard',
+ roles: ['admin']
+ },
+ children: [
+ {
+ path: 'setting',
+ name: 'setting',
+ component: () => import('@/views/systemSetting/setting'),
+ meta: {
+ title: '绯荤粺璁剧疆',
+ icon: 'clipboard'
+ }
+ },
+ {
+ path:'notification',
+ name:'notification',
+ component: () => import('@/views/systemSetting/notification'),
+ meta:{
+ title:'娑堟伅閫氱煡',
+ icon:'clipboard'
+ }
+ },
+
+ {
+ path: 'roleManager',
+ name: 'RoleManager',
+ component: () => import('@/views/systemSetting/administratorAuthority'),
+ meta: {
+ title: '绠$悊鏉冮檺',
+ icon: 'clipboard',
+ roles: ['admin']
+ },
+ children: [
+ {
+ path: 'identityManager',
+ component: () => import('@/views/systemSetting/administratorAuthority/identityManager'),
+ name: 'identityManager',
+ meta: { title: '瑙掕壊绠$悊', icon: '' }
+ },
+ {
+ path: 'adminList',
+ component: () => import('@/views/systemSetting/administratorAuthority/adminList'),
+ name: 'adminList',
+ meta: { title: '绠$悊鍛樺垪琛�', icon: '' }
+ },
+ {
+ path: 'promiseRules',
+ component: () => import('@/views/systemSetting/administratorAuthority/permissionRules'),
+ name: 'promiseRules',
+ meta: { title: '鏉冮檺瑙勫垯', icon: '' }
+ }
+ ]
+ },
+ {
+ path: 'systemSms',
+ component: () => import('@/views/sms'),
+ name: 'systemSms',
+ meta: {
+ title: '鐭俊璁剧疆',
+ icon: 'clipboard',
+ roles: ['admin']
+ },
+ children: [
+ {
+ path: 'config',
+ component: () => import('@/views/sms/smsConfig'),
+ name: 'SmsConfig',
+ meta: { title: '鐭俊璐︽埛', noCache: true }
+ },
+ {
+ path: 'template',
+ component: () => import('@/views/sms/smsTemplate'),
+ name: 'SmsTemplate',
+ meta: { title: '鐭俊妯℃澘', noCache: true, activeMenu: `/operation/onePass` }
+ },
+ {
+ path: 'pay',
+ component: () => import('@/views/sms/smsPay'),
+ name: 'SmsPay',
+ meta: { title: '鐭俊璐拱', noCache: true, activeMenu: `/operation/onePass` }
+ },
+ {
+ path: 'message',
+ component: () => import('@/views/sms/smsMessage'),
+ name: 'SmsMessage',
+ meta: { title: '鐭俊寮�鍏�', noCache: true }
+ }
+ ]
+ },
+
+ ]
+}
+
+export default operationRouter //collate
diff --git a/src/settings.js b/src/settings.js
new file mode 100644
index 0000000..b640d05
--- /dev/null
+++ b/src/settings.js
@@ -0,0 +1,50 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+// 璇锋眰鎺ュ彛鍦板潃 濡傛灉娌℃湁閰嶇疆鑷姩鑾峰彇褰撳墠缃戝潃璺緞
+const VUE_APP_API_URL = process.env.VUE_APP_BASE_API || `${location.origin}/api/`;
+module.exports = {
+ // 鎺ュ彛璇锋眰鍦板潃
+ apiBaseURL: VUE_APP_API_URL,
+
+ title: 'CMS',
+
+ /**
+ * @type {boolean} true | false
+ * @description Whether show the settings right-panel
+ */
+ showSettings: true,
+
+ /**
+ * @type {boolean} true | false
+ * @description Whether need tagsView
+ */
+ tagsView: true,
+
+ /**
+ * @type {boolean} true | false
+ * @description Whether fix the header
+ */
+ fixedHeader: true,
+
+ /**
+ * @type {boolean} true | false
+ * @description Whether show the logo in sidebar
+ */
+ sidebarLogo: true,
+
+ /**
+ * @type {string | array} 'production' | ['production', 'development']
+ * @description Need show err logs component.
+ * The default is only used in the production env
+ * If you want to also use it in dev, you can pass ['production', 'development']
+ */
+ errorLog: 'production'
+}
diff --git a/src/store/getters.js b/src/store/getters.js
new file mode 100644
index 0000000..081aadd
--- /dev/null
+++ b/src/store/getters.js
@@ -0,0 +1,28 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+const getters = {
+ sidebar: state => state.app.sidebar,
+ size: state => state.app.size,
+ device: state => state.app.device,
+ visitedViews: state => state.tagsView.visitedViews,
+ cachedViews: state => state.tagsView.cachedViews,
+ token: state => state.user.token,
+ avatar: state => state.user.avatar,
+ name: state => state.user.name,
+ introduction: state => state.user.introduction,
+ roles: state => state.user.roles,
+ permission_routes: state => state.permission.routes,
+ permissions: state => state.user.permissions,
+ sidebarRouters: state => state.permission.sidebarRouters,
+ errorLogs: state => state.errorLog.logs,
+ isLogin: state => state.user.isLogin
+}
+export default getters
diff --git a/src/store/index.js b/src/store/index.js
new file mode 100644
index 0000000..07f1f5c
--- /dev/null
+++ b/src/store/index.js
@@ -0,0 +1,34 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+import Vue from 'vue'
+import Vuex from 'vuex'
+import getters from './getters'
+
+Vue.use(Vuex)
+
+// https://webpack.js.org/guides/dependency-management/#requirecontext
+const modulesFiles = require.context('./modules', true, /\.js$/)
+
+// you do not need `import app from './modules/app'`
+// it will auto require all vuex module from modules file
+const modules = modulesFiles.keys().reduce((modules, modulePath) => {
+ // set './app.js' => 'app'
+ const moduleName = modulePath.replace(/^\.\/(.*)\.\w+$/, '$1')
+ const value = modulesFiles(modulePath)
+ modules[moduleName] = value.default
+ return modules
+}, {})
+const store = new Vuex.Store({
+ modules,
+ getters
+})
+
+export default store
diff --git a/src/store/modules/app.js b/src/store/modules/app.js
new file mode 100644
index 0000000..0d79049
--- /dev/null
+++ b/src/store/modules/app.js
@@ -0,0 +1,66 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+import Cookies from 'js-cookie'
+
+const state = {
+ sidebar: {
+ opened: Cookies.get('sidebarStatus') ? !!+Cookies.get('sidebarStatus') : true,
+ withoutAnimation: false
+ },
+ device: 'desktop',
+ size: Cookies.get('size') || 'mini'
+}
+
+const mutations = {
+ TOGGLE_SIDEBAR: state => {
+ state.sidebar.opened = !state.sidebar.opened
+ state.sidebar.withoutAnimation = false
+ if (state.sidebar.opened) {
+ Cookies.set('sidebarStatus', 1)
+ } else {
+ Cookies.set('sidebarStatus', 0)
+ }
+ },
+ CLOSE_SIDEBAR: (state, withoutAnimation) => {
+ Cookies.set('sidebarStatus', 0)
+ state.sidebar.opened = false
+ state.sidebar.withoutAnimation = withoutAnimation
+ },
+ TOGGLE_DEVICE: (state, device) => {
+ state.device = device
+ },
+ SET_SIZE: (state, size) => {
+ state.size = size
+ Cookies.set('size', size)
+ }
+}
+
+const actions = {
+ toggleSideBar({ commit }) {
+ commit('TOGGLE_SIDEBAR')
+ },
+ closeSideBar({ commit }, { withoutAnimation }) {
+ commit('CLOSE_SIDEBAR', withoutAnimation)
+ },
+ toggleDevice({ commit }, device) {
+ commit('TOGGLE_DEVICE', device)
+ },
+ setSize({ commit }, size) {
+ commit('SET_SIZE', size)
+ }
+}
+
+export default {
+ namespaced: true,
+ state,
+ mutations,
+ actions
+}
diff --git a/src/store/modules/errorLog.js b/src/store/modules/errorLog.js
new file mode 100644
index 0000000..443de03
--- /dev/null
+++ b/src/store/modules/errorLog.js
@@ -0,0 +1,38 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+const state = {
+ logs: []
+}
+
+const mutations = {
+ ADD_ERROR_LOG: (state, log) => {
+ state.logs.push(log)
+ },
+ CLEAR_ERROR_LOG: (state) => {
+ state.logs.splice(0)
+ }
+}
+
+const actions = {
+ addErrorLog({ commit }, log) {
+ commit('ADD_ERROR_LOG', log)
+ },
+ clearErrorLog({ commit }) {
+ commit('CLEAR_ERROR_LOG')
+ }
+}
+
+export default {
+ namespaced: true,
+ state,
+ mutations,
+ actions
+}
diff --git a/src/store/modules/permission.js b/src/store/modules/permission.js
new file mode 100644
index 0000000..507387b
--- /dev/null
+++ b/src/store/modules/permission.js
@@ -0,0 +1,107 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+import { asyncRoutes, constantRoutes } from '@/router'
+import * as roleApi from '@/api/roleApi.js'
+import * as Auth from '@/libs/wechat';
+import {formatRoutes} from '@/utils/parsing'
+
+/**
+ * Filter asynchronous routing tables by recursion
+ * @param routes asyncRoutes
+ * @param roles
+ */
+export function filterAsyncRoutes(routes, roles) {
+ const res = []
+
+ routes.forEach(route => {
+ const tmp = { ...route }
+ if (tmp.child) {
+ tmp.child = filterAsyncRoutes(tmp.child, roles)
+ }
+ res.push(tmp)
+ })
+
+ return res
+}
+
+const state = {
+ routes: [],
+ addRoutes: [],
+ topbarRouters: [],
+ sidebarRouters: []
+}
+
+const mutations = {
+ SET_ROUTES: (state, routes) => {
+ state.addRoutes = routes
+ // state.routes = constantRoutes.concat(routes)
+ state.routes = routes
+ },
+ SET_TOPBAR_ROUTES: (state, routes) => {
+ state.topbarRouters = routes
+ },
+ SET_SIDEBAR_ROUTERS: (state, routes) => {
+ state.sidebarRouters = routes
+ },
+}
+
+const actions = {
+ generateRoutes({ commit }, roleid) {
+ return new Promise(async resolve => {
+ let accessedRoutes = []
+ let menus= []
+ // const { rules } = await roleApi.getRoleById(roleid)
+ let menusAll = await roleApi.menuListApi()
+ menusAll = formatRoutes(menusAll)
+
+ !Auth.isPhone() ? menus = menusAll.filter(item => item.url !== '/javaMobile') : menus = menusAll.filter(item => item.url === '/javaMobile')
+ const _routerResult = comRouter(menus, asyncRoutes)
+ accessedRoutes = filterAsyncRoutes(_routerResult)
+ // todo 杩欓噷鎺у埗鏄惁杩囨护璺敱锛岀粡娴嬭瘯鏈変簺鑿滃崟涓嶈兘浜堜互璁剧疆锛屾瘮濡傜郴缁熻缃瓑绛�
+ this.state.settings.showSettings = false
+ commit('SET_ROUTES', menus)
+ commit('SET_TOPBAR_ROUTES', menus)
+ if(this.state.settings.topNav){
+ commit('SET_SIDEBAR_ROUTERS', state.sidebarRouters.length ? state.sidebarRouters : menus[0].child)
+ }else{
+ commit('SET_SIDEBAR_ROUTERS', menus)
+ }
+ // resolve(menus)
+ // commit('SET_ROUTES', accessedRoutes)
+ resolve(accessedRoutes)
+
+ // commit('SET_ROUTES', asyncRoutes)
+ // resolve(asyncRoutes)
+ })
+ }
+}
+
+function comRouter(menus, asyncRouter, hasLeft) {
+ const res = []
+ asyncRouter.forEach(router => {
+ const _leftUrl = hasLeft ? (hasLeft + '/' + router.path) : router.path
+ const _hasPromise = menus.filter(item => item.url.startsWith(_leftUrl))
+ if (_hasPromise.length > 0) {
+ res.push(router)
+ }
+ if (router.children) {
+ comRouter(menus, router.children, router.path)
+ }
+ })
+ return res
+}
+
+export default {
+ namespaced: true,
+ state,
+ mutations,
+ actions
+}
diff --git a/src/store/modules/settings.js b/src/store/modules/settings.js
new file mode 100644
index 0000000..32c29da
--- /dev/null
+++ b/src/store/modules/settings.js
@@ -0,0 +1,45 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+import defaultSettings from '@/settings'
+import Cache from '@/plugins/cache'
+const { showSettings, tagsView, fixedHeader, sidebarLogo,topNav,sideTheme,navIcon } = defaultSettings
+const storageSetting = Cache.local.has('layout-setting') ? Cache.local.getJSON('layout-setting') : '';
+const state = {
+ theme: storageSetting.theme || '#409EFF',
+ sideTheme:storageSetting.sideTheme || sideTheme,
+ topNav:storageSetting.topNav === undefined ? topNav : storageSetting.topNav,
+ showSettings: showSettings,
+ tagsView: storageSetting.tagsView === undefined ? tagsView : storageSetting.tagsView,
+ fixedHeader: storageSetting.fixedHeader === undefined ? fixedHeader : storageSetting.fixedHeader,
+ sidebarLogo: storageSetting.sidebarLogo === undefined ? sidebarLogo : storageSetting.sidebarLogo,
+ navIcon: storageSetting.navIcon === undefined ? navIcon : storageSetting.navIcon
+}
+const mutations = {
+ CHANGE_SETTING: (state, { key, value }) => {
+ if (state.hasOwnProperty(key)) {
+ state[key] = value
+ }
+ },
+}
+
+const actions = {
+ changeSetting({ commit }, data) {
+ commit('CHANGE_SETTING', data)
+ }
+}
+
+export default {
+ namespaced: true,
+ state,
+ mutations,
+ actions
+}
+
diff --git a/src/store/modules/tagsView.js b/src/store/modules/tagsView.js
new file mode 100644
index 0000000..a0d0c88
--- /dev/null
+++ b/src/store/modules/tagsView.js
@@ -0,0 +1,170 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+const state = {
+ visitedViews: [],
+ cachedViews: []
+}
+
+const mutations = {
+ ADD_VISITED_VIEW: (state, view) => {
+ if (state.visitedViews.some(v => v.path === view.path)) return
+ state.visitedViews.push(
+ Object.assign({}, view, {
+ title: view.meta.title || 'no-name'
+ })
+ )
+ },
+ ADD_CACHED_VIEW: (state, view) => {
+ if (state.cachedViews.includes(view.name)) return
+ if (!view.meta.noCache) {
+ state.cachedViews.push(view.name)
+ }
+ },
+
+ DEL_VISITED_VIEW: (state, view) => {
+ for (const [i, v] of state.visitedViews.entries()) {
+ if (v.path === view.path) {
+ state.visitedViews.splice(i, 1)
+ break
+ }
+ }
+ },
+ DEL_CACHED_VIEW: (state, view) => {
+ const index = state.cachedViews.indexOf(view.name)
+ index > -1 && state.cachedViews.splice(index, 1)
+ },
+
+ DEL_OTHERS_VISITED_VIEWS: (state, view) => {
+ state.visitedViews = state.visitedViews.filter(v => {
+ return v.meta.affix || v.path === view.path
+ })
+ },
+ DEL_OTHERS_CACHED_VIEWS: (state, view) => {
+ const index = state.cachedViews.indexOf(view.name)
+ if (index > -1) {
+ state.cachedViews = state.cachedViews.slice(index, index + 1)
+ } else {
+ // if index = -1, there is no cached tags
+ state.cachedViews = []
+ }
+ },
+
+ DEL_ALL_VISITED_VIEWS: state => {
+ // keep affix tags
+ const affixTags = state.visitedViews.filter(tag => tag.meta.affix)
+ state.visitedViews = affixTags
+ },
+ DEL_ALL_CACHED_VIEWS: state => {
+ state.cachedViews = []
+ },
+
+ UPDATE_VISITED_VIEW: (state, view) => {
+ for (let v of state.visitedViews) {
+ if (v.path === view.path) {
+ v = Object.assign(v, view)
+ break
+ }
+ }
+ }
+}
+
+const actions = {
+ addView({ dispatch }, view) {
+ dispatch('addVisitedView', view)
+ dispatch('addCachedView', view)
+ },
+ addVisitedView({ commit }, view) {
+ commit('ADD_VISITED_VIEW', view)
+ },
+ addCachedView({ commit }, view) {
+ commit('ADD_CACHED_VIEW', view)
+ },
+
+ delView({ dispatch, state }, view) {
+ return new Promise(resolve => {
+ dispatch('delVisitedView', view)
+ dispatch('delCachedView', view)
+ resolve({
+ visitedViews: [...state.visitedViews],
+ cachedViews: [...state.cachedViews]
+ })
+ })
+ },
+ delVisitedView({ commit, state }, view) {
+ return new Promise(resolve => {
+ commit('DEL_VISITED_VIEW', view)
+ resolve([...state.visitedViews])
+ })
+ },
+ delCachedView({ commit, state }, view) {
+ return new Promise(resolve => {
+ commit('DEL_CACHED_VIEW', view)
+ resolve([...state.cachedViews])
+ })
+ },
+
+ delOthersViews({ dispatch, state }, view) {
+ return new Promise(resolve => {
+ dispatch('delOthersVisitedViews', view)
+ dispatch('delOthersCachedViews', view)
+ resolve({
+ visitedViews: [...state.visitedViews],
+ cachedViews: [...state.cachedViews]
+ })
+ })
+ },
+ delOthersVisitedViews({ commit, state }, view) {
+ return new Promise(resolve => {
+ commit('DEL_OTHERS_VISITED_VIEWS', view)
+ resolve([...state.visitedViews])
+ })
+ },
+ delOthersCachedViews({ commit, state }, view) {
+ return new Promise(resolve => {
+ commit('DEL_OTHERS_CACHED_VIEWS', view)
+ resolve([...state.cachedViews])
+ })
+ },
+
+ delAllViews({ dispatch, state }, view) {
+ return new Promise(resolve => {
+ dispatch('delAllVisitedViews', view)
+ dispatch('delAllCachedViews', view)
+ resolve({
+ visitedViews: [...state.visitedViews],
+ cachedViews: [...state.cachedViews]
+ })
+ })
+ },
+ delAllVisitedViews({ commit, state }) {
+ return new Promise(resolve => {
+ commit('DEL_ALL_VISITED_VIEWS')
+ resolve([...state.visitedViews])
+ })
+ },
+ delAllCachedViews({ commit, state }) {
+ return new Promise(resolve => {
+ commit('DEL_ALL_CACHED_VIEWS')
+ resolve([...state.cachedViews])
+ })
+ },
+
+ updateVisitedView({ commit }, view) {
+ commit('UPDATE_VISITED_VIEW', view)
+ }
+}
+
+export default {
+ namespaced: true,
+ state,
+ mutations,
+ actions
+}
diff --git a/src/store/modules/user.js b/src/store/modules/user.js
new file mode 100644
index 0000000..cc576da
--- /dev/null
+++ b/src/store/modules/user.js
@@ -0,0 +1,185 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+import { login, logout, getInfo } from '@/api/user'
+import { getToken, setToken, removeToken } from '@/utils/auth'
+import router, { resetRouter } from '@/router'
+import { isLoginApi } from '@/api/sms'
+import Cookies from 'js-cookie'
+import { oAuth, getQueryString } from "@/libs/wechat";
+
+const state = {
+ token: getToken(),
+ name: '',
+ avatar: '',
+ introduction: '',
+ roles: [],
+ isLogin: Cookies.get('isLogin'),
+ permissions:[],
+}
+
+const mutations = {
+ SET_TOKEN: (state, token) => {
+ state.token = token
+ },
+ SET_ISLOGIN: (state, isLogin) => {
+ state.isLogin = isLogin
+ Cookies.set(isLogin)
+ },
+ SET_INTRODUCTION: (state, introduction) => {
+ state.introduction = introduction
+ },
+ SET_NAME: (state, name) => {
+ state.name = name
+ },
+ SET_AVATAR: (state, avatar) => {
+ state.avatar = avatar
+ },
+ SET_ROLES: (state, roles) => {
+ state.roles = roles
+ },
+ SET_PERMISSIONS: (state, permissions) => {
+ state.permissions = permissions
+ },
+}
+
+const actions = {
+ // user login
+ login({ commit }, userInfo) {
+ const { account, pwd, key, code, wxCode } = userInfo
+ return new Promise((resolve, reject) => {
+ login( userInfo ).then(data => {
+ commit('SET_TOKEN', data.token)
+ Cookies.set('JavaInfo', JSON.stringify(data))
+ setToken(data.token)
+ resolve()
+ }).catch(error => {
+ reject(error)
+ })
+ })
+ },
+
+ // 鐭俊鏄惁鐧诲綍
+ isLogin({ commit }, userInfo) {
+ // const { username, password } = userInfo
+ return new Promise((resolve, reject) => {
+ isLoginApi().then(async res => {
+ commit('SET_ISLOGIN', res.status)
+ resolve(res)
+ }).catch(res => {
+ commit('SET_ISLOGIN', false)
+ reject(res)
+ })
+ })
+ },
+
+ // get user info
+ getInfo({ commit, state }) {
+ return new Promise((resolve, reject) => {
+ getInfo(state.token).then(data => {
+ if (!data) {
+ reject('Verification failed, please Login again.')
+ }
+ const { roles, account } = data
+ // roles must be a non-empty array
+ if (!roles || roles.length <= 0) {
+ reject('getInfo: roles must be a non-null array!')
+ }
+
+ commit('SET_ROLES', roles)
+ // commit('SET_ROLES', ['admin'])
+ commit('SET_NAME', account)
+ // commit('SET_AVATAR', avatar)
+ commit('SET_AVATAR', 'http://kaifa.CMS.net/system/images/admin_logo.png')
+
+ commit('SET_INTRODUCTION', 'CMS admin')
+ commit('SET_PERMISSIONS', data.permissionsList) //鏉冮檺鏍囪瘑
+ resolve(data)
+ }).catch(error => {
+ reject(error)
+ })
+ })
+ },
+
+ // user logout
+ logout({ commit, state, dispatch }) {
+ return new Promise((resolve, reject) => {
+ logout(state.token).then(() => {
+ commit('SET_TOKEN', '')
+ commit('SET_ROLES', [])
+ commit('SET_PERMISSIONS', [])
+ removeToken()
+ resetRouter()
+ // localStorage.clear();
+ Cookies.remove('storeStaffList')
+ Cookies.remove('JavaInfo')
+ sessionStorage.removeItem('token')
+ // reset visited views and cached views
+ // to fixed https://github.com/PanJiaChen/vue-element-admin/issues/2485
+ dispatch('tagsView/delAllViews', null, { root: true })
+
+ resolve()
+ }).catch(error => {
+ reject(error)
+ })
+ })
+ },
+
+ // remove token
+ resetToken({ commit }) {
+ return new Promise(resolve => {
+ commit('SET_TOKEN', '')
+ commit('SET_ROLES', [])
+ removeToken()
+ resolve()
+ })
+ },
+ // 璁剧疆token
+ setToken({commit},state) {
+ return new Promise(resolve => {
+ commit('SET_TOKEN', state.token)
+ Cookies.set('JavaInfo', JSON.stringify(state))
+ setToken(data.token)
+ resolve()
+ })
+ },
+
+ // dynamically modify permissions
+ changeRoles({ commit, dispatch }, role) {
+ return new Promise(async resolve => {
+ const token = role + '-token'
+
+ commit('SET_TOKEN', token)
+ setToken(token)
+
+ const { roles } = await dispatch('getInfo')
+
+ resetRouter()
+
+ // generate accessible routes map based on roles
+ const accessRoutes = await dispatch('permission/generateRoutes', roles, { root: true })
+
+ // dynamically add accessible routes
+ router.addRoutes(accessRoutes)
+
+ // reset visited views and cached views
+ dispatch('tagsView/delAllViews', null, { root: true })
+
+ resolve()
+ })
+ }
+}
+
+export default {
+ namespaced: true,
+ state,
+ mutations,
+ actions
+}
diff --git a/src/styles/btn.scss b/src/styles/btn.scss
new file mode 100644
index 0000000..e6ba1a8
--- /dev/null
+++ b/src/styles/btn.scss
@@ -0,0 +1,99 @@
+@import './variables.scss';
+
+@mixin colorBtn($color) {
+ background: $color;
+
+ &:hover {
+ color: $color;
+
+ &:before,
+ &:after {
+ background: $color;
+ }
+ }
+}
+
+.blue-btn {
+ @include colorBtn($blue)
+}
+
+.light-blue-btn {
+ @include colorBtn($light-blue)
+}
+
+.red-btn {
+ @include colorBtn($red)
+}
+
+.pink-btn {
+ @include colorBtn($pink)
+}
+
+.green-btn {
+ @include colorBtn($green)
+}
+
+.tiffany-btn {
+ @include colorBtn($tiffany)
+}
+
+.yellow-btn {
+ @include colorBtn($yellow)
+}
+
+.pan-btn {
+ font-size: 14px;
+ color: #fff;
+ padding: 14px 36px;
+ border-radius: 8px;
+ border: none;
+ outline: none;
+ transition: 600ms ease all;
+ position: relative;
+ display: inline-block;
+
+ &:hover {
+ background: #fff;
+
+ &:before,
+ &:after {
+ width: 100%;
+ transition: 600ms ease all;
+ }
+ }
+
+ &:before,
+ &:after {
+ content: '';
+ position: absolute;
+ top: 0;
+ right: 0;
+ height: 2px;
+ width: 0;
+ transition: 400ms ease all;
+ }
+
+ &::after {
+ right: inherit;
+ top: inherit;
+ left: 0;
+ bottom: 0;
+ }
+}
+
+.custom-button {
+ display: inline-block;
+ line-height: 1;
+ white-space: nowrap;
+ cursor: pointer;
+ background: #fff;
+ color: #fff;
+ -webkit-appearance: none;
+ text-align: center;
+ box-sizing: border-box;
+ outline: 0;
+ margin: 0;
+ padding: 10px 15px;
+ font-size: 14px;
+ border-radius: 4px;
+}
diff --git a/src/styles/element-ui.scss b/src/styles/element-ui.scss
new file mode 100644
index 0000000..bf9c2a5
--- /dev/null
+++ b/src/styles/element-ui.scss
@@ -0,0 +1,87 @@
+// cover some element-ui styles
+
+.el-breadcrumb__inner,
+.el-breadcrumb__inner a {
+ font-weight: 400 !important;
+}
+
+.el-upload {
+ input[type="file"] {
+ display: none !important;
+ }
+}
+
+.el-upload__input {
+ display: none;
+}
+
+.cell {
+ .el-tag {
+ margin-right: 0px;
+ }
+}
+
+.small-padding {
+ .cell {
+ padding-left: 5px;
+ padding-right: 5px;
+ }
+}
+
+.fixed-width {
+ .el-button--mini {
+ padding: 7px 10px;
+ width: 60px;
+ }
+}
+
+.status-col {
+ .cell {
+ padding: 0 10px;
+ text-align: center;
+
+ .el-tag {
+ margin-right: 0px;
+ }
+ }
+}
+
+// to fixed https://github.com/ElemeFE/element/issues/2461
+.el-dialog {
+ transform: none;
+ left: 0;
+ position: relative;
+ margin: 0 auto;
+}
+
+// refine element ui upload
+.upload-container {
+ .el-upload {
+ //width: 100%;
+
+ .el-upload-dragger {
+ width: 100%;
+ height: 200px;
+ }
+ }
+}
+
+// dropdown
+.el-dropdown-menu {
+ a {
+ display: block
+ }
+}
+
+// fix date-picker ui bug in filter-item
+.el-range-editor.el-input__inner {
+ display: inline-flex !important;
+}
+
+// to fix el-date-picker css style
+.el-range-separator {
+ box-sizing: content-box;
+}
+.el-card.is-always-shadow {
+ box-shadow: none;
+}
\ No newline at end of file
diff --git a/src/styles/element-variables.scss b/src/styles/element-variables.scss
new file mode 100644
index 0000000..30a0e6b
--- /dev/null
+++ b/src/styles/element-variables.scss
@@ -0,0 +1,31 @@
+/**
+* I think element-ui's default theme color is too light for long-term use.
+* So I modified the default color and you can modify it to your liking.
+**/
+
+/* theme color */
+$--color-primary: #1890ff;
+$--color-success: #13ce66;
+$--color-warning: #FFBA00;
+$--color-danger: #ff4949;
+// $--color-info: #1E1E1E;
+
+$--button-font-weight: 400;
+
+// $--color-text-regular: #1f2d3d;
+
+$--border-color-light: #dfe4ed;
+$--border-color-lighter: #e6ebf5;
+
+$--table-border:1px solid#dfe6ec;
+
+/* icon font path, required */
+$--font-path: '~element-ui/lib/theme-chalk/fonts';
+
+@import "~element-ui/packages/theme-chalk/src/index";
+
+// the :export directive is the magic sauce for webpack
+// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass
+:export {
+ theme: $--color-primary;
+}
diff --git a/src/styles/index.scss b/src/styles/index.scss
new file mode 100644
index 0000000..d8b176d
--- /dev/null
+++ b/src/styles/index.scss
@@ -0,0 +1,211 @@
+@import './variables.scss';
+@import './mixin.scss';
+@import './transition.scss';
+@import './element-ui.scss';
+@import './sidebar.scss';
+@import './btn.scss';
+@import './styles.scss';
+
+body {
+ height: 100%;
+ -moz-osx-font-smoothing: grayscale;
+ -webkit-font-smoothing: antialiased;
+ text-rendering: optimizeLegibility;
+ font-family: Helvetica Neue, Helvetica, PingFang SC, Hiragino Sans GB, Microsoft YaHei, Arial, sans-serif;
+}
+
+label {
+ font-weight: 700;
+}
+
+html {
+ height: 100%;
+ box-sizing: border-box;
+}
+
+#app {
+ height: 100%;
+}
+
+*,
+*:before,
+*:after {
+ box-sizing: inherit;
+}
+
+.no-padding {
+ padding: 0px !important;
+}
+
+.padding-content {
+ padding: 4px 0;
+}
+
+a:focus,
+a:active {
+ outline: none;
+}
+
+a,
+a:focus,
+a:hover {
+ cursor: pointer;
+ color: inherit;
+ text-decoration: none;
+}
+
+div:focus {
+ outline: none;
+}
+
+.fr {
+ float: right;
+}
+
+.fl {
+ float: left;
+}
+
+.pr-5 {
+ padding-right: 5px;
+}
+
+.pl-5 {
+ padding-left: 5px;
+}
+
+.block {
+ display: block;
+}
+
+.pointer {
+ cursor: pointer;
+}
+
+.inlineBlock {
+ display: block;
+}
+
+.clearfix {
+ &:after {
+ visibility: hidden;
+ display: block;
+ font-size: 0;
+ content: " ";
+ clear: both;
+ height: 0;
+ }
+}
+
+aside {
+ background: #eef1f6;
+ padding: 8px 24px;
+ margin-bottom: 20px;
+ border-radius: 2px;
+ display: block;
+ line-height: 32px;
+ font-size: 16px;
+ font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
+ color: #2c3e50;
+ -webkit-font-smoothing: antialiased;
+ -moz-osx-font-smoothing: grayscale;
+
+ a {
+ color: #337ab7;
+ cursor: pointer;
+
+ &:hover {
+ color: rgb(32, 160, 255);
+ }
+ }
+}
+
+//main-container鍏ㄥ眬鏍峰紡
+.app-container {
+ padding: 20px;
+}
+
+.components-container {
+ position: relative;
+}
+
+.pagination-container {
+ margin-top: 30px;
+}
+
+.text-center {
+ text-align: center
+}
+
+.sub-navbar {
+ height: 50px;
+ line-height: 50px;
+ position: relative;
+ width: 100%;
+ text-align: right;
+ padding-right: 20px;
+ transition: 600ms ease position;
+ background: linear-gradient(90deg, rgba(32, 182, 249, 1) 0%, rgba(32, 182, 249, 1) 0%, rgba(33, 120, 241, 1) 100%, rgba(33, 120, 241, 1) 100%);
+
+ .subtitle {
+ font-size: 20px;
+ color: #fff;
+ }
+
+ &.draft {
+ background: #d0d0d0;
+ }
+
+ &.deleted {
+ background: #d0d0d0;
+ }
+}
+
+.link-type,
+.link-type:focus {
+ color: #337ab7;
+ cursor: pointer;
+
+ &:hover {
+ color: rgb(32, 160, 255);
+ }
+}
+
+.filter-container {
+ padding-bottom: 10px;
+
+ .filter-item {
+ display: inline-block;
+ vertical-align: middle;
+ margin-bottom: 10px;
+ }
+}
+
+//refine vue-multiselect plugin
+.multiselect {
+ line-height: 16px;
+}
+
+.multiselect--active {
+ z-index: 1000 !important;
+}
+
+.ml10{
+ margin-left: 10px;
+}
+.ml20{
+ margin-left: 20px;
+}
+.mb10{
+ margin-bottom: 10px;
+}
+.link{
+ color: #409EFF;
+ cursor: pointer;
+}
+.color-red{
+ color: #F56C6C;
+}
+.btn-width100{
+ width: 100%;
+}
diff --git a/src/styles/mixin.scss b/src/styles/mixin.scss
new file mode 100644
index 0000000..06fa061
--- /dev/null
+++ b/src/styles/mixin.scss
@@ -0,0 +1,66 @@
+@mixin clearfix {
+ &:after {
+ content: "";
+ display: table;
+ clear: both;
+ }
+}
+
+@mixin scrollBar {
+ &::-webkit-scrollbar-track-piece {
+ background: #d3dce6;
+ }
+
+ &::-webkit-scrollbar {
+ width: 6px;
+ }
+
+ &::-webkit-scrollbar-thumb {
+ background: #99a9bf;
+ border-radius: 20px;
+ }
+}
+
+@mixin relative {
+ position: relative;
+ width: 100%;
+ height: 100%;
+}
+
+@mixin pct($pct) {
+ width: #{$pct};
+ position: relative;
+ margin: 0 auto;
+}
+
+@mixin triangle($width, $height, $color, $direction) {
+ $width: $width/2;
+ $color-border-style: $height solid $color;
+ $transparent-border-style: $width solid transparent;
+ height: 0;
+ width: 0;
+
+ @if $direction==up {
+ border-bottom: $color-border-style;
+ border-left: $transparent-border-style;
+ border-right: $transparent-border-style;
+ }
+
+ @else if $direction==right {
+ border-left: $color-border-style;
+ border-top: $transparent-border-style;
+ border-bottom: $transparent-border-style;
+ }
+
+ @else if $direction==down {
+ border-top: $color-border-style;
+ border-left: $transparent-border-style;
+ border-right: $transparent-border-style;
+ }
+
+ @else if $direction==left {
+ border-right: $color-border-style;
+ border-top: $transparent-border-style;
+ border-bottom: $transparent-border-style;
+ }
+}
diff --git a/src/styles/reset.css b/src/styles/reset.css
new file mode 100644
index 0000000..dfe4d57
--- /dev/null
+++ b/src/styles/reset.css
@@ -0,0 +1,126 @@
+body, h1, h2, h3, h4, h5, h6, hr, p, blockquote, dl, dt, dd, ul, ol, li, pre, form, fieldset, legend, button, input, textarea, th, td,select { margin:0; padding:0; }
+body, button, input, select, textarea {font-size:.3rem;}
+h1, h2, h3, h4, h5, h6{ font-size:100%; }
+address, cite, dfn, em, var { font-style:normal; }
+code, kbd, pre, samp { font-family:couriernew, courier, monospace; }
+small{ font-size:12px; }
+ul, ol { list-style:none; }
+sup { vertical-align:text-top; }
+sub{ vertical-align:text-bottom; }
+legend { color:#000; }
+fieldset, img { border:0; }
+button, input, select, textarea { font-size:100%; }
+table { border-collapse:collapse; border-spacing:0;width:100%;}
+/* HTML5 display-role reset for older browsers */
+article, aside, details, figcaption, figure,
+footer, header, menu, nav, section { display: block; }
+input,input[type="search"],button,select,option,textarea,a{ outline:none; border:0; -webkit-appearance:none;border-radius: 0; background:none;-webkit-box-sizing:border-box;box-sizing:border-box;}
+/* custom */
+a { text-decoration: none; -webkit-backface-visibility: hidden; color:#333; }
+body,input,textarea{ -webkit-text-size-adjust: none; -webkit-tap-highlight-color: rgba(0, 0, 0, 0); font-family: 'PingFang SC', 'STHeitiSC-Light', 'Helvetica-Light', arial, sans-serif, 'Droid Sans Fallback'; color:#333;}
+div,section,header,footer{-webkit-box-sizing:border-box; box-sizing:border-box;}
+input{line-height: normal; box-sizing:border-box;}
+.fl{ float:left; }
+.fr{ float:right; }
+.clear{ clear:both; height: 0; line-height: 0; font-size: 0; }
+.clearfix:after{ content:"."; display:block; height:0; visibility:hidden; clear:both; overflow: hidden; }
+::-webkit-scrollbar {
+ width:0px;
+}
+::-webkit-scrollbar-track {
+ background-color:unset;
+}
+
+::-webkit-scrollbar-thumb {
+ background-color:unset;
+}
+
+::-webkit-scrollbar-thumb:hover {
+ background-color:unset;
+}
+
+::-webkit-scrollbar-thumb:active {
+ background-color:unset;
+}
+.flex {
+ display: -webkit-box;
+ display: -moz-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+}
+.con-cell{ display: table-cell; height: 100%; vertical-align: middle; }
+.old-price{text-decoration: line-through;}
+
+.icon {
+ width: 1em; height: 1em;
+ vertical-align: -0.15em;
+ fill: currentColor;
+ overflow: hidden;
+}
+@font-face {
+ font-family: 'GuildfordProBook 5';
+ /*src:url('GuildfordProBook 5.otf')*/
+}
+[v-cloak] {
+ display: none;
+}
+.iconfont{
+ font-size: .36rem;
+}
+/* 涓�鍍忕礌杈规 */
+@media (-webkit-min-device-pixel-ratio: 1.5), (min-device-pixel-ratio: 1.5) {
+ .border-1px::after {
+ -webkit-transform: scaleY(0.7);
+ -moz-transform: scaleY(0.7);
+ -o-transform: scaleY(0.7);
+ -ms-transform: scaleY(0.7);
+ transform: scaleY(0.7);
+ }
+ .border-1px::before {
+ -webkit-transform: scaleY(0.7);
+ -moz-transform: scaleY(0.7);
+ -o-transform: scaleY(0.7);
+ -ms-transform: scaleY(0.7);
+ transform: scaleY(0.7);
+ }
+}
+@media (-webkit-min-device-pixel-ratio: 2), (min-device-pixel-ratio: 2) {
+ .border-1px::after {
+ -webkit-transform: scaleY(0.5);
+ -moz-transform: scaleY(0.5);
+ -o-transform: scaleY(0.5);
+ -ms-transform: scaleY(0.5);
+ transform: scaleY(0.5);
+ }
+ .border-1px::before {
+ -webkit-transform: scaleY(0.5);
+ -moz-transform: scaleY(0.5);
+ -o-transform: scaleY(0.5);
+ -ms-transform: scaleY(0.5);
+ transform: scaleY(0.5);
+ }
+}
+@media (-webkit-min-device-pixel-ratio: 3), (min-device-pixel-ratio: 3) {
+ .border-1px::after {
+ -webkit-transform: scaleY(0.33);
+ -moz-transform: scaleY(0.33);
+ -o-transform: scaleY(0.33);
+ -ms-transform: scaleY(0.33);
+ transform: scaleY(0.33);
+ }
+ .border-1px::before {
+ -webkit-transform: scaleY(0.33);
+ -moz-transform: scaleY(0.33);
+ -o-transform: scaleY(0.33);
+ -ms-transform: scaleY(0.33);
+ transform: scaleY(0.33);
+ }
+}
+.line1{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width: 100%;}
+.line2{word-break:break-all;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
+.mask{position:fixed;top:0;left:0;right:0;bottom:0;z-index:555;background-color:rgba(0,0,0,0.5);}
+
+
+
+
diff --git a/src/styles/sidebar.scss b/src/styles/sidebar.scss
new file mode 100644
index 0000000..0281454
--- /dev/null
+++ b/src/styles/sidebar.scss
@@ -0,0 +1,211 @@
+#app {
+
+ .main-container {
+ min-height: 100%;
+ transition: margin-left .28s;
+ margin-left: $base-sidebar-width;
+ position: relative;
+ }
+
+ .sidebar-container {
+ transition: width 0.28s;
+ width: $base-sidebar-width !important;
+ background-color: $base-menu-background;
+ height: 100%;
+ position: fixed;
+ font-size: 0px;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 1001;
+ overflow: hidden;
+
+ // reset element-ui css
+ .horizontal-collapse-transition {
+ transition: 0s width ease-in-out, 0s padding-left ease-in-out, 0s padding-right ease-in-out;
+ }
+
+ .scrollbar-wrapper {
+ overflow-x: hidden !important;
+ }
+
+ .el-scrollbar__bar.is-vertical {
+ right: 0px;
+ }
+
+ .el-scrollbar {
+ height: 100%;
+ }
+
+ &.has-logo {
+ .el-scrollbar {
+ height: calc(100% - 50px);
+ }
+ }
+
+ .is-horizontal {
+ display: none;
+ }
+
+ a {
+ display: inline-block;
+ width: 100%;
+ overflow: hidden;
+ }
+
+ .svg-icon {
+ margin-right: 16px;
+ }
+
+ .el-menu {
+ border: none;
+ height: 100%;
+ width: 100% !important;
+ }
+
+ // menu hover
+ .submenu-title-noDropdown,
+ .el-submenu__title {
+ &:hover {
+ // background-color: rgba(0, 0, 0, 0.06) !important;
+ }
+ }
+ .is-active{
+ // background-color: #fff !important;
+ // font-weight: 500;
+ }
+ .is-active>.el-submenu__title {
+ // color: $base-menu-color-active ;
+ }
+
+ & .nest-menu .el-submenu>.el-submenu__title,
+ & .el-submenu .el-menu-item {
+ min-width: $base-sidebar-width !important;
+ background-color: subMenuBackground !important;
+
+ &:hover {
+ // background-color: rgba(0, 0, 0, 0.06) !important;
+ }
+ }
+ }
+
+ .hideSidebar {
+ .sidebar-container {
+ width: 54px !important;
+ }
+
+ .main-container {
+ margin-left: 54px;
+ }
+
+ .submenu-title-noDropdown {
+ padding: 0 !important;
+ position: relative;
+
+ .el-tooltip {
+ padding: 0 !important;
+ text-align: center !important;
+ .svg-icon {
+ margin-left: 20px;
+ }
+ }
+ }
+
+ .el-submenu {
+ overflow: hidden;
+
+ &>.el-submenu__title {
+ padding: 0 !important;
+ text-align: center;
+ .svg-icon {
+ margin-left: 20px;
+ }
+
+ .el-submenu__icon-arrow {
+ display: none;
+ }
+ }
+ }
+
+ .el-menu--collapse {
+ .el-submenu {
+ &>.el-submenu__title {
+ &>span {
+ height: 0;
+ width: 0;
+ overflow: hidden;
+ visibility: hidden;
+ display: inline-block;
+ }
+ }
+ }
+ }
+ }
+
+ .el-menu--collapse .el-menu .el-submenu {
+ min-width: $base-sidebar-width !important;
+ }
+
+ // mobile responsive
+ .mobile {
+ .main-container {
+ margin-left: 0px;
+ }
+
+ .sidebar-container {
+ transition: transform .28s;
+ width: $base-sidebar-width !important;
+ }
+
+ &.hideSidebar {
+ .sidebar-container {
+ pointer-events: none;
+ transition-duration: 0.3s;
+ transform: translate3d(-$base-sidebar-width, 0, 0);
+ }
+ }
+ }
+
+ .withoutAnimation {
+
+ .main-container,
+ .sidebar-container {
+ transition: none;
+ }
+ }
+}
+
+// when menu collapsed
+.el-menu--vertical {
+ &>.el-menu {
+ .svg-icon {
+ margin-right: 16px;
+ }
+ }
+
+ .nest-menu .el-submenu>.el-submenu__title,
+ .el-menu-item {
+ &:hover {
+ // you can use $subMenuHover
+ background-color: rgba(0, 0, 0, 0.06) !important;
+ }
+ }
+ // the scroll bar appears when the subMenu is too long
+ >.el-menu--popup {
+ max-height: 100vh;
+ overflow-y: auto;
+
+ &::-webkit-scrollbar-track-piece {
+ background: #d3dce6;
+ }
+
+ &::-webkit-scrollbar {
+ width: 6px;
+ }
+
+ &::-webkit-scrollbar-thumb {
+ background: #99a9bf;
+ border-radius: 20px;
+ }
+ }
+}
diff --git a/src/styles/styles.scss b/src/styles/styles.scss
new file mode 100644
index 0000000..0ce8ce7
--- /dev/null
+++ b/src/styles/styles.scss
@@ -0,0 +1,440 @@
+@charset "UTF-8";
+.el-dialog__body{
+ padding: 20px !important;
+}
+.acea-row {
+ display: -webkit-box;
+ display: -moz-box;
+ display: -webkit-flex;
+ display: -ms-flexbox;
+ display: flex;
+ -webkit-box-lines: multiple;
+ -moz-box-lines: multiple;
+ -o-box-lines: multiple;
+ -webkit-flex-wrap: wrap;
+ -ms-flex-wrap: wrap;
+ flex-wrap: wrap;
+ /* 杈呭姪绫� */
+}
+.acea-row.row-middle {
+ -webkit-box-align: center;
+ -moz-box-align: center;
+ -o-box-align: center;
+ -ms-flex-align: center;
+ -webkit-align-items: center;
+ align-items: center;
+}
+.acea-row.row-right {
+ -webkit-box-pack: end;
+ -moz-box-pack: end;
+ -o-box-pack: end;
+ -ms-flex-pack: end;
+ -webkit-justify-content: flex-end;
+ justify-content: flex-end;
+}
+.acea-row.row-bottom {
+ -webkit-box-align: end;
+ -moz-box-align: end;
+ -o-box-align: end;
+ -ms-flex-align: end;
+ -webkit-align-items: flex-end;
+ align-items: flex-end;
+}
+.acea-row.row-around {
+ justify-content: space-around;
+ -webkit-justify-content: space-around;
+}
+.acea-row.row-between {
+ -webkit-box-pack: justify;
+ -moz-box-pack: justify;
+ -o-box-pack: justify;
+ -ms-flex-pack: justify;
+ -webkit-justify-content: space-between;
+ justify-content: space-between;
+}
+/* 涓婁笅宸﹀彸鍨傜洿灞呬腑 */
+.acea-row.row-center-wrapper {
+ -webkit-box-align: center;
+ -moz-box-align: center;
+ -o-box-align: center;
+ -ms-flex-align: center;
+ -webkit-align-items: center;
+ align-items: center;
+ -webkit-box-pack: center;
+ -moz-box-pack: center;
+ -o-box-pack: center;
+ -ms-flex-pack: center;
+ -webkit-justify-content: center;
+ justify-content: center;
+}
+/* 涓婁笅涓よ竟灞呬腑瀵归綈 */
+.acea-row.row-between-wrapper {
+ -webkit-box-align: center;
+ -moz-box-align: center;
+ -o-box-align: center;
+ -ms-flex-align: center;
+ -webkit-align-items: center;
+ align-items: center;
+ -webkit-box-pack: justify;
+ -moz-box-pack: justify;
+ -o-box-pack: justify;
+ -ms-flex-pack: justify;
+ -webkit-justify-content: space-between;
+ justify-content: space-between;
+}
+.acea-row.row-column-around {
+ -webkit-flex-direction: column;
+ -ms-flex-direction: column;
+ flex-direction: column;
+ justify-content: space-around;
+ -webkit-justify-content: space-around;
+}
+
+//鐧诲綍椤靛姩鐢�
+.index_bg {
+ width: 100%;
+ height: 100vh;
+ background: rgba(0, 0, 0, .6) !important;
+ z-index: 0 !important;
+}
+
+.divBox{
+ padding: 20px;
+ // padding: 0 20px 20px;
+ box-sizing: border-box;
+ .el-pagination{
+ display: flex;
+ justify-content: flex-end;
+ margin-top: 25px;
+ }
+}
+.el-dialog{
+ border-radius: 6px;
+}
+.fontColor3{
+ color: #f1a417;
+}
+/* 鍘绘帀婊氬姩鏉� */
+.scrollbarAll::-webkit-scrollbar {
+ display: none; /* Chrome Safari */
+}
+
+.scrollbarAll {
+ scrollbar-width: none; /* firefox */
+ -ms-overflow-style: none; /* IE 10+ */
+ overflow-x: hidden;
+ overflow-y: auto;
+}
+.seachTiele{
+ font-size: 12px;
+ line-height: 29px;
+}
+.seachWidth{
+ //width: 219px !important;
+}
+.el-divider--horizontal{
+ margin: 19px 0;
+}
+.suibian-modal{
+ .el-dialog__footer{
+ display: none !important;
+ }
+}
+.el-dialog__footer{
+ border-top:1px solid #dcdfe6;
+}
+.el-message-box__wrapper{
+ overflow: auto;
+}
+.el-message-box{
+ overflow: auto!important;
+}
+.modal-form{
+ width: 700px;
+}
+table .el-image{
+ width: 30px !important;
+ height: 30px !important;
+}
+.upload-form{
+ min-width: 1000px;
+ max-height:620px;
+}
+.upload-form-temp{
+ min-width: 1000px;
+ max-height:700px;
+}
+.listPic{
+ .image-slot{
+ width: 100%;
+ height: 100%;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ }
+}
+.switchTable{
+ .el-switch.is-disabled {
+ opacity: 1;
+ }
+ .el-switch.is-disabled .el-switch__core, .el-switch.is-disabled .el-switch__label {
+ cursor: pointer !important;;
+ }
+}
+/**
+ * 涓婁紶鍥剧墖鐨勭収鐩告満
+ */
+.upLoadPicBox{
+ display: inline-block;
+ cursor: pointer;
+ .pictrue {
+ width: 60px;
+ height: 60px;
+ border: 1px dotted rgba(0, 0, 0, 0.1);
+ margin-right: 10px;
+ img {
+ width: 100%;
+ height: 100%;
+ }
+ }
+ .upLoad {
+ width: 58px;
+ height: 58px;
+ line-height: 58px;
+ border: 1px dotted rgba(0, 0, 0, 0.1);
+ border-radius: 4px;
+ background: rgba(0, 0, 0, 0.02);
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ }
+}
+/**
+ * 鏍囬甯︿笅鍒掔嚎
+ */
+.dividerTitle{
+ .title{
+ border-bottom: 2px solid #1890FF;
+ padding: 0 8px 18px 5px;
+ color: #000;
+ font-size: 14px;
+ }
+}
+.cameraIconfont{
+ color: #898989;
+ font-size: 26px;
+}
+.ml10{
+ margin-left: 10px;
+}
+.mr10{
+ margin-right: 10px !important;
+}
+.mr15{
+ margin-right: 15px;
+}
+.mb5{
+ margin-bottom: 5px;
+}
+.mt20{
+ margin-top: 20px;
+}
+.mb15{
+ margin-bottom: 15px;
+}
+.mb20{
+ margin-bottom: 20px;
+}
+.mb35{
+ margin-bottom: 35px;
+}
+.mt20{
+ margin-top: 20px;
+}
+.mr50 {
+ margin-right: 50px;
+}
+.mr20{
+ margin-right: 20px;
+}
+.mr15{
+ margin-right: 15px;
+}
+.ml40 {
+ margin-left: 40px !important;
+}
+.mr5{
+ margin-right: 5px !important;
+}
+.font14{
+ font-size: 14px;
+}
+//琛ㄦ牸鍥剧墖瀹藉害
+.tabBox_img{
+ width: 36px;
+ height: 36px;
+ border-radius:4px;
+ display: table-cell;
+ vertical-align: middle;
+}
+.tabBox_img img{
+ width: 100%;
+ height: 100%;
+}
+.picMiddle{
+ display: table;
+}
+.spBlock{
+ display: block;
+}
+//琛ㄦ牸澶撮儴棰滆壊
+.el-table thead{
+ color: #333!important;
+}
+// 妯℃�佹
+.creatformModel{
+ min-width: 700px;
+ max-height: 620px;
+}
+.width100{
+ width: 100%;
+}
+//dialog澶撮儴鍔犵嚎鏉�
+.el-dialog__header{
+ border-bottom:1px solid #dcdfe6;
+ padding-bottom: 20px !important;
+}
+
+//鐐瑰嚮涓婁紶鍥炬牱寮忥紙寮圭獥锛�
+.publicPicBox{
+ display: inline-block;
+ cursor: pointer;
+}
+.publicPicBox .upLoad{
+ width: 58px;
+ height: 58px;
+ line-height: 58px;
+ border: 1px dotted rgba(0, 0, 0, 0.1);
+ border-radius: 4px;
+ background: rgba(0, 0, 0, 0.02);
+}
+.publicPicBox .pictrue{
+ width: 60px;
+ height: 60px;
+ border: 1px dotted rgba(0, 0, 0, 0.1);
+ margin-right: 10px;
+}
+.publicPicBox .pictrue img{
+ width: 100%;
+ height: 100%;
+}
+.publicPicBox .iconfont{
+ color: #898989;
+ font-size: 18px;
+}
+//鍏ㄥ眬寮圭獥瀹藉害锛�
+.dialogWidth{width: 80%;}
+
+/**
+ * 琛ㄦ牸涓嬫媺鍐呭
+ */
+.demo-table-expand {
+ font-size: 0;
+}
+.demo-table-expand label {
+ width: 111px;
+ color: #99a9bf;
+}
+.demo-table-expand .el-form-item {
+ margin-right: 0;
+ margin-bottom: 0;
+ width: 33.33%;
+}
+
+/*switch鏍峰紡*/
+.el-switch__label {
+ position: absolute;
+ display: none;
+ color: #fff;
+ font-size: 12px !important;
+}
+/*鎵撳紑鏃舵枃瀛椾綅缃缃�*/
+.el-switch__label--right {
+ z-index: 1;
+ font-size: 12px !important;
+}
+/*鍏抽棴鏃舵枃瀛椾綅缃缃�*/
+.el-switch__label--left {
+ z-index: 1;
+ left: 19px;
+ font-size: 12px !important;
+}
+/*鏄剧ず鏂囧瓧*/
+.el-switch__label.is-active {
+ display: block;
+ color: #fff;
+ font-size: 12px !important;
+}
+.el-switch .el-switch__core,
+.el-switch .el-switch__label {
+ width: 60px !important;
+ font-size: 12px !important;
+}
+.el-switch__label * {
+ font-size: 12px !important;
+}
+.selWidth{
+ width: 300px;
+}
+//琛ㄦ牸瀛椾綋
+//.el-table--mini{
+// font-size: 13px !important;
+//}
+
+//瀵屾枃鏈紪杈戝櫒寮规
+#edui_fixedlayer{
+ z-index: 4000 !important;
+}
+.edui-shadow{
+ //z-index: -1 !important;
+}
+.edui-default{
+ // z-index: 4000 !important;
+}
+.edui-dialog{
+ z-index: 4009 !important;
+}
+.maskModel {
+ position:fixed;top:0;left:0;right:0;bottom:0;z-index:55;background-color:rgba(0,0,0,0.5);
+}
+.line2 {
+ word-break: break-all;
+ display: -webkit-box;
+ -webkit-line-clamp: 2;
+ -webkit-box-orient: vertical;
+ overflow: hidden;
+}
+.el-image-viewer__close{
+ color: #fff;
+}
+.statistical-page .mpvue-calendar{min-width:100%;}
+.statistical-page .mpvue-calendar table{margin:0;}
+.statistical-page .mpvue-calendar td{border-right:1px solid #fff;padding:0;width:14%!important;}
+.statistical-page .calendar-tools{box-shadow:unset;-webkit-box-shadow:unset;-o-box-shadow:unset;-moz-box-shadow:unset;}
+.statistical-page .mc-head-box div{font-size: 14px;}
+.statistical-page .mpvue-calendar td:not(.disabled) span.mc-date-red{color:unset;}
+.statistical-page .mpvue-calendar .mc-range-mode .mc-range-end span.calendar-date, .statistical-page .mpvue-calendar .mc-range-mode .mc-range-begin span.calendar-date{
+ border-radius:0;background-color:#2291f8!important;
+}
+.statistical-page .mpvue-calendar td.selected span.mc-date-red{color:#fff;}
+.statistical-page .mc-range-mode .selected .mc-range-bg{background-color:#a0dcf9;}
+.statistical-page .mpvue-calendar .mc-range-mode .mc-range-row-last .calendar-date,.statistical-page .mpvue-calendar .mc-range-mode .mc-range-row-first .calendar-date{
+ background-color:#a0dcf9;
+}
+.statistical-page .mpvue-calendar .mc-range-mode .selected.mc-range-second-to-last span{background-color:#a0dcf9;}
+.statistical-page .mpvue-calendar .mc-range-mode .mc-range-month-first.selected .calendar-date, .statistical-page .mpvue-calendar .mc-range-mode .mc-range-month-last.selected .calendar-date{
+ background-color:#a0dcf9;
+}
+.statistical-page .mc-today-element .calendar-date{border-radius:0;background-color:unset;}
+
+
diff --git a/src/styles/transition.scss b/src/styles/transition.scss
new file mode 100644
index 0000000..4cb27cc
--- /dev/null
+++ b/src/styles/transition.scss
@@ -0,0 +1,48 @@
+// global transition css
+
+/* fade */
+.fade-enter-active,
+.fade-leave-active {
+ transition: opacity 0.28s;
+}
+
+.fade-enter,
+.fade-leave-active {
+ opacity: 0;
+}
+
+/* fade-transform */
+.fade-transform-leave-active,
+.fade-transform-enter-active {
+ transition: all .5s;
+}
+
+.fade-transform-enter {
+ opacity: 0;
+ transform: translateX(-30px);
+}
+
+.fade-transform-leave-to {
+ opacity: 0;
+ transform: translateX(30px);
+}
+
+/* breadcrumb transition */
+.breadcrumb-enter-active,
+.breadcrumb-leave-active {
+ transition: all .5s;
+}
+
+.breadcrumb-enter,
+.breadcrumb-leave-active {
+ opacity: 0;
+ transform: translateX(20px);
+}
+
+.breadcrumb-move {
+ transition: all .5s;
+}
+
+.breadcrumb-leave-active {
+ position: absolute;
+}
diff --git a/src/styles/variables.scss b/src/styles/variables.scss
new file mode 100644
index 0000000..28028ef
--- /dev/null
+++ b/src/styles/variables.scss
@@ -0,0 +1,59 @@
+// base color
+$blue:#324157;
+$light-blue:#3A71A8;
+$red:#C03639;
+$pink: #E65D6E;
+$green: #30B08F;
+$tiffany: #4AB7BD;
+$yellow:#FEC171;
+$panGreen: #30B08F;
+
+$base-menu-color:#ffffff; //榛樿瀛椾綋棰滆壊
+$base-menu-color-active:#f4f4f5;
+$base-menu-background:#001529; //榛樿鑳屾櫙鑹�
+$base-logo-title-color: #ffffff; //榛樿logo_title瀛椾綋棰滆壊
+
+$base-menu-light-color:#ffffff; //娴呰壊涓婚瀛椾綋棰滆壊
+$base-menu-light-background:#2B68C9; //娴呰壊涓婚鑳屾櫙鑹�
+$base-logo-light-title-color: #001529; //娴呰壊涓婚logo_title棰滆壊
+
+$base-sub-menu-background:#1f2d3d;
+$base-sub-menu-hover:#001528;
+// sidebar
+// $menuText:#bfcbd9;
+$menuActiveText:#0C8AFF;
+// $subMenuActiveText:#f4f4f5;
+
+// $menuBg:#001529;
+// $menuHover:#263445;
+
+// $subMenuBg:#000c17;
+// $subMenuHover:#001528;
+
+
+$base-sidebar-width: 200px;
+
+// the :export directive is the magic sauce for webpack
+// https://www.bluematador.com/blog/how-to-share-variables-between-js-and-sass
+:export {
+ // menuText: $menuText;
+ menuActiveText: $menuActiveText;
+ // menuActiveBg:$menuActiveText;
+ // subMenuActiveText: $subMenuActiveText;
+ // menuBg: $menuBg;
+ // menuHover: $menuHover;
+ // subMenuBg: $subMenuBg;
+ // subMenuHover: $subMenuHover;
+ // sideBarWidth: $sideBarWidth;
+ menuColor: $base-menu-color;
+ menuLightColor: $base-menu-light-color;
+ menuColorActive: $base-menu-color-active;
+ menuBackground: $base-menu-background;
+ menuLightBackground: $base-menu-light-background;
+ subMenuBackground: $base-sub-menu-background;
+ subMenuHover: $base-sub-menu-hover;
+ sideBarWidth: $base-sidebar-width;
+ logoTitleColor: $base-logo-title-color;
+ logoLightTitleColor: $base-logo-light-title-color
+
+}
diff --git a/src/utils/ZBKJIutil.js b/src/utils/ZBKJIutil.js
new file mode 100644
index 0000000..d7cd9f4
--- /dev/null
+++ b/src/utils/ZBKJIutil.js
@@ -0,0 +1,111 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+import store from '@/store'
+
+/**
+ * 鏍规嵁闇�姹傝繃婊ゆ帀treeData涓殑child.length === 0鐨勬暟鎹�
+ * @param treeData
+ * @returns {Uint8Array | BigInt64Array | any[] | Float64Array | Int8Array | Float32Array | Int32Array | Uint32Array | Uint8ClampedArray | BigUint64Array | Int16Array | Uint16Array}
+ */
+export function clearTreeData(treeData) {
+ return treeData.map((item) => {
+ if (item.child.length === 0) {
+ delete item.child
+ } else {
+ clearTreeData(item.child)
+ }
+ return item
+ })
+}
+
+export function addTreeListLabel(treeData) { // 鍥犳爲褰㈡帶浠跺湪slot-scope妯″紡涓嬫樉绀哄瓧娈靛彧鑳戒负label涓烘鑷畾涔夋坊鍔爈abel瀛楁鍜宑hild=children
+ return treeData.map((item) => {
+ if ((item.name === '璁剧疆' || item.name === '绠$悊鍛樺垪琛�' ||
+ item.name === '韬唤绠$悊' || item.name === '绠$悊鏉冮檺' ||
+ item.name === '绠$悊鍛樺垪琛�' || item.name === '鏉冮檺瑙勫垯') && store.getters.name !== 'admin') {
+ item.disabled = true
+ }
+ item.label = item.name
+ return item
+ })
+}
+
+export function addTreeListLabelForCasCard(treeData, child) {
+ treeData.map((item) => {
+ if ((item.name === '璁剧疆' || item.name === '绠$悊鍛樺垪琛�' ||
+ item.name === '韬唤绠$悊' || item.name === '绠$悊鏉冮檺' ||
+ item.name === '绠$悊鍛樺垪琛�' || item.name === '鏉冮檺瑙勫垯') && store.getters.name !== 'admin') {
+ item.disabled = true
+ }
+ item.label = item.name
+ return item
+ })
+}
+
+//鍔犳硶鍑芥暟锛岀敤鏉ュ緱鍒扮簿纭殑鍔犳硶缁撴灉
+//璇存槑锛歫avascript鐨勫姞娉曠粨鏋滀細鏈夎宸紝鍦ㄤ袱涓诞鐐规暟鐩稿姞鐨勬椂鍊欎細姣旇緝鏄庢樉銆傝繖涓嚱鏁拌繑鍥炶緝涓虹簿纭殑鍔犳硶缁撴灉銆�
+//璋冪敤锛�$h.Add(arg1,arg2)
+//杩斿洖鍊硷細arg1鍔犱笂arg2鐨勭簿纭粨鏋�
+export function Add(arg1, arg2) {
+ arg2 = parseFloat(arg2);
+ var r1, r2, m;
+ try {
+ r1 = arg1.toString().split(".")[1].length
+ } catch (e) {
+ r1 = 0
+ }
+ try {
+ r2 = arg2.toString().split(".")[1].length
+ } catch (e) {
+ r2 = 0
+ }
+ m = Math.pow(100, Math.max(r1, r2));
+ return (this.Mul(arg1, m) + this.Mul(arg2, m)) / m;
+}
+
+//涔樻硶鍑芥暟锛岀敤鏉ュ緱鍒扮簿纭殑涔樻硶缁撴灉
+//璇存槑锛歫avascript鐨勪箻娉曠粨鏋滀細鏈夎宸紝鍦ㄤ袱涓诞鐐规暟鐩镐箻鐨勬椂鍊欎細姣旇緝鏄庢樉銆傝繖涓嚱鏁拌繑鍥炶緝涓虹簿纭殑涔樻硶缁撴灉銆�
+//璋冪敤锛�$h.Mul(arg1,arg2)
+//杩斿洖鍊硷細arg1涔樹互arg2鐨勭簿纭粨鏋�
+export function Mul(arg1, arg2) {
+ arg1 = parseFloat(arg1);
+ arg2 = parseFloat(arg2);
+ var m = 0,
+ s1 = arg1.toString(),
+ s2 = arg2.toString();
+ try {
+ m += s1.split(".")[1].length
+ } catch (e) {}
+ try {
+ m += s2.split(".")[1].length
+ } catch (e) {}
+ return Number(s1.replace(".", "")) * Number(s2.replace(".", "")) / Math.pow(10, m);
+}
+
+//鏇挎崲瀹夊叏鍩熷悕
+export function setDomain(url) {
+ url = url ? url.toString() : '';
+ // 姝e垯鏇挎崲瀛樺湪鐨勮浆涔夌
+ url = url.replace(/\\/g,'');
+ url = window.location.protocol==='https:'? url.replace('http://','https://') : url;
+ if(url.startsWith('src="')){
+ url = url.replaceAll('src="','');
+ }
+ if(url.startsWith('//img') && window.location.protocol==='https:'){
+ url = url.replace('//img','https://img');
+ }
+ return url;
+}
+
+// 杩囨护瀵屾枃鏈腑鐨� img 鐩稿璺緞璁块棶
+export function replaceImgSrcHttps(content) {
+ return content.replaceAll('src="//','src="https://');
+}
diff --git a/src/utils/aes.js b/src/utils/aes.js
new file mode 100644
index 0000000..060e756
--- /dev/null
+++ b/src/utils/aes.js
@@ -0,0 +1,30 @@
+import CryptoJS from "crypto-js";
+// 瀵煎叆setting
+import setting from "@/config/settings";
+//鍗佸叚浣嶅崄鍏繘鍒舵暟浣滀负瀵嗛挜
+const key = CryptoJS.enc.Utf8.parse(setting.aeskey);
+//鍗佸叚浣嶅崄鍏繘鍒舵暟浣滀负瀵嗛挜鍋忕Щ閲�
+const iv = CryptoJS.enc.Utf8.parse(setting.aesiv);
+
+/* 鍔犲瘑 */
+export function Encrypt(word) {
+ let srcs = CryptoJS.enc.Utf8.parse(word);
+ let encrypted = CryptoJS.AES.encrypt(srcs, key, {
+ iv: iv,
+ mode: CryptoJS.mode.CBC,
+ padding: CryptoJS.pad.Pkcs7
+ });
+ return encrypted.ciphertext.toString().toUpperCase();
+}
+/* 瑙e瘑 */
+export function Decrypt(word) {
+ let encryptedHexStr = CryptoJS.enc.Hex.parse(word);
+ let srcs = CryptoJS.enc.Base64.stringify(encryptedHexStr);
+ let decrypt = CryptoJS.AES.decrypt(srcs, key, {
+ iv: iv,
+ mode: CryptoJS.mode.CBC,
+ padding: CryptoJS.pad.Pkcs7
+ });
+ let decryptedStr = decrypt.toString(CryptoJS.enc.Utf8);
+ return decryptedStr.toString();
+}
diff --git a/src/utils/auth.js b/src/utils/auth.js
new file mode 100644
index 0000000..99af431
--- /dev/null
+++ b/src/utils/auth.js
@@ -0,0 +1,25 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+import Cookies from 'js-cookie'
+
+const TokenKey = 'Authori-zation'
+
+export function getToken() {
+ return Cookies.get(TokenKey)
+}
+
+export function setToken(token) {
+ return Cookies.set(TokenKey, token)
+}
+
+export function removeToken() {
+ return Cookies.remove(TokenKey)
+}
diff --git a/src/utils/clipboard.js b/src/utils/clipboard.js
new file mode 100644
index 0000000..78cfc8f
--- /dev/null
+++ b/src/utils/clipboard.js
@@ -0,0 +1,42 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+import Vue from 'vue'
+import Clipboard from 'clipboard'
+
+function clipboardSuccess() {
+ Vue.prototype.$message({
+ message: 'Copy successfully',
+ type: 'success',
+ duration: 1500
+ })
+}
+
+function clipboardError() {
+ Vue.prototype.$message({
+ message: 'Copy failed',
+ type: 'error'
+ })
+}
+
+export default function handleClipboard(text, event) {
+ const clipboard = new Clipboard(event.target, {
+ text: () => text
+ })
+ clipboard.on('success', () => {
+ clipboardSuccess()
+ clipboard.destroy()
+ })
+ clipboard.on('error', () => {
+ clipboardError()
+ clipboard.destroy()
+ })
+ clipboard.onClick(event)
+}
diff --git a/src/utils/constants.js b/src/utils/constants.js
new file mode 100644
index 0000000..b1d9628
--- /dev/null
+++ b/src/utils/constants.js
@@ -0,0 +1,103 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+/*
+/ 鍏ㄥ眬闈欐�佸彉閲忓畾涔�
+鍒囧嬁闅忔剰淇敼鏁扮粍娆″簭锛屽緢澶氬湴鏂瑰凡涓嬫爣鏂瑰紡浣跨敤
+ */
+
+export const page = {
+ limit: [20, 40, 60, 80, 100],
+ page: 1,
+ layout: 'total, sizes, prev, pager, next, jumper'
+}
+
+/**
+ * 鏃犻檺鏋佸垎绫籺ype
+ * @type {{product: number, attachment: number, menu: number, article: number, operator: number}}
+ */
+export const categoryType = [ // 1 浜у搧鍒嗙被锛�2 闄勪欢鍒嗙被锛�3 鏂囩珷鍒嗙被锛� 4 璁剧疆鍒嗙被锛� 5 鑿滃崟鍒嗙被锛� 6 閰嶇疆鍒嗙被锛� 7 绉掓潃閰嶇疆
+ { name: '浜у搧鍒嗙被', value: 1, shortName: '浜у搧' },
+ { name: '闄勪欢鍒嗙被', value: 2, shortName: '闄勪欢' },
+ { name: '鏂囩珷鍒嗙被', value: 3, shortName: '鏂囩珷' },
+ { name: '璁剧疆鍒嗙被', value: 4, shortName: '璁剧疆' },
+ { name: '鑿滃崟鍒嗙被', value: 5, shortName: '鑿滃崟' },
+ { name: '閰嶇疆鍒嗙被', value: 6, shortName: '閰嶇疆' },
+ { name: '绉掓潃閰嶇疆', value: 7, shortName: '绉掓潃' }
+]
+
+export const roleListStatus = [
+ { label: '鍏ㄩ儴', value: '' },
+ { label: '鏄剧ず', value: 1 },
+ { label: '涓嶆樉绀�', value: 0 }
+]
+
+export const showHiddenStatus = [
+ { label: '鏄剧ず', value: '鈥�1鈥�' },
+ { label: '涓嶆樉绀�', value: '鈥�0鈥�' }
+]
+
+export const switchStatus = [
+ { label: '寮�鍚�', value: 1 },
+ { label: '鍏抽棴', value: 0 }
+]
+
+export const deletedOrNormal = [
+ { label: '姝e父', value: 0 },
+ { label: '宸插垹闄�', value: 1 }
+]
+
+/**
+ * 鏆傛椂寮冪敤
+ * @type {*[]}
+ */
+export const configCategory = [
+ { label: '绯荤粺', value: '0' },
+ { label: '搴旂敤', value: '1' },
+ { label: '鏀粯', value: '2' },
+ { label: '鍏朵粬', value: '3' }
+]
+
+/**
+ * 琛ㄥ崟閰嶇疆闆嗗悎闆嗕腑閰嶇疆
+ * @type {{id: number, dis: string}[]}
+ */
+export const formConfigIds = [
+ { id: 84, dis: '寰俊鍏紬鍙疯〃鍗曢厤缃�' },
+ { id: 86, dis: '绉掓潃閰嶇疆' }
+]
+
+/**
+ * 鏃堕棿閫夋嫨鍣�
+ */
+export const fromList = {
+ title: '閫夋嫨鏃堕棿',
+ custom: true,
+ fromTxt: [
+ { text: '鍏ㄩ儴', val: '' },
+ { text: '浠婂ぉ', val: 'today' },
+ { text: '鏄ㄥぉ', val: 'yesterday' },
+ { text: '鏈�杩�7澶�', val: 'lately7' },
+ { text: '鏈�杩�30澶�', val: 'lately30' },
+ { text: '鏈湀', val: 'month' },
+ { text: '鏈勾', val: 'year' }
+ ]
+}
+
+// 缁熻绠$悊鏃堕棿閫夋嫨鍣�
+export const timeList = {
+ title: '閫夋嫨鏃堕棿',
+ custom: true,
+ fromTxt: [
+ { text: '鏄ㄥぉ', val: `` },
+ { text: '鏈�杩�7澶�', val: 'lately7' },
+ { text: '鏈�杩�30澶�', val: 'lately30' },
+ ]
+}
diff --git a/src/utils/error-log.js b/src/utils/error-log.js
new file mode 100644
index 0000000..adcd9d0
--- /dev/null
+++ b/src/utils/error-log.js
@@ -0,0 +1,44 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+import Vue from 'vue'
+import store from '@/store'
+import { isString, isArray } from '@/utils/validate'
+import settings from '@/settings'
+
+// you can set in settings.js
+// errorLog:'production' | ['production', 'development']
+const { errorLog: needErrorLog } = settings
+
+function checkNeed() {
+ const env = process.env.NODE_ENV
+ if (isString(needErrorLog)) {
+ return env === needErrorLog
+ }
+ if (isArray(needErrorLog)) {
+ return needErrorLog.includes(env)
+ }
+ return false
+}
+
+if (checkNeed()) {
+ Vue.config.errorHandler = function(err, vm, info) {
+ // Don't ask me why I use Vue.nextTick, it just a hack.
+ // detail see https://forum.vuejs.org/t/dispatch-in-vue-config-errorhandler-has-some-problem/23500
+ Vue.nextTick(() => {
+ store.dispatch('errorLog/addErrorLog', {
+ err,
+ vm,
+ info,
+ url: window.location.href
+ })
+ })
+ }
+}
diff --git a/src/utils/get-page-title.js b/src/utils/get-page-title.js
new file mode 100644
index 0000000..76b2cba
--- /dev/null
+++ b/src/utils/get-page-title.js
@@ -0,0 +1,20 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+import defaultSettings from '@/settings'
+
+const title = defaultSettings.title || 'Vue Element Admin'
+
+export default function getPageTitle(pageTitle) {
+ if (pageTitle) {
+ return `${pageTitle} - ${title}`
+ }
+ return `${title}`
+}
diff --git a/src/utils/index.js b/src/utils/index.js
new file mode 100644
index 0000000..1151200
--- /dev/null
+++ b/src/utils/index.js
@@ -0,0 +1,433 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+import Cookies from 'js-cookie'
+/**
+ * Created by PanJiaChen on 16/11/18.
+ */
+/**
+ * Parse the time to string
+ * @param {(Object|string|number)} date
+ * @param {string} fmt
+ * @returns {string | null}
+ */
+export function formatDates (date, fmt) {
+ if (/(y+)/.test(fmt)) {
+ fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length));
+ }
+ let o = {
+ 'M+': date.getMonth() + 1,
+ 'd+': date.getDate(),
+ 'h+': date.getHours(),
+ 'm+': date.getMinutes(),
+ 's+': date.getSeconds()
+ };
+ for (let k in o) {
+ if (new RegExp(`(${k})`).test(fmt)) {
+ let str = o[k] + '';
+ fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : padLeftZero(str));
+ }
+ }
+ return fmt;
+}
+function padLeftZero (str) {
+ return ('00' + str).substr(str.length);
+}
+
+/**
+ * 鏇存敼鏃堕棿鏍煎紡鎴�2010-01-10鏍煎紡
+ * @param {(Object|string|number)} time
+ * @param {string} cFormat
+ * @returns {string | null}
+ */
+export function parseTime(time, cFormat) {
+ if (arguments.length === 0) {
+ return null
+ }
+ const format = cFormat || '{y}-{m}-{d} {h}:{i}:{s}'
+ let date
+ if (typeof time === 'object') {
+ date = time
+ } else {
+ if ((typeof time === 'string')) {
+ if ((/^[0-9]+$/.test(time))) {
+ time = parseInt(time)
+ } else {
+ time = time.replace(new RegExp(/-/gm), '/')
+ }
+ }
+ if ((typeof time === 'number') && (time.toString().length === 10)) {
+ time = time * 1000
+ }
+ date = new Date(time)
+ }
+ const formatObj = {
+ y: date.getFullYear(),
+ m: date.getMonth() + 1,
+ d: date.getDate(),
+ h: date.getHours(),
+ i: date.getMinutes(),
+ s: date.getSeconds(),
+ a: date.getDay()
+ }
+ const time_str = format.replace(/{([ymdhisa])+}/g, (result, key) => {
+ const value = formatObj[key]
+ // Note: getDay() returns 0 on Sunday
+ if (key === 'a') { return ['鏃�', '涓�', '浜�', '涓�', '鍥�', '浜�', '鍏�'][value ] }
+ return value.toString().padStart(2, '0')
+ })
+ return time_str
+}
+
+/**
+ * @param {number} time
+ * @param {string} option
+ * @returns {string}
+ */
+export function formatTime(time, option) {
+ if (('' + time).length === 10) {
+ time = parseInt(time) * 1000
+ } else {
+ time = +time
+ }
+ const d = new Date(time)
+ const now = Date.now()
+
+ const diff = (now - d) / 1000
+
+ if (diff < 30) {
+ return '鍒氬垰'
+ } else if (diff < 3600) {
+ // less 1 hour
+ return Math.ceil(diff / 60) + '鍒嗛挓鍓�'
+ } else if (diff < 3600 * 24) {
+ return Math.ceil(diff / 3600) + '灏忔椂鍓�'
+ } else if (diff < 3600 * 24 * 2) {
+ return '1澶╁墠'
+ }
+ if (option) {
+ return parseTime(time, option)
+ } else {
+ return (
+ d.getMonth() +
+ 1 +
+ '鏈�' +
+ d.getDate() +
+ '鏃�' +
+ d.getHours() +
+ '鏃�' +
+ d.getMinutes() +
+ '鍒�'
+ )
+ }
+}
+
+/**
+ * @param {string} url
+ * @returns {Object}
+ */
+export function getQueryObject(url) {
+ url = url == null ? window.location.href : url
+ const search = url.substring(url.lastIndexOf('?') + 1)
+ const obj = {}
+ const reg = /([^?&=]+)=([^?&=]*)/g
+ search.replace(reg, (rs, $1, $2) => {
+ const name = decodeURIComponent($1)
+ let val = decodeURIComponent($2)
+ val = String(val)
+ obj[name] = val
+ return rs
+ })
+ return obj
+}
+
+/**
+ * @param {string} input value
+ * @returns {number} output value
+ */
+export function byteLength(str) {
+ // returns the byte length of an utf8 string
+ let s = str.length
+ for (var i = str.length - 1; i >= 0; i--) {
+ const code = str.charCodeAt(i)
+ if (code > 0x7f && code <= 0x7ff) s++
+ else if (code > 0x7ff && code <= 0xffff) s += 2
+ if (code >= 0xDC00 && code <= 0xDFFF) i--
+ }
+ return s
+}
+
+/**
+ * @param {Array} actual
+ * @returns {Array}
+ */
+export function cleanArray(actual) {
+ const newArray = []
+ for (let i = 0; i < actual.length; i++) {
+ if (actual[i]) {
+ newArray.push(actual[i])
+ }
+ }
+ return newArray
+}
+
+/**
+ * @param {Object} json
+ * @returns {Array}
+ */
+export function param(json) {
+ if (!json) return ''
+ return cleanArray(
+ Object.keys(json).map(key => {
+ if (json[key] === undefined) return ''
+ return encodeURIComponent(key) + '=' + encodeURIComponent(json[key])
+ })
+ ).join('&')
+}
+
+/**
+ * @param {string} url
+ * @returns {Object}
+ */
+export function param2Obj(url) {
+ const search = url.split('?')[1]
+ if (!search) {
+ return {}
+ }
+ return JSON.parse(
+ '{"' +
+ decodeURIComponent(search)
+ .replace(/"/g, '\\"')
+ .replace(/&/g, '","')
+ .replace(/=/g, '":"')
+ .replace(/\+/g, ' ') +
+ '"}'
+ )
+}
+
+/**
+ * @param {string} val
+ * @returns {string}
+ */
+export function html2Text(val) {
+ const div = document.createElement('div')
+ div.innerHTML = val
+ return div.textContent || div.innerText
+}
+
+/**
+ * Merges two objects, giving the last one precedence
+ * @param {Object} target
+ * @param {(Object|Array)} source
+ * @returns {Object}
+ */
+export function objectMerge(target, source) {
+ if (typeof target !== 'object') {
+ target = {}
+ }
+ if (Array.isArray(source)) {
+ return source.slice()
+ }
+ Object.keys(source).forEach(property => {
+ const sourceProperty = source[property]
+ if (typeof sourceProperty === 'object') {
+ target[property] = objectMerge(target[property], sourceProperty)
+ } else {
+ target[property] = sourceProperty
+ }
+ })
+ return target
+}
+
+/**
+ * @param {HTMLElement} element
+ * @param {string} className
+ */
+export function toggleClass(element, className) {
+ if (!element || !className) {
+ return
+ }
+ let classString = element.className
+ const nameIndex = classString.indexOf(className)
+ if (nameIndex === -1) {
+ classString += '' + className
+ } else {
+ classString =
+ classString.substr(0, nameIndex) +
+ classString.substr(nameIndex + className.length)
+ }
+ element.className = classString
+}
+
+/**
+ * @param {string} type
+ * @returns {Date}
+ */
+export function getTime(type) {
+ if (type === 'start') {
+ return new Date().getTime() - 3600 * 1000 * 24 * 90
+ } else {
+ return new Date(new Date().toDateString())
+ }
+}
+
+/**
+ * @param {Function} func
+ * @param {number} wait
+ * @param {boolean} immediate
+ * @return {*}
+ */
+export function debounce(func, wait, immediate) {
+ let timeout, args, context, timestamp, result
+
+ const later = function() {
+ // 鎹笂涓�娆¤Е鍙戞椂闂撮棿闅�
+ const last = +new Date() - timestamp
+
+ // 涓婃琚寘瑁呭嚱鏁拌璋冪敤鏃堕棿闂撮殧 last 灏忎簬璁惧畾鏃堕棿闂撮殧 wait
+ if (last < wait && last > 0) {
+ timeout = setTimeout(later, wait - last)
+ } else {
+ timeout = null
+ // 濡傛灉璁惧畾涓篿mmediate===true锛屽洜涓哄紑濮嬭竟鐣屽凡缁忚皟鐢ㄨ繃浜嗘澶勬棤闇�璋冪敤
+ if (!immediate) {
+ result = func.apply(context, args)
+ if (!timeout) context = args = null
+ }
+ }
+ }
+
+ return function(...args) {
+ context = this
+ timestamp = +new Date()
+ const callNow = immediate && !timeout
+ // 濡傛灉寤舵椂涓嶅瓨鍦紝閲嶆柊璁惧畾寤舵椂
+ if (!timeout) timeout = setTimeout(later, wait)
+ if (callNow) {
+ result = func.apply(context, args)
+ context = args = null
+ }
+
+ return result
+ }
+}
+
+/**
+ * This is just a simple version of deep copy
+ * Has a lot of edge cases bug
+ * If you want to use a perfect deep copy, use lodash's _.cloneDeep
+ * @param {Object} source
+ * @returns {Object}
+ */
+export function deepClone(source) {
+ if (!source && typeof source !== 'object') {
+ throw new Error('error arguments', 'deepClone')
+ }
+ const targetObj = source.constructor === Array ? [] : {}
+ Object.keys(source).forEach(keys => {
+ if (source[keys] && typeof source[keys] === 'object') {
+ targetObj[keys] = deepClone(source[keys])
+ } else {
+ targetObj[keys] = source[keys]
+ }
+ })
+ return targetObj
+}
+
+/**
+ * @param {Array} arr
+ * @returns {Array}
+ */
+export function uniqueArr(arr) {
+ return Array.from(new Set(arr))
+}
+
+/**
+ * @returns {string}
+ */
+export function createUniqueString() {
+ const timestamp = +new Date() + ''
+ const randomNum = parseInt((1 + Math.random()) * 65536) + ''
+ return (+(randomNum + timestamp)).toString(32)
+}
+
+/**
+ * Check if an element has a class
+ * @param {HTMLElement} elm
+ * @param {string} cls
+ * @returns {boolean}
+ */
+export function hasClass(ele, cls) {
+ return !!ele.className.match(new RegExp('(\\s|^)' + cls + '(\\s|$)'))
+}
+
+/**
+ * Add class to element
+ * @param {HTMLElement} elm
+ * @param {string} cls
+ */
+export function addClass(ele, cls) {
+ if (!hasClass(ele, cls)) ele.className += ' ' + cls
+}
+
+/**
+ * Remove class from element
+ * @param {HTMLElement} elm
+ * @param {string} cls
+ */
+export function removeClass(ele, cls) {
+ if (hasClass(ele, cls)) {
+ const reg = new RegExp('(\\s|^)' + cls + '(\\s|$)')
+ ele.className = ele.className.replace(reg, ' ')
+ }
+}
+
+/**
+ * 鍒ゆ柇鍦板潃
+ */
+export function parseQuery() {
+ const res = {};
+
+ const query = (location.href.split("?")[1] || "")
+ .trim()
+ .replace(/^(\?|#|&)/, "");
+
+ if (!query) {
+ return res;
+ }
+
+ query.split("&").forEach(param => {
+ const parts = param.replace(/\+/g, " ").split("=");
+ const key = decodeURIComponent(parts.shift());
+ const val = parts.length > 0 ? decodeURIComponent(parts.join("=")) : null;
+
+ if (res[key] === undefined) {
+ res[key] = val;
+ } else if (Array.isArray(res[key])) {
+ res[key].push(val);
+ } else {
+ res[key] = [res[key], val];
+ }
+ });
+
+ return res;
+}
+
+/**
+ * 鏄惁鏄牳閿�鍛�
+ */
+export function isWriteOff() {
+ if(localStorage.getItem('storeStaffList')){
+ let JavaInfo = JSON.parse(Cookies.get('JavaInfo'))
+ let staff = JSON.parse(localStorage.getItem('storeStaffList'))
+ return staff.some(item => item.avatar === JavaInfo.account)
+ }
+}
+
diff --git a/src/utils/newToExcel.js b/src/utils/newToExcel.js
new file mode 100644
index 0000000..4929583
--- /dev/null
+++ b/src/utils/newToExcel.js
@@ -0,0 +1,34 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+import { export_json_to_excel } from '../vendor/Export1Excel'
+
+/**
+* @method exportExcel
+* @param {Array} header 琛ㄥご
+* @param {Array} filterVal 琛ㄥご灞炴�у瓧娈�
+* @param {String} filename 鏂囦欢鍚嶇О
+* @param {Array} tableData 鍒楄〃鏁版嵁
+**/
+export default function exportExcel(header, filterVal, filename, tableData) {
+ var data = formatJson(filterVal, tableData)
+ export_json_to_excel(
+ header,
+ data,
+ filename
+ )
+}
+
+function formatJson(filterVal, tableData) {
+ return tableData.map(v => {
+ return filterVal.map(j => {
+ return v[j]
+ })
+ })
+}
diff --git a/src/utils/open-window.js b/src/utils/open-window.js
new file mode 100644
index 0000000..3afae0c
--- /dev/null
+++ b/src/utils/open-window.js
@@ -0,0 +1,35 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+/**
+ *Created by PanJiaChen on 16/11/29.
+ * @param {Sting} url
+ * @param {Sting} title
+ * @param {Number} w
+ * @param {Number} h
+ */
+export default function openWindow(url, title, w, h) {
+ // Fixes dual-screen position Most browsers Firefox
+ const dualScreenLeft = window.screenLeft !== undefined ? window.screenLeft : screen.left
+ const dualScreenTop = window.screenTop !== undefined ? window.screenTop : screen.top
+
+ const width = window.innerWidth ? window.innerWidth : document.documentElement.clientWidth ? document.documentElement.clientWidth : screen.width
+ const height = window.innerHeight ? window.innerHeight : document.documentElement.clientHeight ? document.documentElement.clientHeight : screen.height
+
+ const left = ((width / 2) - (w / 2)) + dualScreenLeft
+ const top = ((height / 2) - (h / 2)) + dualScreenTop
+ const newWindow = window.open(url, title, 'toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=yes, copyhistory=no, width=' + w + ', height=' + h + ', top=' + top + ', left=' + left)
+
+ // Puts focus on the newWindow
+ if (window.focus) {
+ newWindow.focus()
+ }
+}
+
diff --git a/src/utils/parsing.js b/src/utils/parsing.js
new file mode 100644
index 0000000..8a2f020
--- /dev/null
+++ b/src/utils/parsing.js
@@ -0,0 +1,220 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+/**
+ * 閫氱敤js鏂规硶灏佽澶勭悊
+ * Copyright (c) 2019 ruoyi
+ */
+
+// 鏃ユ湡鏍煎紡鍖�
+export function parseTime(time, pattern) {
+ if (arguments.length === 0 || !time) {
+ return null
+ }
+ const format = pattern || '{y}-{m}-{d} {h}:{i}:{s}'
+ let date
+ if (typeof time === 'object') {
+ date = time
+ } else {
+ if ((typeof time === 'string') && (/^[0-9]+$/.test(time))) {
+ time = parseInt(time)
+ } else if (typeof time === 'string') {
+ time = time.replace(new RegExp(/-/gm), '/').replace('T', ' ').replace(new RegExp(/\.[\d]{3}/gm),'');
+ }
+ if ((typeof time === 'number') && (time.toString().length === 10)) {
+ time = time * 1000
+ }
+ date = new Date(time)
+ }
+ const formatObj = {
+ y: date.getFullYear(),
+ m: date.getMonth() + 1,
+ d: date.getDate(),
+ h: date.getHours(),
+ i: date.getMinutes(),
+ s: date.getSeconds(),
+ a: date.getDay()
+ }
+ const time_str = format.replace(/{(y|m|d|h|i|s|a)+}/g, (result, key) => {
+ let value = formatObj[key]
+ // Note: getDay() returns 0 on Sunday
+ if (key === 'a') { return ['鏃�', '涓�', '浜�', '涓�', '鍥�', '浜�', '鍏�'][value] }
+ if (result.length > 0 && value < 10) {
+ value = '0' + value
+ }
+ return value || 0
+ })
+ return time_str
+}
+
+// 琛ㄥ崟閲嶇疆
+export function resetForm(refName) {
+ if (this.$refs[refName]) {
+ this.$refs[refName].resetFields();
+ }
+}
+
+// 娣诲姞鏃ユ湡鑼冨洿
+export function addDateRange(params, dateRange, propName) {
+ let search = params;
+ search.params = typeof (search.params) === 'object' && search.params !== null && !Array.isArray(search.params) ? search.params : {};
+ dateRange = Array.isArray(dateRange) ? dateRange : [];
+ if (typeof (propName) === 'undefined') {
+ search.params['beginTime'] = dateRange[0];
+ search.params['endTime'] = dateRange[1];
+ } else {
+ search.params['begin' + propName] = dateRange[0];
+ search.params['end' + propName] = dateRange[1];
+ }
+ return search;
+}
+
+// 瀛楃涓叉牸寮忓寲(%s )
+export function sprintf(str) {
+ var args = arguments, flag = true, i = 1;
+ str = str.replace(/%s/g, function () {
+ var arg = args[i++];
+ if (typeof arg === 'undefined') {
+ flag = false;
+ return '';
+ }
+ return arg;
+ });
+ return flag ? str : '';
+}
+
+// 杞崲瀛楃涓诧紝undefined,null绛夎浆鍖栦负""
+export function praseStrEmpty(str) {
+ if (!str || str == "undefined" || str == "null") {
+ return "";
+ }
+ return str;
+}
+
+// 鏁版嵁鍚堝苟
+export function mergeRecursive(source, target) {
+ for (var p in target) {
+ try {
+ if (target[p].constructor == Object) {
+ source[p] = mergeRecursive(source[p], target[p]);
+ } else {
+ source[p] = target[p];
+ }
+ } catch(e) {
+ source[p] = target[p];
+ }
+ }
+ return source;
+};
+
+/**
+ * 鏋勯�犳爲鍨嬬粨鏋勬暟鎹�
+ * @param {*} data 鏁版嵁婧�
+ * @param {*} id id瀛楁 榛樿 'id'
+ * @param {*} parentId 鐖惰妭鐐瑰瓧娈� 榛樿 'parentId'
+ * @param {*} children 瀛╁瓙鑺傜偣瀛楁 榛樿 'children'
+ */
+export function handleTree(data, id, parentId, children) {
+ let config = {
+ id: id || 'id',
+ parentId: parentId || 'parentId',
+ childrenList: children || 'children'
+ };
+
+ var childrenListMap = {};
+ var nodeIds = {};
+ var tree = [];
+
+ for (let d of data) {
+ let parentId = d[config.parentId];
+ if (childrenListMap[parentId] == null) {
+ childrenListMap[parentId] = [];
+ }
+ nodeIds[d.id] = d;
+ childrenListMap[parentId].push(d);
+ }
+
+ for (let d of data) {
+ let parentId = d[config.parentId];
+ if (nodeIds[parentId] == null) {
+ tree.push(d);
+ }
+ }
+
+ for (let t of tree) {
+ adaptToChildrenList(t);
+ }
+
+ function adaptToChildrenList(o) {
+ if (childrenListMap[o.id] !== null) {
+ o[config.childrenList] = childrenListMap[o.id];
+ }
+ if (o[config.childrenList]) {
+ for (let c of o[config.childrenList]) {
+ adaptToChildrenList(c);
+ }
+ }
+ }
+ return tree;
+}
+
+/**
+ * 璺敱鏁版嵁閬嶅巻
+ *
+ */
+ export function formatRoutes(routerArr){
+ let arr = [],obj = {};
+ routerArr.forEach(tmp => {
+ obj = {
+ id:tmp.id,
+ pid:tmp.pid,
+ name:tmp.name,
+ url:tmp.component,
+ path:'/' + tmp.pid + '/',
+ perms:tmp.perms,
+ child:tmp.childList.length ? tmp.childList.map(item=>{
+ return {
+ id:item.id,
+ pid:item.pid,
+ name:item.name,
+ url:item.component,
+ path:'/' + tmp.pid + '/' + item.pid + '/',
+ perms:item.perms,
+ extra:item.icon,
+ child:item.childList.length ? item.childList.map(item1=>{
+ return {
+ id:item1.id,
+ pid:item1.pid,
+ name:item1.name,
+ url:item1.component,
+ path:'/' + tmp.pid + '/' + item.pid + '/' + item1.pid + '/',
+ perms:item1.perms,
+ extra:item1.icon,
+ child:item1.childList.length ? item1.childList.map(item2=>{
+ return {
+ id:item2.id,
+ pid:item2.pid,
+ name:item2.name,
+ url:item2.component,
+ path:'/' + tmp.pid + '/' + item.pid + '/' + item1.pid + '/' + item2.pid + '/',
+ perms:item2.perms,
+ extra:item2.icon,
+ }
+ }) : []
+ }
+ }) : []
+ }
+ }) : [],
+ extra:tmp.icon,
+ }
+ arr.push(obj);
+ })
+ return arr;
+ }
\ No newline at end of file
diff --git a/src/utils/permission.js b/src/utils/permission.js
new file mode 100644
index 0000000..094e60a
--- /dev/null
+++ b/src/utils/permission.js
@@ -0,0 +1,61 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+import store from '@/store'
+
+/**
+ * 瀛楃鏉冮檺鏍¢獙
+ * @param {Array} value 鏍¢獙鍊�
+ * @returns {Boolean}
+ */
+export function checkPermi(value) {
+ if (value && value instanceof Array && value.length > 0) {
+ const permissions = store.getters && store.getters.permissions
+ const permissionDatas = value
+ const all_permission = "*:*:*";
+
+ const hasPermission = permissions.some(permission => {
+ return all_permission === permission || permissionDatas.includes(permission)
+ })
+
+ if (!hasPermission) {
+ return false
+ }
+ return true
+ } else {
+ console.error(`need roles! Like checkPermi="['system:user:add','system:user:edit']"`)
+ return false
+ }
+}
+
+/**
+ * 瑙掕壊鏉冮檺鏍¢獙
+ * @param {Array} value 鏍¢獙鍊�
+ * @returns {Boolean}
+ */
+export function checkRole(value) {
+ if (value && value instanceof Array && value.length > 0) {
+ const roles = store.getters && store.getters.roles
+ const permissionRoles = value
+ const super_admin = "admin";
+
+ const hasRole = roles.some(role => {
+ return super_admin === role || permissionRoles.includes(role)
+ })
+
+ if (!hasRole) {
+ return false
+ }
+ return true
+ } else {
+ console.error(`need roles! Like checkRole="['admin','editor']"`)
+ return false
+ }
+}
\ No newline at end of file
diff --git a/src/utils/request.js b/src/utils/request.js
new file mode 100644
index 0000000..f494818
--- /dev/null
+++ b/src/utils/request.js
@@ -0,0 +1,81 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+import axios from "axios";
+import { MessageBox, Message } from "element-ui";
+import store from "@/store";
+import { getToken } from "@/utils/auth";
+import SettingMer from "@/utils/settingMer";
+import { isPhone } from "@/libs/wechat";
+const service = axios.create({
+ baseURL: SettingMer.apiBaseURL,
+ timeout: 60000, // 杩囨湡鏃堕棿
+});
+
+// request interceptor
+service.interceptors.request.use(
+ (config) => {
+ // 鍙戦�佽姹備箣鍓嶅仛鐨�
+ const token = !store.getters.token
+ ? sessionStorage.getItem("token")
+ : store.getters.token;
+ if (token) {
+ config.headers["Authori-zation"] = token;
+ }
+ if (/get/i.test(config.method)) {
+ config.params = config.params || {};
+ config.params.temp = Date.parse(new Date()) / 1000;
+ }
+ return config;
+ },
+ (error) => {
+ return Promise.reject(error);
+ }
+);
+
+// response interceptor
+service.interceptors.response.use(
+ (response) => {
+ const res = response.data;
+
+ // if the custom code is not 20000, it is judged as an error.
+ if (res.code === 401) {
+ // to re-login
+ Message.error("鏃犳晥鐨勪細璇濓紝鎴栬�呯櫥褰曞凡杩囨湡锛岃閲嶆柊鐧诲綍銆�");
+ location.href = "/login";
+ } else if (res.code === 403) {
+ Message.error("娌℃湁鏉冮檺璁块棶銆�");
+ }
+ if (res.code !== 200 && res.code !== 401) {
+ if (isPhone()) {
+ //绉诲姩绔�
+ return Promise.reject(res || "Error");
+ }
+ Message({
+ message: res.message || "Error",
+ type: "error",
+ duration: 5 * 1000,
+ });
+ return Promise.reject();
+ } else {
+ return res.data;
+ }
+ },
+ (error) => {
+ Message({
+ message: error.message,
+ type: "error",
+ duration: 5 * 1000,
+ });
+ return Promise.reject(error);
+ }
+);
+
+export default service;
diff --git a/src/utils/scroll-to.js b/src/utils/scroll-to.js
new file mode 100644
index 0000000..0071d95
--- /dev/null
+++ b/src/utils/scroll-to.js
@@ -0,0 +1,68 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+Math.easeInOutQuad = function(t, b, c, d) {
+ t /= d / 2
+ if (t < 1) {
+ return c / 2 * t * t + b
+ }
+ t--
+ return -c / 2 * (t * (t - 2) - 1) + b
+}
+
+// requestAnimationFrame for Smart Animating http://goo.gl/sx5sts
+var requestAnimFrame = (function() {
+ return window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || function(callback) { window.setTimeout(callback, 1000 / 60) }
+})()
+
+/**
+ * Because it's so fucking difficult to detect the scrolling element, just move them all
+ * @param {number} amount
+ */
+function move(amount) {
+ document.documentElement.scrollTop = amount
+ document.body.parentNode.scrollTop = amount
+ document.body.scrollTop = amount
+}
+
+function position() {
+ return document.documentElement.scrollTop || document.body.parentNode.scrollTop || document.body.scrollTop
+}
+
+/**
+ * @param {number} to
+ * @param {number} duration
+ * @param {Function} callback
+ */
+export function scrollTo(to, duration, callback) {
+ const start = position()
+ const change = to - start
+ const increment = 20
+ let currentTime = 0
+ duration = (typeof (duration) === 'undefined') ? 500 : duration
+ var animateScroll = function() {
+ // increment the time
+ currentTime += increment
+ // find the value with the quadratic in-out easing function
+ var val = Math.easeInOutQuad(currentTime, start, change, duration)
+ // move the document.body
+ move(val)
+ // do the animation unless its over
+ if (currentTime < duration) {
+ requestAnimFrame(animateScroll)
+ } else {
+ if (callback && typeof (callback) === 'function') {
+ // the animation is done so lets callback
+ callback()
+ }
+ }
+ }
+ animateScroll()
+}
diff --git a/src/utils/settingMer.js b/src/utils/settingMer.js
new file mode 100644
index 0000000..e2d59f4
--- /dev/null
+++ b/src/utils/settingMer.js
@@ -0,0 +1,23 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+// 璇锋眰鎺ュ彛鍦板潃 濡傛灉娌℃湁閰嶇疆鑷姩鑾峰彇褰撳墠缃戝潃璺緞
+const VUE_APP_API_URL = process.env.VUE_APP_BASE_API || `${location.origin}`
+const VUE_APP_WS_URL = process.env.VUE_APP_WS_URL || (location.protocol === 'https' ? 'wss' : 'ws') + ':' + location.hostname
+const SettingMer = {
+ // 鏈嶅姟鍣ㄥ湴鍧�
+ httpUrl: VUE_APP_API_URL,
+ // 鎺ュ彛璇锋眰鍦板潃
+ apiBaseURL: VUE_APP_API_URL + '/api/',
+ // socket杩炴帴
+ wsSocketUrl: VUE_APP_WS_URL
+}
+
+export default SettingMer
diff --git a/src/utils/utils.js b/src/utils/utils.js
new file mode 100644
index 0000000..bc66568
--- /dev/null
+++ b/src/utils/utils.js
@@ -0,0 +1,78 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+export default {
+ // 璁剧疆閫変腑鐨勬柟娉�
+ // 璁板繂閫夋嫨鏍稿績鏂规硶
+ changePageCoreRecordData: function (
+ multipleSelectionAll,
+ multipleSelection,
+ tableData,
+ successFn
+ ) {
+ // 鏍囪瘑褰撳墠琛岀殑鍞竴閿殑鍚嶇О
+ const idKey = "uid";
+ const that = this;
+ // 濡傛灉鎬昏蹇嗕腑杩樻病鏈夐�夋嫨鐨勬暟鎹紝閭d箞灏辩洿鎺ュ彇褰撳墠椤甸�変腑鐨勬暟鎹紝涓嶉渶瑕佸悗闈竴绯诲垪璁$畻
+ if (multipleSelectionAll.length <= 0) {
+ multipleSelectionAll = multipleSelection;
+ successFn(multipleSelectionAll);
+ return;
+ }
+ // 鎬婚�夋嫨閲岄潰鐨刱ey闆嗗悎
+ const selectAllIds = [];
+ multipleSelectionAll.forEach((row) => {
+ selectAllIds.push(row[idKey]);
+ });
+ const selectIds = [];
+ // 鑾峰彇褰撳墠椤甸�変腑鐨刬d
+ multipleSelection.forEach((row) => {
+ selectIds.push(row[idKey]);
+ // 濡傛灉鎬婚�夋嫨閲岄潰涓嶅寘鍚綋鍓嶉〉閫変腑鐨勬暟鎹紝閭d箞灏卞姞鍏ュ埌鎬婚�夋嫨闆嗗悎閲�
+ if (selectAllIds.indexOf(row[idKey]) < 0) {
+ multipleSelectionAll.push(row);
+ }
+ });
+ const noSelectIds = [];
+ // 寰楀埌褰撳墠椤垫病鏈夐�変腑鐨刬d
+ tableData.forEach((row) => {
+ if (selectIds.indexOf(row[idKey]) < 0) {
+ noSelectIds.push(row[idKey]);
+ }
+ });
+ noSelectIds.forEach((uid) => {
+ if (selectAllIds.indexOf(uid) >= 0) {
+ for (let i = 0; i < multipleSelectionAll.length; i++) {
+ if (multipleSelectionAll[i][idKey] == uid) {
+ // 濡傛灉鎬婚�夋嫨涓湁鏈閫変腑鐨勶紝閭d箞灏卞垹闄よ繖鏉�
+ multipleSelectionAll.splice(i, 1);
+ break;
+ }
+ }
+ }
+ });
+ successFn(multipleSelectionAll);
+ },
+};
+
+export function handleRemoveEmptyContent(data) {
+ const filteredObj = Object.entries(data).reduce((acc, [key, value]) => {
+ if (
+ value !== null &&
+ value !== undefined &&
+ value !== "" &&
+ value !== "鍏ㄩ儴"
+ ) {
+ acc[key] = value;
+ }
+ return acc;
+ }, {});
+ return filteredObj;
+}
diff --git a/src/utils/validate.js b/src/utils/validate.js
new file mode 100644
index 0000000..92f2aab
--- /dev/null
+++ b/src/utils/validate.js
@@ -0,0 +1,176 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+/**
+ * Created by PanJiaChen on 16/11/18.
+ */
+const baseAttr = {
+ min: "%s鏈�灏忛暱搴︿负:min",
+ max: "%s鏈�澶ч暱搴︿负:max",
+ length: "%s闀垮害蹇呴』涓�:length",
+ range: "%s闀垮害涓�:range",
+ pattern: "$s鏍煎紡閿欒"
+};
+
+/**
+ * @param {string} path
+ * @returns {Boolean}
+ */
+export function isExternal(path) {
+ return /^(https?:|mailto:|tel:)/.test(path)
+}
+
+/**
+ * @param {string} str
+ * @returns {Boolean}
+ */
+export function validUsername(str) {
+ const valid_map = ['admin', 'editor']
+ return valid_map.indexOf(str.trim()) >= 0
+}
+
+/**
+ * @param {string} url
+ * @returns {Boolean}
+ */
+export function validURL(url) {
+ const reg = /^(https?|ftp):\/\/([a-zA-Z0-9.-]+(:[a-zA-Z0-9.&%$-]+)*@)*((25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9][0-9]?)(\.(25[0-5]|2[0-4][0-9]|1[0-9]{2}|[1-9]?[0-9])){3}|([a-zA-Z0-9-]+\.)*[a-zA-Z0-9-]+\.(com|edu|gov|int|mil|net|org|biz|arpa|info|name|pro|aero|coop|museum|[a-zA-Z]{2}))(:[0-9]+)*(\/($|[a-zA-Z0-9.,?'\\+&%$#=~_-]+))*$/
+ return reg.test(url)
+}
+
+/**
+ * @param {string} str
+ * @returns {Boolean}
+ */
+export function validLowerCase(str) {
+ const reg = /^[a-z]+$/
+ return reg.test(str)
+}
+
+/**
+ * @param {string} str
+ * @returns {Boolean}
+ */
+export function validUpperCase(str) {
+ const reg = /^[A-Z]+$/
+ return reg.test(str)
+}
+
+/**
+ * @param {string} str
+ * @returns {Boolean}
+ */
+export function validAlphabets(str) {
+ const reg = /^[A-Za-z]+$/
+ return reg.test(str)
+}
+
+/**
+ * @param {string} email
+ * @returns {Boolean}
+ */
+export function validEmail(email) {
+ // eslint-disable-next-line no-useless-escape
+ const reg = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
+ return reg.test(email)
+}
+
+/**
+ * @param {string} str
+ * @returns {Boolean}
+ */
+export function isString(str) {
+ if (typeof str === 'string' || str instanceof String) {
+ return true
+ }
+ return false
+}
+
+/**
+ * @param {Array} arg
+ * @returns {Boolean}
+ */
+export function isArray(arg) {
+ if (typeof Array.isArray === 'undefined') {
+ return Object.prototype.toString.call(arg) === '[object Array]'
+ }
+ return Array.isArray(arg)
+}
+
+const bindMessage = (fn, message) => {
+ fn.message = field => message.replace("%s", field || "");
+};
+
+export function required(message, opt = {}) {
+ return {
+ required: true,
+ message,
+ type: "string",
+ ...opt
+ };
+}
+bindMessage(required, "璇疯緭鍏�%s");
+
+/**
+ * 姝g‘鐨勯噾棰�
+ *
+ * @param message
+ * @returns {*}
+ */
+export function num(message) {
+ return attrs.pattern(
+ /(^[1-9]([0-9]+)?(\.[0-9]{1,2})?$)|(^(0){1}$)|(^[0-9]\.[0-9]([0-9])?$)/,
+ message
+ );
+}
+bindMessage(num, "%s鏍煎紡涓嶆纭�");
+
+
+const attrs = Object.keys(baseAttr).reduce((attrs, key) => {
+ attrs[key] = (attr, message = "", opt = {}) => {
+ const _attr =
+ key === "range" ? { min: attr[0], max: attr[1] } : { [key]: attr };
+
+ return {
+ message: message.replace(
+ `:${key}`,
+ key === "range" ? `${attr[0]}-${attr[1]}` : attr
+ ),
+ type: "string",
+ ..._attr,
+ ...opt
+ };
+ };
+ bindMessage(attrs[key], baseAttr[key]);
+ return attrs;
+}, {});
+export default attrs;
+
+/**
+ * 鍑芥暟闃叉姈 (鍙墽琛屾渶鍚庝竴娆$偣鍑�)
+ * @param fn
+ * @param delay
+ * @returns {Function}
+ * @constructor
+ */
+ export const Debounce = (fn, t) => {
+ const delay = t || 500
+ let timer
+ return function() {
+ const args = arguments
+ if (timer) {
+ clearTimeout(timer)
+ }
+ timer = setTimeout(() => {
+ timer = null
+ fn.apply(this, args)
+ }, delay)
+ }
+}
\ No newline at end of file
diff --git a/src/vendor/Blob.js b/src/vendor/Blob.js
new file mode 100644
index 0000000..348a403
--- /dev/null
+++ b/src/vendor/Blob.js
@@ -0,0 +1,188 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+/* eslint-disable */
+/* Blob.js
+ * A Blob implementation.
+ * 2014-05-27
+ *
+ * By Eli Grey, http://eligrey.com
+ * By Devin Samarin, https://github.com/eboyjr
+ * License: X11/MIT
+ * See LICENSE.md
+ */
+
+/*global self, unescape */
+/*jslint bitwise: true, regexp: true, confusion: true, es5: true, vars: true, white: true,
+ plusplus: true */
+
+/*! @source http://purl.eligrey.com/github/Blob.js/blob/master/Blob.js */
+
+(function (view) {
+ "use strict";
+
+ view.URL = view.URL || view.webkitURL;
+
+ if (view.Blob && view.URL) {
+ try {
+ new Blob;
+ return;
+ } catch (e) {}
+ }
+
+ // Internally we use a BlobBuilder implementation to base Blob off of
+ // in order to support older browsers that only have BlobBuilder
+ var BlobBuilder = view.BlobBuilder || view.WebKitBlobBuilder || view.MozBlobBuilder || (function(view) {
+ var
+ get_class = function(object) {
+ return Object.prototype.toString.call(object).match(/^\[object\s(.*)\]$/)[1];
+ }
+ , FakeBlobBuilder = function BlobBuilder() {
+ this.data = [];
+ }
+ , FakeBlob = function Blob(data, type, encoding) {
+ this.data = data;
+ this.size = data.length;
+ this.type = type;
+ this.encoding = encoding;
+ }
+ , FBB_proto = FakeBlobBuilder.prototype
+ , FB_proto = FakeBlob.prototype
+ , FileReaderSync = view.FileReaderSync
+ , FileException = function(type) {
+ this.code = this[this.name = type];
+ }
+ , file_ex_codes = (
+ "NOT_FOUND_ERR SECURITY_ERR ABORT_ERR NOT_READABLE_ERR ENCODING_ERR "
+ + "NO_MODIFICATION_ALLOWED_ERR INVALID_STATE_ERR SYNTAX_ERR"
+ ).split(" ")
+ , file_ex_code = file_ex_codes.length
+ , real_URL = view.URL || view.webkitURL || view
+ , real_create_object_URL = real_URL.createObjectURL
+ , real_revoke_object_URL = real_URL.revokeObjectURL
+ , URL = real_URL
+ , btoa = view.btoa
+ , atob = view.atob
+
+ , ArrayBuffer = view.ArrayBuffer
+ , Uint8Array = view.Uint8Array
+ ;
+ FakeBlob.fake = FB_proto.fake = true;
+ while (file_ex_code--) {
+ FileException.prototype[file_ex_codes[file_ex_code]] = file_ex_code + 1;
+ }
+ if (!real_URL.createObjectURL) {
+ URL = view.URL = {};
+ }
+ URL.createObjectURL = function(blob) {
+ var
+ type = blob.type
+ , data_URI_header
+ ;
+ if (type === null) {
+ type = "application/octet-stream";
+ }
+ if (blob instanceof FakeBlob) {
+ data_URI_header = "data:" + type;
+ if (blob.encoding === "base64") {
+ return data_URI_header + ";base64," + blob.data;
+ } else if (blob.encoding === "URI") {
+ return data_URI_header + "," + decodeURIComponent(blob.data);
+ } if (btoa) {
+ return data_URI_header + ";base64," + btoa(blob.data);
+ } else {
+ return data_URI_header + "," + encodeURIComponent(blob.data);
+ }
+ } else if (real_create_object_URL) {
+ return real_create_object_URL.call(real_URL, blob);
+ }
+ };
+ URL.revokeObjectURL = function(object_URL) {
+ if (object_URL.substring(0, 5) !== "data:" && real_revoke_object_URL) {
+ real_revoke_object_URL.call(real_URL, object_URL);
+ }
+ };
+ FBB_proto.append = function(data/*, endings*/) {
+ var bb = this.data;
+ // decode data to a binary string
+ if (Uint8Array && (data instanceof ArrayBuffer || data instanceof Uint8Array)) {
+ var
+ str = ""
+ , buf = new Uint8Array(data)
+ , i = 0
+ , buf_len = buf.length
+ ;
+ for (; i < buf_len; i++) {
+ str += String.fromCharCode(buf[i]);
+ }
+ bb.push(str);
+ } else if (get_class(data) === "Blob" || get_class(data) === "File") {
+ if (FileReaderSync) {
+ var fr = new FileReaderSync;
+ bb.push(fr.readAsBinaryString(data));
+ } else {
+ // async FileReader won't work as BlobBuilder is sync
+ throw new FileException("NOT_READABLE_ERR");
+ }
+ } else if (data instanceof FakeBlob) {
+ if (data.encoding === "base64" && atob) {
+ bb.push(atob(data.data));
+ } else if (data.encoding === "URI") {
+ bb.push(decodeURIComponent(data.data));
+ } else if (data.encoding === "raw") {
+ bb.push(data.data);
+ }
+ } else {
+ if (typeof data !== "string") {
+ data += ""; // convert unsupported types to strings
+ }
+ // decode UTF-16 to binary string
+ bb.push(unescape(encodeURIComponent(data)));
+ }
+ };
+ FBB_proto.getBlob = function(type) {
+ if (!arguments.length) {
+ type = null;
+ }
+ return new FakeBlob(this.data.join(""), type, "raw");
+ };
+ FBB_proto.toString = function() {
+ return "[object BlobBuilder]";
+ };
+ FB_proto.slice = function(start, end, type) {
+ var args = arguments.length;
+ if (args < 3) {
+ type = null;
+ }
+ return new FakeBlob(
+ this.data.slice(start, args > 1 ? end : this.data.length)
+ , type
+ , this.encoding
+ );
+ };
+ FB_proto.toString = function() {
+ return "[object Blob]";
+ };
+ FB_proto.close = function() {
+ this.size = this.data.length = 0;
+ };
+ return FakeBlobBuilder;
+ }(view));
+
+ view.Blob = function Blob(blobParts, options) {
+ var type = options ? (options.type || "") : "";
+ var builder = new BlobBuilder();
+ if (blobParts) {
+ for (var i = 0, len = blobParts.length; i < len; i++) {
+ builder.append(blobParts[i]);
+ }
+ }
+ return builder.getBlob(type);
+ };
+}(typeof self !== "undefined" && self || typeof window !== "undefined" && window || this.content || this));
diff --git a/src/vendor/Export1Excel.js b/src/vendor/Export1Excel.js
new file mode 100644
index 0000000..91bba5a
--- /dev/null
+++ b/src/vendor/Export1Excel.js
@@ -0,0 +1,147 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+/* eslint-disable */
+require('script-loader!file-saver'); //淇濆瓨鏂囦欢鐢�
+require('./Blob.js'); //杞簩杩涘埗鐢�
+require('script-loader!xlsx/dist/xlsx.core.min'); //xlsx鏍稿績
+function generateArray(table) {
+ var out = [];
+ var rows = table.querySelectorAll('tr');
+ var ranges = [];
+ for (var R = 0; R < rows.length; ++R) {
+ var outRow = [];
+ var row = rows[R];
+ var columns = row.querySelectorAll('td');
+ for (var C = 0; C < columns.length; ++C) {
+ var cell = columns[C];
+ var colspan = cell.getAttribute('colspan');
+ var rowspan = cell.getAttribute('rowspan');
+ var cellValue = cell.innerText;
+ if (cellValue !== "" && cellValue == +cellValue) cellValue = +cellValue;
+
+ //Skip ranges
+ ranges.forEach(function (range) {
+ if (R >= range.s.r && R <= range.e.r && outRow.length >= range.s.c && outRow.length <= range.e.c) {
+ for (var i = 0; i <= range.e.c - range.s.c; ++i) outRow.push(null);
+ }
+ });
+
+ //Handle Row Span
+ if (rowspan || colspan) {
+ rowspan = rowspan || 1;
+ colspan = colspan || 1;
+ ranges.push({ s: { r: R, c: outRow.length }, e: { r: R + rowspan - 1, c: outRow.length + colspan - 1 } });
+ }
+ ;
+
+ //Handle Value
+ outRow.push(cellValue !== "" ? cellValue : null);
+
+ //Handle Colspan
+ if (colspan) for (var k = 0; k < colspan - 1; ++k) outRow.push(null);
+ }
+ out.push(outRow);
+ }
+ return [out, ranges];
+};
+
+function datenum(v, date1904) {
+ if (date1904) v += 1462;
+ var epoch = Date.parse(v);
+ return (epoch - new Date(Date.UTC(1899, 11, 30))) / (24 * 60 * 60 * 1000);
+}
+
+function sheet_from_array_of_arrays(data, opts) {
+ var ws = {};
+ var range = { s: { c: 10000000, r: 10000000 }, e: { c: 0, r: 0 } };
+ for (var R = 0; R != data.length; ++R) {
+ for (var C = 0; C != data[R].length; ++C) {
+ if (range.s.r > R) range.s.r = R;
+ if (range.s.c > C) range.s.c = C;
+ if (range.e.r < R) range.e.r = R;
+ if (range.e.c < C) range.e.c = C;
+ var cell = { v: data[R][C] };
+ if (cell.v == null) continue;
+ var cell_ref = XLSX.utils.encode_cell({ c: C, r: R });
+
+ if (typeof cell.v === 'number') cell.t = 'n';
+ else if (typeof cell.v === 'boolean') cell.t = 'b';
+ else if (cell.v instanceof Date) {
+ cell.t = 'n';
+ cell.z = XLSX.SSF._table[14];
+ cell.v = datenum(cell.v);
+ }
+ else cell.t = 's';
+
+ ws[cell_ref] = cell;
+ }
+ }
+ if (range.s.c < 10000000) ws['!ref'] = XLSX.utils.encode_range(range);
+ return ws;
+}
+
+function Workbook() {
+ if (!(this instanceof Workbook)) return new Workbook();
+ this.SheetNames = [];
+ this.Sheets = {};
+}
+
+function s2ab(s) {
+ var buf = new ArrayBuffer(s.length);
+ var view = new Uint8Array(buf);
+ for (var i = 0; i != s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF;
+ return buf;
+}
+
+export function export_table_to_excel(id) {
+ var theTable = document.getElementById(id);
+ var oo = generateArray(theTable);
+ var ranges = oo[1];
+
+ /* original data */
+ var data = oo[0];
+ var ws_name = "SheetJS";
+
+ var wb = new Workbook(), ws = sheet_from_array_of_arrays(data);
+
+ /* add ranges to worksheet */
+ // ws['!cols'] = ['apple', 'banan'];
+ ws['!merges'] = ranges;
+
+ /* add worksheet to workbook */
+ wb.SheetNames.push(ws_name);
+ wb.Sheets[ws_name] = ws;
+
+ var wbout = XLSX.write(wb, { bookType: 'xlsx', bookSST: false, type: 'binary' });
+
+ saveAs(new Blob([s2ab(wbout)], { type: "application/octet-stream" }), "test.xlsx")
+}
+
+function formatJson(jsonData) {
+}
+export function export_json_to_excel(th, jsonData, defaultTitle) {
+
+ /* original data */
+
+ var data = jsonData;
+ data.unshift(th);
+ var ws_name = "SheetJS";
+
+ var wb = new Workbook(), ws = sheet_from_array_of_arrays(data);
+
+
+ /* add worksheet to workbook */
+ wb.SheetNames.push(ws_name);
+ wb.Sheets[ws_name] = ws;
+
+ var wbout = XLSX.write(wb, { bookType: 'xlsx', bookSST: false, type: 'binary' });
+ var title = defaultTitle || '鍒楄〃'
+ saveAs(new Blob([s2ab(wbout)], { type: "application/octet-stream" }), title + ".xlsx")
+}
diff --git a/src/vendor/Export2Excel.js b/src/vendor/Export2Excel.js
new file mode 100644
index 0000000..23044c1
--- /dev/null
+++ b/src/vendor/Export2Excel.js
@@ -0,0 +1,230 @@
+// +----------------------------------------------------------------------
+// | CMS [ CMS璧嬭兘寮�鍙戣�咃紝鍔╁姏浼佷笟鍙戝睍 ]
+// +----------------------------------------------------------------------
+// | Copyright (c) 2016~2021 https://www.CMS.com All rights reserved.
+// +----------------------------------------------------------------------
+// | Licensed CMS骞朵笉鏄嚜鐢辫蒋浠讹紝鏈粡璁稿彲涓嶈兘鍘绘帀CMS鐩稿叧鐗堟潈
+// +----------------------------------------------------------------------
+// | Author: CMS Team <admin@CMS.com>
+// +----------------------------------------------------------------------
+
+/* eslint-disable */
+import { saveAs } from 'file-saver'
+import XLSX from 'xlsx'
+
+function generateArray(table) {
+ var out = [];
+ var rows = table.querySelectorAll('tr');
+ var ranges = [];
+ for (var R = 0; R < rows.length; ++R) {
+ var outRow = [];
+ var row = rows[R];
+ var columns = row.querySelectorAll('td');
+ for (var C = 0; C < columns.length; ++C) {
+ var cell = columns[C];
+ var colspan = cell.getAttribute('colspan');
+ var rowspan = cell.getAttribute('rowspan');
+ var cellValue = cell.innerText;
+ if (cellValue !== "" && cellValue == +cellValue) cellValue = +cellValue;
+
+ //Skip ranges
+ ranges.forEach(function (range) {
+ if (R >= range.s.r && R <= range.e.r && outRow.length >= range.s.c && outRow.length <= range.e.c) {
+ for (var i = 0; i <= range.e.c - range.s.c; ++i) outRow.push(null);
+ }
+ });
+
+ //Handle Row Span
+ if (rowspan || colspan) {
+ rowspan = rowspan || 1;
+ colspan = colspan || 1;
+ ranges.push({
+ s: {
+ r: R,
+ c: outRow.length
+ },
+ e: {
+ r: R + rowspan - 1,
+ c: outRow.length + colspan - 1
+ }
+ });
+ };
+
+ //Handle Value
+ outRow.push(cellValue !== "" ? cellValue : null);
+
+ //Handle Colspan
+ if (colspan)
+ for (var k = 0; k < colspan - 1; ++k) outRow.push(null);
+ }
+ out.push(outRow);
+ }
+ return [out, ranges];
+};
+
+function datenum(v, date1904) {
+ if (date1904) v += 1462;
+ var epoch = Date.parse(v);
+ return (epoch - new Date(Date.UTC(1899, 11, 30))) / (24 * 60 * 60 * 1000);
+}
+
+function sheet_from_array_of_arrays(data, opts) {
+ var ws = {};
+ var range = {
+ s: {
+ c: 10000000,
+ r: 10000000
+ },
+ e: {
+ c: 0,
+ r: 0
+ }
+ };
+ for (var R = 0; R != data.length; ++R) {
+ for (var C = 0; C != data[R].length; ++C) {
+ if (range.s.r > R) range.s.r = R;
+ if (range.s.c > C) range.s.c = C;
+ if (range.e.r < R) range.e.r = R;
+ if (range.e.c < C) range.e.c = C;
+ var cell = {
+ v: data[R][C]
+ };
+ if (cell.v == null) continue;
+ var cell_ref = XLSX.utils.encode_cell({
+ c: C,
+ r: R
+ });
+
+ if (typeof cell.v === 'number') cell.t = 'n';
+ else if (typeof cell.v === 'boolean') cell.t = 'b';
+ else if (cell.v instanceof Date) {
+ cell.t = 'n';
+ cell.z = XLSX.SSF._table[14];
+ cell.v = datenum(cell.v);
+ } else cell.t = 's';
+
+ ws[cell_ref] = cell;
+ }
+ }
+ if (range.s.c < 10000000) ws['!ref'] = XLSX.utils.encode_range(range);
+ return ws;
+}
+
+function Workbook() {
+ if (!(this instanceof Workbook)) return new Workbook();
+ this.SheetNames = [];
+ this.Sheets = {};
+}
+
+function s2ab(s) {
+ var buf = new ArrayBuffer(s.length);
+ var view = new Uint8Array(buf);
+ for (var i = 0; i != s.length; ++i) view[i] = s.charCodeAt(i) & 0xFF;
+ return buf;
+}
+
+export function export_table_to_excel(id) {
+ var theTable = document.getElementById(id);
+ var oo = generateArray(theTable);
+ var ranges = oo[1];
+
+ /* original data */
+ var data = oo[0];
+ var ws_name = "SheetJS";
+
+ var wb = new Workbook(),
+ ws = sheet_from_array_of_arrays(data);
+
+ /* add ranges to worksheet */
+ // ws['!cols'] = ['apple', 'banan'];
+ ws['!merges'] = ranges;
+
+ /* add worksheet to workbook */
+ wb.SheetNames.push(ws_name);
+ wb.Sheets[ws_name] = ws;
+
+ var wbout = XLSX.write(wb, {
+ bookType: 'xlsx',
+ bookSST: false,
+ type: 'binary'
+ });
+
+ saveAs(new Blob([s2ab(wbout)], {
+ type: "application/octet-stream"
+ }), "test.xlsx")
+}
+
+export function export_json_to_excel({
+ multiHeader = [],
+ header,
+ data,
+ filename,
+ merges = [],
+ autoWidth = true,
+ bookType = 'xlsx'
+} = {}) {
+ /* original data */
+ filename = filename || 'excel-list'
+ data = [...data]
+ data.unshift(header);
+
+ for (let i = multiHeader.length - 1; i > -1; i--) {
+ data.unshift(multiHeader[i])
+ }
+
+ var ws_name = "SheetJS";
+ var wb = new Workbook(),
+ ws = sheet_from_array_of_arrays(data);
+
+ if (merges.length > 0) {
+ if (!ws['!merges']) ws['!merges'] = [];
+ merges.forEach(item => {
+ ws['!merges'].push(XLSX.utils.decode_range(item))
+ })
+ }
+
+ if (autoWidth) {
+ /*璁剧疆worksheet姣忓垪鐨勬渶澶у搴�*/
+ const colWidth = data.map(row => row.map(val => {
+ /*鍏堝垽鏂槸鍚︿负null/undefined*/
+ if (val == null) {
+ return {
+ 'wch': 10
+ };
+ }
+ /*鍐嶅垽鏂槸鍚︿负涓枃*/
+ else if (val.toString().charCodeAt(0) > 255) {
+ return {
+ 'wch': val.toString().length * 2
+ };
+ } else {
+ return {
+ 'wch': val.toString().length
+ };
+ }
+ }))
+ /*浠ョ涓�琛屼负鍒濆鍊�*/
+ let result = colWidth[0];
+ for (let i = 1; i < colWidth.length; i++) {
+ for (let j = 0; j < colWidth[i].length; j++) {
+ if (result[j]['wch'] < colWidth[i][j]['wch']) {
+ result[j]['wch'] = colWidth[i][j]['wch'];
+ }
+ }
+ }
+ ws['!cols'] = result;
+ }
+
+ /* add worksheet to workbook */
+ wb.SheetNames.push(ws_name);
+ wb.Sheets[ws_name] = ws;
+
+ var wbout = XLSX.write(wb, {
+ bookType: bookType,
+ bookSST: false,
+ type: 'binary'
+ });
+ saveAs(new Blob([s2ab(wbout)], {
+ type: "application/octet-stream"
+ }), `${filename}.${bookType}`);
+}
diff --git a/src/vendor/Export2Zip.js b/src/vendor/Export2Zip.js
new file mode 100644
index 0000000..db70707
--- /dev/null
+++ b/src/vendor/Export2Zip.js
@@ -0,0 +1,24 @@
+/* eslint-disable */
+import { saveAs } from 'file-saver'
+import JSZip from 'jszip'
+
+export function export_txt_to_zip(th, jsonData, txtName, zipName) {
+ const zip = new JSZip()
+ const txt_name = txtName || 'file'
+ const zip_name = zipName || 'file'
+ const data = jsonData
+ let txtData = `${th}\r\n`
+ data.forEach((row) => {
+ let tempStr = ''
+ tempStr = row.toString()
+ txtData += `${tempStr}\r\n`
+ })
+ zip.file(`${txt_name}.txt`, txtData)
+ zip.generateAsync({
+ type: "blob"
+ }).then((blob) => {
+ saveAs(blob, `${zip_name}.zip`)
+ }, (err) => {
+ alert('瀵煎嚭澶辫触')
+ })
+}
diff --git a/src/views/error-log/components/ErrorTestA.vue b/src/views/error-log/components/ErrorTestA.vue
new file mode 100644
index 0000000..52654e0
--- /dev/null
+++ b/src/views/error-log/components/ErrorTestA.vue
@@ -0,0 +1,13 @@
+<template>
+ <div>
+ <!--error code-->
+ {{ a.a }}
+ <!--error code-->
+ </div>
+</template>
+
+<script>
+export default {
+ name: 'ErrorTestA'
+}
+</script>
diff --git a/src/views/error-log/components/ErrorTestB.vue b/src/views/error-log/components/ErrorTestB.vue
new file mode 100644
index 0000000..d796bee
--- /dev/null
+++ b/src/views/error-log/components/ErrorTestB.vue
@@ -0,0 +1,11 @@
+<template>
+ <div />
+</template>
+
+<script>
+export default {
+ created() {
+ this.b = b // eslint-disable-line
+ }
+}
+</script>
diff --git a/src/views/error-log/index.vue b/src/views/error-log/index.vue
new file mode 100644
index 0000000..c2c9222
--- /dev/null
+++ b/src/views/error-log/index.vue
@@ -0,0 +1,33 @@
+<template>
+ <div class="errPage-container">
+ <ErrorA />
+ <ErrorB />
+ <h3>Please click the bug icon in the upper right corner</h3>
+ <aside>
+ Now the management system are basically the form of the spa, it enhances the user experience, but it also increases the possibility of page problems, a small negligence may lead to the entire page deadlock. Fortunately Vue provides a way to catch handling exceptions, where you can handle errors or report exceptions.
+ <a target="_blank" class="link-type" href="https://panjiachen.github.io/vue-element-admin-site/guide/advanced/error.html">
+ Document introduction
+ </a>
+ </aside>
+ <a href="#">
+ <img src="https://wpimg.wallstcn.com/360e4842-4db5-42d0-b078-f9a84a825546.gif">
+ </a>
+ </div>
+</template>
+
+<script>
+import ErrorA from './components/ErrorTestA'
+import ErrorB from './components/ErrorTestB'
+
+export default {
+
+ name: 'ErrorLog',
+ components: { ErrorA, ErrorB }
+}
+</script>
+
+<style scoped>
+ .errPage-container {
+ padding: 30px;
+ }
+</style>
diff --git a/src/views/error-page/401.vue b/src/views/error-page/401.vue
new file mode 100644
index 0000000..ef70174
--- /dev/null
+++ b/src/views/error-page/401.vue
@@ -0,0 +1,99 @@
+<template>
+ <div class="errPage-container">
+ <el-button size="mini" icon="el-icon-arrow-left" class="pan-back-btn" @click="back">
+ 杩斿洖
+ </el-button>
+ <el-row>
+ <el-col :span="12">
+ <h1 class="text-jumbo text-ginormous">
+ Oops!
+ </h1>
+ gif鏉ユ簮<a href="https://zh.airbnb.com/" target="_blank">airbnb</a> 椤甸潰
+ <h2>浣犳病鏈夋潈闄愬幓璇ラ〉闈�</h2>
+ <h6>濡傛湁涓嶆弧璇疯仈绯讳綘棰嗗</h6>
+ <ul class="list-unstyled">
+ <li>鎴栬�呬綘鍙互鍘�:</li>
+ <li class="link-type">
+ <router-link to="/dashboard">
+ 鍥為椤�
+ </router-link>
+ </li>
+ <li class="link-type">
+ <a href="https://www.CMS.com/">闅忎究鐪嬬湅</a>
+ </li>
+ <li><a href="#" @click.prevent="dialogVisible=true">鐐规垜鐪嬪浘</a></li>
+ </ul>
+ </el-col>
+ <el-col :span="12">
+ <img :src="errGif" width="313" height="428" alt="Girl has dropped her ice cream.">
+ </el-col>
+ </el-row>
+ <el-dialog :visible.sync="dialogVisible" title="闅忎究鐪�">
+ <img :src="ewizardClap" class="pan-img">
+ </el-dialog>
+ </div>
+</template>
+
+<script>
+import errGif from '@/assets/401_images/401.gif'
+
+export default {
+ name: 'Page401',
+ data() {
+ return {
+ errGif: errGif + '?' + +new Date(),
+ ewizardClap: 'https://wpimg.wallstcn.com/007ef517-bafd-4066-aae4-6883632d9646',
+ dialogVisible: false
+ }
+ },
+ methods: {
+ back() {
+ if (this.$route.query.noGoBack) {
+ this.$router.push({ path: '/dashboard' })
+ } else {
+ this.$router.go(-1)
+ }
+ }
+ }
+}
+</script>
+
+<style lang="scss" scoped>
+ .errPage-container {
+ width: 800px;
+ max-width: 100%;
+ margin: 100px auto;
+ .pan-back-btn {
+ background: #008489;
+ color: #fff;
+ border: none!important;
+ }
+ .pan-gif {
+ margin: 0 auto;
+ display: block;
+ }
+ .pan-img {
+ display: block;
+ margin: 0 auto;
+ width: 100%;
+ }
+ .text-jumbo {
+ font-size: 60px;
+ font-weight: 700;
+ color: #484848;
+ }
+ .list-unstyled {
+ font-size: 14px;
+ li {
+ padding-bottom: 5px;
+ }
+ a {
+ color: #008489;
+ text-decoration: none;
+ &:hover {
+ text-decoration: underline;
+ }
+ }
+ }
+ }
+</style>
diff --git a/src/views/error-page/404.vue b/src/views/error-page/404.vue
new file mode 100644
index 0000000..d13b9a3
--- /dev/null
+++ b/src/views/error-page/404.vue
@@ -0,0 +1,237 @@
+<template>
+ <div class="wscn-http404-container">
+ <div class="wscn-http404">
+ <div class="pic-404">
+ <img class="pic-404__parent" src="@/assets/404_images/404.png" alt="404">
+ <img class="pic-404__child left" src="@/assets/404_images/404_cloud.png" alt="404">
+ <img class="pic-404__child mid" src="@/assets/404_images/404_cloud.png" alt="404">
+ <img class="pic-404__child right" src="@/assets/404_images/404_cloud.png" alt="404">
+ </div>
+ <div class="bullshit">
+ <div class="bullshit__oops">OOPS!</div>
+ <!--<div class="bullshit__info">All rights reserved-->
+ <!--<a style="color:#20a0ff" href="https://wallstreetcn.com" target="_blank">wallstreetcn</a>-->
+ <!--</div>-->
+ <div class="bullshit__headline">{{ message }}</div>
+ <div class="bullshit__info">璇锋鏌ユ偍杈撳叆鐨刄RL鏄惁姝g‘锛屾垨鍗曞嚮涓嬮潰鐨勬寜閽繑鍥炰富椤�.</div>
+ <router-link :to="{path: '/dashboard'}">
+ <span class="bullshit__return-home">杩斿洖鎺у埗鍙�</span>
+ </router-link>
+ </div>
+ </div>
+ </div>
+</template>
+
+<script>
+export default {
+ name: 'Page404',
+
+ data() {
+ return {
+ }
+ },
+ computed: {
+ message() {
+ return '浣犱笉鑳借繘鍏ヨ繖涓〉闈�...'
+ }
+ },
+ methods: {
+
+ }
+}
+</script>
+
+<style lang="scss" scoped>
+.wscn-http404-container{
+ transform: translate(-50%,-50%);
+ position: absolute;
+ top: 40%;
+ left: 50%;
+}
+.wscn-http404 {
+ position: relative;
+ width: 1200px;
+ padding: 0 50px;
+ overflow: hidden;
+ .pic-404 {
+ position: relative;
+ float: left;
+ width: 600px;
+ overflow: hidden;
+ &__parent {
+ width: 100%;
+ }
+ &__child {
+ position: absolute;
+ &.left {
+ width: 80px;
+ top: 17px;
+ left: 220px;
+ opacity: 0;
+ animation-name: cloudLeft;
+ animation-duration: 2s;
+ animation-timing-function: linear;
+ animation-fill-mode: forwards;
+ animation-delay: 1s;
+ }
+ &.mid {
+ width: 46px;
+ top: 10px;
+ left: 420px;
+ opacity: 0;
+ animation-name: cloudMid;
+ animation-duration: 2s;
+ animation-timing-function: linear;
+ animation-fill-mode: forwards;
+ animation-delay: 1.2s;
+ }
+ &.right {
+ width: 62px;
+ top: 100px;
+ left: 500px;
+ opacity: 0;
+ animation-name: cloudRight;
+ animation-duration: 2s;
+ animation-timing-function: linear;
+ animation-fill-mode: forwards;
+ animation-delay: 1s;
+ }
+ @keyframes cloudLeft {
+ 0% {
+ top: 17px;
+ left: 220px;
+ opacity: 0;
+ }
+ 20% {
+ top: 33px;
+ left: 188px;
+ opacity: 1;
+ }
+ 80% {
+ top: 81px;
+ left: 92px;
+ opacity: 1;
+ }
+ 100% {
+ top: 97px;
+ left: 60px;
+ opacity: 0;
+ }
+ }
+ @keyframes cloudMid {
+ 0% {
+ top: 10px;
+ left: 420px;
+ opacity: 0;
+ }
+ 20% {
+ top: 40px;
+ left: 360px;
+ opacity: 1;
+ }
+ 70% {
+ top: 130px;
+ left: 180px;
+ opacity: 1;
+ }
+ 100% {
+ top: 160px;
+ left: 120px;
+ opacity: 0;
+ }
+ }
+ @keyframes cloudRight {
+ 0% {
+ top: 100px;
+ left: 500px;
+ opacity: 0;
+ }
+ 20% {
+ top: 120px;
+ left: 460px;
+ opacity: 1;
+ }
+ 80% {
+ top: 180px;
+ left: 340px;
+ opacity: 1;
+ }
+ 100% {
+ top: 200px;
+ left: 300px;
+ opacity: 0;
+ }
+ }
+ }
+ }
+ .bullshit {
+ position: relative;
+ float: left;
+ width: 300px;
+ padding: 30px 0;
+ overflow: hidden;
+ &__oops {
+ font-size: 32px;
+ font-weight: bold;
+ line-height: 40px;
+ color: #1482f0;
+ opacity: 0;
+ margin-bottom: 20px;
+ animation-name: slideUp;
+ animation-duration: 0.5s;
+ animation-fill-mode: forwards;
+ }
+ &__headline {
+ font-size: 20px;
+ line-height: 24px;
+ color: #222;
+ font-weight: bold;
+ opacity: 0;
+ margin-bottom: 10px;
+ animation-name: slideUp;
+ animation-duration: 0.5s;
+ animation-delay: 0.1s;
+ animation-fill-mode: forwards;
+ }
+ &__info {
+ font-size: 13px;
+ line-height: 21px;
+ color: grey;
+ opacity: 0;
+ margin-bottom: 30px;
+ animation-name: slideUp;
+ animation-duration: 0.5s;
+ animation-delay: 0.2s;
+ animation-fill-mode: forwards;
+ }
+ &__return-home {
+ display: block;
+ float: left;
+ width: 110px;
+ height: 36px;
+ background: #1482f0;
+ border-radius: 100px;
+ text-align: center;
+ color: #ffffff;
+ opacity: 0;
+ font-size: 14px;
+ line-height: 36px;
+ cursor: pointer;
+ animation-name: slideUp;
+ animation-duration: 0.5s;
+ animation-delay: 0.3s;
+ animation-fill-mode: forwards;
+ }
+ @keyframes slideUp {
+ 0% {
+ transform: translateY(60px);
+ opacity: 0;
+ }
+ 100% {
+ transform: translateY(0);
+ opacity: 1;
+ }
+ }
+ }
+}
+</style>
diff --git a/src/views/login/auth-redirect.vue b/src/views/login/auth-redirect.vue
new file mode 100644
index 0000000..4d5a51a
--- /dev/null
+++ b/src/views/login/auth-redirect.vue
@@ -0,0 +1,18 @@
+<template>
+</template>
+<script>
+export default {
+ name: 'AuthRedirect',
+ created() {
+ const hash = window.location.search.slice(1)
+ if (window.localStorage) {
+ window.localStorage.setItem('x-admin-oauth-code', hash)
+ window.close()
+ }
+ },
+ render: function(h) {
+ return h() // avoid warning message
+ }
+}
+</script>
+
diff --git a/src/views/login/index.vue b/src/views/login/index.vue
new file mode 100644
index 0000000..875791f
--- /dev/null
+++ b/src/views/login/index.vue
@@ -0,0 +1,656 @@
+<template>
+ <div
+ class="page-account"
+ :style="
+ backgroundImages
+ ? { backgroundImage: 'url(' + backgroundImages + ')' }
+ : { backgroundImage: 'url(' + backgroundImageMo + ')' }
+ "
+ >
+ <div
+ class="container"
+ :class="[fullWidth > 768 ? 'containerSamll' : 'containerBig']"
+ >
+ <template v-if="fullWidth > 768">
+ <swiper :options="swiperOption" class="swiperPross">
+ <swiper-slide
+ v-for="(item, index) in swiperList"
+ :key="index"
+ class="swiperPic"
+ >
+ <img :src="item.pic" />
+ </swiper-slide>
+ <div slot="pagination" class="swiper-pagination" />
+ </swiper>
+ </template>
+ <div class="index_from page-account-container">
+ <div class="page-account-top">
+ <div class="page-account-top-logo">
+ <img :src="loginLogo" alt="logo" />
+ </div>
+ </div>
+ <el-form
+ ref="loginForm"
+ :model="loginForm"
+ :rules="loginRules"
+ class="login-form"
+ autocomplete="on"
+ label-position="left"
+ @keyup.enter="handleLogin"
+ >
+ <el-form-item prop="account">
+ <el-input
+ ref="account"
+ v-model="loginForm.account"
+ prefix-icon="el-icon-user"
+ placeholder="鐢ㄦ埛鍚�"
+ name="username"
+ type="text"
+ tabindex="1"
+ autocomplete="on"
+ />
+ </el-form-item>
+
+ <el-form-item prop="pwd">
+ <el-input
+ :key="passwordType"
+ ref="pwd"
+ v-model="loginForm.pwd"
+ prefix-icon="el-icon-lock"
+ :type="passwordType"
+ placeholder="瀵嗙爜"
+ name="pwd"
+ tabindex="2"
+ auto-complete="on"
+ />
+ <span class="show-pwd" @click="showPwd">
+ <svg-icon
+ :icon-class="passwordType === 'password' ? 'eye' : 'eye-open'"
+ />
+ </span>
+ </el-form-item>
+
+ <el-form-item prop="code" class="captcha">
+ <div class="captcha">
+ <el-input
+ ref="username"
+ class="mobile-login-input"
+ v-model="loginForm.code"
+ style="width: 218px"
+ prefix-icon="el-icon-message"
+ placeholder="楠岃瘉鐮�"
+ name="username"
+ type="text"
+ tabindex="3"
+ autocomplete="on"
+ />
+ <div class="imgs" @click="getCaptcha()">
+ <img :src="captchatImg" />
+ </div>
+ </div>
+ </el-form-item>
+
+ <div class="acea-row">
+ <el-button
+ :loading="loading"
+ type="primary"
+ style="width: 100%; margin-bottom: 30px"
+ @click.native.prevent="handleLogin"
+ >鐧诲綍
+ </el-button>
+ <!--<div class="acea-row footer" @click="onWechat">-->
+ <!--<div class="wechat mr10"><img src="../../assets/imgs/weixin.png"></div>-->
+ <!--<span>寰俊</span>-->
+ <!--</div>-->
+ </div>
+ </el-form>
+ </div>
+ </div>
+ </div>
+</template>
+
+<script>
+import { validUsername } from "@/utils/validate";
+import "@/assets/js/canvas-nest.min.js";
+import { getLoginPicApi, captchaApi, codeCheckApi } from "@/api/user";
+import { getWXCodeByUrl, loginByWxCode } from "@/libs/wechat";
+import Cookies from "js-cookie";
+export default {
+ name: "Login",
+ data() {
+ const validateUsername = (rule, value, callback) => {
+ if (!validUsername(value)) {
+ callback(new Error("Please enter the correct user name"));
+ } else {
+ callback();
+ }
+ };
+ const validatePassword = (rule, value, callback) => {
+ if (value.length < 6 || value.length > 12) {
+ callback(new Error("瀵嗙爜浣嶆暟涓�6-12浣�"));
+ } else {
+ callback();
+ }
+ };
+ return {
+ captchatImg: "",
+ swiperList: [],
+ loginLogo: "",
+ backgroundImages: "",
+ backgroundImageMo: require("@/assets/imgs/bg.jpg"),
+ fullWidth: document.body.clientWidth,
+ swiperOption: {
+ pagination: {
+ el: ".pagination",
+ },
+ autoplay: {
+ enabled: true,
+ disableOnInteraction: false,
+ delay: 3000,
+ },
+ },
+ loginForm: {
+ account: "", // admin
+ pwd: "",
+ key: "",
+ code: "",
+ wxCode: "",
+ },
+ loginRules: {
+ account: [{ required: true, trigger: "blur", message: "璇疯緭鍏ョ敤鎴峰悕" }], // validator: validateUsername
+ pwd: [{ required: true, trigger: "blur", message: "璇疯緭鍏ュ瘑鐮�" }],
+ code: [
+ { required: true, message: "璇疯緭鍏ユ纭殑楠岃瘉鐮�", trigger: "blur" },
+ ],
+ },
+ passwordType: "password",
+ capsTooltip: false,
+ loading: false,
+ showDialog: false,
+ redirect: undefined,
+ otherQuery: {},
+ };
+ },
+ watch: {
+ fullWidth(val) {
+ // 涓轰簡閬垮厤棰戠箒瑙﹀彂resize鍑芥暟瀵艰嚧椤甸潰鍗¢】锛屼娇鐢ㄥ畾鏃跺櫒
+ if (!this.timer) {
+ // 涓�鏃︾洃鍚埌鐨剆creenWidth鍊兼敼鍙橈紝灏卞皢鍏堕噸鏂拌祴缁檇ata閲岀殑screenWidth
+ this.screenWidth = val;
+ this.timer = true;
+ const that = this;
+ setTimeout(function () {
+ // 鎵撳嵃screenWidth鍙樺寲鐨勫��
+ that.timer = false;
+ }, 400);
+ }
+ },
+ $route: {
+ handler: function (route) {
+ const query = route.query;
+ if (query) {
+ this.redirect = query.redirect;
+ this.otherQuery = this.getOtherQuery(query);
+ }
+ },
+ immediate: true,
+ },
+ },
+ created() {
+ const _this = this;
+ document.onkeydown = function (e) {
+ if (_this.$route.path.indexOf("login") !== -1) {
+ const key = window.event.keyCode;
+ if (key === 13) {
+ _this.handleLogin();
+ }
+ }
+ };
+ window.addEventListener("resize", this.handleResize);
+ },
+ mounted() {
+ this.getInfo();
+ this.$nextTick(() => {
+ // if (this.screenWidth < 768) {
+ // document
+ // .getElementsByTagName("canvas")[0]
+ // .removeAttribute("class", "index_bg");
+ // } else {
+ // document.getElementsByTagName("canvas")[0].className = "index_bg";
+ // }
+ });
+ if (this.loginForm.account === "") {
+ this.$refs.account.focus();
+ } else if (this.loginForm.pwd === "") {
+ this.$refs.pwd.focus();
+ }
+ this.getCaptcha();
+ // this.agentWeiXinLogin();
+ },
+ beforeCreate() {
+ // if (this.fullWidth < 768) {
+ // document
+ // .getElementsByTagName("canvas")[0]
+ // .removeAttribute("class", "index_bg");
+ // } else {
+ // document.getElementsByTagName("canvas")[0].className = "index_bg";
+ // }
+ },
+ destroyed() {
+ // window.removeEventListener('storage', this.afterQRScan)
+ },
+ beforeDestroy: function () {
+ window.removeEventListener("resize", this.handleResize);
+ document
+ .getElementsByTagName("canvas")[0]
+ .removeAttribute("class", "index_bg");
+ },
+ methods: {
+ agentWeiXinLogin() {
+ // 鍒ゆ柇鏄惁闇�瑕佸井淇″叕浼楀彿鐧婚檰
+ const _isWechat = this.$wechat.isWeixin();
+ if (_isWechat) {
+ let code = this.$route.query.code;
+ let state = this.$route.query.state;
+ let wxAuthPath = location.origin + "/login";
+ // 濡傛灉娌℃湁code 鍘昏幏鍙�
+ if (null == code) {
+ getWXCodeByUrl(wxAuthPath, "step1");
+ }
+ // 濡傛灉鏈塻tate=step1 鏍规嵁code鍘荤櫥闄�
+ if (state === "step1") {
+ loginByWxCode(code)
+ .then((res) => {
+ sessionStorage.setItem("token", res.token);
+ this.$router.push({
+ path: this.redirect || "/",
+ query: this.otherQuery,
+ });
+ })
+ .catch((err) => {
+ // 濡傛灉鐧婚檰澶辫触锛岄偅涔堣緭鍏ヨ处鍙风櫥闄嗭紝閲嶆柊鑾峰彇code浼犻�掔粰鍚庣鍋氱粦瀹�
+ getWXCodeByUrl(wxAuthPath, "step2");
+ });
+ } else if (state === "step2") {
+ this.loginForm.wxCode = code;
+ }
+ }
+ },
+ onWechat() {
+ let url = this.$route.query.redirect
+ ? this.$route.query.redirect
+ : "/dashboard";
+ this.$wechat.oAuth(url, "login");
+ },
+ handleResize(event) {
+ this.fullWidth = document.body.clientWidth;
+ // if (this.fullWidth < 768) {
+ // document
+ // .getElementsByTagName("canvas")[0]
+ // .removeAttribute("class", "index_bg");
+ // } else {
+ // document.getElementsByTagName("canvas")[0].className = "index_bg";
+ // }
+ },
+ getInfo() {
+ getLoginPicApi().then((res) => {
+ this.swiperList = res.banner;
+ this.loginLogo = res.loginLogo;
+ this.backgroundImages = res.backgroundImage;
+ // Cookies.set('MerInfo', JSON.stringify(data))
+ });
+ },
+ checkCapslock(e) {
+ const { key } = e;
+ this.capsTooltip = key && key.length === 1 && key >= "A" && key <= "Z";
+ },
+ showPwd() {
+ if (this.passwordType === "password") {
+ this.passwordType = "";
+ } else {
+ this.passwordType = "password";
+ }
+ this.$nextTick(() => {
+ this.$refs.pwd.focus();
+ });
+ },
+ handleLogin() {
+ // const code = this.$route.query.code;
+ this.$refs.loginForm.validate((valid) => {
+ if (valid) {
+ this.loading = true;
+ // if (this.$wechat.isWeixin()) {
+ // this.loginForm.wxCode = code;
+ // }
+ this.$store
+ .dispatch("user/login", this.loginForm)
+ .then(() => {
+ this.$router.push({
+ path: this.redirect || "/",
+ query: this.otherQuery,
+ });
+ this.loading = false;
+ })
+ .catch((err) => {
+ this.loading = false;
+ if (this.$wechat.isPhone()) this.$dialog.error(err.message);
+ this.getCaptcha();
+ });
+ } else {
+ return false;
+ }
+ });
+ },
+ getCaptcha() {
+ captchaApi()
+ .then((data) => {
+ this.captchatImg = data.code;
+ this.loginForm.key = data.key;
+ })
+ .catch(({ message }) => {
+ this.$message.error(message);
+ });
+ },
+ getOtherQuery(query) {
+ return Object.keys(query).reduce((acc, cur) => {
+ if (cur !== "redirect") {
+ acc[cur] = query[cur];
+ }
+ return acc;
+ }, {});
+ },
+ },
+};
+</script>
+
+<style lang="scss" scoped>
+$screen-md: 768px;
+$font-size-base: 14px;
+$animation-time: 0.3s;
+$animation-time-quick: 0.15s;
+$transition-time: 0.2s;
+$ease-in-out: ease-in-out;
+$subsidiary-color: #808695;
+.footer {
+ align-items: center;
+ justify-content: center;
+ width: 50%;
+ height: 36px;
+ cursor: pointer;
+}
+.wechat {
+ width: 26px;
+ height: 26px;
+ img {
+ width: 100%;
+ height: 100%;
+ }
+}
+.page-account {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ align-items: center;
+ height: 100vh;
+ overflow: auto;
+
+ background-repeat: no-repeat;
+ background-position: center;
+ background-size: cover;
+
+ &-container {
+ flex: 1;
+ padding: 32px 0;
+ text-align: center;
+ width: 384px;
+ margin: 0 auto;
+
+ &-result {
+ width: 100%;
+ }
+ }
+
+ &-tabs {
+ .ivu-tabs-bar {
+ border-bottom: none;
+ }
+ .ivu-tabs-nav-scroll {
+ text-align: center;
+ }
+ .ivu-tabs-nav {
+ display: inline-block;
+ float: none;
+ }
+ }
+ &-top {
+ padding: 32px 0;
+ &-logo {
+ img {
+ max-height: 75px;
+ }
+ }
+ &-desc {
+ font-size: $font-size-base;
+ color: $subsidiary-color;
+ }
+ }
+
+ &-auto-login {
+ margin-bottom: 24px;
+ text-align: left;
+ a {
+ float: right;
+ }
+ }
+
+ &-other {
+ margin: 24px 0;
+ text-align: left;
+ span {
+ font-size: $font-size-base;
+ }
+ img {
+ width: 24px;
+ margin-left: 16px;
+ cursor: pointer;
+ vertical-align: middle;
+ opacity: 0.7;
+ transition: all $transition-time $ease-in-out;
+ &:hover {
+ opacity: 1;
+ }
+ }
+ }
+
+ .ivu-poptip,
+ .ivu-poptip-rel {
+ display: block;
+ }
+
+ &-register {
+ float: right;
+ &-tip {
+ text-align: left;
+ &-title {
+ font-size: $font-size-base;
+ }
+ &-desc {
+ white-space: initial;
+ font-size: $font-size-base;
+ margin-top: 6px;
+ }
+ }
+ }
+
+ &-to-login {
+ text-align: center;
+ margin-top: 16px;
+ }
+
+ &-header {
+ text-align: right;
+ position: fixed;
+ top: 16px;
+ right: 24px;
+ }
+}
+.labelPic {
+ position: absolute;
+ right: 0;
+}
+@media (min-width: $screen-md) {
+ .page-account {
+ background-repeat: no-repeat;
+ background-position: center;
+ background-size: cover;
+ }
+ .page-account-container {
+ padding: 32px 0 24px 0;
+ position: relative;
+ }
+}
+@media screen and (max-width: 1023px) {
+ .index_from {
+ width: 80vw !important;
+
+ }
+ .captcha {
+ .mobile-login-input {
+ width: 37vw !important;
+ }
+ }
+}
+.page-account {
+ display: flex;
+}
+
+.page-account .code {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+
+.page-account .code .pictrue {
+ height: 40px;
+}
+
+.swiperPross {
+ border-radius: 6px 0px 0px 6px;
+ overflow: hidden;
+}
+
+.swiperPross,
+.swiperPic,
+.swiperPic img {
+ width: 286px;
+ height: 100%;
+}
+
+.swiperPic img {
+ width: 100%;
+ height: 100%;
+}
+
+.container {
+ height: 400px !important;
+ padding: 0 !important;
+ /*overflow: hidden;*/
+ border-radius: 6px;
+ z-index: 1;
+ display: flex;
+}
+
+.containerSamll {
+ /*width: 56% !important;*/
+ width: 670px;
+ background: #fff !important;
+}
+
+.containerBig {
+ width: auto !important;
+ margin-top: -50px;
+ background: #f7f7f7 !important;
+}
+
+.index_from {
+ width: 384px;
+ padding: 0 40px 32px 40px;
+ height: 400px;
+ box-sizing: border-box;
+}
+
+.page-account-top {
+ padding: 20px 0 !important;
+ box-sizing: border-box !important;
+ display: flex;
+ justify-content: center;
+}
+
+.page-account-container {
+ border-radius: 0px 6px 6px 0px;
+}
+
+.btn {
+ background: linear-gradient(
+ 90deg,
+ rgba(25, 180, 241, 1) 0%,
+ rgba(14, 115, 232, 1) 100%
+ ) !important;
+}
+</style>
+
+<style lang="scss" scoped>
+.captcha {
+ display: flex;
+ align-items: flex-start;
+}
+$bg: #2d3a4b;
+$dark_gray: #889aa4;
+$light_gray: #eee;
+.imgs {
+ img {
+ height: 36px;
+ }
+}
+.login-form {
+ position: relative;
+ max-width: 100%;
+ margin: 0 auto;
+ overflow: hidden;
+}
+.tips {
+ font-size: 14px;
+ color: #fff;
+ margin-bottom: 10px;
+
+ span {
+ &:first-of-type {
+ margin-right: 16px;
+ }
+ }
+}
+.svg-container {
+ padding: 6px 5px 6px 15px;
+ color: $dark_gray;
+ vertical-align: middle;
+ width: 30px;
+ display: inline-block;
+}
+.show-pwd {
+ position: absolute;
+ right: 10px;
+ top: 7px;
+ font-size: 16px;
+ color: $dark_gray;
+ cursor: pointer;
+ user-select: none;
+ ::v-deep.svg-icon {
+ vertical-align: 0.3em;
+ }
+}
+.thirdparty-button {
+ position: absolute;
+ right: 0;
+ bottom: 6px;
+}
+</style>
diff --git a/src/views/login/mixins.js b/src/views/login/mixins.js
new file mode 100644
index 0000000..c196307
--- /dev/null
+++ b/src/views/login/mixins.js
@@ -0,0 +1,11 @@
+import iHeaderI18n from '@/layouts/basic-layout/header-i18n'
+import { mapState } from 'vuex'
+
+export default {
+ components: { iHeaderI18n },
+ computed: {
+ ...mapState('admin/layout', [
+ 'showI18n'
+ ])
+ }
+}
diff --git a/src/views/maintain/authCRMEB/index.vue b/src/views/maintain/authCRMEB/index.vue
new file mode 100644
index 0000000..113a6a5
--- /dev/null
+++ b/src/views/maintain/authCRMEB/index.vue
@@ -0,0 +1,139 @@
+<template>
+ <div class="divBox">
+ <el-card class="box-card">
+ <div class="page_title">鎺堟潈璇佷功鐢宠</div>
+ <div class="page_desc">鎮ㄧ殑鏀寔鏄垜浠笉鏂繘姝ョ殑鍔ㄥ姏锛屽晢涓氭巿鏉冩洿澶氭槸涓�涓繚闅滃拰闄勫姞鐨勫鍊兼湇鍔★紝璁╂偍浼樺厛浜彈鏂扮増鏈殑寮哄ぇ鍔熻兘鍜屽畨鍏ㄤ繚闅�</div>
+ <el-form ref="form" :model="form" label-width="80px" :rules="rules">
+ <el-form-item label="浼佷笟鍚嶇О" prop="company_name">
+ <el-input v-model="form.company_name" placeholder="璇峰~鍐欐偍鐨勪紒涓氬悕绉�"></el-input>
+ </el-form-item>
+ <el-form-item label="浼佷笟鍩熷悕" prop="domain_name">
+ <el-input v-model="form.domain_name" placeholder="璇疯緭鍏ュ煙鍚嶏紝鏍煎紡锛歜aidu.com"></el-input>
+ </el-form-item>
+ <el-form-item label="璁㈠崟鍙�" prop="order_id">
+ <el-input v-model="form.order_id" placeholder="璇疯緭鍏ユ偍鍦ㄦ窐瀹濇垨灏忕▼搴忚喘涔扮殑婧愮爜璁㈠崟鍙�"></el-input>
+ </el-form-item>
+ <el-form-item label="鎵嬫満鍙�" prop="phone">
+ <el-input v-model="form.phone" placeholder="璐熻矗浜虹數璇�"></el-input>
+ </el-form-item>
+ <el-form-item label="鎺堟潈浜у搧">
+ <el-input value="java" disabled></el-input>
+ </el-form-item>
+ <el-form-item label="楠岃瘉鐮�" prop="captcha">
+ <div class="captcha">
+ <el-input
+ ref="username"
+ v-model="form.captcha"
+ style="width: 218px;"
+ prefix-icon="el-icon-message"
+ placeholder="楠岃瘉鐮�"
+ name="username"
+ type="text"
+ tabindex="3"
+ autocomplete="on"
+ />
+ <div class="imgs" @click="getCaptcha()">
+ <img :src="captchs">
+ </div>
+ </div>
+ </el-form-item>
+ <el-form-item>
+ <el-button type="primary" @click="submitForm('form')">鎻愪氦</el-button>
+ <el-button @click="resetForm('form')">閲嶇疆</el-button>
+ </el-form-item>
+ </el-form>
+ </el-card>
+ </div>
+</template>
+
+<script>
+import {authCertSubmit} from '@/api/authInformation'
+import {configSaveUniq} from '@/api/systemConfig'
+import {Debounce} from '@/utils/validate'
+export default {
+ name: "index",
+ data() {
+ return {
+ form: {
+ company_name: '',
+ domain_name:'',
+ order_id:'',
+ captcha:'',
+ phone:'',
+ label:22
+ },
+ captchs: 'http://authorize.CMS.net/api/captchs/',
+ rules:{
+ company_name: [
+ {required: true, message: '璇峰~鍐欐偍鐨勪紒涓氬悕绉�', trigger: 'blur'}
+ ],
+ domain_name: [
+ { required: true, message: '璇疯緭鍏ュ煙鍚嶏紝鏍煎紡锛歜aidu.com', trigger: 'blur' }
+ ],
+ order_id: [
+ { required: true, message: '璇疯緭鍏ユ偍璐拱鐨勬簮鐮佽鍗曞彿', trigger: 'blur' }
+ ],
+ phone: [
+ { required: true, message: '璇疯緭鍏ヨ礋璐d汉鐢佃瘽', trigger: 'blur' }
+ ],
+ captcha: [
+ { required: true, message: '璇疯緭鍏ラ獙璇佺爜', trigger: 'blur' }
+ ]
+ }
+ }
+ },
+ mounted(){
+ this.getCaptcha();
+ },
+ methods: {
+ getCaptcha(){
+ this.captchs = this.captchs + Date.parse(new Date());
+ },
+ submitForm:Debounce(function(formName) {
+ this.$refs[formName].validate((valid) => {
+ if (valid) {
+ authCertSubmit(this.form).then(res=>{
+ if(res.status === 200){
+ this.$modal.msgSuccess(res.msg);
+ configSaveUniq({key:'authHost',value:this.form.domain_name})
+ }else{
+ this.$modal.msgError(res.msg);
+ }
+ }).catch(res => {
+ this.getCaptcha();
+ return this.$modal.msgError(res.msg);
+ })
+ } else {
+ return false;
+ }
+ });
+ }),
+ resetForm(formName) {
+ this.$refs[formName].resetFields();
+ }
+ },
+};
+</script>
+
+<style scoped lang="scss">
+.page_title{
+ text-align: center;
+ font-size: 30px;
+ padding:20px 0 20px;
+}
+.page_desc{
+ font-size: 18px;
+ text-align: center;
+ margin-bottom: 40px;
+}
+.captcha{
+ display: flex;
+ align-items: flex-start;
+}
+.imgs{
+ margin-left:20px;
+ img{
+ height: 36px;
+ }
+}
+</style>
diff --git a/src/views/maintain/devconfig/combineDataList.vue b/src/views/maintain/devconfig/combineDataList.vue
new file mode 100644
index 0000000..3c704ee
--- /dev/null
+++ b/src/views/maintain/devconfig/combineDataList.vue
@@ -0,0 +1,186 @@
+<template>
+ <div class="components-container">
+ <div class="container">
+ <el-form inline>
+ <el-form-item label="鐘舵��">
+ <el-select v-model="listPram.status" placeholder="鐘舵��" clearable @change="handlerSearch" class="selWidth">
+ <el-option
+ v-for="item in constants.roleListStatus"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ />
+ </el-select>
+ </el-form-item>
+ <!-- <el-form-item label="鍏抽敭璇�">-->
+ <!-- <el-input v-model="listPram.keywords" placeholder="璇疯緭鍏ュ叧閿瘝" clearable></el-input>-->
+ <!-- </el-form-item>-->
+ <!-- <el-form-item>-->
+ <!-- <el-button type="primary" @click="handlerSearch">鏌ヨ</el-button>-->
+ <!-- </el-form-item>-->
+ </el-form>
+ </div>
+ <el-button type="primary" size="mini" @click="handlerOpenEditData({},0)" v-hasPermi="['admin:system:group:data:save']">娣诲姞鏁版嵁</el-button>
+ <!-- v-if="((formData.id==55 || formData.name==='绛惧埌澶╂暟閰嶇疆') && dataList.list.length<7) || (formData.id!=55|| formData.name!=='绛惧埌澶╂暟閰嶇疆')" -->
+ <el-dialog
+ :title="editDataConfig.isCreate === 0?'娣诲姞鏁版嵁':'缂栬緫鏁版嵁'"
+ :visible.sync="editDataConfig.visible"
+ append-to-body
+ destroy-on-close
+ width="700px"
+ >
+ <edit
+ v-if="editDataConfig.visible"
+ :form-data="formData"
+ :edit-data="editDataConfig.editData"
+ :is-create="editDataConfig.isCreate"
+ @hideDialog="handlerHideDia"
+ />
+ </el-dialog>
+ <el-table
+ :data="dataList.list"
+ style="width: 100%;margin-bottom: 20px;"
+ :header-cell-style=" {fontWeight:'bold'}"
+ >
+ <el-table-column label="缂栧彿" prop="id" />
+ <el-table-column
+ v-for="item,index in formConf.fields"
+ :key="index"
+ :label="item.__config__.label"
+ :prop="item.__vModel__"
+ >
+ <template slot-scope="scope">
+ <div v-if="['img','image','pic'].indexOf(item.__vModel__) > -1" class="demo-image__preview">
+ <el-image
+ style="width: 36px; height: 36px"
+ :src="scope.row[item.__vModel__]"
+ :preview-src-list="[scope.row[item.__vModel__]]"
+ />
+ </div>
+ <span v-else>{{ scope.row[item.__vModel__] }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column label="鐘舵��" prop="status">
+ <template slot-scope="scope">
+ <span>{{ scope.row.status | filterShowOrHide }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column label="鎿嶄綔" width="200">
+ <template slot-scope="scope">
+ <el-button type="text" size="small" @click="handlerOpenEditData(scope.row,1)" v-hasPermi="['admin:system:group:data:update','admin:system:group:data:info']">缂栬緫</el-button>
+ <el-button type="text" size="small" @click="handlerDelete(scope.row)" v-if="formMark !== 99" v-hasPermi="['admin:system:group:data:delete']">鍒犻櫎</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ <el-pagination
+ :current-page="listPram.page"
+ :page-sizes="constants.page.limit"
+ :layout="constants.page.layout"
+ :total="dataList.total"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ />
+ </div>
+</template>
+
+<script>
+import edit from './combineEdit'
+import * as systemGroupDataApi from '@/api/systemGroupData.js'
+import * as systemFormConfigApi from '@/api/systemFormConfig.js'
+export default {
+ // name: "combineDataList"
+ components: { edit },
+ props: {
+ formData: {
+ type: Object,
+ required: true
+ }
+ },
+ data() {
+ return {
+ constants: this.$constants,
+ listPram: {
+ gid: null,
+ keywords: null,
+ status: null, // 1=寮�鍚� 2=鍏抽棴
+ page: 1,
+ pageSize: this.$constants.page.limit[0]
+ },
+ editDataConfig: {
+ visible: false,
+ isCreate: 0, // 0=create 1=edit
+ editData: {}
+ },
+ formConf: { fields: [] },
+ dataList: { list: [], total: 0 },
+ formMark:0
+ }
+ },
+ mounted() {
+ this.handlerGetFormConfig()
+ this.listPram.gid = this.formData.id
+ this.handlerGetListData(this.listPram)
+ },
+ methods: {
+ handlerSearch() {
+ this.listPram.page = 1
+ this.handlerGetListData(this.listPram)
+ },
+ handlerGetListData(pram) { // 鑾峰彇鍒楄〃鏁版嵁
+ systemGroupDataApi.groupDataList(pram).then(data => {
+ const _selfList = []
+ data.list.forEach(_lItem => {
+ _lItem.value = JSON.parse(_lItem.value)
+ const _fields = _lItem.value.fields
+ const _rowData = {}
+ _fields.map((item) => {
+ _rowData[item.name] = item.value
+ })
+ _rowData.id = _lItem.id
+ _rowData.sort = _lItem.sort
+ _rowData.status = _lItem.status
+ _selfList.push(_rowData)
+ })
+ this.dataList.list = _selfList
+ this.dataList.total = data.total
+ })
+ },
+ handlerGetFormConfig() { // 鑾峰彇琛ㄥ崟閰嶇疆鍚庣敓鎴恡able鍒�
+ const _pram = { id: this.formData.formId }
+ systemFormConfigApi.getFormConfigInfo(_pram).then(data => {
+ this.formMark = parseInt(data.id);
+ this.formConf = JSON.parse(data.content)
+ })
+ },
+ handlerOpenEditData(rowData, isCreate) {
+ this.editDataConfig.editData = rowData
+ this.editDataConfig.isCreate = isCreate
+ this.editDataConfig.visible = true
+ },
+ handlerHideDia() {
+ this.handlerGetListData(this.listPram)
+ this.editDataConfig.visible = false
+ },
+ handlerDelete(rowData) {
+ this.$confirm('纭疄鍒犻櫎褰撳墠鏁版嵁', '鎻愮ず').then(() => {
+ systemGroupDataApi.groupDataDelete(rowData).then(data => {
+ this.$message.success('鍒犻櫎鏁版嵁鎴愬姛')
+ this.handlerHideDia()
+ })
+ })
+ },
+ handleSizeChange(val) {
+ this.listPram.limit = val
+ this.handlerGetListData(this.listPram)
+ },
+ handleCurrentChange(val) {
+ this.listPram.page = val
+ this.handlerGetListData(this.listPram)
+ }
+ }
+}
+</script>
+
+<style scoped>
+
+</style>
diff --git a/src/views/maintain/devconfig/combineEdit.vue b/src/views/maintain/devconfig/combineEdit.vue
new file mode 100644
index 0000000..ca6fac0
--- /dev/null
+++ b/src/views/maintain/devconfig/combineEdit.vue
@@ -0,0 +1,136 @@
+<template>
+ <div>
+ <el-form ref="selfForm" :model="selfForm" :label-width="labelWidth">
+ <el-form-item
+ label="鎺掑簭"
+ prop="sort"
+ :rules="[
+ {
+ required: true,
+ message: '鎺掑簭涓嶈兘涓虹┖',
+ trigger: ['blur', 'change'],
+ },
+ ]"
+ >
+ <el-input-number v-model="selfForm.sort" />
+ </el-form-item>
+ <el-form-item
+ label="鐘舵��"
+ prop="status"
+ :rules="[
+ { required: true, message: '姝g‘鎿嶄綔鐘舵��', trigger: ['change'] },
+ ]"
+ >
+ <el-switch v-model="selfForm.status" />
+ </el-form-item>
+ </el-form>
+ <parser
+ v-if="formConf.fields.length > 0"
+ :is-edit="isCreate === 1"
+ :form-conf="formConf"
+ :form-edit-data="editData"
+ :label-width="labelWidth"
+ @submit="handlerSubmit"
+ />
+ <!-- {{ editData }}-->
+ </div>
+</template>
+
+<script>
+import parser from "@/components/FormGenerator/components/parser/Parser";
+import * as systemGroupDataApi from "@/api/systemGroupData.js";
+import * as systemFormConfigApi from "@/api/systemFormConfig.js";
+import { Debounce } from "@/utils/validate";
+export default {
+ // name: "combineEdit"
+ components: { parser },
+ props: {
+ formData: {
+ type: Object,
+ required: true,
+ },
+ isCreate: {
+ type: Number,
+ default: 0, // 0=create 1=edit
+ },
+ editData: {
+ type: Object,
+ },
+ },
+ data() {
+ return {
+ formConf: { fields: [] },
+ selfForm: {
+ sort: 0,
+ status: 0,
+ },
+ labelWidth: "100px",
+ };
+ },
+ mounted() {
+ this.handlerGetFormConfig();
+ this.handlerInitEditData();
+ },
+ methods: {
+ handlerInitEditData() {
+ const { sort, status } = this.editData;
+ this.selfForm.sort = sort;
+ this.selfForm.status = status;
+ },
+ handlerGetFormConfig() {
+ // 鑾峰彇琛ㄥ崟閰嶇疆鍚庣敓鎴恡able鍒�
+ const _pram = { id: this.formData.formId };
+ systemFormConfigApi.getFormConfigInfo(_pram).then((data) => {
+ this.formConf = JSON.parse(data.content);
+ if (this.formConf.fields[0].__config__.labelWidth) {
+ this.labelWidth = `${this.formConf.fields[0].__config__.labelWidth}px`;
+ }
+
+ console.log("xxxxx", this.labelWidth);
+ });
+ },
+ handlerSubmit: Debounce(function (formValue) {
+ this.isCreate === 0
+ ? this.handlerSave(formValue)
+ : this.handlerEdit(formValue);
+ }),
+ handlerSave(formValue) {
+ const _pram = this.buildFormPram(formValue);
+ systemGroupDataApi.groupDataSave(_pram).then((data) => {
+ this.$message.success("娣诲姞鏁版嵁鎴愬姛");
+ this.$emit("hideDialog");
+ });
+ },
+ handlerEdit(formValue) {
+ const _pram = this.buildFormPram(formValue);
+ systemGroupDataApi.groupDataEdit(_pram, this.editData.id).then((data) => {
+ this.$message.success("缂栬緫鏁版嵁鎴愬姛");
+ this.$emit("hideDialog");
+ });
+ },
+ buildFormPram(formValue) {
+ const _pram = {
+ gid: this.formData.id,
+ form: {
+ fields: [],
+ id: this.formData.formId,
+ sort: this.selfForm.sort,
+ status: this.selfForm.status,
+ },
+ };
+ const _fields = [];
+ Object.keys(formValue).forEach((key) => {
+ _fields.push({
+ name: key,
+ title: key,
+ value: formValue[key],
+ });
+ });
+ _pram.form.fields = _fields;
+ return _pram;
+ },
+ },
+};
+</script>
+
+<style scoped></style>
diff --git a/src/views/maintain/devconfig/combinedData.vue b/src/views/maintain/devconfig/combinedData.vue
new file mode 100644
index 0000000..0a41d99
--- /dev/null
+++ b/src/views/maintain/devconfig/combinedData.vue
@@ -0,0 +1,188 @@
+<template>
+ <div class="divBox">
+ <el-card class="box-card">
+ <div slot="header" class="clearfix">
+ <div class="container">
+ <el-form inline>
+ <el-form-item label="鏁版嵁鎼滅储">
+ <el-input
+ v-model="listPram.keywords"
+ placeholder="璇疯緭鍏D锛孠EY锛岀粍鍚堟暟鎹悕绉帮紝绠�浠�"
+ class="selWidth"
+ size="small"
+ clearable
+ >
+ <el-button
+ slot="append"
+ icon="el-icon-search"
+ size="small"
+ @click="handlerSearch"
+ />
+ </el-input>
+ </el-form-item>
+ </el-form>
+ </div>
+ <!-- <el-button
+ size="mini"
+ type="primary"
+ @click="handlerOpenEdit({}, 0)"
+ v-hasPermi="['admin:system:group:save']"
+ >娣诲姞鏁版嵁缁�</el-button
+ > -->
+ </div>
+ <el-table
+ :data="dataList.list"
+ style="width: 100%; margin-bottom: 20px"
+ size="mini"
+ highlight-current-row
+ :header-cell-style="{ fontWeight: 'bold' }"
+ >
+ <el-table-column label="鏁版嵁缁勫悕绉�" prop="name" min-width="150" />
+ <el-table-column label="绠�浠�" prop="info" min-width="150" />
+ <el-table-column label="鎿嶄綔" fixed="right" min-width="180">
+ <template slot-scope="scope">
+ <el-button
+ size="small"
+ type="text"
+ @click="handleDataList(scope.row)"
+ v-hasPermi="['admin:system:group:data:list']"
+ >鏁版嵁鍒楄〃</el-button
+ >
+ <el-button
+ size="small"
+ type="text"
+ @click="handlerOpenEdit(scope.row, 1)"
+ v-hasPermi="[
+ 'admin:system:group:info',
+ 'admin:system:group:update',
+ ]"
+ >缂栬緫</el-button
+ >
+ <!-- <el-button
+ size="small"
+ type="text"
+ @click="handleDelete(scope.row)"
+ v-hasPermi="['admin:system:group:delete']"
+ >鍒犻櫎</el-button
+ > -->
+ </template>
+ </el-table-column>
+ </el-table>
+ <el-pagination
+ :current-page="listPram.page"
+ :page-sizes="constants.page.limit"
+ :layout="constants.page.layout"
+ :total="dataList.total"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ />
+ </el-card>
+
+ <el-dialog
+ :title="editDialogConfig.isCreate === 0 ? '鍒涘缓鏁版嵁缁�' : '缂栬緫鏁版嵁缁�'"
+ :visible.sync="editDialogConfig.visible"
+ >
+ <edit
+ v-if="editDialogConfig.visible"
+ :is-create="editDialogConfig.isCreate"
+ :edit-data="editDialogConfig.editData"
+ @hideDialog="handlerHideDialog"
+ />
+ </el-dialog>
+ <el-dialog
+ title="缁勫悎鏁版嵁鍒楄〃"
+ :visible.sync="comDataListConfig.visible"
+ fullscreen
+ >
+ <cm-data-list
+ v-if="comDataListConfig.visible"
+ :form-data="comDataListConfig.formData"
+ />
+ </el-dialog>
+ </div>
+</template>
+
+<script>
+import edit from "@/views/maintain/devconfig/combinedDataEdit";
+import * as systemGroupApi from "@/api/systemGroup";
+import cmDataList from "./combineDataList";
+export default {
+ // name: "combinedData"
+ components: { edit, cmDataList },
+ data() {
+ return {
+ constants: this.$constants,
+ dataList: {
+ list: [],
+ total: 0,
+ },
+ listPram: {
+ keywords: null,
+ page: 1,
+ pageSize: this.$constants.page.limit[0],
+ },
+ editDialogConfig: {
+ visible: false,
+ isCreate: 0, // 0=鍒涘缓 1=缂栬緫
+ editData: {},
+ },
+ comDataListConfig: {
+ visible: false,
+ formData: {},
+ },
+ };
+ },
+ mounted() {
+ this.handlerGetList(this.listPram);
+ },
+ methods: {
+ handlerSearch() {
+ this.listPram.page = 1;
+ this.handlerGetList(this.listPram);
+ },
+ handlerOpenEdit(editData, isCreate) {
+ isCreate === 0
+ ? (this.editDialogConfig.editData = {})
+ : (this.editDialogConfig.editData = editData);
+ this.editDialogConfig.isCreate = isCreate;
+ this.editDialogConfig.visible = true;
+ },
+ handlerGetList(pram) {
+ systemGroupApi.groupList(pram).then((data) => {
+ this.dataList = data;
+ });
+ },
+ handleDataList(rowData) {
+ if (rowData.formId <= 0) return this.$message.error("璇峰厛鍏宠仈琛ㄥ崟");
+ this.comDataListConfig.formData = rowData;
+ this.comDataListConfig.visible = true;
+ },
+ handleDelete(rowData) {
+ this.$confirm("纭畾鍒犻櫎褰撳墠鏁版嵁", "鎻愮ず").then(() => {
+ systemGroupApi.groupDelete(rowData).then((data) => {
+ this.$message.success("鍒犻櫎鏁版嵁鎴愬姛");
+ setTimeout(() => {
+ this.handlerGetList(this.listPram);
+ }, 800);
+ });
+ });
+ },
+ handleSizeChange(val) {
+ this.listPram.limit = val;
+ this.handlerGetList(this.listPram);
+ },
+ handleCurrentChange(val) {
+ this.listPram.page = val;
+ this.handlerGetList(this.listPram);
+ },
+ handlerHideDialog() {
+ setTimeout(() => {
+ this.editDialogConfig.visible = false;
+ this.handlerGetList(this.listPram);
+ }, 800);
+ },
+ },
+};
+</script>
+
+<style scoped></style>
diff --git a/src/views/maintain/devconfig/combinedDataEdit.vue b/src/views/maintain/devconfig/combinedDataEdit.vue
new file mode 100644
index 0000000..eb72a7c
--- /dev/null
+++ b/src/views/maintain/devconfig/combinedDataEdit.vue
@@ -0,0 +1,109 @@
+<template>
+ <div class="components-container">
+ <el-form ref="editPram" :model="editPram" label-width="100px">
+ <el-form-item
+ label="鏁版嵁缁勫悕绉�"
+ prop="name"
+ :rules="[{ required:true, message:'濉啓鏁版嵁缁勫悕绉�', trigger:['blur','change'] }]"
+ >
+ <el-input v-model="editPram.name" placeholder="鏁版嵁缁勫悕绉�" clearable />
+ </el-form-item>
+ <el-form-item
+ label="鏁版嵁绠�浠�"
+ prop="info"
+ :rules="[{ required:true, message:'濉啓鏁版嵁绠�浠�', trigger:['blur','change'] }]"
+ >
+ <el-input v-model="editPram.info" placeholder="鏁版嵁绠�浠�" clearable />
+ </el-form-item>
+ <!-- <el-form-item
+ label="琛ㄥ崟鏁版嵁ID"
+ prop="formId"
+ :rules="[{ required:true, message:'璇烽�夋嫨琛ㄥ崟鏁版嵁', trigger:['change'] }]"
+ >
+ <span>{{ editPram.formId }}</span>
+ <el-button type="primary" @click="selectFormDialogConfig.visible = true">閫夋嫨妯℃澘鏁版嵁</el-button>
+ </el-form-item> -->
+ <el-form-item>
+ <el-button type="primary" class="btn-width100" @click="handlerSubmit('editPram')">纭畾</el-button>
+ </el-form-item>
+ </el-form>
+ <el-dialog title="閫夋嫨琛ㄥ崟妯℃澘" :visible.sync="selectFormDialogConfig.visible" append-to-body>
+ <form-config-list select-model @selectedRowData="handlerSelectedRowData" />
+ </el-dialog>
+ </div>
+
+</template>
+
+<script>
+import formConfigList from '@/views/maintain/formConfig'
+import * as systemGroupApi from '@/api/systemGroup'
+import {Debounce} from '@/utils/validate'
+export default {
+ // name: "combinedDataEdit"
+ components: { formConfigList },
+ props: {
+ isCreate: {
+ type: Number,
+ default: 0
+ },
+ editData: {
+ type: Object,
+ default: {}
+ }
+ },
+ data() {
+ return {
+ editPram: {
+ formId: null,
+ info: null,
+ name: null,
+ id: null
+ },
+ selectedFormConfigData: {},
+ selectFormDialogConfig: {
+ visible: false
+ }
+ }
+ },
+ mounted() {
+ this.handlerInitEditData()
+ },
+ methods: {
+ handlerInitEditData() {
+ if (this.isCreate !== 1) return
+ const { id, name, info, formId, createTime, updateTime } = this.editData
+ this.editPram.id = id
+ this.editPram.name = name
+ this.editPram.info = info
+ this.editPram.formId = formId
+ },
+ handlerSelectedRowData(rowData) {
+ this.selectedFormConfigData = rowData
+ this.editPram.formId = this.selectedFormConfigData.id
+ this.selectFormDialogConfig.visible = false
+ },
+ handlerSubmit:Debounce(function(form) {
+ this.$refs[form].validate(result => {
+ if (!result) return
+ this.isCreate === 0 ? this.handlerSave(this.editPram) : this.handlerEdit(this.editPram)
+ })
+ }),
+ handlerSave(pram) {
+ systemGroupApi.groupSave(pram).then(data => {
+ this.$message.success('娣诲姞缁勫悎鏁版嵁鎴愬姛')
+ this.$emit('hideDialog')
+ })
+ },
+ handlerEdit(pram) {
+ systemGroupApi.groupEdit(pram).then(data => {
+ this.$message.success('缂栬緫缁勫悎鏁版嵁鎴愬姛')
+ this.$emit('hideDialog')
+ })
+ }
+ }
+}
+</script>
+
+<style scoped>
+
+</style>
diff --git a/src/views/maintain/devconfig/configCategotyEdit.vue b/src/views/maintain/devconfig/configCategotyEdit.vue
new file mode 100644
index 0000000..d1329d1
--- /dev/null
+++ b/src/views/maintain/devconfig/configCategotyEdit.vue
@@ -0,0 +1,151 @@
+<template>
+ <div class="components-container">
+ <el-form ref="editPram" :model="editPram" label-width="100px">
+ <el-form-item label="鐖剁骇">
+ <!-- <span>{{ prent.name}}</span>-->
+ <el-cascader
+ v-model="editPram.pid"
+ :options="allTreeList"
+ :props="categoryProps"
+ disabled
+ style="width:100%"
+ />
+ </el-form-item>
+ <el-form-item
+ label="鍒嗙被鍚嶇О"
+ prop="name"
+ :rules="[{ required:true,message:'璇疯緭鍏ュ垎绫诲悕绉�',trigger:['blur','change'] }]"
+ >
+ <el-input v-model="editPram.name" placeholder="鍒嗙被鍚嶇О" />
+ </el-form-item>
+ <el-form-item label="鑻辨枃鍚嶇О" prop="url" :rules="[{required:true,message:'鑻辨枃鍚嶇О涓嶈兘涓虹┖',trigger:['blur','change']}]">
+ <el-input v-model="editPram.url" placeholder="URL" />
+ </el-form-item>
+ <el-form-item label="鎺掑簭">
+ <el-input-number v-model="editPram.sort" :min="1" :max="10" />
+ </el-form-item>
+ <el-form-item label="鐘舵��">
+ <el-switch v-model="editPram.status" :active-value="true" :inactive-value="false" />
+ </el-form-item>
+ <!-- 杩欓噷鐨勭被鍨嬫槸鏃犻檺鏋佸垎绫荤殑绫诲瀷涓嶈兘褰撳仛閰嶇疆鍒嗙被鐨勭被鍨嬶紝浣跨敤涓嬮潰鐨勬墿灞曞瓧娈靛疄鐜板師鏈変笟鍔′腑鐨勭被鍨�-->
+ <!-- <el-form-item label="绫诲瀷" prop="type" :rules="[{required:true,message:'璇烽�夋嫨绫诲瀷',trigger:['blur']}]">-->
+ <!-- <el-select v-model="editPram.type" disabled>-->
+ <!-- <el-option v-for="item in constants.categoryType" :key="item.value"-->
+ <!-- :label="item.name" :value="item.value"></el-option>-->
+ <!-- </el-select>-->
+ <!-- </el-form-item>-->
+ <!-- <el-form-item label="绫诲瀷">-->
+ <!-- <el-radio-group v-model="editPram.extra">-->
+ <!-- <el-radio v-for="item,index in constants.configCategory" :label="item.value">-->
+ <!-- {{ item.label }}-->
+ <!-- </el-radio>-->
+ <!-- </el-radio-group>-->
+ <!-- <!– <el-input type="textarea" v-model="editPram.extra" placeholder="鎵╁睍瀛楁"/>–>-->
+ <!-- </el-form-item>-->
+ <el-form-item>
+ <el-button size="mini" type="primary" @click="handlerSubmit('editPram')">纭畾</el-button>
+ <el-button size="mini" @click="close">鍙栨秷</el-button>
+ </el-form-item>
+ </el-form>
+ </div>
+</template>
+
+<script>
+import * as categoryApi from '@/api/categoryApi.js'
+import * as selfUtil from '@/utils/ZBKJIutil.js'
+import {Debounce} from '@/utils/validate'
+export default {
+ // name: "configCategotyEdit"
+ props: {
+ prent: {
+ type: Object,
+ default: 0
+ },
+ isCreate: {
+ type: Number,
+ default: 0
+ },
+ editData: {
+ type: Object
+ },
+ allTreeList: {
+ type: Array
+ }
+ },
+ data() {
+ return {
+ constants: this.$constants,
+ editPram: {
+ extra: null, // 鍏宠仈琛ㄥ崟id
+ name: null,
+ pid: null,
+ sort: 0,
+ status: true,
+ type: this.$constants.categoryType[5].value,
+ url: null,
+ id: 0
+ },
+ categoryProps: {
+ value: 'id',
+ label: 'name',
+ children: 'child',
+ expandTrigger: 'hover',
+ checkStrictly: true,
+ emitPath: false
+ },
+ parentOptions: []
+ }
+ },
+ mounted() {
+ this.initEditData()
+ },
+ methods: {
+ close() {
+ this.$emit('hideEditDialog')
+ },
+ initEditData() {
+ this.parentOptions = selfUtil.addTreeListLabelForCasCard(this.allTreeList)
+ if (this.isCreate !== 1) {
+ const { id } = this.prent
+ this.editPram.pid = id
+ } else {
+ const { extra, name, pid, sort, status, type, url, id } = this.editData
+ // this.editPram.extra = extra
+ this.editPram.name = name
+ this.editPram.pid = pid
+ this.editPram.sort = sort
+ this.editPram.status = status
+ this.editPram.type = type
+ this.editPram.url = url
+ this.editPram.id = id
+ this.editPram.extra = extra
+ }
+ },
+ handlerSubmit:Debounce(function(formName) {
+ this.$refs[formName].validate((valid) => {
+ if (!valid) return
+ this.handlerSaveOrUpdate(this.isCreate === 0)
+ })
+ }),
+ handlerSaveOrUpdate(isSave) {
+ if (isSave) {
+ this.editPram.pid = this.prent.id
+ categoryApi.addCategroy(this.editPram).then(data => {
+ this.$emit('hideEditDialog')
+ this.$message.success('鍒涘缓鍒嗙被鎴愬姛')
+ })
+ } else {
+ this.editPram.pid = Array.isArray(this.editPram.pid) ? this.editPram.pid[0] : this.editPram.pid
+ categoryApi.updateCategroy(this.editPram).then(data => {
+ this.$emit('hideEditDialog')
+ this.$message.success('鏇存柊鍒嗙被鎴愬姛')
+ })
+ }
+ }
+ }
+}
+</script>
+
+<style scoped>
+
+</style>
diff --git a/src/views/maintain/devconfig/configCategroy.vue b/src/views/maintain/devconfig/configCategroy.vue
new file mode 100644
index 0000000..0273172
--- /dev/null
+++ b/src/views/maintain/devconfig/configCategroy.vue
@@ -0,0 +1,202 @@
+<template>
+ <div class="divBox">
+ <el-card class="box-card">
+ <div slot="header">
+ <el-form inline>
+ <el-form-item>
+ <el-button size="mini" type="primary" @click="handlerOpenAdd({id:0,name:'椤跺眰鐩綍'})">娣诲姞鍒嗙被</el-button>
+ </el-form-item>
+ </el-form>
+ </div>
+ <el-table
+ ref="treeList"
+ :data="treeList"
+ style="width: 100%;"
+ row-key="id"
+ size="mini"
+ class="table"
+ highlight-current-row
+ :tree-props="{children: 'child', hasChildren: 'hasChildren'}"
+ >
+ <el-table-column prop="name" label="鍒嗙被鏄电О" min-width="300">
+ <template slot-scope="scope">
+ {{ scope.row.name }}
+ </template>
+ </el-table-column>
+ <el-table-column label="鑻辨枃鍚嶇О" show-overflow-tooltip min-width="180">
+ <template slot-scope="scope">
+ <span>{{ scope.row.url }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column label="宸插叧鑱旂殑琛ㄥ崟" show-overflow-tooltip min-width="130">
+ <template slot-scope="scope">
+ <span>{{ scope.row.extra }}</span>
+ </template>
+ </el-table-column>
+ <!-- <el-table-column label="鎺掑簭" prop="sort" width="150"></el-table-column>-->
+ <el-table-column label="鍚敤鐘舵��" min-width="100">
+ <template slot-scope="scope">
+ <span>{{ scope.row.status | filterYesOrNo }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column label="鎿嶄綔" min-width="250" fixed="right">
+ <template slot-scope="scope">
+ <el-button
+ type="text"
+ size="small"
+ :disabled="scope.row.pid > 0"
+ @click="handlerOpenAdd(scope.row)"
+ >娣诲姞瀛愮洰褰�</el-button>
+ <el-button type="text" size="small" @click="handleEditMenu(scope.row)">缂栬緫</el-button>
+ <el-button type="text" size="small" @click="handlerOpenFormConfig(scope.row)">閰嶇疆鍒楄〃</el-button>
+ <el-button type="text" size="small" @click="handleDelMenu(scope.row)">鍒犻櫎</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ </el-card>
+ <el-dialog
+ :title="editDialogConfig.isCreate === 0?'娣诲姞鍒嗙被':'缂栬緫鍒嗙被'"
+ :visible.sync="editDialogConfig.visible"
+ destroy-on-close
+ :close-on-click-modal="false"
+ >
+ <edit
+ v-if="editDialogConfig.visible"
+ :prent="editDialogConfig.prent"
+ :is-create="editDialogConfig.isCreate"
+ :edit-data="editDialogConfig.data"
+ :biztype="editDialogConfig.biztype"
+ :all-tree-list="treeList"
+ @hideEditDialog="hideEditDialog"
+ />
+ </el-dialog>
+ <el-dialog title="閫夋嫨宸查厤缃殑琛ㄥ崟" :visible.sync="configFormSelectedDialog.visible">
+ <span class="color-red">娉ㄦ剰锛氳〃鍗曚笉鑳介噸澶嶅叧鑱�</span>
+ <form-config-list
+ v-if="configFormSelectedDialog.visible"
+ select-model
+ @selectedRowData="handlerSelectedRowData"
+ />
+ <el-form>
+ <el-form-item>
+ <el-button type="primary" style="width:100%;" @click="handlerAddFormExtra">鍏宠仈</el-button>
+ </el-form-item>
+ </el-form>
+ </el-dialog>
+ </div>
+</template>
+
+<script>
+import * as categoryApi from '@/api/categoryApi.js'
+import edit from '@/views/maintain/devconfig/configCategotyEdit.vue'
+import * as selfUtil from '@/utils/ZBKJIutil.js'
+import configList from './configList'
+import formConfigList from '@/views/maintain/formConfig'
+export default {
+ // name: "configCategroy"
+ components: { edit, configList, formConfigList },
+ props: {
+
+ },
+ data() {
+ return {
+ constants: this.$constants,
+ searchPram: {
+ status: null,
+ type: null
+ },
+ editDialogConfig: {
+ visible: false,
+ isCreate: 0, // 0=鍒涘缓锛�1=缂栬緫
+ prent: {}, // 鐖剁骇瀵硅薄
+ data: {}
+ },
+ treeList: [],
+ listPram: {
+ pid: 0,
+ type: this.$constants.categoryType[5].value,
+ status: null,
+ name: null,
+ page: this.$constants.page.page,
+ limit: this.$constants.page.limit[1]
+ },
+ configFormSelectedDialog: {
+ visible: false,
+ currentData: {}
+ }
+ }
+ },
+ mounted() {
+ this.handlerGetTreeList()
+ },
+ methods: {
+ handlerOpenFormConfig(rowData) {
+ this.configFormSelectedDialog.currentData = rowData
+ this.configFormSelectedDialog.visible = true
+ },
+ handlerGetList() {
+ categoryApi.listCategroy(this.listPram).then(data => {
+ // this.dataList = data
+ this.treeList = data.list
+ })
+ },
+ handlerOpenAdd(rowData) {
+ this.editDialogConfig.isCreate = 0
+ this.editDialogConfig.prent = rowData
+ this.editDialogConfig.data = {}
+ this.editDialogConfig.biztype = this.biztype
+ this.editDialogConfig.visible = true
+ },
+ handleEditMenu(rowData) {
+ this.editDialogConfig.isCreate = 1
+ this.editDialogConfig.data = rowData
+ this.editDialogConfig.prent = rowData
+ this.editDialogConfig.visible = true
+ },
+ handleDelMenu(rowData) {
+ this.$confirm('纭畾鍒犻櫎褰撳墠鏁版嵁?').then(() => {
+ categoryApi.deleteCategroy(rowData).then(data => {
+ this.handlerGetTreeList()
+ this.$message.success('鍒犻櫎鎴愬姛')
+ })
+ })
+ },
+ hideEditDialog() {
+ setTimeout(() => {
+ this.editDialogConfig.prent = {}
+ this.editDialogConfig.type = 0
+ this.editDialogConfig.visible = false
+ this.handlerGetTreeList()
+ }, 200)
+ },
+ handlerGetTreeList() {
+ // status: this.selectModel?1:-1
+ const _pram = { type: this.constants.categoryType[5].value, status: -1 }
+ categoryApi.treeCategroy(_pram).then(data => {
+ this.treeList = this.handleAddArrt(data)
+ })
+ },
+ handleAddArrt(treeData) {
+ // let _result = this.addTreeListLabel(treeData)
+ const _result = selfUtil.addTreeListLabel(treeData)
+ return _result
+ },
+ handlerSelectedRowData(rowData) {
+ this.configFormSelectedDialog.currentData.extra = rowData.id
+ },
+ handlerAddFormExtra() {
+ categoryApi.updateCategroy(this.configFormSelectedDialog.currentData).then(data => {
+ this.$message.success('鍏宠仈琛ㄥ崟鎴愬姛')
+ setTimeout(() => {
+ this.configFormSelectedDialog.visible = false
+ this.handlerGetTreeList()
+ }, 800)
+ })
+ }
+ }
+}
+</script>
+
+<style scoped>
+
+</style>
diff --git a/src/views/maintain/devconfig/configList.vue b/src/views/maintain/devconfig/configList.vue
new file mode 100644
index 0000000..4224106
--- /dev/null
+++ b/src/views/maintain/devconfig/configList.vue
@@ -0,0 +1,23 @@
+<template>
+ <div class="components-container">
+ <config-list :prent-data="prentData" />
+ </div>
+</template>
+
+<script>
+import configList from '@/components/FormGenerator/index/Home.vue'
+export default {
+ components: { configList },
+ // name: "configList",
+ props: {
+ prentData: {
+ type: Object,
+ default: {}
+ }
+ }
+}
+</script>
+
+<style scoped>
+
+</style>
diff --git a/src/views/maintain/formConfig/edit.vue b/src/views/maintain/formConfig/edit.vue
new file mode 100644
index 0000000..9467be7
--- /dev/null
+++ b/src/views/maintain/formConfig/edit.vue
@@ -0,0 +1,56 @@
+<template>
+ <div>
+ <config-list
+ :edit-data="editData"
+ :is-create="isCreate"
+ @getFormConfigDataResult="handlerGetFormConfigData"
+ />
+ </div>
+</template>
+
+<script>
+import configList from '@/components/FormGenerator/index/Home.vue'
+import * as systemFormConfigApi from '@/api/systemFormConfig.js'
+export default {
+ // name: "edit"
+ components: { configList },
+ props: {
+ editData: {
+ type: Object,
+ default: {}
+ },
+ isCreate: {
+ type: Number,
+ default: 0 // 0=鍒涘缓锛�1=缂栬緫
+ }
+ },
+ data() {
+ return {}
+ },
+ methods: {
+ handlerGetFormConfigData(formConfigData) {
+ formConfigData.id ? this.handlerEdit(formConfigData) : this.handlerSave(formConfigData)
+ },
+ handlerSave(pram) {
+ systemFormConfigApi.getFormConfigSave(pram).then(data => {
+ this.$message.success('鍒涘缓琛ㄥ崟閰嶇疆鎴愬姛')
+ setTimeout(() => {
+ this.$emit('hideDialog')
+ }, 800)
+ })
+ },
+ handlerEdit(pram) {
+ systemFormConfigApi.getFormConfigEdit(pram).then(data => {
+ this.$message.success('缂栬緫琛ㄥ崟閰嶇疆鎴愬姛')
+ setTimeout(() => {
+ this.$emit('hideDialog')
+ }, 800)
+ })
+ }
+ }
+}
+</script>
+
+<style scoped>
+
+</style>
diff --git a/src/views/maintain/formConfig/index.vue b/src/views/maintain/formConfig/index.vue
new file mode 100644
index 0000000..916ae10
--- /dev/null
+++ b/src/views/maintain/formConfig/index.vue
@@ -0,0 +1,140 @@
+<template>
+ <div class="divBox">
+ <el-card class="box-card">
+ <div slot="header" class="clearfix">
+ <div class="container">
+ <el-form inline size="small" @submit.native.prevent>
+ <el-form-item label="鍏抽敭瀛�">
+ <el-input v-model="listPram.keywords" placeholder="璇疯緭鍏d锛屽悕绉帮紝鎻忚堪" clearable class="selWidth" size="small">
+ <el-button slot="append" icon="el-icon-search" size="small" @click="handlerSearch" />
+ </el-input>
+ </el-form-item>
+ <el-form-item v-if="selectModel">
+ <el-button type="primary" :disabled="!selectedConfigData.id" @click="handlerConfimSelect">纭畾閫夋嫨</el-button>
+ </el-form-item>
+ </el-form>
+ </div>
+ <el-button size="mini" type="primary" @click="handlerEditData({},0)" v-if="!selectModel" v-hasPermi="['admin:system:form:save']">鍒涘缓琛ㄥ崟</el-button>
+ </div>
+ <el-table
+ :data="dataList.list"
+ :highlight-current-row="selectModel"
+ size="mini"
+ class="table"
+ @current-change="handleCurrentRowChange"
+ :header-cell-style=" {fontWeight:'bold'}"
+ >
+ <el-table-column label="ID" prop="id" width="80"/>
+ <el-table-column label="鍚嶇О" prop="name" min-width="180"/>
+ <el-table-column label="鎻忚堪" prop="info" min-width="220"/>
+ <el-table-column label="鏇存柊鏃堕棿" prop="updateTime" min-width="200" />
+ <el-table-column v-if="!selectModel" label="鎿嶄綔" min-width="80" fixed="right">
+ <template slot-scope="scope">
+ <el-button type="text" size="small" @click="handlerEditData(scope.row,1)" v-hasPermi="['admin:system:form:info']">缂栬緫</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ <el-pagination
+ :current-page="listPram.page"
+ :page-sizes="constants.page.limit"
+ :layout="constants.page.layout"
+ :total="dataList.total"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ />
+ </el-card>
+ <el-dialog
+ :visible.sync="editDialogConfig.visible"
+ fullscreen
+ :title="editDialogConfig.isCreate === 0? '鍒涘缓琛ㄥ崟':'缂栬緫琛ㄥ崟'"
+ destroy-on-close
+ :close-on-click-modal="false"
+ >
+ <edit
+ v-if="editDialogConfig.visible"
+ :is-create="editDialogConfig.isCreate"
+ :edit-data="editDialogConfig.editData"
+ @hideDialog="handlerHide"
+ />
+ </el-dialog>
+ </div>
+</template>
+
+<script>
+import * as systemFormConfigApi from '@/api/systemFormConfig.js'
+import edit from './edit'
+export default {
+ // name: "index"
+ components: { edit },
+ props: {
+ selectModel: {
+ type: Boolean,
+ default: false
+ }
+ },
+ data() {
+ return {
+ constants: this.$constants,
+ listPram: {
+ keywords: null,
+ page: 1,
+ limit: this.$constants.page.limit[0]
+ },
+ editDialogConfig: {
+ visible: false,
+ editData: {},
+ isCreate: 0
+ },
+ dataList: { list: [], total: 0 },
+ selectedConfigData: {}
+ }
+ },
+ mounted() {
+ this.handlerGetList(this.listPram)
+ },
+ methods: {
+ handlerSearch() {
+ this.listPram.page = 1
+ this.handlerGetList(this.listPram)
+ },
+ handlerGetList(pram) {
+ systemFormConfigApi.getFormConfigList(pram).then(data => {
+ this.dataList = data
+ })
+ },
+ handlerEditData(rowData, isCreate) {
+ if (isCreate === 0) {
+ this.editDialogConfig.editData = {}
+ } else {
+ this.editDialogConfig.editData = rowData
+ }
+ this.editDialogConfig.isCreate = isCreate
+ this.editDialogConfig.visible = true
+ },
+ handlerHide() {
+ this.editDialogConfig.editData = {}
+ this.editDialogConfig.isCreate = 0
+ this.editDialogConfig.visible = false
+ this.handlerGetList(this.listPram)
+ },
+ handleSizeChange(val) {
+ this.listPram.limit = val
+ this.handlerGetList(this.listPram)
+ },
+ handleCurrentChange(val) {
+ this.listPram.page = val
+ this.handlerGetList(this.listPram)
+ },
+ handleCurrentRowChange(rowData) {
+ this.selectedConfigData = rowData
+ },
+ handlerConfimSelect() {
+ this.$emit('selectedRowData', this.selectedConfigData)
+ }
+ }
+}
+</script>
+
+<style scoped>
+
+</style>
diff --git a/src/views/maintain/index.vue b/src/views/maintain/index.vue
new file mode 100644
index 0000000..d2c9c01
--- /dev/null
+++ b/src/views/maintain/index.vue
@@ -0,0 +1,15 @@
+<template>
+ <div>
+ <router-view />
+ </div>
+</template>
+
+<script>
+export default {
+
+}
+</script>
+
+<style lang="sass" scoped>
+
+</style>
diff --git a/src/views/maintain/picture/index.vue b/src/views/maintain/picture/index.vue
new file mode 100644
index 0000000..a44649a
--- /dev/null
+++ b/src/views/maintain/picture/index.vue
@@ -0,0 +1,25 @@
+<template>
+ <div class="divBox">
+ <el-card class="box-card">
+ <upload-index :pictureType="pictureType"></upload-index>
+ </el-card>
+ </div>
+</template>
+
+<script>
+ import UploadIndex from '@/components/uploadPicture/index.vue'
+
+ export default {
+ name: "index",
+ data(){
+ return {
+ pictureType: 'maintain'
+ }
+ },
+ components: {UploadIndex},
+ }
+</script>
+
+<style scoped>
+
+</style>
diff --git a/src/views/maintain/user/index.vue b/src/views/maintain/user/index.vue
new file mode 100644
index 0000000..f390199
--- /dev/null
+++ b/src/views/maintain/user/index.vue
@@ -0,0 +1,164 @@
+<template>
+ <div class="divBox">
+ <el-card class="box-card">
+ <el-form ref="pram" :model="pram" :rules="rules" label-width="100px">
+ <el-form-item label="绠$悊鍛樿处鍙�" prop="account">
+ <el-input
+ v-model="pram.account"
+ placeholder="绠$悊鍛樿处鍙�"
+ :disabled="true"
+ />
+ </el-form-item>
+ <el-form-item label="绠$悊鍛樺鍚�" prop="realName">
+ <el-input v-model="pram.realName" placeholder="绠$悊鍛樺鍚�" />
+ </el-form-item>
+ <el-form-item label="鍘熷瀵嗙爜">
+ <el-input v-model="password" placeholder="鍘熷瀵嗙爜" />
+ </el-form-item>
+ <el-form-item label="鏂板瘑鐮�" prop="pwd">
+ <el-input
+ v-model="pram.pwd"
+ placeholder="绠$悊鍛樺瘑鐮�"
+ clearable
+ @input="handlerPwdInput"
+ @clear="handlerPwdInput"
+ />
+ </el-form-item>
+ <el-form-item v-if="pram.pwd" label="纭鏂板瘑鐮�" prop="repwd">
+ <el-input v-model="pram.repwd" placeholder="纭鏂板瘑鐮�" clearable />
+ </el-form-item>
+ <el-form-item>
+ <el-button type="primary" @click="handlerSubmit('pram')"
+ >鎻愪氦</el-button
+ >
+ <el-button @click="close('pram')">鍙栨秷</el-button>
+ </el-form-item>
+ </el-form>
+ </el-card>
+ </div>
+</template>
+
+<script>
+import * as systemAdminApi from "@/api/systemadmin.js";
+import Cookies from "js-cookie";
+import { Debounce } from "@/utils/validate";
+export default {
+ name: "index",
+ data() {
+ const validatePass = (rule, value, callback) => {
+ if (value === "") {
+ callback(new Error("璇峰啀娆¤緭鍏ュ瘑鐮�"));
+ } else if (value !== this.pram.pwd) {
+ callback(new Error("涓ゆ杈撳叆瀵嗙爜涓嶄竴鑷�!"));
+ } else {
+ callback();
+ }
+ };
+ const JavaInfo = JSON.parse(Cookies.get("JavaInfo"));
+ return {
+ password: "",
+ JavaInfo: JSON.parse(Cookies.get("JavaInfo")),
+ pram: {
+ account: JavaInfo.account,
+ pwd: null,
+ repwd: null,
+ realName: JavaInfo.realName,
+ id: JavaInfo.id,
+ },
+ roleList: [],
+ rules: {
+ account: [
+ {
+ required: true,
+ message: "璇峰~绠$悊鍛樿处鍙�",
+ trigger: ["blur", "change"],
+ },
+ ],
+ pwd: [
+ {
+ required: true,
+ message: "璇峰~绠$悊鍛樺瘑鐮�",
+ trigger: ["blur", "change"],
+ },
+ ],
+ repwd: [
+ {
+ required: true,
+ message: "纭瀵嗙爜瀵嗙爜",
+ validator: validatePass,
+ trigger: ["blur", "change"],
+ },
+ ],
+ realName: [
+ {
+ required: true,
+ message: "绠$悊鍛樺鍚�",
+ trigger: ["blur", "change"],
+ },
+ ],
+ },
+ };
+ },
+ methods: {
+ close(formName) {
+ this.$refs[formName].resetFields();
+ },
+ handlerSubmit: Debounce(function (formName) {
+ this.$refs[formName].validate((valid) => {
+ if (valid) {
+ systemAdminApi.adminUpdate(this.pram).then((data) => {
+ this.$message.success("鎻愪氦鎴愬姛");
+ this.$router.go(-1);
+ });
+ } else {
+ return false;
+ }
+ });
+ }),
+ handlerPwdInput(val) {
+ if (!val) {
+ this.rules.pwd = [];
+ this.rules.repwd = [];
+ return;
+ }
+ this.rules.pwd = [
+ {
+ required: true,
+ message: "璇峰~绠$悊鍛樺瘑鐮�",
+ trigger: ["blur", "change"],
+ },
+ {
+ min: 6,
+ max: 20,
+ message: "闀垮害6-20涓瓧绗�",
+ trigger: ["blur", "change"],
+ },
+ {
+ pattern:
+ /^(?![A-z0-9]+$)(?=.[^%&',;=?$\x22])(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9]).{6,}$/,
+ message: "瀵嗙爜蹇呴』鍖呭惈鏁板瓧锛屽ぇ灏忓啓瀛楁瘝鍜岀壒娈婄鍙蜂笖闀垮害澶т簬6浣�",
+ trigger: ["blur", "change"],
+ },
+ ];
+ this.rules.repwd = [
+ {
+ required: true,
+ message: "涓ゆ杈撳叆瀵嗙爜涓嶄竴鑷�",
+ validator: (rule, value, callback) => {
+ if (value === "") {
+ callback(new Error("涓ゆ杈撳叆瀵嗙爜涓嶄竴鑷�!"));
+ } else if (value !== this.pram.pwd) {
+ callback(new Error("涓ゆ杈撳叆瀵嗙爜涓嶄竴鑷�!"));
+ } else {
+ callback();
+ }
+ },
+ trigger: ["blur", "change"],
+ },
+ ];
+ },
+ },
+};
+</script>
+
+<style scoped></style>
diff --git a/src/views/mobile/auth-send/index.vue b/src/views/mobile/auth-send/index.vue
new file mode 100644
index 0000000..e1be8fc
--- /dev/null
+++ b/src/views/mobile/auth-send/index.vue
@@ -0,0 +1,61 @@
+<template>
+ <div class="lottie-bg">
+ <div>222杩涙潵浜�22222</div>
+ <div id="lottie">
+ <img
+ src="@/assets/imgs/head.gif"
+ rel="preload"
+ style="width: 100%;"
+ />
+ </div>
+ </div>
+</template>
+<script>
+ import Cookies from 'js-cookie'
+ const WX_AUTH = "wx_auth";
+ export default {
+ name: 'AuthSend',
+ created() {
+ import('@/assets/js/media_750')
+ // const hash = window.location.search.slice(1)
+ // if (window.localStorage) {
+ // window.localStorage.setItem('x-admin-oauth-code', hash)
+ // window.close()
+ // }
+ Cookies.set(WX_AUTH, this.$route.query.code);
+ },
+ render: function(h) {
+ return h() // avoid warning message
+ },
+ mounted() {
+ if(this.$route.query.code) location.replace("/login");
+ // oAuth('/auth-send')
+ // if( Cookies.get(WX_AUTH)!==undefined) location.replace("/login");
+ }
+ }
+</script>
+<style scoped>
+ .lottie-bg {
+ position: fixed;
+ left: 0;
+ top: 0;
+ background-color: #fff;
+ width: 100%;
+ height: 100%;
+ z-index: 999;
+ display: -webkit-flex;
+ display: flex;
+ -webkit-align-items: center;
+ align-items: center;
+ -webkit-justify-content: center;
+ justify-content: center;
+ }
+
+ #lottie {
+ width: 35%;
+ display: block;
+ overflow: hidden;
+ transform: translate3d(0, 0, 0);
+ margin: auto;
+ }
+</style>
diff --git a/src/views/mobile/components/Loading.vue b/src/views/mobile/components/Loading.vue
new file mode 100644
index 0000000..e17ee53
--- /dev/null
+++ b/src/views/mobile/components/Loading.vue
@@ -0,0 +1,30 @@
+<template>
+ <div
+ class="Loads acea-row row-center-wrapper"
+ v-if="loading && !loaded"
+ style="margin-top: .2rem;font-size: 12px"
+ >
+ <template v-if="loading">
+ <div
+ class="iconfont icon-jiazai loading acea-row row-center-wrapper"
+ ></div>
+ 姝e湪鍔犺浇涓�
+ </template>
+ <template v-else>
+ 涓婃媺鍔犺浇鏇村
+ </template>
+ </div>
+</template>
+
+<script>
+export default {
+ name: "Loading",
+ props: {
+ loaded: Boolean,
+ loading: Boolean
+ },
+ created() {
+ import('@/assets/js/media_750')
+ }
+};
+</script>
diff --git a/src/views/mobile/components/WriteOff.vue b/src/views/mobile/components/WriteOff.vue
new file mode 100644
index 0000000..f9c2000
--- /dev/null
+++ b/src/views/mobile/components/WriteOff.vue
@@ -0,0 +1,150 @@
+<template>
+ <div v-show="iShidden === false">
+ <div class="WriteOff">
+ <div class="pictrue"><img :src="orderInfo.storeOrderInfoVos[0].info.image" /></div>
+ <div class="num acea-row row-center-wrapper">
+ {{ orderInfo.orderId }}
+ <div class="views" @click="toDetail(orderInfo)">
+ 鏌ョ湅<span class="iconfont icon-jiantou views-jian"></span>
+ </div>
+ </div>
+ <div class="tip">纭畾瑕佹牳閿�姝よ鍗曞悧锛�</div>
+ <div class="sure" @click="confirm">纭畾鏍搁攢</div>
+ <div class="sure cancel" @click="cancel">鍙栨秷</div>
+ </div>
+ <div class="maskModel" @touchmove.prevent></div>
+ </div>
+</template>
+<script>
+export default {
+ name: "WriteOff",
+ props: {
+ iShidden: {
+ type: Boolean,
+ default: true
+ },
+ orderInfo: {
+ type: Object,
+ default: null
+ }
+ },
+ data: function() {
+ return {};
+ },
+ created() {
+ import('@/assets/js/media_750')
+ },
+ methods: {
+ toDetail: function(item) {
+ this.$router.push({
+ path: "/javaMobile/orderDetail/" + item.orderId + "/looks"
+ });
+ },
+ cancel: function() {
+ this.$emit("cancel", true);
+ },
+ confirm: function() {
+ this.$emit("confirm", true);
+ }
+ }
+};
+</script>
+<style scoped>
+ .views {
+ font-size: 0.16rem;
+ background: #c68937;
+ border-radius: 4px;
+ color: #fff;
+ padding: 0.05rem 0.02rem 0.05rem 0.08rem;
+ margin-left: 0.1rem;
+ }
+ .views-jian {
+ font-size: 0.1rem;
+ }
+ .WriteOff {
+ width: 5.6rem;
+ height: 8rem;
+ background-color: #fff;
+ border-radius: 0.2rem;
+ position: fixed;
+ top: 50%;
+ left: 50%;
+ margin-top: -4rem;
+ margin-left: -2.8rem;
+ z-index: 99;
+ padding-top: 0.55rem;
+ }
+ .WriteOff .pictrue {
+ width: 3.4rem;
+ height: 3.4rem;
+ margin: 0 auto;
+ }
+ .WriteOff .pictrue img {
+ width: 100%;
+ height: 100%;
+ display: block;
+ border-radius: 0.1rem;
+ }
+ .WriteOff .num {
+ font-size: 0.3rem;
+ color: #666;
+ margin: 0.28rem 0 0.3rem 0;
+ }
+ .WriteOff .num .see {
+ font-size: 0.16rem;
+ color: #fff;
+ border-radius: 0.04rem;
+ background-color: #c68937;
+ padding-left: 0.05rem;
+ margin-left: 0.12rem;
+ }
+ .WriteOff .num .see .iconfont {
+ font-size: 0.15rem;
+ }
+ .WriteOff .tip {
+ font-size: 0.36rem;
+ color: #282828;
+ text-align: center;
+ border-top: 1px dashed #ccc;
+ padding-top: 0.4rem;
+ position: relative;
+ }
+ .WriteOff .tip:after {
+ content: "";
+ position: absolute;
+ width: 0.25rem;
+ height: 0.25rem;
+ border-radius: 50%;
+ background-color: #7f7f7f;
+ right: -0.125rem;
+ top: -0.125rem;
+ }
+ .WriteOff .tip:before {
+ content: "";
+ position: absolute;
+ width: 0.25rem;
+ height: 0.25rem;
+ border-radius: 50%;
+ background-color: #7f7f7f;
+ left: -0.125rem;
+ top: -0.125rem;
+ }
+ .WriteOff .sure {
+ font-size: 0.32rem;
+ color: #fff;
+ text-align: center;
+ line-height: 0.82rem;
+ height: 0.82rem;
+ width: 4.6rem;
+ border-radius: 0.41rem;
+ margin: 0.4rem auto 0 auto;
+ background-image: linear-gradient(to right, #f67a38 0%, #f11b09 100%);
+ background-image: -webkit-linear-gradient(to right, #f67a38 0%, #f11b09 100%);
+ background-image: -moz-linear-gradient(to right, #f67a38 0%, #f11b09 100%);
+ }
+ .WriteOff .sure.cancel {
+ background-image: none;
+ color: #999;
+ margin-top: 0.1rem;
+ }
+</style>
diff --git a/src/views/mobile/orderCancellation/hexiao.vue b/src/views/mobile/orderCancellation/hexiao.vue
new file mode 100644
index 0000000..f527f70
--- /dev/null
+++ b/src/views/mobile/orderCancellation/hexiao.vue
@@ -0,0 +1,137 @@
+<template>
+ <BarScan ref="qrcode" @ok="getResult" @err="geterror"></BarScan>
+</template>
+
+<script>
+import BarScan from "@/components/html5qrcode/index.vue";
+import { Decrypt } from "@/utils/aes";
+import { getVeghicleByNumApi } from "@/api/vehicle";
+export default {
+ components: {
+ BarScan,
+ },
+ data() {
+ return {};
+ },
+ created() {
+ import("@/assets/js/media_750");
+ },
+ mounted() {},
+ beforeDestroy() {},
+ methods: {
+ getResult(result) {
+ console.log("xxxxxxx", result);
+ var urlParam = decodeURI(result.split("?")[1]);
+ console.log("xxxxxxx", result, urlParam);
+
+ if (urlParam) {
+ var queueNumber = urlParam.split("queueNumber=")[1].split("&")[0];
+ console.log("xxxxxxx", result, urlParam, queueNumber);
+ getVeghicleByNumApi(Decrypt(queueNumber))
+ .then((res) => {
+ this.$router.push({
+ path: "hexiaoInfo",
+ query: {
+ code: queueNumber,
+ },
+ });
+ })
+ .catch(() => {
+ this.$dialog.error("鏈煡鍒拌溅杈嗕俊鎭�");
+ });
+ } else {
+ this.$dialog.error("鏈煡鍒拌溅杈嗕俊鎭�");
+ }
+ },
+ geterror(e) {
+ this.$message.error(e);
+ },
+ },
+};
+</script>
+
+<style lang="scss" scoped>
+.qrcode1 {
+ position: relative;
+ width: 100vw;
+ height: 100%;
+
+ .box {
+ width: 253px;
+ height: 253px;
+ position: fixed;
+ left: 50%;
+ top: 50%;
+ transform: translate(-50%, -50%);
+ overflow: hidden;
+ border: 1px solid rgba(0, 164, 182, 0.2);
+ }
+
+ .line {
+ height: calc(100% - 2px);
+ width: 100%;
+ background: linear-gradient(180deg, rgba(0, 164, 182, 0) 43%, #00a4b6 211%);
+ border-bottom: 1px solid #00a4b6;
+ transform: translateY(-100%);
+ animation: radar-beam 2s infinite alternate;
+ animation-timing-function: cubic-bezier(0.53, 0, 0.43, 0.99);
+ animation-delay: 1.4s;
+ }
+
+ .box:after,
+ .box:before,
+ .angle:after,
+ .angle:before {
+ content: "";
+ display: block;
+ position: absolute;
+ width: 2px;
+ height: 2px;
+
+ border: 1px solid transparent;
+ }
+
+ .box:after,
+ .box:before {
+ top: 0;
+ border-top-color: #00a4b6;
+ }
+
+ .angle:after,
+ .angle:before {
+ bottom: 0;
+ border-bottom-color: #00a4b6;
+ }
+
+ .box:before,
+ .angle:before {
+ left: 0;
+ border-left-color: #00a4b6;
+ }
+
+ .box:after,
+ .angle:after {
+ right: 0;
+ border-right-color: #00a4b6;
+ }
+
+ .kuang {
+ width: 280px;
+ height: 280px;
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ transform: translate(-50%, -50%);
+ }
+
+ @keyframes radar-beam {
+ 0% {
+ transform: translateY(-100%);
+ }
+
+ 100% {
+ transform: translateY(0);
+ }
+ }
+}
+</style>
diff --git a/src/views/mobile/orderCancellation/hexiaoInfo.vue b/src/views/mobile/orderCancellation/hexiaoInfo.vue
new file mode 100644
index 0000000..eb9615d
--- /dev/null
+++ b/src/views/mobile/orderCancellation/hexiaoInfo.vue
@@ -0,0 +1,429 @@
+<template>
+ <div class="hexiao-page">
+ <div v-if="vehicle" class="header">
+ <div class="status-bar">
+ <div class="status-box" :class="currentStatus == 0 ? 'active' : ''">
+ <div class="circle">
+ <div class="s-circle"></div>
+ </div>
+ <div class="status-text">鎺掗槦涓�</div>
+ </div>
+ <div class="line"></div>
+ <div class="status-box" :class="currentStatus == 1 ? 'active' : ''">
+ <div class="circle">
+ <div class="s-circle"></div>
+ </div>
+ <div class="status-text">宸插彨鍙�</div>
+ <!-- <div class="nline"></div> -->
+ </div>
+ <div class="line"></div>
+ <div class="status-box" :class="currentStatus == 2 ? 'active' : ''">
+ <div class="circle">
+ <div class="s-circle"></div>
+ </div>
+ <div class="status-text">宸插叆鍘�</div>
+ <!-- <div class="nline"></div> -->
+ </div>
+ <div class="line"></div>
+ <div class="status-box" :class="currentStatus == 3 ? 'active' : ''">
+ <div class="circle">
+ <div class="s-circle"></div>
+ </div>
+ <div class="status-text">宸茬鍘�</div>
+ <!-- <div class="nline"></div> -->
+ </div>
+ </div>
+ </div>
+ <div v-if="vehicle" class="info-card">
+ <div class="top-info">
+ <div class="info-title">鎺掗槦鍙风爜</div>
+ <div class="info-num">{{ vehicle.queueNumber }}</div>
+ <div v-if="currentStatus != 0" class="info-status">
+ {{ vehicle.vehicleStatusName }}
+ </div>
+ <div v-else class="info-status">
+ 鍓嶆柟杩樻湁{{ vehicle.currentWaitNum }}杈嗚溅鎺掗槦涓�...
+ </div>
+ </div>
+ <div class="info-row">
+ <div>濮撳悕</div>
+ <div>{{ vehicle.name }}</div>
+ </div>
+ <div class="info-row">
+ <div>杞︾墝鍙�</div>
+ <div>{{ vehicle.licensePlate }}</div>
+ </div>
+ <div class="info-row">
+ <div>鎵嬫満鍙�</div>
+ <div>{{ vehicle.phone }}</div>
+ </div>
+ <div class="info-row">
+ <div>韬唤璇佸彿鐮�</div>
+ <div>{{ vehicle.idCard }}</div>
+ </div>
+ <div class="info-row">
+ <div>瑁呭嵏鏁伴噺</div>
+ <div>{{ vehicle.loadUnloadQty }}</div>
+ </div>
+ <div class="info-row">
+ <div>鍗曚綅</div>
+ <div>{{ vehicle.unitName }}</div>
+ </div>
+ <div class="info-row">
+ <div>瑁呭嵏鍖哄煙</div>
+ <div class="maxw">{{ vehicle.loadingAreaName }}</div>
+ </div>
+
+ <div v-if="currentStatus != 3" class="btn" @click="handleEnterOrLeave">
+ {{ currentStatus === 2 ? "纭绂诲巶" : "纭鍏ュ巶" }}
+ </div>
+ </div>
+ <!-- .el-icon-warning -->
+ <!-- <div v-show="showAlert" class="tip">
+ <div class="tip-box">
+ <div class="tip-text">鎻愮ず</div>
+ <i class="close el-icon-close" @click="cancelAction"></i>
+ <div class="tip-content">
+ <i class="tip-icon el-icon-warning"></i>
+ {{ currentStatus === 2 ? "纭绂诲巶鍚楋紵" : "纭鍏ュ巶鍚楋紵" }}
+ </div>
+ <div class="tip-btns">
+ <div class="tip-btn cancel" @click="cancelAction">鍙栨秷</div>
+ <div class="tip-btn" @click="confirmAction">纭畾</div>
+ </div>
+ </div>
+ </div> -->
+ </div>
+</template>
+
+<script>
+import { getVeghicleByNumApi, vehicleInOutApi } from "@/api/vehicle";
+import { Decrypt } from "@/utils/aes";
+
+export default {
+ components: {},
+ data() {
+ return {
+ currentStatus: 0,
+ vehicleId: "",
+ vehicle: undefined,
+ showAlert: false,
+ };
+ },
+ created() {
+ import("@/assets/js/media_750");
+ },
+ mounted() {
+ this.$forceUpdate();
+
+ let queueNumber = this.$route.query.queueNumber;
+
+ if (queueNumber) {
+ this.vehicleId = Decrypt(queueNumber);
+ this.getInfo(false);
+ } else {
+ if (window.location.href.indexOf("?appResult=") > -1) {
+ let result = decodeURIComponent(
+ window.location.href.split("?appResult=")[1]
+ );
+ var urlParam = result.split("queryResult/")[1];
+ if (urlParam) {
+ this.vehicleId = urlParam;
+ this.getInfo(true);
+ }
+ }
+ }
+ },
+ methods: {
+ getInfo(isLinkCode) {
+ this.listLoading = true;
+ getVeghicleByNumApi(this.vehicleId, isLinkCode)
+ .then((res) => {
+ this.listLoading = true;
+
+ if (res.vehicleStatusCode == 1255) {
+ //鎺掗槦涓�
+ this.currentStatus = 0;
+ this.$dialog.error("姝e湪鎺掗槦涓笉鍏佽鍏ュ巶锛岃绛夊緟鍙彿");
+ setTimeout(() => {
+ window.location.href = "back";
+ }, 2000);
+ return;
+ } else if (res.vehicleStatusCode == 1257) {
+ this.$dialog.error("宸茶繃鍙蜂笉鍏佽鍏ュ巶锛岃閲嶆柊鎺掗槦");
+ setTimeout(() => {
+ window.location.href = "back";
+ }, 2000);
+ return;
+ } else if (res.vehicleStatusCode == 1256) {
+ //宸插彨鍙�
+ this.currentStatus = 1;
+ } else if (res.vehicleStatusCode == 1258) {
+ //宸插叆鍘�
+ this.currentStatus = 2;
+ } else if (res.vehicleStatusCode == 1259) {
+ //宸茬鍘�
+ this.currentStatus = 3;
+ }
+ this.vehicle = res;
+ })
+ .catch((err) => {
+ this.listLoading = true;
+ if (err.message) {
+ this.$dialog.error(err.message);
+ } else {
+ this.$dialog.error("鏈煡鍒拌溅杈嗕俊鎭�");
+ }
+ setTimeout(() => {
+ window.location.href = "back";
+ }, 2000);
+ });
+ },
+ handleEnterOrLeave() {
+ const type = this.currentStatus === 2 ? "out" : "in";
+ vehicleInOutApi(type, this.vehicle.masterId)
+ .then((res) => {
+ this.showAlert = false;
+ setTimeout(() => {
+ console.log('xxxxxxxwindow.location.href = "back"');
+ window.location.href = "back";
+ }, 2000);
+ this.$dialog.success("纭鎴愬姛");
+ })
+ .catch(() => {});
+ },
+ },
+};
+</script>
+<style lang="scss" scoped>
+.hexiao-page {
+ width: 100%;
+ height: calc(100vh - 50px);
+ background: #fafbff;
+ .header {
+ width: 100%;
+ height: 43vw;
+ background: url("../../../assets/imgs/vehicleTopHeader.png") no-repeat;
+ background-size: 100% 100%;
+
+ .tab {
+ height: 0.912rem;
+ padding: 0 0.21rem;
+ color: white;
+
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+
+ .title {
+ font-weight: 500;
+ font-size: 0.36rem;
+ color: #ffffff;
+ letter-spacing: 1px;
+ }
+ }
+ }
+
+ .status-bar {
+ display: flex;
+ padding: 0.312rem 0.364rem 0;
+
+ .status-box {
+ position: relative;
+ display: flex;
+ align-items: center;
+ flex-direction: column;
+ color: rgba(255, 255, 255, 0.4);
+ width: 0.7rem;
+ font-size: 0.412rem;
+ .circle {
+ position: relative;
+ width: 0.416rem;
+ height: 0.416rem;
+ background: rgba(255, 255, 255, 0.2);
+ border-radius: 50%;
+ margin-bottom: 0.1rem;
+
+ .s-circle {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ width: 0.166rem;
+ height: 0.166rem;
+ background: rgba(255, 255, 255, 0.4);
+ transform: translate(-50%, -50%);
+ border-radius: 50%;
+ }
+ }
+ .status-text {
+ width: 2rem;
+ text-align: center;
+ font-weight: 500;
+ }
+ .nline {
+ position: absolute;
+ top: 0.202rem;
+ left: 0;
+ height: 0.01rem;
+ background: #d1d2d2;
+ width: 0.41rem;
+ }
+ }
+
+ .active {
+ color: white !important;
+ .s-circle {
+ background: white !important;
+ }
+ }
+ .line {
+ margin-top: 0.202rem;
+ width: 1.8rem;
+ height: 0.01rem;
+ background: #d1d2d2;
+ }
+ }
+
+ .info-card {
+ width: 94vw;
+ height: calc(100% + 1.5rem - 43vw);
+ margin: -1.5rem auto 0 auto;
+ background: linear-gradient(
+ 180deg,
+ rgba(255, 255, 255, 0.98) 0%,
+ #ffffff 100%
+ );
+ border-radius: 0.208rem 0.208rem 0px 0px;
+ padding: 0 0.312rem;
+ .top-info {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ padding-bottom: 0.416rem;
+ border-bottom: 1px dashed #d1d2d2;
+ margin-bottom: 0.416rem;
+ .info-title {
+ margin-top: 0.624rem;
+ height: 0.343rem;
+ font-size: 0.28rem;
+ color: #000000;
+ }
+ .info-num {
+ height: 1.424rem;
+ font-weight: 500;
+ font-size: 1.07rem;
+ color: #373839;
+ letter-spacing: 0.04rem;
+ }
+ .info-status {
+ margin-top: 0.01rem;
+ height: 0.456rem;
+ font-size: 0.382rem;
+ font-weight: 500;
+ color: #5f6062;
+ }
+ }
+
+ .info-row {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ height: 0.76rem;
+ font-size: 0.392rem;
+ // font-weight: 500;
+ color: #3c3e3f;
+ }
+
+ .btn {
+ margin-top: 0.416rem;
+ width: 6.24rem;
+ height: 0.915rem;
+ text-align: center;
+ line-height: 0.915rem;
+
+ background: #3873f3;
+ border-radius: 0.124rem;
+ font-size: 0.362rem;
+ font-weight: 500;
+ color: #ffffff;
+ }
+ }
+ .tip {
+ position: fixed;
+ width: 100vw;
+ height: 100vh;
+ top: 0;
+ left: 0;
+ background: #00000080;
+ z-index: 999;
+
+ .tip-box {
+ background-color: #fff;
+ position: absolute;
+ width: 95%;
+ height: 160px;
+ border-radius: 5px;
+ left: 50%;
+ top: 50%;
+ transform: translate(-50%, -50%);
+ box-sizing: border-box;
+ padding: 20px;
+
+ .close {
+ position: absolute;
+ top: 15px;
+ right: 15px;
+ color: #ccc;
+ font-size: 20px;
+ }
+
+ .tip-text {
+ font-size: 16px;
+ margin-bottom: 30px;
+ }
+
+ .tip-content {
+ display: flex;
+ align-items: center;
+ font-size: 14px;
+ margin-left: 10px;
+
+ .tip-icon {
+ color: red;
+ font-size: 18px;
+ margin-right: 5px;
+ }
+ }
+
+ .tip-btns {
+ position: absolute;
+ bottom: 15px;
+ right: 10px;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+
+ .tip-btn {
+ width: 70px;
+ height: 28px;
+ margin-left: 20px;
+ text-align: center;
+ color: white;
+ background: #3873f3;
+ border-radius: 3px;
+ line-height: 28px;
+ }
+
+ .cancel {
+ background: #f2f2f2;
+ color: #333;
+ }
+ }
+ }
+ }
+ .maxw {
+ max-width: 70%;
+ text-align: right;
+ }
+}
+</style>
diff --git a/src/views/mobile/orderCancellation/index.vue b/src/views/mobile/orderCancellation/index.vue
new file mode 100644
index 0000000..61d8bb9
--- /dev/null
+++ b/src/views/mobile/orderCancellation/index.vue
@@ -0,0 +1,169 @@
+<template>
+ <div class="order-container">
+ <div v-if="hasPremi" class="OrderCancellation">
+ <div class="header"></div>
+ <div class="whiteBg">
+ <div class="input">
+ <input placeholder="璇疯緭鍏ユ帓闃熷彿鐮�" v-model="verify_code" />
+ </div>
+ <div class="bnt" @click="storeCancellation">鏌ヨ</div>
+ </div>
+ <div class="scan" @click="openQRCode">
+ <img src="../../../assets/imgs/scanCode.png" @click="openQRCode" />
+ </div>
+ </div>
+ </div>
+</template>
+<script>
+import { getVeghicleByNumApi } from "@/api/vehicle";
+import { Encrypt } from "@/utils/aes";
+import { checkPermi } from "@/utils/permission"; // 鏉冮檺鍒ゆ柇鍑芥暟
+
+export default {
+ name: "OrderCancellation",
+ components: {},
+ props: {},
+ data: function () {
+ return {
+ iShidden: true,
+ orderInfo: null,
+ verify_code: "",
+ hasPremi: false,
+ };
+ },
+ created() {
+ import("@/assets/js/media_750");
+ },
+ mounted() {
+ if (checkPermi(["admin:doorkeeper:page"])) {
+ //鏈夋潈闄�
+ this.hasPremi = true;
+ } else {
+ //娌℃湁
+ this.hasPremi = false;
+ this.$router.push({
+ path: "/maintain/user",
+ });
+ }
+ },
+ methods: {
+ storeCancellation: function () {
+ if (!this.verify_code) return this.$dialog.error("璇疯緭鍏ユ帓闃熷彿鐮�");
+
+ getVeghicleByNumApi(this.verify_code, false)
+ .then((res) => {
+ //鍏堝垽鏂湁鏁堟湡 鑾峰彇褰撳墠绯荤粺鏃堕棿 涓嶅湪鏈夋晥鏈熷唴 鎻愮ず
+
+ if (res.vehicleStatusCode == 1255) {
+ this.$dialog.error("姝e湪鎺掗槦涓笉鍏佽鍏ュ巶锛岃绛夊緟鍙彿");
+ } else if (res.vehicleStatusCode == 1257) {
+ this.$dialog.error("宸茶繃鍙蜂笉鍏佽鍏ュ巶锛岃閲嶆柊鎺掗槦");
+ } else {
+ this.$router.push({
+ path: "hexiaoInfo",
+ query: {
+ queueNumber: Encrypt(this.verify_code),
+ },
+ });
+ }
+ })
+ .catch((err) => {
+ console.log(err);
+ if (err.message) {
+ this.$dialog.error(err.message);
+ } else {
+ this.$dialog.error("鏈煡鍒拌溅杈嗕俊鎭�");
+ }
+ });
+ },
+ openQRCode: function () {
+ window.location.href = "scan";
+ // this.$router.push({
+ // path: "hexiao",
+ // });
+ },
+ },
+};
+</script>
+<style lang="scss">
+.order-container {
+ height: 100%;
+}
+.OrderCancellation {
+ background: linear-gradient(151deg, #e0e7ff 0%, #ffffff 100%);
+ height: 100%;
+}
+
+.OrderCancellation .header {
+ background: url("../../../assets/imgs/mobileHeadbj.png") no-repeat;
+ width: 100%;
+ height: 47vw;
+ background-size: 100% 100%;
+}
+
+.OrderCancellation .whiteBg {
+ width: 7.07rem;
+ background-color: #fff;
+ margin: -2.13rem auto 0 auto;
+ padding-top: 1.3rem;
+ padding-bottom: 0.3536rem;
+ border-radius: 0.2rem 0.2rem 0 0;
+}
+
+.OrderCancellation .whiteBg .input {
+ width: 6rem;
+ margin: 0 auto;
+ border-bottom: 0.02rem solid #999;
+}
+
+.OrderCancellation .whiteBg .input input {
+ padding: 0.25rem;
+ font-size: 0.5rem;
+ color: #282828;
+ width: 100%;
+ text-align: center;
+ border: none;
+}
+
+.OrderCancellation .whiteBg .bnt {
+ font-size: 0.3rem;
+ color: #fff;
+ width: 6.24rem;
+ height: 1rem;
+ border-radius: 0.12rem;
+ background: #3873f3;
+ margin: 0.7rem auto 0 auto;
+ text-align: center;
+ line-height: 1rem;
+}
+
+.OrderCancellation .scan {
+ width: 2.49rem;
+ height: 2.49rem;
+ margin: 2.75rem auto 0 auto;
+}
+
+.OrderCancellation .scan img {
+ width: 100%;
+ height: 100%;
+ display: block;
+}
+.no-tip {
+ text-align: center;
+ position: absolute;
+ top: 40%;
+ width: 100%;
+ font-size: 28px;
+}
+
+@media screen and (max-width: 1023px) {
+ .main-container {
+ background-color: #fff !important;
+
+ .app-main {
+ height: 100vh !important;
+ background-color: #fff !important;
+ }
+ }
+}
+</style>
diff --git a/src/views/mobile/orderCancellation/queryResult.vue b/src/views/mobile/orderCancellation/queryResult.vue
new file mode 100644
index 0000000..9e65d69
--- /dev/null
+++ b/src/views/mobile/orderCancellation/queryResult.vue
@@ -0,0 +1,365 @@
+<template>
+ <div class="hexiao-page" v-loading="listLoading">
+ <div v-if="vehicle" class="header">
+ <div class="status-bar">
+ <div class="status-box" :class="currentStatus == 0 ? 'active' : ''">
+ <div class="circle">
+ <div class="s-circle"></div>
+ </div>
+ <div>鎺掗槦涓�</div>
+ </div>
+ <div class="line"></div>
+ <div class="status-box" :class="currentStatus == 1 ? 'active' : ''">
+ <div class="circle">
+ <div class="s-circle"></div>
+ </div>
+ <div>{{ vehicle.vehicleStatusName }}</div>
+ <div class="nline"></div>
+ </div>
+ <div class="line"></div>
+ <div class="status-box" :class="currentStatus == 2 ? 'active' : ''">
+ <div class="circle">
+ <div class="s-circle"></div>
+ </div>
+ <div>宸插叆鍘�</div>
+ <div class="nline"></div>
+ </div>
+ <div class="line"></div>
+ <div class="status-box" :class="currentStatus == 3 ? 'active' : ''">
+ <div class="circle">
+ <div class="s-circle"></div>
+ </div>
+ <div>宸茬鍘�</div>
+ <div class="nline"></div>
+ </div>
+ </div>
+ </div>
+ <div v-if="vehicle" class="info-card">
+ <div class="top-info">
+ <div class="info-title">鎺掗槦鍙风爜</div>
+ <div class="info-num">{{ vehicle.queueNumber }}</div>
+ <div v-if="currentStatus != 0" class="info-status">
+ {{ vehicle.vehicleStatusName }}
+ </div>
+ <div v-else class="info-status">
+ 鍓嶆柟杩樻湁{{ vehicle.currentWaitNum }}杈嗚溅鎺掗槦涓�...
+ </div>
+ </div>
+ <div class="info-row">
+ <div>濮撳悕</div>
+ <div>{{ vehicle.name }}</div>
+ </div>
+ <div class="info-row">
+ <div>杞︾墝鍙�</div>
+ <div>{{ vehicle.licensePlate }}</div>
+ </div>
+ <div class="info-row">
+ <div>鎵嬫満鍙�</div>
+ <div>{{ vehicle.phone }}</div>
+ </div>
+ <div class="info-row">
+ <div>韬唤璇佸彿鐮�</div>
+ <div>{{ vehicle.idCard }}</div>
+ </div>
+ <div class="info-row">
+ <div>瑁呭嵏鏁伴噺</div>
+ <div>{{ vehicle.loadUnloadQty }}</div>
+ </div>
+ <div class="info-row">
+ <div>鍗曚綅</div>
+ <div>{{ vehicle.unitName }}</div>
+ </div>
+ <div class="info-row">
+ <div>瑁呭嵏鍖哄煙</div>
+ <div>{{ vehicle.loadingAreaName }}</div>
+ </div>
+ <div v-if="vehicle.registerTime" class="info-row">
+ <div>鐧昏鏃堕棿</div>
+ <div>{{ vehicle.registerTime | vformatDate }}</div>
+ </div>
+ <div v-if="vehicle.enterTime" class="info-row">
+ <div>鍏ュ巶鏃堕棿</div>
+ <div>{{ vehicle.enterTime | vformatDate }}</div>
+ </div>
+ <div v-if="vehicle.leaveTime" class="info-row">
+ <div>鍑哄巶鏃堕棿</div>
+ <div>{{ vehicle.leaveTime | vformatDate }}</div>
+ </div>
+ </div>
+ </div>
+</template>
+
+<script>
+import { driversQueryInfo } from "@/api/vehicle";
+export default {
+ components: {},
+ data() {
+ return {
+ currentStatus: 0,
+ queueNum: "",
+ qrCode: "",
+ vehicle: undefined,
+ listLoading: false,
+ };
+ },
+ created() {
+ import("@/assets/js/media_750");
+ },
+ mounted() {
+ this.$forceUpdate();
+ this.queueNum = this.$route.query.code;
+ this.getInfo();
+ },
+ methods: {
+ getInfo() {
+ this.listLoading = true;
+ driversQueryInfo(this.queueNum)
+ .then((res) => {
+ this.vehicle = res;
+ this.listLoading = false;
+
+ if (this.vehicle.vehicleStatusCode == 1255) {
+ //鎺掗槦涓�
+ this.currentStatus = 0;
+ } else if (
+ this.vehicle.vehicleStatusCode == 1256 ||
+ this.vehicle.vehicleStatusCode == 1257
+ ) {
+ //宸插彨鍙�
+ this.currentStatus = 1;
+ } else if (this.vehicle.vehicleStatusCode == 1258) {
+ //宸插叆鍘�
+ this.currentStatus = 2;
+ } else if (this.vehicle.vehicleStatusCode == 1259) {
+ //宸茬鍘�
+ this.currentStatus = 3;
+ }
+ })
+ .catch((res) => {
+ this.listLoading = false;
+ this.$dialog.error("鏈煡鍒板彲鏍搁攢璁板綍");
+ });
+ },
+ },
+};
+</script>
+<style lang="scss" scoped>
+.hexiao-page {
+ width: 100%;
+ background: #fafbff;
+ padding-bottom: 0.21rem;
+ .header {
+ width: 100%;
+ height: 43vw;
+ background: url("../../../assets/imgs/vehicleTopHeader.png") no-repeat;
+ background-size: 100% 100%;
+
+ .tab {
+ height: 0.912rem;
+ padding: 0 0.21rem;
+ color: white;
+
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+
+ .title {
+ font-weight: 500;
+ font-size: 0.36rem;
+ color: #ffffff;
+ letter-spacing: 1px;
+ }
+ }
+ }
+
+ .status-bar {
+ display: flex;
+ padding: 0.312rem 0.364rem 0;
+
+ .status-box {
+ position: relative;
+ display: flex;
+ align-items: center;
+ flex-direction: column;
+ color: rgba(255, 255, 255, 0.4);
+ width: 0.925rem;
+ .circle {
+ position: relative;
+ width: 0.416rem;
+ height: 0.416rem;
+ background: rgba(255, 255, 255, 0.2);
+ border-radius: 50%;
+ margin-bottom: 0.1rem;
+
+ .s-circle {
+ position: absolute;
+ top: 50%;
+ left: 50%;
+ width: 0.166rem;
+ height: 0.166rem;
+ background: rgba(255, 255, 255, 0.4);
+ transform: translate(-50%, -50%);
+ border-radius: 50%;
+ }
+ }
+ .nline {
+ position: absolute;
+ top: 0.202rem;
+ left: 0;
+ height: 0.01rem;
+ background: #d1d2d2;
+ width: 0.41rem;
+ }
+ }
+
+ .active {
+ color: white !important;
+ .s-circle {
+ background: white !important;
+ }
+ }
+ .line {
+ margin-top: 0.202rem;
+ width: 1.42rem;
+ height: 0.01rem;
+ background: #d1d2d2;
+ }
+ }
+
+ .info-card {
+ width: 94vw;
+ height: calc(100% + 1.5rem - 43vw);
+
+ margin: -1.5rem auto 0 auto;
+ background: linear-gradient(
+ 180deg,
+ rgba(255, 255, 255, 0.98) 0%,
+ #ffffff 100%
+ );
+ border-radius: 0.208rem;
+ padding: 0 0.312rem 0.86rem;
+ .top-info {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ padding-bottom: 0.416rem;
+ border-bottom: 1px dashed #d1d2d2;
+ margin-bottom: 0.416rem;
+ .info-title {
+ margin-top: 0.624rem;
+ height: 0.343rem;
+ font-size: 0.25rem;
+ color: #000000;
+ }
+ .info-num {
+ height: 1.424rem;
+ font-weight: 500;
+ font-size: 1.04rem;
+ color: #373839;
+ letter-spacing: 0.04rem;
+ }
+ .info-status {
+ margin-top: 0.01rem;
+ height: 0.426rem;
+ font-size: 0.312rem;
+ color: #5f6062;
+ }
+ }
+
+ .info-row {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ height: 0.76rem;
+ font-size: 0.312rem;
+ color: #3c3e3f;
+ }
+
+ .btn {
+ margin-top: 0.416rem;
+ width: 6.24rem;
+ height: 0.915rem;
+ text-align: center;
+ line-height: 0.915rem;
+
+ background: #3873f3;
+ border-radius: 0.124rem;
+ font-size: 0.312rem;
+ color: #ffffff;
+ }
+ }
+ .tip {
+ position: fixed;
+ width: 100vw;
+ height: 100vh;
+ top: 0;
+ left: 0;
+ background: #00000080;
+ z-index: 999;
+
+ .tip-box {
+ background-color: #fff;
+ position: absolute;
+ width: 95%;
+ height: 160px;
+ border-radius: 5px;
+ left: 50%;
+ top: 50%;
+ transform: translate(-50%, -50%);
+ box-sizing: border-box;
+ padding: 20px;
+
+ .close {
+ position: absolute;
+ top: 15px;
+ right: 15px;
+ color: #ccc;
+ font-size: 20px;
+ }
+
+ .tip-text {
+ font-size: 16px;
+ margin-bottom: 30px;
+ }
+
+ .tip-content {
+ display: flex;
+ align-items: center;
+ font-size: 14px;
+ margin-left: 10px;
+
+ .tip-icon {
+ color: red;
+ font-size: 18px;
+ margin-right: 5px;
+ }
+ }
+
+ .tip-btns {
+ position: absolute;
+ bottom: 15px;
+ right: 10px;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+
+ .tip-btn {
+ width: 70px;
+ height: 28px;
+ margin-left: 20px;
+ text-align: center;
+ color: white;
+ background: #3873f3;
+ border-radius: 3px;
+ line-height: 28px;
+ }
+
+ .cancel {
+ background: #f2f2f2;
+ color: #333;
+ }
+ }
+ }
+ }
+}
+</style>
diff --git a/src/views/redirect/index.vue b/src/views/redirect/index.vue
new file mode 100644
index 0000000..db4c1d6
--- /dev/null
+++ b/src/views/redirect/index.vue
@@ -0,0 +1,12 @@
+<script>
+export default {
+ created() {
+ const { params, query } = this.$route
+ const { path } = params
+ this.$router.replace({ path: '/' + path, query })
+ },
+ render: function(h) {
+ return h() // avoid warning message
+ }
+}
+</script>
diff --git a/src/views/sms/index.vue b/src/views/sms/index.vue
new file mode 100644
index 0000000..616f8bf
--- /dev/null
+++ b/src/views/sms/index.vue
@@ -0,0 +1,13 @@
+<template>
+ <div>
+ <router-view />
+ </div>
+</template>
+
+<script>
+export default {}
+</script>
+
+<style scoped>
+
+</style>
diff --git a/src/views/sms/smsConfig/components/forgetPassword.vue b/src/views/sms/smsConfig/components/forgetPassword.vue
new file mode 100644
index 0000000..9b25bb0
--- /dev/null
+++ b/src/views/sms/smsConfig/components/forgetPassword.vue
@@ -0,0 +1,238 @@
+<template>
+ <div class="login-container">
+ <el-steps :active="current" align-center>
+ <el-step title="楠岃瘉璐﹀彿淇℃伅"></el-step>
+ <el-step title="淇敼璐︽埛瀵嗙爜"></el-step>
+ <el-step title="鐧诲綍"></el-step>
+ </el-steps>
+ <el-form ref="formInline" :model="formInline" size="medium" :rules="ruleInline" class="login-form" autocomplete="on" label-position="left">
+ <template v-if="current === 0">
+ <el-form-item prop="phone">
+ <el-input type="text" v-model="formInline.phone" prefix="ios-contact-outline"
+ placeholder="璇疯緭鍏ユ墜鏈哄彿" size="large" :readonly="infoData.phone?true:false"/>
+ </el-form-item>
+ <el-form-item prop="code" class="captcha">
+ <div class="acea-row" style="flex-wrap: nowrap;">
+ <el-input
+ ref="username"
+ v-model="formInline.code"
+ placeholder="楠岃瘉鐮�"
+ name="username"
+ type="text"
+ tabindex="1"
+ autocomplete="off"
+ prefix-icon="el-icon-message"
+ style="width: 90%"
+ />
+ <el-button size="mini" :disabled=!this.canClick @click="cutDown" v-hasPermi="['admin:pass:send:code']">{{cutNUm}}</el-button>
+ </div>
+ </el-form-item>
+ </template>
+ <template v-if="current === 1">
+ <el-form-item prop="password" class="maxInpt">
+ <el-input type="password" v-model="formInline.password" prefix="ios-lock-outline"
+ placeholder="璇疯緭鍏ユ柊瀵嗙爜" size="large"/>
+ </el-form-item>
+ <el-form-item prop="checkPass" class="maxInpt">
+ <el-input type="password" v-model="formInline.checkPass" prefix="ios-lock-outline"
+ placeholder="璇烽獙璇佹柊瀵嗙爜" size="large"/>
+ </el-form-item>
+ </template>
+ <template v-if="current === 2">
+ <el-form-item prop="phone" class="maxInpt">
+ <el-input type="text" v-model="formInline.phone" prefix="ios-contact-outline"
+ placeholder="璇疯緭鍏ユ墜鏈哄彿"/>
+ </el-form-item>
+ <el-form-item prop="password" class="maxInpt">
+ <el-input type="password" v-model="formInline.password" prefix="ios-lock-outline"
+ placeholder="璇疯緭鍏ュ瘑鐮�"/>
+ </el-form-item>
+ </template>
+ <el-form-item class="maxInpt">
+ <el-button v-if="current === 0" type="primary" @click="handleSubmit1('formInline',current)" class="mb20 width100">涓嬩竴姝�</el-button>
+ <el-button v-if="current === 1" type="primary" @click="handleSubmit2('formInline',current)" class="mb20 width100">鎻愪氦</el-button>
+ <el-button v-if="current === 2" type="primary" @click="handleSubmit('formInline',current)" class="mb20 width100">鐧诲綍</el-button>
+ <el-button @click="returns('formInline')" class="width100" style="margin-left: 0px;">杩斿洖</el-button>
+ </el-form-item>
+
+ <!--<el-button v-if="current === 0" size="mini" :loading="loading" type="primary" style="width:100%;margin-bottom:20px;" @click="handleSubmit('formInline')">娉ㄥ唽</el-button>-->
+ <!--<el-button size="mini" type="primary" style="width:100%;margin-bottom:20px;" @click="changelogo">绔嬪嵆鐧诲綍</el-button>-->
+ </el-form>
+ </div>
+</template>
+
+<script>
+ import { updatePasswordApi, captchaApi, configApi } from '@/api/sms';
+ export default {
+ name: 'forgetPassword',
+ data () {
+ const validatePhone = (rule, value, callback) => {
+ if (!value) {
+ return callback(new Error('璇峰~鍐欐墜鏈哄彿'));
+ } else if (!/^1[3456789]\d{9}$/.test(value)) {
+ callback(new Error('鎵嬫満鍙锋牸寮忎笉姝g‘!'));
+ } else {
+ callback();
+ }
+ };
+ var validatePass = (rule, value, callback) => {
+ if (value === '') {
+ callback(new Error('璇疯緭鍏ュ瘑鐮�'));
+ }else {
+ if(this.current === 1){
+ if (this.formInline.checkPass !== '') {
+ this.$refs.formInline.validateField('checkPass');
+ }
+ callback();
+ }else{
+ if(value !== this.formInline.checkPass){
+ callback(new Error('璇疯緭鍏ユ纭瘑鐮�!'));
+ }
+ callback();
+ }
+ }
+ };
+ var validatePass2 = (rule, value, callback) => {
+ if (value === '') {
+ callback(new Error('璇峰啀娆¤緭鍏ュ瘑鐮�'));
+ } else if (value !== this.formInline.password) {
+ callback(new Error('涓ゆ杈撳叆瀵嗙爜涓嶄竴鑷�!'));
+ } else {
+ callback();
+ }
+ };
+ return {
+ isReadonly: false,
+ cutNUm: '鑾峰彇楠岃瘉鐮�',
+ canClick: true,
+ current: 0,
+ formInline: {
+ account: '',
+ phone: '',
+ code: '',
+ password: '',
+ checkPass: '',
+ },
+ ruleInline: {
+ phone: [
+ { required: true, validator: validatePhone, trigger: 'blur' }
+ ],
+ code: [
+ { required: true, message: '璇疯緭鍏ラ獙璇佺爜', trigger: 'blur' }
+ ],
+ password: [
+ { validator: validatePass, trigger: 'blur' }
+ ],
+ checkPass: [
+ { validator: validatePass2, trigger: 'blur' }
+ ],
+ }
+ }
+ },
+ props:{
+ infoData: {
+ type: Object,
+ default: null
+ }
+ },
+ mounted(){
+ this.infoData ? this.formInline.phone = this.infoData.phone : this.formInline.phone = '';
+ },
+ methods: {
+ // 鐭俊楠岃瘉鐮�
+ cutDown () {
+ if (this.formInline.phone) {
+ if (!this.canClick) return;
+ this.canClick = false;
+ this.cutNUm = 60;
+ let data = {
+ phone: this.formInline.phone,
+ types: 1
+ };
+ captchaApi(data).then(async res => {
+ this.$message.success(res.msg);
+ })
+ let time = setInterval(() => {
+ this.cutNUm--;
+ if (this.cutNUm === 0) {
+ this.cutNUm = '鑾峰彇楠岃瘉鐮�';
+ this.canClick = true;
+ clearInterval(time)
+ }
+ }, 1000)
+ } else {
+ this.$message.warning('璇峰~鍐欐墜鏈哄彿!');
+ }
+ },
+ handleSubmit1 (name, current) {
+ this.$refs[name].validate((valid) => {
+ if (valid) {
+ this.current = 1;
+ } else {
+ return false;
+ }
+ })
+ },
+ handleSubmit2(name) {
+ this.formInline.account = this.formInline.phone
+ this.$refs[name].validate((valid) => {
+ if (valid) {
+ updatePasswordApi(this.formInline).then(async res => {
+ this.$message.success('淇敼鎴愬姛');
+ this.current = 2;
+ })
+ } else {
+ return false;
+ }
+ })
+ },
+ //鐧诲綍
+ handleSubmit (name) {
+ this.$refs[name].validate((valid) => {
+ if (valid) {
+ configApi({
+ account: this.formInline.account,
+ password: this.formInline.password
+ }).then(async res => {
+ this.$message.success('鐧诲綍鎴愬姛!');
+ this.$emit('on-Login');
+ })
+ } else {
+ return false;
+ }
+ })
+ },
+ returns () {
+ this.current === 0 ? this.$emit('goback'): this.current = 0
+ }
+ }
+ }
+</script>
+
+<style scoped lang="scss">
+ .login-form {
+ flex: 1;
+ padding: 32px 0;
+ text-align: center;
+ width: 384px;
+ margin: 0 auto;
+ overflow: hidden;
+ }
+ .width100{
+ width: 100%;
+ }
+
+ .maxInpt{
+ max-width:400px;
+ margin-left:auto;
+ margin-right:auto;
+ }
+ .code {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ }
+ .ivu-steps-item:last-child{
+ width: unset!important;
+ }
+</style>
diff --git a/src/views/sms/smsConfig/components/forgetPhone.vue b/src/views/sms/smsConfig/components/forgetPhone.vue
new file mode 100644
index 0000000..dc8b405
--- /dev/null
+++ b/src/views/sms/smsConfig/components/forgetPhone.vue
@@ -0,0 +1,220 @@
+<template>
+ <div class="login-container">
+ <el-steps :active="current" align-center>
+ <el-step title="楠岃瘉璐﹀彿淇℃伅"></el-step>
+ <el-step title="淇敼鎵嬫満鍙风爜"></el-step>
+ <el-step title="鐧诲綍"></el-step>
+ </el-steps>
+ <el-form ref="formInline" :model="formInline" size="medium" :rules="ruleInline" class="login-form" autocomplete="on" label-position="left">
+ <template v-if="current === 0">
+ <el-form-item prop="account">
+ <el-input type="text" v-model="formInline.account" prefix="ios-contact-outline"
+ placeholder="璇疯緭鍏ュ綋鍓嶈处鍙�" size="large"/>
+ </el-form-item>
+ <el-form-item prop="password">
+ <el-input type="password" v-model="formInline.password" prefix="ios-contact-outline"
+ placeholder="璇疯緭鍏ュ瘑鐮�" size="large"/>
+ </el-form-item>
+ </template>
+ <template v-if="current === 1">
+ <el-form-item prop="phone" class="maxInpt">
+ <el-input type="text" v-model="formInline.phone" prefix="ios-lock-outline"
+ placeholder="璇疯緭鍏ユ柊鎵嬫満鍙�" size="large"/>
+ </el-form-item>
+ <el-form-item prop="code" class="captcha">
+ <div class="acea-row" style="flex-wrap: nowrap;">
+ <el-input
+ ref="username"
+ v-model="formInline.code"
+ placeholder="楠岃瘉鐮�"
+ name="username"
+ type="text"
+ tabindex="1"
+ autocomplete="off"
+ prefix-icon="el-icon-message"
+ style="width: 90%"
+ />
+ <el-button size="mini" :disabled=!this.canClick @click="cutDown">{{cutNUm}}</el-button>
+ </div>
+ </el-form-item>
+ </template>
+ <template v-if="current === 2">
+ <el-form-item prop="phone" class="maxInpt">
+ <el-input type="text" v-model="formInline.phone" prefix="ios-contact-outline"
+ placeholder="璇疯緭鍏ユ墜鏈哄彿"/>
+ </el-form-item>
+ <el-form-item prop="password" class="maxInpt">
+ <el-input type="password" v-model="formInline.password" prefix="ios-lock-outline"
+ placeholder="璇疯緭鍏ュ瘑鐮�"/>
+ </el-form-item>
+ </template>
+ <el-form-item class="maxInpt">
+ <el-button v-if="current === 0" type="primary" @click="handleSubmit1('formInline',current)" class="mb20 width100">涓嬩竴姝�</el-button>
+ <el-button v-if="current === 1" type="primary" @click="handleSubmit2('formInline',current)" class="mb20 width100" v-hasPermi="['admin:pass:update:phone']">鎻愪氦</el-button>
+ <el-button v-if="current === 2" type="primary" @click="handleSubmit('formInline',current)" class="mb20 width100">鐧诲綍</el-button>
+ <el-button @click="returns('formInline')" class="width100" style="margin-left: 0px;">杩斿洖</el-button>
+ </el-form-item>
+
+ <!--<el-button v-if="current === 0" size="mini" :loading="loading" type="primary" style="width:100%;margin-bottom:20px;" @click="handleSubmit('formInline')">娉ㄥ唽</el-button>-->
+ <!--<el-button size="mini" type="primary" style="width:100%;margin-bottom:20px;" @click="changelogo">绔嬪嵆鐧诲綍</el-button>-->
+ </el-form>
+ </div>
+</template>
+
+<script>
+ import { captchaApi, configApi, updateHoneApi, phoneValidatorApi } from '@/api/sms';
+ export default {
+ name: 'forgetPhone',
+ props: {
+ isIndex: {
+ type: Boolean,
+ default: false
+ }
+ },
+ data () {
+ const validatePhone = (rule, value, callback) => {
+ if (!value) {
+ return callback(new Error('璇峰~鍐欐墜鏈哄彿'));
+ } else if (!/^1[3456789]\d{9}$/.test(value)) {
+ callback(new Error('鎵嬫満鍙锋牸寮忎笉姝g‘!'));
+ } else {
+ callback();
+ }
+ };
+ var validatePass = (rule, value, callback) => {
+ if (value === '') {
+ callback(new Error('璇疯緭鍏ュ瘑鐮�'));
+ } else {
+ if (this.formInline.checkPass !== '') {
+ this.$refs.formInline.validateField('checkPass');
+ }
+ callback();
+ }
+ };
+
+ return {
+ cutNUm: '鑾峰彇楠岃瘉鐮�',
+ canClick: true,
+ current: 0,
+ formInline: {
+ account: '',
+ phone: '',
+ code: '',
+ password: '',
+ },
+ ruleInline: {
+ phone: [
+ { required: true, validator: validatePhone, trigger: 'blur' }
+ ],
+ code: [
+ { required: true, message: '璇疯緭鍏ラ獙璇佺爜', trigger: 'blur' }
+ ],
+ password: [
+ { required: true, message: '璇疯緭鍏ュ瘑鐮�', trigger: 'blur' }
+ ],
+ account: [
+ { required: true, message: '璇疯緭鍏ュ綋鍓嶈处鍙�', trigger: 'blur' }
+ ]
+ }
+ }
+ },
+ methods: {
+ // 鐭俊楠岃瘉鐮�
+ cutDown () {
+ if (this.formInline.phone) {
+ if (!this.canClick) return;
+ this.canClick = false;
+ this.cutNUm = 60;
+ let data = {
+ phone: this.formInline.phone,
+ types: 1
+ };
+ captchaApi(data).then(async res => {
+ this.$message.success(res.msg);
+ })
+ let time = setInterval(() => {
+ this.cutNUm--;
+ if (this.cutNUm === 0) {
+ this.cutNUm = '鑾峰彇楠岃瘉鐮�';
+ this.canClick = true;
+ clearInterval(time)
+ }
+ }, 1000)
+ } else {
+ this.$message.warning('璇峰~鍐欐墜鏈哄彿!');
+ }
+ },
+ handleSubmit1 (name) {
+ this.$refs[name].validate((valid) => {
+ if (valid) {
+ phoneValidatorApi(this.formInline).then(async res => {
+ this.$message.success('鎿嶄綔鎴愬姛')
+ this.current = 1;
+ })
+ } else {
+ return false;
+ }
+ })
+ },
+ handleSubmit2(name) {
+ this.$refs[name].validate((valid) => {
+ if (valid) {
+ updateHoneApi(this.formInline).then(async res => {
+ this.$message.success('鎿嶄綔鎴愬姛')
+ this.current = 2;
+ })
+ } else {
+ return false;
+ }
+ })
+ },
+ //鐧诲綍
+ handleSubmit (name,num) {
+ this.$refs[name].validate((valid) => {
+ if (valid) {
+ configApi({
+ account: this.formInline.account,
+ password: this.formInline.password
+ }).then(async res => {
+ num===1?this.$message.success("鍘熸墜鏈哄彿瀵嗙爜姝g‘"):this.$message.success("鐧诲綍鎴愬姛");
+ num===1?this.current = 1:this.$emit('on-Login');
+ })
+ } else {
+ return false;
+ }
+ })
+ },
+ returns () {
+ this.current === 0 ? this.$emit('gobackPhone'): this.current = 0
+ }
+ }
+ }
+</script>
+
+<style scoped lang="scss">
+ .login-form {
+ flex: 1;
+ padding: 32px 0;
+ text-align: center;
+ width: 384px;
+ margin: 0 auto;
+ overflow: hidden;
+ }
+ .width100{
+ width: 100%;
+ }
+
+ .maxInpt{
+ max-width:400px;
+ margin-left:auto;
+ margin-right:auto;
+ }
+ .code {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ }
+ .ivu-steps-item:last-child{
+ width: unset!important;
+ }
+</style>
diff --git a/src/views/sms/smsConfig/components/loginFrom.vue b/src/views/sms/smsConfig/components/loginFrom.vue
new file mode 100644
index 0000000..70de1e9
--- /dev/null
+++ b/src/views/sms/smsConfig/components/loginFrom.vue
@@ -0,0 +1,188 @@
+<template>
+ <div class="login-container">
+ <el-row type="flex">
+ <el-col :span="24">
+ <el-form ref="formInline" size="small" :model="formInline" :rules="ruleInline" class="login-form"
+ autocomplete="on" label-position="left">
+ <div class="title-container">
+ <h3 class="title mb15">鐭俊璐︽埛鐧诲綍</h3>
+ </div>
+ <el-form-item prop="account">
+ <el-input
+ ref="account"
+ v-model="formInline.account"
+ placeholder="鐢ㄦ埛鍚�"
+ prefix-icon="el-icon-user"
+ name="username"
+ type="text"
+ tabindex="1"
+ autocomplete="off"
+ />
+ </el-form-item>
+ <el-form-item prop="password">
+ <el-input
+ :key="passwordType"
+ ref="password"
+ v-model="formInline.password"
+ :type="passwordType"
+ placeholder="瀵嗙爜"
+ name="password"
+ tabindex="2"
+ auto-complete="off"
+ prefix-icon="el-icon-lock"
+ />
+ <span class="show-pwd" @click="showPwd">
+ <svg-icon :icon-class="passwordType === 'password' ? 'eye' : 'eye-open'"/>
+ </span>
+ </el-form-item>
+ <el-button size="mini" :loading="loading" type="primary" style="width:100%;margin-bottom:20px;"
+ @click="handleSubmit('formInline')">鐧诲綍
+ </el-button>
+ <div class="acea-row row-center-wrapper mb20">
+ <el-button size="mini" type="text" style="margin-left: 0" @click="changePassword">蹇樿瀵嗙爜</el-button>
+ <el-divider direction="vertical"></el-divider>
+ <el-button size="mini" type="text" style="margin-left: 0" @click="changeReg">娉ㄥ唽璐︽埛</el-button>
+ </div>
+ <el-tooltip class="item" effect="dark" content="
+ 涓�鍙烽�氫负鎴戝徃涓�涓涓夋柟骞冲彴
+ 涓撻棬鎻愪緵鐭俊 锛� 鐗╂祦鏌ヨ锛屽晢鍝佸鍒讹紝鐢靛瓙闈㈠崟绛変釜鎬у寲鏈嶅姟
+ 鐪佸幓浜嗚嚜宸卞崟鐙帴鍏ュ姛鑳界殑楹荤儲
+ 鍒濇杩愯浠g爜榛樿鏄病鏈夎处鍙风殑锛岄渶瑕佽嚜琛屾敞鍐岋紝
+ 鐧诲綍鎴愬姛鍚庢牴鎹彁绀鸿喘涔拌嚜宸遍渶瑕佺敤鍒扮殑鏈嶅姟鍗冲彲" placement="bottom">
+ <span style="margin-left: 0">骞冲彴璇存槑</span>
+ </el-tooltip>
+ </el-form>
+ </el-col>
+ </el-row>
+ </div>
+</template>
+
+<script>
+import { configApi } from '@/api/sms'
+export default {
+ name: 'Login',
+ data() {
+ return {
+ formInline: {
+ account: '',
+ password: ''
+ },
+ ruleInline: {
+ account: [
+ { required: true, message: '璇疯緭鍏ョ敤鎴峰悕', trigger: 'blur' }
+ ],
+ password: [
+ { required: true, message: '璇疯緭鍏ュ瘑鐮�', trigger: 'blur' }
+ ]
+ },
+ passwordType: 'password',
+ loading: false
+ }
+ },
+ created() {
+ var _this = this
+ document.onkeydown = function(e) {
+ const key = window.event.keyCode
+ if (key === 13) {
+ _this.handleSubmit('formInline')
+ }
+ }
+ },
+ methods: {
+ showPwd() {
+ if (this.passwordType === 'password') {
+ this.passwordType = ''
+ } else {
+ this.passwordType = 'password'
+ }
+ this.$nextTick(() => {
+ this.$refs.password.focus()
+ })
+ },
+ handleSubmit(name) {
+ this.$refs[name].validate((valid) => {
+ if (valid) {
+ this.loading = true;
+ configApi(this.formInline).then(async res => {
+ this.$message.success('鐧诲綍鎴愬姛!')
+ this.$store.dispatch('user/isLogin')
+ this.$emit('on-Login')
+ this.loading = false;
+ }).catch(()=>{
+ this.loading = false;
+ })
+ } else {
+ return false
+ }
+ })
+ },
+ // 淇敼瀵嗙爜
+ changePassword() {
+ this.$emit('on-change')
+ },
+ changeReg() {
+ this.$emit('on-changes')
+ }
+ }
+}
+</script>
+<style lang="scss" scoped>
+ .title{
+ text-align: center;
+ }
+ .captcha{
+ display: flex;
+ align-items: flex-start;
+ }
+ $bg: #2d3a4b;
+ $dark_gray: #889aa4;
+ $light_gray: #eee;
+ .imgs{
+ img{
+ height: 36px;
+ }
+ }
+ .login-form {
+ flex: 1;
+ padding: 32px 0;
+ text-align: center;
+ width: 384px;
+ margin: 0 auto;
+ overflow: hidden;
+ }
+ .tips {
+ font-size: 14px;
+ color: #fff;
+ margin-bottom: 10px;
+
+ span {
+ &:first-of-type {
+ margin-right: 16px;
+ }
+ }
+ }
+ .svg-container {
+ padding: 6px 5px 6px 15px;
+ color: $dark_gray;
+ vertical-align: middle;
+ width: 30px;
+ display: inline-block;
+ }
+ .show-pwd {
+ position: absolute;
+ right: 10px;
+ top: 7px;
+ font-size: 16px;
+ color: $dark_gray;
+ cursor: pointer;
+ user-select: none;
+ ::v-deep.svg-icon {
+ vertical-align: 0.3em;
+ }
+ }
+ .thirdparty-button {
+ position: absolute;
+ right: 0;
+ bottom: 6px;
+ }
+</style>
diff --git a/src/views/sms/smsConfig/components/register.vue b/src/views/sms/smsConfig/components/register.vue
new file mode 100644
index 0000000..397c903
--- /dev/null
+++ b/src/views/sms/smsConfig/components/register.vue
@@ -0,0 +1,225 @@
+<template>
+ <div class="login-container">
+ <el-form ref="formInline" size="small" :model="formInline" :rules="ruleInline" class="login-form" autocomplete="on" label-position="left">
+ <div class="title-container">
+ <h3 class="title mb15">涓�鍙烽�氳处鎴锋敞鍐�</h3>
+ </div>
+ <el-form-item prop="phone">
+ <el-input
+ v-model="formInline.phone"
+ placeholder="璇疯緭鍏ユ偍鐨勬墜鏈哄彿"
+ prefix-icon="el-icon-phone-outline"
+ />
+ </el-form-item>
+ <el-form-item prop="password">
+ <el-input
+ :key="passwordType"
+ v-model="formInline.password"
+ :type="passwordType"
+ placeholder="瀵嗙爜"
+ tabindex="2"
+ auto-complete="off"
+ prefix-icon="el-icon-lock"
+ />
+ <span class="show-pwd" @click="showPwd">
+ <svg-icon :icon-class="passwordType === 'password' ? 'eye' : 'eye-open'" />
+ </span>
+ </el-form-item>
+ <el-form-item prop="domain">
+ <el-input
+ v-model="formInline.domain"
+ placeholder="璇疯緭鍏ョ綉鍧�鍩熷悕"
+ prefix-icon="el-icon-position"
+ />
+ </el-form-item>
+ <el-form-item prop="code" class="captcha">
+ <div class="acea-row" style="flex-wrap: nowrap;">
+ <el-input
+ v-model="formInline.code"
+ placeholder="楠岃瘉鐮�"
+ type="text"
+ tabindex="1"
+ autocomplete="off"
+ prefix-icon="el-icon-message"
+ style="width: 90%"
+ />
+ <el-button size="mini" :disabled=!this.canClick @click="cutDown" v-hasPermi="['admin:pass:send:code']">{{cutNUm}}</el-button>
+ </div>
+ </el-form-item>
+ <el-button :loading="loading" type="primary" style="width:100%;margin-bottom:20px;" @click="handleSubmit('formInline')" v-hasPermi="['admin:pass:register']">娉ㄥ唽</el-button>
+ <el-button type="primary" style="width:100%;margin-bottom:20px;" @click="changelogo" v-hasPermi="['admin:pass:login']">绔嬪嵆鐧诲綍</el-button>
+ </el-form>
+ </div>
+</template>
+
+<script>
+import { captchaApi, registerApi } from '@/api/sms'
+export default {
+ name: 'Register',
+ data() {
+ const validatePhone = (rule, value, callback) => {
+ if (!value) {
+ return callback(new Error('璇峰~鍐欐墜鏈哄彿'))
+ } else if (!/^1[3456789]\d{9}$/.test(value)) {
+ callback(new Error('鎵嬫満鍙锋牸寮忎笉姝g‘!'))
+ } else {
+ callback()
+ }
+ }
+ return {
+ loading: false,
+ passwordType: 'password',
+ captchatImg: '',
+ cutNUm: '鑾峰彇楠岃瘉鐮�',
+ canClick: true,
+ formInline: {
+ account: '',
+ code: '',
+ domain: '',
+ phone: '',
+ password: ''
+ },
+ ruleInline: {
+ password: [
+ { required: true, message: '璇疯緭鍏ョ煭淇″钩鍙板瘑鐮�/token', trigger: 'blur' }
+ ],
+ domain: [
+ { required: true, message: '璇疯緭鍏ョ綉鍧�鍩熷悕', trigger: 'blur' }
+ ],
+ phone: [
+ { required: true, validator: validatePhone, trigger: 'blur' }
+ ],
+ code: [
+ { required: true, message: '璇疯緭鍏ラ獙璇佺爜', trigger: 'blur' }
+ ]
+ }
+ }
+ },
+ methods: {
+ showPwd() {
+ if (this.passwordType === 'password') {
+ this.passwordType = ''
+ } else {
+ this.passwordType = 'password'
+ }
+ this.$nextTick(() => {
+ this.$refs.password.focus()
+ })
+ },
+ // 鐭俊楠岃瘉鐮�
+ cutDown() {
+ if (this.formInline.phone) {
+ if (!this.canClick) return
+ this.canClick = false
+ this.cutNUm = 60
+ captchaApi({
+ phone: this.formInline.phone,
+ types: 0
+ }).then(async res => {
+ this.$message.success('鍙戦�佹垚鍔�')
+ })
+ const time = setInterval(() => {
+ this.cutNUm--
+ if (this.cutNUm === 0) {
+ this.cutNUm = '鑾峰彇楠岃瘉鐮�'
+ this.canClick = true
+ clearInterval(time)
+ }
+ }, 1000)
+ } else {
+ this.$message.warning('璇峰~鍐欐墜鏈哄彿!')
+ }
+ },
+ // 娉ㄥ唽
+ handleSubmit(name) {
+ this.formInline.account = this.formInline.phone
+ this.$refs[name].validate((valid) => {
+ if (valid) {
+ this.loading = true;
+ registerApi(this.formInline).then(async res => {
+ this.$message.success('娉ㄥ唽鎴愬姛')
+ setTimeout(() => {
+ this.changelogo()
+ }, 1000)
+ this.loading = false;
+ }).catch(()=>{
+ this.loading = false;
+ })
+ } else {
+ return false
+ }
+ })
+ },
+ // 绔嬪嵆鐧诲綍
+ changelogo() {
+ this.$emit('on-change')
+ }
+ }
+}
+</script>
+<style lang="scss" scoped>
+ .el-button+.el-button{
+ margin-left: 0px !important;
+ }
+ .title{
+ text-align: center;
+ }
+ .captcha{
+ display: flex;
+ align-items: flex-start;
+ ::v-deep.el-form-item__content{
+ width: 100%;
+ }
+ }
+ $bg: #2d3a4b;
+ $dark_gray: #889aa4;
+ $light_gray: #eee;
+ .imgs{
+ img{
+ height: 36px;
+ }
+ }
+ .login-form {
+ flex: 1;
+ padding: 32px 0;
+ text-align: center;
+ width: 384px;
+ margin: 0 auto;
+ overflow: hidden;
+ }
+ .tips {
+ font-size: 14px;
+ color: #fff;
+ margin-bottom: 10px;
+
+ span {
+ &:first-of-type {
+ margin-right: 16px;
+ }
+ }
+ }
+ .svg-container {
+ padding: 6px 5px 6px 15px;
+ color: $dark_gray;
+ vertical-align: middle;
+ width: 30px;
+ display: inline-block;
+ }
+ .show-pwd {
+ position: absolute;
+ right: 10px;
+ top: 7px;
+ font-size: 16px;
+ color: $dark_gray;
+ cursor: pointer;
+ user-select: none;
+ ::v-deep.svg-icon {
+ vertical-align: 0.3em;
+ }
+ }
+ .thirdparty-button {
+ position: absolute;
+ right: 0;
+ bottom: 6px;
+ }
+</style>
diff --git a/src/views/sms/smsConfig/components/tableList.vue b/src/views/sms/smsConfig/components/tableList.vue
new file mode 100644
index 0000000..2b3c173
--- /dev/null
+++ b/src/views/sms/smsConfig/components/tableList.vue
@@ -0,0 +1,692 @@
+<template>
+ <div>
+ <el-tabs v-model="tableFrom.type" @tab-click="onChangeType">
+ <el-tab-pane label="鐭俊" name="sms"></el-tab-pane>
+ <el-tab-pane label="鍟嗗搧閲囬泦" name="copy"></el-tab-pane>
+ <el-tab-pane label="鐗╂祦鏌ヨ" name="expr_query"></el-tab-pane>
+ <el-tab-pane label="鐢靛瓙闈㈠崟鎵撳嵃" name="expr_dump"></el-tab-pane>
+ </el-tabs>
+ <!--鐭俊鍒楄〃-->
+ <div class="note" v-if="(tableFrom.type==='sms' && sms.open === 1) || (tableFrom.type==='expr_query' && query.open === 1) || (tableFrom.type==='copy' && copy.open === 1) || (tableFrom.type==='expr_dump' && dump.open === 1)">
+ <div class="filter-container flex-between mb20" v-if="tableFrom.type === 'sms'">
+ <div class="demo-input-suffix">
+ <span class="seachTiele">鐭俊鐘舵�侊細</span>
+ <el-radio-group v-model="tableFrom.status" size="small" @change="getList" class="mr20">
+ <el-radio-button label="3">鍏ㄩ儴</el-radio-button>
+ <el-radio-button label="1">鎴愬姛</el-radio-button>
+ <el-radio-button label="2">澶辫触</el-radio-button>
+ <el-radio-button label="0">鍙戦�佷腑</el-radio-button>
+ </el-radio-group>
+ </div>
+ <div>
+ <router-link :to="{path: '/operation/systemSms/template'}">
+ <el-button type="primary" class="mr20" v-hasPermi="['admin:sms:temps']">鐭俊妯℃澘</el-button>
+ </router-link>
+ <el-button @click="editSign" v-hasPermi="['admin:sms:modify:sign']">淇敼绛惧悕</el-button>
+ </div>
+ </div>
+ <el-table
+ v-loading="listLoading"
+ :data="tableData.data"
+ style="width: 100%"
+ highlight-current-row
+ :header-cell-style=" {fontWeight:'bold'}"
+ >
+ <el-table-column
+ v-for="(item, index) in columns2" :key="index"
+ :prop="item.key"
+ :label="item.title"
+ :min-width="item.minWidth">
+ <template slot-scope="scope">
+ <div v-if="['content'].indexOf(item.key) > -1 && tableFrom.type==='expr_query'" class="demo-image__preview">
+ <span>{{scope.row[item.key].num}}</span>
+ </div>
+ <span v-else>{{ scope.row[item.key] }}</span>
+ </template>
+ </el-table-column>
+ </el-table>
+ <div class="block">
+ <el-pagination
+ :page-sizes="[20, 40, 60, 80]"
+ :page-size="tableFrom.limit"
+ :current-page="tableFrom.page"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="tableData.total"
+ @size-change="handleSizeChange"
+ @current-change="pageChange"
+ />
+ </div>
+ </div>
+ <!--鏃犲紑閫�-->
+ <div v-else>
+ <!--寮�閫氭寜閽�-->
+ <div v-if="(tableFrom.type==='sms' && !isSms) || (tableFrom.type==='expr_dump' && !isDump) || ((tableFrom.type==='copy' || tableFrom.type==='expr_query') && !isCopy)" class="wuBox acea-row row-column-around row-middle">
+ <div class="wuTu"><img src="../../../../assets/imgs/wutu.png"></div>
+ <div class="mb15">
+ <span class="wuSp1">{{tableFrom.type | onePassTypeFilter}}鏈紑閫氬摝</span>
+ <span class="wuSp2">鐐瑰嚮绔嬪嵆寮�閫氭寜閽紝鍗冲彲浣跨敤{{tableFrom.type | onePassTypeFilter}}鏈嶅姟鍝︼綖锝烇綖</span>
+ </div>
+ <el-button size="medium" type="primary" @click="onOpenIndex(tableFrom.type)">绔嬪嵆寮�閫�</el-button>
+ </div>
+ <!--鐭俊绔嬪嵆寮�閫�/寮�閫氱數瀛愰潰鍗曟湇鍔�-->
+ <div class="smsBox" v-if="(isDump && tableFrom.type==='expr_dump') || (isSms && tableFrom.type==='sms')">
+ <div class="index_from page-account-container">
+ <div class="page-account-top">
+ <span class="page-account-top-tit">寮�閫歿{tableFrom.type | onePassTypeFilter}}鏈嶅姟</span>
+ </div>
+ <el-form ref="formInlineDump" :model="formInlineDump" :rules="ruleInline" @submit.native.prevent @keyup.enter="handleSubmitDump('formInlineDump')">
+ <el-form-item prop="sign" class="maxInpt" v-if="isSms && tableFrom.type==='sms'" key="1">
+ <el-input type="text" v-model="formInlineDump.sign" prefix="ios-contact-outline" placeholder="璇疯緭鍏ョ煭淇$鍚�"/>
+ </el-form-item>
+ <template v-if="isDump && tableFrom.type==='expr_dump'">
+ <el-form-item prop="com" class="maxInpt">
+ <el-select v-model="formInlineDump.com" filterable placeholder="璇烽�夋嫨蹇�掑叕鍙�" @change="onChangeExport" style="text-align: left;" class="width10">
+ <el-option v-for="(item,index) in exportList" :value="item.code" :key="index" :label="item.name"></el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item prop="temp_id" class="tempId maxInpt">
+ <div class="acea-row">
+ <el-select v-model="formInlineDump.tempId" placeholder="璇烽�夋嫨鐢靛瓙闈㈠崟妯℃澘" style="text-align: left;" :class="[formInlineDump.tempId?'width9':'width10']" @change="onChangeImg">
+ <el-option v-for="(item, index) in exportTempList" :value="item.temp_id" :key="index" :label="item.title"></el-option>
+ </el-select>
+ <div v-if="formInlineDump.tempId" style="position: relative;">
+ <!--<span class="tempImg" @click="">棰勮</span>-->
+ <div class="tempImgList ml10">
+ <div class="demo-image__preview">
+ <el-image
+ style="width: 36px; height: 36px"
+ :src="tempImg"
+ :preview-src-list="[tempImg]"
+ />
+ </div>
+ </div>
+ </div>
+ </div>
+ </el-form-item>
+ <el-form-item prop="toName" class="maxInpt">
+ <el-input type="text" v-model="formInlineDump.toName" prefix="ios-contact-outline"
+ placeholder="璇峰~鍐欏瘎浠朵汉濮撳悕"/>
+ </el-form-item>
+ <el-form-item prop="toTel" class="maxInpt">
+ <el-input type="text" v-model="formInlineDump.toTel" prefix="ios-contact-outline"
+ placeholder="璇峰~鍐欏瘎浠朵汉鐢佃瘽"/>
+ </el-form-item>
+ <el-form-item prop="toAddress" class="maxInpt">
+ <el-input type="text" v-model="formInlineDump.toAddress" prefix="ios-contact-outline"
+ placeholder="璇峰~鍐欏瘎浠朵汉璇︾粏鍦板潃"/>
+ </el-form-item>
+ <el-form-item prop="siid" class="maxInpt">
+ <el-input type="text" v-model="formInlineDump.siid" prefix="ios-contact-outline"
+ placeholder="璇峰~鍐欎簯鎵撳嵃缂栧彿"/>
+ </el-form-item>
+ </template>
+
+ <el-form-item class="maxInpt">
+ <el-button type="primary" size="medium" :loading="loading" @click="handleSubmitDump('formInlineDump')" class="btn width10">绔嬪嵆寮�閫�</el-button>
+ </el-form-item>
+ </el-form>
+ </div>
+ </div>
+ </div>
+ <!--淇敼绛惧悕-->
+ <el-dialog
+ title="鐭俊璐︽埛绛惧悕淇敼"
+ :visible.sync="dialogVisible"
+ width="500px"
+ :before-close="handleClose">
+ <el-form ref="formInline" size="small" :model="formInline" :rules="ruleInlineSign" class="login-form" autocomplete="on" label-position="left">
+ <el-form-item>
+ <el-input v-model="formInline.account" :disabled="true" prefix-icon="el-icon-user">
+ </el-input>
+ </el-form-item>
+ <el-form-item prop="sign">
+ <el-input
+ v-model="formInline.sign"
+ placeholder="璇疯緭鍏ョ煭淇$鍚嶏紝渚嬪锛欳MS"
+ prefix-icon="el-icon-document"
+ >
+ </el-input>
+ </el-form-item>
+ <el-form-item prop="phone">
+ <el-input
+ v-model="formInline.phone"
+ placeholder="璇疯緭鍏ユ偍鐨勬墜鏈哄彿"
+ :disabled="true"
+ prefix-icon="el-icon-phone-outline"
+ >
+ </el-input>
+ </el-form-item>
+ <el-form-item prop="code" class="captcha">
+ <div class="acea-row" style="flex-wrap: nowrap;">
+ <el-input
+ ref="username"
+ v-model="formInline.code"
+ placeholder="楠岃瘉鐮�"
+ name="username"
+ type="text"
+ tabindex="1"
+ autocomplete="off"
+ prefix-icon="el-icon-message"
+ style="width: 90%"
+ />
+ <el-button size="mini" :disabled=!this.canClick @click="cutDown" v-hasPermi="['admin:pass:send:code']">{{cutNUm}}</el-button>
+ </div>
+ </el-form-item>
+ <el-form-item>
+ <el-alert title="鐭俊绛惧悕鎻愪氦鍚庨渶瑕佸鏍告墠浼氱敓鏁堬紝璇疯�愬績绛夊緟鎴栬�呰仈绯诲鏈�" type="success"></el-alert>
+ </el-form-item>
+ </el-form>
+ <span slot="footer" class="dialog-footer">
+ <el-button type="primary" @click="handleSubmit('formInline')">纭� 瀹�</el-button>
+ </span>
+ </el-dialog>
+ </div>
+</template>
+
+<script>
+import { smsLstApi, serviceOpenApi, exportTempApi, expressAllApi, captchaApi, smsSignApi } from '@/api/sms'
+import * as commFilter from '@/filters/commFilter';
+import { checkPermi } from "@/utils/permission"; // 鏉冮檺鍒ゆ柇鍑芥暟
+import {Debounce} from '@/utils/validate'
+export default {
+ name: 'TableList',
+ props: {
+ copy: {
+ type: Object,
+ default: null
+ },
+ dump: {
+ type: Object,
+ default: null
+ },
+ query: {
+ type: Object,
+ default: null
+ },
+ sms: {
+ type: Object,
+ default: null
+ },
+ accountInfo: {
+ type: Object,
+ default: null
+ }
+ },
+ components: {},
+ data() {
+ const validatePhone = (rule, value, callback) => {
+ if (!value) {
+ return callback(new Error('璇峰~鍐欐墜鏈哄彿'));
+ } else if (!/^1[3456789]\d{9}$/.test(value)) {
+ callback(new Error('鎵嬫満鍙锋牸寮忎笉姝g‘!'));
+ } else {
+ callback();
+ }
+ };
+ return {
+ dialogVisible: false,
+ listLoading: false,
+ tableData: {
+ data: [],
+ total: 0
+ },
+ tableFrom: {
+ page: 1,
+ limit: 20,
+ status: '3',
+ type: 'sms'
+ },
+ columns2: [],
+ isSms: false, // 鏄惁寮�閫氱煭淇�
+ isDump: false, // 鏄惁寮�閫氱數瀛愰潰鍗�,鏄惁寮�閫氱墿娴佹煡璇�
+ isCopy: false, // 鏄惁寮�閫氬晢鍝侀噰闆�
+ modals: false,
+ loading: false,
+ formInlineDump: {
+ tempId: '',
+ sign: '',
+ com: '',
+ toName: '',
+ toTel: '',
+ siid: '',
+ toAddress: '',
+ type: ''
+ },
+ ruleInline: {
+ sign: [
+ { required: true, message: '璇疯緭鍏ョ煭淇$鍚�', trigger: 'blur' }
+ ],
+ phone: [
+ { required: true, validator: validatePhone, trigger: 'blur' }
+ ],
+ code: [
+ { required: true, message: '璇疯緭鍏ラ獙璇佺爜', trigger: 'blur' }
+ ],
+ com: [
+ { required: true, message: '璇烽�夋嫨蹇�掑叕鍙�', trigger: 'change' }
+ ],
+ tempId: [
+ { required: true, message: '璇烽�夋嫨鎵撳嵃妯℃澘', trigger: 'change' }
+ ],
+ toName: [
+ { required: true, message: '璇疯緭瀵勪欢浜哄鍚�', trigger: 'blur' }
+ ],
+ toTel: [
+ { required: true, validator: validatePhone, trigger: 'blur' }
+ ],
+ siid: [
+ { required: true, message: '璇疯緭鍏ヤ簯鎵撳嵃鏈虹紪鍙�', trigger: 'blur' }
+ ],
+ toAddress: [
+ { required: true, message: '璇疯緭瀵勪欢浜哄湴鍧�', trigger: 'blur' }
+ ]
+ },
+ tempImg: '', // 鍥剧墖
+ exportTempList: [], // 鐢靛瓙闈㈠崟妯℃澘
+ exportList: [], // 蹇�掑叕鍙稿垪琛�
+ formInline: {
+ phone: '',
+ code: '',
+ sign: ''
+ },
+ ruleInlineSign: {
+ sign: [
+ { required: true, message: '璇疯緭鍏ョ煭淇$鍚�', trigger: 'blur' }
+ ],
+ phone: [
+ { required: true, validator: validatePhone, trigger: 'blur' }
+ ],
+ code: [
+ { required: true, message: '璇疯緭鍏ラ獙璇佺爜', trigger: 'blur' }
+ ]
+ },
+ cutNUm: '鑾峰彇楠岃瘉鐮�',
+ canClick: true,
+ }
+ },
+ watch: {
+ sms (n) {
+ if (n.open === 1) this.getList();
+ }
+ },
+ mounted() {
+ if (this.sms.open === 1) this.getList();
+ // if (this.isChecked === '1' && this.sms.open === 1) this.getList();
+ },
+ methods: {
+ editSign(){
+ this.formInline.account = this.accountInfo.account;
+ this.formInline.sign = this.accountInfo.sms.sign;
+ this.formInline.phone = this.accountInfo.phone;
+ this.dialogVisible = true;
+ },
+ //淇敼绛惧悕
+ handleSubmit:Debounce(function(name) {
+ this.$refs[name].validate((valid) => {
+ if (valid) {
+ smsSignApi(this.formInline).then(async res => {
+ this.$message.success('淇敼绛惧悕涔嬪悗涓�鍙烽�氶渶瑕佸鏍歌繃鍚庨�氳繃!');
+ this.dialogVisible = false;
+ this.$refs[formName].resetFields();
+ })
+ } else {
+ return false;
+ }
+ })
+ }),
+ // 鐭俊楠岃瘉鐮�
+ cutDown () {
+ if (this.formInline.phone) {
+ if (!this.canClick) return;
+ this.canClick = false;
+ this.cutNUm = 60;
+ let data = {
+ phone: this.formInline.phone,
+ types: 1
+ };
+ captchaApi(data).then(async res => {
+ this.$message.success(res.msg);
+ })
+ let time = setInterval(() => {
+ this.cutNUm--;
+ if (this.cutNUm === 0) {
+ this.cutNUm = '鑾峰彇楠岃瘉鐮�';
+ this.canClick = true;
+ clearInterval(time)
+ }
+ }, 1000)
+ } else {
+ this.$message.warning('璇峰~鍐欐墜鏈哄彿!');
+ }
+ },
+ handleClose(){
+ this.dialogVisible = false
+ this.$refs['formInline'].resetFields();
+ },
+ // 棣栭〉鍘诲紑閫�
+ onOpenIndex (val) {
+ this.tableFrom.type = val;
+ switch (val) {
+ case 'sms':
+ this.isSms = true;
+ break;
+ case 'expr_dump':
+ this.openDump();
+ break;
+ default:
+ this.openOther();
+ break;
+ }
+ },
+ // 寮�閫氬叾浠�
+ openOther () {
+ this.$confirm(`纭畾寮�閫�${commFilter.onePassTypeFilter(this.tableFrom.type)}鍚�?`, '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(() => {
+ // this.handleSubmitDump('formInlineDump');
+ serviceOpenApi({type: this.tableFrom.type}).then(async res => {
+ this.$message.success('寮�閫氭垚鍔�!');
+ this.getList();
+ this.$emit('openService')
+ })
+ }).catch(() => {
+ this.$message({
+ type: 'info',
+ message: '宸插彇娑�'
+ })
+ })
+ },
+ // 寮�閫氱數瀛愰潰鍗�
+ openDump () {
+ this.exportTempAllList();
+ this.isDump = true;
+ },
+ // 鐗╂祦鍏徃
+ exportTempAllList () {
+ expressAllApi({type:'elec'}).then(async res => {
+ this.exportList = res;
+ })
+ },
+ // 蹇�掑叕鍙搁�夋嫨
+ onChangeExport (val) {
+ this.formInlineDump.tempId = '';
+ this.exportTemp(val);
+ },
+ // 鐢靛瓙闈㈠崟妯℃澘
+ exportTemp (val) {
+ exportTempApi({ com: val }).then(async res => {
+ this.exportTempList = res.data.data || [];
+ })
+ },
+ onChangeImg (item) {
+ this.exportTempList.map(i => {
+ if (i.temp_id === item) this.tempImg = i.pic
+ })
+ },
+ handleSubmitDump (name) {
+ this.formInlineDump.type = this.tableFrom.type;
+ this.$refs[name].validate((valid) => {
+ if (valid) {
+ this.loading = true;
+ serviceOpenApi(this.formInlineDump).then(async res => {
+ this.$emit('openService');
+ this.$message.success('寮�閫氭垚鍔�!');
+ this.getList();
+ this.loading = false;
+ }).catch(()=>{
+ this.loading = false;
+ })
+ } else {
+ return false;
+ }
+ })
+ },
+ onChangeType () {
+ this.tableFrom.page = 1
+ this.getList()
+ },
+ // 鍒楄〃
+ getList() {
+ this.listLoading = true
+ smsLstApi(this.tableFrom).then(res => {
+ this.tableData.data = res.data;
+ if(this.tableFrom.type == 'sms'){
+ let obj = new Object();
+ let newArr = new Array();
+ res.data.forEach(item=>{
+ obj = item;
+ switch(item.status) {
+ case 0:
+ obj.status = '鍙戦�佷腑'
+ break;
+ case 1:
+ obj.status = '鎴愬姛'
+ break;
+ case 2:
+ obj.status = '澶辫触'
+ break;
+ case 3:
+ obj.status = '鍏ㄩ儴'
+ break;
+ }
+ newArr.push(obj);
+ this.tableData.data = newArr;
+ })
+ }
+ this.tableData.total = res.count
+ switch (this.tableFrom.type) {
+ case 'sms':
+ this.columns2 = [
+ {
+ title: '鎵嬫満鍙�',
+ key: 'phone',
+ minWidth: 100
+ },
+ {
+ title: '妯℃澘鍐呭',
+ key: 'content',
+ minWidth: 590
+ },
+
+ {
+ title: '鍙戦�佹椂闂�',
+ key: 'add_time',
+ minWidth: 150
+ },
+ // {
+ // title: '鐘舵��',
+ // key: 'status',
+ // minWidth: 100
+ // }
+ ]
+ break;
+ case 'expr_dump':
+ this.columns2 = [
+ // {
+ // title: '璁㈠崟鍙�',
+ // key: 'order_id',
+ // minWidth: 150
+ // },
+ {
+ title: '鍙戣揣浜�',
+ key: 'from_name',
+ minWidth: 120
+ },
+ {
+ title: '鏀惰揣浜�',
+ key: 'to_name',
+ minWidth: 120
+ },
+ {
+ title: '蹇�掑崟鍙�',
+ key: 'num',
+ minWidth: 120
+ },
+ {
+ title: '蹇�掑叕鍙哥紪鐮�',
+ key: 'code',
+ minWidth: 120
+ },
+ {
+ title: '鐘舵��',
+ key: '_resultcode',
+ minWidth: 100
+ },
+ {
+ title: '鎵撳嵃鏃堕棿',
+ key: 'add_time',
+ minWidth: 150
+ }
+ ]
+ break;
+ case 'expr_query':
+ this.columns2 = [
+ {
+ title: '蹇�掑崟鍙�',
+ key: 'content',
+ minWidth: 120
+ },
+ {
+ title: '蹇�掑叕鍙哥紪鐮�',
+ key: 'code',
+ minWidth: 120
+ },
+ {
+ title: '鐘舵��',
+ key: '_resultcode',
+ minWidth: 120
+ },
+ {
+ title: '娣诲姞鏃堕棿',
+ key: 'add_time',
+ minWidth: 150
+ }
+ ]
+ break;
+ default:
+ this.columns2 = [
+ {
+ title: '澶嶅埗URL',
+ key: 'url',
+ minWidth: 400
+ },
+ {
+ title: '璇锋眰鐘舵��',
+ key: '_resultcode',
+ minWidth: 120
+ },
+ {
+ title: '娣诲姞鏃堕棿',
+ key: 'add_time',
+ minWidth: 150
+ }
+ ]
+ break;
+ }
+ this.listLoading = false
+ }).catch(res => {
+ this.listLoading = false
+ })
+ },
+ pageChange(page) {
+ this.tableFrom.page = page
+ this.getList()
+ },
+ handleSizeChange(val) {
+ this.tableFrom.limit = val
+ this.getList()
+ }
+ }
+}
+</script>
+
+<style lang="scss" scoped>
+ /*@aaa: ~'>>>';*/
+ .order_box ::v-deep.ivu-form-item-content{
+ margin-left: 50px!important;
+ }
+ .maxInpt{
+ max-width:400px;
+ margin-left:auto;
+ margin-right:auto;
+ }
+ .smsBox .page-account-top{
+ text-align: center;
+ margin: 70px 0 30px 0;
+ }
+ .note{
+ margin-top: 15px;
+ }
+ .tempImg{
+ cursor: pointer;
+ margin-left: 11px;
+ color: #1890FF;
+ }
+ .tempImgList{
+ // opacity: 1;
+ width: 38px !important;
+ height: 30px !important;
+ // margin-top: -30px;
+ cursor: pointer;
+ position: absolute;
+ z-index: 11;
+ img{
+ width: 38px !important;
+ height: 30px !important;
+ }
+ }
+ .width9{
+ width: 90%;
+ }
+ .width10{
+ width: 100%;
+ }
+ .wuBox{
+ width: 100%;
+ }
+ .wuSp1{
+ display: block;
+ text-align: center;
+ color: #000000;
+ font-size: 21px;
+ font-weight: 500;
+ line-height: 32px;
+ margin-top: 23px;
+ margin-bottom: 5px;
+ }
+ .wuSp2{
+ opacity: 45%;
+ font-weight: 400;
+ color: #000000;
+ line-height: 22px;
+ margin-bottom: 30px;
+ }
+ .page-account-top-tit{
+ font-size: 21px;
+ color: #1890FF;
+ }
+ .wuTu{
+ width: 295px;
+ height: 164px;
+ margin-top: 54px;
+ img{
+ width: 100%;
+ height: 100%;
+ }
+
+ + span {
+ margin-bottom: 20px;
+ }
+ }
+ .tempId{
+ .ivu-form-item-content{
+ text-align: left !important;
+ }
+ }
+ .flex-between{
+ display: flex;
+ justify-content: space-between;
+ }
+</style>
diff --git a/src/views/sms/smsConfig/index.vue b/src/views/sms/smsConfig/index.vue
new file mode 100644
index 0000000..85ddf4d
--- /dev/null
+++ b/src/views/sms/smsConfig/index.vue
@@ -0,0 +1,329 @@
+<template>
+ <div class="divBox">
+ <el-card v-if="isShowList" v-loading="fullscreenLoading" class="box-card mb20">
+ <div class="content acea-row row-middle">
+ <div class="demo-basic--circle acea-row row-middle">
+ <div class="circleUrl mr20"><img :src="circleUrl"></div>
+ <!--<el-avatar :size="50" :src="circleUrl" class="mr20" />-->
+ <div class="dashboard-workplace-header-tip">
+ <div class="dashboard-workplace-header-tip-title">{{ smsAccount }}锛岀鎮ㄦ瘡涓�澶╁紑蹇冿紒</div>
+ <div class="dashboard-workplace-header-tip-desc">
+ <span class="mr10" @click="onChangePassswordIndex" v-if="checkPermi(['admin:pass:update:password'])">淇敼瀵嗙爜</span>
+ <span class="mr10" @click="onChangePhone" v-if="checkPermi(['admin:pass:update:phone'])">淇敼鎵嬫満鍙�</span>
+ <span @click="signOut" class="mr10" v-if="checkPermi(['admin:pass:logout'])">閫�鍑虹櫥褰�</span>
+ <!-- <el-tooltip class="item" effect="dark" content="
+ 涓�鍙烽�氫负鎴戝徃涓�涓涓夋柟骞冲彴
+ 涓撻棬鎻愪緵鐭俊 锛� 鐗╂祦鏌ヨ锛屽晢鍝佸鍒讹紝鐢靛瓙闈㈠崟绛変釜鎬у寲鏈嶅姟
+ 鐪佸幓浜嗚嚜宸卞崟鐙帴鍏ュ姛鑳界殑楹荤儲
+ 鍒濇杩愯浠g爜榛樿鏄病鏈夎处鍙风殑锛岄渶瑕佽嚜琛屾敞鍐岋紝
+ 鐧诲綍鎴愬姛鍚庢牴鎹彁绀鸿喘涔拌嚜宸遍渶瑕佺敤鍒扮殑鏈嶅姟鍗冲彲" placement="right">
+ <span class="mr10">骞冲彴璇存槑</span>
+ </el-tooltip> -->
+ <template>
+ <el-popover trigger="hover" placement="right" >
+ <span class="mr10" slot="reference">骞冲彴璇存槑</span>
+ <div class="pup_card">
+ 涓�鍙烽�氫负鎴戝徃涓�涓涓夋柟骞冲彴涓撻棬鎻愪緵鐭俊 锛� 鐗╂祦鏌ヨ锛屽晢鍝佸鍒讹紝鐢靛瓙闈㈠崟绛変釜鎬у寲鏈嶅姟鐪佸幓浜嗚嚜宸卞崟鐙帴鍏ュ姛鑳界殑楹荤儲鍒濇杩愯浠g爜榛樿鏄病鏈夎处鍙风殑锛岄渶瑕佽嚜琛屾敞鍐岋紝
+ 鐧诲綍鎴愬姛鍚庢牴鎹彁绀鸿喘涔拌嚜宸遍渶瑕佺敤鍒扮殑鏈嶅姟鍗冲彲
+ </div>
+ </el-popover>
+ </template>
+ </div>
+ </div>
+ </div>
+ <div class="dashboard">
+ <div class="dashboard-workplace-header-extra">
+ <div class="acea-row">
+ <div class="header-extra">
+ <p class="mb5"><span>鐭俊鏉℃暟</span></p>
+ <p class="mb5">{{sms.num || 0}}</p>
+ <el-button size="mini" type="primary" @click="sms.open ===0?onOpen('sms'):mealPay('sms')" v-text="sms.open ===0?'寮�閫氭湇鍔�':'濂楅璐拱'" v-hasPermi="['admin:pass:meal:code', 'admin:pass:service:open']"></el-button>
+ </div>
+ <div class="header-extra">
+ <p class="mb5"><span>閲囬泦娆℃暟</span></p>
+ <p class="mb5">{{copy.num || 0}}</p>
+ <el-button size="mini" type="primary" @click="copy.open ===0?onOpen('copy'):mealPay('copy')" v-text="copy.open ===0?'寮�閫氭湇鍔�':'濂楅璐拱'" v-hasPermi="['admin:pass:meal:code', 'admin:pass:service:open']"></el-button>
+ </div>
+ <div class="header-extra">
+ <p class="mb5"><span>鐗╂祦鏌ヨ娆℃暟</span></p>
+ <p class="mb5">{{query.num || 0}}</p>
+ <el-button size="mini" type="primary" @click="query.open ===0?onOpen('expr_query'):mealPay('expr_query')" v-text="query.open ===0?'寮�閫氭湇鍔�':'濂楅璐拱'" v-hasPermi="['admin:pass:meal:code', 'admin:pass:service:open']"></el-button>
+ </div>
+ <div class="header-extra" style="border: none;">
+ <p class="mb5"><span>闈㈠崟鎵撳嵃娆℃暟</span> </p>
+ <p class="mb5">{{dump.num || 0}}</p>
+ <el-button size="mini" type="primary" @click="dump.open ===0?onOpen('expr_dump'):mealPay('expr_dump')" v-text="dump.open ===0?'寮�閫氭湇鍔�':'濂楅璐拱'" v-hasPermi="['admin:pass:meal:code', 'admin:pass:service:open']"></el-button>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </el-card>
+ <el-card class="box-card" v-loading="loading">
+ <table-list v-if="isShowList" ref="tableLists" :sms="sms" :copy="copy" :dump="dump" :query="query" :accountInfo="accountInfo" @openService="openService"/>
+ <login-from v-if="isShowLogn" @on-change="onChangePasssword" @on-changes="onChangeReg" @on-Login="onLogin" />
+ <forget-password :infoData="infoData" v-if="isShow" @goback="goback" @on-Login="onLogin" :isIndex="isIndex"></forget-password>
+ <forget-phone v-if="isForgetPhone" @gobackPhone="gobackPhone" @on-Login="onLogin"></forget-phone>
+ <register-from v-if="isShowReg" @on-change="logoup" />
+ </el-card>
+
+ </div>
+</template>
+
+<script>
+import tableList from './components/tableList'
+import loginFrom from './components/loginFrom'
+import registerFrom from './components/register'
+import forgetPassword from './components/forgetPassword';
+import forgetPhone from './components/forgetPhone';
+import { logoutApi, smsNumberApi, smsInfoApi } from '@/api/sms'
+import { mapGetters } from 'vuex'
+import { checkPermi } from "@/utils/permission"; // 鏉冮檺鍒ゆ柇鍑芥暟
+export default {
+ name: 'SmsConfig',
+ components: { tableList, loginFrom, registerFrom, forgetPassword, forgetPhone },
+ data() {
+ return {
+ fullscreenLoading: false,
+ loading: false,
+ smsAccount: '',
+ circleUrl: 'https://cube.elemecdn.com/0/88/03b0d39583f48206768a7534e55bcpng.png',
+ accountInfo:{},
+ spinShow: false,
+ isForgetPhone: false, // 淇敼鎵嬫満鍙�
+ isIndex: false, // 鍒ゆ柇蹇樿瀵嗙爜杩斿洖鐨勮矾寰�
+ isShowLogn: false, // 鐧诲綍
+ isShow: false, // 淇敼瀵嗙爜
+ isShowReg: false, // 娉ㄥ唽
+ isShowList: false, // 鐧诲綍涔嬪悗鍒楄〃
+ sms: { open: 0 }, // 鐭俊淇℃伅
+ query: { open: 0 }, // 鐗╂祦鏌ヨ
+ dump: { open: 0 }, // 鐢靛瓙闈㈠崟鎵撳嵃
+ copy: { open: 0 }, // 鍟嗗搧閲囬泦,
+ infoData: {},
+ }
+ },
+ computed: {
+ ...mapGetters([
+ 'isLogin'
+ ])
+ },
+ mounted() {
+ this.onIsLogin()
+ // if (!this.isLogin) {
+ // this.onIsLogin()
+ // } else {
+ // this.isShowList = true
+ // }
+ },
+ methods: {
+ checkPermi,
+ // 寮�閫氭湇鍔�
+ openService (val) {
+ this.getNumber();
+ },
+ onOpen (val) {
+ this.$refs.tableLists.onOpenIndex(val);
+ },
+ // 鎵嬫満鍙疯繑鍥�
+ gobackPhone () {
+ this.isShowList = true;
+ this.isForgetPhone = false;
+ },
+ onChangePhone () {
+ this.isForgetPhone = true
+ this.isShowLogn = false;
+ this.isShowList = false;
+ },
+ // 瀵嗙爜杩斿洖
+ goback () {
+ if (this.isIndex) {
+ this.isShowList = true;
+ this.isShow = false;
+ } else {
+ this.isShowLogn = true;
+ this.isShow = false;
+ }
+ },
+ // 淇敼瀵嗙爜
+ onChangePassswordIndex () {
+ this.isIndex = true;
+ this.passsword();
+ },
+ // 蹇樿瀵嗙爜
+ onChangePasssword () {
+ this.isIndex = false;
+ this.passsword();
+ // this.isShowLogn = false;
+ // this.isShow = true;
+ // this.isShowList = false;
+ },
+ passsword () {
+ this.isShowLogn = false;
+ this.isShow = true;
+ this.isShowList = false;
+ },
+ mealPay (val) {
+ this.$router.push({ path:'/operation/systemSms/pay',query:{type:val}});
+ },
+ // 鍓╀綑鏉℃暟
+ getNumber() {
+ this.loading = true;
+ smsInfoApi().then(async res => {
+ let data = res;
+ this.infoData = res;
+ this.sms = {
+ num: data.sms.num,
+ open: data.sms.open,
+ surp: data.sms.open
+ };
+ this.query = {
+ num: data.query.num,
+ open: data.query.open,
+ surp: data.query.open
+ };
+ this.dump = {
+ num: data.dump.num,
+ open: data.dump.open,
+ surp: data.dump.open
+ };
+ this.copy = {
+ num: data.copy.num,
+ open: data.copy.open,
+ surp: data.copy.open
+ };
+ this.loading = false;
+ this.smsAccount = data.account;
+ this.accountInfo = data;
+ }).catch(res => {
+ this.isShowLogn = true;
+ this.isShowList = false;
+ this.loading = false;
+ })
+ },
+ // 鐧诲綍璺宠浆
+ onLogin() {
+ const url = this.$route.query.url
+ if (url) {
+ this.$router.replace(url)
+ } else {
+ this.getNumber()
+ this.isShowLogn = false
+ this.isShow = false
+ this.isShowReg = false
+ this.isShowList = true
+ }
+ },
+ // 鏌ョ湅鏄惁鐧诲綍
+ onIsLogin() {
+ this.fullscreenLoading = true
+ this.$store.dispatch('user/isLogin').then(async res => {
+ const data = res
+ this.isShowLogn = !data.status
+ this.isShowList = data.status
+ if (data.status) {
+ this.smsAccount = data.info
+ this.getNumber()
+ }
+ this.fullscreenLoading = false
+ }).catch(res => {
+ this.fullscreenLoading = false
+ this.isShowLogn = true
+ })
+ },
+ // 閫�鍑虹櫥褰�
+ signOut() {
+ logoutApi().then(async res => {
+ this.isShowLogn = true
+ this.isShowList = false
+ this.infoData.phone = '';
+ this.$store.dispatch('user/isLogin')
+ })
+ },
+ // 绔嬪嵆娉ㄥ唽
+ onChangeReg() {
+ this.isShowLogn = false
+ this.isShow = false
+ this.isShowReg = true
+ },
+ // 绔嬪嵆鐧诲綍
+ logoup() {
+ this.isShowLogn = true
+ this.isShow = false
+ this.isShowReg = false
+ }
+ }
+}
+</script>
+
+<style scoped lang="scss">
+ .dashboard{
+ width: auto !important;
+ min-width: 300px;
+ }
+ .header-extra{
+ /*width: 25%;*/
+ border-right: 1px solid #E9E9E9;
+ text-align: center;
+ padding: 0 18px;
+ }
+ $cursor: #1890ff;
+ .content{
+ justify-content: space-between;
+ }
+ .circleUrl{
+ width: 50px;
+ height: 50px;
+ }
+ .circleUrl img{
+ width: 100%;
+ height: 100%;
+ border-radius: 50%;
+ overflow: hidden;
+ }
+ .rR{
+ text-align: center;
+ font-size: 22px;
+ display: block;
+ }
+ .dashboard-workplace-header-tip {
+ display: inline-block;
+ vertical-align: middle;
+ }
+ .dashboard-workplace-header-tip-title {
+ font-size: 20px;
+ font-weight: 700;
+ margin-bottom: 12px;
+ }
+ .dashboard-workplace-header-tip-desc{
+ /*line-height: 0 !important;*/
+ display: block;
+ span{
+ font-size: 12px;
+ color: $cursor;
+ cursor: pointer;
+ display: inline-block;
+ }
+ }
+ .dashboard-workplace-header-extra{
+ width: auto!important;
+ min-width: 400px;
+ }
+ .pfont{
+ font-size: 12px;
+ color: #808695;
+ }
+ .text_overflow{
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+.pup_card{
+ width: 240px;
+ border-radius: 5px;
+ padding: 5px;
+ box-sizing: border-box;
+ font-size: 12px;
+ line-height: 16px;
+}
+</style>
diff --git a/src/views/sms/smsMessage/index.vue b/src/views/sms/smsMessage/index.vue
new file mode 100644
index 0000000..f9358ce
--- /dev/null
+++ b/src/views/sms/smsMessage/index.vue
@@ -0,0 +1,74 @@
+<template>
+ <div class="divBox">
+ <el-card class="box-card">
+ <zb-parser
+ :form-id="formId"
+ :is-create="isCreate"
+ :edit-data="editData"
+ @submit="handlerSubmit"
+ @resetForm="resetForm"
+ v-if="isShow"
+ />
+ </el-card>
+ </div>
+</template>
+
+<script>
+ import zbParser from '@/components/FormGenerator/components/parser/ZBParser'
+ import { configSaveForm, configInfo } from '@/api/systemConfig.js'
+ export default {
+ name: "SmsMessage",
+ components: { zbParser },
+ data() {
+ return {
+ isShow: true,
+ isCreate: 0,
+ editData: {},
+ formId: 111
+ }
+ },
+ mounted() {
+ this.getFormInfo()
+ },
+ methods: {
+ resetForm(formValue) {
+ this.isShow = false;
+ },
+ handlerSubmit(data) {
+ const tempArr = []
+ for (var key in data) {
+ const obj = {}
+ obj.name = key
+ obj.title = key
+ obj.value = data[key]
+ tempArr.push(obj)
+ }
+ const _pram = {
+ 'fields': tempArr,
+ 'id': this.formId,
+ 'sort': 0,
+ 'status': true
+ }
+ configSaveForm(_pram).then(res => {
+ this.getFormInfo()
+ this.$message.success('鎿嶄綔鎴愬姛')
+ })
+ },
+ // 鑾峰彇琛ㄥ崟璇︽儏
+ getFormInfo() {
+ configInfo({ id: this.formId }).then(res => {
+ this.isShow = false
+ this.editData = res
+ this.isCreate = 1
+ setTimeout(() => { // 璁╄〃鍗曢噸澶嶆覆鏌撳緟缂栬緫鏁版嵁
+ this.isShow = true
+ }, 80)
+ })
+ }
+ }
+ }
+</script>
+
+<style scoped>
+
+</style>
diff --git a/src/views/sms/smsPay/index.vue b/src/views/sms/smsPay/index.vue
new file mode 100644
index 0000000..1bef523
--- /dev/null
+++ b/src/views/sms/smsPay/index.vue
@@ -0,0 +1,305 @@
+<template>
+ <div class="divBox relative">
+ <el-card class="box-card">
+ <el-tabs v-model="tableFrom.type" @tab-click="onChangeType" class="mb20">
+ <el-tab-pane label="鐭俊" name="sms"></el-tab-pane>
+ <el-tab-pane label="鍟嗗搧閲囬泦" name="copy"></el-tab-pane>
+ <el-tab-pane label="鐗╂祦鏌ヨ" name="expr_query"></el-tab-pane>
+ <el-tab-pane label="鐢靛瓙闈㈠崟鎵撳嵃" name="expr_dump"></el-tab-pane>
+ </el-tabs>
+ <router-link :to="{path:'/operation/onePass'}">
+ <el-button class="link_abs" size="mini" icon="el-icon-arrow-left">杩斿洖</el-button>
+ </router-link>
+ <el-row v-loading="fullscreenLoading" :gutter="16">
+ <el-col :span="24" class="ivu-text-left mb20">
+ <el-col :xs="12" :sm="6" :md="4" :lg="2" class="mr20">
+ <span class="ivu-text-right ivu-block">鐭俊璐︽埛鍚嶇О锛�</span>
+ </el-col>
+ <el-col :xs="11" :sm="13" :md="19" :lg="20">
+ <span>{{ account }}</span>
+ </el-col>
+ </el-col>
+ <el-col :span="24" class="ivu-text-left mb20">
+ <el-col :xs="12" :sm="6" :md="4" :lg="2" class="mr20">
+ <span class="ivu-text-right ivu-block">褰撳墠鍓╀綑鏉℃暟锛�</span>
+ </el-col>
+ <el-col :xs="11" :sm="13" :md="19" :lg="20">
+ <span>{{ numbers }}</span>
+ </el-col>
+ </el-col>
+ <el-col :span="24" class="ivu-text-left mb20">
+ <el-col :xs="12" :sm="6" :md="4" :lg="2" class="mr20">
+ <span class="ivu-text-right ivu-block">閫夋嫨濂楅锛�</span>
+ </el-col>
+ <el-col :xs="11" :sm="13" :md="19" :lg="20">
+ <el-row :gutter="20">
+ <el-col
+ v-for="(item, index) in list"
+ :key="index"
+ :xl="6"
+ :lg="6"
+ :md="12"
+ :sm="24"
+ :xs="24"
+ >
+ <div
+ class="list-goods-list-item mb15"
+ :class="{active:index === current}"
+ @click="check(item,index)"
+ >
+ <div class="list-goods-list-item-title" :class="{active:index === current}">楼 <i>{{ item.price }}</i></div>
+ <div class="list-goods-list-item-price" :class="{active:index === current}">
+ <span>{{tableFrom.type | onePassTypeFilter}}鏉℃暟: {{ item.num }}</span>
+ </div>
+ </div>
+ </el-col>
+ </el-row>
+ </el-col>
+ </el-col>
+ <el-col v-if="checkList" :span="24" class="ivu-text-left mb20">
+ <el-col :xs="12" :sm="6" :md="4" :lg="2" class="mr20">
+ <span class="ivu-text-right ivu-block">鍏呭�兼潯鏁帮細</span>
+ </el-col>
+ <el-col :xs="11" :sm="13" :md="19" :lg="20">
+ <span>{{ checkList.num }}</span>
+ </el-col>
+ </el-col>
+ <el-col v-if="checkList" :span="24" class="ivu-text-left mb20">
+ <el-col :xs="12" :sm="6" :md="4" :lg="2" class="mr20">
+ <span class="ivu-text-right ivu-block">鏀粯閲戦锛�</span>
+ </el-col>
+ <el-col :xs="11" :sm="13" :md="19" :lg="20">
+ <span class="list-goods-list-item-number">锟{ checkList.price }}</span>
+ </el-col>
+ </el-col>
+ <el-col :span="24" class="ivu-text-left mb20">
+ <el-col :xs="12" :sm="6" :md="4" :lg="2" class="mr20">
+ <span class="ivu-text-right ivu-block">浠樻鏂瑰紡锛�</span>
+ </el-col>
+ <el-col :xs="11" :sm="13" :md="19" :lg="20">
+ <span class="list-goods-list-item-pay">寰俊鏀粯<i v-if="code.invalid">{{ ' 锛� 鏀粯鐮佽繃鏈熸椂闂达細' + code.invalid + ' 锛�' }}</i></span>
+ </el-col>
+ </el-col>
+ <el-col :span="24">
+ <el-col :xs="12" :sm="6" :md="4" :lg="2" class="mr20"> </el-col>
+ <el-col :xs="11" :sm="13" :md="19" :lg="20">
+ <div class="list-goods-list-item-code mr20">
+<!-- <img :src="code.code_url">-->
+ <div id="payQrcode"></div>
+ </div>
+ </el-col>
+ </el-col>
+ </el-row>
+ </el-card>
+ </div>
+</template>
+
+<script>
+import { smsNumberApi, smsPriceApi, payCodeApi, smsInfoApi } from '@/api/sms'
+import { isLogin } from '@/libs/public'
+import { mapGetters } from 'vuex'
+import QRcode from 'qrcodejs2'
+export default {
+ name: 'SmsPay',
+ data() {
+ return {
+ numbers: '',
+ account: '',
+ list: [],
+ current: 0,
+ checkList: {},
+ fullscreenLoading: false,
+ code: {},
+ tableFrom: {
+ type: 'sms'
+ },
+ }
+ },
+ computed: {
+ ...mapGetters([
+ 'isLogin'
+ ])
+ },
+ created () {
+ this.tableFrom.type = this.$route.query.type;
+ this.onIsLogin();
+ },
+ mounted() {
+ if (!this.isLogin) {
+ // this.$router.push('/operation/onePass?url=' + this.$route.path)
+ } else {
+ this.getNumber()
+ this.getPrice()
+ }
+ },
+ methods: {
+ onChangeType (val) {
+ this.current = 0;
+ this.getPrice();
+ this.getNumber()
+ },
+ // 鏌ョ湅鏄惁鐧诲綍
+ onIsLogin() {
+ this.fullscreenLoading = true
+ this.$store.dispatch('user/isLogin').then(async res => {
+ const data = res
+ if (!data.status) {
+ this.$message.warning('璇峰厛鐧诲綍')
+ this.$router.push('/operation/onePass?url=' + this.$route.path)
+ } else {
+ this.getNumber()
+ this.getPrice()
+ }
+ this.fullscreenLoading = false
+ }).catch(res => {
+ this.$router.push('/operation/onePass?url=' + this.$route.path)
+ this.fullscreenLoading = false
+ })
+ },
+ // 鍓╀綑鏉℃暟
+ getNumber() {
+ smsInfoApi().then(async res => {
+ let data = res;
+ this.account = data.account;
+ switch (this.tableFrom.type) {
+ case 'sms':
+ this.numbers = data.sms.num
+ break;
+ case 'copy':
+ this.numbers = data.copy.num
+ break;
+ case 'expr_dump':
+ this.numbers = data.dump.num
+ break;
+ default:
+ this.numbers = data.query.num
+ break;
+ }
+ })
+ },
+ // 鏀粯濂楅
+ getPrice() {
+ this.fullscreenLoading = true
+ smsPriceApi(this.tableFrom).then(async res => {
+ setTimeout(() => {
+ this.fullscreenLoading = false
+ }, 800)
+ const data = res
+ this.list = data.data
+ this.checkList = this.list[0]
+ this.getCode(this.checkList)
+ }).catch(() => {
+ this.fullscreenLoading = false
+ })
+ },
+ // 閫変腑
+ check(item, index) {
+ this.fullscreenLoading = true
+ this.current = index
+ setTimeout(() => {
+ this.getCode(item)
+ this.checkList = item
+ this.fullscreenLoading = false
+ }, 800)
+ },
+ // 鏀粯鐮�
+ getCode(item) {
+ const data = {
+ payType: 'weixin',
+ mealId: item.id,
+ price: item.price,
+ num: item.num,
+ type: this.tableFrom.type
+ }
+ payCodeApi(data).then(async res => {
+ this.code = res
+ document.getElementById('payQrcode').innerHTML = '';
+ new QRcode('payQrcode', { width:135, height:135,text: res.qr_code})
+ })
+ }
+ }
+}
+</script>
+
+<style lang="scss" scoped>
+ .active{
+ background: #0091FF;
+ box-shadow:0px 6px 20px 0px rgba(0, 145, 255, 0.3);
+ color: #fff !important;
+ }
+ .list-goods-list-item{
+ border: 1px solid #DADFE6;
+ height: 118px;
+ box-sizing: border-box;
+ border-radius:4px;
+ display: flex;
+ justify-content: center;
+ flex-direction: column;
+ align-items: center;
+ }
+ .list-goods-list{
+ &-item{
+ text-align: center;
+ position: relative;
+ cursor: pointer;
+ img{
+ width: 60%;
+ }
+ .ivu-tag{
+ position: absolute;
+ top: 10px;
+ right: 10px;
+ }
+ &-title{
+ font-size: 16px;
+ font-weight: bold;
+ color: #0091FF;
+ margin-bottom: 15px;
+ i{
+ font-size: 30px;
+ font-style: normal;
+ }
+ }
+ &-desc{
+ font-size: 14px;
+ color: #303133;
+ }
+ &-price{
+ font-size: 14px;
+ color: #000000;
+ s{
+ color: #c5c8ce;
+ }
+ }
+ &-number{
+ font-size: 14px;
+ color: #ED4014;
+ }
+ &-pay{
+ font-size: 14px;
+ color: #00C050;
+ i{
+ font-size: 12px;
+ font-style: normal;
+ color: #6D7278;
+ }
+ }
+ &-code{
+ width: 130px;
+ height: 130px;
+ img{
+ width: 100%;
+ height: 100%;
+ }
+ }
+ }
+ }
+ .relative{
+ position: relative;
+ }
+ .link_abs{
+ position: absolute;
+ top: 36px;
+ right: 40px;
+ }
+</style>
diff --git a/src/views/sms/smsTemplate/index.vue b/src/views/sms/smsTemplate/index.vue
new file mode 100644
index 0000000..6139101
--- /dev/null
+++ b/src/views/sms/smsTemplate/index.vue
@@ -0,0 +1,208 @@
+<template>
+ <!--v-if="isLogin"-->
+ <div class="divBox" v-if="isLogin">
+ <el-card v-loading="fullscreenLoading" class="box-card">
+ <div slot="header" class="clearfix">
+ <div class="container">
+ <router-link :to="{path:'/operation/onePass'}">
+ <el-button class="mb35" size="mini" icon="el-icon-arrow-left">杩斿洖</el-button>
+ </router-link>
+ </div>
+ <el-button size="mini" type="primary" @click="add">娣诲姞鐭俊妯℃澘</el-button>
+ </div>
+ <el-table
+ v-loading="listLoading"
+ :data="tableData.data"
+ style="width: 100%"
+ size="mini"
+ highlight-current-row
+ >
+ <el-table-column
+ prop="id"
+ label="ID"
+ min-width="50"
+ />
+ <el-table-column
+ prop="temp_id"
+ label="妯℃澘ID"
+ min-width="80"
+ />
+ <el-table-column
+ prop="title"
+ label="妯℃澘鍚嶇О"
+ min-width="120"
+ />
+ <el-table-column
+ prop="content"
+ label="妯℃澘鍐呭"
+ min-width="500"
+ />
+ <el-table-column
+ label="妯℃澘绫诲瀷"
+ min-width="100"
+ >
+ <template slot-scope="{row}">
+ <span>{{ row.temp_type | typesFilter }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column label="妯℃澘鐘舵��">
+ <template slot-scope="{row}">
+ <span>{{ row.status | statusFilter }}</span>
+ </template>
+ </el-table-column>
+ </el-table>
+ <div class="block">
+ <el-pagination
+ :page-sizes="[20, 40, 60, 80]"
+ :page-size="tableFrom.limit"
+ :current-page="tableFrom.page"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="tableData.total"
+ @size-change="handleSizeChange"
+ @current-change="pageChange"
+ />
+ </div>
+ </el-card>
+
+ <!--缂栬緫-->
+ <el-dialog
+ title="娣诲姞妯℃澘"
+ :visible.sync="dialogVisible"
+ width="500px"
+ :before-close="handleClose">
+ <zb-parser
+ v-if="dialogVisible"
+ :form-id="110"
+ :is-create="isCreate"
+ :edit-data="editData"
+ @submit="handlerSubmit"
+ @resetForm="resetForm"
+ />
+ </el-dialog>
+ </div>
+</template>
+
+<script>
+import { smsTempLstApi, tempCreateApi } from '@/api/sms'
+import { roterPre } from '@/settings'
+import { mapGetters } from 'vuex'
+import zbParser from '@/components/FormGenerator/components/parser/ZBParser'
+import {Debounce} from '@/utils/validate'
+export default {
+ name: 'SmsTemplate',
+ components: { zbParser },
+ filters: {
+ statusFilter(status) {
+ const statusMap = {
+ 0: '涓嶅彲鐢�',
+ 1: '鍙敤'
+ }
+ return statusMap[status]
+ },
+ typesFilter(status) {
+ const statusMap = {
+ 1: '楠岃瘉鐮�',
+ 2: '閫氱煡',
+ 3: '鎺ㄥ箍'
+ }
+ return statusMap[status]
+ }
+ },
+ data() {
+ return {
+ isCreate: 0,
+ editData: {},
+ dialogVisible: false,
+ fullscreenLoading: false,
+ listLoading: false,
+ tableData: {
+ data: [],
+ total: 0
+ },
+ tableFrom: {
+ page: 1,
+ limit: 20
+ }
+ }
+ },
+ computed: {
+ ...mapGetters([
+ 'isLogin'
+ ])
+ },
+ mounted() {
+ if (!this.isLogin) {
+ this.$router.push('/operation/onePass?url=' + this.$route.path)
+ } else {
+ this.getList()
+ }
+ },
+ methods: {
+ resetForm(formValue) {
+ this.handleClose();
+ },
+ handleClose() {
+ this.dialogVisible = false
+ this.editData = {}
+ },
+ handlerSubmit:Debounce(function(formValue) {
+ tempCreateApi(formValue).then(data => {
+ this.$message.success('鏂板鎴愬姛')
+ this.dialogVisible = false
+ this.editData = {}
+ this.getList()
+ })
+ }),
+ add() {
+ this.dialogVisible = true
+ },
+ // 鏌ョ湅鏄惁鐧诲綍
+ onIsLogin() {
+ this.fullscreenLoading = true
+ this.$store.dispatch('user/isLogin').then(async res => {
+ const data = res
+ if (!data.status) {
+ this.$message.warning('璇峰厛鐧诲綍')
+ this.$router.push( '/operation/onePass?url=' + this.$route.path)
+ } else {
+ this.getList()
+ }
+ this.fullscreenLoading = false
+ }).catch(res => {
+ this.$router.push( '/operation/onePass?url=' + this.$route.path)
+ this.fullscreenLoading = false
+ })
+ },
+ // 鍒楄〃
+ getList() {
+ this.listLoading = true
+ smsTempLstApi(this.tableFrom).then(res => {
+ this.tableData.data = res.data
+ this.tableData.total = res.count
+ this.listLoading = false
+ }).catch(res => {
+ this.listLoading = false
+ })
+ },
+ pageChange(page) {
+ this.tableFrom.page = page
+ this.getList()
+ },
+ handleSizeChange(val) {
+ this.tableFrom.limit = val
+ this.getList()
+ },
+ // 琛ㄦ牸鎼滅储
+ userSearchs() {
+ this.tableFrom.page = 1
+ this.getList()
+ }
+ }
+}
+</script>
+
+<style scoped lang="scss">
+ .selWidth{
+ width: 350px !important;
+ }
+</style>
diff --git a/src/views/systemLog/index.vue b/src/views/systemLog/index.vue
new file mode 100644
index 0000000..3d74e8f
--- /dev/null
+++ b/src/views/systemLog/index.vue
@@ -0,0 +1,202 @@
+<template>
+ <div class="divBox">
+ <el-card class="box-card">
+ <div class="clearfix">
+ <div class="container">
+ <el-form size="small" label-width="100px" inline>
+ <el-form-item label="鎿嶄綔绫诲瀷">
+ <el-select
+ v-model="tableFrom.operationType"
+ clearable
+ placeholder="璇烽�夋嫨"
+ class="selWidth"
+ >
+ <el-option
+ v-for="item in typeOptions"
+ :key="item.name"
+ :label="item.name"
+ :value="item.name"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="鐢ㄦ埛">
+ <el-input
+ v-model="tableFrom.username"
+ placeholder="璇疯緭鍏ョ敤鎴峰悕绉�"
+ class="selWidth"
+ size="small"
+ clearable
+ >
+ </el-input>
+ </el-form-item>
+ <el-form-item label="璁块棶IP">
+ <el-input
+ v-model="tableFrom.ip"
+ placeholder="璇疯緭鍏ヨ闂甀P"
+ class="selWidth"
+ size="small"
+ clearable
+ >
+ </el-input>
+ </el-form-item>
+ <el-form-item label="鏃堕棿閫夋嫨">
+ <el-date-picker
+ v-model="timeVal"
+ value-format="yyyy-MM-dd"
+ format="yyyy-MM-dd"
+ size="small"
+ type="daterange"
+ placement="bottom-end"
+ start-placeholder="寮�濮嬫棩鏈�"
+ end-placeholder="缁撴潫鏃ユ湡"
+ style="width: 20vw"
+ />
+ </el-form-item>
+ <el-form-item>
+ <el-button type="primary" @click="getList(1)" size="small"
+ >鏌ヨ</el-button
+ >
+ </el-form-item>
+ </el-form>
+ </div>
+ </div>
+ </el-card>
+
+ <el-card class="box-card">
+ <el-table
+ v-loading="listLoading"
+ :data="tableData.data"
+ style="width: 100%"
+ size="mini"
+ class="table"
+ highlight-current-row
+ >
+ <el-table-column prop="username" label="鐢ㄦ埛鍚�" min-width="180" />
+ <el-table-column prop="ip" label="璁块棶IP" min-width="120" />
+
+ <el-table-column prop="operationType" label="鎿嶄綔绫诲瀷" min-width="200">
+ </el-table-column>
+ <el-table-column
+ prop="operationContent"
+ label="鎿嶄綔鍐呭"
+ min-width="200"
+ >
+ </el-table-column>
+ <el-table-column prop="result" label="缁撴灉" min-width="200">
+ </el-table-column>
+ <el-table-column prop="operationTime" label="鎿嶄綔鏃堕棿" min-width="150"
+ ><template slot-scope="scope">
+ <span>{{ scope.row.operationTime | vformatDate }}</span>
+ </template></el-table-column
+ >
+ </el-table>
+ <div class="block">
+ <el-pagination
+ :page-sizes="[20, 40, 60, 80]"
+ :page-size="tableFrom.limit"
+ :current-page="tableFrom.page"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="tableData.total"
+ @size-change="handleSizeChange"
+ @current-change="pageChange"
+ />
+ </div>
+ </el-card>
+ </div>
+</template>
+
+<script>
+import * as systemGroupDataApi from "@/api/systemGroupData.js";
+import { getSystemLogListApi } from "@/api/vehicle";
+import { checkPermi } from "@/utils/permission"; // 鏉冮檺鍒ゆ柇鍑芥暟
+export default {
+ name: "systemLog",
+ components: {},
+ data() {
+ return {
+ typeOptions: [],
+ timeVal: [],
+ tableData: {
+ data: [],
+ total: 0,
+ },
+ listLoading: true,
+ tableFrom: {
+ ip: "",
+ operationEndTime: "",
+ operationStartTime: "",
+ operationType: "鍏ㄩ儴",
+ username: "",
+ page: 1,
+ limit: 20,
+ },
+ };
+ },
+ mounted() {
+ this.getOptionList();
+ this.getList();
+ },
+ methods: {
+ checkPermi,
+ // 鍒楄〃
+ getList(num) {
+ this.listLoading = true;
+ this.tableFrom.page = num ? num : this.tableFrom.page;
+ if (this.timeVal) {
+ this.tableFrom.operationStartTime = this.timeVal[0];
+ this.tableFrom.operationEndTime = this.timeVal[1];
+ } else {
+ this.tableFrom.operationStartTime = "";
+ this.tableFrom.operationEndTime = "";
+ }
+
+ getSystemLogListApi(this.tableFrom)
+ .then((res) => {
+ this.tableData.data = res.list;
+ this.tableData.total = res.total;
+ this.listLoading = false;
+ })
+ .catch(() => {
+ this.listLoading = false;
+ });
+ },
+ getOptionList() {
+ // 鑾峰彇鍒楄〃鏁版嵁
+ systemGroupDataApi.groupDataList({ gid: 80,page:1,limit:100 }).then((data) => {
+ const _selfList = [];
+ data.list.forEach((_lItem) => {
+ _lItem.value = JSON.parse(_lItem.value);
+ const _fields = _lItem.value.fields;
+ const _rowData = {};
+ _fields.map((item) => {
+ _rowData[item.name] = item.value;
+ });
+ _rowData.id = _lItem.id;
+ if (_lItem.status) {
+ _selfList.push(_rowData);
+ }
+ });
+ let model = { id: "", name: "鍏ㄩ儴" };
+ _selfList.unshift(model);
+
+ this.typeOptions = _selfList;
+ });
+ },
+ pageChange(page) {
+ this.tableFrom.page = page;
+ this.getList();
+ },
+ handleSizeChange(val) {
+ this.tableFrom.limit = val;
+ this.getList();
+ },
+ },
+};
+</script>
+
+<style scoped>
+.selWidth {
+ width: 20vw;
+}
+</style>
diff --git a/src/views/systemSetting/administratorAuthority/adminList/edit.vue b/src/views/systemSetting/administratorAuthority/adminList/edit.vue
new file mode 100644
index 0000000..b6c8dd6
--- /dev/null
+++ b/src/views/systemSetting/administratorAuthority/adminList/edit.vue
@@ -0,0 +1,323 @@
+<template>
+ <div>
+ <el-form
+ ref="pram"
+ :model="pram"
+ :rules="rules"
+ label-width="100px"
+ @submit.native.prevent
+ >
+ <el-form-item label="绠$悊鍛樿处鍙�" prop="account">
+ <el-input v-model="pram.account" placeholder="绠$悊鍛樿处鍙�" />
+ </el-form-item>
+ <el-form-item label="绠$悊鍛樺瘑鐮�" prop="pwd">
+ <el-input
+ v-model="pram.pwd"
+ placeholder="绠$悊鍛樺瘑鐮�"
+ clearable
+ @input="handlerPwdInput"
+ @clear="handlerPwdInput"
+ />
+ </el-form-item>
+ <el-form-item v-if="pram.pwd" label="纭瀵嗙爜" prop="repwd">
+ <el-input v-model="pram.repwd" placeholder="纭瀵嗙爜" clearable />
+ </el-form-item>
+ <el-form-item label="绠$悊鍛樺鍚�" prop="realName">
+ <el-input v-model="pram.realName" placeholder="绠$悊鍛樺鍚�" />
+ </el-form-item>
+ <el-form-item label="绠$悊鍛樿韩浠�" prop="roles">
+ <el-select
+ v-model="pram.roles"
+ placeholder="韬唤"
+ clearable
+ multiple
+ style="width: 100%"
+ >
+ <el-option
+ v-for="(item, index) in roleList.list"
+ :key="index"
+ :label="item.roleName"
+ :value="item.id"
+ />
+ </el-select>
+ </el-form-item>
+ <el-form-item label="鎵嬫満鍙�" prop="phone">
+ <el-input
+ type="text"
+ v-model="pram.phone"
+ prefix="ios-contact-outline"
+ placeholder="璇疯緭鍏ユ墜鏈哄彿"
+ size="large"
+ />
+ </el-form-item>
+ <el-form-item prop="areaId" label="瑁呭嵏鍖哄煙">
+ <el-select
+ v-model="pram.areaId"
+ clearable
+ multiple
+ placeholder="璇烽�夋嫨"
+ class="selWidth"
+ >
+ <el-option
+ v-for="item in areaOptions"
+ :key="item.id"
+ :label="item.name"
+ :value="item.id"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="鐘舵��">
+ <el-switch
+ v-model="pram.status"
+ :active-value="true"
+ :inactive-value="false"
+ />
+ </el-form-item>
+
+ <el-form-item>
+ <el-button
+ type="primary"
+ @click="handlerSubmit('pram')"
+ v-hasPermi="['admin:system:admin:update', 'admin:system:admin:save']"
+ >{{ isCreate === 0 ? "纰哄畾" : "鏇存柊" }}</el-button
+ >
+ <el-button @click="close">鍙栨秷</el-button>
+ </el-form-item>
+ </el-form>
+ </div>
+</template>
+
+<script>
+import * as roleApi from "@/api/role.js";
+import * as systemAdminApi from "@/api/systemadmin.js";
+import * as systemGroupDataApi from "@/api/systemGroupData.js";
+
+import { Debounce } from "@/utils/validate";
+export default {
+ // name: "edit"
+ components: {},
+ props: {
+ isCreate: {
+ type: Number,
+ required: true,
+ },
+ editData: {
+ type: Object,
+ default: () => {
+ return { rules: [] };
+ },
+ },
+ },
+ data() {
+ const validatePhone = (rule, value, callback) => {
+ if (!value) {
+ return callback(new Error("璇峰~鍐欐墜鏈哄彿"));
+ } else if (!/^1[3456789]\d{9}$/.test(value)) {
+ callback(new Error("鎵嬫満鍙锋牸寮忎笉姝g‘!"));
+ } else {
+ callback();
+ }
+ };
+ const validatePass = (rule, value, callback) => {
+ if (value === "") {
+ callback(new Error("璇峰啀娆¤緭鍏ュ瘑鐮�"));
+ } else if (value !== this.pram.pwd) {
+ callback(new Error("涓ゆ杈撳叆瀵嗙爜涓嶄竴鑷�!"));
+ } else {
+ callback();
+ }
+ };
+ return {
+ constants: this.$constants,
+ pram: {
+ account: null,
+ level: null,
+ pwd: null,
+ repwd: null,
+ realName: null,
+ roles: [],
+ status: null,
+ id: null,
+ phone: null,
+ areaId: null,
+ },
+ areaOptions: [],
+ roleList: [],
+ rules: {
+ account: [
+ {
+ required: true,
+ message: "璇峰~绠$悊鍛樿处鍙�",
+ trigger: ["blur", "change"],
+ },
+ ],
+ pwd: [
+ {
+ required: true,
+ message: "璇峰~绠$悊鍛樺瘑鐮�",
+ trigger: ["blur", "change"],
+ },
+ ],
+ repwd: [
+ {
+ required: true,
+ message: "纭瀵嗙爜瀵嗙爜",
+ validator: validatePass,
+ trigger: ["blur", "change"],
+ },
+ ],
+ realName: [
+ {
+ required: true,
+ message: "绠$悊鍛樺鍚�",
+ trigger: ["blur", "change"],
+ },
+ ],
+ roles: [
+ {
+ required: true,
+ message: "绠$悊鍛樿韩浠�",
+ trigger: ["blur", "change"],
+ },
+ ],
+ },
+ };
+ },
+ mounted() {
+ this.initEditData();
+ this.handleGetRoleList();
+ },
+ methods: {
+ close() {
+ this.$emit("hideEditDialog");
+ },
+ handleGetRoleList() {
+ const _pram = {
+ page: 1,
+ limit: this.constants.page.limit[4],
+ status: 1,
+ };
+ roleApi.getRoleList(_pram).then((data) => {
+ this.roleList = data;
+ let arr = [];
+ data.list.forEach((item) => {
+ arr.push(item.id);
+ });
+ if (!arr.includes(Number.parseInt(this.pram.roles))) {
+ this.$set(this.pram, "roles", []);
+ }
+ });
+ // 鑾峰彇鍒楄〃鏁版嵁
+ systemGroupDataApi.groupDataList({ gid: 74 }).then((data) => {
+ const _selfList = [];
+ data.list.forEach((_lItem) => {
+ _lItem.value = JSON.parse(_lItem.value);
+ const _fields = _lItem.value.fields;
+ const _rowData = {};
+ _fields.map((item) => {
+ _rowData[item.name] = item.value;
+ });
+ _rowData.id = _lItem.id;
+ if (_lItem.status) {
+ _selfList.push(_rowData);
+ }
+ });
+ this.areaOptions = _selfList;
+ });
+ },
+ initEditData() {
+ if (this.isCreate !== 1) return;
+ const { account, realName, roles, areaIdList, status, id, phone, a } =
+ this.editData;
+ this.pram.account = account;
+ this.pram.realName = realName;
+ this.pram.areaId = areaIdList;
+ const _roles = [];
+ if (roles.length > 0 && !roles.includes(",")) {
+ //濡傛灉鏉冮檺id闆嗗悎鏈夐暱搴﹀苟涓旀槸鍙湁涓�涓紝灏卞皢瀹働ush杩沖roles杩欎釜鏁扮粍
+ _roles.push(Number.parseInt(roles));
+ } else {
+ //鍚﹀垯灏卞皢澶氫釜id闆嗗悎瑙f瀯浠ュ悗push杩況oles骞朵笖杞崲涓烘暣鍨�
+ _roles.push(...roles.split(",").map((item) => Number.parseInt(item)));
+ }
+ this.pram.roles = _roles;
+ this.pram.status = status;
+ this.pram.id = id;
+ this.pram.phone = phone;
+ this.rules.pwd = [];
+ this.rules.repwd = [];
+ },
+ handlerSubmit: Debounce(function (form) {
+ this.$refs[form].validate((valid) => {
+ if (!valid) return;
+ if (this.isCreate === 0) {
+ this.handlerSave();
+ } else {
+ this.handlerEdit();
+ }
+ });
+ }),
+ handlerSave() {
+ systemAdminApi.adminAdd(this.pram).then((data) => {
+ this.$message.success("鍒涘缓绠$悊鍛樻垚鍔�");
+ this.$emit("hideEditDialog");
+ });
+ },
+ handlerEdit() {
+ this.pram.roles = this.pram.roles.join(",");
+ systemAdminApi.adminUpdate(this.pram).then((data) => {
+ this.$message.success("鏇存柊绠$悊鍛樻垚鍔�");
+ this.$emit("hideEditDialog");
+ });
+ },
+ rulesSelect(selectKeys) {
+ this.pram.rules = selectKeys;
+ },
+ handlerPwdInput(val) {
+ if (!val) {
+ this.rules.pwd = [];
+ this.rules.repwd = [];
+ return;
+ }
+ this.rules.pwd = [
+ {
+ required: true,
+ message: "璇峰~绠$悊鍛樺瘑鐮�",
+ trigger: ["blur", "change"],
+ },
+ {
+ min: 6,
+ max: 20,
+ message: "闀垮害8-20涓瓧绗�",
+ trigger: ["blur", "change"],
+ },
+ {
+ pattern:
+ /^(?![A-z0-9]+$)(?=.[^%&',;=?$\x22])(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9]).{6,}$/,
+ message: "瀵嗙爜蹇呴』鍖呭惈鏁板瓧锛屽ぇ灏忓啓瀛楁瘝鍜岀壒娈婄鍙蜂笖闀垮害澶т簬8浣�",
+ trigger: ["blur", "change"],
+ },
+ ];
+ this.rules.repwd = [
+ {
+ required: true,
+ message: "涓ゆ杈撳叆瀵嗙爜涓嶄竴鑷�",
+ validator: (rule, value, callback) => {
+ if (value === "") {
+ callback(new Error("涓ゆ杈撳叆瀵嗙爜涓嶄竴鑷�!"));
+ } else if (value !== this.pram.pwd) {
+ callback(new Error("涓ゆ杈撳叆瀵嗙爜涓嶄竴鑷�!"));
+ } else {
+ callback();
+ }
+ },
+ trigger: ["blur", "change"],
+ },
+ ];
+ },
+ },
+};
+</script>
+
+<style scoped></style>
diff --git a/src/views/systemSetting/administratorAuthority/adminList/index.vue b/src/views/systemSetting/administratorAuthority/adminList/index.vue
new file mode 100644
index 0000000..3bce8ca
--- /dev/null
+++ b/src/views/systemSetting/administratorAuthority/adminList/index.vue
@@ -0,0 +1,372 @@
+<template>
+ <div class="divBox">
+ <el-card class="box-card">
+ <el-form inline size="small" @submit.native.prevent>
+ <el-form-item>
+ <el-select
+ v-model="listPram.roles"
+ placeholder="韬唤"
+ clearable
+ class="selWidth"
+ >
+ <el-option
+ v-for="item in roleList.list"
+ :key="item.id"
+ :label="item.roleName"
+ :value="item.id"
+ />
+ </el-select>
+ </el-form-item>
+ <el-form-item>
+ <el-select
+ v-model="listPram.status"
+ placeholder="鐘舵��"
+ clearable
+ class="selWidth"
+ >
+ <el-option
+ v-for="item in constants.roleListStatus"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ />
+ </el-select>
+ </el-form-item>
+ <el-form-item>
+ <el-input
+ v-model="listPram.realName"
+ placeholder="濮撳悕鎴栬�呰处鍙�"
+ clearable
+ class="selWidth"
+ />
+ </el-form-item>
+ <el-form-item>
+ <el-button size="mini" type="primary" @click="handleSearch"
+ >鏌ヨ</el-button
+ >
+ </el-form-item>
+ </el-form>
+ <el-form inline @submit.native.prevent>
+ <el-form-item>
+ <el-button
+ size="mini"
+ type="primary"
+ @click="handlerOpenEdit(0)"
+ v-hasPermi="['admin:system:admin:save']"
+ >娣诲姞绠$悊鍛�</el-button
+ >
+ </el-form-item>
+ </el-form>
+ <el-table
+ :data="listData.list"
+ size="mini"
+ :header-cell-style="{ fontWeight: 'bold' }"
+ >
+ <el-table-column prop="id" label="ID" width="50" />
+ <el-table-column label="濮撳悕" prop="realName" min-width="120" />
+ <el-table-column label="璐﹀彿" prop="account" min-width="120" />
+ <el-table-column label="鎵嬫満鍙�" prop="lastTime" min-width="120">
+ <template slot-scope="scope">
+ <span>{{ scope.row.phone | filterEmpty }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column label="韬唤" prop="realName" min-width="230">
+ <template slot-scope="scope" v-if="scope.row.roleNames">
+ <el-tag
+ size="small"
+ type="info"
+ v-for="(item, index) in scope.row.roleNames.split(',')"
+ :key="index"
+ class="mr5"
+ >{{ item }}</el-tag
+ >
+ </template>
+ </el-table-column>
+ <el-table-column label="鏈�鍚庣櫥褰曟椂闂�" prop="lastTime" min-width="180">
+ <template slot-scope="scope">
+ <span>{{ scope.row.lastTime | filterEmpty }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column label="鏈�鍚庣櫥褰旾P" prop="lastIp" min-width="150">
+ <template slot-scope="scope">
+ <span>{{ scope.row.lastIp | filterEmpty }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column label="鍖哄煙" prop="areaIdList" min-width="150">
+ <template slot-scope="scope">
+ <el-tag
+ size="small"
+ type="info"
+ v-for="(item, index) in scope.row.areaIdList"
+ :key="index"
+ class="mr5"
+ >{{ getAreaName(item) }}</el-tag
+ >
+ </template>
+ </el-table-column>
+ <el-table-column label="鐘舵��" min-width="100">
+ <template
+ slot-scope="scope"
+ v-if="checkPermi(['admin:system:admin:update:status'])"
+ >
+ <el-switch
+ v-model="scope.row.status"
+ :active-value="true"
+ :inactive-value="false"
+ active-text="寮�鍚�"
+ inactive-text="鍏抽棴"
+ @change="onchangeIsShow(scope.row)"
+ />
+ </template>
+ </el-table-column>
+ <!-- <el-table-column
+ label="鏄惁鎺ユ敹鐭俊"
+ min-width="100"
+ >
+ <template slot-scope="scope" v-if="checkPermi(['admin:system:admin:update:sms'])">
+ <el-switch
+ v-model="scope.row.isSms"
+ :active-value="true"
+ :inactive-value="false"
+ active-text="寮�鍚�"
+ inactive-text="鍏抽棴"
+ :disabled="!scope.row.phone"
+ @click.native="onchangeIsSms(scope.row)"
+ />
+ </template>
+ </el-table-column>
+ <el-table-column label="鍒犻櫎鏍囪" prop="status" min-width="100">
+ <template slot-scope="scope">
+ <span>{{ scope.row.isDel | filterYesOrNo }}</span>
+ </template>
+ </el-table-column> -->
+ <el-table-column label="鎿嶄綔" min-width="130" fixed="right">
+ <template slot-scope="scope">
+ <template v-if="scope.row.isDel">
+ <span>-</span>
+ </template>
+ <template v-else>
+ <el-button
+ type="text"
+ size="mini"
+ @click="handlerOpenEdit(1, scope.row)"
+ v-hasPermi="['admin:system:admin:info']"
+ >缂栬緫</el-button
+ >
+ <el-button
+ type="text"
+ size="mini"
+ @click="handlerOpenDel(scope.row)"
+ v-hasPermi="['admin:system:admin:delete']"
+ >鍒犻櫎</el-button
+ >
+ </template>
+ </template>
+ </el-table-column>
+ </el-table>
+ <el-pagination
+ :current-page="listPram.page"
+ :page-sizes="constants.page.limit"
+ :layout="constants.page.layout"
+ :total="listData.total"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ />
+ </el-card>
+ <el-dialog
+ :visible.sync="editDialogConfig.visible"
+ :title="editDialogConfig.isCreate === 0 ? '鍒涘缓韬唤' : '缂栬緫韬唤'"
+ destroy-on-close
+ :close-on-click-modal="false"
+ width="700px"
+ >
+ <edit
+ v-if="editDialogConfig.visible"
+ :is-create="editDialogConfig.isCreate"
+ :edit-data="editDialogConfig.editData"
+ @hideEditDialog="hideEditDialog"
+ />
+ </el-dialog>
+ </div>
+</template>
+
+<script>
+import * as systemAdminApi from "@/api/systemadmin.js";
+import * as roleApi from "@/api/role.js";
+import edit from "./edit";
+import * as systemGroupDataApi from "@/api/systemGroupData.js";
+
+import { checkPermi } from "@/utils/permission"; // 鏉冮檺鍒ゆ柇鍑芥暟
+export default {
+ // name: "index"
+ components: { edit },
+ data() {
+ return {
+ constants: this.$constants,
+ listData: { list: [] },
+ listPram: {
+ account: null,
+ addTime: null,
+ lastIp: null,
+ lastTime: null,
+ level: null,
+ loginCount: null,
+ realName: null,
+ roles: null,
+ status: null,
+ page: 1,
+ limit: this.$constants.page.limit[0],
+ },
+ roleList: [],
+ menuList: [],
+ areaOptions: [],
+ editDialogConfig: {
+ visible: false,
+ isCreate: 0, // 0=鍒涘缓锛�1=缂栬緫
+ editData: {},
+ },
+ };
+ },
+ mounted() {
+ this.handleGetAdminList();
+ this.handleGetRoleList();
+ this.getAreaList();
+ },
+ methods: {
+ checkPermi,
+ onchangeIsShow(row) {
+ systemAdminApi
+ .updateStatusApi({ id: row.id, status: row.status })
+ .then(async () => {
+ this.$message.success("淇敼鎴愬姛");
+ this.handleGetAdminList();
+ })
+ .catch(() => {
+ row.status = !row.status;
+ });
+ },
+ onchangeIsSms(row) {
+ // this.$confirm(`姝ゆ搷浣滃皢${!row.isSms ? '寮�鍚�' : '鍏抽棴'}楠岃瘉, 鏄惁缁х画锛焋, "鎻愮ず", {
+ // confirmButtonText: "纭畾",
+ // cancelButtonText: "鍙栨秷",
+ // type: "warning"
+ // }).then(async () => {
+ // row.isSms = !row.isSms
+ // }).catch(() => {
+ // this.$message.error('鍙栨秷鎿嶄綔')
+ // })
+
+ if (!row.phone)
+ return this.$message({
+ message: "璇峰厛涓虹鐞嗗憳娣诲姞鎵嬫満鍙�!",
+ type: "warning",
+ });
+ systemAdminApi
+ .updateIsSmsApi({ id: row.id })
+ .then(async () => {
+ this.$message.success("淇敼鎴愬姛");
+ this.handleGetAdminList();
+ })
+ .catch(() => {
+ row.isSms = !row.isSms;
+ });
+ },
+ handleSearch() {
+ this.listPram.page = 1;
+ this.handleGetAdminList();
+ },
+ handleSizeChange(val) {
+ this.listPram.limit = val;
+ this.handleGetAdminList();
+ this.handleGetRoleList(this.listPram);
+ },
+ handleCurrentChange(val) {
+ this.listPram.page = val;
+ this.handleGetAdminList();
+ this.handleGetRoleList(this.listPram);
+ },
+ handleGetRoleList() {
+ const _pram = {
+ page: 1,
+ limit: this.constants.page.limit[4],
+ };
+ roleApi.getRoleList(_pram).then((data) => {
+ this.roleList = data;
+ });
+ },
+ handlerOpenDel(rowData) {
+ this.$confirm("纭鍒犻櫎褰撳墠鏁版嵁").then(() => {
+ const _pram = { id: rowData.id };
+ systemAdminApi.adminDel(_pram).then((data) => {
+ this.$message.success("鍒犻櫎鏁版嵁鎴愬姛");
+ this.handleGetAdminList();
+ });
+ });
+ },
+ handleGetAdminList() {
+ systemAdminApi.adminList(this.listPram).then((data) => {
+ this.listData = data;
+ // this.handlerGetMenuList()
+ });
+ },
+ handlerOpenEdit(isCreate, editDate) {
+ this.editDialogConfig.editData = editDate;
+ this.editDialogConfig.isCreate = isCreate;
+ this.editDialogConfig.visible = true;
+ },
+ handlerGetMenuList() {
+ // 鑾峰彇鑿滃崟鍏ㄩ儴鏁版嵁鍚庡仛menu缈昏瘧浣跨敤
+ systemAdminApi
+ .listCategroy({ page: 1, limit: 999, type: 5 })
+ .then((data) => {
+ this.menuList = data.list;
+ this.listData.list.forEach((item) => {
+ const _muneText = [];
+ const menuids = item.rules.split(",");
+ menuids.map((muid) => {
+ this.menuList.filter((menu) => {
+ if (menu.id == muid) {
+ _muneText.push(menu.name);
+ }
+ });
+ });
+ item.rulesView = _muneText.join(",");
+ this.$set(item, "rulesViews", item.rulesView);
+ });
+ });
+ },
+ getAreaList() {
+ // 鑾峰彇鍒楄〃鏁版嵁
+ systemGroupDataApi.groupDataList({ gid: 74 }).then((data) => {
+ const _selfList = [];
+ data.list.forEach((_lItem) => {
+ _lItem.value = JSON.parse(_lItem.value);
+ const _fields = _lItem.value.fields;
+ const _rowData = {};
+ _fields.map((item) => {
+ _rowData[item.name] = item.value;
+ });
+ _rowData.id = _lItem.id;
+ if (_lItem.status) {
+ _selfList.push(_rowData);
+ }
+ });
+ this.areaOptions = _selfList;
+ });
+ },
+ getAreaName(id) {
+ const area = this.areaOptions.find((item) => item.id == id);
+ if (area) {
+ return area.name;
+ }
+ return id;
+ },
+ hideEditDialog() {
+ this.editDialogConfig.visible = false;
+ this.handleGetAdminList();
+ },
+ },
+};
+</script>
+
+<style scoped></style>
diff --git a/src/views/systemSetting/administratorAuthority/identityManager/edit.vue b/src/views/systemSetting/administratorAuthority/identityManager/edit.vue
new file mode 100644
index 0000000..41e4acd
--- /dev/null
+++ b/src/views/systemSetting/administratorAuthority/identityManager/edit.vue
@@ -0,0 +1,234 @@
+<template>
+ <div>
+ <el-form
+ ref="pram"
+ :model="pram"
+ label-width="100px"
+ @submit.native.prevent
+ >
+ <el-form-item
+ label="瑙掕壊鍚嶇О"
+ prop="roleName"
+ :rules="[
+ {
+ required: true,
+ message: '璇峰~鍐欒鑹插悕绉�',
+ trigger: ['blur', 'change'],
+ },
+ ]"
+ >
+ <el-input v-model="pram.roleName" placeholder="韬唤鍚嶇О" />
+ </el-form-item>
+ <el-form-item label="鐘舵��">
+ <el-switch
+ v-model="pram.status"
+ :active-value="true"
+ :inactive-value="false"
+ />
+ </el-form-item>
+ <el-form-item label="鑿滃崟鏉冮檺">
+ <el-checkbox
+ v-model="menuExpand"
+ @change="handleCheckedTreeExpand($event, 'menu')"
+ >灞曞紑/鎶樺彔</el-checkbox
+ >
+ <!-- <el-checkbox v-model="menuNodeAll" @change="handleCheckedTreeNodeAll($event, 'menu')">鍏ㄩ��/鍏ㄤ笉閫�</el-checkbox> -->
+ <el-checkbox
+ v-model="menuCheckStrictly"
+ @change="handleCheckedTreeConnect($event, 'menu')"
+ >鐖跺瓙鑱斿姩</el-checkbox
+ >
+ <el-tree
+ class="tree-border"
+ :data="menuOptions"
+ show-checkbox
+ ref="menu"
+ node-key="id"
+ :check-strictly="!menuCheckStrictly"
+ :default-checked-keys="menuIds"
+ empty-text="鍔犺浇涓紝璇风◢鍊�"
+ :props="defaultProps"
+ ></el-tree>
+ </el-form-item>
+ <el-form-item>
+ <el-button
+ type="primary"
+ @click="handlerSubmit('pram')"
+ v-hasPermi="['admin:system:role:update', 'admin:system:role:save']"
+ >{{ isCreate === 0 ? "纰哄畾" : "鏇存柊" }}</el-button
+ >
+ <el-button @click="close">鍙栨秷</el-button>
+ </el-form-item>
+ </el-form>
+ </div>
+</template>
+
+<script>
+import * as roleApi from "@/api/role.js";
+import { Debounce } from "@/utils/validate";
+export default {
+ name: "roleEdit",
+ props: {
+ isCreate: {
+ type: Number,
+ required: true,
+ },
+ editData: {
+ type: Object,
+ default: null,
+ },
+ },
+ data() {
+ return {
+ pram: {
+ roleName: null,
+ rules: "",
+ status: null,
+ id: null,
+ },
+ menuExpand: false,
+ menuNodeAll: false,
+ menuOptions: [],
+ menuCheckStrictly: false,
+ currentNodeId: [],
+ defaultProps: {
+ children: "childList",
+ label: "name",
+ },
+ menuIds: [],
+ };
+ },
+ mounted() {
+ this.initEditData();
+ this.getCacheMenu();
+ },
+ methods: {
+ close() {
+ this.$emit("hideEditDialog");
+ },
+ initEditData() {
+ if (this.isCreate !== 1) return;
+ const { roleName, status, id } = this.editData;
+ this.pram.roleName = roleName;
+ this.pram.status = status;
+ this.pram.id = id;
+ const loading = this.$loading({
+ lock: true,
+ text: "Loading",
+ });
+ roleApi.getInfo(id).then((res) => {
+ this.menuOptions = res.menuList;
+
+ console.log("xxxxxx", this.menuOptions);
+ this.checkDisabled(this.menuOptions);
+ loading.close();
+ this.getTreeId(res.menuList);
+ this.$nextTick(() => {
+ this.menuIds.forEach((i, n) => {
+ var node = this.$refs.menu.getNode(i);
+ if (node.isLeaf) {
+ this.$refs.menu.setChecked(node, true);
+ }
+ });
+ });
+ });
+ },
+ handlerSubmit: Debounce(function (form) {
+ this.$refs[form].validate((valid) => {
+ if (!valid) return;
+ let roles = this.getMenuAllCheckedKeys().toString();
+ this.pram.rules = roles;
+ if (this.isCreate === 0) {
+ this.handlerSave();
+ } else {
+ this.handlerEdit();
+ }
+ });
+ }),
+ handlerSave() {
+ roleApi.addRole(this.pram).then((data) => {
+ this.$message.success("鍒涘缓韬唤鎴愬姛");
+ this.$emit("hideEditDialog");
+ });
+ },
+ handlerEdit() {
+ roleApi.updateRole(this.pram).then((data) => {
+ this.$message.success("鏇存柊韬唤鎴愬姛");
+ this.$emit("hideEditDialog");
+ });
+ },
+ rulesSelect(selectKeys) {
+ this.pram.rules = selectKeys;
+ },
+ // 鏍戞潈闄愶紙灞曞紑/鎶樺彔锛�
+ handleCheckedTreeExpand(value, type) {
+ if (type == "menu") {
+ let treeList = this.menuOptions;
+ for (let i = 0; i < treeList.length; i++) {
+ this.$refs.menu.store.nodesMap[treeList[i].id].expanded = value;
+ }
+ }
+ },
+ // 鏍戞潈闄愶紙鍏ㄩ��/鍏ㄤ笉閫夛級
+ handleCheckedTreeNodeAll(value, type) {
+ if (type == "menu") {
+ this.$refs.menu.setCheckedNodes(value ? this.menuOptions : []);
+ }
+ },
+ // 鏍戞潈闄愶紙鐖跺瓙鑱斿姩锛�
+ handleCheckedTreeConnect(value, type) {
+ if (type == "menu") {
+ this.menuCheckStrictly = value ? true : false;
+ }
+ },
+ // 鎵�鏈夎彍鍗曡妭鐐规暟鎹�
+ getMenuAllCheckedKeys() {
+ // 鐩墠琚�変腑鐨勮彍鍗曡妭鐐�
+ let checkedKeys = this.$refs.menu.getCheckedKeys();
+ // 鍗婇�変腑鐨勮彍鍗曡妭鐐�
+ let halfCheckedKeys = this.$refs.menu.getHalfCheckedKeys();
+ checkedKeys.unshift.apply(checkedKeys, halfCheckedKeys);
+ return checkedKeys;
+ },
+ getCacheMenu() {
+ if (this.isCreate !== 0) return;
+ const loading = this.$loading({
+ lock: true,
+ text: "Loading",
+ });
+ roleApi.menuCacheList().then((res) => {
+ this.menuOptions = res;
+ this.checkDisabled(this.menuOptions);
+ loading.close();
+ });
+ },
+ getTreeId(datas) {
+ for (var i in datas) {
+ if (datas[i].checked) this.menuIds.push(datas[i].id);
+ if (datas[i].childList) {
+ this.getTreeId(datas[i].childList);
+ }
+ }
+ },
+ checkDisabled(data) {
+ //璁剧疆鍏叡鏉冮檺榛樿鍕鹃�変笖涓嶅彲鎿嶄綔
+ data.forEach((item) => {
+ if (item.id === 280 || item.id === 294 || item.id === 344) {
+ item.disabled = true;
+ item.childList.forEach((item1) => {
+ item1.disabled = true;
+ this.$nextTick(() => {
+ var node = this.$refs.menu.getNode(item1.id);
+ if (node.isLeaf) {
+ this.$refs.menu.setChecked(node, true);
+ }
+ });
+ });
+ }
+ });
+ },
+ },
+};
+</script>
+
+<style scoped></style>
diff --git a/src/views/systemSetting/administratorAuthority/identityManager/index.vue b/src/views/systemSetting/administratorAuthority/identityManager/index.vue
new file mode 100644
index 0000000..e831c1a
--- /dev/null
+++ b/src/views/systemSetting/administratorAuthority/identityManager/index.vue
@@ -0,0 +1,148 @@
+<template>
+ <div class="divBox">
+ <el-card class="box-card">
+ <el-form inline size="small" @submit.native.prevent>
+ <el-form-item>
+ <el-input v-model="listPram.roleName" placeholder="璇疯緭鍏ヨ鑹叉樀绉�" clearable class="selWidth"/>
+ </el-form-item>
+ <el-form-item>
+ <el-button size="mini" type="primary" @click.native="handleGetRoleList">鏌ヨ</el-button>
+ <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button>
+ </el-form-item>
+ </el-form>
+ <el-form inline @submit.native.prevent>
+ <el-form-item>
+ <el-button size="mini" type="primary" @click="handlerOpenEdit(0)" v-hasPermi="['admin:system:role:save','admin:system:menu:cache:tree']">娣诲姞瑙掕壊</el-button>
+ </el-form-item>
+ </el-form>
+ <el-table :data="listData.list" size="mini" :header-cell-style=" {fontWeight:'bold',background:'#f8f8f9',color: '#515a6e',height:'40px'}">
+ <el-table-column label="瑙掕壊缂栧彿" prop="id" width="120" ></el-table-column>
+ <el-table-column label="瑙掕壊鏄电О" prop="roleName" min-width="130"/>
+ <el-table-column label="鐘舵��" prop="status">
+ <template slot-scope="scope" v-if="checkPermi(['admin:system:role:update:status'])">
+ <el-switch
+ v-model="scope.row.status"
+ :active-value="true"
+ :inactive-value="false"
+ style="width:40px;"
+ @change="handleStatusChange(scope.row)"
+ ></el-switch>
+ </template>
+ </el-table-column>
+ <el-table-column label="鍒涘缓鏃堕棿" prop="createTime" min-width="150"/>
+ <el-table-column label="鏇存柊鏃堕棿" prop="updateTime" min-width="150"/>
+ <el-table-column label="鎿嶄綔" min-width="130" fixed="right">
+ <template slot-scope="scope">
+ <el-button size="small" type="text" @click="handlerOpenEdit(1,scope.row)" v-hasPermi="['admin:system:role:info']">缂栬緫</el-button>
+ <el-button size="small" type="text" @click="handlerOpenDel(scope.row)" v-hasPermi="['admin:system:role:delete']">鍒犻櫎</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ <el-pagination
+ :current-page="listPram.page"
+ :page-sizes="constants.page.limit"
+ :layout="constants.page.layout"
+ :total="listData.total"
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange"
+ />
+ </el-card>
+ <el-dialog
+ :visible.sync="editDialogConfig.visible"
+ :title="editDialogConfig.isCreate === 0? '鍒涘缓韬唤':'缂栬緫韬唤'"
+ destroy-on-close
+ :close-on-click-modal="false"
+ width="500px">
+ <edit
+ v-if="editDialogConfig.visible"
+ :is-create="editDialogConfig.isCreate"
+ :edit-data="editDialogConfig.editData"
+ @hideEditDialog="hideEditDialog"
+ ref="editForm"
+ />
+ </el-dialog>
+ </div>
+</template>
+
+<script>
+import * as roleApi from '@/api/role.js'
+import edit from './edit'
+import { checkPermi } from "@/utils/permission"; // 鏉冮檺鍒ゆ柇鍑芥暟
+export default {
+ // name: "index"
+ components: { edit },
+ data() {
+ return {
+ constants:this.$constants,
+ listData: { list: [] },
+ listPram: {
+ createTime: null,
+ updateTime: null,
+ level: null,
+ page: 1,
+ limit: this.$constants.page.limit[0],
+ roleName: null,
+ rules: null,
+ status: null
+ },
+ menuList: [],
+ editDialogConfig: {
+ visible: false,
+ isCreate: 0, // 0=鍒涘缓锛�1=缂栬緫
+ editData: {}
+ }
+ }
+ },
+ mounted() {
+ this.handleGetRoleList()
+ },
+ methods: {
+ checkPermi,
+ handlerOpenDel(rowData) {
+ this.$confirm('纭鍒犻櫎褰撳墠鏁版嵁').then(() => {
+ roleApi.delRole(rowData).then(data => {
+ this.$message.success('鍒犻櫎鏁版嵁鎴愬姛')
+ this.handleGetRoleList()
+ })
+ })
+ },
+ handleGetRoleList() {
+ roleApi.getRoleList(this.listPram).then(data => {
+ this.listData = data
+ })
+ },
+ handlerOpenEdit(isCreate, editDate) {
+ isCreate === 1 ? this.editDialogConfig.editData = editDate : this.editDialogConfig.editData = {}
+ this.editDialogConfig.isCreate = isCreate
+ this.editDialogConfig.visible = true
+ },
+ hideEditDialog() {
+ this.editDialogConfig.visible = false
+ this.handleGetRoleList()
+ },
+ handleSizeChange(val) {
+ this.listPram.limit = val
+ this.handleGetRoleList(this.listPram)
+ },
+ handleCurrentChange(val) {
+ this.listPram.page = val
+ this.handleGetRoleList(this.listPram)
+ },
+ //淇敼鐘舵��
+ handleStatusChange(row){
+ roleApi.updateRoleStatus(row).then(res=>{
+ this.$message.success('鏇存柊鐘舵�佹垚鍔�')
+ this.handleGetRoleList()
+ })
+ },
+ resetQuery(){
+ this.listPram.roleName = '';
+ this.handleGetRoleList()
+ }
+ }
+}
+</script>
+
+<style scoped lang="scss">
+
+</style>
diff --git a/src/views/systemSetting/administratorAuthority/index.vue b/src/views/systemSetting/administratorAuthority/index.vue
new file mode 100644
index 0000000..d2c9c01
--- /dev/null
+++ b/src/views/systemSetting/administratorAuthority/index.vue
@@ -0,0 +1,15 @@
+<template>
+ <div>
+ <router-view />
+ </div>
+</template>
+
+<script>
+export default {
+
+}
+</script>
+
+<style lang="sass" scoped>
+
+</style>
diff --git a/src/views/systemSetting/administratorAuthority/permissionRules/index.vue b/src/views/systemSetting/administratorAuthority/permissionRules/index.vue
new file mode 100644
index 0000000..abba0e0
--- /dev/null
+++ b/src/views/systemSetting/administratorAuthority/permissionRules/index.vue
@@ -0,0 +1,427 @@
+<template>
+ <div class="divBox">
+ <el-card class="box-card">
+ <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch">
+ <el-form-item label="鑿滃崟鍚嶇О" prop="menuName">
+ <el-input
+ v-model="queryParams.name"
+ placeholder="璇疯緭鍏ヨ彍鍗曞悕绉�"
+ clearable
+ size="small"
+ />
+ </el-form-item>
+ <el-form-item label="鐘舵��" prop="menuType">
+ <el-select v-model="queryParams.menuType" placeholder="鑿滃崟鐘舵��" clearable size="small">
+ <el-option
+ v-for="item in statusOptions"
+ :key="item.value"
+ :label="item.label"
+ :value="item.value"
+ />
+ </el-select>
+ </el-form-item>
+ <el-form-item>
+ <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
+ <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button>
+ </el-form-item>
+ </el-form>
+
+ <el-row :gutter="10" class="mb8">
+ <el-col :span="1.5">
+ <el-button
+ type="primary"
+ plain
+ icon="el-icon-plus"
+ size="mini"
+ @click="handleAdd"
+ >鏂板</el-button>
+ </el-col>
+ <el-col :span="1.5">
+ <el-button
+ type="info"
+ plain
+ icon="el-icon-sort"
+ size="mini"
+ @click="toggleExpandAll"
+ >灞曞紑/鎶樺彔</el-button>
+ </el-col>
+ </el-row>
+
+ <el-table
+ v-if="refreshTable"
+ v-loading="listLoading"
+ :data="menuList"
+ row-key="id"
+ :default-expand-all="isExpandAll"
+ :tree-props="{children: 'children', hasChildren: 'hasChildren'}"
+ :header-cell-style=" {fontWeight:'bold'}"
+ >
+ <el-table-column prop="name" label="鑿滃崟鍚嶇О" :show-overflow-tooltip="true" width="160"></el-table-column>
+ <el-table-column prop="icon" label="鍥炬爣" align="center" width="100">
+ <template slot-scope="scope">
+ <i :class="'el-icon-' + scope.row.icon" style="font-size: 20px;" />
+ </template>
+ </el-table-column>
+ <el-table-column prop="sort" label="鎺掑簭" width="60"></el-table-column>
+ <el-table-column prop="perms" label="鏉冮檺鏍囪瘑" :show-overflow-tooltip="true"></el-table-column>
+ <el-table-column prop="component" label="缁勪欢璺緞" :show-overflow-tooltip="true"></el-table-column>
+ <el-table-column prop="isShow" label="鐘舵��" width="80">
+ <template slot-scope="scope">
+ <el-tag :type="scope.row.isShow ? '' : 'danger'">{{scope.row.isShow ? '鏄剧ず' : '闅愯棌'}}</el-tag>
+ </template>
+ </el-table-column>
+ <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime">
+ <template slot-scope="scope">
+ <span>{{ parseTime(scope.row.createTime) }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="menuType" label="绫诲瀷" width="80">
+ <template slot-scope="scope">
+ <span class="type_tag one" v-if="scope.row.menuType == 'M'" >鐩綍</span>
+ <span class="type_tag two" v-else-if="scope.row.menuType == 'C'" >鑿滃崟</span>
+ <span class="type_tag three" v-else type="info">鎸夐挳</span>
+ </template>
+ </el-table-column>
+ <el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
+ <template slot-scope="scope">
+ <el-button size="mini"
+ type="text"
+ icon="el-icon-edit"
+ @click="handleUpdate(scope.row)"
+ v-hasPermi="['admin:system:menu:info']"
+ >淇敼</el-button>
+ <el-button
+ size="mini"
+ type="text"
+ icon="el-icon-plus"
+ @click="handleAdd(scope.row)"
+ v-hasPermi="['admin:system:menu:add']"
+ >鏂板</el-button>
+ <el-button
+ size="mini"
+ type="text"
+ icon="el-icon-delete"
+ @click="handleDelete(scope.row)"
+ v-hasPermi="['admin:system:menu:delete']"
+ >鍒犻櫎</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+
+ <!-- 娣诲姞鎴栦慨鏀硅彍鍗曞璇濇 -->
+ <el-dialog :title="title" :visible.sync="open" width="680px" append-to-body>
+ <el-form ref="form" :model="form" :rules="rules" label-width="100px">
+ <el-row>
+ <el-col :span="24">
+ <el-form-item label="涓婄骇鑿滃崟">
+ <treeselect
+ v-model="form.pid"
+ :options="menuOptions"
+ :normalizer="normalizer"
+ :show-count="true"
+ placeholder="閫夋嫨涓婄骇鑿滃崟"
+ />
+ </el-form-item>
+ </el-col>
+ <el-col :span="24">
+ <el-form-item label="鑿滃崟绫诲瀷" prop="menuType">
+ <el-radio-group v-model="form.menuType">
+ <el-radio label="M">鐩綍</el-radio>
+ <el-radio label="C">鑿滃崟</el-radio>
+ <el-radio label="A">鎸夐挳</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ </el-col>
+ <el-col :span="24">
+ <el-form-item v-if="form.menuType != 'A'" label="鑿滃崟鍥炬爣">
+ <el-form-item>
+ <el-input placeholder="璇烽�夋嫨鑿滃崟鍥炬爣" v-model="form.icon">
+ <el-button slot="append" icon="el-icon-circle-plus-outline" @click="addIcon"></el-button>
+ </el-input>
+ </el-form-item>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="鑿滃崟鍚嶇О" prop="menuName">
+ <el-input v-model="form.name" placeholder="璇疯緭鍏ヨ彍鍗曞悕绉�" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="鏄剧ず鎺掑簭" prop="sort">
+ <el-input-number v-model="form.sort" controls-position="right" :min="0" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="12" v-if="form.menuType !== 'A'">
+ <!-- v-if="form.menuType == 'C'" -->
+ <el-form-item prop="component">
+ <span slot="label">
+ <el-tooltip content="璁块棶鐨勭粍浠惰矾寰勶紝濡傦細`system/user/index`锛岄粯璁ゅ湪`views`鐩綍涓�" placement="top">
+ <i class="el-icon-question"></i>
+ </el-tooltip>
+ 缁勪欢璺緞
+ </span>
+ <el-input v-model="form.component" placeholder="璇疯緭鍏ョ粍浠惰矾寰�" />
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item v-if="form.menuType != 'M'">
+ <el-input v-model="form.perms" placeholder="璇疯緭鍏ユ潈闄愭爣璇�" maxlength="100" />
+ <span slot="label">
+ <el-tooltip content="鎺у埗鍣ㄤ腑瀹氫箟鐨勬潈闄愬瓧绗︼紝濡傦細@PreAuthorize(`@ss.hasPermi('system:user:list')`)" placement="top">
+ <i class="el-icon-question"></i>
+ </el-tooltip>
+ 鏉冮檺瀛楃
+ </span>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item >
+ <!-- v-if="form.menuType != 'A'" -->
+ <span slot="label">
+ <el-tooltip content="閫夋嫨闅愯棌鍒欒矾鐢卞皢涓嶄細鍑虹幇鍦ㄤ晶杈规爮锛屼絾浠嶇劧鍙互璁块棶" placement="top">
+ <i class="el-icon-question"></i>
+ </el-tooltip>
+ 鏄剧ず鐘舵��
+ </span>
+ <el-radio-group v-model="form.isShow">
+ <el-radio
+ v-for="item in showStatus"
+ :key="item.value"
+ :label="item.value"
+ >{{item.label}}</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ <div slot="footer" class="dialog-footer">
+ <el-button type="primary" @click="submitForm" v-hasPermi="['admin:system:menu:update']">纭� 瀹�</el-button>
+ <el-button @click="cancel">鍙� 娑�</el-button>
+ </div>
+ </el-dialog>
+ </el-card>
+ </div>
+</template>
+
+<script>
+import { menuListApi,menuInfo,menuUpdate,menuAdd,menuDelete } from '@/api/systemadmin'
+import Treeselect from "@riophae/vue-treeselect";
+import "@riophae/vue-treeselect/dist/vue-treeselect.css";
+import {Debounce} from '@/utils/validate'
+export default {
+ name: "Menu",
+ components: { Treeselect, },
+ data() {
+ return {
+ // 閬僵灞�
+ listLoading: true,
+ // 鏄剧ず鎼滅储鏉′欢
+ showSearch: true,
+ // 鑿滃崟琛ㄦ牸鏍戞暟鎹�
+ menuList: [],
+ // 鑿滃崟鏍戦�夐」
+ menuOptions: [],
+ // 寮瑰嚭灞傛爣棰�
+ title: "",
+ // 鏄惁鏄剧ず寮瑰嚭灞�
+ open: false,
+ // 鏄惁灞曞紑锛岄粯璁ゅ叏閮ㄦ姌鍙�
+ isExpandAll: false,
+ // 閲嶆柊娓叉煋琛ㄦ牸鐘舵��
+ refreshTable: true,
+ // 鏌ヨ鍙傛暟
+ queryParams: {
+ name: '',
+ menuType:''
+ },
+ // 琛ㄥ崟鍙傛暟
+ form: {},
+ //璇锋眰鍒扮殑menu鏁版嵁
+ menuDataList:[],
+ // 琛ㄥ崟鏍¢獙
+ rules: {
+ name: [
+ { required: true, message: "鑿滃崟鍚嶇О涓嶈兘涓虹┖", trigger: "blur" }
+ ],
+ sort: [
+ { required: true, message: "鑿滃崟椤哄簭涓嶈兘涓虹┖", trigger: "blur" }
+ ],
+ },
+ statusOptions: [
+ {value: 'M',label: '鐩綍'},
+ {value: 'C',label: '鑿滃崟'},
+ {value: 'A',label: '鎸夐挳'},
+ ],
+ showStatus:[
+ {label:'鏄剧ず',value:true},
+ {label:'闅愯棌',value:false},
+ ]
+ };
+ },
+ created() {
+ this.getList();
+ },
+ methods: {
+ // 鐐瑰嚮鍥炬爣
+ addIcon() {
+ const _this = this
+ _this.$modalIcon(function(icon) {
+ _this.form.icon = icon;
+ })
+ },
+ /** 鏌ヨ鑿滃崟鍒楄〃 */
+ getList() {
+ this.listLoading = true;
+ menuListApi(this.queryParams).then(res=>{
+ let obj = {},menuList = [];
+ res.forEach(item=>{
+ obj = item;
+ obj.parentId = item.pid;
+ obj.children = [];
+ menuList.push(obj);
+ })
+ this.menuDataList = menuList;
+ this.menuList = this.handleTree(menuList, "menuId")
+ this.listLoading = false;
+ })
+ },
+ /** 杞崲鑿滃崟鏁版嵁缁撴瀯 */
+ normalizer(node) {
+ if (node.children && !node.children.length) {
+ delete node.children;
+ }
+ return {
+ id: node.id ? node.id : 0,
+ label: node.name ? node.name : '涓荤洰褰�',
+ children: node.children
+ };
+ },
+ /** 鏌ヨ鑿滃崟涓嬫媺鏍戠粨鏋� */
+ getTreeselect() {
+ this.menuOptions = [];
+ const menu = { menuId: 0, menuName: '涓荤被鐩�', children: [] };
+ menu.children = this.handleTree(this.menuDataList, "menuId");
+ this.menuOptions.push(menu);
+ },
+ // 鍙栨秷鎸夐挳
+ cancel() {
+ this.open = false;
+ this.reset();
+ },
+ // 琛ㄥ崟閲嶇疆
+ reset() {
+ this.form = {
+ menuId: '',
+ parentId: 0,
+ name: '',
+ icon: '',
+ menuType: "M",
+ sort: 0,
+ isShow: true,
+ component:'',
+ perms:''
+ };
+ this.resetForm("form");
+ },
+ /** 鎼滅储鎸夐挳鎿嶄綔 */
+ handleQuery() {
+ this.getList();
+ },
+ /** 閲嶇疆鎸夐挳鎿嶄綔 */
+ resetQuery() {
+ this.queryParams = { name: '', menuType:''},
+ this.handleQuery();
+ },
+ /** 鏂板鎸夐挳鎿嶄綔 */
+ handleAdd(row) {
+ this.reset();
+ if (row != null && row.id) {
+ this.form.pid = row.id;
+ } else {
+ this.form.pid = 0;
+ }
+ this.open = true;
+ this.title = "娣诲姞鑿滃崟";
+ },
+ /** 灞曞紑/鎶樺彔鎿嶄綔 */
+ toggleExpandAll() {
+ this.refreshTable = false;
+ this.isExpandAll = !this.isExpandAll;
+ this.$nextTick(() => {
+ this.refreshTable = true;
+ });
+ },
+ /** 淇敼鎸夐挳鎿嶄綔 */
+ handleUpdate(row) {
+ const loading = this.$loading({
+ lock: true,
+ text: 'Loading',
+ });
+ this.reset();
+ this.getTreeselect();
+ menuInfo(row.id).then(response => {
+ this.form = response;
+ this.open = true;
+ this.title = "淇敼鑿滃崟";
+ loading.close();
+ });
+ },
+ /** 鎻愪氦鎸夐挳 */
+ submitForm: Debounce(function() {
+ this.$refs["form"].validate(valid => {
+ if (valid) {
+ if (this.form.id != undefined) {
+ menuUpdate(this.form).then(response => {
+ this.$modal.msgSuccess("淇敼鎴愬姛");
+ this.open = false;
+ this.getList();
+ });
+ } else {
+ menuAdd(this.form).then(response => {
+ this.$modal.msgSuccess("鏂板鎴愬姛");
+ this.open = false;
+ this.getList();
+ });
+ }
+ }
+ });
+ }),
+ /** 鍒犻櫎鎸夐挳鎿嶄綔 */
+ handleDelete(row) {
+ this.$modal.confirm('鏄惁纭鍒犻櫎鍚嶇О涓�"' + row.name + '"鐨勬暟鎹」锛�').then(function() {
+ return menuDelete(row.id);
+ }).then(() => {
+ this.getList();
+ this.$modal.msgSuccess("鍒犻櫎鎴愬姛");
+ }).catch(() => {});
+ }
+ }
+};
+</script>
+<style lang="scss">
+ .mb8{
+ margin-bottom: 8px;
+ }
+ .type_tag{
+ display: inline-block;
+ height: 32px;
+ padding: 0 10px;
+ line-height: 30px;
+ font-size: 12px;
+ border-radius: 4px;
+ box-sizing: border-box;
+ white-space: nowrap;
+ }
+ .two{
+ background: rgba(239, 156, 32, .1);
+ color: rgba(239, 156, 32, 1);
+ }
+ .one{
+ background: rgba(75, 202, 213, .1);
+ color: rgba(75, 202, 213, 1);
+ }
+ .three{
+ color: rgba(120, 128, 160, 1);
+ background: rgba(120, 128, 160, .1);
+ }
+</style>
diff --git a/src/views/systemSetting/notification/index.vue b/src/views/systemSetting/notification/index.vue
new file mode 100644
index 0000000..6629405
--- /dev/null
+++ b/src/views/systemSetting/notification/index.vue
@@ -0,0 +1,292 @@
+<template>
+ <div class="divBox">
+ <div>
+ <el-card :bordered="false" class="box-card">
+ <div>
+ <el-tabs v-model="currentTab" @tab-click="changeTab">
+ <el-tab-pane
+ :label="item.label"
+ :name="item.value.toString()"
+ v-for="(item, index) in headerList"
+ :key="index + '-only'"
+ />
+ </el-tabs>
+ </div>
+ <!-- <el-row type="flex" class="mb20 mt-1">
+ <el-col>
+ <el-button
+ type="primary"
+ icon="el-icon-document"
+ @click="syncRoutine()"
+ v-hasPermi="['admin:wechat:routine:sync']"
+ >鍚屾灏忕▼搴忚闃呮秷鎭�</el-button
+ >
+ <el-button
+ type="primary"
+ icon="el-icon-document"
+ @click="syncWechat()"
+ v-hasPermi="['admin:wechat:whcbqhn:sync']"
+ >鍚屾寰俊妯$増娑堟伅</el-button
+ >
+ </el-col>
+ </el-row>
+ <div class="description">
+ <p><span class="iconfont iconxiaochengxu"></span> 灏忕▼搴忕粡钀ョ被鐩細鐢熸椿鏈嶅姟 > 鐧捐揣/瓒呭競/渚垮埄搴�</p>
+ <p><span class="iconfont icongongzhonghao"></span> 鍏紬鍙风粡钀ョ被鐩細IT绉戞妧/浜掕仈缃憒鐢靛瓙鍟嗗姟锛孖T绉戞妧/IT杞欢涓庢湇鍔�</p>
+ </div> -->
+ <el-table
+ :data="levelLists"
+ ref="table"
+ class="mt25"
+ size="small"
+ v-loading="loadingList"
+ :header-cell-style=" {fontWeight:'bold'}">
+ <el-table-column label="ID" prop="id" width="80"></el-table-column>
+ <el-table-column label="閫氱煡绫诲瀷" prop="type"></el-table-column>
+ <el-table-column label="閫氱煡鍦烘櫙璇存槑" prop="description"></el-table-column>
+ <el-table-column label="鏍囪瘑" prop="mark"></el-table-column>
+ <el-table-column label="鍏紬鍙锋ā鏉�" prop="isWechat" v-if="currentTab == '1'">
+ <template slot-scope="scope" v-if="scope.row.isWechat !== 0">
+ <el-switch
+ v-model="scope.row.isWechat"
+ :active-value="1"
+ :inactive-value="2"
+ active-text="鍚敤"
+ inactive-text="绂佺敤"
+ @change="changeWechat(scope.row)"
+ >
+ </el-switch>
+ </template>
+ </el-table-column>
+ <el-table-column label="灏忕▼搴忚闃�" prop="isRoutine" v-if="currentTab == '1'">
+ <template slot-scope="scope" v-if="scope.row.isRoutine !== 0">
+ <el-switch
+ v-model="scope.row.isRoutine"
+ :active-value="1"
+ :inactive-value="2"
+ active-text="鍚敤"
+ inactive-text="绂佺敤"
+ @change="changeRoutine(scope.row)"
+ >
+ </el-switch>
+ </template>
+ </el-table-column>
+ <el-table-column label="鍙戦�佺煭淇�" prop="isSms">
+ <template slot-scope="scope" v-if="scope.row.isSms !== 0">
+ <el-switch
+ v-model="scope.row.isSms"
+ :active-value="1"
+ :inactive-value="2"
+ active-text="鍚敤"
+ inactive-text="绂佺敤"
+ @change="changeSms(scope.row)"
+ >
+ </el-switch>
+ </template>
+ </el-table-column>
+ <el-table-column label="璁剧疆" prop="id">
+ <template slot-scope="scope">
+ <el-button type="text" @click="setting(scope.row)" v-hasPermi="['admin:system:notification:detail']">璇︽儏</el-button>
+ </template>
+ </el-table-column>
+ </el-table>
+ </el-card>
+ </div>
+ <el-dialog
+ title="閫氱煡璇︽儏"
+ :visible.sync="centerDialogVisible"
+ width="50%"
+ >
+ <el-tabs :value="infoTab" @tab-click="changeInfo">
+ <el-tab-pane
+ :label="item.label"
+ :name="item.value.toString()"
+ v-for="(item, index) in currentTab == '1' ? infoList : infoList1"
+ :key="index"
+ />
+ <el-form ref="form" :model="form" label-width="80px">
+ <el-form-item label="ID">
+ <el-input v-model="form.id" disabled></el-input>
+ </el-form-item>
+ <el-form-item label="妯℃澘鍚�" v-if="form.name">
+ <el-input v-model="form.name" disabled></el-input>
+ </el-form-item>
+ <el-form-item label="妯℃澘ID" v-if="form.tempId">
+ <el-input v-model="form.tempId"></el-input>
+ </el-form-item>
+ <el-form-item label="妯℃澘缂栧彿" v-if="form.tempKey">
+ <el-input v-model="form.tempKey" disabled></el-input>
+ </el-form-item>
+ <el-form-item label="妯℃澘璇存槑" v-if="form.title">
+ <el-input v-model="form.title" disabled></el-input>
+ </el-form-item>
+ <el-form-item label="妯℃澘鍐呭" v-if="form.content">
+ <el-input v-model="form.content" disabled></el-input>
+ </el-form-item>
+ <el-form-item label="鐘舵��">
+ <el-radio-group v-model="form.status">
+ <el-radio label="1">寮�鍚�</el-radio>
+ <el-radio label="2">鍏抽棴</el-radio>
+ </el-radio-group>
+ </el-form-item>
+ </el-form>
+ </el-tabs>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="centerDialogVisible = false">鍙� 娑�</el-button>
+ <el-button type="primary" @click="submit()">纭� 瀹�</el-button>
+ </span>
+ </el-dialog>
+ </div>
+</template>
+
+<script>
+import {notificationListApi,notificationRoutine,notificationWechat,notificationSms,notificationDetail,notificationUpdate} from '@/api/systemFormConfig'
+import {Debounce} from '@/utils/validate'
+export default {
+ data() {
+ return {
+ modalTitle: "",
+ notificationModal: false,
+ headerList: [
+ { label: "閫氱煡鍙告満", value: "2" },
+ ],
+ id:0,
+ levelLists: [],
+ currentTab: "2",
+ loading: false,
+ formData: {},
+ industry: null,
+ loadingList:false,
+ centerDialogVisible:false,
+ infoList:[],
+ infoList1:[
+ { label: "鐭俊", value: "sms" },
+ ],
+ form:{
+ content:'',
+ name:'',
+ id:'',
+ status:null,
+ tempId:'',
+ tempKey:'',
+ title:'',
+ },
+ detailType:'',
+ infoTab:''
+ };
+ },
+ created() {
+ this.getNotificationList(Number(this.currentTab));
+ },
+ methods: {
+ changeTab(data) {
+ this.getNotificationList(data.name);
+ },
+ //鑾峰彇娑堟伅鍒楄〃
+ getNotificationList(id){
+ this.loadingList = true;
+ notificationListApi({sendType:id}).then(res=>{
+ this.loadingList = false;
+ this.levelLists = res;
+ }).catch(res=>{
+ this.loadingList = false;
+ })
+ },
+ //鍏紬鍙锋秷鎭紑鍏�
+ changeWechat(row){
+ notificationWechat(row.id).then(res=>{
+ this.$modal.msgSuccess("淇敼鎴愬姛");
+ })
+ },
+ //灏忕▼搴忔秷鎭紑鍏�
+ changeRoutine(row){
+ notificationRoutine(row.id).then(res=>{
+ this.$modal.msgSuccess("淇敼鎴愬姛");
+ })
+ },
+ //鐭俊娑堟伅寮�鍏�
+ changeSms(row){
+ notificationSms(row.id).then(res=>{
+ this.$modal.msgSuccess("淇敼鎴愬姛");
+ })
+ },
+ //璇︽儏tab鍒囨崲
+ changeInfo(data){
+ this.getNotificationDetail(data);
+ },
+ //璇︽儏鏁版嵁
+ getNotificationDetail(param){
+ let data = {
+ id:this.id,
+ type:param.name
+ };
+ this.$set(this,'detailType',data.type);
+ notificationDetail(data).then(res=>{
+ this.form = res;
+ this.$set(this.form,'status',res.status.toString());
+ })
+ },
+ // 璁剧疆
+ setting(row) {
+ this.infoList = [];
+ this.id = row.id;
+ this.centerDialogVisible = true;
+ if(row.isWechat !== 0){
+ this.infoList.push({ label: "鍏紬鍙锋ā鏉挎秷鎭�", value: "wechat" });
+ }
+ if(row.isRoutine !== 0){
+ this.infoList.push({ label: "灏忕▼搴忚闃呮秷鎭�", value: "routine"});
+ }
+ if(row.isSms !== 0){
+ this.infoList.push({ label: "鐭俊", value: "sms" });
+ }
+ this.infoTab = this.infoList[0].value;
+ this.getNotificationDetail({name:this.infoTab});
+ },
+ //淇敼閫氱煡
+ submit:Debounce(function(){
+ let data = {
+ id:this.id,
+ status:Number(this.form.status),
+ tempId:this.form.tempId,
+ type:this.detailType
+ };
+ notificationUpdate(data).then(res=>{
+ this.$modal.msgSuccess("淇敼鎴愬姛");
+ this.centerDialogVisible = false;
+ this.getNotificationList();
+ })
+ }),
+ syncWechat(){
+ // wechatAsyncApi().then(res=>{
+ // this.$message.success('鍚屾鎴愬姛');
+ // })
+ },
+ syncRoutine(){
+ // routineAsyncApi().then(res=>{
+ // this.$message.success('鍚屾鎴愬姛');
+ // })
+ }
+ },
+};
+</script>
+
+<style scoped>
+ .mt-1{
+ margin-top:6px;
+ }
+ .description{
+ padding: 16px;
+ position: relative;
+ border-radius: 4px;
+ margin-bottom: 20px;
+ color: #515a6e;
+ line-height: 1.5;
+ font-size: 14px;
+ border: 1px solid #abdcff;
+ background-color: #f0faff;
+ }
+ .iconfont{
+ color:#06C05F;
+ }
+</style>
\ No newline at end of file
diff --git a/src/views/systemSetting/setting/index.vue b/src/views/systemSetting/setting/index.vue
new file mode 100644
index 0000000..9b5259f
--- /dev/null
+++ b/src/views/systemSetting/setting/index.vue
@@ -0,0 +1,196 @@
+<template>
+ <div class="divBox">
+ <el-card class="box-card">
+ <el-tabs v-model="activeNamel1" @tab-click="handleTabClick" v-loading="loading" v-if="checkPermi(['admin:system:config:info'])">
+ <el-tab-pane
+ v-for="tab,index in treeList"
+ :key="index"
+ :label="tab.name"
+ :name="tab.id.toString()">
+ <template>
+ <el-tabs v-if="tab.child.length > 0" v-model="activeNamel2"
+ type="border-card" @tab-click="handleItemTabClick">
+ <el-tab-pane
+ v-for="tabItem,itemIndex in tab.child"
+ :key="itemIndex"
+ :label="tabItem.name"
+ :name="tabItem.extra"
+ >
+ <parser
+ v-if="formConfChild.render"
+ :is-edit="formConfChild.isEdit"
+ :form-conf="formConfChild.content"
+ :form-edit-data="currentEditData"
+ @submit="handlerSubmit"
+ />
+ </el-tab-pane>
+ </el-tabs>
+ <span v-else>
+ <parser
+ v-if="formConf.render"
+ :is-edit="formConf.isEdit"
+ :form-conf="formConf.content"
+ :form-edit-data="currentEditData"
+ @submit="handlerSubmit"
+ />
+ </span>
+ </template>
+ </el-tab-pane>
+ </el-tabs>
+ </el-card>
+ </div>
+</template>
+
+<script>
+import parser from '@/components/FormGenerator/components/parser/Parser'
+import * as categoryApi from '@/api/categoryApi.js'
+import * as selfUtil from '@/utils/ZBKJIutil.js'
+import * as systemFormConfigApi from '@/api/systemFormConfig.js'
+import * as systemSettingApi from '@/api/systemSetting.js'
+import * as systemConfigApi from '@/api/systemConfig.js'
+// import Template from "@/views/appSetting/wxAccount/wxTemplate/index";
+import {beautifierConf} from "@/components/FormGenerator/utils";
+import { checkPermi } from "@/utils/permission"; // 鏉冮檺鍒ゆ柇鍑芥暟
+import {Debounce} from '@/utils/validate'
+export default {
+ // name: "index",
+ components: { parser },
+ data() {
+ return {
+ loading: false,
+ formConf: { content: { fields: [] }, id: null, render: false, isEdit: false },
+ formConfChild: { content: { fields: [] }, id: null, render: false, isEdit: false },
+ activeNamel1: null,
+ activeNamel2: '',//閽堝鏂囦欢鐗规畩澶勭悊
+ treeList: [],
+ editDataChild: {},
+ isCreate: 0,
+ currentEditId: null,
+ currentEditData: null,
+ currentSelectedUploadFlag:null,
+ }
+ },
+ mounted() {
+ this.handlerGetTreeList()
+ this.getCurrentUploadSelectedFlag()
+ },
+ methods: {
+ checkPermi,
+ handleTabClick(tab) {
+ this.activeNamel2 = tab.$children[0].panes[0].name;
+ this.handlerGetLevel2FormConfig(this.activeNamel2);
+ },
+ handlerGetLevel1FormConfig(id) {
+ const formPram = { id: id }
+ this.currentEditId = id
+ this.formConf.content = { fields: [] }
+ this.formConf.render = false
+ this.loading = true
+ systemFormConfigApi.getFormConfigInfo(formPram).then(data => {
+ const { id, name, info, content } = data
+ this.formConf.content = JSON.parse(content)
+ this.formConf.id = id
+ this.handlerGetSettingInfo(id, 1)
+ this.loading = false
+ }).catch(() =>{
+ this.loading = false
+ })
+ },
+ handleItemTabClick(tab, event) { //杩欓噷瀵箃abs=tab.name鍜宺adio=id鍋氫簡鍏煎
+ let _id = tab.name ? tab.name : tab
+ if(!_id) return this.$message.error('琛ㄥ崟閰嶇疆涓嶆纭紝璇峰叧鑱旀纭〃鍗曞悗浣跨敤')
+ this.handlerGetLevel2FormConfig(_id)
+ },
+ handlerGetLevel2FormConfig(id) {
+ const formPram = { id: id }
+ this.currentEditId = id
+ this.formConfChild.content = { fields: [] }
+ this.formConfChild.render = false
+ this.loading = true
+ systemFormConfigApi.getFormConfigInfo(formPram).then(data => {
+ const { id, name, info, content } = data
+ this.formConfChild.content = JSON.parse(content)
+ this.formConfChild.id = id
+ this.handlerGetSettingInfo(id, 2)
+ this.loading = false
+ }).catch(() =>{
+ this.loading = false
+ })
+ },
+ handlerGetSettingInfo(id, level) {
+ systemSettingApi.systemConfigInfo({ id: id }).then(data => {
+ this.currentEditData = data
+ if (level === 1) {
+ this.formConf.isEdit = this.currentEditData !== null
+ this.formConf.render = true
+ } else {
+ this.formConfChild.isEdit = this.currentEditData !== null
+ this.formConfChild.render = true
+ }
+ })
+ },
+ handlerSubmit:Debounce(function(formValue) {
+ this.handlerSave(formValue)
+ }),
+ handlerSave(formValue) {
+ const _pram = this.buildFormPram(formValue)
+ let _formId = 0
+ systemSettingApi.systemConfigSave(_pram).then(data => {
+ this.$message.success('娣诲姞鏁版嵁鎴愬姛')
+ })
+ },
+ handlerGetTreeList() {
+ const _pram = { type: this.$constants.categoryType[5].value, status: 1 }
+ this.loading = true
+ categoryApi.treeCategroy(_pram).then(data => {
+ this.treeList = this.handleAddArrt(data)
+ if (this.treeList.length > 0) this.activeNamel1 = this.treeList[0].id.toString();
+ if (this.treeList.length > 0 && this.treeList[0].child.length > 0) {
+ this.activeNamel2 = this.treeList[0].child[0].extra
+ }
+ if (this.activeNamel2) {
+ this.handlerGetLevel2FormConfig(this.treeList[0].child[0].extra)
+ }
+ // else {
+ // this.handlerGetLevel1FormConfig(this.treeList[0].extra)
+ //}
+ this.loading = false
+ }).catch(() =>{
+ this.loading = false
+ })
+ },
+ handleAddArrt(treeData) {
+ // let _result = this.addTreeListLabel(treeData)
+ const _result = selfUtil.addTreeListLabel(treeData)
+ return _result
+ },
+ buildFormPram(formValue) {
+ const _pram = {
+ fields: [],
+ id: this.currentEditId,
+ sort: 0, // 鍙傛暟鏆傛椂鏃犵敤
+ status: true // 鍙傛暟鏆傛椂鏃犵敤
+ }
+ const _fields = []
+ Object.keys(formValue).forEach((key) => {
+ _fields.push({
+ name: key,
+ title: key,
+ value: formValue[key]
+ })
+ })
+ _pram.fields = _fields
+ return _pram
+ },
+ getCurrentUploadSelectedFlag(){
+ systemConfigApi.configGetUniq({key:"uploadType"}).then(data => {
+ this.currentSelectedUploadFlag = parseInt(data)
+ })
+ }
+ }
+}
+</script>
+
+<style scoped>
+
+</style>
diff --git a/src/views/vehicle/queuing/edit.vue b/src/views/vehicle/queuing/edit.vue
new file mode 100644
index 0000000..c634a61
--- /dev/null
+++ b/src/views/vehicle/queuing/edit.vue
@@ -0,0 +1,111 @@
+<template>
+ <div>
+ <el-form
+ ref="editPram"
+ :rules="rules"
+ label-position="right"
+ label-width="70px"
+ :model="editPram"
+ inline=""
+ >
+ <el-form-item prop="sort" label="鎺掑簭">
+ <el-input-number
+ v-model="editPram.sort"
+ label="鎻忚堪鏂囧瓧"
+ ></el-input-number>
+ </el-form-item>
+ </el-form>
+
+ <div class="form-item-right">
+ <el-button @click="close">鍙栨秷</el-button>
+ <el-button
+ type="primary"
+ :loading="loadingBtn"
+ @click="handlerSubmit('editPram')"
+ >纭畾</el-button
+ >
+ </div>
+ </div>
+</template>
+<!--鍒涘缓鍜岀紪杈戝叕鐢ㄤ竴涓粍浠�-->
+<script>
+import { putQueueSortApi, putQueueReQueueApi } from "@/api/vehicle.js";
+export default {
+ // name: "edit"
+ props: {
+ editData: {
+ type: Object,
+ },
+ isReQueue: {
+ type: Boolean,
+ default: false,
+ },
+ },
+ data() {
+ return {
+ editPram: {
+ sort: "",
+ id: "",
+ },
+ loadingBtn: false,
+ rules: {
+ sort: [{ required: true, message: "璇疯緭鍏ユ帓搴�", trigger: "blur" }],
+ },
+ };
+ },
+ mounted() {
+ this.editPram.sort = this.editData.sort;
+ this.editPram.id = this.editData.id;
+ this.editPram.masterId = this.editData.masterId;
+ },
+ methods: {
+ close() {
+ this.$emit("hideEditDialog");
+ },
+
+ handlerSubmit(formName) {
+ this.$refs[formName].validate((valid) => {
+ if (!valid) return;
+
+ console.log("handlerSubmithandlerSubmithandlerSubmithandlerSubmit");
+ this.loadingBtn = true;
+ const api = this.isReQueue ? putQueueReQueueApi : putQueueSortApi;
+
+ api(
+ this.isReQueue ? this.editPram.masterId : this.editPram.id,
+ this.editPram.sort
+ )
+ .then((res) => {
+ this.loadingBtn = false;
+ this.$message.success(
+ this.isReQueue ? "閲嶆柊鎺掗槦鎴愬姛" : "璋冩暣鎺掑簭鎴愬姛"
+ );
+ this.$emit("editSuccess");
+ })
+ .catch(() => {
+ this.loadingBtn = false;
+ });
+ });
+ },
+ },
+};
+</script>
+
+<style scoped>
+/* .el-form--inline .el-form-item {
+ width: 49%;
+ margin-right: 0px;
+}
+::v-deep .el-form--inline .el-form-item__content {
+ width: calc(100% - 80px);
+} */
+
+.selWidth {
+ width: 400px;
+}
+
+.form-item-right {
+ display: flex;
+ justify-content: flex-end; /* 浣垮唴瀹归潬鍙� */
+}
+</style>
diff --git a/src/views/vehicle/queuing/index.vue b/src/views/vehicle/queuing/index.vue
new file mode 100644
index 0000000..ec1e2b6
--- /dev/null
+++ b/src/views/vehicle/queuing/index.vue
@@ -0,0 +1,836 @@
+<template>
+ <div class="divBox relative vehicle-queue">
+ <el-card class="box-card">
+ <div slot="header" class="clearfix">
+ <el-tabs v-model="tableFrom.areaId" @tab-click="handleChangeArea">
+ <el-tab-pane
+ :label="item.name"
+ :name="item.id.toString()"
+ v-for="(item, index) in headeNum"
+ :key="index"
+ />
+ </el-tabs>
+
+ <div class="sts-contanier" v-if="stsList.length > 0">
+ <div v-for="item in stsList" :key="item.title" class="sts-box">
+ <div class="sts-num">{{ item.num }}</div>
+ <div class="sts-title">{{ item.title }}</div>
+ </div>
+ </div>
+ <div class="container mt-1">
+ <el-form inline size="small">
+ <el-form-item label="鎺掗槦鍙风爜">
+ <el-input
+ v-model="tableFrom.queueNumber"
+ placeholder="璇疯緭鍏ユ帓闃熷彿鐮�"
+ class="selWidth"
+ size="small"
+ clearable
+ >
+ </el-input>
+ </el-form-item>
+ <el-form-item label="鎵嬫満鍙�">
+ <el-input
+ v-model="tableFrom.phone"
+ placeholder="璇疯緭鍏ユ墜鏈哄彿"
+ class="selWidth"
+ size="small"
+ clearable
+ >
+ </el-input>
+ </el-form-item>
+
+ <el-form-item>
+ <el-button
+ size="small"
+ type="primary"
+ class="mr10"
+ @click="getList(1)"
+ v-hasPermi="['admin:vehicle:queue']"
+ >鏌ヨ</el-button
+ >
+ </el-form-item>
+ </el-form>
+ </div>
+ </div>
+ <el-table
+ v-loading="listLoading"
+ :data="tableData.data"
+ style="width: 100%"
+ size="mini"
+ :key="tableKey"
+ :highlight-current-row="true"
+ :cell-style="{ textAlign: 'center' }"
+ :header-cell-style="{ fontWeight: 'bold', textAlign: 'center' }"
+ >
+ <el-table-column prop="queueNumber" label="鎺掗槦鍙风爜" min-width="80" />
+ <el-table-column prop="sort" label="褰撳墠鎺掑簭" width="70" />
+ <el-table-column prop="name" label="濮撳悕" min-width="80" />
+ <el-table-column prop="licensePlate" label="杞︾墝鍙�" width="90" />
+ <el-table-column prop="phone" label="鎵嬫満鍙�" min-width="100" />
+ <el-table-column prop="idCard" label="韬唤璇佸彿" min-width="150" />
+ <el-table-column
+ prop="loadingAreaName"
+ label="瑁呭嵏鍖哄煙"
+ min-width="70"
+ />
+ <el-table-column prop="orderTypeName" label="璁㈠崟绫诲瀷" min-width="70" />
+ <el-table-column prop="loadUnloadQty" label="瑁呭嵏鏁伴噺" min-width="70" />
+ <el-table-column prop="unitName" label="鍗曚綅" min-width="50" />
+ <el-table-column
+ prop="vehicleStatusName"
+ label="杞﹁締鐘舵��"
+ min-width="100"
+ >
+ <template slot-scope="scope">
+ <div class="center">
+ <div>{{ scope.row.vehicleStatusName }}</div>
+ <template
+ v-if="
+ scope.row.vehicleStatusCode == 1256 ||
+ scope.row.vehicleStatusCode == 1257
+ "
+ >
+ <el-tooltip
+ v-if="handleCompareTime(currentTime, scope.row.callTime)"
+ :content="getOverTip(currentTime, scope.row.callTime)"
+ placement="top"
+ >
+ <img
+ class="over-img"
+ src="../../../assets/imgs/over.svg"
+ alt=""
+ />
+ </el-tooltip>
+ </template>
+ </div> </template
+ ></el-table-column>
+
+ <el-table-column
+ prop="goodsStatusName"
+ label="璐х墿鐘舵��"
+ min-width="70"
+ />
+ <el-table-column prop="reasonName" label="浜嬬敱" min-width="60" />
+
+ <el-table-column label="鐧昏鏃堕棿" width="135" align="center">
+ <template slot-scope="scope">
+ <span>{{ scope.row.registerTime | vformatDate }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column
+ label="鎿嶄綔"
+ min-width="200"
+ fixed="right"
+ align="center"
+ >
+ <template slot-scope="scope">
+ <!-- <el-button
+ type="text"
+ size="small"
+ class="mr10"
+ @click="handleCreateCode(scope.row)"
+ >鐢熸垚浜岀淮鐮�</el-button
+ > -->
+ <el-button
+ type="text"
+ @click="handlePrintVehicle(scope.row)"
+ size="small"
+ class="mr10"
+ v-hasPermi="['admin:vehicle:print']"
+ >鎵撳嵃</el-button
+ >
+ <el-button
+ type="text"
+ size="small"
+ class="mr10"
+ @click="handleChangeSort(scope.row)"
+ v-hasPermi="['admin:vehicle:sort']"
+ >璋冩暣鎺掑簭</el-button
+ >
+ <el-dropdown trigger="click">
+ <span class="el-dropdown-link">
+ 鏇村<i class="el-icon-arrow-down el-icon--right" />
+ </span>
+ <el-dropdown-menu slot="dropdown">
+ <el-dropdown-item
+ v-if="scope.row.vehicleStatusCode == 1256"
+ @click.native="handleMoreAction(0, scope.row)"
+ >鍙戦�佺煭淇℃彁閱�</el-dropdown-item
+ >
+ <el-dropdown-item
+ v-if="
+ checkPermi(['admin:vehicle:call']) &&
+ scope.row.vehicleStatusCode == 1255
+ "
+ @click.native="handleMoreAction(1, scope.row)"
+ >鎵嬪姩鍙彿</el-dropdown-item
+ >
+ <el-dropdown-item
+ v-if="
+ checkPermi(['admin:vehicle:pass']) &&
+ scope.row.vehicleStatusCode == 1256
+ "
+ @click.native="handleMoreAction(2, scope.row)"
+ >鏍囪涓哄凡杩囧彿</el-dropdown-item
+ >
+ <el-dropdown-item
+ v-if="
+ checkPermi(['admin:vehicle:reQueue']) &&
+ scope.row.vehicleStatusCode == 1257
+ "
+ @click.native="handleMoreAction(3, scope.row)"
+ >閲嶆柊鎺掗槦</el-dropdown-item
+ >
+ </el-dropdown-menu>
+ </el-dropdown>
+ </template>
+ </el-table-column>
+ </el-table>
+ <div class="block">
+ <el-pagination
+ :page-sizes="[20, 40, 60, 80]"
+ :page-size="tableFrom.limit"
+ :current-page="tableFrom.page"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="tableData.total"
+ @size-change="handleSizeChange"
+ @current-change="pageChange"
+ />
+ </div>
+ <el-dialog
+ class="change-sort"
+ title="璋冩暣鎺掑簭"
+ :visible.sync="editDialogConfig.visible"
+ destroy-on-close
+ :close-on-click-modal="false"
+ >
+ <edit
+ v-if="editDialogConfig.visible"
+ :edit-data="editDialogConfig.editData"
+ :isReQueue="editDialogConfig.isReQueue"
+ @hideEditDialog="hideEditDialog"
+ @editSuccess="handleReloadData"
+ />
+ </el-dialog>
+ </el-card>
+ <el-card v-show="false">
+ <div class="print-dom">
+ <div class="print-dom-box" v-if="printInfo" id="printArea">
+ <div class="title">鍑哄叆璇佷俊鎭�</div>
+ <div class="code-title">鎺掗槦鍙风爜</div>
+ <div class="code-code">{{ printInfo.queueNumber }}</div>
+ <div class="code-wait">
+ 鍓嶆柟杩樻湁{{ printInfo.currentWaitNum }}杈嗚溅鎺掗槦涓�...
+ </div>
+ <div class="qrcode-code">
+ <qrcode
+ v-if="printInfo.visible"
+ :size="160"
+ :qrUrl="printInfo.url"
+ ></qrcode>
+ </div>
+ <div class="qrcode-text">寰俊鎵爜鏌ョ湅鎺掗槦杩涘害</div>
+ <div class="line"></div>
+ <div class="cell">
+ <div class="cell-label">濮撳悕</div>
+ <div class="cell-value">{{ printInfo.name }}</div>
+ </div>
+ <div class="cell">
+ <div class="cell-label">杞︾墝鍙�</div>
+ <div class="cell-value">{{ printInfo.licensePlate }}</div>
+ </div>
+ <div class="cell">
+ <div class="cell-label">鎵嬫満鍙�</div>
+ <div class="cell-value">{{ printInfo.phone }}</div>
+ </div>
+ <div class="cell">
+ <div class="cell-label">韬唤璇佸彿鐮�</div>
+ <div class="cell-value">{{ printInfo.idCard }}</div>
+ </div>
+ <div class="cell">
+ <div class="cell-label">瑁呭嵏鏁伴噺</div>
+ <div class="cell-value">{{ printInfo.loadUnloadQty }}</div>
+ </div>
+ <div class="cell">
+ <div class="cell-label">鍗曚綅</div>
+ <div class="cell-value">{{ printInfo.unitName }}</div>
+ </div>
+ <div class="cell">
+ <div class="cell-label">瑁呭嵏鍖哄煙</div>
+ <div class="cell-value">{{ printInfo.loadingAreaName }}</div>
+ </div>
+ <div class="cell">
+ <div class="cell-label">鐧昏鏃堕棿</div>
+ <div class="cell-value">{{ printInfo.registerTime }}</div>
+ </div>
+ <div class="cell">
+ <div class="cell-label">澶囨敞</div>
+ <div class="cell-value over-line">{{ printInfo.remark }}</div>
+ </div>
+ </div>
+ </div>
+ </el-card>
+ <!-- 浜岀淮鐮� -->
+ <el-dialog
+ class="qrcode-dialog"
+ :visible.sync="qrcodeDialogConfig.visible"
+ title="浜岀淮鐮�"
+ destroy-on-close
+ :close-on-click-modal="false"
+ width="380px"
+ >
+ <div class="qrcodebox-container">
+ <qrcode
+ v-if="qrcodeDialogConfig.visible"
+ :qrUrl="qrcodeDialogConfig.url"
+ :showText="qrcodeDialogConfig.text"
+ ></qrcode>
+ </div>
+ </el-dialog>
+ </div>
+</template>
+
+<script>
+import {
+ getVehicleQueueListApi,
+ putQueueCallNumberApi,
+ putQueuePassNumberApi,
+ getVehicleStsInfoApi,
+ getPrintVehcicleInfoApi,
+ sendSmsApi,
+} from "@/api/vehicle";
+import * as systemGroupDataApi from "@/api/systemGroupData.js";
+import edit from "./edit";
+import { formatDates } from "@/utils/index";
+import qrcode from "@/components/qrcode/index.vue";
+import { checkPermi } from "@/utils/permission"; // 鏉冮檺鍒ゆ柇鍑芥暟
+import printJS from "print-js";
+import printCss from "../registration/printCss";
+
+const tipsArr = ["鍙戦�佺煭淇℃彁閱掓垚鍔�", "鎵嬪姩鍙彿鎴愬姛", "鏍囪宸茶繃鍙锋垚鍔�"];
+const modelArr = ["鍙戦�佺煭淇℃彁閱�", "鎵嬪姩鍙彿", "鏍囪宸茶繃鍙�"];
+export default {
+ name: "Queuing",
+ components: { edit, qrcode },
+ data() {
+ return {
+ headeNum: [],
+ listLoading: true,
+ tableData: {
+ data: [],
+ total: 0,
+ },
+ qrcodeDialogConfig: {
+ visible: false,
+ text: "",
+ url: "",
+ },
+ tableFrom: {
+ page: 1,
+ limit: 20,
+ areaId: "",
+ phone: "",
+ queueNumber: "",
+ },
+ editDialogConfig: {
+ visible: false,
+ isReQueue: false,
+ data: {},
+ },
+ stsList: [],
+ currentTime: undefined,
+ tableKey: 0,
+ // websocket ---
+ // 閲嶈繛-寮圭獥鏁版嵁
+ reconnectFlag: false, // 澶辫触寮圭獥鏍囪瘑
+ reconnectFlagWeb: false, // 鏃犳硶閲嶈繛寮圭獥鏍囪瘑
+ reconnectNum: 0, // 閲嶈繛娆℃暟鍒濆鍊�
+
+ isBegin: true, // 鏄惁鍒濇鍒嗛〉
+ heartTimeout: 30000, // 蹇冭烦妫�鏌ユ椂闂�--
+ heartTimeoutObj: null,
+ heartServerTimeoutObj: null,
+
+ overTimeObj: null,
+
+ // wsUrl: "wss://car-manager.truekey.mobi/admin/lineup",
+ wsUrl: "wss://car-internalmanager.ztt.cn/admin/lineup",
+ ws: null,
+ lockReconnect: false, // 鏄惁杩炴帴鎴愬姛
+
+ showPrint: false,
+ printInfo: undefined,
+ };
+ },
+ mounted() {
+ if (process.env.NODE_ENV === "production") {
+ console.log("褰撳墠鏄敓浜х幆澧�");
+ let url = "https://car-internalmanager.ztt.cn/time";
+ // let url = "https://car-manager.truekey.mobi/time";
+ fetch(url, {
+ method: "GET",
+ headers: {
+ "Content-Type": "application/json",
+ },
+ })
+ .then((data) => {
+ return data.json();
+ })
+ .then((res) => {
+ this.currentTime = res.currentTime;
+ this.goodHeade();
+ });
+ } else {
+ console.log("褰撳墠鏄紑鍙戠幆澧�");
+ this.currentTime = this.getCurrentDate();
+ this.goodHeade();
+ }
+
+ this.createWebSocket();
+ this.checkOverNum();
+ },
+ methods: {
+ // 鍒濆鍖�
+ reset() {
+ this.getList(1);
+ this.getStsInfo(this.tableFrom.areaId);
+ },
+ checkPermi,
+ //璋冩暣鎺掑簭
+ handleChangeSort(item) {
+ this.editDialogConfig.editData = item;
+ this.editDialogConfig.isReQueue = false;
+ this.editDialogConfig.visible = true;
+ },
+ //鍏抽棴寮圭獥
+ hideEditDialog() {
+ this.editDialogConfig.visible = false;
+ },
+ handleReloadData() {
+ this.editDialogConfig.visible = false;
+ this.getList(1);
+ },
+ //鍒囨崲鍖哄煙
+ handleChangeArea(tab, event) {
+ this.tableFrom.areaId = tab.name;
+ this.getList(1);
+ this.getStsInfo();
+ },
+ handlePrintVehicle(item) {
+ let that = this;
+ getPrintVehcicleInfoApi({ queueNumber: item.queueNumber }).then((res) => {
+ console.log("鎵撳嵃淇℃伅锛�", res);
+ that.printInfo = undefined;
+ let newEl = {};
+ newEl.queueNumber = res.queueNumber || "-";
+ if (res.currentWaitNum && res.currentWaitNum > 0) {
+ newEl.currentWaitNum = res.currentWaitNum;
+ } else {
+ newEl.currentWaitNum = 0;
+ }
+ newEl.name = res.name || "-";
+ newEl.licensePlate = res.licensePlate || "-";
+ newEl.phone = res.phone || "-";
+ newEl.idCard = res.idCard || "-";
+ newEl.loadUnloadQty = res.loadUnloadQty || "-";
+ newEl.unitName = res.unitName || "-";
+ newEl.loadingAreaName = res.loadingAreaName || "-";
+ newEl.registerTime = res.registerTime || "-";
+ newEl.remark = res.remark || "-";
+ // newEl.url = `https://car-manager.truekey.mobi/driver/javaMobile/queryResult/${res.linkCode}`;
+ newEl.url = `https://car-manager.ztt.cn/driver/javaMobile/queryResult/${res.linkCode}`;
+ newEl.visible = true;
+
+ setTimeout(() => {
+ that.printInfo = newEl;
+ setTimeout(() => {
+ that.startPrint();
+ }, 200);
+ }, 200);
+ });
+ },
+ startPrint() {
+ printJS({
+ printable: "printArea",
+ type: "html",
+ maxWidth: "100%",
+ // targetStyles: ['*'],
+ style: printCss(),
+ scanStyles: false,
+ // style:".title { font-size: 20px}"
+ });
+ },
+
+ handleMoreAction(type, item) {
+ let that = this;
+ if (type == 0) {
+ this.$modalSure("鍙戦�佺煭淇℃彁閱掑悧锛�").then(() => {
+ sendSmsApi(item.id)
+ .then((res) => {
+ that.getList(1);
+ that.listLoading = false;
+ that.$message.success(tipsArr[type]);
+ })
+ .catch(() => {
+ that.listLoading = false;
+ });
+ });
+ } else if (type == 3) {
+ //閲嶆柊鎺掗槦 榛樿寤跺悗5杈嗚溅
+ let pItem = JSON.parse(JSON.stringify(item));
+ pItem.sort = item.sort + 5;
+ this.editDialogConfig.editData = pItem;
+ this.editDialogConfig.isReQueue = true;
+ this.editDialogConfig.visible = true;
+ } else {
+ this.$modalSure(`${modelArr[type]}鍚楋紵`).then(() => {
+ that.listLoading = true;
+ const api = ["", putQueueCallNumberApi, putQueuePassNumberApi][type];
+ api(type == 1 ? item.id : item.masterId)
+ .then((res) => {
+ this.getList(1);
+ that.listLoading = false;
+ that.$message.success(tipsArr[type]);
+ })
+ .catch(() => {
+ that.listLoading = false;
+ });
+ });
+ }
+ },
+ checkOverNum() {
+ let that = this;
+ if (that.overTimeObj) {
+ clearTimeout(that.overTimeObj);
+ that.overTimeObj = null;
+ }
+
+ that.overTimeObj = setTimeout(function () {
+ //璧嬪�煎綋鍓嶆椂闂达紝鍒锋柊鍒楄〃鏄剧ず
+ that.reloadOverTime();
+ }, 60000);
+ },
+ reloadOverTime() {
+ let that = this;
+ let url = "https://car-internalmanager.ztt.cn/time";
+ // let url = "https://car-manager.truekey.mobi/time";
+ fetch(url, {
+ method: "GET",
+ headers: {
+ "Content-Type": "application/json",
+ },
+ })
+ .then((data) => {
+ return data.json();
+ })
+ .then((res) => {
+ this.currentTime = res.currentTime;
+ setTimeout(() => {
+ that.tableKey += 1;
+ that.checkOverNum();
+ }, 200);
+ });
+ },
+ handleCompareTime(date1, date2) {
+ let time1 = new Date(date1).getTime()
+ ? new Date(date1).getTime()
+ : new Date().getTime(); //褰撳墠鏃堕棿
+ let time2 = new Date(date2).getTime();
+ if (time1 > time2 + this.overtime * 60 * 1000) {
+ return true;
+ }
+ return false;
+ },
+ getOverTip(date1, date2) {
+ let time1 = new Date(date1).getTime()
+ ? new Date(date1).getTime()
+ : new Date().getTime(); //褰撳墠鏃堕棿
+ let time2 = new Date(date2).getTime();
+
+ let over = (time1 - time2) / 1000 / 60;
+ return `鍏ュ巶瓒呮椂锛屽凡绛夊緟鍙告満鍏ュ巶${Math.ceil(over)}鍒嗛挓`;
+ },
+ getCurrentDate() {
+ const date = new Date();
+ return formatDates(date, "yyyy-MM-dd HH:mm:ss");
+ },
+ // 鑾峰彇鍖哄煙鍒楄〃
+ goodHeade() {
+ // 鑾峰彇瓒呮椂鏃堕暱
+ systemGroupDataApi
+ .groupDataList({ gid: 84 })
+ .then((data) => {
+ data.list.forEach((_lItem) => {
+ _lItem.value = JSON.parse(_lItem.value);
+ const _fields = _lItem.value.fields;
+ _fields.map((item) => {
+ if (_lItem.status) {
+ this.overtime = item.value;
+ console.log("overtime", this.overtime);
+ }
+ });
+ });
+ })
+ .catch((res) => {
+ this.$message.error(res.message);
+ });
+
+ systemGroupDataApi
+ .groupDataList({ gid: 74 })
+ .then((data) => {
+ const _selfList = [];
+ data.list.forEach((_lItem) => {
+ _lItem.value = JSON.parse(_lItem.value);
+ const _fields = _lItem.value.fields;
+ const _rowData = {};
+ _fields.map((item) => {
+ _rowData[item.name] = item.value;
+ });
+ _rowData.id = _lItem.id;
+ if (_lItem.status) {
+ _selfList.push(_rowData);
+ }
+ });
+
+ this.headeNum = _selfList;
+ console.log("xxxxx", this.headeNum);
+ this.tableFrom.areaId = this.headeNum[0].id.toString();
+ this.getList(1);
+ this.getStsInfo(this.tableFrom.areaId);
+ })
+ .catch((res) => {
+ this.$message.error(res.message);
+ });
+ },
+ // 鍒楄〃
+ getList(page) {
+ this.listLoading = true;
+ this.tableFrom.page = page ? page : this.tableFrom.page;
+
+ getVehicleQueueListApi(this.tableFrom)
+ .then((res) => {
+ this.tableData.data = res.list;
+ this.tableData.total = res.total;
+ this.listLoading = false;
+ })
+ .catch((res) => {
+ this.listLoading = false;
+ this.$message.error(res.message);
+ });
+ },
+ getStsInfo() {
+ getVehicleStsInfoApi({
+ areaId: this.tableFrom.areaId,
+ })
+ .then((res) => {
+ this.stsList = [
+ { title: "鍖哄煙鏈�澶ф暟閲�", num: res.maxVehicleCount },
+ { title: "绛夊緟鏁伴噺", num: res.waitingVehicleCount },
+ { title: "鍖哄煙鏁伴噺", num: res.currentVehicleCount },
+ { title: "宸插彂鏁伴噺", num: res.shippedVehicleCount },
+ {
+ title: "鐧昏鏁伴噺",
+ num: res.currentLevelVehicleCount,
+ },
+ ];
+ })
+ .catch(() => {});
+ },
+ pageChange(page) {
+ this.tableFrom.page = page;
+ this.getList();
+ },
+ handleSizeChange(val) {
+ this.tableFrom.limit = val;
+ this.getList();
+ },
+
+ // websocket
+ createWebSocket: function () {
+ this.lockReconnect = false;
+ let that = this;
+ try {
+ // console.log('websocket鍒涘缓杩炴帴-----銆嬫垚鍔�')
+ if ("WebSocket" in window) {
+ that.ws = new WebSocket(that.wsUrl);
+ } else if ("MozWebSocket" in window) {
+ that.ws = new MozWebSocket(that.wsUrl);
+ } else {
+ alert(
+ "鎮ㄧ殑娴忚鍣ㄤ笉鏀寔websocket鍗忚,寤鸿浣跨敤鏂扮増璋锋瓕銆佺伀鐙愮瓑娴忚鍣紝璇峰嬁浣跨敤IE10浠ヤ笅娴忚鍣紝360娴忚鍣ㄨ浣跨敤鏋侀�熸ā寮忥紝涓嶈浣跨敤鍏煎妯″紡锛�"
+ );
+ }
+ if (that.ws) {
+ that.initEventHandle();
+ }
+ } catch (e) {
+ // console.log('websocket鍒涘缓杩炴帴-----銆嬪け璐�')
+ that.lockReconnect = false;
+ that.reconnect();
+ }
+ },
+ initEventHandle() {
+ let that = this;
+ this.ws.onclose = () => {
+ that.lockReconnect = false;
+ that.reconnect();
+ };
+ this.ws.onerror = function () {
+ that.lockReconnect = false;
+ that.reconnect();
+ };
+ this.ws.onopen = () => {
+ that.ws.send("open_" + new Date() + Math.floor(Math.random() * 1000)); //鍙戦�佹棩蹇�
+ that.heartCheck();
+ };
+ this.ws.onmessage = (event) => {
+ //濡傛灉鑾峰彇鍒版秷鎭紝蹇冭烦妫�娴嬮噸缃�
+ // console.log('websocket閾炬帴鎴愬姛-----------銆�22',new Date())
+ that.heartCheck();
+ if (event.data === "pong") {
+ // console.log('ws-蹇冭烦妫�娴嬫垚鍔�')
+ }
+ if (event.data === "update") {
+ this.reset();
+ }
+ };
+ },
+ //娌¤繛鎺ヤ笂浼氫竴鐩撮噸杩烇紝璁剧疆寤惰繜閬垮厤璇锋眰杩囧
+ reconnect() {
+ if (this.setTimerOut) {
+ clearTimeout(this.setTimerOut);
+ this.setTimerOut = null;
+ }
+ this.reconnectNum = this.reconnectNum + 1;
+ if (this.lockReconnect) {
+ return;
+ }
+ if (this.reconnectNum > 3 && this.reconnectNum <= 240) {
+ this.reconnectFlag = true;
+ this.lockReconnect = false;
+ this.setTimerOut = setTimeout(() => {
+ this.createWebSocket();
+ }, 10000);
+ } else if (this.reconnectNum > 240) {
+ this.reconnectFlag = false;
+ this.reconnectFlagWeb = true;
+ this.lockReconnect = false;
+ this.setTimerOut = setTimeout(() => {
+ this.createWebSocket();
+ }, 10000);
+ } else {
+ this.setTimerOut = setTimeout(() => {
+ this.createWebSocket();
+ this.isBegin = true;
+ this.reconnectFlag = false;
+ this.reconnectFlagWeb = false;
+ this.lockReconnect = false;
+ }, 10000);
+ }
+ },
+ heartCheck() {
+ let that = this;
+ if (that.heartTimeoutObj) {
+ clearTimeout(that.heartTimeoutObj);
+ that.heartTimeoutObj = null;
+ }
+ if (that.heartServerTimeoutObj) {
+ clearTimeout(that.heartServerTimeoutObj);
+ that.heartServerTimeoutObj = null;
+ }
+ that.heartTimeoutObj = setTimeout(function () {
+ //onmessage鎷垮埌杩斿洖鐨勫績璺冲氨璇存槑杩炴帴姝e父
+ // console.log(vm.ws)
+ that.ws.send("ping");
+ that.heartServerTimeoutObj = setTimeout(function () {
+ //濡傛灉瓒呰繃涓�瀹氭椂闂磋繕娌¢噸缃紝璇存槑鍚庣涓诲姩鏂紑浜�
+ //濡傛灉onclose浼氭墽琛宺econnect锛屾垜浠墽琛寃s.close()灏辫浜�.濡傛灉鐩存帴鎵цreconnect 浼氳Е鍙憃nclose瀵艰嚧閲嶈繛涓ゆ
+ that.ws.close();
+ }, that.heartTimeout * 2);
+ }, that.heartTimeout);
+ },
+ },
+};
+</script>
+
+<style scoped lang="scss">
+.sts-contanier {
+ display: flex;
+ justify-content: space-between;
+ margin: 40px 0;
+ .sts-box {
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+
+ .sts-num {
+ font-size: 50px;
+ }
+ .sts-title {
+ font-size: 12px;
+ }
+ }
+}
+
+.el-dropdown-link {
+ cursor: pointer;
+ color: #409eff;
+ font-size: 12px;
+}
+.el-icon-arrow-down {
+ font-size: 12px;
+}
+
+.el-table__body {
+ width: 100%;
+ table-layout: fixed !important;
+}
+.taoBaoModal {
+ // z-index: 3333 !important;
+}
+.demo-table-expand {
+ ::v-deep label {
+ width: 82px;
+ }
+}
+.demo-table-expand {
+ ::v-deep .el-form-item__content {
+ width: 77%;
+ }
+}
+.selWidth {
+ width: 320px !important;
+}
+.seachTiele {
+ line-height: 30px;
+}
+.relative {
+ position: relative;
+}
+
+.vehicle-queue {
+ ::v-deep .el-dialog {
+ width: 25% !important;
+ }
+}
+.qrcode-dialog {
+ ::v-deep .el-dialog {
+ width: 340px !important;
+ }
+}
+.qrcodebox-container {
+ width: 300px !important;
+}
+.over-img {
+ margin-bottom: 2px;
+ margin-left: 2px;
+ width: 15px;
+ height: 15px;
+}
+.center {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+}
+</style>
diff --git a/src/views/vehicle/registration/edit.vue b/src/views/vehicle/registration/edit.vue
new file mode 100644
index 0000000..054b681
--- /dev/null
+++ b/src/views/vehicle/registration/edit.vue
@@ -0,0 +1,586 @@
+<template>
+ <div>
+ <el-form
+ ref="editPram"
+ :rules="rules"
+ label-position="right"
+ :model="tableFrom"
+ label-width="80px"
+ inline=""
+ >
+ <el-form-item prop="idCard" label="韬唤璇佸彿">
+ <el-autocomplete
+ v-model="tableFrom.idCard"
+ :fetch-suggestions="querySearch"
+ placeholder="璇疯緭鍏ヨ韩浠借瘉鍙�"
+ class="selWidth"
+ size="small"
+ :trigger-on-focus="false"
+ @blur="handleQueryLast"
+ @select="handleSelectIdCard"
+ >
+ </el-autocomplete>
+ <!-- <el-input
+ v-model="tableFrom.idCard"
+ placeholder="璇疯緭鍏ヨ韩浠借瘉鍙�"
+ class="selWidth"
+ size="small"
+ clearable
+
+ @blur="handleFindLastInfo"
+ >
+ </el-input> -->
+ </el-form-item>
+ <el-form-item prop="name" label="濮撳悕">
+ <el-input
+ v-model="tableFrom.name"
+ placeholder="璇疯緭鍏ュ鍚�"
+ class="selWidth"
+ size="small"
+ clearable
+ >
+ </el-input>
+ </el-form-item>
+ <el-form-item prop="phone" label="鎵嬫満鍙�">
+ <el-input
+ v-model="tableFrom.phone"
+ placeholder="璇疯緭鍏ユ墜鏈哄彿"
+ class="selWidth"
+ size="small"
+ clearable
+ >
+ </el-input>
+ </el-form-item>
+ <el-form-item prop="licensePlate" label="杞︾墝鍙�">
+ <el-input
+ v-model="tableFrom.licensePlate"
+ placeholder="璇疯緭鍏ヨ溅鐗屽彿"
+ class="selWidth"
+ size="small"
+ clearable
+ >
+ </el-input>
+ </el-form-item>
+ <el-form-item prop="loadingAreaCodes" label="瑁呭嵏鍖哄煙">
+ <el-select
+ v-model="tableFrom.loadingAreaCodes"
+ clearable
+ :multiple="this.isCreate === 1 ? false : true"
+ placeholder="璇烽�夋嫨"
+ :disabled="this.isCreate === 1 ? true : false"
+ class="selWidth"
+ >
+ <el-option
+ v-for="item in areaOptions"
+ :key="item.id"
+ :label="item.name"
+ :value="item.id"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item prop="orderTypeCode" label="璁㈠崟绫诲瀷">
+ <el-select
+ v-model="tableFrom.orderTypeCode"
+ clearable
+ placeholder="璇烽�夋嫨"
+ class="selWidth"
+ >
+ <el-option
+ v-for="item in orderTypeOptions"
+ :key="item.id"
+ :label="item.name"
+ :value="item.id"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item prop="loadUnloadQty" label="瑁呭嵏鏁伴噺">
+ <el-input-number v-model="tableFrom.loadUnloadQty"></el-input-number>
+ </el-form-item>
+ <el-form-item prop="unitCode" label="鍗曚綅">
+ <el-select
+ v-model="tableFrom.unitCode"
+ clearable
+ placeholder="璇烽�夋嫨"
+ class="selWidth"
+ >
+ <el-option
+ v-for="item in unitOptions"
+ :key="item.id"
+ :label="item.name"
+ :value="item.id"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+
+ <el-form-item prop="goodsStatusCode" label="璐х墿鐘舵��">
+ <el-select
+ v-model="tableFrom.goodsStatusCode"
+ clearable
+ placeholder="璇烽�夋嫨"
+ class="selWidth"
+ >
+ <el-option
+ v-for="item in goodsStatusOptions"
+ :key="item.id"
+ :label="item.name"
+ :value="item.id"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+
+ <el-form-item label="浜嬬敱">
+ <el-select
+ v-model="tableFrom.reasonCode"
+ clearable
+ placeholder="璇烽�夋嫨"
+ class="selWidth"
+ >
+ <el-option
+ v-for="item in originOptions"
+ :key="item.id"
+ :label="item.name"
+ :value="item.id"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item prop="remark" label="澶囨敞">
+ <el-input
+ v-model="tableFrom.remark"
+ placeholder="璇疯緭鍏ュ娉�"
+ class="selWidth"
+ size="small"
+ clearable
+ >
+ </el-input>
+ </el-form-item>
+ <el-row>
+ <el-form-item>
+ <el-checkbox v-model="tableFrom.sendSms">鍙戦�佸彨鍙风煭淇�</el-checkbox>
+ </el-form-item>
+ <el-form-item>
+ <el-checkbox v-model="tableFrom.printPass">鎵撳嵃鍑哄叆璇�</el-checkbox>
+ </el-form-item>
+ </el-row>
+ </el-form>
+
+ <div class="form-item-right">
+ <el-button @click="close">鍙栨秷</el-button>
+ <el-button
+ type="primary"
+ :loading="loadingBtn"
+ @click="handlerSubmit('editPram')"
+ v-hasPermi="['admin:category:update']"
+ >纭畾</el-button
+ >
+ </div>
+ </div>
+</template>
+<!--鍒涘缓鍜岀紪杈戝叕鐢ㄤ竴涓粍浠�-->
+<script>
+import {
+ addVehicleApi,
+ editVehicleApi,
+ getMasterIdApi,
+ getVehicleByIdCardApi,
+} from "@/api/vehicle";
+export default {
+ name: "edit",
+ props: {
+ prent: {
+ type: Object,
+ required: true,
+ },
+ isCreate: {
+ type: Number,
+ default: 0,
+ },
+ editData: {
+ type: Object,
+ },
+ },
+ data() {
+ return {
+ loadingBtn: false,
+ restaurants: [],
+ tableFrom: {
+ id: "",
+ idCard: "", //韬唤璇佸彿
+ licensePlate: "", //杞︾墝鍙�
+ loadUnloadQty: "", //瑁呭嵏鏁伴噺
+ loadingAreaCodes: [], //瑁呰揣鍖哄煙缂栫爜
+ name: "", //濮撳悕
+ orderTypeCode: "", //璁㈠崟绫诲瀷缂栫爜
+ phone: "", //鎵嬫満鍙�
+ goodsStatusCode: "", //璐х墿鐘舵�佺紪鐮�
+ printPass: true, //鏄惁鎵撳嵃鍑哄叆璇侊紝0鍚�1鏄�
+ reasonCode: "", //浜嬬敱缂栫爜
+ sendSms: true, //鏄惁鍙戦�佸彨鍙风煭淇★紝0鍚�1鏄�
+ unitCode: "", //鍗曚綅缂栫爜
+ remark: "", //澶囨敞
+ },
+ rules: {
+ idCard: [
+ {
+ required: true,
+ message: "璇疯緭鍏ヨ韩浠借瘉鍙�",
+ trigger: ["blur", "change"],
+ },
+ {
+ pattern:
+ /^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(10|11|12))((0[1-9])|([1-2][0-9])|30|31)\d{3}(\d|X)$/i,
+ message: "璇疯緭鍏ユ纭殑韬唤璇佸彿",
+ trigger: "blur",
+ },
+ ],
+ licensePlate: [
+ {
+ required: true,
+ message: "璇疯緭鍏ヨ溅鐗屽彿",
+ trigger: ["blur", "change"],
+ },
+ ],
+ name: [
+ {
+ required: true,
+ message: "璇疯緭鍏ュ鍚�",
+ trigger: ["blur", "change"],
+ },
+ ],
+ phone: [
+ {
+ required: true,
+ message: "璇疯緭鍏ユ墜鏈哄彿",
+ trigger: ["blur", "change"],
+ },
+ {
+ pattern: /^(?:(?:\+|00)86)?1\d{10}$/,
+ message: "璇疯緭鍏ユ纭殑鎵嬫満鍙�",
+ trigger: "blur",
+ },
+ ],
+ loadingAreaCodes: [
+ {
+ required: true,
+ message: "璇烽�夋嫨瑁呭嵏鍖哄煙",
+ trigger: ["blur", "change"],
+ },
+ ],
+ orderTypeCode: [
+ {
+ required: true,
+ message: "璇烽�夋嫨璁㈠崟绫诲瀷",
+ trigger: ["blur", "change"],
+ },
+ ],
+ licensePlate: [
+ {
+ required: true,
+ message: "璇疯緭鍏ヨ溅鐗屽彿",
+ trigger: ["blur", "change"],
+ },
+ ],
+ loadUnloadQty: [
+ {
+ required: true,
+ message: "璇疯緭鍏ヨ鍗告暟閲�",
+ trigger: ["blur", "change"],
+ },
+ ],
+ unitCode: [
+ {
+ required: true,
+ message: "璇烽�夋嫨鍗曚綅",
+ trigger: ["blur", "change"],
+ },
+ ],
+ goodsStatusCode: [
+ {
+ required: true,
+ message: "璇烽�夋嫨璐х墿鐘舵��",
+ trigger: ["blur", "change"],
+ },
+ ],
+ },
+ areaOptions: [],
+ orderTypeOptions: [],
+ unitOptions: [],
+ vehicleStatusOptions: [],
+ goodsStatusOptions: [],
+ originOptions: [],
+ };
+ },
+ mounted() {
+ this.initEditData();
+ if (JSON.parse(localStorage.getItem("idCards"))) {
+ this.restaurants = JSON.parse(localStorage.getItem("idCards"));
+ }
+ },
+ methods: {
+ close() {
+ this.$emit("hideEditDialog");
+ },
+ initEditData() {
+ const { area, orderType, unit, vehicleStatus, goodsStauts, origin } =
+ this.editData;
+ const {
+ id,
+ idCard,
+ name,
+ phone,
+ licensePlate,
+ loadingAreaCode,
+ loadingAreaCodes,
+ orderTypeCode,
+ loadUnloadQty,
+ unitCode,
+ goodsStatusCode,
+ reasonCode,
+ sendSms,
+ remark,
+ printPass,
+ } = this.prent;
+
+ this.areaOptions = area.filter((item) => {
+ return item.name != "鍏ㄩ儴";
+ });
+ this.orderTypeOptions = orderType.filter((item) => {
+ return item.name != "鍏ㄩ儴";
+ });
+ this.unitOptions = unit.filter((item) => {
+ return item.name != "鍏ㄩ儴";
+ });
+ this.vehicleStatusOptions = vehicleStatus.filter((item) => {
+ return item.name != "鍏ㄩ儴";
+ });
+ this.goodsStatusOptions = goodsStauts.filter((item) => {
+ return item.name != "鍏ㄩ儴";
+ });
+ this.originOptions = origin.filter((item) => {
+ return item.name != "鍏ㄩ儴";
+ });
+
+ if (this.isCreate === 1) {
+ this.tableFrom = {
+ id: id,
+ idCard: idCard, //韬唤璇佸彿
+ licensePlate: licensePlate, //杞︾墝鍙�
+ loadUnloadQty: loadUnloadQty, //瑁呭嵏鏁伴噺
+ loadingAreaCodes: loadingAreaCode, //瑁呰揣鍖哄煙缂栫爜
+ name: name, //濮撳悕
+ orderTypeCode: orderTypeCode, //璁㈠崟绫诲瀷缂栫爜
+ phone: phone, //鎵嬫満鍙�
+ goodsStatusCode: goodsStatusCode, //璐х墿鐘舵�佺紪鐮�
+ printPass: printPass, //鏄惁鎵撳嵃鍑哄叆璇侊紝0鍚�1鏄�
+ reasonCode: reasonCode, //浜嬬敱缂栫爜
+ sendSms: sendSms, //鏄惁鍙戦�佸彨鍙风煭淇★紝0鍚�1鏄�
+ unitCode: unitCode, //鍗曚綅缂栫爜
+ remark: remark,
+ };
+ } else {
+ this.tableFrom.loadingAreaCodes = [];
+ }
+ },
+ handleQueryLast() {
+ setTimeout(() => {
+ this.handleFindLastInfo();
+ }, 200);
+ },
+ handleFindLastInfo() {
+ let that = this;
+ if (this.isCreate === 0 && this.tableFrom.idCard) {
+ //鍒涘缓鏃�
+ getVehicleByIdCardApi({ card: this.tableFrom.idCard })
+ .then((res) => {
+ if (res) {
+ that.restaurants.push({ value: that.tableFrom.idCard });
+ let newArr = that.removeDuplicates(that.restaurants);
+ let json = JSON.stringify(newArr);
+ localStorage.setItem("idCards", json);
+
+ const {
+ idCard,
+ name,
+ phone,
+ licensePlate,
+ loadingAreaCode,
+ loadingAreaCodes,
+ orderTypeCode,
+ loadUnloadQty,
+ unitCode,
+ goodsStatusCode,
+ reasonCode,
+ sendSms,
+ printPass,
+ remark,
+ } = res;
+ let areaIds = loadingAreaCodes;
+ console.log("========", areaIds);
+ if (areaIds == [] || areaIds == undefined) {
+ if (loadingAreaCode) {
+ areaIds = [loadingAreaCode];
+ }
+ }
+ let obj = {
+ goodsStatusCode: goodsStatusCode,
+ idCard: idCard,
+ licensePlate: licensePlate,
+ loadUnloadQty: loadUnloadQty,
+ name: name,
+ orderTypeCode: orderTypeCode,
+ phone: phone,
+ printPass: printPass,
+ reasonCode: reasonCode,
+ sendSms: sendSms,
+ unitCode: unitCode,
+ loadingAreaCodes: areaIds,
+ remark: remark,
+ };
+ console.log("=======+++++=", obj);
+
+ that.tableFrom = obj;
+ }
+ })
+ .catch(() => {});
+ }
+ },
+ removeDuplicates(arr) {
+ return arr.filter((item, index, self) => {
+ return (
+ self.findIndex(
+ (t) => t.value === item.value // 鍋囪浣犵殑瀵硅薄鏄�氳繃id灞炴�ф潵鍖哄垎鐨�
+ ) === index
+ );
+ });
+ },
+ handlerSubmit(formName) {
+ this.$refs[formName].validate((valid) => {
+ if (!valid) return;
+ this.handlerAddOrUpdate(this.isCreate === 0);
+ });
+ },
+ async handlerAddOrUpdate(isSave) {
+ if (isSave) {
+ //娣诲姞
+ this.loadingBtn = true;
+ //鍒ゆ柇鐩稿悓鍘傚尯 娣诲姞masterId
+ //鏍规嵁鍘傚尯 id杞琻ame 鐒跺悗鏍规嵁name鍒嗙粍
+
+ let names = this.areaOptions.filter((item) => {
+ return this.tableFrom.loadingAreaCodes.includes(item.id);
+ });
+
+ const groupArr = Object.values(
+ names.reduce((acc, item) => {
+ const key = item.name.split("鍖�")[0];
+ if (!acc[key]) {
+ acc[key] = [];
+ }
+ acc[key].push(item);
+ return acc;
+ }, {})
+ );
+
+ let paramArr = [];
+ for (let i = 0; i < groupArr.length; i++) {
+ const resData = await getMasterIdApi();
+ console.log(resData);
+ for (let j = 0; j < groupArr[i].length; j++) {
+ const element = groupArr[i][j];
+ let obj = {
+ ...this.tableFrom,
+ masterId: resData,
+ isPrint: j == 0 ? true : false,
+ loadingAreaCode: element.id,
+ };
+ delete obj.loadingAreaCodes;
+
+ paramArr.push(obj);
+ }
+ }
+ addVehicleApi({ addEbVehicleInfoList: paramArr })
+ .then((res) => {
+ console.log("resresresres", res);
+ this.$emit("addVehicleSucces", res);
+ this.$message.success("娣诲姞杞﹁締淇℃伅鎴愬姛");
+ this.loadingBtn = false;
+ })
+ .catch(() => {
+ this.loadingBtn = false;
+ });
+ } else {
+ //缂栬緫
+ this.loadingBtn = true;
+ let param = JSON.parse(JSON.stringify(this.tableFrom));
+ param.loadingAreaCode = param.loadingAreaCodes;
+ delete param.loadingAreaCodes;
+ editVehicleApi(param)
+ .then((res) => {
+ this.$emit("addVehicleSucces", res);
+ this.$message.success("缂栬緫杞﹁締淇℃伅鎴愬姛");
+ this.loadingBtn = false;
+ })
+ .catch(() => {
+ this.loadingBtn = false;
+ });
+ }
+ },
+ handleSelectIdCard(item) {
+ console.log(item);
+ this.tableFrom.idCard = item.value;
+ },
+
+ idFormatName(ids) {
+ const names = ids.map((id) => {
+ return this.areaOptions.find((item) => {
+ return item.id == id;
+ });
+ });
+ return names;
+ },
+
+ querySearch(queryString, cb) {
+ if (this.restaurants && this.restaurants.length > 0) {
+ const results = this.restaurants.filter((item) => {
+ if (
+ item.value &&
+ item.value.toLowerCase().indexOf(queryString.toLowerCase()) > -1
+ ) {
+ return true;
+ }
+ return false;
+ });
+ // 璋冪敤 callback 杩斿洖寤鸿鍒楄〃鐨勬暟鎹�
+ cb(results);
+ } else {
+ cb([]);
+ }
+ },
+ },
+};
+</script>
+
+<style scoped>
+.el-form--inline .el-form-item {
+ width: 49%;
+ margin-right: 0px;
+}
+::v-deep .el-form--inline .el-form-item__content {
+ width: calc(100% - 80px);
+}
+
+.selWidth {
+ width: 100%;
+}
+.smallSelW {
+ width: calc((100% - 24px) / 2);
+}
+.form-item-right {
+ display: flex;
+ justify-content: flex-end; /* 浣垮唴瀹归潬鍙� */
+}
+</style>
diff --git a/src/views/vehicle/registration/index.vue b/src/views/vehicle/registration/index.vue
new file mode 100644
index 0000000..3f24d93
--- /dev/null
+++ b/src/views/vehicle/registration/index.vue
@@ -0,0 +1,784 @@
+<!--
+ * @Author: weilGit
+ * @Date: 2025-07-10 09:18:41
+ * @LastEditors: weilGit
+ * @LastEditTime: 2025-07-14 15:11:50
+ * @Description: XXX
+ * @FilePath: \web-admin\src\views\vehicle\registration\index.vue
+-->
+<template>
+ <div class="divBox">
+ <el-card class="box-card">
+ <div class="clearfix">
+ <div class="container">
+ <el-form size="small" label-width="70px" ref="vehicleInfo" inline>
+ <el-form-item label="韬唤璇佸彿">
+ <el-input
+ v-model="tableFrom.idCard"
+ placeholder="璇疯緭鍏ヨ韩浠借瘉鍙�"
+ class="selWidth"
+ size="small"
+ clearable
+ >
+ </el-input>
+ </el-form-item>
+ <el-form-item label="濮撳悕">
+ <el-input
+ v-model="tableFrom.name"
+ placeholder="璇疯緭鍏ュ鍚�"
+ class="selWidth"
+ size="small"
+ clearable
+ >
+ </el-input>
+ </el-form-item>
+ <el-form-item label="鎵嬫満鍙�">
+ <el-input
+ v-model="tableFrom.phone"
+ placeholder="璇疯緭鍏ユ墜鏈哄彿"
+ class="selWidth"
+ size="small"
+ clearable
+ >
+ </el-input>
+ </el-form-item>
+ <el-form-item label="杞︾墝鍙�">
+ <el-input
+ v-model="tableFrom.licensePlate"
+ placeholder="璇疯緭鍏ヨ溅鐗屽彿"
+ class="selWidth"
+ size="small"
+ clearable
+ >
+ </el-input>
+ </el-form-item>
+ <el-form-item label="瑁呭嵏鍖哄煙">
+ <el-select
+ v-model="tableFrom.loadingAreaCode"
+ clearable
+ placeholder="璇烽�夋嫨"
+ class="selWidth"
+ >
+ <el-option
+ v-for="item in areaOptions"
+ :key="item.id"
+ :label="item.name"
+ :value="item.id"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="璁㈠崟绫诲瀷">
+ <el-select
+ v-model="tableFrom.orderTypeCode"
+ clearable
+ placeholder="璇烽�夋嫨"
+ class="selWidth"
+ >
+ <el-option
+ v-for="item in orderTypeOptions"
+ :key="item.id"
+ :label="item.name"
+ :value="item.id"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="瑁呭嵏鏁伴噺">
+ <el-input
+ v-model="tableFrom.loadUnloadQtyMin"
+ placeholder="鏈�灏忓��"
+ class="smallSelW"
+ size="small"
+ clearable
+ >
+ </el-input>
+ 锝�
+ <el-input
+ v-model="tableFrom.loadUnloadQtyMax"
+ placeholder="鏈�澶у��"
+ class="smallSelW"
+ size="small"
+ clearable
+ >
+ </el-input>
+ </el-form-item>
+ <el-form-item label="鍗曚綅">
+ <el-select
+ v-model="tableFrom.unitCode"
+ clearable
+ placeholder="璇烽�夋嫨"
+ class="selWidth"
+ >
+ <el-option
+ v-for="item in unitOptions"
+ :key="item.id"
+ :label="item.name"
+ :value="item.id"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="杞﹁締鐘舵��">
+ <el-select
+ v-model="tableFrom.vehicleStatusCode"
+ clearable
+ placeholder="璇烽�夋嫨"
+ class="selWidth"
+ >
+ <el-option
+ v-for="item in vehicleStatusOptions"
+ :key="item.id"
+ :label="item.name"
+ :value="item.id"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="璐х墿鐘舵��">
+ <el-select
+ v-model="tableFrom.goodsStatusCode"
+ clearable
+ placeholder="璇烽�夋嫨"
+ class="selWidth"
+ >
+ <el-option
+ v-for="item in goodsStatusOptions"
+ :key="item.id"
+ :label="item.name"
+ :value="item.id"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+ <el-form-item label="鎺掗槦鍙风爜">
+ <el-input
+ v-model="tableFrom.queueNumber"
+ placeholder="璇疯緭鍏ユ帓闃熷彿鐮�"
+ class="selWidth"
+ size="small"
+ clearable
+ >
+ </el-input>
+ </el-form-item>
+ <el-form-item label="浜嬬敱">
+ <el-select
+ v-model="tableFrom.reasonCode"
+ clearable
+ placeholder="璇烽�夋嫨"
+ class="selWidth"
+ >
+ <el-option
+ v-for="item in originOptions"
+ :key="item.id"
+ :label="item.name"
+ :value="item.id"
+ >
+ </el-option>
+ </el-select>
+ </el-form-item>
+
+ <el-form-item label="鐧昏鏃堕棿">
+ <el-date-picker
+ v-model="timeVal"
+ value-format="yyyy-MM-dd"
+ format="yyyy-MM-dd"
+ size="small"
+ type="daterange"
+ placement="bottom-end"
+ start-placeholder="寮�濮嬫棩鏈�"
+ end-placeholder="缁撴潫鏃ユ湡"
+ style="width: 20vw"
+ />
+ </el-form-item>
+ <el-form-item>
+ <el-button type="primary" @click="getList(1)" size="small"
+ >鏌ヨ</el-button
+ >
+ </el-form-item>
+ <el-form-item>
+ <el-button @click="resetForm('vehicleInfo')" size="small"
+ >閲嶇疆</el-button
+ >
+ </el-form-item>
+ </el-form>
+ <el-button
+ size="small"
+ type="primary"
+ class="mr10"
+ @click="handleAddVehicle()"
+ v-hasPermi="['admin:vehicle:add']"
+ >娣诲姞杞﹁締淇℃伅</el-button
+ >
+ </div>
+ </div>
+ </el-card>
+ <el-card v-show="showPrint">
+ <div class="print-dom">
+ <div class="print-dom-box" id="printArea">
+ <div v-for="item in printInfos" :key="item.id">
+ <div class="title">鍑哄叆璇佷俊鎭�</div>
+ <div class="code-title">鎺掗槦鍙风爜</div>
+ <div class="code-code">{{ item.queueNumber }}</div>
+ <div class="code-wait">
+ 鍓嶆柟杩樻湁{{ item.currentWaitNum }}杈嗚溅鎺掗槦涓�...
+ </div>
+ <div class="qrcode-code">
+ <qrcode
+ v-if="item.visible"
+ :size="160"
+ :qrUrl="item.url"
+ ></qrcode>
+ </div>
+ <div class="qrcode-text">寰俊鎵爜鏌ョ湅鎺掗槦杩涘害</div>
+ <div class="line"></div>
+ <div class="cell">
+ <div class="cell-label">濮撳悕</div>
+ <div class="cell-value">{{ item.name }}</div>
+ </div>
+ <div class="cell">
+ <div class="cell-label">杞︾墝鍙�</div>
+ <div class="cell-value">{{ item.licensePlate }}</div>
+ </div>
+ <div class="cell">
+ <div class="cell-label">鎵嬫満鍙�</div>
+ <div class="cell-value">{{ item.phone }}</div>
+ </div>
+ <div class="cell">
+ <div class="cell-label">韬唤璇佸彿鐮�</div>
+ <div class="cell-value">{{ item.idCard }}</div>
+ </div>
+ <div class="cell">
+ <div class="cell-label">瑁呭嵏鏁伴噺</div>
+ <div class="cell-value">{{ item.loadUnloadQty }}</div>
+ </div>
+ <div class="cell">
+ <div class="cell-label">鍗曚綅</div>
+ <div class="cell-value">{{ item.unitName }}</div>
+ </div>
+ <div class="cell">
+ <div class="cell-label">瑁呭嵏鍖哄煙</div>
+ <div class="cell-value">{{ item.loadingAreaName }}</div>
+ </div>
+ <div class="cell">
+ <div class="cell-label">鐧昏鏃堕棿</div>
+ <div class="cell-value">{{ item.registerTime }}</div>
+ </div>
+ <div class="cell">
+ <div class="cell-label">澶囨敞</div>
+ <div class="cell-value over-line">{{ item.remark }}</div>
+ </div>
+ <!-- <div v-if="printInfos && printInfos.length > 1" class="mb"></div> -->
+ </div>
+ </div>
+ </div>
+ </el-card>
+ <el-card class="box-card list-box">
+ <el-table
+ v-loading="listLoading"
+ :data="tableData.data"
+ style="width: 100%"
+ size="mini"
+ class="table"
+ highlight-current-row
+ :cell-style="{ textAlign: 'center' }"
+ :header-cell-style="{ fontWeight: 'bold', textAlign: 'center' }"
+ >
+ <el-table-column prop="idCard" label="韬唤璇佸彿" width="150" />
+ <el-table-column prop="name" label="濮撳悕" min-width="80" />
+
+ <el-table-column prop="phone" label="鎵嬫満鍙�" min-width="100" />
+ <el-table-column prop="licensePlate" label="杞︾墝鍙�" min-width="90" />
+ <el-table-column
+ prop="loadingAreaName"
+ label="瑁呭嵏鍖哄煙"
+ min-width="70"
+ />
+ <el-table-column prop="orderTypeName" label="璁㈠崟绫诲瀷" width="70" />
+ <el-table-column prop="loadUnloadQty" label="瑁呭嵏鏁伴噺" min-width="70" />
+ <el-table-column prop="unitName" label="鍗曚綅" min-width="50" />
+ <el-table-column
+ prop="vehicleStatusName"
+ label="杞﹁締鐘舵��"
+ min-width="70"
+ />
+ <el-table-column
+ prop="goodsStatusName"
+ label="璐х墿鐘舵��"
+ min-width="70"
+ />
+ <el-table-column prop="queueNumber" label="鎺掗槦鍙风爜" min-width="80" />
+ <el-table-column prop="reasonName" label="浜嬬敱" min-width="60" />
+ <el-table-column label="鐧昏鏃堕棿" min-width="135" align="center">
+ <template slot-scope="scope">
+ <span>{{ scope.row.registerTime | vformatDate }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="remark" label="澶囨敞" min-width="60" />
+
+ <el-table-column
+ label="鎿嶄綔"
+ min-width="120"
+ fixed="right"
+ align="center"
+ >
+ <template slot-scope="scope">
+ <el-button
+ type="text"
+ @click="handleEditVehicle(scope.row)"
+ size="small"
+ class="mr10"
+ v-hasPermi="['admin:vehicle:edit']"
+ >缂栬緫</el-button
+ >
+
+ <el-button
+ type="text"
+ size="small"
+ v-hasPermi="['admin:vehicle:delete']"
+ @click="handleDeleteVehicle(scope.row.masterId)"
+ >鍒犻櫎</el-button
+ >
+ </template>
+ </el-table-column>
+ </el-table>
+ <div class="block">
+ <el-pagination
+ :page-sizes="[20, 40, 60, 80]"
+ :page-size="tableFrom.limit"
+ :current-page="tableFrom.page"
+ layout="total, sizes, prev, pager, next, jumper"
+ :total="tableData.total"
+ @size-change="handleSizeChange"
+ @current-change="pageChange"
+ />
+ </div>
+ </el-card>
+ <el-dialog
+ :title="editDialogConfig.isCreate === 0 ? `娣诲姞杞﹁締淇℃伅` : `缂栬緫杞﹁締淇℃伅`"
+ :visible.sync="editDialogConfig.visible"
+ destroy-on-close
+ :close-on-click-modal="false"
+ >
+ <edit
+ v-if="editDialogConfig.visible"
+ :prent="editDialogConfig.prent"
+ :is-create="editDialogConfig.isCreate"
+ :edit-data="editDialogConfig.data"
+ @hideEditDialog="hideEditDialog"
+ @addVehicleSucces="handleReloadData"
+ />
+ </el-dialog>
+ </div>
+</template>
+
+<script>
+import * as systemGroupDataApi from "@/api/systemGroupData.js";
+import { getVehicleListApi, deleteVehicleApi } from "@/api/vehicle";
+import cardsData from "@/components/cards/index";
+import { checkPermi } from "@/utils/permission"; // 鏉冮檺鍒ゆ柇鍑芥暟
+import { Debounce } from "@/utils/validate";
+import edit from "./edit";
+import qrcode from "@/components/qrcode/index.vue";
+
+import printJS from "print-js";
+import printCss from "./printCss";
+export default {
+ name: "systemLog",
+ components: {
+ cardsData,
+ edit,
+ qrcode,
+ },
+ data() {
+ return {
+ timeVal: [],
+ tableData: {
+ data: [],
+ total: 0,
+ },
+ listLoading: true,
+ tableFrom: {
+ idCard: "",
+ goodsStatusCode: "",
+ licensePlate: "",
+ loadUnloadQtyMax: "",
+ loadUnloadQtyMin: "",
+ loadingAreaCode: "",
+ name: "",
+ phone: "",
+ queueNumber: "",
+ reasonCode: "",
+ registerTimeEnd: "",
+ registerTimeStart: "",
+ unitCode: "",
+ vehicleStatusCode: "",
+ orderTypeCode: "",
+ page: 1,
+ limit: 20,
+ },
+ cardLists: [],
+ applyId: null,
+ extractType: "",
+
+ areaOptions: [],
+ orderTypeOptions: [],
+ unitOptions: [],
+ vehicleStatusOptions: [],
+ goodsStatusOptions: [],
+ originOptions: [],
+
+ editDialogConfig: {
+ visible: false,
+ isCreate: 0, // 0=鍒涘缓锛�1=缂栬緫
+ prent: {},
+ data: {},
+ },
+ showPrint: false,
+ printInfos: [],
+ // printInfo: {
+ // queueNumber: "",
+ // currentWaitNum: "-",
+ // name: "-",
+ // licensePlate: "-",
+ // phone: "-",
+ // idCard: "-",
+ // loadUnloadQty: "-",
+ // unitName: "-",
+ // loadingAreaName: "-",
+ // registerTime: "-",
+ // },
+ };
+ },
+ mounted() {
+ //鑾峰彇鎵�鏈夌殑涓嬫媺閫夐」
+ this.getList();
+ this.getOptionList(74);
+ this.getOptionList(75);
+ this.getOptionList(76);
+ this.getOptionList(77);
+ this.getOptionList(78);
+ this.getOptionList(79);
+ },
+ methods: {
+ checkPermi,
+ resetForm() {
+ this.dialogVisible = false;
+ },
+
+ getOptionList(id) {
+ // 鑾峰彇鍒楄〃鏁版嵁
+ systemGroupDataApi.groupDataList({ gid: id }).then((data) => {
+ const _selfList = [];
+ data.list.forEach((_lItem) => {
+ _lItem.value = JSON.parse(_lItem.value);
+ const _fields = _lItem.value.fields;
+ const _rowData = {};
+ _fields.map((item) => {
+ _rowData[item.name] = item.value;
+ });
+ _rowData.id = _lItem.id;
+ if (_lItem.status) {
+ _selfList.push(_rowData);
+ }
+ });
+ let model = { id: "", name: "鍏ㄩ儴" };
+ _selfList.unshift(model);
+ if (id == 74) {
+ this.areaOptions = _selfList;
+ } else if (id == 78) {
+ this.orderTypeOptions = _selfList;
+ } else if (id == 77) {
+ this.goodsStatusOptions = _selfList;
+ } else if (id == 76) {
+ this.vehicleStatusOptions = _selfList;
+ } else if (id == 75) {
+ this.unitOptions = _selfList;
+ } else if (id == 79) {
+ this.originOptions = _selfList;
+ }
+ });
+ },
+ handlerSubmit: Debounce(function (formValue) {
+ formValue.id = this.applyId;
+ formValue.extractType = this.extractType;
+ applyUpdateApi(formValue).then((data) => {
+ this.$message.success("缂栬緫鎴愬姛");
+ this.dialogVisible = false;
+ this.getList();
+ });
+ }),
+
+ hideEditDialog() {
+ this.editDialogConfig.visible = false;
+ },
+ handleDeleteVehicle(id) {
+ this.$modalSure("鍒犻櫎璇ヨ溅杈嗕俊鎭悧锛熷叧鑱旂殑鍏朵粬鍖哄煙鐨勮溅杈嗕俊鎭細涓�璧峰垹闄�").then(() => {
+ deleteVehicleApi(id)
+ .then((res) => {
+ this.$message.success("鍒犻櫎鎴愬姛");
+ this.getList(1);
+ })
+ .catch(() => {});
+ });
+ },
+ handleEditVehicle(item) {
+ this.editDialogConfig.isCreate = 1;
+ this.editDialogConfig.prent = item;
+ this.editDialogConfig.data = {
+ area: this.areaOptions,
+ orderType: this.orderTypeOptions,
+ unit: this.unitOptions,
+ vehicleStatus: this.vehicleStatusOptions,
+ goodsStauts: this.goodsStatusOptions,
+ origin: this.originOptions,
+ };
+ this.editDialogConfig.visible = true;
+ },
+
+ handleReloadData(res) {
+ this.editDialogConfig.visible = false;
+ this.getList(1);
+ setTimeout(() => {
+ if (res) {
+ if (res.length > 0 && res[0].printPass) {
+ this.setPrintInfo(res);
+ }
+ }
+ }, 100);
+ },
+ // 鍏蜂綋鏃ユ湡
+ onchangeTime(e) {
+ this.timeVal = e;
+ this.tableFrom.dateLimit = e ? this.timeVal.join(",") : "";
+ this.tableFrom.page = 1;
+ this.getList();
+ },
+ // 鍒楄〃
+ getList(num) {
+ this.listLoading = true;
+ this.tableFrom.page = num ? num : this.tableFrom.page;
+ if (this.timeVal) {
+ this.tableFrom.registerTimeStart = this.timeVal[0];
+ this.tableFrom.registerTimeEnd = this.timeVal[1];
+ } else {
+ this.tableFrom.registerTimeStart = "";
+ this.tableFrom.registerTimeEnd = "";
+ }
+ getVehicleListApi(this.tableFrom)
+ .then((res) => {
+ this.tableData.data = res.list;
+ this.tableData.total = res.total;
+ this.listLoading = false;
+ })
+ .catch(() => {
+ this.listLoading = false;
+ });
+ },
+ handleAddVehicle() {
+ this.editDialogConfig.isCreate = 0;
+ this.editDialogConfig.prent = {};
+ this.editDialogConfig.data = {
+ area: this.areaOptions,
+ orderType: this.orderTypeOptions,
+ unit: this.unitOptions,
+ vehicleStatus: this.vehicleStatusOptions,
+ goodsStauts: this.goodsStatusOptions,
+ origin: this.originOptions,
+ };
+ this.editDialogConfig.visible = true;
+ },
+ resetForm(formName) {
+ this.$refs[formName].resetFields();
+ this.tableFrom = {
+ idCard: "",
+ goodsStatusCode: "",
+ licensePlate: "",
+ loadUnloadQtyMax: "",
+ loadUnloadQtyMin: "",
+ loadingAreaCode: "",
+ name: "",
+ phone: "",
+ queueNumber: "",
+ reasonCode: "",
+ registerTimeEnd: "",
+ registerTimeStart: "",
+ unitCode: "",
+ vehicleStatusCode: "",
+ orderTypeCode: "",
+
+ page: 1,
+ limit: 20,
+ };
+ this.timeVal = [];
+ // this.getList();
+ },
+ pageChange(page) {
+ this.tableFrom.page = page;
+ this.getList();
+ },
+ handleSizeChange(val) {
+ this.tableFrom.limit = val;
+ this.getList();
+ },
+ setPrintInfo(res) {
+ let printArr = [];
+ for (let index = 0; index < res.length; index++) {
+ const element = res[index];
+ let newEl = {};
+ newEl.id = element.id;
+ newEl.queueNumber = element.queueNumber || "-";
+
+ if (element.currentWaitNum && element.currentWaitNum > 0) {
+ newEl.currentWaitNum = element.currentWaitNum;
+ } else {
+ newEl.currentWaitNum = 0;
+ }
+ newEl.name = element.name || "-";
+ newEl.licensePlate = element.licensePlate || "-";
+ newEl.phone = element.phone || "-";
+ newEl.idCard = element.idCard || "-";
+ newEl.loadUnloadQty = element.loadUnloadQty || "-";
+ newEl.unitName = element.unitName || "-";
+ newEl.loadingAreaName = element.loadingAreaName || "-";
+ newEl.registerTime = element.registerTime || "-";
+ newEl.remark = element.remark || "-";
+ // newEl.url = `https://car-manager.truekey.mobi/driver/javaMobile/queryResult/${element.linkCode}`;
+ newEl.url = `https://car-manager.ztt.cn/driver/javaMobile/queryResult/${element.linkCode}`;
+ newEl.visible = true;
+ printArr.push(newEl);
+ }
+ this.printInfos = printArr;
+ setTimeout(() => {
+ this.startPrint();
+ }, 200);
+ },
+ startPrint() {
+ printJS({
+ printable: "printArea",
+ type: "html",
+ maxWidth: "100%",
+ // targetStyles: ['*'],
+ style: printCss(),
+ scanStyles: false,
+ // style:".title { font-size: 20px}"
+ });
+ },
+ },
+};
+</script>
+
+<style lang="scss" scoped>
+.selWidth {
+ width: 20vw;
+}
+
+.smallSelW {
+ width: 9.4vw;
+}
+</style>
+<style lang="scss">
+.print-dom {
+ border: 1px solid #000;
+ padding: 20px;
+ &-btn {
+ margin: 30px;
+ }
+ &-box {
+ width: 375px;
+ padding: 35px 0px;
+ height: auto;
+ display: flex;
+ flex-direction: column;
+ align-items: center;
+ justify-content: center;
+ .title {
+ width: 100%;
+ height: 40px;
+ font-weight: 500;
+ font-size: 30px;
+ color: #000000;
+ text-align: center;
+ }
+ .mb {
+ height: 100px;
+ }
+ .code-title {
+ width: 100%;
+ margin-top: 35px;
+ height: 16px;
+ font-weight: 400;
+ font-size: 12px;
+ color: #000000;
+ text-align: center;
+ }
+ .code-code {
+ width: 100%;
+ height: 62px;
+ font-weight: 500;
+ font-size: 50px;
+ color: #373839;
+ letter-spacing: 2px;
+ text-align: center;
+ }
+ .code-wait {
+ width: 100%;
+ margin-top: 5px;
+ height: 20px;
+ font-weight: 400;
+ font-size: 15px;
+ color: #5f6062;
+ text-align: center;
+ font-style: normal;
+ }
+ .qrcode-code {
+ width: 170px;
+ height: 170px;
+ margin-top: 28px;
+ }
+ .qrcode-text {
+ width: 100%;
+ margin-top: 8px;
+ height: 16px;
+ font-weight: 400;
+ font-size: 12px;
+ color: #717172;
+ text-align: center;
+ }
+ .line {
+ margin-bottom: 20px;
+ width: 100%;
+ height: 20px;
+ // border-bottom: 2px dashed #D1D2D2;
+ border-bottom: 1px dashed #d1d2d2;
+ }
+ .cell {
+ width: 100%;
+ height: auto;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ height: 36px;
+ margin-bottom: 5px;
+ .cell-label {
+ width: 80px;
+ font-family: Alibaba PuHuiTi, Alibaba PuHuiTi;
+ font-weight: 400;
+ font-size: 15px;
+ color: #3c3e3f;
+ text-align: left;
+ }
+ .cell-value {
+ width: 200px;
+ font-family: Alibaba PuHuiTi, Alibaba PuHuiTi;
+ font-weight: 400;
+ font-size: 15px;
+ color: #5f6062;
+ text-align: right;
+ font-style: normal;
+ text-transform: none;
+ }
+ }
+ }
+}
+</style>
diff --git a/src/views/vehicle/registration/printCss.js b/src/views/vehicle/registration/printCss.js
new file mode 100644
index 0000000..cf0609c
--- /dev/null
+++ b/src/views/vehicle/registration/printCss.js
@@ -0,0 +1,92 @@
+export default function () {
+ return `
+ /*杩欐牱娉ㄩ噴鍙互*/
+ .title {
+ width: 100%;
+ font-weight: 500;
+ font-size: 26px;
+ color: #000000;
+ text-align: center;
+ }
+
+ .code-title {
+ width: 100%;
+ height: 16px;
+ margin-top: 10px;
+ font-weight: 400;
+ font-size: 12px;
+ color: #000000;
+ text-align: center;
+ }
+ .code-code {
+ width: 100%;
+ font-weight: 500;
+ font-size: 40px;
+ color: #373839;
+ letter-spacing: 2px;
+ text-align: center;
+ }
+ .code-wait {
+ width: 100%;
+ height: 18px;
+ font-weight: 400;
+ font-size: 15px;
+ color: #5F6062;
+ text-align: center;
+ font-style: normal;
+ }
+ .qrcode-code {
+ width: 160px;
+ height: 160px;
+ margin: 0 auto;
+ margin-top: 8px;
+ }
+ .qrcode-text {
+ width: 100%;
+ margin-top: 6px;
+ height: 14px;
+ font-weight: 400;
+ font-size: 12px;
+ color: #717172;
+ text-align: center;
+ }
+ .line {
+ margin-bottom: 8px;
+ width: 100%;
+ height: 10px;
+ border-borrom: 1px solid #D1D2D2;
+ }
+ .cell {
+ width: 100%;
+ height: auto;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ height: 36px;
+ margin-bottom: 5px;
+ }
+ .cell-label {
+ width: 80px;
+ font-family: Alibaba PuHuiTi, Alibaba PuHuiTi;
+ font-weight: 400;
+ font-size: 15px;
+ color: #3C3E3F;
+ text-align: left;
+ }
+ .cell-value {
+ width: 180px;
+ font-family: Alibaba PuHuiTi, Alibaba PuHuiTi;
+ font-weight: 400;
+ font-size: 15px;
+ color: #5F6062;
+ text-align: right;
+ font-style: normal;
+ text-transform: none;
+ }
+ .over-line {
+ white-space: nowrap;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ }
+ `;
+}
diff --git a/tests/unit/.eslintrc.js b/tests/unit/.eslintrc.js
new file mode 100644
index 0000000..958d51b
--- /dev/null
+++ b/tests/unit/.eslintrc.js
@@ -0,0 +1,5 @@
+module.exports = {
+ env: {
+ jest: true
+ }
+}
diff --git a/tests/unit/components/Hamburger.spec.js b/tests/unit/components/Hamburger.spec.js
new file mode 100644
index 0000000..01ea303
--- /dev/null
+++ b/tests/unit/components/Hamburger.spec.js
@@ -0,0 +1,18 @@
+import { shallowMount } from '@vue/test-utils'
+import Hamburger from '@/components/Hamburger/index.vue'
+describe('Hamburger.vue', () => {
+ it('toggle click', () => {
+ const wrapper = shallowMount(Hamburger)
+ const mockFn = jest.fn()
+ wrapper.vm.$on('toggleClick', mockFn)
+ wrapper.find('.hamburger').trigger('click')
+ expect(mockFn).toBeCalled()
+ })
+ it('prop isActive', () => {
+ const wrapper = shallowMount(Hamburger)
+ wrapper.setProps({ isActive: true })
+ expect(wrapper.contains('.is-active')).toBe(true)
+ wrapper.setProps({ isActive: false })
+ expect(wrapper.contains('.is-active')).toBe(false)
+ })
+})
diff --git a/tests/unit/components/SvgIcon.spec.js b/tests/unit/components/SvgIcon.spec.js
new file mode 100644
index 0000000..31467a9
--- /dev/null
+++ b/tests/unit/components/SvgIcon.spec.js
@@ -0,0 +1,22 @@
+import { shallowMount } from '@vue/test-utils'
+import SvgIcon from '@/components/SvgIcon/index.vue'
+describe('SvgIcon.vue', () => {
+ it('iconClass', () => {
+ const wrapper = shallowMount(SvgIcon, {
+ propsData: {
+ iconClass: 'test'
+ }
+ })
+ expect(wrapper.find('use').attributes().href).toBe('#icon-test')
+ })
+ it('className', () => {
+ const wrapper = shallowMount(SvgIcon, {
+ propsData: {
+ iconClass: 'test'
+ }
+ })
+ expect(wrapper.classes().length).toBe(1)
+ wrapper.setProps({ className: 'test' })
+ expect(wrapper.classes().includes('test')).toBe(true)
+ })
+})
diff --git a/tests/unit/utils/formatTime.spec.js b/tests/unit/utils/formatTime.spec.js
new file mode 100644
index 0000000..d07e414
--- /dev/null
+++ b/tests/unit/utils/formatTime.spec.js
@@ -0,0 +1,29 @@
+import { formatTime } from '@/utils/index.js'
+describe('Utils:formatTime', () => {
+ const d = new Date('2018-07-13 17:54:01') // "2018-07-13 17:54:01"
+ const retrofit = 5 * 1000
+
+ it('ten digits timestamp', () => {
+ expect(formatTime((d / 1000).toFixed(0))).toBe('7鏈�13鏃�17鏃�54鍒�')
+ })
+ it('test now', () => {
+ expect(formatTime(+new Date() - 1)).toBe('鍒氬垰')
+ })
+ it('less two minute', () => {
+ expect(formatTime(+new Date() - 60 * 2 * 1000 + retrofit)).toBe('2鍒嗛挓鍓�')
+ })
+ it('less two hour', () => {
+ expect(formatTime(+new Date() - 60 * 60 * 2 * 1000 + retrofit)).toBe('2灏忔椂鍓�')
+ })
+ it('less one day', () => {
+ expect(formatTime(+new Date() - 60 * 60 * 24 * 1 * 1000)).toBe('1澶╁墠')
+ })
+ it('more than one day', () => {
+ expect(formatTime(d)).toBe('7鏈�13鏃�17鏃�54鍒�')
+ })
+ it('format', () => {
+ expect(formatTime(d, '{y}-{m}-{d} {h}:{i}')).toBe('2018-07-13 17:54')
+ expect(formatTime(d, '{y}-{m}-{d}')).toBe('2018-07-13')
+ expect(formatTime(d, '{y}/{m}/{d} {h}-{i}')).toBe('2018/07/13 17-54')
+ })
+})
diff --git a/tests/unit/utils/parseTime.spec.js b/tests/unit/utils/parseTime.spec.js
new file mode 100644
index 0000000..bc61d1a
--- /dev/null
+++ b/tests/unit/utils/parseTime.spec.js
@@ -0,0 +1,32 @@
+import { parseTime } from '@/utils/index.js'
+describe('Utils:parseTime', () => {
+ const d = new Date('2018-07-13 17:54:01') // "2018-07-13 17:54:01"
+ it('timestamp', () => {
+ expect(parseTime(d)).toBe('2018-07-13 17:54:01')
+ })
+
+ it('timestamp string', () => {
+ expect(parseTime((d + ''))).toBe('2018-07-13 17:54:01')
+ })
+
+ it('ten digits timestamp', () => {
+ expect(parseTime((d / 1000).toFixed(0))).toBe('2018-07-13 17:54:01')
+ })
+ it('new Date', () => {
+ expect(parseTime(new Date(d))).toBe('2018-07-13 17:54:01')
+ })
+ it('format', () => {
+ expect(parseTime(d, '{y}-{m}-{d} {h}:{i}')).toBe('2018-07-13 17:54')
+ expect(parseTime(d, '{y}-{m}-{d}')).toBe('2018-07-13')
+ expect(parseTime(d, '{y}/{m}/{d} {h}-{i}')).toBe('2018/07/13 17-54')
+ })
+ it('get the day of the week', () => {
+ expect(parseTime(d, '{a}')).toBe('浜�') // 鏄熸湡浜�
+ })
+ it('get the day of the week', () => {
+ expect(parseTime(+d + 1000 * 60 * 60 * 24 * 2, '{a}')).toBe('鏃�') // 鏄熸湡鏃�
+ })
+ it('empty argument', () => {
+ expect(parseTime()).toBeNull()
+ })
+})
diff --git a/tests/unit/utils/validate.spec.js b/tests/unit/utils/validate.spec.js
new file mode 100644
index 0000000..ef2efe6
--- /dev/null
+++ b/tests/unit/utils/validate.spec.js
@@ -0,0 +1,28 @@
+import { validUsername, validURL, validLowerCase, validUpperCase, validAlphabets } from '@/utils/validate.js'
+describe('Utils:validate', () => {
+ it('validUsername', () => {
+ expect(validUsername('admin')).toBe(true)
+ expect(validUsername('editor')).toBe(true)
+ expect(validUsername('xxxx')).toBe(false)
+ })
+ it('validURL', () => {
+ expect(validURL('https://github.com/PanJiaChen/vue-element-admin')).toBe(true)
+ expect(validURL('http://github.com/PanJiaChen/vue-element-admin')).toBe(true)
+ expect(validURL('github.com/PanJiaChen/vue-element-admin')).toBe(false)
+ })
+ it('validLowerCase', () => {
+ expect(validLowerCase('abc')).toBe(true)
+ expect(validLowerCase('Abc')).toBe(false)
+ expect(validLowerCase('123abc')).toBe(false)
+ })
+ it('validUpperCase', () => {
+ expect(validUpperCase('ABC')).toBe(true)
+ expect(validUpperCase('Abc')).toBe(false)
+ expect(validUpperCase('123ABC')).toBe(false)
+ })
+ it('validAlphabets', () => {
+ expect(validAlphabets('ABC')).toBe(true)
+ expect(validAlphabets('Abc')).toBe(true)
+ expect(validAlphabets('123aBC')).toBe(false)
+ })
+})
diff --git a/vue.config.js b/vue.config.js
new file mode 100644
index 0000000..7c67ff3
--- /dev/null
+++ b/vue.config.js
@@ -0,0 +1,133 @@
+"use strict";
+const path = require("path");
+const defaultSettings = require("./src/settings.js");
+
+function resolve(dir) {
+ return path.join(__dirname, dir);
+}
+
+const name = defaultSettings.title || "CMS"; // page title
+
+// If your port is set to 80,
+// use administrator privileges to execute the command line.
+// For example, Mac: sudo npm run
+// You can change the port by the following method:
+// port = 9527 npm run dev OR npm run dev --port = 9527
+const port = process.env.port || process.env.npm_config_port || 9527; // dev port
+
+// All configuration item explanations can be find in https://cli.vuejs.org/config/
+module.exports = {
+ /**
+ * You will need to set publicPath if you plan to deploy your site under a sub path,
+ * for example GitHub Pages. If you plan to deploy your site to https://foo.github.io/bar/,
+ * then publicPath should be set to "/bar/".
+ * In most cases please use '/' !!!
+ * Detail: https://cli.vuejs.org/config/#publicpath
+ */
+ transpileDependencies: [
+ "element-ui",
+ "vuex",
+ "js-cookie",
+ "@babel",
+ "resize-detector",
+ ],
+ publicPath: "/",
+ outputDir: "dist",
+ assetsDir: "static",
+ lintOnSave: process.env.NODE_ENV === "development",
+ productionSourceMap: false,
+ devServer: {
+ port: port,
+ open: true,
+ overlay: {
+ warnings: false,
+ errors: true,
+ },
+
+ },
+
+ configureWebpack: {
+ // provide the app's title in webpack's name field, so that
+ // it can be accessed in index.html to inject the correct title.
+ name: name,
+ resolve: {
+ alias: {
+ "@": resolve("src"),
+ },
+ },
+ plugins: [],
+ },
+ chainWebpack(config) {
+ config.entry.app = ["babel-polyfill", "./src/main.js"];
+ config.plugins.delete("preload"); // TODO: need test
+ config.plugins.delete("prefetch"); // TODO: need test
+
+ // set svg-sprite-loader
+ config.module.rule("svg").exclude.add(resolve("src/icons")).end();
+ config.module
+ .rule("icons")
+ .test(/\.svg$/)
+ .include.add(resolve("src/icons"))
+ .end()
+ .use("svg-sprite-loader")
+ .loader("svg-sprite-loader")
+ .options({
+ symbolId: "icon-[name]",
+ })
+ .end();
+
+ // set preserveWhitespace
+ config.module
+ .rule("vue")
+ .use("vue-loader")
+ .loader("vue-loader")
+ .tap((options) => {
+ options.compilerOptions.preserveWhitespace = true;
+ return options;
+ })
+ .end();
+
+ config
+ // https://webpack.js.org/configuration/devtool/#development
+ .when(process.env.NODE_ENV === "development", (config) =>
+ config.devtool("cheap-source-map")
+ );
+
+ config.when(process.env.NODE_ENV !== "development", (config) => {
+ config
+ .plugin("ScriptExtHtmlWebpackPlugin")
+ .after("html")
+ .use("script-ext-html-webpack-plugin", [
+ {
+ // `runtime` must same as runtimeChunk name. default is `runtime`
+ inline: /runtime\..*\.js$/,
+ },
+ ])
+ .end();
+ config.optimization.splitChunks({
+ chunks: "all",
+ cacheGroups: {
+ libs: {
+ name: "chunk-libs",
+ test: /[\\/]node_modules[\\/]/,
+ priority: 10,
+ chunks: "initial", // only package third parties that are initially dependent
+ },
+ elementUI: {
+ name: "chunk-elementUI", // split elementUI into a single package
+ priority: 20, // the weight needs to be larger than libs and app or it will be packaged into libs or app
+ test: /[\\/]node_modules[\\/]_?element-ui(.*)/, // in order to adapt to cnpm
+ },
+ commons: {
+ name: "chunk-commons",
+ test: resolve("src/components"), // can customize your rules
+ minChunks: 3, // minimum common number
+ priority: 5,
+ reuseExistingChunk: true,
+ },
+ },
+ });
+ config.optimization.runtimeChunk("single");
+ });
+ },
+};
diff --git a/yarn.lock b/yarn.lock
new file mode 100644
index 0000000..d7c5cd3
--- /dev/null
+++ b/yarn.lock
@@ -0,0 +1,13212 @@
+# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
+# yarn lockfile v1
+
+
+"@ampproject/remapping@^2.2.0":
+ version "2.3.0"
+ resolved "https://registry.npmmirror.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4"
+ integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==
+ dependencies:
+ "@jridgewell/gen-mapping" "^0.3.5"
+ "@jridgewell/trace-mapping" "^0.3.24"
+
+"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.0.0-beta.35", "@babel/code-frame@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmmirror.com/@babel/code-frame/-/code-frame-7.27.1.tgz#200f715e66d52a23b221a9435534a91cc13ad5be"
+ integrity sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==
+ dependencies:
+ "@babel/helper-validator-identifier" "^7.27.1"
+ js-tokens "^4.0.0"
+ picocolors "^1.1.1"
+
+"@babel/compat-data@^7.20.5", "@babel/compat-data@^7.27.2", "@babel/compat-data@^7.27.7":
+ version "7.27.7"
+ resolved "https://registry.npmmirror.com/@babel/compat-data/-/compat-data-7.27.7.tgz#7fd698e531050cce432b073ab64857b99e0f3804"
+ integrity sha512-xgu/ySj2mTiUFmdE9yCMfBxLp4DHd5DwmbbD05YAuICfodYT3VvRxbrh81LGQ/8UpSdtMdfKMn3KouYDX59DGQ==
+
+"@babel/core@7.0.0":
+ version "7.0.0"
+ resolved "https://registry.npmmirror.com/@babel/core/-/core-7.0.0.tgz#0cb0c0fd2e78a0a2bec97698f549ae9ce0b99515"
+ integrity sha512-nrvxS5u6QUN5gLl1GEakIcmOeoUHT1/gQtdMRq18WFURJ5osn4ppJLVSseMQo4zVWKJfBTF4muIYijXUnKlRLQ==
+ dependencies:
+ "@babel/code-frame" "^7.0.0"
+ "@babel/generator" "^7.0.0"
+ "@babel/helpers" "^7.0.0"
+ "@babel/parser" "^7.0.0"
+ "@babel/template" "^7.0.0"
+ "@babel/traverse" "^7.0.0"
+ "@babel/types" "^7.0.0"
+ convert-source-map "^1.1.0"
+ debug "^3.1.0"
+ json5 "^0.5.0"
+ lodash "^4.17.10"
+ resolve "^1.3.2"
+ semver "^5.4.1"
+ source-map "^0.5.0"
+
+"@babel/core@^7.0.0":
+ version "7.27.7"
+ resolved "https://registry.npmmirror.com/@babel/core/-/core-7.27.7.tgz#0ddeab1e7b17317dad8c3c3a887716f66b5c4428"
+ integrity sha512-BU2f9tlKQ5CAthiMIgpzAh4eDTLWo1mqi9jqE2OxMG0E/OM199VJt2q8BztTxpnSW0i1ymdwLXRJnYzvDM5r2w==
+ dependencies:
+ "@ampproject/remapping" "^2.2.0"
+ "@babel/code-frame" "^7.27.1"
+ "@babel/generator" "^7.27.5"
+ "@babel/helper-compilation-targets" "^7.27.2"
+ "@babel/helper-module-transforms" "^7.27.3"
+ "@babel/helpers" "^7.27.6"
+ "@babel/parser" "^7.27.7"
+ "@babel/template" "^7.27.2"
+ "@babel/traverse" "^7.27.7"
+ "@babel/types" "^7.27.7"
+ convert-source-map "^2.0.0"
+ debug "^4.1.0"
+ gensync "^1.0.0-beta.2"
+ json5 "^2.2.3"
+ semver "^6.3.1"
+
+"@babel/generator@^7.0.0", "@babel/generator@^7.27.5":
+ version "7.27.5"
+ resolved "https://registry.npmmirror.com/@babel/generator/-/generator-7.27.5.tgz#3eb01866b345ba261b04911020cbe22dd4be8c8c"
+ integrity sha512-ZGhA37l0e/g2s1Cnzdix0O3aLYm66eF8aufiVteOgnwxgnRP8GoyMj7VWsgWnQbVKXyge7hqrFh2K2TQM6t1Hw==
+ dependencies:
+ "@babel/parser" "^7.27.5"
+ "@babel/types" "^7.27.3"
+ "@jridgewell/gen-mapping" "^0.3.5"
+ "@jridgewell/trace-mapping" "^0.3.25"
+ jsesc "^3.0.2"
+
+"@babel/helper-annotate-as-pure@^7.27.1", "@babel/helper-annotate-as-pure@^7.27.3":
+ version "7.27.3"
+ resolved "https://registry.npmmirror.com/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz#f31fd86b915fc4daf1f3ac6976c59be7084ed9c5"
+ integrity sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==
+ dependencies:
+ "@babel/types" "^7.27.3"
+
+"@babel/helper-compilation-targets@^7.20.7", "@babel/helper-compilation-targets@^7.27.1", "@babel/helper-compilation-targets@^7.27.2":
+ version "7.27.2"
+ resolved "https://registry.npmmirror.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz#46a0f6efab808d51d29ce96858dd10ce8732733d"
+ integrity sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==
+ dependencies:
+ "@babel/compat-data" "^7.27.2"
+ "@babel/helper-validator-option" "^7.27.1"
+ browserslist "^4.24.0"
+ lru-cache "^5.1.1"
+ semver "^6.3.1"
+
+"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmmirror.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.27.1.tgz#5bee4262a6ea5ddc852d0806199eb17ca3de9281"
+ integrity sha512-QwGAmuvM17btKU5VqXfb+Giw4JcN0hjuufz3DYnpeVDvZLAObloM77bhMXiqry3Iio+Ai4phVRDwl6WU10+r5A==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.27.1"
+ "@babel/helper-member-expression-to-functions" "^7.27.1"
+ "@babel/helper-optimise-call-expression" "^7.27.1"
+ "@babel/helper-replace-supers" "^7.27.1"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1"
+ "@babel/traverse" "^7.27.1"
+ semver "^6.3.1"
+
+"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmmirror.com/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.27.1.tgz#05b0882d97ba1d4d03519e4bce615d70afa18c53"
+ integrity sha512-uVDC72XVf8UbrH5qQTc18Agb8emwjTiZrQE11Nv3CuBEZmVvTwwE9CBUEvHku06gQCAyYf8Nv6ja1IN+6LMbxQ==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.27.1"
+ regexpu-core "^6.2.0"
+ semver "^6.3.1"
+
+"@babel/helper-define-polyfill-provider@^0.6.3", "@babel/helper-define-polyfill-provider@^0.6.5":
+ version "0.6.5"
+ resolved "https://registry.npmmirror.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.5.tgz#742ccf1cb003c07b48859fc9fa2c1bbe40e5f753"
+ integrity sha512-uJnGFcPsWQK8fvjgGP5LZUZZsYGIoPeRjSF5PGwrelYgq7Q15/Ft9NGFp1zglwgIv//W0uG4BevRuSJRyylZPg==
+ dependencies:
+ "@babel/helper-compilation-targets" "^7.27.2"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ debug "^4.4.1"
+ lodash.debounce "^4.0.8"
+ resolve "^1.22.10"
+
+"@babel/helper-environment-visitor@^7.18.9":
+ version "7.24.7"
+ resolved "https://registry.npmmirror.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.24.7.tgz#4b31ba9551d1f90781ba83491dd59cf9b269f7d9"
+ integrity sha512-DoiN84+4Gnd0ncbBOM9AZENV4a5ZiL39HYMyZJGZ/AZEykHYdJw0wW3kdcsh9/Kn+BRXHLkkklZ51ecPKmI1CQ==
+ dependencies:
+ "@babel/types" "^7.24.7"
+
+"@babel/helper-member-expression-to-functions@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmmirror.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.27.1.tgz#ea1211276be93e798ce19037da6f06fbb994fa44"
+ integrity sha512-E5chM8eWjTp/aNoVpcbfM7mLxu9XGLWYise2eBKGQomAk/Mb4XoxyqXTZbuTohbsl8EKqdlMhnDI2CCLfcs9wA==
+ dependencies:
+ "@babel/traverse" "^7.27.1"
+ "@babel/types" "^7.27.1"
+
+"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmmirror.com/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz#7ef769a323e2655e126673bb6d2d6913bbead204"
+ integrity sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==
+ dependencies:
+ "@babel/traverse" "^7.27.1"
+ "@babel/types" "^7.27.1"
+
+"@babel/helper-module-transforms@^7.27.1", "@babel/helper-module-transforms@^7.27.3":
+ version "7.27.3"
+ resolved "https://registry.npmmirror.com/@babel/helper-module-transforms/-/helper-module-transforms-7.27.3.tgz#db0bbcfba5802f9ef7870705a7ef8788508ede02"
+ integrity sha512-dSOvYwvyLsWBeIRyOeHXp5vPj5l1I011r52FM1+r1jCERv+aFXYk4whgQccYEGYxK2H3ZAIA8nuPkQ0HaUo3qg==
+ dependencies:
+ "@babel/helper-module-imports" "^7.27.1"
+ "@babel/helper-validator-identifier" "^7.27.1"
+ "@babel/traverse" "^7.27.3"
+
+"@babel/helper-optimise-call-expression@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmmirror.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.27.1.tgz#c65221b61a643f3e62705e5dd2b5f115e35f9200"
+ integrity sha512-URMGH08NzYFhubNSGJrpUEphGKQwMQYBySzat5cAByY1/YgIRkULnIy3tAMeszlL/so2HbeilYloUmSpd7GdVw==
+ dependencies:
+ "@babel/types" "^7.27.1"
+
+"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.27.1", "@babel/helper-plugin-utils@^7.8.0":
+ version "7.27.1"
+ resolved "https://registry.npmmirror.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz#ddb2f876534ff8013e6c2b299bf4d39b3c51d44c"
+ integrity sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==
+
+"@babel/helper-remap-async-to-generator@^7.18.9", "@babel/helper-remap-async-to-generator@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmmirror.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.27.1.tgz#4601d5c7ce2eb2aea58328d43725523fcd362ce6"
+ integrity sha512-7fiA521aVw8lSPeI4ZOD3vRFkoqkJcS+z4hFo82bFSH/2tNd6eJ5qCVMS5OzDmZh/kaHQeBaeyxK6wljcPtveA==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.27.1"
+ "@babel/helper-wrap-function" "^7.27.1"
+ "@babel/traverse" "^7.27.1"
+
+"@babel/helper-replace-supers@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmmirror.com/@babel/helper-replace-supers/-/helper-replace-supers-7.27.1.tgz#b1ed2d634ce3bdb730e4b52de30f8cccfd692bc0"
+ integrity sha512-7EHz6qDZc8RYS5ElPoShMheWvEgERonFCs7IAonWLLUTXW59DP14bCZt89/GKyreYn8g3S83m21FelHKbeDCKA==
+ dependencies:
+ "@babel/helper-member-expression-to-functions" "^7.27.1"
+ "@babel/helper-optimise-call-expression" "^7.27.1"
+ "@babel/traverse" "^7.27.1"
+
+"@babel/helper-skip-transparent-expression-wrappers@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmmirror.com/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.27.1.tgz#62bb91b3abba8c7f1fec0252d9dbea11b3ee7a56"
+ integrity sha512-Tub4ZKEXqbPjXgWLl2+3JpQAYBJ8+ikpQ2Ocj/q/r0LwE3UhENh7EUabyHjz2kCEsrRY83ew2DQdHluuiDQFzg==
+ dependencies:
+ "@babel/traverse" "^7.27.1"
+ "@babel/types" "^7.27.1"
+
+"@babel/helper-string-parser@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz#54da796097ab19ce67ed9f88b47bb2ec49367687"
+ integrity sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==
+
+"@babel/helper-validator-identifier@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz#a7054dcc145a967dd4dc8fee845a57c1316c9df8"
+ integrity sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==
+
+"@babel/helper-validator-option@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmmirror.com/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz#fa52f5b1e7db1ab049445b421c4471303897702f"
+ integrity sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==
+
+"@babel/helper-wrap-function@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmmirror.com/@babel/helper-wrap-function/-/helper-wrap-function-7.27.1.tgz#b88285009c31427af318d4fe37651cd62a142409"
+ integrity sha512-NFJK2sHUvrjo8wAU/nQTWU890/zB2jj0qBcCbZbbf+005cAsv6tMjXz31fBign6M5ov1o0Bllu+9nbqkfsjjJQ==
+ dependencies:
+ "@babel/template" "^7.27.1"
+ "@babel/traverse" "^7.27.1"
+ "@babel/types" "^7.27.1"
+
+"@babel/helpers@^7.0.0", "@babel/helpers@^7.27.6":
+ version "7.27.6"
+ resolved "https://registry.npmmirror.com/@babel/helpers/-/helpers-7.27.6.tgz#6456fed15b2cb669d2d1fabe84b66b34991d812c"
+ integrity sha512-muE8Tt8M22638HU31A3CgfSUciwz1fhATfoVai05aPXGor//CdWDCbnlY1yvBPo07njuVOCNGCSp/GTt12lIug==
+ dependencies:
+ "@babel/template" "^7.27.2"
+ "@babel/types" "^7.27.6"
+
+"@babel/parser@^7.0.0", "@babel/parser@^7.23.5", "@babel/parser@^7.27.2", "@babel/parser@^7.27.5", "@babel/parser@^7.27.7", "@babel/parser@^7.7.0", "@babel/parser@^7.9.6":
+ version "7.27.7"
+ resolved "https://registry.npmmirror.com/@babel/parser/-/parser-7.27.7.tgz#1687f5294b45039c159730e3b9c1f1b242e425e9"
+ integrity sha512-qnzXzDXdr/po3bOTbTIQZ7+TxNKxpkN5IifVLXS+r7qwynkZfPyjZfE7hCXbo7IoO9TNcSyibgONsf2HauUd3Q==
+ dependencies:
+ "@babel/types" "^7.27.7"
+
+"@babel/plugin-proposal-async-generator-functions@^7.2.0":
+ version "7.20.7"
+ resolved "https://registry.npmmirror.com/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz#bfb7276d2d573cb67ba379984a2334e262ba5326"
+ integrity sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==
+ dependencies:
+ "@babel/helper-environment-visitor" "^7.18.9"
+ "@babel/helper-plugin-utils" "^7.20.2"
+ "@babel/helper-remap-async-to-generator" "^7.18.9"
+ "@babel/plugin-syntax-async-generators" "^7.8.4"
+
+"@babel/plugin-proposal-class-properties@^7.0.0":
+ version "7.18.6"
+ resolved "https://registry.npmmirror.com/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz#b110f59741895f7ec21a6fff696ec46265c446a3"
+ integrity sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==
+ dependencies:
+ "@babel/helper-create-class-features-plugin" "^7.18.6"
+ "@babel/helper-plugin-utils" "^7.18.6"
+
+"@babel/plugin-proposal-decorators@^7.1.0":
+ version "7.27.1"
+ resolved "https://registry.npmmirror.com/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.27.1.tgz#3686f424b2f8b2fee7579aa4df133a4f5244a596"
+ integrity sha512-DTxe4LBPrtFdsWzgpmbBKevg3e9PBy+dXRt19kSbucbZvL2uqtdqwwpluL1jfxYE0wIDTFp1nTy/q6gNLsxXrg==
+ dependencies:
+ "@babel/helper-create-class-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/plugin-syntax-decorators" "^7.27.1"
+
+"@babel/plugin-proposal-json-strings@^7.2.0":
+ version "7.18.6"
+ resolved "https://registry.npmmirror.com/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz#7e8788c1811c393aff762817e7dbf1ebd0c05f0b"
+ integrity sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.18.6"
+ "@babel/plugin-syntax-json-strings" "^7.8.3"
+
+"@babel/plugin-proposal-object-rest-spread@^7.3.4":
+ version "7.20.7"
+ resolved "https://registry.npmmirror.com/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz#aa662940ef425779c75534a5c41e9d936edc390a"
+ integrity sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==
+ dependencies:
+ "@babel/compat-data" "^7.20.5"
+ "@babel/helper-compilation-targets" "^7.20.7"
+ "@babel/helper-plugin-utils" "^7.20.2"
+ "@babel/plugin-syntax-object-rest-spread" "^7.8.3"
+ "@babel/plugin-transform-parameters" "^7.20.7"
+
+"@babel/plugin-proposal-optional-catch-binding@^7.2.0":
+ version "7.18.6"
+ resolved "https://registry.npmmirror.com/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz#f9400d0e6a3ea93ba9ef70b09e72dd6da638a2cb"
+ integrity sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.18.6"
+ "@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
+
+"@babel/plugin-proposal-unicode-property-regex@^7.2.0":
+ version "7.18.6"
+ resolved "https://registry.npmmirror.com/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz#af613d2cd5e643643b65cded64207b15c85cb78e"
+ integrity sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.18.6"
+ "@babel/helper-plugin-utils" "^7.18.6"
+
+"@babel/plugin-syntax-async-generators@^7.2.0", "@babel/plugin-syntax-async-generators@^7.8.4":
+ version "7.8.4"
+ resolved "https://registry.npmmirror.com/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz#a983fb1aeb2ec3f6ed042a210f640e90e786fe0d"
+ integrity sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.0"
+
+"@babel/plugin-syntax-decorators@^7.27.1":
+ version "7.27.1"
+ resolved "https://registry.npmmirror.com/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.27.1.tgz#ee7dd9590aeebc05f9d4c8c0560007b05979a63d"
+ integrity sha512-YMq8Z87Lhl8EGkmb0MwYkt36QnxC+fzCgrl66ereamPlYToRpIk5nUjKUY3QKLWq8mwUB1BgbeXcTJhZOCDg5A==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-syntax-dynamic-import@^7.0.0":
+ version "7.8.3"
+ resolved "https://registry.npmmirror.com/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3"
+ integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.0"
+
+"@babel/plugin-syntax-json-strings@^7.2.0", "@babel/plugin-syntax-json-strings@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.npmmirror.com/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz#01ca21b668cd8218c9e640cb6dd88c5412b2c96a"
+ integrity sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.0"
+
+"@babel/plugin-syntax-jsx@^7.0.0", "@babel/plugin-syntax-jsx@^7.2.0":
+ version "7.27.1"
+ resolved "https://registry.npmmirror.com/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.27.1.tgz#2f9beb5eff30fa507c5532d107daac7b888fa34c"
+ integrity sha512-y8YTNIeKoyhGd9O0Jiyzyyqk8gdjnumGTQPsz0xOZOQ2RmkVJeZ1vmmfIvFEKqucBG6axJGBZDE/7iI5suUI/w==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-syntax-object-rest-spread@^7.2.0", "@babel/plugin-syntax-object-rest-spread@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.npmmirror.com/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz#60e225edcbd98a640332a2e72dd3e66f1af55871"
+ integrity sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.0"
+
+"@babel/plugin-syntax-optional-catch-binding@^7.2.0", "@babel/plugin-syntax-optional-catch-binding@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.npmmirror.com/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz#6111a265bcfb020eb9efd0fdfd7d26402b9ed6c1"
+ integrity sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.8.0"
+
+"@babel/plugin-transform-arrow-functions@^7.2.0":
+ version "7.27.1"
+ resolved "https://registry.npmmirror.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.27.1.tgz#6e2061067ba3ab0266d834a9f94811196f2aba9a"
+ integrity sha512-8Z4TGic6xW70FKThA5HYEKKyBpOOsucTOD1DjU3fZxDg+K3zBJcXMFnt/4yQiZnf5+MiOMSXQ9PaEK/Ilh1DeA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-async-to-generator@^7.3.4":
+ version "7.27.1"
+ resolved "https://registry.npmmirror.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.27.1.tgz#9a93893b9379b39466c74474f55af03de78c66e7"
+ integrity sha512-NREkZsZVJS4xmTr8qzE5y8AfIPqsdQfRuUiLRTEzb7Qii8iFWCyDKaUV2c0rCuh4ljDZ98ALHP/PetiBV2nddA==
+ dependencies:
+ "@babel/helper-module-imports" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-remap-async-to-generator" "^7.27.1"
+
+"@babel/plugin-transform-block-scoped-functions@^7.2.0":
+ version "7.27.1"
+ resolved "https://registry.npmmirror.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.27.1.tgz#558a9d6e24cf72802dd3b62a4b51e0d62c0f57f9"
+ integrity sha512-cnqkuOtZLapWYZUYM5rVIdv1nXYuFVIltZ6ZJ7nIj585QsjKM5dhL2Fu/lICXZ1OyIAFc7Qy+bvDAtTXqGrlhg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-block-scoping@^7.3.4":
+ version "7.27.5"
+ resolved "https://registry.npmmirror.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.27.5.tgz#98c37485d815533623d992fd149af3e7b3140157"
+ integrity sha512-JF6uE2s67f0y2RZcm2kpAUEbD50vH62TyWVebxwHAlbSdM49VqPz8t4a1uIjp4NIOIZ4xzLfjY5emt/RCyC7TQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-classes@^7.3.4":
+ version "7.27.7"
+ resolved "https://registry.npmmirror.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.27.7.tgz#038af7e7c346821cc74aff1036c1f762308cd2d6"
+ integrity sha512-CuLkokN1PEZ0Fsjtq+001aog/C2drDK9nTfK/NRK0n6rBin6cBrvM+zfQjDE+UllhR6/J4a6w8Xq9i4yi3mQrw==
+ dependencies:
+ "@babel/helper-annotate-as-pure" "^7.27.3"
+ "@babel/helper-compilation-targets" "^7.27.2"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-replace-supers" "^7.27.1"
+ "@babel/traverse" "^7.27.7"
+ globals "^11.1.0"
+
+"@babel/plugin-transform-computed-properties@^7.2.0":
+ version "7.27.1"
+ resolved "https://registry.npmmirror.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.27.1.tgz#81662e78bf5e734a97982c2b7f0a793288ef3caa"
+ integrity sha512-lj9PGWvMTVksbWiDT2tW68zGS/cyo4AkZ/QTp0sQT0mjPopCmrSkzxeXkznjqBxzDI6TclZhOJbBmbBLjuOZUw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/template" "^7.27.1"
+
+"@babel/plugin-transform-destructuring@^7.2.0":
+ version "7.27.7"
+ resolved "https://registry.npmmirror.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.27.7.tgz#c5356982d29d5c70e0396c933f07a94c31bb385c"
+ integrity sha512-pg3ZLdIKWCP0CrJm0O4jYjVthyBeioVfvz9nwt6o5paUxsgJ/8GucSMAIaj6M7xA4WY+SrvtGu2LijzkdyecWQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/traverse" "^7.27.7"
+
+"@babel/plugin-transform-dotall-regex@^7.2.0":
+ version "7.27.1"
+ resolved "https://registry.npmmirror.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.27.1.tgz#aa6821de864c528b1fecf286f0a174e38e826f4d"
+ integrity sha512-gEbkDVGRvjj7+T1ivxrfgygpT7GUd4vmODtYpbs0gZATdkX8/iSnOtZSxiZnsgm1YjTgjI6VKBGSJJevkrclzw==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-duplicate-keys@^7.2.0":
+ version "7.27.1"
+ resolved "https://registry.npmmirror.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.27.1.tgz#f1fbf628ece18e12e7b32b175940e68358f546d1"
+ integrity sha512-MTyJk98sHvSs+cvZ4nOauwTTG1JeonDjSGvGGUNHreGQns+Mpt6WX/dVzWBHgg+dYZhkC4X+zTDfkTU+Vy9y7Q==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-exponentiation-operator@^7.2.0":
+ version "7.27.1"
+ resolved "https://registry.npmmirror.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.27.1.tgz#fc497b12d8277e559747f5a3ed868dd8064f83e1"
+ integrity sha512-uspvXnhHvGKf2r4VVtBpeFnuDWsJLQ6MF6lGJLC89jBR1uoVeqM416AZtTuhTezOfgHicpJQmoD5YUakO/YmXQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-for-of@^7.2.0":
+ version "7.27.1"
+ resolved "https://registry.npmmirror.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.27.1.tgz#bc24f7080e9ff721b63a70ac7b2564ca15b6c40a"
+ integrity sha512-BfbWFFEJFQzLCQ5N8VocnCtA8J1CLkNTe2Ms2wocj75dd6VpiqS5Z5quTYcUoo4Yq+DN0rtikODccuv7RU81sw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1"
+
+"@babel/plugin-transform-function-name@^7.2.0":
+ version "7.27.1"
+ resolved "https://registry.npmmirror.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.27.1.tgz#4d0bf307720e4dce6d7c30fcb1fd6ca77bdeb3a7"
+ integrity sha512-1bQeydJF9Nr1eBCMMbC+hdwmRlsv5XYOMu03YSWFwNs0HsAmtSxxF1fyuYPqemVldVyFmlCU7w8UE14LupUSZQ==
+ dependencies:
+ "@babel/helper-compilation-targets" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/traverse" "^7.27.1"
+
+"@babel/plugin-transform-literals@^7.2.0":
+ version "7.27.1"
+ resolved "https://registry.npmmirror.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.27.1.tgz#baaefa4d10a1d4206f9dcdda50d7d5827bb70b24"
+ integrity sha512-0HCFSepIpLTkLcsi86GG3mTUzxV5jpmbv97hTETW3yzrAij8aqlD36toB1D0daVFJM8NK6GvKO0gslVQmm+zZA==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-modules-amd@^7.2.0":
+ version "7.27.1"
+ resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.27.1.tgz#a4145f9d87c2291fe2d05f994b65dba4e3e7196f"
+ integrity sha512-iCsytMg/N9/oFq6n+gFTvUYDZQOMK5kEdeYxmxt91fcJGycfxVP9CnrxoliM0oumFERba2i8ZtwRUCMhvP1LnA==
+ dependencies:
+ "@babel/helper-module-transforms" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-modules-commonjs@^7.2.0":
+ version "7.27.1"
+ resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.27.1.tgz#8e44ed37c2787ecc23bdc367f49977476614e832"
+ integrity sha512-OJguuwlTYlN0gBZFRPqwOGNWssZjfIUdS7HMYtN8c1KmwpwHFBwTeFZrg9XZa+DFTitWOW5iTAG7tyCUPsCCyw==
+ dependencies:
+ "@babel/helper-module-transforms" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-modules-systemjs@^7.3.4":
+ version "7.27.1"
+ resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.27.1.tgz#00e05b61863070d0f3292a00126c16c0e024c4ed"
+ integrity sha512-w5N1XzsRbc0PQStASMksmUeqECuzKuTJer7kFagK8AXgpCMkeDMO5S+aaFb7A51ZYDF7XI34qsTX+fkHiIm5yA==
+ dependencies:
+ "@babel/helper-module-transforms" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-validator-identifier" "^7.27.1"
+ "@babel/traverse" "^7.27.1"
+
+"@babel/plugin-transform-modules-umd@^7.2.0":
+ version "7.27.1"
+ resolved "https://registry.npmmirror.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.27.1.tgz#63f2cf4f6dc15debc12f694e44714863d34cd334"
+ integrity sha512-iQBE/xC5BV1OxJbp6WG7jq9IWiD+xxlZhLrdwpPkTX3ydmXdvoCpyfJN7acaIBZaOqTfr76pgzqBJflNbeRK+w==
+ dependencies:
+ "@babel/helper-module-transforms" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-named-capturing-groups-regex@^7.3.0":
+ version "7.27.1"
+ resolved "https://registry.npmmirror.com/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.27.1.tgz#f32b8f7818d8fc0cc46ee20a8ef75f071af976e1"
+ integrity sha512-SstR5JYy8ddZvD6MhV0tM/j16Qds4mIpJTOd1Yu9J9pJjH93bxHECF7pgtc28XvkzTD6Pxcm/0Z73Hvk7kb3Ng==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-new-target@^7.0.0":
+ version "7.27.1"
+ resolved "https://registry.npmmirror.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.27.1.tgz#259c43939728cad1706ac17351b7e6a7bea1abeb"
+ integrity sha512-f6PiYeqXQ05lYq3TIfIDu/MtliKUbNwkGApPUvyo6+tc7uaR4cPjPe7DFPr15Uyycg2lZU6btZ575CuQoYh7MQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-object-super@^7.2.0":
+ version "7.27.1"
+ resolved "https://registry.npmmirror.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.27.1.tgz#1c932cd27bf3874c43a5cac4f43ebf970c9871b5"
+ integrity sha512-SFy8S9plRPbIcxlJ8A6mT/CxFdJx/c04JEctz4jf8YZaVS2px34j7NXRrlGlHkN/M2gnpL37ZpGRGVFLd3l8Ng==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-replace-supers" "^7.27.1"
+
+"@babel/plugin-transform-parameters@^7.2.0", "@babel/plugin-transform-parameters@^7.20.7":
+ version "7.27.7"
+ resolved "https://registry.npmmirror.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.27.7.tgz#1fd2febb7c74e7d21cf3b05f7aebc907940af53a"
+ integrity sha512-qBkYTYCb76RRxUM6CcZA5KRu8K4SM8ajzVeUgVdMVO9NN9uI/GaVmBg/WKJJGnNokV9SY8FxNOVWGXzqzUidBg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-regenerator@^7.3.4":
+ version "7.27.5"
+ resolved "https://registry.npmmirror.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.27.5.tgz#0c01f4e0e4cced15f68ee14b9c76dac9813850c7"
+ integrity sha512-uhB8yHerfe3MWnuLAhEbeQ4afVoqv8BQsPqrTv7e/jZ9y00kJL6l9a/f4OWaKxotmjzewfEyXE1vgDJenkQ2/Q==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-runtime@^7.4.0":
+ version "7.27.4"
+ resolved "https://registry.npmmirror.com/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.27.4.tgz#dee5c5db6543313d1ae1b4b1ec122ff1e77352b9"
+ integrity sha512-D68nR5zxU64EUzV8i7T3R5XP0Xhrou/amNnddsRQssx6GrTLdZl1rLxyjtVZBd+v/NVX4AbTPOB5aU8thAZV1A==
+ dependencies:
+ "@babel/helper-module-imports" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+ babel-plugin-polyfill-corejs2 "^0.4.10"
+ babel-plugin-polyfill-corejs3 "^0.11.0"
+ babel-plugin-polyfill-regenerator "^0.6.1"
+ semver "^6.3.1"
+
+"@babel/plugin-transform-shorthand-properties@^7.2.0":
+ version "7.27.1"
+ resolved "https://registry.npmmirror.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.27.1.tgz#532abdacdec87bfee1e0ef8e2fcdee543fe32b90"
+ integrity sha512-N/wH1vcn4oYawbJ13Y/FxcQrWk63jhfNa7jef0ih7PHSIHX2LB7GWE1rkPrOnka9kwMxb6hMl19p7lidA+EHmQ==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-spread@^7.2.0":
+ version "7.27.1"
+ resolved "https://registry.npmmirror.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.27.1.tgz#1a264d5fc12750918f50e3fe3e24e437178abb08"
+ integrity sha512-kpb3HUqaILBJcRFVhFUs6Trdd4mkrzcGXss+6/mxUd273PfbWqSDHRzMT2234gIg2QYfAjvXLSquP1xECSg09Q==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+ "@babel/helper-skip-transparent-expression-wrappers" "^7.27.1"
+
+"@babel/plugin-transform-sticky-regex@^7.2.0":
+ version "7.27.1"
+ resolved "https://registry.npmmirror.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.27.1.tgz#18984935d9d2296843a491d78a014939f7dcd280"
+ integrity sha512-lhInBO5bi/Kowe2/aLdBAawijx+q1pQzicSgnkB6dUPc1+RC8QmJHKf2OjvU+NZWitguJHEaEmbV6VWEouT58g==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-template-literals@^7.2.0":
+ version "7.27.1"
+ resolved "https://registry.npmmirror.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.27.1.tgz#1a0eb35d8bb3e6efc06c9fd40eb0bcef548328b8"
+ integrity sha512-fBJKiV7F2DxZUkg5EtHKXQdbsbURW3DZKQUWphDum0uRP6eHGGa/He9mc0mypL680pb+e/lDIthRohlv8NCHkg==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-typeof-symbol@^7.2.0":
+ version "7.27.1"
+ resolved "https://registry.npmmirror.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.27.1.tgz#70e966bb492e03509cf37eafa6dcc3051f844369"
+ integrity sha512-RiSILC+nRJM7FY5srIyc4/fGIwUhyDuuBSdWn4y6yT6gm652DpCHZjIipgn6B7MQ1ITOUnAKWixEUjQRIBIcLw==
+ dependencies:
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/plugin-transform-unicode-regex@^7.2.0":
+ version "7.27.1"
+ resolved "https://registry.npmmirror.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.27.1.tgz#25948f5c395db15f609028e370667ed8bae9af97"
+ integrity sha512-xvINq24TRojDuyt6JGtHmkVkrfVV3FPT16uytxImLeBZqW3/H52yN+kM1MGuyPkIQxrzKwPHs5U/MP3qKyzkGw==
+ dependencies:
+ "@babel/helper-create-regexp-features-plugin" "^7.27.1"
+ "@babel/helper-plugin-utils" "^7.27.1"
+
+"@babel/preset-env@^7.0.0 < 7.4.0":
+ version "7.3.4"
+ resolved "https://registry.npmmirror.com/@babel/preset-env/-/preset-env-7.3.4.tgz#887cf38b6d23c82f19b5135298bdb160062e33e1"
+ integrity sha512-2mwqfYMK8weA0g0uBKOt4FE3iEodiHy9/CW0b+nWXcbL+pGzLx8ESYc+j9IIxr6LTDHWKgPm71i9smo02bw+gA==
+ dependencies:
+ "@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"
+
+"@babel/register@7.0.0":
+ version "7.0.0"
+ resolved "https://registry.npmmirror.com/@babel/register/-/register-7.0.0.tgz#fa634bae1bfa429f60615b754fc1f1d745edd827"
+ integrity sha512-f/+CRmaCe7rVEvcvPvxeA8j5aJhHC3aJie7YuqcMDhUOuyWLA7J/aNrTaHIzoWPEhpHA54mec4Mm8fv8KBlv3g==
+ dependencies:
+ core-js "^2.5.7"
+ find-cache-dir "^1.0.0"
+ home-or-tmp "^3.0.0"
+ lodash "^4.17.10"
+ mkdirp "^0.5.1"
+ pirates "^4.0.0"
+ source-map-support "^0.5.9"
+
+"@babel/runtime-corejs2@^7.2.0":
+ version "7.27.6"
+ resolved "https://registry.npmmirror.com/@babel/runtime-corejs2/-/runtime-corejs2-7.27.6.tgz#d1be0a7ddeeeebf65e47cf620691971f504aa521"
+ integrity sha512-WgvlQpGnm1rmvgrm+H+cVcAckEPlwURUCvv1ZVSFr9J9yixgFbNlu7+CjVKKAd4xQtMijPwxwcSi5SFFHKlmDw==
+ dependencies:
+ core-js "^2.6.12"
+
+"@babel/runtime@7.0.0":
+ version "7.0.0"
+ resolved "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.0.0.tgz#adeb78fedfc855aa05bc041640f3f6f98e85424c"
+ integrity sha512-7hGhzlcmg01CvH1EHdSPVXYX1aJ8KCEyz6I9xYIi/asDtzBPMyMhVibhM/K6g/5qnKBwjZtp10bNZIEFTRW1MA==
+ dependencies:
+ regenerator-runtime "^0.12.0"
+
+"@babel/runtime@^7.0.0", "@babel/runtime@^7.17.2", "@babel/runtime@^7.3.1":
+ version "7.27.6"
+ resolved "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.27.6.tgz#ec4070a04d76bae8ddbb10770ba55714a417b7c6"
+ integrity sha512-vbavdySgbTTrmFE+EsiqUTzlOr5bzlnJtUv9PynGCAKvfQqjIXbvFdumPM/GxMDfyuGMJaJAU6TO4zc1Jf1i8Q==
+
+"@babel/template@^7.0.0", "@babel/template@^7.27.1", "@babel/template@^7.27.2":
+ version "7.27.2"
+ resolved "https://registry.npmmirror.com/@babel/template/-/template-7.27.2.tgz#fa78ceed3c4e7b63ebf6cb39e5852fca45f6809d"
+ integrity sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==
+ dependencies:
+ "@babel/code-frame" "^7.27.1"
+ "@babel/parser" "^7.27.2"
+ "@babel/types" "^7.27.1"
+
+"@babel/traverse@^7.0.0", "@babel/traverse@^7.27.1", "@babel/traverse@^7.27.3", "@babel/traverse@^7.27.7", "@babel/traverse@^7.7.0":
+ version "7.27.7"
+ resolved "https://registry.npmmirror.com/@babel/traverse/-/traverse-7.27.7.tgz#8355c39be6818362eace058cf7f3e25ac2ec3b55"
+ integrity sha512-X6ZlfR/O/s5EQ/SnUSLzr+6kGnkg8HXGMzpgsMsrJVcfDtH1vIp6ctCN4eZ1LS5c0+te5Cb6Y514fASjMRJ1nw==
+ dependencies:
+ "@babel/code-frame" "^7.27.1"
+ "@babel/generator" "^7.27.5"
+ "@babel/parser" "^7.27.7"
+ "@babel/template" "^7.27.2"
+ "@babel/types" "^7.27.7"
+ debug "^4.3.1"
+ globals "^11.1.0"
+
+"@babel/types@^7.0.0", "@babel/types@^7.24.7", "@babel/types@^7.27.1", "@babel/types@^7.27.3", "@babel/types@^7.27.6", "@babel/types@^7.27.7", "@babel/types@^7.7.0":
+ version "7.27.7"
+ resolved "https://registry.npmmirror.com/@babel/types/-/types-7.27.7.tgz#40eabd562049b2ee1a205fa589e629f945dce20f"
+ integrity sha512-8OLQgDScAOHXnAz2cV+RfzzNMipuLVBz2biuAJFMV9bfkNf393je3VM8CLkjQodW5+iWsSJdSgSWT6rsZoXHPw==
+ dependencies:
+ "@babel/helper-string-parser" "^7.27.1"
+ "@babel/helper-validator-identifier" "^7.27.1"
+
+"@hapi/address@2.x.x":
+ version "2.1.4"
+ resolved "https://registry.npmmirror.com/@hapi/address/-/address-2.1.4.tgz#5d67ed43f3fd41a69d4b9ff7b56e7c0d1d0a81e5"
+ integrity sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==
+
+"@hapi/bourne@1.x.x":
+ version "1.3.2"
+ resolved "https://registry.npmmirror.com/@hapi/bourne/-/bourne-1.3.2.tgz#0a7095adea067243ce3283e1b56b8a8f453b242a"
+ integrity sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==
+
+"@hapi/hoek@8.x.x", "@hapi/hoek@^8.3.0":
+ version "8.5.1"
+ resolved "https://registry.npmmirror.com/@hapi/hoek/-/hoek-8.5.1.tgz#fde96064ca446dec8c55a8c2f130957b070c6e06"
+ integrity sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow==
+
+"@hapi/joi@^15.0.1":
+ version "15.1.1"
+ resolved "https://registry.npmmirror.com/@hapi/joi/-/joi-15.1.1.tgz#c675b8a71296f02833f8d6d243b34c57b8ce19d7"
+ integrity sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==
+ dependencies:
+ "@hapi/address" "2.x.x"
+ "@hapi/bourne" "1.x.x"
+ "@hapi/hoek" "8.x.x"
+ "@hapi/topo" "3.x.x"
+
+"@hapi/topo@3.x.x":
+ version "3.1.6"
+ resolved "https://registry.npmmirror.com/@hapi/topo/-/topo-3.1.6.tgz#68d935fa3eae7fdd5ab0d7f953f3205d8b2bfc29"
+ integrity sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==
+ dependencies:
+ "@hapi/hoek" "^8.3.0"
+
+"@intervolga/optimize-cssnano-plugin@^1.0.5":
+ version "1.0.6"
+ resolved "https://registry.npmmirror.com/@intervolga/optimize-cssnano-plugin/-/optimize-cssnano-plugin-1.0.6.tgz#be7c7846128b88f6a9b1d1261a0ad06eb5c0fdf8"
+ integrity sha512-zN69TnSr0viRSU6cEDIcuPcP67QcpQ6uHACg58FiN9PDrU6SLyGW3MR4tiISbYxy1kDWAVPwD+XwQTWE5cigAA==
+ dependencies:
+ cssnano "^4.0.0"
+ cssnano-preset-default "^4.0.0"
+ postcss "^7.0.0"
+
+"@isaacs/cliui@^8.0.2":
+ version "8.0.2"
+ resolved "https://registry.npmmirror.com/@isaacs/cliui/-/cliui-8.0.2.tgz#b37667b7bc181c168782259bab42474fbf52b550"
+ integrity sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==
+ dependencies:
+ string-width "^5.1.2"
+ string-width-cjs "npm:string-width@^4.2.0"
+ strip-ansi "^7.0.1"
+ strip-ansi-cjs "npm:strip-ansi@^6.0.1"
+ wrap-ansi "^8.1.0"
+ wrap-ansi-cjs "npm:wrap-ansi@^7.0.0"
+
+"@jridgewell/gen-mapping@^0.3.5":
+ version "0.3.11"
+ resolved "https://registry.npmmirror.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.11.tgz#02faf35e82eb08a465704d501f60cd073f8d1715"
+ integrity sha512-C512c1ytBTio4MrpWKlJpyFHT6+qfFL8SZ58zBzJ1OOzUEjHeF1BtjY2fH7n4x/g2OV/KiiMLAivOp1DXmiMMw==
+ dependencies:
+ "@jridgewell/sourcemap-codec" "^1.5.0"
+ "@jridgewell/trace-mapping" "^0.3.24"
+
+"@jridgewell/resolve-uri@^3.1.0":
+ version "3.1.2"
+ resolved "https://registry.npmmirror.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6"
+ integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==
+
+"@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.5.0":
+ version "1.5.3"
+ resolved "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.3.tgz#2d7bbc63fdfe4e4fa6b3478f651ec3844e284c1b"
+ integrity sha512-AiR5uKpFxP3PjO4R19kQGIMwxyRyPuXmKEEy301V1C0+1rVjS94EZQXf1QKZYN8Q0YM+estSPhmx5JwNftv6nw==
+
+"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25":
+ version "0.3.28"
+ resolved "https://registry.npmmirror.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.28.tgz#655017f73353f1e0eb1a0ecbd5edec01438c5e18"
+ integrity sha512-KNNHHwW3EIp4EDYOvYFGyIFfx36R2dNJYH4knnZlF8T5jdbD5Wx8xmSaQ2gP9URkJ04LGEtlcCtwArKcmFcwKw==
+ dependencies:
+ "@jridgewell/resolve-uri" "^3.1.0"
+ "@jridgewell/sourcemap-codec" "^1.4.14"
+
+"@mrmlnc/readdir-enhanced@^2.2.1":
+ version "2.2.1"
+ resolved "https://registry.npmmirror.com/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz#524af240d1a360527b730475ecfa1344aa540dde"
+ integrity sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==
+ dependencies:
+ call-me-maybe "^1.0.1"
+ glob-to-regexp "^0.3.0"
+
+"@nodelib/fs.stat@^1.1.2":
+ version "1.1.3"
+ resolved "https://registry.npmmirror.com/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz#2b5a3ab3f918cca48a8c754c08168e3f03eba61b"
+ integrity sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==
+
+"@one-ini/wasm@0.1.1":
+ version "0.1.1"
+ resolved "https://registry.npmmirror.com/@one-ini/wasm/-/wasm-0.1.1.tgz#6013659736c9dbfccc96e8a9c2b3de317df39323"
+ integrity sha512-XuySG1E38YScSJoMlqovLru4KTUNSjgVTIjyh7qMX6aNN5HY5Ct5LhRJdxO79JtTzKfzV/bnWpz+zquYrISsvw==
+
+"@pkgjs/parseargs@^0.11.0":
+ version "0.11.0"
+ resolved "https://registry.npmmirror.com/@pkgjs/parseargs/-/parseargs-0.11.0.tgz#a77ea742fab25775145434eb1d2328cf5013ac33"
+ integrity sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==
+
+"@riophae/vue-treeselect@0.4.0":
+ version "0.4.0"
+ resolved "https://registry.npmmirror.com/@riophae/vue-treeselect/-/vue-treeselect-0.4.0.tgz#0baed5a794cffc580b63591f35c125e51c0df241"
+ integrity sha512-J4atYmBqXQmiPFK/0B5sXKjtnGc21mBJEiyKIDZwk0Q9XuynVFX6IJ4EpaLmUgL5Tve7HAS7wkiGGSti6Uaxcg==
+ dependencies:
+ "@babel/runtime" "^7.3.1"
+ babel-helper-vue-jsx-merge-props "^2.0.3"
+ easings-css "^1.0.0"
+ fuzzysearch "^1.0.3"
+ is-promise "^2.1.0"
+ lodash "^4.0.0"
+ material-colors "^1.2.6"
+ watch-size "^2.0.0"
+
+"@samverschueren/stream-to-observable@^0.3.0":
+ version "0.3.1"
+ resolved "https://registry.npmmirror.com/@samverschueren/stream-to-observable/-/stream-to-observable-0.3.1.tgz#a21117b19ee9be70c379ec1877537ef2e1c63301"
+ integrity sha512-c/qwwcHyafOQuVQJj0IlBjf5yYgBI7YPJ77k4fOJYesb41jio65eaJODRUmfYKhTOFBrIZ66kgvGPlNbjuoRdQ==
+ dependencies:
+ any-observable "^0.3.0"
+
+"@sindresorhus/is@^0.14.0":
+ version "0.14.0"
+ resolved "https://registry.npmmirror.com/@sindresorhus/is/-/is-0.14.0.tgz#9fb3a3cf3132328151f353de4632e01e52102bea"
+ integrity sha512-9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==
+
+"@soda/friendly-errors-webpack-plugin@^1.7.1":
+ version "1.8.1"
+ resolved "https://registry.npmmirror.com/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.8.1.tgz#4d4fbb1108993aaa362116247c3d18188a2c6c85"
+ integrity sha512-h2ooWqP8XuFqTXT+NyAFbrArzfQA7R6HTezADrvD9Re8fxMLTPPniLdqVTdDaO0eIoLaAwKT+d6w+5GeTk7Vbg==
+ dependencies:
+ chalk "^3.0.0"
+ error-stack-parser "^2.0.6"
+ string-width "^4.2.3"
+ strip-ansi "^6.0.1"
+
+"@szmarczak/http-timer@^1.1.2":
+ version "1.1.2"
+ resolved "https://registry.npmmirror.com/@szmarczak/http-timer/-/http-timer-1.1.2.tgz#b1665e2c461a2cd92f4c1bbf50d5454de0d4b421"
+ integrity sha512-XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==
+ dependencies:
+ defer-to-connect "^1.0.1"
+
+"@types/bson@*":
+ version "4.2.4"
+ resolved "https://registry.npmmirror.com/@types/bson/-/bson-4.2.4.tgz#3bb08ab0de5dd07103fba355361814019ba2ae88"
+ integrity sha512-SG23E3JDH6y8qF20a4G9txLuUl+TCV16gxsKyntmGiJez2V9VBJr1Y8WxTBBD6OgBVcvspQ7sxgdNMkXFVcaEA==
+ dependencies:
+ bson "*"
+
+"@types/glob@^7.1.1":
+ version "7.2.0"
+ resolved "https://registry.npmmirror.com/@types/glob/-/glob-7.2.0.tgz#bc1b5bf3aa92f25bd5dd39f35c57361bdce5b2eb"
+ integrity sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==
+ dependencies:
+ "@types/minimatch" "*"
+ "@types/node" "*"
+
+"@types/json-schema@^7.0.5":
+ version "7.0.15"
+ resolved "https://registry.npmmirror.com/@types/json-schema/-/json-schema-7.0.15.tgz#596a1747233694d50f6ad8a7869fcb6f56cf5841"
+ integrity sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==
+
+"@types/minimatch@*":
+ version "5.1.2"
+ resolved "https://registry.npmmirror.com/@types/minimatch/-/minimatch-5.1.2.tgz#07508b45797cb81ec3f273011b054cd0755eddca"
+ integrity sha512-K0VQKziLUWkVKiRVrx4a40iPaxTUefQmjtkQofBkYRcoaaL/8rhwDWww9qWbrgicNOgnpIsMxyNIUM4+n6dUIA==
+
+"@types/mongodb@^3.5.27":
+ version "3.6.20"
+ resolved "https://registry.npmmirror.com/@types/mongodb/-/mongodb-3.6.20.tgz#b7c5c580644f6364002b649af1c06c3c0454e1d2"
+ integrity sha512-WcdpPJCakFzcWWD9juKoZbRtQxKIMYF/JIAM4JrNHrMcnJL6/a2NWjXxW7fo9hxboxxkg+icff8d7+WIEvKgYQ==
+ dependencies:
+ "@types/bson" "*"
+ "@types/node" "*"
+
+"@types/node@*":
+ version "24.0.8"
+ resolved "https://registry.npmmirror.com/@types/node/-/node-24.0.8.tgz#98f50977fe76ab78d02fc3bcb7f6c3b5f79a363c"
+ integrity sha512-WytNrFSgWO/esSH9NbpWUfTMGQwCGIKfCmNlmFDNiI5gGhgMmEA+V1AEvKLeBNvvtBnailJtkrEa2OIISwrVAA==
+ dependencies:
+ undici-types "~7.8.0"
+
+"@types/q@^1.5.1":
+ version "1.5.8"
+ resolved "https://registry.npmmirror.com/@types/q/-/q-1.5.8.tgz#95f6c6a08f2ad868ba230ead1d2d7f7be3db3837"
+ integrity sha512-hroOstUScF6zhIi+5+x0dzqrHA1EJi+Irri6b1fxolMTqqHIV/Cg77EtnQcZqZCu8hR3mX2BzIxN4/GzI68Kfw==
+
+"@types/strip-bom@^3.0.0":
+ version "3.0.0"
+ resolved "https://registry.npmmirror.com/@types/strip-bom/-/strip-bom-3.0.0.tgz#14a8ec3956c2e81edb7520790aecf21c290aebd2"
+ integrity sha512-xevGOReSYGM7g/kUBZzPqCrR/KYAo+F0yiPc85WFTJa0MSLtyFTVTU6cJu/aV4mid7IffDIWqo69THF2o4JiEQ==
+
+"@types/strip-json-comments@0.0.30":
+ version "0.0.30"
+ resolved "https://registry.npmmirror.com/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz#9aa30c04db212a9a0649d6ae6fd50accc40748a1"
+ integrity sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ==
+
+"@vue/babel-helper-vue-jsx-merge-props@^1.4.0":
+ version "1.4.0"
+ resolved "https://registry.npmmirror.com/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.4.0.tgz#8d53a1e21347db8edbe54d339902583176de09f2"
+ integrity sha512-JkqXfCkUDp4PIlFdDQ0TdXoIejMtTHP67/pvxlgeY+u5k3LEdKuWZ3LK6xkxo52uDoABIVyRwqVkfLQJhk7VBA==
+
+"@vue/babel-plugin-transform-vue-jsx@^1.4.0":
+ version "1.4.0"
+ resolved "https://registry.npmmirror.com/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.4.0.tgz#4d4b3d46a39ea62b7467dd6e26ce47f7ceafb2fe"
+ integrity sha512-Fmastxw4MMx0vlgLS4XBX0XiBbUFzoMGeVXuMV08wyOfXdikAFqBTuYPR0tlk+XskL19EzHc39SgjrPGY23JnA==
+ dependencies:
+ "@babel/helper-module-imports" "^7.0.0"
+ "@babel/plugin-syntax-jsx" "^7.2.0"
+ "@vue/babel-helper-vue-jsx-merge-props" "^1.4.0"
+ html-tags "^2.0.0"
+ lodash.kebabcase "^4.1.1"
+ svg-tags "^1.0.0"
+
+"@vue/babel-preset-app@^3.5.3":
+ version "3.12.1"
+ resolved "https://registry.npmmirror.com/@vue/babel-preset-app/-/babel-preset-app-3.12.1.tgz#24c477052f078f30fdb7735103b14dd1fa2cbfe1"
+ integrity sha512-Zjy5jQaikV1Pz+ri0YgXFS7q4/5wCxB5tRkDOEIt5+4105u0Feb/pvH20nVL6nx9GyXrECFfcm7Yxr/z++OaPQ==
+ dependencies:
+ "@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@^1.0.0":
+ version "1.4.0"
+ resolved "https://registry.npmmirror.com/@vue/babel-preset-jsx/-/babel-preset-jsx-1.4.0.tgz#f4914ba314235ab097bc4372ed67473c0780bfcc"
+ integrity sha512-QmfRpssBOPZWL5xw7fOuHNifCQcNQC1PrOo/4fu6xlhlKJJKSA3HqX92Nvgyx8fqHZTUGMPHmFA+IDqwXlqkSA==
+ dependencies:
+ "@vue/babel-helper-vue-jsx-merge-props" "^1.4.0"
+ "@vue/babel-plugin-transform-vue-jsx" "^1.4.0"
+ "@vue/babel-sugar-composition-api-inject-h" "^1.4.0"
+ "@vue/babel-sugar-composition-api-render-instance" "^1.4.0"
+ "@vue/babel-sugar-functional-vue" "^1.4.0"
+ "@vue/babel-sugar-inject-h" "^1.4.0"
+ "@vue/babel-sugar-v-model" "^1.4.0"
+ "@vue/babel-sugar-v-on" "^1.4.0"
+
+"@vue/babel-sugar-composition-api-inject-h@^1.4.0":
+ version "1.4.0"
+ resolved "https://registry.npmmirror.com/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.4.0.tgz#187e1389f8871d89ece743bb50aed713be9d6c85"
+ integrity sha512-VQq6zEddJHctnG4w3TfmlVp5FzDavUSut/DwR0xVoe/mJKXyMcsIibL42wPntozITEoY90aBV0/1d2KjxHU52g==
+ dependencies:
+ "@babel/plugin-syntax-jsx" "^7.2.0"
+
+"@vue/babel-sugar-composition-api-render-instance@^1.4.0":
+ version "1.4.0"
+ resolved "https://registry.npmmirror.com/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.4.0.tgz#2c1607ae6dffdab47e785bc01fa45ba756e992c1"
+ integrity sha512-6ZDAzcxvy7VcnCjNdHJ59mwK02ZFuP5CnucloidqlZwVQv5CQLijc3lGpR7MD3TWFi78J7+a8J56YxbCtHgT9Q==
+ dependencies:
+ "@babel/plugin-syntax-jsx" "^7.2.0"
+
+"@vue/babel-sugar-functional-vue@^1.4.0":
+ version "1.4.0"
+ resolved "https://registry.npmmirror.com/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.4.0.tgz#60da31068567082287c7337c66ef4df04e0a1029"
+ integrity sha512-lTEB4WUFNzYt2In6JsoF9sAYVTo84wC4e+PoZWSgM6FUtqRJz7wMylaEhSRgG71YF+wfLD6cc9nqVeXN2rwBvw==
+ dependencies:
+ "@babel/plugin-syntax-jsx" "^7.2.0"
+
+"@vue/babel-sugar-inject-h@^1.4.0":
+ version "1.4.0"
+ resolved "https://registry.npmmirror.com/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.4.0.tgz#bf39aa6631fb1d0399b1c49b4c59e1c8899b4363"
+ integrity sha512-muwWrPKli77uO2fFM7eA3G1lAGnERuSz2NgAxuOLzrsTlQl8W4G+wwbM4nB6iewlKbwKRae3nL03UaF5ffAPMA==
+ dependencies:
+ "@babel/plugin-syntax-jsx" "^7.2.0"
+
+"@vue/babel-sugar-v-model@^1.4.0":
+ version "1.4.0"
+ resolved "https://registry.npmmirror.com/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.4.0.tgz#a51d986609f430c4f70ada3a93cc560a2970f720"
+ integrity sha512-0t4HGgXb7WHYLBciZzN5s0Hzqan4Ue+p/3FdQdcaHAb7s5D9WZFGoSxEZHrR1TFVZlAPu1bejTKGeAzaaG3NCQ==
+ dependencies:
+ "@babel/plugin-syntax-jsx" "^7.2.0"
+ "@vue/babel-helper-vue-jsx-merge-props" "^1.4.0"
+ "@vue/babel-plugin-transform-vue-jsx" "^1.4.0"
+ camelcase "^5.0.0"
+ html-tags "^2.0.0"
+ svg-tags "^1.0.0"
+
+"@vue/babel-sugar-v-on@^1.4.0":
+ version "1.4.0"
+ resolved "https://registry.npmmirror.com/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.4.0.tgz#43b7106a9672d8cbeefc0eb8afe1d376edc6166e"
+ integrity sha512-m+zud4wKLzSKgQrWwhqRObWzmTuyzl6vOP7024lrpeJM4x2UhQtRDLgYjXAw9xBXjCwS0pP9kXjg91F9ZNo9JA==
+ dependencies:
+ "@babel/plugin-syntax-jsx" "^7.2.0"
+ "@vue/babel-plugin-transform-vue-jsx" "^1.4.0"
+ camelcase "^5.0.0"
+
+"@vue/cli-overlay@^3.5.1":
+ version "3.12.1"
+ resolved "https://registry.npmmirror.com/@vue/cli-overlay/-/cli-overlay-3.12.1.tgz#bdfde8f7123561ab06e4e4c60b854cc5092f5ab1"
+ integrity sha512-Bym92EN+lj+cNRN2ozbYyH+V8DMXWGbCDUk+hiJ4EYDBZfBkZKvalk1/mOBFwyxiopnnbOEBAAhL/UuMQ1xARg==
+
+"@vue/cli-plugin-babel@3.5.3":
+ version "3.5.3"
+ resolved "https://registry.npmmirror.com/@vue/cli-plugin-babel/-/cli-plugin-babel-3.5.3.tgz#6e8de8f60904bcc1884dbe10ee0d617ddd93af04"
+ integrity sha512-N0EJV+AdY5QnpGXECbv3kEpBjcKZSKy7bRkOOxpvIVHOtNYMdp0TXI5ibfuCAs53CAufcuJwm1CqeQA8uELv1w==
+ dependencies:
+ "@babel/core" "^7.0.0"
+ "@vue/babel-preset-app" "^3.5.3"
+ "@vue/cli-shared-utils" "^3.5.1"
+ babel-loader "^8.0.5"
+ webpack ">=4 < 4.29"
+
+"@vue/cli-plugin-eslint@^3.9.1":
+ version "3.12.1"
+ resolved "https://registry.npmmirror.com/@vue/cli-plugin-eslint/-/cli-plugin-eslint-3.12.1.tgz#302c463867f38e790bb996eafdf7159c782dc8cf"
+ integrity sha512-tVTZlEZsy3sQbO4LLWFK11yzlWwqVAqaM+IY+BeWHITBzEJKh2KmouG+x6x/reXiU3qROsMJ4Ej3Hs8buSMWyQ==
+ dependencies:
+ "@vue/cli-shared-utils" "^3.12.1"
+ babel-eslint "^10.0.1"
+ eslint-loader "^2.1.2"
+ globby "^9.2.0"
+ webpack "^4.0.0"
+ yorkie "^2.0.0"
+ optionalDependencies:
+ eslint "^4.19.1"
+ eslint-plugin-vue "^4.7.1"
+
+"@vue/cli-plugin-unit-jest@3.5.3":
+ version "3.5.3"
+ resolved "https://registry.npmmirror.com/@vue/cli-plugin-unit-jest/-/cli-plugin-unit-jest-3.5.3.tgz#d11f0879d73f6eb712df45072d9470d8a87d09e5"
+ integrity sha512-6GRN3dhFXF8FTqvAylHA8fh+ii5+KoKPPz972j18V/MedYgm39qVSkDWD2sLKOueTX5SSVqk3QKyF6gy+Uhp7Q==
+ dependencies:
+ "@vue/cli-shared-utils" "^3.5.1"
+ babel-jest "^23.6.0"
+ babel-plugin-transform-es2015-modules-commonjs "^6.26.2"
+ jest "^23.6.0"
+ jest-serializer-vue "^2.0.2"
+ jest-transform-stub "^2.0.0"
+ vue-jest "^3.0.3"
+
+"@vue/cli-service@3.5.3":
+ version "3.5.3"
+ resolved "https://registry.npmmirror.com/@vue/cli-service/-/cli-service-3.5.3.tgz#079b09065ad6597211906c65c12b5862092637f2"
+ integrity sha512-28MDRVZe+yebtiSJHfYS6fOvPN1P8DX4BIsDp4rLqZxc7l8yoG6pBWyv9ENT4WO9gAXRGzEsKcJ5qLtXLvQeYQ==
+ dependencies:
+ "@intervolga/optimize-cssnano-plugin" "^1.0.5"
+ "@soda/friendly-errors-webpack-plugin" "^1.7.1"
+ "@vue/cli-overlay" "^3.5.1"
+ "@vue/cli-shared-utils" "^3.5.1"
+ "@vue/component-compiler-utils" "^2.6.0"
+ "@vue/preload-webpack-plugin" "^1.1.0"
+ "@vue/web-component-wrapper" "^1.2.0"
+ acorn "^6.1.0"
+ acorn-walk "^6.1.1"
+ address "^1.0.3"
+ autoprefixer "^9.4.8"
+ cache-loader "^2.0.1"
+ case-sensitive-paths-webpack-plugin "^2.2.0"
+ chalk "^2.4.2"
+ clipboardy "^1.2.3"
+ cliui "^4.1.0"
+ copy-webpack-plugin "^4.6.0"
+ css-loader "^1.0.1"
+ cssnano "^4.1.10"
+ debug "^4.1.1"
+ dotenv "^6.2.0"
+ dotenv-expand "^4.2.0"
+ escape-string-regexp "^1.0.5"
+ file-loader "^3.0.1"
+ fs-extra "^7.0.1"
+ globby "^9.0.0"
+ hash-sum "^1.0.2"
+ html-webpack-plugin "^3.2.0"
+ launch-editor-middleware "^2.2.1"
+ lodash.defaultsdeep "^4.6.0"
+ lodash.mapvalues "^4.6.0"
+ lodash.transform "^4.6.0"
+ mini-css-extract-plugin "^0.5.0"
+ minimist "^1.2.0"
+ ora "^3.1.0"
+ portfinder "^1.0.20"
+ postcss-loader "^3.0.0"
+ read-pkg "^4.0.1"
+ semver "^5.6.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.2"
+ thread-loader "^2.1.2"
+ url-loader "^1.1.2"
+ vue-loader "^15.6.4"
+ webpack ">=4 < 4.29"
+ webpack-bundle-analyzer "^3.0.4"
+ webpack-chain "^4.11.0"
+ webpack-dev-server "^3.2.0"
+ webpack-merge "^4.2.1"
+ yorkie "^2.0.0"
+
+"@vue/cli-shared-utils@^3.12.1", "@vue/cli-shared-utils@^3.5.1":
+ version "3.12.1"
+ resolved "https://registry.npmmirror.com/@vue/cli-shared-utils/-/cli-shared-utils-3.12.1.tgz#bcf076287ddadeebbb97c6a748dfe9ff50ec8df0"
+ integrity sha512-jFblzRFjutGwu5utOKdVlPlsbA1lBUNNQlAThzNqej+JtTKJjnvjlhjKX0Gq0oOny5FjKWhoyfQ74p9h1qE6JQ==
+ dependencies:
+ "@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"
+
+"@vue/compiler-sfc@2.7.16":
+ version "2.7.16"
+ resolved "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-2.7.16.tgz#ff81711a0fac9c68683d8bb00b63f857de77dc83"
+ integrity sha512-KWhJ9k5nXuNtygPU7+t1rX6baZeqOYLEforUPjgNDBnLicfHCoi48H87Q8XyLZOrNNsmhuwKqtpDQWjEFe6Ekg==
+ dependencies:
+ "@babel/parser" "^7.23.5"
+ postcss "^8.4.14"
+ source-map "^0.6.1"
+ optionalDependencies:
+ prettier "^1.18.2 || ^2.0.0"
+
+"@vue/component-compiler-utils@^2.6.0":
+ version "2.6.0"
+ resolved "https://registry.npmmirror.com/@vue/component-compiler-utils/-/component-compiler-utils-2.6.0.tgz#aa46d2a6f7647440b0b8932434d22f12371e543b"
+ integrity sha512-IHjxt7LsOFYc0DkTncB7OXJL7UzwOLPPQCfEUNyxL2qt+tF12THV+EO33O1G2Uk4feMSWua3iD39Itszx0f0bw==
+ dependencies:
+ 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 "^5.0.0"
+ prettier "1.16.3"
+ source-map "~0.6.1"
+ vue-template-es2015-compiler "^1.9.0"
+
+"@vue/component-compiler-utils@^3.1.0":
+ version "3.3.0"
+ resolved "https://registry.npmmirror.com/@vue/component-compiler-utils/-/component-compiler-utils-3.3.0.tgz#f9f5fb53464b0c37b2c8d2f3fbfe44df60f61dc9"
+ integrity sha512-97sfH2mYNU+2PzGrmK2haqffDpVASuib9/w2/noxiFi31Z54hW+q3izKQXXQZSNhtiUpAI36uSuYepeBe4wpHQ==
+ dependencies:
+ consolidate "^0.15.1"
+ hash-sum "^1.0.2"
+ lru-cache "^4.1.2"
+ merge-source-map "^1.1.0"
+ postcss "^7.0.36"
+ postcss-selector-parser "^6.0.2"
+ source-map "~0.6.1"
+ vue-template-es2015-compiler "^1.9.0"
+ optionalDependencies:
+ prettier "^1.18.2 || ^2.0.0"
+
+"@vue/preload-webpack-plugin@^1.1.0":
+ version "1.1.2"
+ resolved "https://registry.npmmirror.com/@vue/preload-webpack-plugin/-/preload-webpack-plugin-1.1.2.tgz#ceb924b4ecb3b9c43871c7a429a02f8423e621ab"
+ integrity sha512-LIZMuJk38pk9U9Ur4YzHjlIyMuxPlACdBIHH9/nGYVTsaGKOSnSuELiE8vS9wa+dJpIYspYUOqk+L1Q4pgHQHQ==
+
+"@vue/test-utils@1.0.0-beta.29":
+ version "1.0.0-beta.29"
+ resolved "https://registry.npmmirror.com/@vue/test-utils/-/test-utils-1.0.0-beta.29.tgz#c942cf25e891cf081b6a03332b4ae1ef430726f0"
+ integrity sha512-yX4sxEIHh4M9yAbLA/ikpEnGKMNBCnoX98xE1RwxfhQVcn0MaXNSj1Qmac+ZydTj6VBSEVukchBogXBTwc+9iA==
+ dependencies:
+ dom-event-types "^1.0.0"
+ lodash "^4.17.4"
+
+"@vue/web-component-wrapper@^1.2.0":
+ version "1.3.0"
+ resolved "https://registry.npmmirror.com/@vue/web-component-wrapper/-/web-component-wrapper-1.3.0.tgz#b6b40a7625429d2bd7c2281ddba601ed05dc7f1a"
+ integrity sha512-Iu8Tbg3f+emIIMmI2ycSI8QcEuAUgPTgHwesDU1eKMLE4YC/c/sFbGc70QgMq31ijRftV0R7vCm9co6rldCeOA==
+
+"@webassemblyjs/ast@1.7.11":
+ version "1.7.11"
+ resolved "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.7.11.tgz#b988582cafbb2b095e8b556526f30c90d057cace"
+ integrity sha512-ZEzy4vjvTzScC+SH8RBssQUawpaInUdMTYwYYLh54/s8TuT0gBLuyUnppKsVyZEi876VmmStKsUs28UxPgdvrA==
+ dependencies:
+ "@webassemblyjs/helper-module-context" "1.7.11"
+ "@webassemblyjs/helper-wasm-bytecode" "1.7.11"
+ "@webassemblyjs/wast-parser" "1.7.11"
+
+"@webassemblyjs/ast@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.npmmirror.com/@webassemblyjs/ast/-/ast-1.9.0.tgz#bd850604b4042459a5a41cd7d338cbed695ed964"
+ integrity sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==
+ dependencies:
+ "@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@1.7.11":
+ version "1.7.11"
+ resolved "https://registry.npmmirror.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.7.11.tgz#a69f0af6502eb9a3c045555b1a6129d3d3f2e313"
+ integrity sha512-zY8dSNyYcgzNRNT666/zOoAyImshm3ycKdoLsyDw/Bwo6+/uktb7p4xyApuef1dwEBo/U/SYQzbGBvV+nru2Xg==
+
+"@webassemblyjs/floating-point-hex-parser@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.npmmirror.com/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz#3c3d3b271bddfc84deb00f71344438311d52ffb4"
+ integrity sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==
+
+"@webassemblyjs/helper-api-error@1.7.11":
+ version "1.7.11"
+ resolved "https://registry.npmmirror.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.7.11.tgz#c7b6bb8105f84039511a2b39ce494f193818a32a"
+ integrity sha512-7r1qXLmiglC+wPNkGuXCvkmalyEstKVwcueZRP2GNC2PAvxbLYwLLPr14rcdJaE4UtHxQKfFkuDFuv91ipqvXg==
+
+"@webassemblyjs/helper-api-error@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.npmmirror.com/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz#203f676e333b96c9da2eeab3ccef33c45928b6a2"
+ integrity sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==
+
+"@webassemblyjs/helper-buffer@1.7.11":
+ version "1.7.11"
+ resolved "https://registry.npmmirror.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.7.11.tgz#3122d48dcc6c9456ed982debe16c8f37101df39b"
+ integrity sha512-MynuervdylPPh3ix+mKZloTcL06P8tenNH3sx6s0qE8SLR6DdwnfgA7Hc9NSYeob2jrW5Vql6GVlsQzKQCa13w==
+
+"@webassemblyjs/helper-buffer@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.npmmirror.com/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz#a1442d269c5feb23fcbc9ef759dac3547f29de00"
+ integrity sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==
+
+"@webassemblyjs/helper-code-frame@1.7.11":
+ version "1.7.11"
+ resolved "https://registry.npmmirror.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.7.11.tgz#cf8f106e746662a0da29bdef635fcd3d1248364b"
+ integrity sha512-T8ESC9KMXFTXA5urJcyor5cn6qWeZ4/zLPyWeEXZ03hj/x9weSokGNkVCdnhSabKGYWxElSdgJ+sFa9G/RdHNw==
+ dependencies:
+ "@webassemblyjs/wast-printer" "1.7.11"
+
+"@webassemblyjs/helper-code-frame@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.npmmirror.com/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz#647f8892cd2043a82ac0c8c5e75c36f1d9159f27"
+ integrity sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==
+ dependencies:
+ "@webassemblyjs/wast-printer" "1.9.0"
+
+"@webassemblyjs/helper-fsm@1.7.11":
+ version "1.7.11"
+ resolved "https://registry.npmmirror.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.7.11.tgz#df38882a624080d03f7503f93e3f17ac5ac01181"
+ integrity sha512-nsAQWNP1+8Z6tkzdYlXT0kxfa2Z1tRTARd8wYnc/e3Zv3VydVVnaeePgqUzFrpkGUyhUUxOl5ML7f1NuT+gC0A==
+
+"@webassemblyjs/helper-fsm@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.npmmirror.com/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz#c05256b71244214671f4b08ec108ad63b70eddb8"
+ integrity sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==
+
+"@webassemblyjs/helper-module-context@1.7.11":
+ version "1.7.11"
+ resolved "https://registry.npmmirror.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.7.11.tgz#d874d722e51e62ac202476935d649c802fa0e209"
+ integrity sha512-JxfD5DX8Ygq4PvXDucq0M+sbUFA7BJAv/GGl9ITovqE+idGX+J3QSzJYz+LwQmL7fC3Rs+utvWoJxDb6pmC0qg==
+
+"@webassemblyjs/helper-module-context@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.npmmirror.com/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz#25d8884b76839871a08a6c6f806c3979ef712f07"
+ integrity sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==
+ dependencies:
+ "@webassemblyjs/ast" "1.9.0"
+
+"@webassemblyjs/helper-wasm-bytecode@1.7.11":
+ version "1.7.11"
+ resolved "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.7.11.tgz#dd9a1e817f1c2eb105b4cf1013093cb9f3c9cb06"
+ integrity sha512-cMXeVS9rhoXsI9LLL4tJxBgVD/KMOKXuFqYb5oCJ/opScWpkCMEz9EJtkonaNcnLv2R3K5jIeS4TRj/drde1JQ==
+
+"@webassemblyjs/helper-wasm-bytecode@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz#4fed8beac9b8c14f8c58b70d124d549dd1fe5790"
+ integrity sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==
+
+"@webassemblyjs/helper-wasm-section@1.7.11":
+ version "1.7.11"
+ resolved "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.7.11.tgz#9c9ac41ecf9fbcfffc96f6d2675e2de33811e68a"
+ integrity sha512-8ZRY5iZbZdtNFE5UFunB8mmBEAbSI3guwbrsCl4fWdfRiAcvqQpeqd5KHhSWLL5wuxo53zcaGZDBU64qgn4I4Q==
+ dependencies:
+ "@webassemblyjs/ast" "1.7.11"
+ "@webassemblyjs/helper-buffer" "1.7.11"
+ "@webassemblyjs/helper-wasm-bytecode" "1.7.11"
+ "@webassemblyjs/wasm-gen" "1.7.11"
+
+"@webassemblyjs/helper-wasm-section@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.npmmirror.com/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz#5a4138d5a6292ba18b04c5ae49717e4167965346"
+ integrity sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==
+ dependencies:
+ "@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@1.7.11":
+ version "1.7.11"
+ resolved "https://registry.npmmirror.com/@webassemblyjs/ieee754/-/ieee754-1.7.11.tgz#c95839eb63757a31880aaec7b6512d4191ac640b"
+ integrity sha512-Mmqx/cS68K1tSrvRLtaV/Lp3NZWzXtOHUW2IvDvl2sihAwJh4ACE0eL6A8FvMyDG9abes3saB6dMimLOs+HMoQ==
+ dependencies:
+ "@xtuc/ieee754" "^1.2.0"
+
+"@webassemblyjs/ieee754@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.npmmirror.com/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz#15c7a0fbaae83fb26143bbacf6d6df1702ad39e4"
+ integrity sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==
+ dependencies:
+ "@xtuc/ieee754" "^1.2.0"
+
+"@webassemblyjs/leb128@1.7.11":
+ version "1.7.11"
+ resolved "https://registry.npmmirror.com/@webassemblyjs/leb128/-/leb128-1.7.11.tgz#d7267a1ee9c4594fd3f7e37298818ec65687db63"
+ integrity sha512-vuGmgZjjp3zjcerQg+JA+tGOncOnJLWVkt8Aze5eWQLwTQGNgVLcyOTqgSCxWTR4J42ijHbBxnuRaL1Rv7XMdw==
+ dependencies:
+ "@xtuc/long" "4.2.1"
+
+"@webassemblyjs/leb128@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.npmmirror.com/@webassemblyjs/leb128/-/leb128-1.9.0.tgz#f19ca0b76a6dc55623a09cffa769e838fa1e1c95"
+ integrity sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==
+ dependencies:
+ "@xtuc/long" "4.2.2"
+
+"@webassemblyjs/utf8@1.7.11":
+ version "1.7.11"
+ resolved "https://registry.npmmirror.com/@webassemblyjs/utf8/-/utf8-1.7.11.tgz#06d7218ea9fdc94a6793aa92208160db3d26ee82"
+ integrity sha512-C6GFkc7aErQIAH+BMrIdVSmW+6HSe20wg57HEC1uqJP8E/xpMjXqQUxkQw07MhNDSDcGpxI9G5JSNOQCqJk4sA==
+
+"@webassemblyjs/utf8@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.npmmirror.com/@webassemblyjs/utf8/-/utf8-1.9.0.tgz#04d33b636f78e6a6813227e82402f7637b6229ab"
+ integrity sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==
+
+"@webassemblyjs/wasm-edit@1.7.11":
+ version "1.7.11"
+ resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.7.11.tgz#8c74ca474d4f951d01dbae9bd70814ee22a82005"
+ integrity sha512-FUd97guNGsCZQgeTPKdgxJhBXkUbMTY6hFPf2Y4OedXd48H97J+sOY2Ltaq6WGVpIH8o/TGOVNiVz/SbpEMJGg==
+ dependencies:
+ "@webassemblyjs/ast" "1.7.11"
+ "@webassemblyjs/helper-buffer" "1.7.11"
+ "@webassemblyjs/helper-wasm-bytecode" "1.7.11"
+ "@webassemblyjs/helper-wasm-section" "1.7.11"
+ "@webassemblyjs/wasm-gen" "1.7.11"
+ "@webassemblyjs/wasm-opt" "1.7.11"
+ "@webassemblyjs/wasm-parser" "1.7.11"
+ "@webassemblyjs/wast-printer" "1.7.11"
+
+"@webassemblyjs/wasm-edit@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz#3fe6d79d3f0f922183aa86002c42dd256cfee9cf"
+ integrity sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==
+ dependencies:
+ "@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@1.7.11":
+ version "1.7.11"
+ resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.7.11.tgz#9bbba942f22375686a6fb759afcd7ac9c45da1a8"
+ integrity sha512-U/KDYp7fgAZX5KPfq4NOupK/BmhDc5Kjy2GIqstMhvvdJRcER/kUsMThpWeRP8BMn4LXaKhSTggIJPOeYHwISA==
+ dependencies:
+ "@webassemblyjs/ast" "1.7.11"
+ "@webassemblyjs/helper-wasm-bytecode" "1.7.11"
+ "@webassemblyjs/ieee754" "1.7.11"
+ "@webassemblyjs/leb128" "1.7.11"
+ "@webassemblyjs/utf8" "1.7.11"
+
+"@webassemblyjs/wasm-gen@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz#50bc70ec68ded8e2763b01a1418bf43491a7a49c"
+ integrity sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==
+ dependencies:
+ "@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@1.7.11":
+ version "1.7.11"
+ resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.7.11.tgz#b331e8e7cef8f8e2f007d42c3a36a0580a7d6ca7"
+ integrity sha512-XynkOwQyiRidh0GLua7SkeHvAPXQV/RxsUeERILmAInZegApOUAIJfRuPYe2F7RcjOC9tW3Cb9juPvAC/sCqvg==
+ dependencies:
+ "@webassemblyjs/ast" "1.7.11"
+ "@webassemblyjs/helper-buffer" "1.7.11"
+ "@webassemblyjs/wasm-gen" "1.7.11"
+ "@webassemblyjs/wasm-parser" "1.7.11"
+
+"@webassemblyjs/wasm-opt@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz#2211181e5b31326443cc8112eb9f0b9028721a61"
+ integrity sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==
+ dependencies:
+ "@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@1.7.11":
+ version "1.7.11"
+ resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.7.11.tgz#6e3d20fa6a3519f6b084ef9391ad58211efb0a1a"
+ integrity sha512-6lmXRTrrZjYD8Ng8xRyvyXQJYUQKYSXhJqXOBLw24rdiXsHAOlvw5PhesjdcaMadU/pyPQOJ5dHreMjBxwnQKg==
+ dependencies:
+ "@webassemblyjs/ast" "1.7.11"
+ "@webassemblyjs/helper-api-error" "1.7.11"
+ "@webassemblyjs/helper-wasm-bytecode" "1.7.11"
+ "@webassemblyjs/ieee754" "1.7.11"
+ "@webassemblyjs/leb128" "1.7.11"
+ "@webassemblyjs/utf8" "1.7.11"
+
+"@webassemblyjs/wasm-parser@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.npmmirror.com/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz#9d48e44826df4a6598294aa6c87469d642fff65e"
+ integrity sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==
+ dependencies:
+ "@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@1.7.11":
+ version "1.7.11"
+ resolved "https://registry.npmmirror.com/@webassemblyjs/wast-parser/-/wast-parser-1.7.11.tgz#25bd117562ca8c002720ff8116ef9072d9ca869c"
+ integrity sha512-lEyVCg2np15tS+dm7+JJTNhNWq9yTZvi3qEhAIIOaofcYlUp0UR5/tVqOwa/gXYr3gjwSZqw+/lS9dscyLelbQ==
+ dependencies:
+ "@webassemblyjs/ast" "1.7.11"
+ "@webassemblyjs/floating-point-hex-parser" "1.7.11"
+ "@webassemblyjs/helper-api-error" "1.7.11"
+ "@webassemblyjs/helper-code-frame" "1.7.11"
+ "@webassemblyjs/helper-fsm" "1.7.11"
+ "@xtuc/long" "4.2.1"
+
+"@webassemblyjs/wast-parser@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.npmmirror.com/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz#3031115d79ac5bd261556cecc3fa90a3ef451914"
+ integrity sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==
+ dependencies:
+ "@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@1.7.11":
+ version "1.7.11"
+ resolved "https://registry.npmmirror.com/@webassemblyjs/wast-printer/-/wast-printer-1.7.11.tgz#c4245b6de242cb50a2cc950174fdbf65c78d7813"
+ integrity sha512-m5vkAsuJ32QpkdkDOUPGSltrg8Cuk3KBx4YrmAGQwCZPRdUHXxG4phIOuuycLemHFr74sWL9Wthqss4fzdzSwg==
+ dependencies:
+ "@webassemblyjs/ast" "1.7.11"
+ "@webassemblyjs/wast-parser" "1.7.11"
+ "@xtuc/long" "4.2.1"
+
+"@webassemblyjs/wast-printer@1.9.0":
+ version "1.9.0"
+ resolved "https://registry.npmmirror.com/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz#4935d54c85fef637b00ce9f52377451d00d47899"
+ integrity sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==
+ dependencies:
+ "@webassemblyjs/ast" "1.9.0"
+ "@webassemblyjs/wast-parser" "1.9.0"
+ "@xtuc/long" "4.2.2"
+
+"@xtuc/ieee754@^1.2.0":
+ version "1.2.0"
+ resolved "https://registry.npmmirror.com/@xtuc/ieee754/-/ieee754-1.2.0.tgz#eef014a3145ae477a1cbc00cd1e552336dceb790"
+ integrity sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==
+
+"@xtuc/long@4.2.1":
+ version "4.2.1"
+ resolved "https://registry.npmmirror.com/@xtuc/long/-/long-4.2.1.tgz#5c85d662f76fa1d34575766c5dcd6615abcd30d8"
+ integrity sha512-FZdkNBDqBRHKQ2MEbSC17xnPFOhZxeJ2YGSfr2BKf3sujG49Qe3bB+rGCwQfIaA7WHnGeGkSijX4FuBCdrzW/g==
+
+"@xtuc/long@4.2.2":
+ version "4.2.2"
+ resolved "https://registry.npmmirror.com/@xtuc/long/-/long-4.2.2.tgz#d291c6a4e97989b5c61d9acf396ae4fe133a718d"
+ integrity sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==
+
+JSV@^4.0.x:
+ version "4.0.2"
+ resolved "https://registry.npmmirror.com/JSV/-/JSV-4.0.2.tgz#d077f6825571f82132f9dffaed587b4029feff57"
+ integrity sha512-ZJ6wx9xaKJ3yFUhq5/sk82PJMuUyLk277I8mQeyDgCTjGdjWJIvPfaU5LIXaMuaN2UO1X3kZH4+lgphublZUHw==
+
+abab@^2.0.0:
+ version "2.0.6"
+ resolved "https://registry.npmmirror.com/abab/-/abab-2.0.6.tgz#41b80f2c871d19686216b82309231cfd3cb3d291"
+ integrity sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==
+
+abbrev@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/abbrev/-/abbrev-2.0.0.tgz#cf59829b8b4f03f89dda2771cb7f3653828c89bf"
+ integrity sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==
+
+accepts@~1.3.4, accepts@~1.3.8:
+ version "1.3.8"
+ resolved "https://registry.npmmirror.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e"
+ integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==
+ dependencies:
+ mime-types "~2.1.34"
+ negotiator "0.6.3"
+
+acorn-dynamic-import@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmmirror.com/acorn-dynamic-import/-/acorn-dynamic-import-3.0.0.tgz#901ceee4c7faaef7e07ad2a47e890675da50a278"
+ integrity sha512-zVWV8Z8lislJoOKKqdNMOB+s6+XV5WERty8MnKBeFgwA+19XJjJHs2RP5dzM57FftIs+jQnRToLiWazKr6sSWg==
+ dependencies:
+ acorn "^5.0.0"
+
+acorn-globals@^4.1.0:
+ version "4.3.4"
+ resolved "https://registry.npmmirror.com/acorn-globals/-/acorn-globals-4.3.4.tgz#9fa1926addc11c97308c4e66d7add0d40c3272e7"
+ integrity sha512-clfQEh21R+D0leSbUdWf3OcfqyaCSAQ8Ryq00bofSekfr9W8u1jyYZo6ir0xu9Gtcf7BjcHJpnbZH7JOCpP60A==
+ dependencies:
+ acorn "^6.0.1"
+ acorn-walk "^6.0.1"
+
+acorn-jsx@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.npmmirror.com/acorn-jsx/-/acorn-jsx-3.0.1.tgz#afdf9488fb1ecefc8348f6fb22f464e32a58b36b"
+ integrity sha512-AU7pnZkguthwBjKgCg6998ByQNIMjbuDQZ8bb78QAFZwPfmKia8AIzgY/gWgqCjnht8JLdXmB4YxA0KaV60ncQ==
+ dependencies:
+ acorn "^3.0.4"
+
+acorn-jsx@^5.0.0:
+ version "5.3.2"
+ resolved "https://registry.npmmirror.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
+ integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
+
+acorn-walk@^6.0.1, acorn-walk@^6.1.1:
+ version "6.2.0"
+ resolved "https://registry.npmmirror.com/acorn-walk/-/acorn-walk-6.2.0.tgz#123cb8f3b84c2171f1f7fb252615b1c78a6b1a8c"
+ integrity sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==
+
+acorn-walk@^7.1.1:
+ version "7.2.0"
+ resolved "https://registry.npmmirror.com/acorn-walk/-/acorn-walk-7.2.0.tgz#0de889a601203909b0fbe07b8938dc21d2e967bc"
+ integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==
+
+acorn@^3.0.4:
+ version "3.3.0"
+ resolved "https://registry.npmmirror.com/acorn/-/acorn-3.3.0.tgz#45e37fb39e8da3f25baee3ff5369e2bb5f22017a"
+ integrity sha512-OLUyIIZ7mF5oaAUT1w0TFqQS81q3saT46x8t7ukpPjMNk+nbs4ZHhs7ToV8EWnLYLepjETXd4XaCE4uxkMeqUw==
+
+acorn@^5.0.0, acorn@^5.5.0, acorn@^5.5.3, acorn@^5.6.2:
+ version "5.7.4"
+ resolved "https://registry.npmmirror.com/acorn/-/acorn-5.7.4.tgz#3e8d8a9947d0599a1796d10225d7432f4a4acf5e"
+ integrity sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==
+
+acorn@^6.0.1, acorn@^6.0.2, acorn@^6.0.7, acorn@^6.1.0, acorn@^6.4.1:
+ version "6.4.2"
+ resolved "https://registry.npmmirror.com/acorn/-/acorn-6.4.2.tgz#35866fd710528e92de10cf06016498e47e39e1e6"
+ integrity sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==
+
+acorn@^7.1.1:
+ version "7.4.1"
+ resolved "https://registry.npmmirror.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
+ integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
+
+address@^1.0.3:
+ version "1.2.2"
+ resolved "https://registry.npmmirror.com/address/-/address-1.2.2.tgz#2b5248dac5485a6390532c6a517fda2e3faac89e"
+ integrity sha512-4B/qKCfeE/ODUaAUpSwfzazo5x29WD4r3vXiWsB7I2mSDAihwEqKO+g8GELZUQSSAo5e1XTYh3ZVfLyxBc12nA==
+
+adler-32@~1.2.0:
+ version "1.2.0"
+ resolved "https://registry.npmmirror.com/adler-32/-/adler-32-1.2.0.tgz#6a3e6bf0a63900ba15652808cb15c6813d1a5f25"
+ integrity sha512-/vUqU/UY4MVeFsg+SsK6c+/05RZXIHZMGJA+PX5JyWI0ZRcBpupnRuPLU/NXXoFwMYCPCoxIfElM2eS+DUXCqQ==
+ dependencies:
+ exit-on-epipe "~1.0.1"
+ printj "~1.1.0"
+
+adler-32@~1.3.0:
+ version "1.3.1"
+ resolved "https://registry.npmmirror.com/adler-32/-/adler-32-1.3.1.tgz#1dbf0b36dda0012189a32b3679061932df1821e2"
+ integrity sha512-ynZ4w/nUUv5rrsR8UUGoe1VC9hZj6V5hU9Qw1HlMDJGEJw5S7TfTErWTjMys6M7vr0YWcPqs3qAr4ss0nDfP+A==
+
+ajv-errors@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/ajv-errors/-/ajv-errors-1.0.1.tgz#f35986aceb91afadec4102fbd85014950cefa64d"
+ integrity sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==
+
+ajv-keywords@^2.1.0:
+ version "2.1.1"
+ resolved "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-2.1.1.tgz#617997fc5f60576894c435f940d819e135b80762"
+ integrity sha512-ZFztHzVRdGLAzJmpUT9LNFLe1YiVOEylcaNpEutM26PVTCtOD919IMfD01CgbRouB42Dd9atjx1HseC15DgOZA==
+
+ajv-keywords@^3.1.0, ajv-keywords@^3.4.1, ajv-keywords@^3.5.2:
+ version "3.5.2"
+ resolved "https://registry.npmmirror.com/ajv-keywords/-/ajv-keywords-3.5.2.tgz#31f29da5ab6e00d1c2d329acf7b5929614d5014d"
+ integrity sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==
+
+ajv@^5.2.3, ajv@^5.3.0:
+ version "5.5.2"
+ resolved "https://registry.npmmirror.com/ajv/-/ajv-5.5.2.tgz#73b5eeca3fab653e3d3f9422b341ad42205dc965"
+ integrity sha512-Ajr4IcMXq/2QmMkEmSvxqfLN5zGmJ92gHXAeOXq1OekoH2rfDNsgdDoL2f7QaRCy7G/E6TpxBVdRuNraMztGHw==
+ dependencies:
+ co "^4.6.0"
+ fast-deep-equal "^1.0.0"
+ fast-json-stable-stringify "^2.0.0"
+ json-schema-traverse "^0.3.0"
+
+ajv@^6.1.0, ajv@^6.10.2, ajv@^6.12.3, ajv@^6.12.4, ajv@^6.9.1:
+ version "6.12.6"
+ resolved "https://registry.npmmirror.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
+ integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
+ dependencies:
+ fast-deep-equal "^3.1.1"
+ fast-json-stable-stringify "^2.0.0"
+ json-schema-traverse "^0.4.1"
+ uri-js "^4.2.2"
+
+alphanum-sort@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.npmmirror.com/alphanum-sort/-/alphanum-sort-1.0.2.tgz#97a1119649b211ad33691d9f9f486a8ec9fbe0a3"
+ integrity sha512-0FcBfdcmaumGPQ0qPn7Q5qTgz/ooXgIyp1rf8ik5bGX8mpE2YHjC0P/eyQvxu1GURYQgq9ozf2mteQ5ZD9YiyQ==
+
+ansi-colors@^3.0.0:
+ version "3.2.4"
+ resolved "https://registry.npmmirror.com/ansi-colors/-/ansi-colors-3.2.4.tgz#e3a3da4bfbae6c86a9c285625de124a234026fbf"
+ integrity sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==
+
+ansi-escapes@^3.0.0, ansi-escapes@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.npmmirror.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b"
+ integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==
+
+ansi-html-community@0.0.8:
+ version "0.0.8"
+ resolved "https://registry.npmmirror.com/ansi-html-community/-/ansi-html-community-0.0.8.tgz#69fbc4d6ccbe383f9736934ae34c3f8290f1bf41"
+ integrity sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==
+
+ansi-regex@^2.0.0:
+ version "2.1.1"
+ resolved "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
+ integrity sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==
+
+ansi-regex@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-3.0.1.tgz#123d6479e92ad45ad897d4054e3c7ca7db4944e1"
+ integrity sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==
+
+ansi-regex@^4.1.0:
+ version "4.1.1"
+ resolved "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-4.1.1.tgz#164daac87ab2d6f6db3a29875e2d1766582dabed"
+ integrity sha512-ILlv4k/3f6vfQ4OoP2AGvirOktlQ98ZEL1k9FaQjxa3L1abBgbuTDAdPOpvbGncC0BTVQrl+OM8xZGK6tWXt7g==
+
+ansi-regex@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
+ integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
+
+ansi-regex@^6.0.1:
+ version "6.1.0"
+ resolved "https://registry.npmmirror.com/ansi-regex/-/ansi-regex-6.1.0.tgz#95ec409c69619d6cb1b8b34f14b660ef28ebd654"
+ integrity sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==
+
+ansi-styles@^2.2.1:
+ version "2.2.1"
+ resolved "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-2.2.1.tgz#b432dd3358b634cf75e1e4664368240533c1ddbe"
+ integrity sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==
+
+ansi-styles@^3.1.0, ansi-styles@^3.2.0, ansi-styles@^3.2.1:
+ version "3.2.1"
+ resolved "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
+ integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
+ dependencies:
+ color-convert "^1.9.0"
+
+ansi-styles@^4.0.0, ansi-styles@^4.1.0:
+ version "4.3.0"
+ resolved "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
+ integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
+ dependencies:
+ color-convert "^2.0.1"
+
+ansi-styles@^6.1.0:
+ version "6.2.1"
+ resolved "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-6.2.1.tgz#0e62320cf99c21afff3b3012192546aacbfb05c5"
+ integrity sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==
+
+ansi-styles@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/ansi-styles/-/ansi-styles-1.0.0.tgz#cb102df1c56f5123eab8b67cd7b98027a0279178"
+ integrity sha512-3iF4FIKdxaVYT3JqQuY3Wat/T2t7TRbbQ94Fu50ZUCbLy4TFbTzr90NOHQodQkNqmeEGCw8WbeP78WNi6SKYUA==
+
+any-observable@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.npmmirror.com/any-observable/-/any-observable-0.3.0.tgz#af933475e5806a67d0d7df090dd5e8bef65d119b"
+ integrity sha512-/FQM1EDkTsf63Ub2C6O7GuYFDsSXUwsaZDurV0np41ocwq0jthUAYCmhBX9f+KwlaCgIuWyr/4WlUQUBfKfZog==
+
+anymatch@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/anymatch/-/anymatch-2.0.0.tgz#bcb24b4f37934d9aa7ac17b4adaf89e7c76ef2eb"
+ integrity sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==
+ dependencies:
+ micromatch "^3.1.4"
+ normalize-path "^2.1.1"
+
+anymatch@~3.1.2:
+ version "3.1.3"
+ resolved "https://registry.npmmirror.com/anymatch/-/anymatch-3.1.3.tgz#790c58b19ba1720a84205b57c618d5ad8524973e"
+ integrity sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==
+ dependencies:
+ normalize-path "^3.0.0"
+ picomatch "^2.0.4"
+
+append-transform@^0.4.0:
+ version "0.4.0"
+ resolved "https://registry.npmmirror.com/append-transform/-/append-transform-0.4.0.tgz#d76ebf8ca94d276e247a36bad44a4b74ab611991"
+ integrity sha512-Yisb7ew0ZEyDtRYQ+b+26o9KbiYPFxwcsxKzbssigzRRMJ9LpExPVUg6Fos7eP7yP3q7///tzze4nm4lTptPBw==
+ dependencies:
+ default-require-extensions "^1.0.0"
+
+aproba@^1.1.1:
+ version "1.2.0"
+ resolved "https://registry.npmmirror.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
+ integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==
+
+arch@^2.1.0:
+ version "2.2.0"
+ resolved "https://registry.npmmirror.com/arch/-/arch-2.2.0.tgz#1bc47818f305764f23ab3306b0bfc086c5a29d11"
+ integrity sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==
+
+argparse@^1.0.7:
+ version "1.0.10"
+ resolved "https://registry.npmmirror.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
+ integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
+ dependencies:
+ sprintf-js "~1.0.2"
+
+arr-diff@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/arr-diff/-/arr-diff-2.0.0.tgz#8f3b827f955a8bd669697e4a4256ac3ceae356cf"
+ integrity sha512-dtXTVMkh6VkEEA7OhXnN1Ecb8aAGFdZ1LFxtOCoqj4qkyOJMt7+qs6Ahdy6p/NQCPYsRSXXivhSB/J5E9jmYKA==
+ dependencies:
+ arr-flatten "^1.0.1"
+
+arr-diff@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npmmirror.com/arr-diff/-/arr-diff-4.0.0.tgz#d6461074febfec71e7e15235761a329a5dc7c520"
+ integrity sha512-YVIQ82gZPGBebQV/a8dar4AitzCQs0jjXwMPZllpXMaGjXPYVUawSxQrRsjhjupyVxEvbHgUmIhKVlND+j02kA==
+
+arr-flatten@^1.0.1, arr-flatten@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/arr-flatten/-/arr-flatten-1.1.0.tgz#36048bbff4e7b47e136644316c99669ea5ae91f1"
+ integrity sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==
+
+arr-union@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.npmmirror.com/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4"
+ integrity sha512-sKpyeERZ02v1FeCZT8lrfJq5u6goHCtpTAzPwJYe7c8SPFOboNjNg1vz2L4VTn9T4PQxEx13TbXLmYUcS6Ug7Q==
+
+array-buffer-byte-length@^1.0.1, array-buffer-byte-length@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npmmirror.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz#384d12a37295aec3769ab022ad323a18a51ccf8b"
+ integrity sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==
+ dependencies:
+ call-bound "^1.0.3"
+ is-array-buffer "^3.0.5"
+
+array-each@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/array-each/-/array-each-1.0.1.tgz#a794af0c05ab1752846ee753a1f211a05ba0c44f"
+ integrity sha512-zHjL5SZa68hkKHBFBK6DJCTtr9sfTCPCaph/L7tMSLcTFgy+zX7E+6q5UArbtOtMBCtxdICpfTCspRse+ywyXA==
+
+array-equal@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.npmmirror.com/array-equal/-/array-equal-1.0.2.tgz#a8572e64e822358271250b9156d20d96ef5dec04"
+ integrity sha512-gUHx76KtnhEgB3HOuFYiCm3FIdEs6ocM2asHvNTkfu/Y09qQVrrVVaOKENmS2KkSaGoxgXNqC+ZVtR/n0MOkSA==
+
+array-flatten@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npmmirror.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
+ integrity sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==
+
+array-flatten@^2.1.0:
+ version "2.1.2"
+ resolved "https://registry.npmmirror.com/array-flatten/-/array-flatten-2.1.2.tgz#24ef80a28c1a893617e2149b0c6d0d788293b099"
+ integrity sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==
+
+array-slice@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/array-slice/-/array-slice-1.1.0.tgz#e368ea15f89bc7069f7ffb89aec3a6c7d4ac22d4"
+ integrity sha512-B1qMD3RBP7O8o0H2KbrXDyB0IccejMF15+87Lvlor12ONPRHP6gTjXMNkt/d3ZuOGbAe66hFmaCfECI24Ufp6w==
+
+array-union@^1.0.1, array-union@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npmmirror.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39"
+ integrity sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==
+ dependencies:
+ array-uniq "^1.0.1"
+
+array-uniq@^1.0.1:
+ version "1.0.3"
+ resolved "https://registry.npmmirror.com/array-uniq/-/array-uniq-1.0.3.tgz#af6ac877a25cc7f74e058894753858dfdb24fdb6"
+ integrity sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==
+
+array-unique@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.npmmirror.com/array-unique/-/array-unique-0.2.1.tgz#a1d97ccafcbc2625cc70fadceb36a50c58b01a53"
+ integrity sha512-G2n5bG5fSUCpnsXz4+8FUkYsGPkNfLn9YvS66U5qbTIXI2Ynnlo4Bi42bWv+omKUCqz+ejzfClwne0alJWJPhg==
+
+array-unique@^0.3.2:
+ version "0.3.2"
+ resolved "https://registry.npmmirror.com/array-unique/-/array-unique-0.3.2.tgz#a894b75d4bc4f6cd679ef3244a9fd8f46ae2d428"
+ integrity sha512-SleRWjh9JUud2wH1hPs9rZBZ33H6T9HOiL0uwGnGx9FpE6wKGyfWugmbkEOIs6qWrZhg0LWeLziLrEwQJhs5mQ==
+
+array.prototype.reduce@^1.0.6:
+ version "1.0.8"
+ resolved "https://registry.npmmirror.com/array.prototype.reduce/-/array.prototype.reduce-1.0.8.tgz#42f97f5078daedca687d4463fd3c05cbfd83da57"
+ integrity sha512-DwuEqgXFBwbmZSRqt3BpQigWNUoqw9Ml2dTWdF3B2zQlQX4OeUE0zyuzX0fX0IbTvjdkZbcBTU3idgpO78qkTw==
+ dependencies:
+ call-bind "^1.0.8"
+ call-bound "^1.0.4"
+ define-properties "^1.2.1"
+ es-abstract "^1.23.9"
+ es-array-method-boxes-properly "^1.0.0"
+ es-errors "^1.3.0"
+ es-object-atoms "^1.1.1"
+ is-string "^1.1.1"
+
+arraybuffer.prototype.slice@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.npmmirror.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz#9d760d84dbdd06d0cbf92c8849615a1a7ab3183c"
+ integrity sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==
+ dependencies:
+ array-buffer-byte-length "^1.0.1"
+ call-bind "^1.0.8"
+ define-properties "^1.2.1"
+ es-abstract "^1.23.5"
+ es-errors "^1.3.0"
+ get-intrinsic "^1.2.6"
+ is-array-buffer "^3.0.4"
+
+arrify@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/arrify/-/arrify-1.0.1.tgz#898508da2226f380df904728456849c1501a4b0d"
+ integrity sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==
+
+asn1.js@^4.10.1:
+ version "4.10.1"
+ resolved "https://registry.npmmirror.com/asn1.js/-/asn1.js-4.10.1.tgz#b9c2bf5805f1e64aadeed6df3a2bfafb5a73f5a0"
+ integrity sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==
+ dependencies:
+ bn.js "^4.0.0"
+ inherits "^2.0.1"
+ minimalistic-assert "^1.0.0"
+
+asn1@~0.2.0, asn1@~0.2.3:
+ version "0.2.6"
+ resolved "https://registry.npmmirror.com/asn1/-/asn1-0.2.6.tgz#0d3a7bb6e64e02a90c0303b31f292868ea09a08d"
+ integrity sha512-ix/FxPn0MDjeyJ7i/yoHGFt/EX6LyNbxSEhPPXODPL+KB0VPk86UYfL0lMdy+KCnv+fmvIzySwaK5COwqVbWTQ==
+ dependencies:
+ safer-buffer "~2.1.0"
+
+assert-plus@1.0.0, assert-plus@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/assert-plus/-/assert-plus-1.0.0.tgz#f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525"
+ integrity sha512-NfJ4UzBCcQGLDlQq7nHxH+tv3kyZ0hHQqF5BO6J7tNJeP5do1llPr8dZ8zHonfhAu0PHAdMkSo+8o0wxg9lZWw==
+
+assert@^1.1.1:
+ version "1.5.1"
+ resolved "https://registry.npmmirror.com/assert/-/assert-1.5.1.tgz#038ab248e4ff078e7bc2485ba6e6388466c78f76"
+ integrity sha512-zzw1uCAgLbsKwBfFc8CX78DDg+xZeBksSO3vwVIDDN5i94eOrPsSSyiVhmsSABFDM/OcpE2aagCat9dnWQLG1A==
+ dependencies:
+ object.assign "^4.1.4"
+ util "^0.10.4"
+
+assign-symbols@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/assign-symbols/-/assign-symbols-1.0.0.tgz#59667f41fadd4f20ccbc2bb96b8d4f7f78ec0367"
+ integrity sha512-Q+JC7Whu8HhmTdBph/Tq59IoRtoy6KAm5zzPv00WdujX82lbAL8K7WVjne7vdCsAmbF4AYaDOPyO3k0kl8qIrw==
+
+astral-regex@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9"
+ integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==
+
+async-each@^1.0.1:
+ version "1.0.6"
+ resolved "https://registry.npmmirror.com/async-each/-/async-each-1.0.6.tgz#52f1d9403818c179b7561e11a5d1b77eb2160e77"
+ integrity sha512-c646jH1avxr+aVpndVMeAfYw7wAa6idufrlN3LPA4PmKS0QEGp6PIC9nwz0WQkkvBGAMEki3pFdtxaF39J9vvg==
+
+async-function@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/async-function/-/async-function-1.0.0.tgz#509c9fca60eaf85034c6829838188e4e4c8ffb2b"
+ integrity sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==
+
+async-limiter@~1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd"
+ integrity sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==
+
+async-validator@^1.11.2:
+ version "1.12.2"
+ resolved "https://registry.npmmirror.com/async-validator/-/async-validator-1.12.2.tgz#beae671e7174d2938b7b4b69d2fb7e722b7fd72c"
+ integrity sha512-57EETfCPFiB7M4QscvQzWSGNsmtkjjzZv318SK1CBlstk+hycV72ocjriMOOM48HjvmoAoJGpJNjC7Z76RlnZA==
+
+async-validator@~1.8.1:
+ version "1.8.5"
+ resolved "https://registry.npmmirror.com/async-validator/-/async-validator-1.8.5.tgz#dc3e08ec1fd0dddb67e60842f02c0cd1cec6d7f0"
+ integrity sha512-tXBM+1m056MAX0E8TL2iCjg8WvSyXu0Zc8LNtYqrVeyoL3+esHRZ4SieE9fKQyyU09uONjnMEjrNBMqT0mbvmA==
+ dependencies:
+ babel-runtime "6.x"
+
+async@^2.1.4:
+ version "2.6.4"
+ resolved "https://registry.npmmirror.com/async/-/async-2.6.4.tgz#706b7ff6084664cd7eae713f6f965433b5504221"
+ integrity sha512-mzo5dfJYwAn29PeiJ0zvwTo04zj8HDJj0Mn8TD7sno7q12prdbnasKJHhkm2c1LgrhlJ0teaea8860oxi51mGA==
+ dependencies:
+ lodash "^4.17.14"
+
+async@^3.2.6:
+ version "3.2.6"
+ resolved "https://registry.npmmirror.com/async/-/async-3.2.6.tgz#1b0728e14929d51b85b449b7f06e27c1145e38ce"
+ integrity sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==
+
+async@~0.9.0:
+ version "0.9.2"
+ resolved "https://registry.npmmirror.com/async/-/async-0.9.2.tgz#aea74d5e61c1f899613bf64bda66d4c78f2fd17d"
+ integrity sha512-l6ToIJIotphWahxxHyzK9bnLR6kM4jJIIgLShZeqLY7iboHoGkdgFl7W2/Ivi4SkMJYGKqW8vSuk0uKUj6qsSw==
+
+asynckit@^0.4.0:
+ version "0.4.0"
+ resolved "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
+ integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==
+
+atob@^2.1.2:
+ version "2.1.2"
+ resolved "https://registry.npmmirror.com/atob/-/atob-2.1.2.tgz#6d9517eb9e030d2436666651e86bd9f6f13533c9"
+ integrity sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==
+
+autoprefixer@^9.4.8:
+ version "9.8.8"
+ resolved "https://registry.npmmirror.com/autoprefixer/-/autoprefixer-9.8.8.tgz#fd4bd4595385fa6f06599de749a4d5f7a474957a"
+ integrity sha512-eM9d/swFopRt5gdJ7jrpCwgvEMIayITpojhkkSMRsFHYuH5bkSQ4p/9qTEHtmNudUZh22Tehu7I6CxAW0IXTKA==
+ dependencies:
+ browserslist "^4.12.0"
+ caniuse-lite "^1.0.30001109"
+ normalize-range "^0.1.2"
+ num2fraction "^1.2.2"
+ picocolors "^0.2.1"
+ postcss "^7.0.32"
+ postcss-value-parser "^4.1.0"
+
+available-typed-arrays@^1.0.7:
+ version "1.0.7"
+ resolved "https://registry.npmmirror.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846"
+ integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==
+ dependencies:
+ possible-typed-array-names "^1.0.0"
+
+aws-sign2@~0.7.0:
+ version "0.7.0"
+ resolved "https://registry.npmmirror.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8"
+ integrity sha512-08kcGqnYf/YmjoRhfxyu+CLxBjUtHLXLXX/vUfx9l2LYzG3c1m61nrpyFUZI6zeS+Li/wWMMidD9KgrqtGq3mA==
+
+aws4@^1.8.0:
+ version "1.13.2"
+ resolved "https://registry.npmmirror.com/aws4/-/aws4-1.13.2.tgz#0aa167216965ac9474ccfa83892cfb6b3e1e52ef"
+ integrity sha512-lHe62zvbTB5eEABUVi/AwVh0ZKY9rMMDhmm+eeyuuUQbQ3+J+fONVQOZyj+DdrvD4BY33uYniyRJ4UJIaSKAfw==
+
+axios@^0.24.0:
+ version "0.24.0"
+ resolved "https://registry.npmmirror.com/axios/-/axios-0.24.0.tgz#804e6fa1e4b9c5288501dd9dff56a7a0940d20d6"
+ integrity sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==
+ dependencies:
+ follow-redirects "^1.14.4"
+
+babel-code-frame@^6.22.0, babel-code-frame@^6.26.0:
+ version "6.26.0"
+ resolved "https://registry.npmmirror.com/babel-code-frame/-/babel-code-frame-6.26.0.tgz#63fd43f7dc1e3bb7ce35947db8fe369a3f58c74b"
+ integrity sha512-XqYMR2dfdGMW+hd0IUZ2PwK+fGeFkOxZJ0wY+JaQAHzt1Zx8LcvpiZD2NiGkEG8qx0CfkAOr5xt76d1e8vG90g==
+ dependencies:
+ chalk "^1.1.3"
+ esutils "^2.0.2"
+ js-tokens "^3.0.2"
+
+babel-core@7.0.0-bridge.0:
+ version "7.0.0-bridge.0"
+ resolved "https://registry.npmmirror.com/babel-core/-/babel-core-7.0.0-bridge.0.tgz#95a492ddd90f9b4e9a4a1da14eb335b87b634ece"
+ integrity sha512-poPX9mZH/5CSanm50Q+1toVci6pv5KSRv/5TWCwtzQS5XEwn40BcCrgIeMFWP9CKKIniKXNxoIOnOq4VVlGXhg==
+
+babel-core@^6.0.0, babel-core@^6.26.0:
+ version "6.26.3"
+ resolved "https://registry.npmmirror.com/babel-core/-/babel-core-6.26.3.tgz#b2e2f09e342d0f0c88e2f02e067794125e75c207"
+ integrity sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==
+ dependencies:
+ 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"
+
+babel-eslint@^10.0.1:
+ version "10.1.0"
+ resolved "https://registry.npmmirror.com/babel-eslint/-/babel-eslint-10.1.0.tgz#6968e568a910b78fb3779cdd8b6ac2f479943232"
+ integrity sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==
+ dependencies:
+ "@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"
+
+babel-generator@^6.18.0, babel-generator@^6.26.0:
+ version "6.26.1"
+ resolved "https://registry.npmmirror.com/babel-generator/-/babel-generator-6.26.1.tgz#1844408d3b8f0d35a404ea7ac180f087a601bd90"
+ integrity sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==
+ dependencies:
+ 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"
+
+babel-helper-vue-jsx-merge-props@^2.0.0, babel-helper-vue-jsx-merge-props@^2.0.3:
+ version "2.0.3"
+ resolved "https://registry.npmmirror.com/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-2.0.3.tgz#22aebd3b33902328e513293a8e4992b384f9f1b6"
+ integrity sha512-gsLiKK7Qrb7zYJNgiXKpXblxbV5ffSwR0f5whkPAaBAR4fhi6bwRZxX9wBlIc5M/v8CCkXUbXZL4N/nSE97cqg==
+
+babel-helpers@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.npmmirror.com/babel-helpers/-/babel-helpers-6.24.1.tgz#3471de9caec388e5c850e597e58a26ddf37602b2"
+ integrity sha512-n7pFrqQm44TCYvrCDb0MqabAF+JUBq+ijBvNMUxpkLjJaAu32faIexewMumrH5KLLJ1HDyT0PTEqRyAe/GwwuQ==
+ dependencies:
+ babel-runtime "^6.22.0"
+ babel-template "^6.24.1"
+
+babel-jest@23.6.0, babel-jest@^23.6.0:
+ version "23.6.0"
+ resolved "https://registry.npmmirror.com/babel-jest/-/babel-jest-23.6.0.tgz#a644232366557a2240a0c083da6b25786185a2f1"
+ integrity sha512-lqKGG6LYXYu+DQh/slrQ8nxXQkEkhugdXsU6St7GmhVS7Ilc/22ArwqXNJrf0QaOBjZB0360qZMwXqDYQHXaew==
+ dependencies:
+ babel-plugin-istanbul "^4.1.6"
+ babel-preset-jest "^23.2.0"
+
+babel-loader@^8.0.5:
+ version "8.4.1"
+ resolved "https://registry.npmmirror.com/babel-loader/-/babel-loader-8.4.1.tgz#6ccb75c66e62c3b144e1c5f2eaec5b8f6c08c675"
+ integrity sha512-nXzRChX+Z1GoE6yWavBQg6jDslyFF3SDjl2paADuoQtQW10JqShJt62R6eJQ5m/pjJFDT8xgKIWSP85OY8eXeA==
+ dependencies:
+ find-cache-dir "^3.3.1"
+ loader-utils "^2.0.4"
+ make-dir "^3.1.0"
+ schema-utils "^2.6.5"
+
+babel-messages@^6.23.0:
+ version "6.23.0"
+ resolved "https://registry.npmmirror.com/babel-messages/-/babel-messages-6.23.0.tgz#f3cdf4703858035b2a2951c6ec5edf6c62f2630e"
+ integrity sha512-Bl3ZiA+LjqaMtNYopA9TYE9HP1tQ+E5dLxE0XrAzcIJeK2UqF0/EaqXwBn9esd4UmTfEab+P+UYQ1GnioFIb/w==
+ dependencies:
+ babel-runtime "^6.22.0"
+
+babel-plugin-dynamic-import-node@^2.2.0:
+ version "2.3.3"
+ resolved "https://registry.npmmirror.com/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz#84fda19c976ec5c6defef57f9427b3def66e17a3"
+ integrity sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==
+ dependencies:
+ object.assign "^4.1.0"
+
+babel-plugin-istanbul@^4.1.6:
+ version "4.1.6"
+ resolved "https://registry.npmmirror.com/babel-plugin-istanbul/-/babel-plugin-istanbul-4.1.6.tgz#36c59b2192efce81c5b378321b74175add1c9a45"
+ integrity sha512-PWP9FQ1AhZhS01T/4qLSKoHGY/xvkZdVBGlKM/HuxxS3+sC66HhTNR7+MpbO/so/cz/wY94MeSWJuP1hXIPfwQ==
+ dependencies:
+ babel-plugin-syntax-object-rest-spread "^6.13.0"
+ find-up "^2.1.0"
+ istanbul-lib-instrument "^1.10.1"
+ test-exclude "^4.2.1"
+
+babel-plugin-jest-hoist@^23.2.0:
+ version "23.2.0"
+ resolved "https://registry.npmmirror.com/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-23.2.0.tgz#e61fae05a1ca8801aadee57a6d66b8cefaf44167"
+ integrity sha512-N0MlMjZtahXK0yb0K3V9hWPrq5e7tThbghvDr0k3X75UuOOqwsWW6mk8XHD2QvEC0Ca9dLIfTgNU36TeJD6Hnw==
+
+babel-plugin-module-resolver@3.2.0:
+ version "3.2.0"
+ resolved "https://registry.npmmirror.com/babel-plugin-module-resolver/-/babel-plugin-module-resolver-3.2.0.tgz#ddfa5e301e3b9aa12d852a9979f18b37881ff5a7"
+ integrity sha512-tjR0GvSndzPew/Iayf4uICWZqjBwnlMWjSx6brryfQ81F9rxBVqwDJtFCV8oOs0+vJeefK9TmdZtkIFdFe1UnA==
+ dependencies:
+ 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-polyfill-corejs2@^0.4.10:
+ version "0.4.14"
+ resolved "https://registry.npmmirror.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.14.tgz#8101b82b769c568835611542488d463395c2ef8f"
+ integrity sha512-Co2Y9wX854ts6U8gAAPXfn0GmAyctHuK8n0Yhfjd6t30g7yvKjspvvOo9yG+z52PZRgFErt7Ka2pYnXCjLKEpg==
+ dependencies:
+ "@babel/compat-data" "^7.27.7"
+ "@babel/helper-define-polyfill-provider" "^0.6.5"
+ semver "^6.3.1"
+
+babel-plugin-polyfill-corejs3@^0.11.0:
+ version "0.11.1"
+ resolved "https://registry.npmmirror.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.11.1.tgz#4e4e182f1bb37c7ba62e2af81d8dd09df31344f6"
+ integrity sha512-yGCqvBT4rwMczo28xkH/noxJ6MZ4nJfkVYdoDaC/utLtWrXxv27HVrzAeSbqR8SxDsp46n0YF47EbHoixy6rXQ==
+ dependencies:
+ "@babel/helper-define-polyfill-provider" "^0.6.3"
+ core-js-compat "^3.40.0"
+
+babel-plugin-polyfill-regenerator@^0.6.1:
+ version "0.6.5"
+ resolved "https://registry.npmmirror.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.5.tgz#32752e38ab6f6767b92650347bf26a31b16ae8c5"
+ integrity sha512-ISqQ2frbiNU9vIJkzg7dlPpznPZ4jOiUQ1uSmB0fEHeowtN3COYRsXr/xexn64NpU13P06jc/L5TgiJXOgrbEg==
+ dependencies:
+ "@babel/helper-define-polyfill-provider" "^0.6.5"
+
+babel-plugin-syntax-object-rest-spread@^6.13.0:
+ version "6.13.0"
+ resolved "https://registry.npmmirror.com/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz#fd6536f2bce13836ffa3a5458c4903a597bb3bf5"
+ integrity sha512-C4Aq+GaAj83pRQ0EFgTvw5YO6T3Qz2KGrNRwIj9mSoNHVvdZY4KO2uA6HNtNXCw993iSZnckY1aLW8nOi8i4+w==
+
+babel-plugin-transform-es2015-modules-commonjs@^6.26.0, babel-plugin-transform-es2015-modules-commonjs@^6.26.2:
+ version "6.26.2"
+ resolved "https://registry.npmmirror.com/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz#58a793863a9e7ca870bdc5a881117ffac27db6f3"
+ integrity sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==
+ dependencies:
+ 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-strict-mode@^6.24.1:
+ version "6.24.1"
+ resolved "https://registry.npmmirror.com/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz#d5faf7aa578a65bbe591cf5edae04a0c67020758"
+ integrity sha512-j3KtSpjyLSJxNoCDrhwiJad8kw0gJ9REGj8/CqL0HeRyLnvUNYV9zcqluL6QJSXh3nfsLEmSLvwRfGzrgR96Pw==
+ dependencies:
+ babel-runtime "^6.22.0"
+ babel-types "^6.24.1"
+
+babel-polyfill@^6.26.0:
+ version "6.26.0"
+ resolved "https://registry.npmmirror.com/babel-polyfill/-/babel-polyfill-6.26.0.tgz#379937abc67d7895970adc621f284cd966cf2153"
+ integrity sha512-F2rZGQnAdaHWQ8YAoeRbukc7HS9QgdgeyJ0rQDd485v9opwuPvjpPFcOOT/WmkKTdgy9ESgSPXDcTNpzrGr6iQ==
+ dependencies:
+ babel-runtime "^6.26.0"
+ core-js "^2.5.0"
+ regenerator-runtime "^0.10.5"
+
+babel-preset-jest@^23.2.0:
+ version "23.2.0"
+ resolved "https://registry.npmmirror.com/babel-preset-jest/-/babel-preset-jest-23.2.0.tgz#8ec7a03a138f001a1a8fb1e8113652bf1a55da46"
+ integrity sha512-AdfWwc0PYvDtwr009yyVNh72Ev68os7SsPmOFVX7zSA+STXuk5CV2iMVazZU01bEoHCSwTkgv4E4HOOcODPkPg==
+ dependencies:
+ babel-plugin-jest-hoist "^23.2.0"
+ babel-plugin-syntax-object-rest-spread "^6.13.0"
+
+babel-register@^6.26.0:
+ version "6.26.0"
+ resolved "https://registry.npmmirror.com/babel-register/-/babel-register-6.26.0.tgz#6ed021173e2fcb486d7acb45c6009a856f647071"
+ integrity sha512-veliHlHX06wjaeY8xNITbveXSiI+ASFnOqvne/LaIJIqOWi2Ogmj91KOugEz/hoh/fwMhXNBJPCv8Xaz5CyM4A==
+ dependencies:
+ 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"
+
+babel-runtime@6.x, babel-runtime@^6.22.0, babel-runtime@^6.26.0:
+ version "6.26.0"
+ resolved "https://registry.npmmirror.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe"
+ integrity sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==
+ dependencies:
+ core-js "^2.4.0"
+ regenerator-runtime "^0.11.0"
+
+babel-template@^6.16.0, babel-template@^6.24.1, babel-template@^6.26.0:
+ version "6.26.0"
+ resolved "https://registry.npmmirror.com/babel-template/-/babel-template-6.26.0.tgz#de03e2d16396b069f46dd9fff8521fb1a0e35e02"
+ integrity sha512-PCOcLFW7/eazGUKIoqH97sO9A2UYMahsn/yRQ7uOk37iutwjq7ODtcTNF+iFDSHNfkctqsLRjLP7URnOx0T1fg==
+ dependencies:
+ 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@^6.0.0, babel-traverse@^6.18.0, babel-traverse@^6.26.0:
+ version "6.26.0"
+ resolved "https://registry.npmmirror.com/babel-traverse/-/babel-traverse-6.26.0.tgz#46a9cbd7edcc62c8e5c064e2d2d8d0f4035766ee"
+ integrity sha512-iSxeXx7apsjCHe9c7n8VtRXGzI2Bk1rBSOJgCCjfyXb6v1aCqE1KSEpq/8SXuVN8Ka/Rh1WDTF0MDzkvTA4MIA==
+ dependencies:
+ 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"
+
+babel-types@^6.0.0, babel-types@^6.18.0, babel-types@^6.24.1, babel-types@^6.26.0:
+ version "6.26.0"
+ resolved "https://registry.npmmirror.com/babel-types/-/babel-types-6.26.0.tgz#a3b073f94ab49eb6fa55cd65227a334380632497"
+ integrity sha512-zhe3V/26rCWsEZK8kZN+HaQj5yQ1CilTObixFzKW1UWjqG7618Twz6YEsCnjfg5gBcJh02DrpCkS9h98ZqDY+g==
+ dependencies:
+ babel-runtime "^6.26.0"
+ esutils "^2.0.2"
+ lodash "^4.17.4"
+ to-fast-properties "^1.0.3"
+
+babylon@^6.18.0:
+ version "6.18.0"
+ resolved "https://registry.npmmirror.com/babylon/-/babylon-6.18.0.tgz#af2f3b88fa6f5c1e4c634d1a0f8eac4f55b395e3"
+ integrity sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==
+
+balanced-match@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.npmmirror.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
+ integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
+
+base64-js@^1.0.2:
+ version "1.5.1"
+ resolved "https://registry.npmmirror.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
+ integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
+
+base@^0.11.1:
+ version "0.11.2"
+ resolved "https://registry.npmmirror.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f"
+ integrity sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==
+ dependencies:
+ 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"
+
+batch@0.6.1:
+ version "0.6.1"
+ resolved "https://registry.npmmirror.com/batch/-/batch-0.6.1.tgz#dc34314f4e679318093fc760272525f94bf25c16"
+ integrity sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==
+
+bcrypt-pbkdf@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.npmmirror.com/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz#a4301d389b6a43f9b67ff3ca11a3f6637e360e9e"
+ integrity sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==
+ dependencies:
+ tweetnacl "^0.14.3"
+
+bfj@^6.1.1:
+ version "6.1.2"
+ resolved "https://registry.npmmirror.com/bfj/-/bfj-6.1.2.tgz#325c861a822bcb358a41c78a33b8e6e2086dde7f"
+ integrity sha512-BmBJa4Lip6BPRINSZ0BPEIfB1wUY/9rwbwvIHQA1KjX9om29B6id0wnWXq7m3bn5JrUVjeOTnVuhPT1FiHwPGw==
+ dependencies:
+ bluebird "^3.5.5"
+ check-types "^8.0.3"
+ hoopy "^0.1.4"
+ tryer "^1.0.1"
+
+big.js@^3.1.3:
+ version "3.2.0"
+ resolved "https://registry.npmmirror.com/big.js/-/big.js-3.2.0.tgz#a5fc298b81b9e0dca2e458824784b65c52ba588e"
+ integrity sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==
+
+big.js@^5.2.2:
+ version "5.2.2"
+ resolved "https://registry.npmmirror.com/big.js/-/big.js-5.2.2.tgz#65f0af382f578bcdc742bd9c281e9cb2d7768328"
+ integrity sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==
+
+binary-extensions@^1.0.0:
+ version "1.13.1"
+ resolved "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-1.13.1.tgz#598afe54755b2868a5330d2aff9d4ebb53209b65"
+ integrity sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==
+
+binary-extensions@^2.0.0:
+ version "2.3.0"
+ resolved "https://registry.npmmirror.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522"
+ integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==
+
+bindings@^1.5.0:
+ version "1.5.0"
+ resolved "https://registry.npmmirror.com/bindings/-/bindings-1.5.0.tgz#10353c9e945334bc0511a6d90b38fbc7c9c504df"
+ integrity sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==
+ dependencies:
+ file-uri-to-path "1.0.0"
+
+bl@^2.2.1:
+ version "2.2.1"
+ resolved "https://registry.npmmirror.com/bl/-/bl-2.2.1.tgz#8c11a7b730655c5d56898cdc871224f40fd901d5"
+ integrity sha512-6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g==
+ dependencies:
+ readable-stream "^2.3.5"
+ safe-buffer "^5.1.1"
+
+bluebird@3.5.1:
+ version "3.5.1"
+ resolved "https://registry.npmmirror.com/bluebird/-/bluebird-3.5.1.tgz#d9551f9de98f1fcda1e683d17ee91a0602ee2eb9"
+ integrity sha512-MKiLiV+I1AA596t9w1sQJ8jkiSr5+ZKi0WKrYGUn6d1Fx+Ij4tIj+m2WMQSGczs5jZVxV339chE8iwk6F64wjA==
+
+bluebird@^3.1.1, bluebird@^3.5.0, bluebird@^3.5.1, bluebird@^3.5.5:
+ version "3.7.2"
+ resolved "https://registry.npmmirror.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f"
+ integrity sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==
+
+bn.js@^4.0.0, bn.js@^4.1.0, bn.js@^4.11.9:
+ version "4.12.2"
+ resolved "https://registry.npmmirror.com/bn.js/-/bn.js-4.12.2.tgz#3d8fed6796c24e177737f7cc5172ee04ef39ec99"
+ integrity sha512-n4DSx829VRTRByMRGdjQ9iqsN0Bh4OolPsFnaZBLcbi8iXcB+kJ9s7EnRt4wILZNV3kPLHkRVfOc/HvhC3ovDw==
+
+bn.js@^5.2.1:
+ version "5.2.2"
+ resolved "https://registry.npmmirror.com/bn.js/-/bn.js-5.2.2.tgz#82c09f9ebbb17107cd72cb7fd39bd1f9d0aaa566"
+ integrity sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==
+
+body-parser@1.20.3:
+ version "1.20.3"
+ resolved "https://registry.npmmirror.com/body-parser/-/body-parser-1.20.3.tgz#1953431221c6fb5cd63c4b36d53fab0928e548c6"
+ integrity sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==
+ dependencies:
+ bytes "3.1.2"
+ content-type "~1.0.5"
+ debug "2.6.9"
+ depd "2.0.0"
+ destroy "1.2.0"
+ http-errors "2.0.0"
+ iconv-lite "0.4.24"
+ on-finished "2.4.1"
+ qs "6.13.0"
+ raw-body "2.5.2"
+ type-is "~1.6.18"
+ unpipe "1.0.0"
+
+bonjour@^3.5.0:
+ version "3.5.0"
+ resolved "https://registry.npmmirror.com/bonjour/-/bonjour-3.5.0.tgz#8e890a183d8ee9a2393b3844c691a42bcf7bc9f5"
+ integrity sha512-RaVTblr+OnEli0r/ud8InrU7D+G0y6aJhlxaLa6Pwty4+xoxboF1BsUI45tujvRpbj9dQVoglChqonGAsjEBYg==
+ dependencies:
+ 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@^1.0.0, boolbase@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/boolbase/-/boolbase-1.0.0.tgz#68dff5fbe60c51eb37725ea9e3ed310dcc1e776e"
+ integrity sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==
+
+brace-expansion@^1.1.7:
+ version "1.1.12"
+ resolved "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-1.1.12.tgz#ab9b454466e5a8cc3a187beaad580412a9c5b843"
+ integrity sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==
+ dependencies:
+ balanced-match "^1.0.0"
+ concat-map "0.0.1"
+
+brace-expansion@^2.0.1:
+ version "2.0.2"
+ resolved "https://registry.npmmirror.com/brace-expansion/-/brace-expansion-2.0.2.tgz#54fc53237a613d854c7bd37463aad17df87214e7"
+ integrity sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==
+ dependencies:
+ balanced-match "^1.0.0"
+
+braces@^1.8.2:
+ version "1.8.5"
+ resolved "https://registry.npmmirror.com/braces/-/braces-1.8.5.tgz#ba77962e12dff969d6b76711e914b737857bf6a7"
+ integrity sha512-xU7bpz2ytJl1bH9cgIurjpg/n8Gohy9GTw81heDYLJQ4RU60dlyJsa+atVF2pI0yMMvKxI9HkKwjePCj5XI1hw==
+ dependencies:
+ expand-range "^1.8.1"
+ preserve "^0.2.0"
+ repeat-element "^1.1.2"
+
+braces@^2.2.2, braces@^2.3.1, braces@^2.3.2:
+ version "2.3.2"
+ resolved "https://registry.npmmirror.com/braces/-/braces-2.3.2.tgz#5979fd3f14cd531565e5fa2df1abfff1dfaee729"
+ integrity sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==
+ dependencies:
+ 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"
+
+braces@~3.0.2:
+ version "3.0.3"
+ resolved "https://registry.npmmirror.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789"
+ integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==
+ dependencies:
+ fill-range "^7.1.1"
+
+brorand@^1.0.1, brorand@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/brorand/-/brorand-1.1.0.tgz#12c25efe40a45e3c323eb8675a0a0ce57b22371f"
+ integrity sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==
+
+browser-process-hrtime@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz#3c9b4b7d782c8121e56f10106d84c0d0ffc94626"
+ integrity sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==
+
+browser-resolve@^1.11.3:
+ version "1.11.3"
+ resolved "https://registry.npmmirror.com/browser-resolve/-/browser-resolve-1.11.3.tgz#9b7cbb3d0f510e4cb86bdbd796124d28b5890af6"
+ integrity sha512-exDi1BYWB/6raKHmDTCicQfTkqwN5fioMFV4j8BsfMU4R2DK/QfZfK7kOVkmWCNANf0snkBzqGqAJBao9gZMdQ==
+ dependencies:
+ resolve "1.1.7"
+
+browserify-aes@^1.0.4, browserify-aes@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.npmmirror.com/browserify-aes/-/browserify-aes-1.2.0.tgz#326734642f403dabc3003209853bb70ad428ef48"
+ integrity sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==
+ dependencies:
+ 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@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/browserify-cipher/-/browserify-cipher-1.0.1.tgz#8d6474c1b870bfdabcd3bcfcc1934a10e94f15f0"
+ integrity sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==
+ dependencies:
+ browserify-aes "^1.0.4"
+ browserify-des "^1.0.0"
+ evp_bytestokey "^1.0.0"
+
+browserify-des@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.npmmirror.com/browserify-des/-/browserify-des-1.0.2.tgz#3af4f1f59839403572f1c66204375f7a7f703e9c"
+ integrity sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==
+ dependencies:
+ cipher-base "^1.0.1"
+ des.js "^1.0.0"
+ inherits "^2.0.1"
+ safe-buffer "^5.1.2"
+
+browserify-rsa@^4.0.0, browserify-rsa@^4.1.0:
+ version "4.1.1"
+ resolved "https://registry.npmmirror.com/browserify-rsa/-/browserify-rsa-4.1.1.tgz#06e530907fe2949dc21fc3c2e2302e10b1437238"
+ integrity sha512-YBjSAiTqM04ZVei6sXighu679a3SqWORA3qZTEqZImnlkDIFtKc6pNutpjyZ8RJTjQtuYfeetkxM11GwoYXMIQ==
+ dependencies:
+ bn.js "^5.2.1"
+ randombytes "^2.1.0"
+ safe-buffer "^5.2.1"
+
+browserify-sign@^4.2.3:
+ version "4.2.3"
+ resolved "https://registry.npmmirror.com/browserify-sign/-/browserify-sign-4.2.3.tgz#7afe4c01ec7ee59a89a558a4b75bd85ae62d4208"
+ integrity sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw==
+ dependencies:
+ bn.js "^5.2.1"
+ browserify-rsa "^4.1.0"
+ create-hash "^1.2.0"
+ create-hmac "^1.1.7"
+ elliptic "^6.5.5"
+ hash-base "~3.0"
+ inherits "^2.0.4"
+ parse-asn1 "^5.1.7"
+ readable-stream "^2.3.8"
+ safe-buffer "^5.2.1"
+
+browserify-zlib@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.npmmirror.com/browserify-zlib/-/browserify-zlib-0.2.0.tgz#2869459d9aa3be245fe8fe2ca1f46e2e7f54d73f"
+ integrity sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==
+ dependencies:
+ pako "~1.0.5"
+
+browserslist@^4.0.0, browserslist@^4.12.0, browserslist@^4.24.0, browserslist@^4.25.0, browserslist@^4.3.4:
+ version "4.25.1"
+ resolved "https://registry.npmmirror.com/browserslist/-/browserslist-4.25.1.tgz#ba9e8e6f298a1d86f829c9b975e07948967bb111"
+ integrity sha512-KGj0KoOMXLpSNkkEI6Z6mShmQy0bc1I+T7K9N81k4WWMrfz+6fQ6es80B/YLAeRoKvjYE1YSHHOW1qe9xIVzHw==
+ dependencies:
+ caniuse-lite "^1.0.30001726"
+ electron-to-chromium "^1.5.173"
+ node-releases "^2.0.19"
+ update-browserslist-db "^1.1.3"
+
+bser@2.1.1:
+ version "2.1.1"
+ resolved "https://registry.npmmirror.com/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05"
+ integrity sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==
+ dependencies:
+ node-int64 "^0.4.0"
+
+bson@*:
+ version "6.10.4"
+ resolved "https://registry.npmmirror.com/bson/-/bson-6.10.4.tgz#d530733bb5bb16fb25c162e01a3344fab332fd2b"
+ integrity sha512-WIsKqkSC0ABoBJuT1LEX+2HEvNmNKKgnTAyd0fL8qzK4SH2i9NXg+t08YtdZp/V9IZ33cxe3iV4yM0qg8lMQng==
+
+bson@^1.1.4:
+ version "1.1.6"
+ resolved "https://registry.npmmirror.com/bson/-/bson-1.1.6.tgz#fb819be9a60cd677e0853aee4ca712a785d6618a"
+ integrity sha512-EvVNVeGo4tHxwi8L6bPj3y3itEvStdwvvlojVxxbyYfoaxJ6keLgrTuKdyfEAszFK+H3olzBuafE0yoh0D1gdg==
+
+buffer-alloc-unsafe@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz#bd7dc26ae2972d0eda253be061dba992349c19f0"
+ integrity sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==
+
+buffer-alloc@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.npmmirror.com/buffer-alloc/-/buffer-alloc-1.2.0.tgz#890dd90d923a873e08e10e5fd51a57e5b7cce0ec"
+ integrity sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==
+ dependencies:
+ buffer-alloc-unsafe "^1.1.0"
+ buffer-fill "^1.0.0"
+
+buffer-fill@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/buffer-fill/-/buffer-fill-1.0.0.tgz#f8f78b76789888ef39f205cd637f68e702122b2c"
+ integrity sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==
+
+buffer-from@^1.0.0:
+ version "1.1.2"
+ resolved "https://registry.npmmirror.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5"
+ integrity sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==
+
+buffer-indexof@^1.0.0:
+ version "1.1.1"
+ resolved "https://registry.npmmirror.com/buffer-indexof/-/buffer-indexof-1.1.1.tgz#52fabcc6a606d1a00302802648ef68f639da268c"
+ integrity sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==
+
+buffer-xor@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.npmmirror.com/buffer-xor/-/buffer-xor-1.0.3.tgz#26e61ed1422fb70dd42e6e36729ed51d855fe8d9"
+ integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==
+
+buffer@^4.3.0:
+ version "4.9.2"
+ resolved "https://registry.npmmirror.com/buffer/-/buffer-4.9.2.tgz#230ead344002988644841ab0244af8c44bbe3ef8"
+ integrity sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==
+ dependencies:
+ base64-js "^1.0.2"
+ ieee754 "^1.1.4"
+ isarray "^1.0.0"
+
+builtin-status-codes@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmmirror.com/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz#85982878e21b98e1c66425e03d0174788f569ee8"
+ integrity sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==
+
+bytes@3.1.2:
+ version "3.1.2"
+ resolved "https://registry.npmmirror.com/bytes/-/bytes-3.1.2.tgz#8b0beeb98605adf1b128fa4386403c009e0221a5"
+ integrity sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==
+
+cacache@^10.0.4:
+ version "10.0.4"
+ resolved "https://registry.npmmirror.com/cacache/-/cacache-10.0.4.tgz#6452367999eff9d4188aefd9a14e9d7c6a263460"
+ integrity sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==
+ dependencies:
+ 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"
+
+cacache@^12.0.2:
+ version "12.0.4"
+ resolved "https://registry.npmmirror.com/cacache/-/cacache-12.0.4.tgz#668bcbd105aeb5f1d92fe25570ec9525c8faa40c"
+ integrity sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==
+ dependencies:
+ 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"
+
+cache-base@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/cache-base/-/cache-base-1.0.1.tgz#0a7f46416831c8b662ee36fe4e7c59d76f666ab2"
+ integrity sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==
+ dependencies:
+ 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@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.npmmirror.com/cache-loader/-/cache-loader-2.0.1.tgz#5758f41a62d7c23941e3c3c7016e6faeb03acb07"
+ integrity sha512-V99T3FOynmGx26Zom+JrVBytLBsmUCzVG2/4NnUKgvXN4bEV42R1ERl1IyiH/cvFIDA1Ytq2lPZ9tXDSahcQpQ==
+ dependencies:
+ loader-utils "^1.1.0"
+ mkdirp "^0.5.1"
+ neo-async "^2.6.0"
+ normalize-path "^3.0.0"
+ schema-utils "^1.0.0"
+
+cacheable-request@^6.0.0:
+ version "6.1.0"
+ resolved "https://registry.npmmirror.com/cacheable-request/-/cacheable-request-6.1.0.tgz#20ffb8bd162ba4be11e9567d823db651052ca912"
+ integrity sha512-Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==
+ dependencies:
+ clone-response "^1.0.2"
+ get-stream "^5.1.0"
+ http-cache-semantics "^4.0.0"
+ keyv "^3.0.0"
+ lowercase-keys "^2.0.0"
+ normalize-url "^4.1.0"
+ responselike "^1.0.2"
+
+call-bind-apply-helpers@^1.0.0, call-bind-apply-helpers@^1.0.1, call-bind-apply-helpers@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npmmirror.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz#4b5428c222be985d79c3d82657479dbe0b59b2d6"
+ integrity sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==
+ dependencies:
+ es-errors "^1.3.0"
+ function-bind "^1.1.2"
+
+call-bind@^1.0.7, call-bind@^1.0.8:
+ version "1.0.8"
+ resolved "https://registry.npmmirror.com/call-bind/-/call-bind-1.0.8.tgz#0736a9660f537e3388826f440d5ec45f744eaa4c"
+ integrity sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==
+ dependencies:
+ call-bind-apply-helpers "^1.0.0"
+ es-define-property "^1.0.0"
+ get-intrinsic "^1.2.4"
+ set-function-length "^1.2.2"
+
+call-bound@^1.0.2, call-bound@^1.0.3, call-bound@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.npmmirror.com/call-bound/-/call-bound-1.0.4.tgz#238de935d2a2a692928c538c7ccfa91067fd062a"
+ integrity sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==
+ dependencies:
+ call-bind-apply-helpers "^1.0.2"
+ get-intrinsic "^1.3.0"
+
+call-me-maybe@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.npmmirror.com/call-me-maybe/-/call-me-maybe-1.0.2.tgz#03f964f19522ba643b1b0693acb9152fe2074baa"
+ integrity sha512-HpX65o1Hnr9HH25ojC1YGs7HCQLq0GCOibSaWER0eNpgJ/Z1MZv2mTc7+xh6WOPxbRVcmgbv4hGU+uSQ/2xFZQ==
+
+caller-callsite@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/caller-callsite/-/caller-callsite-2.0.0.tgz#847e0fce0a223750a9a027c54b33731ad3154134"
+ integrity sha512-JuG3qI4QOftFsZyOn1qq87fq5grLIyk1JYd5lJmdA+fG7aQ9pA/i3JIJGcO3q0MrRcHlOt1U+ZeHW8Dq9axALQ==
+ dependencies:
+ callsites "^2.0.0"
+
+caller-path@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.npmmirror.com/caller-path/-/caller-path-0.1.0.tgz#94085ef63581ecd3daa92444a8fe94e82577751f"
+ integrity sha512-UJiE1otjXPF5/x+T3zTnSFiTOEmJoGTD9HmBoxnCUwho61a2eSNn/VwtwuIBDAo2SEOv1AJ7ARI5gCmohFLu/g==
+ dependencies:
+ callsites "^0.2.0"
+
+caller-path@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/caller-path/-/caller-path-2.0.0.tgz#468f83044e369ab2010fac5f06ceee15bb2cb1f4"
+ integrity sha512-MCL3sf6nCSXOwCTzvPKhN18TU7AHTvdtam8DAogxcrJ8Rjfbbg7Lgng64H9Iy+vUV6VGFClN/TyxBkAebLRR4A==
+ dependencies:
+ caller-callsite "^2.0.0"
+
+callsites@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.npmmirror.com/callsites/-/callsites-0.2.0.tgz#afab96262910a7f33c19a5775825c69f34e350ca"
+ integrity sha512-Zv4Dns9IbXXmPkgRRUjAaJQgfN4xX5p6+RQFhWUqscdvvK2xK/ZL8b3IXIJsj+4sD+f24NwnWy2BY8AJ82JB0A==
+
+callsites@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50"
+ integrity sha512-ksWePWBloaWPxJYQ8TL0JHvtci6G5QTKwQ95RcWAa/lzoAKuAOflGdAK92hpHXjkwb8zLxoLNUoNYZgVsaJzvQ==
+
+callsites@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.npmmirror.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
+ integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
+
+camel-case@3.0.x, camel-case@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmmirror.com/camel-case/-/camel-case-3.0.0.tgz#ca3c3688a4e9cf3a4cda777dc4dcbc713249cf73"
+ integrity sha512-+MbKztAYHXPr1jNTSKQF52VpcFjwY5RkR7fxksV8Doo4KAYc5Fl4UJRgthBbTmEx8C54DqahhbLJkDwjI3PI/w==
+ dependencies:
+ no-case "^2.2.0"
+ upper-case "^1.1.1"
+
+camelcase@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.npmmirror.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd"
+ integrity sha512-FxAv7HpHrXbh3aPo4o2qxHay2lkLY3x5Mw3KeE4KQE8ysVfziWeRZDwcjauvwBSGEC/nXUPzZy8zeh4HokqOnw==
+
+camelcase@^5.0.0:
+ version "5.3.1"
+ resolved "https://registry.npmmirror.com/camelcase/-/camelcase-5.3.1.tgz#e3c9b31569e106811df242f715725a1f4c494320"
+ integrity sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==
+
+caniuse-api@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmmirror.com/caniuse-api/-/caniuse-api-3.0.0.tgz#5e4d90e2274961d46291997df599e3ed008ee4c0"
+ integrity sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==
+ dependencies:
+ browserslist "^4.0.0"
+ caniuse-lite "^1.0.0"
+ lodash.memoize "^4.1.2"
+ lodash.uniq "^4.5.0"
+
+caniuse-lite@^1.0.0, caniuse-lite@^1.0.30001109, caniuse-lite@^1.0.30001726:
+ version "1.0.30001726"
+ resolved "https://registry.npmmirror.com/caniuse-lite/-/caniuse-lite-1.0.30001726.tgz#a15bd87d5a4bf01f6b6f70ae7c97fdfd28b5ae47"
+ integrity sha512-VQAUIUzBiZ/UnlM28fSp2CRF3ivUn1BWEvxMcVTNwpw91Py1pGbPIyIKtd+tzct9C3ouceCVdGAXxZOpZAsgdw==
+
+capture-exit@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.npmmirror.com/capture-exit/-/capture-exit-1.2.0.tgz#1c5fcc489fd0ab00d4f1ac7ae1072e3173fbab6f"
+ integrity sha512-IS4lTgp57lUcpXzyCaiUQcRZBxZAkzl+jNXrMUXZjdnr2yujpKUMG9OYeYL29i6fL66ihypvVJ/MeX0B+9pWOg==
+ dependencies:
+ rsvp "^3.3.3"
+
+case-sensitive-paths-webpack-plugin@^2.2.0:
+ version "2.4.0"
+ resolved "https://registry.npmmirror.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz#db64066c6422eed2e08cc14b986ca43796dbc6d4"
+ integrity sha512-roIFONhcxog0JSSWbvVAh3OocukmSgpqOH6YpMkCvav/ySIV3JKg4Dc8vYtQjYi/UxpNE36r/9v+VqTQqgkYmw==
+
+caseless@~0.12.0:
+ version "0.12.0"
+ resolved "https://registry.npmmirror.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc"
+ integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==
+
+cfb@^1.1.0:
+ version "1.2.2"
+ resolved "https://registry.npmmirror.com/cfb/-/cfb-1.2.2.tgz#94e687628c700e5155436dac05f74e08df23bc44"
+ integrity sha512-KfdUZsSOw19/ObEWasvBP/Ac4reZvAGauZhs6S/gqNhXhI7cKwvlH7ulj+dOEYnca4bm4SGo8C1bTAQvnTjgQA==
+ dependencies:
+ adler-32 "~1.3.0"
+ crc-32 "~1.2.0"
+
+chalk@2.3.0:
+ version "2.3.0"
+ resolved "https://registry.npmmirror.com/chalk/-/chalk-2.3.0.tgz#b5ea48efc9c1793dccc9b4767c93914d3f2d52ba"
+ integrity sha512-Az5zJR2CBujap2rqXGaJKaPHyJ0IrUimvYNX+ncCy8PJP4ltOGTrHUIo097ZaL2zMeKYpiCdqDvS6zdrTFok3Q==
+ dependencies:
+ ansi-styles "^3.1.0"
+ escape-string-regexp "^1.0.5"
+ supports-color "^4.0.0"
+
+chalk@2.4.2, chalk@^2.0.0, chalk@^2.0.1, chalk@^2.1.0, chalk@^2.3.1, chalk@^2.4.1, chalk@^2.4.2:
+ version "2.4.2"
+ resolved "https://registry.npmmirror.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
+ integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
+ dependencies:
+ ansi-styles "^3.2.1"
+ escape-string-regexp "^1.0.5"
+ supports-color "^5.3.0"
+
+chalk@^1.0.0, chalk@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.npmmirror.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98"
+ integrity sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==
+ dependencies:
+ 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"
+
+chalk@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmmirror.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4"
+ integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==
+ dependencies:
+ ansi-styles "^4.1.0"
+ supports-color "^7.1.0"
+
+chalk@~0.4.0:
+ version "0.4.0"
+ resolved "https://registry.npmmirror.com/chalk/-/chalk-0.4.0.tgz#5199a3ddcd0c1efe23bc08c1b027b06176e0c64f"
+ integrity sha512-sQfYDlfv2DGVtjdoQqxS0cEZDroyG8h6TamA6rvxwlrU5BaSLDx9xhatBYl2pxZ7gmpNaPFVwBtdGdu5rQ+tYQ==
+ dependencies:
+ ansi-styles "~1.0.0"
+ has-color "~0.1.0"
+ strip-ansi "~0.1.0"
+
+change-case@^3.0.1:
+ version "3.1.0"
+ resolved "https://registry.npmmirror.com/change-case/-/change-case-3.1.0.tgz#0e611b7edc9952df2e8513b27b42de72647dd17e"
+ integrity sha512-2AZp7uJZbYEzRPsFoa+ijKdvp9zsrnnt6+yFokfwEpeJm0xuJDVoxiRCAaTzyJND8GJkofo2IcKWaUZ/OECVzw==
+ dependencies:
+ camel-case "^3.0.0"
+ constant-case "^2.0.0"
+ dot-case "^2.1.0"
+ header-case "^1.0.0"
+ is-lower-case "^1.1.0"
+ is-upper-case "^1.1.0"
+ lower-case "^1.1.1"
+ lower-case-first "^1.0.0"
+ no-case "^2.3.2"
+ param-case "^2.1.0"
+ pascal-case "^2.0.0"
+ path-case "^2.1.0"
+ sentence-case "^2.1.0"
+ snake-case "^2.1.0"
+ swap-case "^1.1.0"
+ title-case "^2.1.0"
+ upper-case "^1.1.1"
+ upper-case-first "^1.1.0"
+
+chardet@^0.4.0:
+ version "0.4.2"
+ resolved "https://registry.npmmirror.com/chardet/-/chardet-0.4.2.tgz#b5473b33dc97c424e5d98dc87d55d4d8a29c8bf2"
+ integrity sha512-j/Toj7f1z98Hh2cYo2BVr85EpIRWqUi7rtRSGxh/cqUjqrnJe9l9UE7IUGd2vQ2p+kSHLkSzObQPZPLUC6TQwg==
+
+chardet@^0.7.0:
+ version "0.7.0"
+ resolved "https://registry.npmmirror.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e"
+ integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==
+
+check-types@^8.0.3:
+ version "8.0.3"
+ resolved "https://registry.npmmirror.com/check-types/-/check-types-8.0.3.tgz#3356cca19c889544f2d7a95ed49ce508a0ecf552"
+ integrity sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ==
+
+"chokidar@>=2.0.0 <4.0.0", chokidar@^3.1.1, chokidar@^3.4.1:
+ version "3.6.0"
+ resolved "https://registry.npmmirror.com/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b"
+ integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==
+ dependencies:
+ anymatch "~3.1.2"
+ braces "~3.0.2"
+ glob-parent "~5.1.2"
+ is-binary-path "~2.1.0"
+ is-glob "~4.0.1"
+ normalize-path "~3.0.0"
+ readdirp "~3.6.0"
+ optionalDependencies:
+ fsevents "~2.3.2"
+
+chokidar@^2.1.8:
+ version "2.1.8"
+ resolved "https://registry.npmmirror.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917"
+ integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==
+ dependencies:
+ anymatch "^2.0.0"
+ async-each "^1.0.1"
+ braces "^2.3.2"
+ 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"
+ optionalDependencies:
+ fsevents "^1.2.7"
+
+chownr@^1.0.1, chownr@^1.1.1:
+ version "1.1.4"
+ resolved "https://registry.npmmirror.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b"
+ integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==
+
+chrome-trace-event@^1.0.0, chrome-trace-event@^1.0.2:
+ version "1.0.4"
+ resolved "https://registry.npmmirror.com/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz#05bffd7ff928465093314708c93bdfa9bd1f0f5b"
+ integrity sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==
+
+ci-info@^1.5.0:
+ version "1.6.0"
+ resolved "https://registry.npmmirror.com/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497"
+ integrity sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==
+
+ci-info@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46"
+ integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==
+
+cipher-base@^1.0.0, cipher-base@^1.0.1, cipher-base@^1.0.3:
+ version "1.0.6"
+ resolved "https://registry.npmmirror.com/cipher-base/-/cipher-base-1.0.6.tgz#8fe672437d01cd6c4561af5334e0cc50ff1955f7"
+ integrity sha512-3Ek9H3X6pj5TgenXYtNWdaBon1tgYCaebd+XPg0keyjEbEfkD4KkmAxkQ/i1vYvxdcT5nscLBfq9VJRmCBcFSw==
+ dependencies:
+ inherits "^2.0.4"
+ safe-buffer "^5.2.1"
+
+circular-json@^0.3.1:
+ version "0.3.3"
+ resolved "https://registry.npmmirror.com/circular-json/-/circular-json-0.3.3.tgz#815c99ea84f6809529d2f45791bdf82711352d66"
+ integrity sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==
+
+class-utils@^0.3.5:
+ version "0.3.6"
+ resolved "https://registry.npmmirror.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463"
+ integrity sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==
+ dependencies:
+ arr-union "^3.1.0"
+ define-property "^0.2.5"
+ isobject "^3.0.0"
+ static-extend "^0.1.1"
+
+clean-css@4.2.x:
+ version "4.2.4"
+ resolved "https://registry.npmmirror.com/clean-css/-/clean-css-4.2.4.tgz#733bf46eba4e607c6891ea57c24a989356831178"
+ integrity sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==
+ dependencies:
+ source-map "~0.6.0"
+
+cli-cursor@^2.0.0, cli-cursor@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npmmirror.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5"
+ integrity sha512-8lgKz8LmCRYZZQDpRyT2m5rKJ08TnU4tR9FFFW2rxpxR1FzWi4PQ/NfyODchAatHaUgnSPVcx/R5w6NuTBzFiw==
+ dependencies:
+ restore-cursor "^2.0.0"
+
+cli-spinners@^2.0.0:
+ version "2.9.2"
+ resolved "https://registry.npmmirror.com/cli-spinners/-/cli-spinners-2.9.2.tgz#1773a8f4b9c4d6ac31563df53b3fc1d79462fe41"
+ integrity sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==
+
+cli-truncate@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.npmmirror.com/cli-truncate/-/cli-truncate-0.2.1.tgz#9f15cfbb0705005369216c626ac7d05ab90dd574"
+ integrity sha512-f4r4yJnbT++qUPI9NR4XLDLq41gQ+uqnPItWG0F5ZkehuNiTTa3EY0S4AqTSUOeJ7/zU41oWPQSNkW5BqPL9bg==
+ dependencies:
+ slice-ansi "0.0.4"
+ string-width "^1.0.1"
+
+cli-width@^2.0.0:
+ version "2.2.1"
+ resolved "https://registry.npmmirror.com/cli-width/-/cli-width-2.2.1.tgz#b0433d0b4e9c847ef18868a4ef16fd5fc8271c48"
+ integrity sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==
+
+clipboard@^2.0.4:
+ version "2.0.11"
+ resolved "https://registry.npmmirror.com/clipboard/-/clipboard-2.0.11.tgz#62180360b97dd668b6b3a84ec226975762a70be5"
+ integrity sha512-C+0bbOqkezLIsmWSvlsXS0Q0bmkugu7jcfMIACB+RDEntIzQIkdr148we28AfSloQLRdZlYL/QYyrq05j/3Faw==
+ dependencies:
+ good-listener "^1.2.2"
+ select "^1.1.2"
+ tiny-emitter "^2.0.0"
+
+clipboardy@^1.2.3:
+ version "1.2.3"
+ resolved "https://registry.npmmirror.com/clipboardy/-/clipboardy-1.2.3.tgz#0526361bf78724c1f20be248d428e365433c07ef"
+ integrity sha512-2WNImOvCRe6r63Gk9pShfkwXsVtKCroMAevIbiae021mS850UkWPbevxsBz3tnvjZIEGvlwaqCPsw+4ulzNgJA==
+ dependencies:
+ arch "^2.1.0"
+ execa "^0.8.0"
+
+cliui@^4.0.0, cliui@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.npmmirror.com/cliui/-/cliui-4.1.0.tgz#348422dbe82d800b3022eef4f6ac10bf2e4d1b49"
+ integrity sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==
+ dependencies:
+ string-width "^2.1.1"
+ strip-ansi "^4.0.0"
+ wrap-ansi "^2.0.0"
+
+cliui@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.npmmirror.com/cliui/-/cliui-5.0.0.tgz#deefcfdb2e800784aa34f46fa08e06851c7bbbc5"
+ integrity sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==
+ dependencies:
+ string-width "^3.1.0"
+ strip-ansi "^5.2.0"
+ wrap-ansi "^5.1.0"
+
+clone-deep@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.npmmirror.com/clone-deep/-/clone-deep-4.0.1.tgz#c19fd9bdbbf85942b4fd979c84dcf7d5f07c2387"
+ integrity sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==
+ dependencies:
+ is-plain-object "^2.0.4"
+ kind-of "^6.0.2"
+ shallow-clone "^3.0.0"
+
+clone-response@^1.0.2:
+ version "1.0.3"
+ resolved "https://registry.npmmirror.com/clone-response/-/clone-response-1.0.3.tgz#af2032aa47816399cf5f0a1d0db902f517abb8c3"
+ integrity sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA==
+ dependencies:
+ mimic-response "^1.0.0"
+
+clone@2.x, clone@^2.1.1:
+ version "2.1.2"
+ resolved "https://registry.npmmirror.com/clone/-/clone-2.1.2.tgz#1b7f4b9f591f1e8f83670401600345a02887435f"
+ integrity sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==
+
+clone@^1.0.2:
+ version "1.0.4"
+ resolved "https://registry.npmmirror.com/clone/-/clone-1.0.4.tgz#da309cc263df15994c688ca902179ca3c7cd7c7e"
+ integrity sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==
+
+co@^4.6.0:
+ version "4.6.0"
+ resolved "https://registry.npmmirror.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184"
+ integrity sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==
+
+coa@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.npmmirror.com/coa/-/coa-2.0.2.tgz#43f6c21151b4ef2bf57187db0d73de229e3e7ec3"
+ integrity sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==
+ dependencies:
+ "@types/q" "^1.5.1"
+ chalk "^2.4.1"
+ q "^1.1.2"
+
+code-point-at@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
+ integrity sha512-RpAVKQA5T63xEj6/giIbUEtZwJ4UFIc3ZtvEkiaUERylqe8xb5IvqcgOurZLahv93CLKfxcw5YI+DZcUBRyLXA==
+
+codepage@~1.14.0:
+ version "1.14.0"
+ resolved "https://registry.npmmirror.com/codepage/-/codepage-1.14.0.tgz#8cbe25481323559d7d307571b0fff91e7a1d2f99"
+ integrity sha512-iz3zJLhlrg37/gYRWgEPkaFTtzmnEv1h+r7NgZum2lFElYQPi0/5bnmuDfODHxfp0INEfnRqyfyeIJDbb7ahRw==
+ dependencies:
+ commander "~2.14.1"
+ exit-on-epipe "~1.0.1"
+
+collection-visit@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0"
+ integrity sha512-lNkKvzEeMBBjUGHZ+q6z9pSJla0KWAQPvtzhEV9+iGyQYG+pBpl7xKDhxoNSOZH2hhv0v5k0y2yAM4o4SjoSkw==
+ dependencies:
+ map-visit "^1.0.0"
+ object-visit "^1.0.0"
+
+color-convert@^1.9.0, color-convert@^1.9.3:
+ version "1.9.3"
+ resolved "https://registry.npmmirror.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
+ integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
+ dependencies:
+ color-name "1.1.3"
+
+color-convert@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.npmmirror.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
+ integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
+ dependencies:
+ color-name "~1.1.4"
+
+color-name@1.1.3:
+ version "1.1.3"
+ resolved "https://registry.npmmirror.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
+ integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==
+
+color-name@^1.0.0, color-name@~1.1.4:
+ version "1.1.4"
+ resolved "https://registry.npmmirror.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
+ integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
+
+color-string@^1.6.0:
+ version "1.9.1"
+ resolved "https://registry.npmmirror.com/color-string/-/color-string-1.9.1.tgz#4467f9146f036f855b764dfb5bf8582bf342c7a4"
+ integrity sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==
+ dependencies:
+ color-name "^1.0.0"
+ simple-swizzle "^0.2.2"
+
+color@^3.0.0:
+ version "3.2.1"
+ resolved "https://registry.npmmirror.com/color/-/color-3.2.1.tgz#3544dc198caf4490c3ecc9a790b54fe9ff45e164"
+ integrity sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==
+ dependencies:
+ color-convert "^1.9.3"
+ color-string "^1.6.0"
+
+combined-stream@^1.0.6, combined-stream@~1.0.6:
+ version "1.0.8"
+ resolved "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
+ integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
+ dependencies:
+ delayed-stream "~1.0.0"
+
+commander@*:
+ version "14.0.0"
+ resolved "https://registry.npmmirror.com/commander/-/commander-14.0.0.tgz#f244fc74a92343514e56229f16ef5c5e22ced5e9"
+ integrity sha512-2uM9rYjPvyq39NwLRqaiLtWHyDC1FvryJDa2ATTVims5YAS4PupsEQsDvP14FqhFr0P49CYDugi59xaxJlTXRA==
+
+commander@2.17.x, commander@~2.17.1:
+ version "2.17.1"
+ resolved "https://registry.npmmirror.com/commander/-/commander-2.17.1.tgz#bd77ab7de6de94205ceacc72f1716d29f20a77bf"
+ integrity sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==
+
+commander@^10.0.0:
+ version "10.0.1"
+ resolved "https://registry.npmmirror.com/commander/-/commander-10.0.1.tgz#881ee46b4f77d1c1dccc5823433aa39b022cbe06"
+ integrity sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==
+
+commander@^2.14.1, commander@^2.18.0, commander@^2.20.0, commander@^2.9.0:
+ version "2.20.3"
+ resolved "https://registry.npmmirror.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
+ integrity sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==
+
+commander@~2.14.1:
+ version "2.14.1"
+ resolved "https://registry.npmmirror.com/commander/-/commander-2.14.1.tgz#2235123e37af8ca3c65df45b026dbd357b01b9aa"
+ integrity sha512-+YR16o3rK53SmWHU3rEM3tPAh2rwb1yPcQX5irVn7mb0gXbwuCCrnkbV5+PBfETdfg1vui07nM6PCG1zndcjQw==
+
+commander@~2.19.0:
+ version "2.19.0"
+ resolved "https://registry.npmmirror.com/commander/-/commander-2.19.0.tgz#f6198aa84e5b83c46054b94ddedbfed5ee9ff12a"
+ integrity sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==
+
+commondir@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/commondir/-/commondir-1.0.1.tgz#ddd800da0c66127393cca5950ea968a3aaf1253b"
+ integrity sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==
+
+component-emitter@^1.2.1:
+ version "1.3.1"
+ resolved "https://registry.npmmirror.com/component-emitter/-/component-emitter-1.3.1.tgz#ef1d5796f7d93f135ee6fb684340b26403c97d17"
+ integrity sha512-T0+barUSQRTUQASh8bx02dl+DhF54GtIDY13Y3m9oWTklKbb3Wv974meRpeZ3lp1JpLVECWWNHC4vaG2XHXouQ==
+
+compressible@~2.0.18:
+ version "2.0.18"
+ resolved "https://registry.npmmirror.com/compressible/-/compressible-2.0.18.tgz#af53cca6b070d4c3c0750fbd77286a6d7cc46fba"
+ integrity sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==
+ dependencies:
+ mime-db ">= 1.43.0 < 2"
+
+compression@^1.7.4:
+ version "1.8.0"
+ resolved "https://registry.npmmirror.com/compression/-/compression-1.8.0.tgz#09420efc96e11a0f44f3a558de59e321364180f7"
+ integrity sha512-k6WLKfunuqCYD3t6AsuPGvQWaKwuLLh2/xHNcX4qE+vIfDNXpSqnrhwA7O53R7WVQUnt8dVAIW+YHr7xTgOgGA==
+ dependencies:
+ bytes "3.1.2"
+ compressible "~2.0.18"
+ debug "2.6.9"
+ negotiator "~0.6.4"
+ on-headers "~1.0.2"
+ safe-buffer "5.2.1"
+ vary "~1.1.2"
+
+concat-map@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.npmmirror.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
+ integrity sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==
+
+concat-stream@^1.5.0, concat-stream@^1.6.0:
+ version "1.6.2"
+ resolved "https://registry.npmmirror.com/concat-stream/-/concat-stream-1.6.2.tgz#904bdf194cd3122fc675c77fc4ac3d4ff0fd1a34"
+ integrity sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==
+ dependencies:
+ buffer-from "^1.0.0"
+ inherits "^2.0.3"
+ readable-stream "^2.2.2"
+ typedarray "^0.0.6"
+
+condense-newlines@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.npmmirror.com/condense-newlines/-/condense-newlines-0.2.1.tgz#3de985553139475d32502c83b02f60684d24c55f"
+ integrity sha512-P7X+QL9Hb9B/c8HI5BFFKmjgBu2XpQuF98WZ9XkO+dBGgk5XgwiQz7o1SmpglNWId3581UcS0SFAWfoIhMHPfg==
+ dependencies:
+ extend-shallow "^2.0.1"
+ is-whitespace "^0.3.0"
+ kind-of "^3.0.2"
+
+config-chain@^1.1.13:
+ version "1.1.13"
+ resolved "https://registry.npmmirror.com/config-chain/-/config-chain-1.1.13.tgz#fad0795aa6a6cdaff9ed1b68e9dff94372c232f4"
+ integrity sha512-qj+f8APARXHrM0hraqXYb2/bOVSV4PvJQlNZ/DVj0QrmNM2q2euizkeuVckQ57J+W0mRH6Hvi+k50M4Jul2VRQ==
+ dependencies:
+ ini "^1.3.4"
+ proto-list "~1.2.1"
+
+connect-history-api-fallback@^1.6.0:
+ version "1.6.0"
+ resolved "https://registry.npmmirror.com/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz#8b32089359308d111115d81cad3fceab888f97bc"
+ integrity sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==
+
+connect@3.6.6:
+ version "3.6.6"
+ resolved "https://registry.npmmirror.com/connect/-/connect-3.6.6.tgz#09eff6c55af7236e137135a72574858b6786f524"
+ integrity sha512-OO7axMmPpu/2XuX1+2Yrg0ddju31B6xLZMWkJ5rYBu4YRmRVlOjvlY6kw2FJKiAzyxGwnrDUAG4s1Pf0sbBMCQ==
+ dependencies:
+ debug "2.6.9"
+ finalhandler "1.1.0"
+ parseurl "~1.3.2"
+ utils-merge "1.0.1"
+
+console-browserify@^1.1.0:
+ version "1.2.0"
+ resolved "https://registry.npmmirror.com/console-browserify/-/console-browserify-1.2.0.tgz#67063cef57ceb6cf4993a2ab3a55840ae8c49336"
+ integrity sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==
+
+consolidate@^0.15.1:
+ version "0.15.1"
+ resolved "https://registry.npmmirror.com/consolidate/-/consolidate-0.15.1.tgz#21ab043235c71a07d45d9aad98593b0dba56bab7"
+ integrity sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==
+ dependencies:
+ bluebird "^3.1.1"
+
+constant-case@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/constant-case/-/constant-case-2.0.0.tgz#4175764d389d3fa9c8ecd29186ed6005243b6a46"
+ integrity sha512-eS0N9WwmjTqrOmR3o83F5vW8Z+9R1HnVz3xmzT2PMFug9ly+Au/fxRWlEBSb6LcZwspSsEn9Xs1uw9YgzAg1EQ==
+ dependencies:
+ snake-case "^2.1.0"
+ upper-case "^1.1.1"
+
+constants-browserify@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/constants-browserify/-/constants-browserify-1.0.0.tgz#c20b96d8c617748aaf1c16021760cd27fcb8cb75"
+ integrity sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==
+
+content-disposition@0.5.4:
+ version "0.5.4"
+ resolved "https://registry.npmmirror.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe"
+ integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==
+ dependencies:
+ safe-buffer "5.2.1"
+
+content-type@~1.0.4, content-type@~1.0.5:
+ version "1.0.5"
+ resolved "https://registry.npmmirror.com/content-type/-/content-type-1.0.5.tgz#8b773162656d1d1086784c8f23a54ce6d73d7918"
+ integrity sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==
+
+convert-source-map@^1.1.0, convert-source-map@^1.4.0, convert-source-map@^1.5.1:
+ version "1.9.0"
+ resolved "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-1.9.0.tgz#7faae62353fb4213366d0ca98358d22e8368b05f"
+ integrity sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==
+
+convert-source-map@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a"
+ integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==
+
+cookie-signature@1.0.6:
+ version "1.0.6"
+ resolved "https://registry.npmmirror.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
+ integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==
+
+cookie@0.7.1:
+ version "0.7.1"
+ resolved "https://registry.npmmirror.com/cookie/-/cookie-0.7.1.tgz#2f73c42142d5d5cf71310a74fc4ae61670e5dbc9"
+ integrity sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w==
+
+copy-concurrently@^1.0.0:
+ version "1.0.5"
+ resolved "https://registry.npmmirror.com/copy-concurrently/-/copy-concurrently-1.0.5.tgz#92297398cae34937fcafd6ec8139c18051f0b5e0"
+ integrity sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==
+ dependencies:
+ 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@^0.1.0:
+ version "0.1.1"
+ resolved "https://registry.npmmirror.com/copy-descriptor/-/copy-descriptor-0.1.1.tgz#676f6eb3c39997c2ee1ac3a924fd6124748f578d"
+ integrity sha512-XgZ0pFcakEUlbwQEVNg3+QAis1FyTL3Qel9FYy8pSkQqoG3PNoT0bOCQtOXcOkur21r2Eq2kI+IE+gsmAEVlYw==
+
+copy-text-to-clipboard@^3.0.1:
+ version "3.2.0"
+ resolved "https://registry.npmmirror.com/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz#0202b2d9bdae30a49a53f898626dcc3b49ad960b"
+ integrity sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==
+
+copy-webpack-plugin@^4.6.0:
+ version "4.6.0"
+ resolved "https://registry.npmmirror.com/copy-webpack-plugin/-/copy-webpack-plugin-4.6.0.tgz#e7f40dd8a68477d405dd1b7a854aae324b158bae"
+ integrity sha512-Y+SQCF+0NoWQryez2zXn5J5knmr9z/9qSQt7fbL78u83rxmigOy8X5+BFn8CFSuX+nKT8gpYwJX68ekqtQt6ZA==
+ dependencies:
+ 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"
+
+core-js-compat@^3.40.0:
+ version "3.43.0"
+ resolved "https://registry.npmmirror.com/core-js-compat/-/core-js-compat-3.43.0.tgz#055587369c458795ef316f65e0aabb808fb15840"
+ integrity sha512-2GML2ZsCc5LR7hZYz4AXmjQw8zuy2T//2QntwdnpuYI7jteT6GVYJL7F6C2C57R7gSYrcqVW3lAALefdbhBLDA==
+ dependencies:
+ browserslist "^4.25.0"
+
+core-js@^2.4.0, core-js@^2.4.1, core-js@^2.5.0, core-js@^2.5.7, core-js@^2.6.11, core-js@^2.6.12, core-js@^2.6.5:
+ version "2.6.12"
+ resolved "https://registry.npmmirror.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec"
+ integrity sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==
+
+core-js@^3.11.0, core-js@^3.4.4:
+ version "3.43.0"
+ resolved "https://registry.npmmirror.com/core-js/-/core-js-3.43.0.tgz#f7258b156523208167df35dea0cfd6b6ecd4ee88"
+ integrity sha512-N6wEbTTZSYOY2rYAn85CuvWWkCK6QweMn7/4Nr3w+gDBeBhk/x4EJeY6FPo4QzDoJZxVTv8U7CMvgWk6pOHHqA==
+
+core-util-is@1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7"
+ integrity sha512-3lqz5YjWTYnW6dlDa5TLaTCcShfar1e40rmcJVwCBJC6mWlFuj0eCHIElmG1g5kyuJ/GD+8Wn4FFCcz4gJPfaQ==
+
+core-util-is@~1.0.0:
+ version "1.0.3"
+ resolved "https://registry.npmmirror.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85"
+ integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==
+
+cosmiconfig@^5.0.0, cosmiconfig@^5.0.2, cosmiconfig@^5.0.7:
+ version "5.2.1"
+ resolved "https://registry.npmmirror.com/cosmiconfig/-/cosmiconfig-5.2.1.tgz#040f726809c591e77a17c0a3626ca45b4f168b1a"
+ integrity sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==
+ dependencies:
+ import-fresh "^2.0.0"
+ is-directory "^0.3.1"
+ js-yaml "^3.13.1"
+ parse-json "^4.0.0"
+
+crc-32@~1.2.0:
+ version "1.2.2"
+ resolved "https://registry.npmmirror.com/crc-32/-/crc-32-1.2.2.tgz#3cad35a934b8bf71f25ca524b6da51fb7eace2ff"
+ integrity sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ==
+
+create-ecdh@^4.0.4:
+ version "4.0.4"
+ resolved "https://registry.npmmirror.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e"
+ integrity sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==
+ dependencies:
+ bn.js "^4.1.0"
+ elliptic "^6.5.3"
+
+create-hash@^1.1.0, create-hash@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.npmmirror.com/create-hash/-/create-hash-1.2.0.tgz#889078af11a63756bcfb59bd221996be3a9ef196"
+ integrity sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==
+ dependencies:
+ cipher-base "^1.0.1"
+ inherits "^2.0.1"
+ md5.js "^1.3.4"
+ ripemd160 "^2.0.1"
+ sha.js "^2.4.0"
+
+create-hash@~1.1.3:
+ version "1.1.3"
+ resolved "https://registry.npmmirror.com/create-hash/-/create-hash-1.1.3.tgz#606042ac8b9262750f483caddab0f5819172d8fd"
+ integrity sha512-snRpch/kwQhcdlnZKYanNF1m0RDlrCdSKQaH87w1FCFPVPNCQ/Il9QJKAX2jVBZddRdaHBMC+zXa9Gw9tmkNUA==
+ dependencies:
+ cipher-base "^1.0.1"
+ inherits "^2.0.1"
+ ripemd160 "^2.0.0"
+ sha.js "^2.4.0"
+
+create-hmac@^1.1.7:
+ version "1.1.7"
+ resolved "https://registry.npmmirror.com/create-hmac/-/create-hmac-1.1.7.tgz#69170c78b3ab957147b2b8b04572e47ead2243ff"
+ integrity sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==
+ dependencies:
+ 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-spawn@^5.0.1, cross-spawn@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-5.1.0.tgz#e8bd0efee58fcff6f8f94510a0a554bbfa235449"
+ integrity sha512-pTgQJ5KC0d2hcY8eyL1IzlBPYjTkyH72XRZPnLyKus2mBfNjQs3klqbJU2VILqZryAZUt9JOb3h/mWMy23/f5A==
+ dependencies:
+ lru-cache "^4.0.1"
+ shebang-command "^1.2.0"
+ which "^1.2.9"
+
+cross-spawn@^6.0.0, cross-spawn@^6.0.5:
+ version "6.0.6"
+ resolved "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-6.0.6.tgz#30d0efa0712ddb7eb5a76e1e8721bffafa6b5d57"
+ integrity sha512-VqCUuhcd1iB+dsv8gxPttb5iZh/D0iubSP21g36KXdEuf6I5JiioesUVjpCdHV9MZRUfVFlvwtIUyPfxo5trtw==
+ dependencies:
+ nice-try "^1.0.4"
+ path-key "^2.0.1"
+ semver "^5.5.0"
+ shebang-command "^1.2.0"
+ which "^1.2.9"
+
+cross-spawn@^7.0.6:
+ version "7.0.6"
+ resolved "https://registry.npmmirror.com/cross-spawn/-/cross-spawn-7.0.6.tgz#8a58fe78f00dcd70c370451759dfbfaf03e8ee9f"
+ integrity sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==
+ dependencies:
+ path-key "^3.1.0"
+ shebang-command "^2.0.0"
+ which "^2.0.1"
+
+crypto-browserify@^3.11.0:
+ version "3.12.1"
+ resolved "https://registry.npmmirror.com/crypto-browserify/-/crypto-browserify-3.12.1.tgz#bb8921bec9acc81633379aa8f52d69b0b69e0dac"
+ integrity sha512-r4ESw/IlusD17lgQi1O20Fa3qNnsckR126TdUuBgAu7GBYSIPvdNyONd3Zrxh0xCwA4+6w/TDArBPsMvhur+KQ==
+ dependencies:
+ browserify-cipher "^1.0.1"
+ browserify-sign "^4.2.3"
+ create-ecdh "^4.0.4"
+ create-hash "^1.2.0"
+ create-hmac "^1.1.7"
+ diffie-hellman "^5.0.3"
+ hash-base "~3.0.4"
+ inherits "^2.0.4"
+ pbkdf2 "^3.1.2"
+ public-encrypt "^4.0.3"
+ randombytes "^2.1.0"
+ randomfill "^1.0.4"
+
+crypto-js@^4.1.1:
+ version "4.2.0"
+ resolved "https://registry.npmmirror.com/crypto-js/-/crypto-js-4.2.0.tgz#4d931639ecdfd12ff80e8186dba6af2c2e856631"
+ integrity sha512-KALDyEYgpY+Rlob/iriUtjV6d5Eq+Y191A5g4UqLAi8CyGP9N1+FdVbkc1SxKc2r4YAYqG8JzO2KGL+AizD70Q==
+
+css-color-names@0.0.4, css-color-names@^0.0.4:
+ version "0.0.4"
+ resolved "https://registry.npmmirror.com/css-color-names/-/css-color-names-0.0.4.tgz#808adc2e79cf84738069b646cb20ec27beb629e0"
+ integrity sha512-zj5D7X1U2h2zsXOAM8EyUREBnnts6H+Jm+d1M2DbiQQcUtnqgQsMrdo8JW9R80YFUmIdBZeMu5wvYM7hcgWP/Q==
+
+css-declaration-sorter@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.npmmirror.com/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz#c198940f63a76d7e36c1e71018b001721054cb22"
+ integrity sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==
+ dependencies:
+ postcss "^7.0.1"
+ timsort "^0.3.0"
+
+css-loader@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/css-loader/-/css-loader-1.0.1.tgz#6885bb5233b35ec47b006057da01cc640b6b79fe"
+ integrity sha512-+ZHAZm/yqvJ2kDtPne3uX0C+Vr3Zn5jFn2N4HywtS5ujwvsVkyg0VArEXpl3BgczDA8anieki1FIzhchX4yrDw==
+ dependencies:
+ 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"
+
+css-select-base-adapter@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.npmmirror.com/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz#3b2ff4972cc362ab88561507a95408a1432135d7"
+ integrity sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==
+
+css-select@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.npmmirror.com/css-select/-/css-select-2.1.0.tgz#6a34653356635934a81baca68d0255432105dbef"
+ integrity sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==
+ dependencies:
+ boolbase "^1.0.0"
+ css-what "^3.2.1"
+ domutils "^1.7.0"
+ nth-check "^1.0.2"
+
+css-select@^4.1.3:
+ version "4.3.0"
+ resolved "https://registry.npmmirror.com/css-select/-/css-select-4.3.0.tgz#db7129b2846662fd8628cfc496abb2b59e41529b"
+ integrity sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==
+ dependencies:
+ boolbase "^1.0.0"
+ css-what "^6.0.1"
+ domhandler "^4.3.1"
+ domutils "^2.8.0"
+ nth-check "^2.0.1"
+
+css-selector-tokenizer@^0.7.0:
+ version "0.7.3"
+ resolved "https://registry.npmmirror.com/css-selector-tokenizer/-/css-selector-tokenizer-0.7.3.tgz#735f26186e67c749aaf275783405cf0661fae8f1"
+ integrity sha512-jWQv3oCEL5kMErj4wRnK/OPoBi0D+P1FR2cDCKYPaMeD2eW3/mttav8HT4hT1CKopiJI/psEULjkClhvJo4Lvg==
+ dependencies:
+ cssesc "^3.0.0"
+ fastparse "^1.1.2"
+
+css-tree@1.0.0-alpha.28:
+ version "1.0.0-alpha.28"
+ resolved "https://registry.npmmirror.com/css-tree/-/css-tree-1.0.0-alpha.28.tgz#8e8968190d886c9477bc8d61e96f61af3f7ffa7f"
+ integrity sha512-joNNW1gCp3qFFzj4St6zk+Wh/NBv0vM5YbEreZk0SD4S23S+1xBKb6cLDg2uj4P4k/GUMlIm6cKIDqIG+vdt0w==
+ dependencies:
+ mdn-data "~1.1.0"
+ source-map "^0.5.3"
+
+css-tree@1.0.0-alpha.29:
+ version "1.0.0-alpha.29"
+ resolved "https://registry.npmmirror.com/css-tree/-/css-tree-1.0.0-alpha.29.tgz#3fa9d4ef3142cbd1c301e7664c1f352bd82f5a39"
+ integrity sha512-sRNb1XydwkW9IOci6iB2xmy8IGCj6r/fr+JWitvJ2JxQRPzN3T4AGGVWCMlVmVwM1gtgALJRmGIlWv5ppnGGkg==
+ dependencies:
+ mdn-data "~1.1.0"
+ source-map "^0.5.3"
+
+css-tree@1.0.0-alpha.37:
+ version "1.0.0-alpha.37"
+ resolved "https://registry.npmmirror.com/css-tree/-/css-tree-1.0.0-alpha.37.tgz#98bebd62c4c1d9f960ec340cf9f7522e30709a22"
+ integrity sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==
+ dependencies:
+ mdn-data "2.0.4"
+ source-map "^0.6.1"
+
+css-tree@^1.1.2:
+ version "1.1.3"
+ resolved "https://registry.npmmirror.com/css-tree/-/css-tree-1.1.3.tgz#eb4870fb6fd7707327ec95c2ff2ab09b5e8db91d"
+ integrity sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==
+ dependencies:
+ mdn-data "2.0.14"
+ source-map "^0.6.1"
+
+css-url-regex@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/css-url-regex/-/css-url-regex-1.1.0.tgz#83834230cc9f74c457de59eebd1543feeb83b7ec"
+ integrity sha512-hLKuvifwoKvwqpctblTp0BovBuOXzxof8JgkA8zeqxxL+vcynHQjtIqqlFfQI1gEAZAjbqKm9gFTa88fxTAX4g==
+
+css-what@^3.2.1:
+ version "3.4.2"
+ resolved "https://registry.npmmirror.com/css-what/-/css-what-3.4.2.tgz#ea7026fcb01777edbde52124e21f327e7ae950e4"
+ integrity sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==
+
+css-what@^6.0.1:
+ version "6.2.2"
+ resolved "https://registry.npmmirror.com/css-what/-/css-what-6.2.2.tgz#cdcc8f9b6977719fdfbd1de7aec24abf756b9dea"
+ integrity sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==
+
+css@^2.1.0:
+ version "2.2.4"
+ resolved "https://registry.npmmirror.com/css/-/css-2.2.4.tgz#c646755c73971f2bba6a601e2cf2fd71b1298929"
+ integrity sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==
+ dependencies:
+ inherits "^2.0.3"
+ source-map "^0.6.1"
+ source-map-resolve "^0.5.2"
+ urix "^0.1.0"
+
+cssesc@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/cssesc/-/cssesc-2.0.0.tgz#3b13bd1bb1cb36e1bcb5a4dcd27f54c5dcb35703"
+ integrity sha512-MsCAG1z9lPdoO/IUMLSBWBSVxVtJ1395VGIQ+Fc2gNdkQ1hNDnQdw3YhA71WJCBW1vdwA0cAnk/DnW6bqoEUYg==
+
+cssesc@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmmirror.com/cssesc/-/cssesc-3.0.0.tgz#37741919903b868565e1c09ea747445cd18983ee"
+ integrity sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==
+
+cssnano-preset-default@^4.0.0, cssnano-preset-default@^4.0.8:
+ version "4.0.8"
+ resolved "https://registry.npmmirror.com/cssnano-preset-default/-/cssnano-preset-default-4.0.8.tgz#920622b1fc1e95a34e8838203f1397a504f2d3ff"
+ integrity sha512-LdAyHuq+VRyeVREFmuxUZR1TXjQm8QQU/ktoo/x7bz+SdOge1YKc5eMN6pRW7YWBmyq59CqYba1dJ5cUukEjLQ==
+ dependencies:
+ 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.3"
+ postcss-unique-selectors "^4.0.1"
+
+cssnano-util-get-arguments@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npmmirror.com/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz#ed3a08299f21d75741b20f3b81f194ed49cc150f"
+ integrity sha512-6RIcwmV3/cBMG8Aj5gucQRsJb4vv4I4rn6YjPbVWd5+Pn/fuG+YseGvXGk00XLkoZkaj31QOD7vMUpNPC4FIuw==
+
+cssnano-util-get-match@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npmmirror.com/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz#c0e4ca07f5386bb17ec5e52250b4f5961365156d"
+ integrity sha512-JPMZ1TSMRUPVIqEalIBNoBtAYbi8okvcFns4O0YIhcdGebeYZK7dMyHJiQ6GqNBA9kE0Hym4Aqym5rPdsV/4Cw==
+
+cssnano-util-raw-cache@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.npmmirror.com/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz#b26d5fd5f72a11dfe7a7846fb4c67260f96bf282"
+ integrity sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==
+ dependencies:
+ postcss "^7.0.0"
+
+cssnano-util-same-parent@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.npmmirror.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3"
+ integrity sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==
+
+cssnano@^4.0.0, cssnano@^4.1.10:
+ version "4.1.11"
+ resolved "https://registry.npmmirror.com/cssnano/-/cssnano-4.1.11.tgz#c7b5f5b81da269cb1fd982cb960c1200910c9a99"
+ integrity sha512-6gZm2htn7xIPJOHY824ERgj8cNPgPxyCSnkXc4v7YvNW+TdVfzgngHcEhy/8D11kUWRUMbke+tC+AUcUsnMz2g==
+ dependencies:
+ cosmiconfig "^5.0.0"
+ cssnano-preset-default "^4.0.8"
+ is-resolvable "^1.0.0"
+ postcss "^7.0.0"
+
+csso@^3.5.1:
+ version "3.5.1"
+ resolved "https://registry.npmmirror.com/csso/-/csso-3.5.1.tgz#7b9eb8be61628973c1b261e169d2f024008e758b"
+ integrity sha512-vrqULLffYU1Q2tLdJvaCYbONStnfkfimRxXNaGjxMldI0C7JPBC4rB1RyjhfdZ4m1frm8pM9uRPKH3d2knZ8gg==
+ dependencies:
+ css-tree "1.0.0-alpha.29"
+
+csso@^4.0.2:
+ version "4.2.0"
+ resolved "https://registry.npmmirror.com/csso/-/csso-4.2.0.tgz#ea3a561346e8dc9f546d6febedd50187cf389529"
+ integrity sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==
+ dependencies:
+ css-tree "^1.1.2"
+
+cssom@0.3.x, "cssom@>= 0.3.2 < 0.4.0":
+ version "0.3.8"
+ resolved "https://registry.npmmirror.com/cssom/-/cssom-0.3.8.tgz#9f1276f5b2b463f2114d3f2c75250af8c1a36f4a"
+ integrity sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==
+
+cssstyle@^1.0.0:
+ version "1.4.0"
+ resolved "https://registry.npmmirror.com/cssstyle/-/cssstyle-1.4.0.tgz#9d31328229d3c565c61e586b02041a28fccdccf1"
+ integrity sha512-GBrLZYZ4X4x6/QEoBnIrqb8B/f5l4+8me2dkom/j1Gtbxy0kBv6OGzKuAsGM75bkGwGAFkt56Iwg28S3XTZgSA==
+ dependencies:
+ cssom "0.3.x"
+
+csstype@^3.1.0:
+ version "3.1.3"
+ resolved "https://registry.npmmirror.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81"
+ integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==
+
+cyclist@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.npmmirror.com/cyclist/-/cyclist-1.0.2.tgz#673b5f233bf34d8e602b949429f8171d9121bea3"
+ integrity sha512-0sVXIohTfLqVIW3kb/0n6IiWF3Ifj5nm2XaSrLq2DI6fKIGa2fYAZdk917rUneaeLVpYfFcyXE2ft0fe3remsA==
+
+dashdash@^1.12.0:
+ version "1.14.1"
+ resolved "https://registry.npmmirror.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0"
+ integrity sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==
+ dependencies:
+ assert-plus "^1.0.0"
+
+data-urls@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/data-urls/-/data-urls-1.1.0.tgz#15ee0582baa5e22bb59c77140da8f9c76963bbfe"
+ integrity sha512-YTWYI9se1P55u58gL5GkQHW4P6VJBJ5iBT+B5a7i2Tjadhv52paJG0qHX4A0OR6/t52odI64KP2YvFpkDOi3eQ==
+ dependencies:
+ abab "^2.0.0"
+ whatwg-mimetype "^2.2.0"
+ whatwg-url "^7.0.0"
+
+data-view-buffer@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npmmirror.com/data-view-buffer/-/data-view-buffer-1.0.2.tgz#211a03ba95ecaf7798a8c7198d79536211f88570"
+ integrity sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==
+ dependencies:
+ call-bound "^1.0.3"
+ es-errors "^1.3.0"
+ is-data-view "^1.0.2"
+
+data-view-byte-length@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npmmirror.com/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz#9e80f7ca52453ce3e93d25a35318767ea7704735"
+ integrity sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==
+ dependencies:
+ call-bound "^1.0.3"
+ es-errors "^1.3.0"
+ is-data-view "^1.0.2"
+
+data-view-byte-offset@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz#068307f9b71ab76dbbe10291389e020856606191"
+ integrity sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==
+ dependencies:
+ call-bound "^1.0.2"
+ es-errors "^1.3.0"
+ is-data-view "^1.0.1"
+
+date-fns@2.9.0:
+ version "2.9.0"
+ resolved "https://registry.npmmirror.com/date-fns/-/date-fns-2.9.0.tgz#d0b175a5c37ed5f17b97e2272bbc1fa5aec677d2"
+ integrity sha512-khbFLu/MlzLjEzy9Gh8oY1hNt/Dvxw3J6Rbc28cVoYWQaC1S3YI4xwkF9ZWcjDLscbZlY9hISMr66RFzZagLsA==
+
+date-fns@^1.27.2:
+ version "1.30.1"
+ resolved "https://registry.npmmirror.com/date-fns/-/date-fns-1.30.1.tgz#2e71bf0b119153dbb4cc4e88d9ea5acfb50dc05c"
+ integrity sha512-hBSVCvSmWC+QypYObzwGOd9wqdDpOt+0wl0KbU+R+uuZBS1jN8VsD1ss3irQDknRj5NvxiTF6oj/nDRnN/UQNw==
+
+de-indent@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npmmirror.com/de-indent/-/de-indent-1.0.2.tgz#b2038e846dc33baa5796128d0804b455b8c1e21d"
+ integrity sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==
+
+deasync@^0.1.15:
+ version "0.1.30"
+ resolved "https://registry.npmmirror.com/deasync/-/deasync-0.1.30.tgz#b0e5445e533fc116b25b21001d2b8e2b6d60b6d3"
+ integrity sha512-OaAjvEQuQ9tJsKG4oHO9nV1UHTwb2Qc2+fadB0VeVtD0Z9wiG1XPGLJ4W3aLhAoQSYTaLROFRbd5X20Dkzf7MQ==
+ dependencies:
+ bindings "^1.5.0"
+ node-addon-api "^1.7.1"
+
+debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8, debug@^2.6.9:
+ version "2.6.9"
+ resolved "https://registry.npmmirror.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
+ integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
+ dependencies:
+ ms "2.0.0"
+
+debug@3.1.0:
+ version "3.1.0"
+ resolved "https://registry.npmmirror.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
+ integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==
+ dependencies:
+ ms "2.0.0"
+
+debug@4.1.1:
+ version "4.1.1"
+ resolved "https://registry.npmmirror.com/debug/-/debug-4.1.1.tgz#3b72260255109c6b589cee050f1d516139664791"
+ integrity sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==
+ dependencies:
+ ms "^2.1.1"
+
+debug@^3.1.0, debug@^3.2.7:
+ version "3.2.7"
+ resolved "https://registry.npmmirror.com/debug/-/debug-3.2.7.tgz#72580b7e9145fb39b6676f9c5e5fb100b934179a"
+ integrity sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==
+ dependencies:
+ ms "^2.1.1"
+
+debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.6, debug@^4.4.1:
+ version "4.4.1"
+ resolved "https://registry.npmmirror.com/debug/-/debug-4.4.1.tgz#e5a8bc6cbc4c6cd3e64308b0693a3d4fa550189b"
+ integrity sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==
+ dependencies:
+ ms "^2.1.3"
+
+decamelize@^1.1.1, decamelize@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.npmmirror.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
+ integrity sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==
+
+decode-uri-component@^0.2.0:
+ version "0.2.2"
+ resolved "https://registry.npmmirror.com/decode-uri-component/-/decode-uri-component-0.2.2.tgz#e69dbe25d37941171dd540e024c444cd5188e1e9"
+ integrity sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==
+
+decompress-response@^3.3.0:
+ version "3.3.0"
+ resolved "https://registry.npmmirror.com/decompress-response/-/decompress-response-3.3.0.tgz#80a4dd323748384bfa248083622aedec982adff3"
+ integrity sha512-BzRPQuY1ip+qDonAOz42gRm/pg9F768C+npV/4JOsxRC2sq+Rlk+Q4ZCAsOhnIaMrgarILY+RMUIvMmmX1qAEA==
+ dependencies:
+ mimic-response "^1.0.0"
+
+dedent@^0.7.0:
+ version "0.7.0"
+ resolved "https://registry.npmmirror.com/dedent/-/dedent-0.7.0.tgz#2495ddbaf6eb874abb0e1be9df22d2e5a544326c"
+ integrity sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==
+
+deep-equal@^1.0.1:
+ version "1.1.2"
+ resolved "https://registry.npmmirror.com/deep-equal/-/deep-equal-1.1.2.tgz#78a561b7830eef3134c7f6f3a3d6af272a678761"
+ integrity sha512-5tdhKF6DbU7iIzrIOa1AOUt39ZRm13cmL1cGEh//aqR8x9+tNfbywRf0n5FD/18OKMdo7DNEtrX2t22ZAkI+eg==
+ dependencies:
+ is-arguments "^1.1.1"
+ is-date-object "^1.0.5"
+ is-regex "^1.1.4"
+ object-is "^1.1.5"
+ object-keys "^1.1.1"
+ regexp.prototype.flags "^1.5.1"
+
+deep-is@~0.1.3:
+ version "0.1.4"
+ resolved "https://registry.npmmirror.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831"
+ integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
+
+deepmerge@1.3.2:
+ version "1.3.2"
+ resolved "https://registry.npmmirror.com/deepmerge/-/deepmerge-1.3.2.tgz#1663691629d4dbfe364fa12a2a4f0aa86aa3a050"
+ integrity sha512-qjMjTrk+RKv/sp4RPDpV5CnKhxjFI9p+GkLBOls5A8EEElldYWCWA9zceAkmfd0xIo2aU1nxiaLFoiya2sb6Cg==
+
+deepmerge@^1.2.0, deepmerge@^1.5.2:
+ version "1.5.2"
+ resolved "https://registry.npmmirror.com/deepmerge/-/deepmerge-1.5.2.tgz#10499d868844cdad4fee0842df8c7f6f0c95a753"
+ integrity sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==
+
+default-gateway@^4.2.0:
+ version "4.2.0"
+ resolved "https://registry.npmmirror.com/default-gateway/-/default-gateway-4.2.0.tgz#167104c7500c2115f6dd69b0a536bb8ed720552b"
+ integrity sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==
+ dependencies:
+ execa "^1.0.0"
+ ip-regex "^2.1.0"
+
+default-require-extensions@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/default-require-extensions/-/default-require-extensions-1.0.0.tgz#f37ea15d3e13ffd9b437d33e1a75b5fb97874cb8"
+ integrity sha512-Dn2eAftOqXhNXs5f/Xjn7QTZ6kDYkx7u0EXQInN1oyYwsZysu11q7oTtaKcbzLxZRJiDHa8VmwpWmb4lY5FqgA==
+ dependencies:
+ strip-bom "^2.0.0"
+
+defaults@^1.0.3:
+ version "1.0.4"
+ resolved "https://registry.npmmirror.com/defaults/-/defaults-1.0.4.tgz#b0b02062c1e2aa62ff5d9528f0f98baa90978d7a"
+ integrity sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==
+ dependencies:
+ clone "^1.0.2"
+
+defer-to-connect@^1.0.1:
+ version "1.1.3"
+ resolved "https://registry.npmmirror.com/defer-to-connect/-/defer-to-connect-1.1.3.tgz#331ae050c08dcf789f8c83a7b81f0ed94f4ac591"
+ integrity sha512-0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==
+
+define-data-property@^1.0.1, define-data-property@^1.1.4:
+ version "1.1.4"
+ resolved "https://registry.npmmirror.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e"
+ integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==
+ dependencies:
+ es-define-property "^1.0.0"
+ es-errors "^1.3.0"
+ gopd "^1.0.1"
+
+define-properties@^1.1.2, define-properties@^1.1.3, define-properties@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.npmmirror.com/define-properties/-/define-properties-1.2.1.tgz#10781cc616eb951a80a034bafcaa7377f6af2b6c"
+ integrity sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==
+ dependencies:
+ define-data-property "^1.0.1"
+ has-property-descriptors "^1.0.0"
+ object-keys "^1.1.1"
+
+define-property@^0.2.5:
+ version "0.2.5"
+ resolved "https://registry.npmmirror.com/define-property/-/define-property-0.2.5.tgz#c35b1ef918ec3c990f9a5bc57be04aacec5c8116"
+ integrity sha512-Rr7ADjQZenceVOAKop6ALkkRAmH1A4Gx9hV/7ZujPUN2rkATqFO0JZLZInbAjpZYoJ1gUx8MRMQVkYemcbMSTA==
+ dependencies:
+ is-descriptor "^0.1.0"
+
+define-property@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/define-property/-/define-property-1.0.0.tgz#769ebaaf3f4a63aad3af9e8d304c9bbe79bfb0e6"
+ integrity sha512-cZTYKFWspt9jZsMscWo8sc/5lbPC9Q0N5nBLgb+Yd915iL3udB1uFgS3B8YCx66UVHq018DAVFoee7x+gxggeA==
+ dependencies:
+ is-descriptor "^1.0.0"
+
+define-property@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.npmmirror.com/define-property/-/define-property-2.0.2.tgz#d459689e8d654ba77e02a817f8710d702cb16e9d"
+ integrity sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==
+ dependencies:
+ is-descriptor "^1.0.2"
+ isobject "^3.0.1"
+
+del@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmmirror.com/del/-/del-3.0.0.tgz#53ecf699ffcbcb39637691ab13baf160819766e5"
+ integrity sha512-7yjqSoVSlJzA4t/VUwazuEagGeANEKB3f/aNI//06pfKgwoCb7f6Q1gETN1sZzYaj6chTQ0AhIwDiPdfOjko4A==
+ dependencies:
+ 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"
+
+del@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.npmmirror.com/del/-/del-4.1.1.tgz#9e8f117222ea44a31ff3a156c049b99052a9f0b4"
+ integrity sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==
+ dependencies:
+ "@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"
+
+delayed-stream@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
+ integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
+
+delegate@^3.1.2:
+ version "3.2.0"
+ resolved "https://registry.npmmirror.com/delegate/-/delegate-3.2.0.tgz#b66b71c3158522e8ab5744f720d8ca0c2af59166"
+ integrity sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==
+
+denque@^1.4.1:
+ version "1.5.1"
+ resolved "https://registry.npmmirror.com/denque/-/denque-1.5.1.tgz#07f670e29c9a78f8faecb2566a1e2c11929c5cbf"
+ integrity sha512-XwE+iZ4D6ZUB7mfYRMb5wByE8L74HCn30FBN7sWnXksWc1LO1bPDl67pBR9o/kC4z/xSNAwkMYcGgqDV3BE3Hw==
+
+depd@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df"
+ integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
+
+depd@~1.1.2:
+ version "1.1.2"
+ resolved "https://registry.npmmirror.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"
+ integrity sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==
+
+des.js@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/des.js/-/des.js-1.1.0.tgz#1d37f5766f3bbff4ee9638e871a8768c173b81da"
+ integrity sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg==
+ dependencies:
+ inherits "^2.0.1"
+ minimalistic-assert "^1.0.0"
+
+destroy@1.2.0:
+ version "1.2.0"
+ resolved "https://registry.npmmirror.com/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015"
+ integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==
+
+detect-file@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/detect-file/-/detect-file-1.0.0.tgz#f0d66d03672a825cb1b73bdb3fe62310c8e552b7"
+ integrity sha512-DtCOLG98P007x7wiiOmfI0fi3eIKyWiLTGJ2MDnVi/E04lWGbf+JzrRHMm0rgIIZJGtHpKpbVgLWHrv8xXpc3Q==
+
+detect-indent@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npmmirror.com/detect-indent/-/detect-indent-4.0.0.tgz#f76d064352cdf43a1cb6ce619c4ee3a9475de208"
+ integrity sha512-BDKtmHlOzwI7iRuEkhzsnPoi5ypEhWAJB5RvHWe1kMr06js3uK5B3734i3ui5Yd+wOJV1cpE4JnivPD283GU/A==
+ dependencies:
+ repeating "^2.0.0"
+
+detect-newline@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npmmirror.com/detect-newline/-/detect-newline-2.1.0.tgz#f41f1c10be4b00e87b5f13da680759f2c5bfd3e2"
+ integrity sha512-CwffZFvlJffUg9zZA0uqrjQayUTC8ob94pnr5sFwaVv3IOmkfUHcWH+jXaQK3askE51Cqe8/9Ql/0uXNwqZ8Zg==
+
+detect-node@^2.0.4:
+ version "2.1.0"
+ resolved "https://registry.npmmirror.com/detect-node/-/detect-node-2.1.0.tgz#c9c70775a49c3d03bc2c06d9a73be550f978f8b1"
+ integrity sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==
+
+diff@^3.2.0:
+ version "3.5.0"
+ resolved "https://registry.npmmirror.com/diff/-/diff-3.5.0.tgz#800c0dd1e0a8bfbc95835c202ad220fe317e5a12"
+ integrity sha512-A46qtFgd+g7pDZinpnwiRJtxbC1hpgf0uzP3iG89scHk0AUC7A1TGxf5OiiOUv/JMZR8GOt8hL900hV0bOy5xA==
+
+diffie-hellman@^5.0.3:
+ version "5.0.3"
+ resolved "https://registry.npmmirror.com/diffie-hellman/-/diffie-hellman-5.0.3.tgz#40e8ee98f55a2149607146921c63e1ae5f3d2875"
+ integrity sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==
+ dependencies:
+ bn.js "^4.1.0"
+ miller-rabin "^4.0.0"
+ randombytes "^2.0.0"
+
+dir-glob@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/dir-glob/-/dir-glob-2.0.0.tgz#0b205d2b6aef98238ca286598a8204d29d0a0034"
+ integrity sha512-37qirFDz8cA5fimp9feo43fSuRo2gHwaIn6dXL8Ber1dGwUosDrGZeCCXq57WnIqE4aQ+u3eQZzsk1yOzhdwag==
+ dependencies:
+ arrify "^1.0.1"
+ path-type "^3.0.0"
+
+dir-glob@^2.0.0, dir-glob@^2.2.2:
+ version "2.2.2"
+ resolved "https://registry.npmmirror.com/dir-glob/-/dir-glob-2.2.2.tgz#fa09f0694153c8918b18ba0deafae94769fc50c4"
+ integrity sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==
+ dependencies:
+ path-type "^3.0.0"
+
+dns-equal@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/dns-equal/-/dns-equal-1.0.0.tgz#b39e7f1da6eb0a75ba9c17324b34753c47e0654d"
+ integrity sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==
+
+dns-packet@^1.3.1:
+ version "1.3.4"
+ resolved "https://registry.npmmirror.com/dns-packet/-/dns-packet-1.3.4.tgz#e3455065824a2507ba886c55a89963bb107dec6f"
+ integrity sha512-BQ6F4vycLXBvdrJZ6S3gZewt6rcrks9KBgM9vrhW+knGRqc8uEdT7fuCwloc7nny5xNoMJ17HGH0R/6fpo8ECA==
+ dependencies:
+ ip "^1.1.0"
+ safe-buffer "^5.0.1"
+
+dns-txt@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.npmmirror.com/dns-txt/-/dns-txt-2.0.2.tgz#b91d806f5d27188e4ab3e7d107d881a1cc4642b6"
+ integrity sha512-Ix5PrWjphuSoUXV/Zv5gaFHjnaJtb02F2+Si3Ht9dyJ87+Z/lMmy+dpNHtTGraNK958ndXq2i+GLkWsWHcKaBQ==
+ dependencies:
+ buffer-indexof "^1.0.0"
+
+doctrine@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npmmirror.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d"
+ integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==
+ dependencies:
+ esutils "^2.0.2"
+
+doctrine@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmmirror.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"
+ integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==
+ dependencies:
+ esutils "^2.0.2"
+
+dom-converter@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.npmmirror.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768"
+ integrity sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==
+ dependencies:
+ utila "~0.4"
+
+dom-event-types@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/dom-event-types/-/dom-event-types-1.1.0.tgz#120c1f92ddea7758db1ccee0a100a33c39f4701b"
+ integrity sha512-jNCX+uNJ3v38BKvPbpki6j5ItVlnSqVV6vDWGS6rExzCMjsc39frLjm1n91o6YaKK6AZl0wLloItW6C6mr61BQ==
+
+dom-serializer@0:
+ version "0.2.2"
+ resolved "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51"
+ integrity sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==
+ dependencies:
+ domelementtype "^2.0.1"
+ entities "^2.0.0"
+
+dom-serializer@^1.0.1:
+ version "1.4.1"
+ resolved "https://registry.npmmirror.com/dom-serializer/-/dom-serializer-1.4.1.tgz#de5d41b1aea290215dc45a6dae8adcf1d32e2d30"
+ integrity sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==
+ dependencies:
+ domelementtype "^2.0.1"
+ domhandler "^4.2.0"
+ entities "^2.0.0"
+
+dom7@^2.1.3:
+ version "2.1.5"
+ resolved "https://registry.npmmirror.com/dom7/-/dom7-2.1.5.tgz#a79411017800b31d8400070cdaebbfc92c1f6377"
+ integrity sha512-xnhwVgyOh3eD++/XGtH+5qBwYTgCm0aW91GFgPJ3XG+jlsRLyJivnbP0QmUBFhI+Oaz9FV0s7cxgXHezwOEBYA==
+ dependencies:
+ ssr-window "^2.0.0"
+
+domain-browser@^1.1.1:
+ version "1.2.0"
+ resolved "https://registry.npmmirror.com/domain-browser/-/domain-browser-1.2.0.tgz#3d31f50191a6749dd1375a7f522e823d42e54eda"
+ integrity sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==
+
+domelementtype@1, domelementtype@^1.3.1:
+ version "1.3.1"
+ resolved "https://registry.npmmirror.com/domelementtype/-/domelementtype-1.3.1.tgz#d048c44b37b0d10a7f2a3d5fee3f4333d790481f"
+ integrity sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==
+
+domelementtype@^2.0.1, domelementtype@^2.2.0:
+ version "2.3.0"
+ resolved "https://registry.npmmirror.com/domelementtype/-/domelementtype-2.3.0.tgz#5c45e8e869952626331d7aab326d01daf65d589d"
+ integrity sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==
+
+domexception@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/domexception/-/domexception-1.0.1.tgz#937442644ca6a31261ef36e3ec677fe805582c90"
+ integrity sha512-raigMkn7CJNNo6Ihro1fzG7wr3fHuYVytzquZKX5n0yizGsTcYgzdIUwj1X9pK0VvjeihV+XiclP+DjwbsSKug==
+ dependencies:
+ webidl-conversions "^4.0.2"
+
+domhandler@^2.3.0:
+ version "2.4.2"
+ resolved "https://registry.npmmirror.com/domhandler/-/domhandler-2.4.2.tgz#8805097e933d65e85546f726d60f5eb88b44f803"
+ integrity sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==
+ dependencies:
+ domelementtype "1"
+
+domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1:
+ version "4.3.1"
+ resolved "https://registry.npmmirror.com/domhandler/-/domhandler-4.3.1.tgz#8d792033416f59d68bc03a5aa7b018c1ca89279c"
+ integrity sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==
+ dependencies:
+ domelementtype "^2.2.0"
+
+domready@1.0.8:
+ version "1.0.8"
+ resolved "https://registry.npmmirror.com/domready/-/domready-1.0.8.tgz#91f252e597b65af77e745ae24dd0185d5e26d58c"
+ integrity sha512-uIzsOJUNk+AdGE9a6VDeessoMCzF8RrZvJCX/W8QtyfgdR6Uofn/MvRonih3OtCO79b2VDzDOymuiABrQ4z3XA==
+
+domutils@^1.5.1, domutils@^1.7.0:
+ version "1.7.0"
+ resolved "https://registry.npmmirror.com/domutils/-/domutils-1.7.0.tgz#56ea341e834e06e6748af7a1cb25da67ea9f8c2a"
+ integrity sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==
+ dependencies:
+ dom-serializer "0"
+ domelementtype "1"
+
+domutils@^2.5.2, domutils@^2.8.0:
+ version "2.8.0"
+ resolved "https://registry.npmmirror.com/domutils/-/domutils-2.8.0.tgz#4437def5db6e2d1f5d6ee859bd95ca7d02048135"
+ integrity sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==
+ dependencies:
+ dom-serializer "^1.0.1"
+ domelementtype "^2.2.0"
+ domhandler "^4.2.0"
+
+dot-case@^2.1.0:
+ version "2.1.1"
+ resolved "https://registry.npmmirror.com/dot-case/-/dot-case-2.1.1.tgz#34dcf37f50a8e93c2b3bca8bb7fb9155c7da3bee"
+ integrity sha512-HnM6ZlFqcajLsyudHq7LeeLDr2rFAVYtDv/hV5qchQEidSck8j9OPUsXY9KwJv/lHMtYlX4DjRQqwFYa+0r8Ug==
+ dependencies:
+ no-case "^2.2.0"
+
+dot-prop@^5.2.0:
+ version "5.3.0"
+ resolved "https://registry.npmmirror.com/dot-prop/-/dot-prop-5.3.0.tgz#90ccce708cd9cd82cc4dc8c3ddd9abdd55b20e88"
+ integrity sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==
+ dependencies:
+ is-obj "^2.0.0"
+
+dotenv-expand@^4.2.0:
+ version "4.2.0"
+ resolved "https://registry.npmmirror.com/dotenv-expand/-/dotenv-expand-4.2.0.tgz#def1f1ca5d6059d24a766e587942c21106ce1275"
+ integrity sha512-pHWVt6L/YkqbBCMb1hG6e7oO0WdMhlapDIibl+BZ9PncVE3i+G77uvNr8GUxW2ItSituOK8QOYC9oOJjwWD94A==
+
+dotenv@^6.2.0:
+ version "6.2.0"
+ resolved "https://registry.npmmirror.com/dotenv/-/dotenv-6.2.0.tgz#941c0410535d942c8becf28d3f357dbd9d476064"
+ integrity sha512-HygQCKUBSFl8wKQZBSemMywRWcEDNidvNbjGVyZu3nbZ8qq9ubiPoGLMdRDpfSrpkkm9BXYFkpKxxFX38o/76w==
+
+dunder-proto@^1.0.0, dunder-proto@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/dunder-proto/-/dunder-proto-1.0.1.tgz#d7ae667e1dc83482f8b70fd0f6eefc50da30f58a"
+ integrity sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==
+ dependencies:
+ call-bind-apply-helpers "^1.0.1"
+ es-errors "^1.3.0"
+ gopd "^1.2.0"
+
+duplexer3@^0.1.4:
+ version "0.1.5"
+ resolved "https://registry.npmmirror.com/duplexer3/-/duplexer3-0.1.5.tgz#0b5e4d7bad5de8901ea4440624c8e1d20099217e"
+ integrity sha512-1A8za6ws41LQgv9HrE/66jyC5yuSjQ3L/KOpFtoBilsAK2iA2wuS5rTt1OCzIvtS2V7nVmedsUU+DGRcjBmOYA==
+
+duplexer@^0.1.1:
+ version "0.1.2"
+ resolved "https://registry.npmmirror.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6"
+ integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==
+
+duplexify@^3.4.2, duplexify@^3.6.0:
+ version "3.7.1"
+ resolved "https://registry.npmmirror.com/duplexify/-/duplexify-3.7.1.tgz#2a4df5317f6ccfd91f86d6fd25d8d8a103b88309"
+ integrity sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==
+ dependencies:
+ end-of-stream "^1.0.0"
+ inherits "^2.0.1"
+ readable-stream "^2.0.0"
+ stream-shift "^1.0.0"
+
+easings-css@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/easings-css/-/easings-css-1.0.0.tgz#dde569003bb7a4a0c0b77878f5db3e0be5679c81"
+ integrity sha512-7Uq7NdazNfVtr0RNmPAys8it0zKCuaqxJStYKEl72D3j4gbvXhhaM7iWNbqhA4C94ygCye6VuyhzBRQC4szeBg==
+
+eastasianwidth@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.npmmirror.com/eastasianwidth/-/eastasianwidth-0.2.0.tgz#696ce2ec0aa0e6ea93a397ffcf24aa7840c827cb"
+ integrity sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==
+
+easy-stack@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/easy-stack/-/easy-stack-1.0.1.tgz#8afe4264626988cabb11f3c704ccd0c835411066"
+ integrity sha512-wK2sCs4feiiJeFXn3zvY0p41mdU5VUgbgs1rNsc/y5ngFUijdWd+iIN8eoyuZHKB8xN6BL4PdWmzqFmxNg6V2w==
+
+ecc-jsbn@~0.1.1:
+ version "0.1.2"
+ resolved "https://registry.npmmirror.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9"
+ integrity sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==
+ dependencies:
+ jsbn "~0.1.0"
+ safer-buffer "^2.1.0"
+
+echarts@4.2.1:
+ version "4.2.1"
+ resolved "https://registry.npmmirror.com/echarts/-/echarts-4.2.1.tgz#9a8ea3b03354f86f824d97625c334cf16965ef03"
+ integrity sha512-pw4xScRPsLegD/cqEcoXRKeA2SD4+s+Kyo0Na166NamOWhzNl2yI5RZ2rE97tBlAopNmhyMeBVpAeD5qb+ee1A==
+ dependencies:
+ zrender "4.0.7"
+
+editorconfig@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.npmmirror.com/editorconfig/-/editorconfig-1.0.4.tgz#040c9a8e9a6c5288388b87c2db07028aa89f53a3"
+ integrity sha512-L9Qe08KWTlqYMVvMcTIvMAdl1cDUubzRNYL+WfA4bLDMHe4nemKkpmYzkznE1FwLKu0EEmy6obgQKzMJrg4x9Q==
+ dependencies:
+ "@one-ini/wasm" "0.1.1"
+ commander "^10.0.0"
+ minimatch "9.0.1"
+ semver "^7.5.3"
+
+ee-first@1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npmmirror.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
+ integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==
+
+ejs@^2.6.1:
+ version "2.7.4"
+ resolved "https://registry.npmmirror.com/ejs/-/ejs-2.7.4.tgz#48661287573dcc53e366c7a1ae52c3a120eec9ba"
+ integrity sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==
+
+electron-to-chromium@^1.5.173:
+ version "1.5.178"
+ resolved "https://registry.npmmirror.com/electron-to-chromium/-/electron-to-chromium-1.5.178.tgz#6fc4d69eb5275bb13068931448fd822458901fbb"
+ integrity sha512-wObbz/ar3Bc6e4X5vf0iO8xTN8YAjN/tgiAOJLr7yjYFtP9wAjq8Mb5h0yn6kResir+VYx2DXBj9NNobs0ETSA==
+
+elegant-spinner@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/elegant-spinner/-/elegant-spinner-1.0.1.tgz#db043521c95d7e303fd8f345bedc3349cfb0729e"
+ integrity sha512-B+ZM+RXvRqQaAmkMlO/oSe5nMUOaUnyfGYCEHoR8wrXsZR2mA0XVibsxV1bvTwxdRWah1PkQqso2EzhILGHtEQ==
+
+element-ui@2.13.0:
+ version "2.13.0"
+ resolved "https://registry.npmmirror.com/element-ui/-/element-ui-2.13.0.tgz#f6bb04e5b0a76ea5f62466044b774407ba4ebd2d"
+ integrity sha512-KYsHWsBXYbLELS8cdfvgJTOMSUby3UEjvsPV1V1VmgJ/DdkOAS4z3MiOrPxrT9w2Cc5lZ4eVSQiGhYFR5NVChw==
+ dependencies:
+ async-validator "~1.8.1"
+ babel-helper-vue-jsx-merge-props "^2.0.0"
+ deepmerge "^1.2.0"
+ normalize-wheel "^1.0.1"
+ resize-observer-polyfill "^1.5.0"
+ throttle-debounce "^1.0.1"
+
+elliptic@^6.5.3, elliptic@^6.5.5:
+ version "6.6.1"
+ resolved "https://registry.npmmirror.com/elliptic/-/elliptic-6.6.1.tgz#3b8ffb02670bf69e382c7f65bf524c97c5405c06"
+ integrity sha512-RaddvvMatK2LJHqFJ+YA4WysVN5Ita9E35botqIYspQ4TkRAlCicdzKOjlyv/1Za5RyTNn7di//eEV0uTAfe3g==
+ dependencies:
+ bn.js "^4.11.9"
+ brorand "^1.1.0"
+ hash.js "^1.0.0"
+ hmac-drbg "^1.0.1"
+ inherits "^2.0.4"
+ minimalistic-assert "^1.0.1"
+ minimalistic-crypto-utils "^1.0.1"
+
+emoji-regex@^7.0.1:
+ version "7.0.3"
+ resolved "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156"
+ integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==
+
+emoji-regex@^8.0.0:
+ version "8.0.0"
+ resolved "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
+ integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
+
+emoji-regex@^9.2.2:
+ version "9.2.2"
+ resolved "https://registry.npmmirror.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72"
+ integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==
+
+emojis-list@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.npmmirror.com/emojis-list/-/emojis-list-2.1.0.tgz#4daa4d9db00f9819880c79fa457ae5b09a1fd389"
+ integrity sha512-knHEZMgs8BB+MInokmNTg/OyPlAddghe1YBgNwJBc5zsJi/uyIcXoSDsL/W9ymOsBoBGdPIHXYJ9+qKFwRwDng==
+
+emojis-list@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmmirror.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78"
+ integrity sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==
+
+encodeurl@~1.0.1, encodeurl@~1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npmmirror.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
+ integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==
+
+encodeurl@~2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/encodeurl/-/encodeurl-2.0.0.tgz#7b8ea898077d7e409d3ac45474ea38eaf0857a58"
+ integrity sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==
+
+end-of-stream@^1.0.0, end-of-stream@^1.1.0:
+ version "1.4.5"
+ resolved "https://registry.npmmirror.com/end-of-stream/-/end-of-stream-1.4.5.tgz#7344d711dea40e0b74abc2ed49778743ccedb08c"
+ integrity sha512-ooEGc6HP26xXq/N+GCGOT0JKCLDGrq2bQUZrQ7gyrJiZANJ/8YDTxTpQBXGMn+WbIQXNVpyWymm7KYVICQnyOg==
+ dependencies:
+ once "^1.4.0"
+
+enhanced-resolve@^4.1.0, enhanced-resolve@^4.5.0:
+ version "4.5.0"
+ resolved "https://registry.npmmirror.com/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz#2f3cfd84dbe3b487f18f2db2ef1e064a571ca5ec"
+ integrity sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==
+ dependencies:
+ graceful-fs "^4.1.2"
+ memory-fs "^0.5.0"
+ tapable "^1.0.0"
+
+entities@^1.1.1:
+ version "1.1.2"
+ resolved "https://registry.npmmirror.com/entities/-/entities-1.1.2.tgz#bdfa735299664dfafd34529ed4f8522a275fea56"
+ integrity sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==
+
+entities@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.npmmirror.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55"
+ integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==
+
+errno@^0.1.3, errno@~0.1.7:
+ version "0.1.8"
+ resolved "https://registry.npmmirror.com/errno/-/errno-0.1.8.tgz#8bb3e9c7d463be4976ff888f76b4809ebc2e811f"
+ integrity sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==
+ dependencies:
+ prr "~1.0.1"
+
+error-ex@^1.2.0, error-ex@^1.3.1:
+ version "1.3.2"
+ resolved "https://registry.npmmirror.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
+ integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
+ dependencies:
+ is-arrayish "^0.2.1"
+
+error-stack-parser@^2.0.6:
+ version "2.1.4"
+ resolved "https://registry.npmmirror.com/error-stack-parser/-/error-stack-parser-2.1.4.tgz#229cb01cdbfa84440bfa91876285b94680188286"
+ integrity sha512-Sk5V6wVazPhq5MhpO+AUxJn5x7XSXGl1R93Vn7i+zS15KDVxQijejNCrz8340/2bgLBjR9GtEG8ZVKONDjcqGQ==
+ dependencies:
+ stackframe "^1.3.4"
+
+es-abstract@^1.17.2, es-abstract@^1.23.2, es-abstract@^1.23.5, es-abstract@^1.23.9:
+ version "1.24.0"
+ resolved "https://registry.npmmirror.com/es-abstract/-/es-abstract-1.24.0.tgz#c44732d2beb0acc1ed60df840869e3106e7af328"
+ integrity sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==
+ dependencies:
+ array-buffer-byte-length "^1.0.2"
+ arraybuffer.prototype.slice "^1.0.4"
+ available-typed-arrays "^1.0.7"
+ call-bind "^1.0.8"
+ call-bound "^1.0.4"
+ data-view-buffer "^1.0.2"
+ data-view-byte-length "^1.0.2"
+ data-view-byte-offset "^1.0.1"
+ es-define-property "^1.0.1"
+ es-errors "^1.3.0"
+ es-object-atoms "^1.1.1"
+ es-set-tostringtag "^2.1.0"
+ es-to-primitive "^1.3.0"
+ function.prototype.name "^1.1.8"
+ get-intrinsic "^1.3.0"
+ get-proto "^1.0.1"
+ get-symbol-description "^1.1.0"
+ globalthis "^1.0.4"
+ gopd "^1.2.0"
+ has-property-descriptors "^1.0.2"
+ has-proto "^1.2.0"
+ has-symbols "^1.1.0"
+ hasown "^2.0.2"
+ internal-slot "^1.1.0"
+ is-array-buffer "^3.0.5"
+ is-callable "^1.2.7"
+ is-data-view "^1.0.2"
+ is-negative-zero "^2.0.3"
+ is-regex "^1.2.1"
+ is-set "^2.0.3"
+ is-shared-array-buffer "^1.0.4"
+ is-string "^1.1.1"
+ is-typed-array "^1.1.15"
+ is-weakref "^1.1.1"
+ math-intrinsics "^1.1.0"
+ object-inspect "^1.13.4"
+ object-keys "^1.1.1"
+ object.assign "^4.1.7"
+ own-keys "^1.0.1"
+ regexp.prototype.flags "^1.5.4"
+ safe-array-concat "^1.1.3"
+ safe-push-apply "^1.0.0"
+ safe-regex-test "^1.1.0"
+ set-proto "^1.0.0"
+ stop-iteration-iterator "^1.1.0"
+ string.prototype.trim "^1.2.10"
+ string.prototype.trimend "^1.0.9"
+ string.prototype.trimstart "^1.0.8"
+ typed-array-buffer "^1.0.3"
+ typed-array-byte-length "^1.0.3"
+ typed-array-byte-offset "^1.0.4"
+ typed-array-length "^1.0.7"
+ unbox-primitive "^1.1.0"
+ which-typed-array "^1.1.19"
+
+es-array-method-boxes-properly@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz#873f3e84418de4ee19c5be752990b2e44718d09e"
+ integrity sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==
+
+es-define-property@^1.0.0, es-define-property@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.1.tgz#983eb2f9a6724e9303f61addf011c72e09e0b0fa"
+ integrity sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==
+
+es-errors@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f"
+ integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==
+
+es-object-atoms@^1.0.0, es-object-atoms@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz#1c4f2c4837327597ce69d2ca190a7fdd172338c1"
+ integrity sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==
+ dependencies:
+ es-errors "^1.3.0"
+
+es-set-tostringtag@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npmmirror.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz#f31dbbe0c183b00a6d26eb6325c810c0fd18bd4d"
+ integrity sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==
+ dependencies:
+ es-errors "^1.3.0"
+ get-intrinsic "^1.2.6"
+ has-tostringtag "^1.0.2"
+ hasown "^2.0.2"
+
+es-to-primitive@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.npmmirror.com/es-to-primitive/-/es-to-primitive-1.3.0.tgz#96c89c82cc49fd8794a24835ba3e1ff87f214e18"
+ integrity sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==
+ dependencies:
+ is-callable "^1.2.7"
+ is-date-object "^1.0.5"
+ is-symbol "^1.0.4"
+
+escalade@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.npmmirror.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5"
+ integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==
+
+escape-html@~1.0.3:
+ version "1.0.3"
+ resolved "https://registry.npmmirror.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
+ integrity sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==
+
+escape-string-regexp@1.0.5, escape-string-regexp@^1.0.2, escape-string-regexp@^1.0.4, escape-string-regexp@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
+ integrity sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==
+
+escape-string-regexp@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz#a30304e99daa32e23b2fd20f51babd07cffca344"
+ integrity sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==
+
+escodegen@^1.9.1:
+ version "1.14.3"
+ resolved "https://registry.npmmirror.com/escodegen/-/escodegen-1.14.3.tgz#4e7b81fba61581dc97582ed78cab7f0e8d63f503"
+ integrity sha512-qFcX0XJkdg+PB3xjZZG/wKSuT1PnQWx57+TVSjIMmILd2yC/6ByYElPwJnslDsuWuSAp4AwJGumarAAmJch5Kw==
+ dependencies:
+ esprima "^4.0.1"
+ estraverse "^4.2.0"
+ esutils "^2.0.2"
+ optionator "^0.8.1"
+ optionalDependencies:
+ source-map "~0.6.1"
+
+eslint-loader@^2.1.2:
+ version "2.2.1"
+ resolved "https://registry.npmmirror.com/eslint-loader/-/eslint-loader-2.2.1.tgz#28b9c12da54057af0845e2a6112701a2f6bf8337"
+ integrity sha512-RLgV9hoCVsMLvOxCuNjdqOrUqIj9oJg8hF44vzJaYqsAHuY9G2YAeN3joQ9nxP0p5Th9iFSIpKo+SD8KISxXRg==
+ dependencies:
+ 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-plugin-vue@5.2.2:
+ version "5.2.2"
+ resolved "https://registry.npmmirror.com/eslint-plugin-vue/-/eslint-plugin-vue-5.2.2.tgz#86601823b7721b70bc92d54f1728cfc03b36283c"
+ integrity sha512-CtGWH7IB0DA6BZOwcV9w9q3Ri6Yuo8qMjx05SmOGJ6X6E0Yo3y9E/gQ5tuNxg2dEt30tRnBoFTbvtmW9iEoyHA==
+ dependencies:
+ vue-eslint-parser "^5.0.0"
+
+eslint-plugin-vue@^4.7.1:
+ version "4.7.1"
+ resolved "https://registry.npmmirror.com/eslint-plugin-vue/-/eslint-plugin-vue-4.7.1.tgz#c829b9fc62582c1897b5a0b94afd44ecca511e63"
+ integrity sha512-esETKhVMI7Vdli70Wt4bvAwnZBJeM0pxVX9Yb0wWKxdCJc2EADalVYK/q2FzMw8oKN0wPMdqVCKS8kmR89recA==
+ dependencies:
+ vue-eslint-parser "^2.0.3"
+
+eslint-scope@^3.7.1:
+ version "3.7.3"
+ resolved "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-3.7.3.tgz#bb507200d3d17f60247636160b4826284b108535"
+ integrity sha512-W+B0SvF4gamyCTmUc+uITPY0989iXVfKvhwtmJocTaYoc/3khEHmEmvfY/Gn9HA9VV75jrQECsHizkNw1b68FA==
+ dependencies:
+ esrecurse "^4.1.0"
+ estraverse "^4.1.1"
+
+eslint-scope@^4.0.0, eslint-scope@^4.0.3:
+ version "4.0.3"
+ resolved "https://registry.npmmirror.com/eslint-scope/-/eslint-scope-4.0.3.tgz#ca03833310f6889a3264781aa82e63eb9cfe7848"
+ integrity sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==
+ dependencies:
+ esrecurse "^4.1.0"
+ estraverse "^4.1.1"
+
+eslint-utils@^1.3.1:
+ version "1.4.3"
+ resolved "https://registry.npmmirror.com/eslint-utils/-/eslint-utils-1.4.3.tgz#74fec7c54d0776b6f67e0251040b5806564e981f"
+ integrity sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==
+ dependencies:
+ eslint-visitor-keys "^1.1.0"
+
+eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0:
+ version "1.3.0"
+ resolved "https://registry.npmmirror.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e"
+ integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==
+
+eslint@5.15.3:
+ version "5.15.3"
+ resolved "https://registry.npmmirror.com/eslint/-/eslint-5.15.3.tgz#c79c3909dc8a7fa3714fb340c11e30fd2526b8b5"
+ integrity sha512-vMGi0PjCHSokZxE0NLp2VneGw5sio7SSiDNgIUn2tC0XkWJRNOIoHIg3CliLVfXnJsiHxGAYrkw0PieAu8+KYQ==
+ dependencies:
+ "@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.12.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"
+
+eslint@^4.19.1:
+ version "4.19.1"
+ resolved "https://registry.npmmirror.com/eslint/-/eslint-4.19.1.tgz#32d1d653e1d90408854bfb296f076ec7e186a300"
+ integrity sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ==
+ dependencies:
+ 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"
+
+espree@^3.5.2, espree@^3.5.4:
+ version "3.5.4"
+ resolved "https://registry.npmmirror.com/espree/-/espree-3.5.4.tgz#b0f447187c8a8bed944b815a660bddf5deb5d1a7"
+ integrity sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==
+ dependencies:
+ acorn "^5.5.0"
+ acorn-jsx "^3.0.0"
+
+espree@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.npmmirror.com/espree/-/espree-4.1.0.tgz#728d5451e0fd156c04384a7ad89ed51ff54eb25f"
+ integrity sha512-I5BycZW6FCVIub93TeVY1s7vjhP9CY6cXCznIRfiig7nRviKZYdRnj/sHEWC6A7WE9RDWOFq9+7OsWSYz8qv2w==
+ dependencies:
+ acorn "^6.0.2"
+ acorn-jsx "^5.0.0"
+ eslint-visitor-keys "^1.0.0"
+
+espree@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.npmmirror.com/espree/-/espree-5.0.1.tgz#5d6526fa4fc7f0788a5cf75b15f30323e2f81f7a"
+ integrity sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==
+ dependencies:
+ acorn "^6.0.7"
+ acorn-jsx "^5.0.0"
+ eslint-visitor-keys "^1.0.0"
+
+esprima@^4.0.0, esprima@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.npmmirror.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
+ integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
+
+esquery@^1.0.0, esquery@^1.0.1:
+ version "1.6.0"
+ resolved "https://registry.npmmirror.com/esquery/-/esquery-1.6.0.tgz#91419234f804d852a82dceec3e16cdc22cf9dae7"
+ integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==
+ dependencies:
+ estraverse "^5.1.0"
+
+esrecurse@^4.1.0:
+ version "4.3.0"
+ resolved "https://registry.npmmirror.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921"
+ integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
+ dependencies:
+ estraverse "^5.2.0"
+
+estraverse@^4.1.1, estraverse@^4.2.0:
+ version "4.3.0"
+ resolved "https://registry.npmmirror.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d"
+ integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
+
+estraverse@^5.1.0, estraverse@^5.2.0:
+ version "5.3.0"
+ resolved "https://registry.npmmirror.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123"
+ integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
+
+esutils@^2.0.2:
+ version "2.0.3"
+ resolved "https://registry.npmmirror.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
+ integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
+
+etag@~1.8.1:
+ version "1.8.1"
+ resolved "https://registry.npmmirror.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
+ integrity sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==
+
+event-pubsub@4.3.0:
+ version "4.3.0"
+ resolved "https://registry.npmmirror.com/event-pubsub/-/event-pubsub-4.3.0.tgz#f68d816bc29f1ec02c539dc58c8dd40ce72cb36e"
+ integrity sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ==
+
+eventemitter3@^4.0.0:
+ version "4.0.7"
+ resolved "https://registry.npmmirror.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f"
+ integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==
+
+events@^3.0.0:
+ version "3.3.0"
+ resolved "https://registry.npmmirror.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400"
+ integrity sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==
+
+eventsource@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.npmmirror.com/eventsource/-/eventsource-2.0.2.tgz#76dfcc02930fb2ff339520b6d290da573a9e8508"
+ integrity sha512-IzUmBGPR3+oUG9dUeXynyNmf91/3zUSJg1lCktzKw47OXuhco54U3r9B7O4XX+Rb1Itm9OZ2b0RkTs10bICOxA==
+
+evp_bytestokey@^1.0.0, evp_bytestokey@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.npmmirror.com/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz#7fcbdb198dc71959432efe13842684e0525acb02"
+ integrity sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==
+ dependencies:
+ md5.js "^1.3.4"
+ safe-buffer "^5.1.1"
+
+exec-sh@^0.2.0:
+ version "0.2.2"
+ resolved "https://registry.npmmirror.com/exec-sh/-/exec-sh-0.2.2.tgz#2a5e7ffcbd7d0ba2755bdecb16e5a427dfbdec36"
+ integrity sha512-FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw==
+ dependencies:
+ merge "^1.2.0"
+
+execa@^0.8.0:
+ version "0.8.0"
+ resolved "https://registry.npmmirror.com/execa/-/execa-0.8.0.tgz#d8d76bbc1b55217ed190fd6dd49d3c774ecfc8da"
+ integrity sha512-zDWS+Rb1E8BlqqhALSt9kUhss8Qq4nN3iof3gsOdyINksElaPyNBtKUMTR62qhvgVWR0CqCX7sdnKe4MnUbFEA==
+ dependencies:
+ 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"
+
+execa@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/execa/-/execa-1.0.0.tgz#c6236a5bb4df6d6f15e88e7f017798216749ddd8"
+ integrity sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==
+ dependencies:
+ 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"
+
+exit-on-epipe@~1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/exit-on-epipe/-/exit-on-epipe-1.0.1.tgz#0bdd92e87d5285d267daa8171d0eb06159689692"
+ integrity sha512-h2z5mrROTxce56S+pnvAV890uu7ls7f1kEvVGJbw1OlFH3/mlJ5bkXu0KRyW94v37zzHPiUd55iLn3DA7TjWpw==
+
+exit@^0.1.2:
+ version "0.1.2"
+ resolved "https://registry.npmmirror.com/exit/-/exit-0.1.2.tgz#0632638f8d877cc82107d30a0fff1a17cba1cd0c"
+ integrity sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==
+
+expand-brackets@^0.1.4:
+ version "0.1.5"
+ resolved "https://registry.npmmirror.com/expand-brackets/-/expand-brackets-0.1.5.tgz#df07284e342a807cd733ac5af72411e581d1177b"
+ integrity sha512-hxx03P2dJxss6ceIeri9cmYOT4SRs3Zk3afZwWpOsRqLqprhTR8u++SlC+sFGsQr7WGFPdMF7Gjc1njDLDK6UA==
+ dependencies:
+ is-posix-bracket "^0.1.0"
+
+expand-brackets@^2.1.4:
+ version "2.1.4"
+ resolved "https://registry.npmmirror.com/expand-brackets/-/expand-brackets-2.1.4.tgz#b77735e315ce30f6b6eff0f83b04151a22449622"
+ integrity sha512-w/ozOKR9Obk3qoWeY/WDi6MFta9AoMR+zud60mdnbniMcBxRuFJyDt2LdX/14A1UABeqk+Uk+LDfUpvoGKppZA==
+ dependencies:
+ 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"
+
+expand-range@^1.8.1:
+ version "1.8.2"
+ resolved "https://registry.npmmirror.com/expand-range/-/expand-range-1.8.2.tgz#a299effd335fe2721ebae8e257ec79644fc85337"
+ integrity sha512-AFASGfIlnIbkKPQwX1yHaDjFvh/1gyKJODme52V6IORh69uEYgZp0o9C+qsIGNVEiuuhQU0CSSl++Rlegg1qvA==
+ dependencies:
+ fill-range "^2.1.0"
+
+expand-tilde@^2.0.0, expand-tilde@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.npmmirror.com/expand-tilde/-/expand-tilde-2.0.2.tgz#97e801aa052df02454de46b02bf621642cdc8502"
+ integrity sha512-A5EmesHW6rfnZ9ysHQjPdJRni0SRar0tjtG5MNtm9n5TUvsYU8oozprtRD4AqHxcZWWlVuAmQo2nWKfN9oyjTw==
+ dependencies:
+ homedir-polyfill "^1.0.1"
+
+expect@^23.6.0:
+ version "23.6.0"
+ resolved "https://registry.npmmirror.com/expect/-/expect-23.6.0.tgz#1e0c8d3ba9a581c87bd71fb9bc8862d443425f98"
+ integrity sha512-dgSoOHgmtn/aDGRVFWclQyPDKl2CQRq0hmIEoUAuQs/2rn2NcvCWcSCovm6BLeuB/7EZuLGu2QfnR+qRt5OM4w==
+ dependencies:
+ ansi-styles "^3.2.0"
+ jest-diff "^23.6.0"
+ jest-get-type "^22.1.0"
+ jest-matcher-utils "^23.6.0"
+ jest-message-util "^23.4.0"
+ jest-regex-util "^23.3.0"
+
+express@^4.16.3, express@^4.17.1:
+ version "4.21.2"
+ resolved "https://registry.npmmirror.com/express/-/express-4.21.2.tgz#cf250e48362174ead6cea4a566abef0162c1ec32"
+ integrity sha512-28HqgMZAmih1Czt9ny7qr6ek2qddF4FclbMzwhCREB6OFfH+rXAnuNCwo1/wFvrtbgsQDb4kSbX9de9lFbrXnA==
+ dependencies:
+ accepts "~1.3.8"
+ array-flatten "1.1.1"
+ body-parser "1.20.3"
+ content-disposition "0.5.4"
+ content-type "~1.0.4"
+ cookie "0.7.1"
+ cookie-signature "1.0.6"
+ debug "2.6.9"
+ depd "2.0.0"
+ encodeurl "~2.0.0"
+ escape-html "~1.0.3"
+ etag "~1.8.1"
+ finalhandler "1.3.1"
+ fresh "0.5.2"
+ http-errors "2.0.0"
+ merge-descriptors "1.0.3"
+ methods "~1.1.2"
+ on-finished "2.4.1"
+ parseurl "~1.3.3"
+ path-to-regexp "0.1.12"
+ proxy-addr "~2.0.7"
+ qs "6.13.0"
+ range-parser "~1.2.1"
+ safe-buffer "5.2.1"
+ send "0.19.0"
+ serve-static "1.16.2"
+ setprototypeof "1.2.0"
+ statuses "2.0.1"
+ type-is "~1.6.18"
+ utils-merge "1.0.1"
+ vary "~1.1.2"
+
+extend-shallow@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.npmmirror.com/extend-shallow/-/extend-shallow-2.0.1.tgz#51af7d614ad9a9f610ea1bafbb989d6b1c56890f"
+ integrity sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==
+ dependencies:
+ is-extendable "^0.1.0"
+
+extend-shallow@^3.0.0, extend-shallow@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.npmmirror.com/extend-shallow/-/extend-shallow-3.0.2.tgz#26a71aaf073b39fb2127172746131c2704028db8"
+ integrity sha512-BwY5b5Ql4+qZoefgMj2NUmx+tehVTH/Kf4k1ZEtOHNFcm2wSxMRo992l6X3TIgni2eZVTZ85xMOjF31fwZAj6Q==
+ dependencies:
+ assign-symbols "^1.0.0"
+ is-extendable "^1.0.1"
+
+extend@^3.0.0, extend@~3.0.2:
+ version "3.0.2"
+ resolved "https://registry.npmmirror.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
+ integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
+
+external-editor@^2.0.4:
+ version "2.2.0"
+ resolved "https://registry.npmmirror.com/external-editor/-/external-editor-2.2.0.tgz#045511cfd8d133f3846673d1047c154e214ad3d5"
+ integrity sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==
+ dependencies:
+ chardet "^0.4.0"
+ iconv-lite "^0.4.17"
+ tmp "^0.0.33"
+
+external-editor@^3.0.3:
+ version "3.1.0"
+ resolved "https://registry.npmmirror.com/external-editor/-/external-editor-3.1.0.tgz#cb03f740befae03ea4d283caed2741a83f335495"
+ integrity sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==
+ dependencies:
+ chardet "^0.7.0"
+ iconv-lite "^0.4.24"
+ tmp "^0.0.33"
+
+extglob@^0.3.1:
+ version "0.3.2"
+ resolved "https://registry.npmmirror.com/extglob/-/extglob-0.3.2.tgz#2e18ff3d2f49ab2765cec9023f011daa8d8349a1"
+ integrity sha512-1FOj1LOwn42TMrruOHGt18HemVnbwAmAak7krWk+wa93KXxGbK+2jpezm+ytJYDaBX0/SPLZFHKM7m+tKobWGg==
+ dependencies:
+ is-extglob "^1.0.0"
+
+extglob@^2.0.2, extglob@^2.0.4:
+ version "2.0.4"
+ resolved "https://registry.npmmirror.com/extglob/-/extglob-2.0.4.tgz#ad00fe4dc612a9232e8718711dc5cb5ab0285543"
+ integrity sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==
+ dependencies:
+ 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"
+
+extract-from-css@^0.4.4:
+ version "0.4.4"
+ resolved "https://registry.npmmirror.com/extract-from-css/-/extract-from-css-0.4.4.tgz#1ea7df2e7c7c6eb9922fa08e8adaea486f6f8f92"
+ integrity sha512-41qWGBdtKp9U7sgBxAQ7vonYqSXzgW/SiAYzq4tdWSVhAShvpVCH1nyvPQgjse6EdgbW7Y7ERdT3674/lKr65A==
+ dependencies:
+ css "^2.1.0"
+
+extsprintf@1.3.0:
+ version "1.3.0"
+ resolved "https://registry.npmmirror.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05"
+ integrity sha512-11Ndz7Nv+mvAC1j0ktTa7fAb0vLyGGX+rMHNBYQviQDGU0Hw7lhctJANqbPhu9nV9/izT/IntTgZ7Im/9LJs9g==
+
+extsprintf@^1.2.0:
+ version "1.4.1"
+ resolved "https://registry.npmmirror.com/extsprintf/-/extsprintf-1.4.1.tgz#8d172c064867f235c0c84a596806d279bf4bcc07"
+ integrity sha512-Wrk35e8ydCKDj/ArClo1VrPVmN8zph5V4AtHwIuHhvMXsKf73UT3BOD+azBIW+3wOJ4FhEH7zyaJCFvChjYvMA==
+
+fast-deep-equal@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz#c053477817c86b51daa853c81e059b733d023614"
+ integrity sha512-fueX787WZKCV0Is4/T2cyAdM4+x1S3MXXOAhavE1ys/W42SHAPacLTQhucja22QBYrfGw50M2sRiXPtTGv9Ymw==
+
+fast-deep-equal@^3.1.1:
+ version "3.1.3"
+ resolved "https://registry.npmmirror.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
+ integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
+
+fast-glob@^2.0.2, fast-glob@^2.2.6:
+ version "2.2.7"
+ resolved "https://registry.npmmirror.com/fast-glob/-/fast-glob-2.2.7.tgz#6953857c3afa475fff92ee6015d52da70a4cd39d"
+ integrity sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==
+ dependencies:
+ "@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"
+
+fast-json-stable-stringify@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.npmmirror.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
+ integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
+
+fast-levenshtein@~2.0.6:
+ version "2.0.6"
+ resolved "https://registry.npmmirror.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
+ integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==
+
+fastparse@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.npmmirror.com/fastparse/-/fastparse-1.1.2.tgz#91728c5a5942eced8531283c79441ee4122c35a9"
+ integrity sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==
+
+faye-websocket@^0.11.3, faye-websocket@^0.11.4:
+ version "0.11.4"
+ resolved "https://registry.npmmirror.com/faye-websocket/-/faye-websocket-0.11.4.tgz#7f0d9275cfdd86a1c963dc8b65fcc451edcbb1da"
+ integrity sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==
+ dependencies:
+ websocket-driver ">=0.5.1"
+
+fb-watchman@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.npmmirror.com/fb-watchman/-/fb-watchman-2.0.2.tgz#e9524ee6b5c77e9e5001af0f85f3adbb8623255c"
+ integrity sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==
+ dependencies:
+ bser "2.1.1"
+
+figgy-pudding@^3.5.1:
+ version "3.5.2"
+ resolved "https://registry.npmmirror.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e"
+ integrity sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==
+
+figures@^1.7.0:
+ version "1.7.0"
+ resolved "https://registry.npmmirror.com/figures/-/figures-1.7.0.tgz#cbe1e3affcf1cd44b80cadfed28dc793a9701d2e"
+ integrity sha512-UxKlfCRuCBxSXU4C6t9scbDyWZ4VlaFFdojKtzJuSkuOBQ5CNFum+zZXFwHjo+CxBC1t6zlYPgHIgFjL8ggoEQ==
+ dependencies:
+ escape-string-regexp "^1.0.5"
+ object-assign "^4.1.0"
+
+figures@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962"
+ integrity sha512-Oa2M9atig69ZkfwiApY8F2Yy+tzMbazyvqv21R0NsSC8floSOC09BbT1ITWAdoMGQvJ/aZnR1KMwdx9tvHnTNA==
+ dependencies:
+ escape-string-regexp "^1.0.5"
+
+file-entry-cache@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/file-entry-cache/-/file-entry-cache-2.0.0.tgz#c392990c3e684783d838b8c84a45d8a048458361"
+ integrity sha512-uXP/zGzxxFvFfcZGgBIwotm+Tdc55ddPAzF7iHshP4YGaXMww7rSF9peD9D1sui5ebONg5UobsZv+FfgEpGv/w==
+ dependencies:
+ flat-cache "^1.2.1"
+ object-assign "^4.0.1"
+
+file-entry-cache@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.npmmirror.com/file-entry-cache/-/file-entry-cache-5.0.1.tgz#ca0f6efa6dd3d561333fb14515065c2fafdf439c"
+ integrity sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==
+ dependencies:
+ flat-cache "^2.0.1"
+
+file-loader@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.npmmirror.com/file-loader/-/file-loader-3.0.1.tgz#f8e0ba0b599918b51adfe45d66d1e771ad560faa"
+ integrity sha512-4sNIOXgtH/9WZq4NvlfU3Opn5ynUsqBwSLyM+I7UOwdGigTBYfVVQEwe/msZNX/j4pCJTIM14Fsw66Svo1oVrw==
+ dependencies:
+ loader-utils "^1.0.2"
+ schema-utils "^1.0.0"
+
+file-saver@2.0.1:
+ version "2.0.1"
+ resolved "https://registry.npmmirror.com/file-saver/-/file-saver-2.0.1.tgz#7fe2242af1cbc559a29d8176078a8b56d781fa79"
+ integrity sha512-dCB3K7/BvAcUmtmh1DzFdv0eXSVJ9IAFt1mw3XZfAexodNRoE29l3xB2EX4wH2q8m/UTzwzEPq/ArYk98kUkBQ==
+
+file-uri-to-path@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz#553a7b8446ff6f684359c445f1e37a05dacc33dd"
+ integrity sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==
+
+filename-regex@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.npmmirror.com/filename-regex/-/filename-regex-2.0.1.tgz#c1c4b9bee3e09725ddb106b75c1e301fe2f18b26"
+ integrity sha512-BTCqyBaWBTsauvnHiE8i562+EdJj+oUpkqWp2R1iCoR8f6oo8STRu3of7WJJ0TqWtxN50a5YFpzYK4Jj9esYfQ==
+
+fileset@^2.0.2:
+ version "2.0.3"
+ resolved "https://registry.npmmirror.com/fileset/-/fileset-2.0.3.tgz#8e7548a96d3cc2327ee5e674168723a333bba2a0"
+ integrity sha512-UxowFKnAFIwtmSxgKjWAVgjE3Fk7MQJT0ZIyl0NwIFZTrx4913rLaonGJ84V+x/2+w/pe4ULHRns+GZPs1TVuw==
+ dependencies:
+ glob "^7.0.3"
+ minimatch "^3.0.3"
+
+filesize@^3.6.1:
+ version "3.6.1"
+ resolved "https://registry.npmmirror.com/filesize/-/filesize-3.6.1.tgz#090bb3ee01b6f801a8a8be99d31710b3422bb317"
+ integrity sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==
+
+fill-range@^2.1.0:
+ version "2.2.4"
+ resolved "https://registry.npmmirror.com/fill-range/-/fill-range-2.2.4.tgz#eb1e773abb056dcd8df2bfdf6af59b8b3a936565"
+ integrity sha512-cnrcCbj01+j2gTG921VZPnHbjmdAf8oQV/iGeV2kZxGSyfYjjTyY79ErsK1WJWMpw6DaApEX72binqJE+/d+5Q==
+ dependencies:
+ is-number "^2.1.0"
+ isobject "^2.0.0"
+ randomatic "^3.0.0"
+ repeat-element "^1.1.2"
+ repeat-string "^1.5.2"
+
+fill-range@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npmmirror.com/fill-range/-/fill-range-4.0.0.tgz#d544811d428f98eb06a63dc402d2403c328c38f7"
+ integrity sha512-VcpLTWqWDiTerugjj8e3+esbg+skS3M9e54UuR3iCeIDMXCLTsAH8hTSzDQU/X6/6t3eYkOKoZSef2PlU6U1XQ==
+ dependencies:
+ extend-shallow "^2.0.1"
+ is-number "^3.0.0"
+ repeat-string "^1.6.1"
+ to-regex-range "^2.1.0"
+
+fill-range@^7.1.1:
+ version "7.1.1"
+ resolved "https://registry.npmmirror.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292"
+ integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==
+ dependencies:
+ to-regex-range "^5.0.1"
+
+finalhandler@1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/finalhandler/-/finalhandler-1.1.0.tgz#ce0b6855b45853e791b2fcc680046d88253dd7f5"
+ integrity sha512-ejnvM9ZXYzp6PUPUyQBMBf0Co5VX2gr5H2VQe2Ui2jWXNlxv+PYZo8wpAymJNJdLsG1R4p+M4aynF8KuoUEwRw==
+ dependencies:
+ debug "2.6.9"
+ encodeurl "~1.0.1"
+ escape-html "~1.0.3"
+ on-finished "~2.3.0"
+ parseurl "~1.3.2"
+ statuses "~1.3.1"
+ unpipe "~1.0.0"
+
+finalhandler@1.3.1:
+ version "1.3.1"
+ resolved "https://registry.npmmirror.com/finalhandler/-/finalhandler-1.3.1.tgz#0c575f1d1d324ddd1da35ad7ece3df7d19088019"
+ integrity sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ==
+ dependencies:
+ debug "2.6.9"
+ encodeurl "~2.0.0"
+ escape-html "~1.0.3"
+ on-finished "2.4.1"
+ parseurl "~1.3.3"
+ statuses "2.0.1"
+ unpipe "~1.0.0"
+
+find-babel-config@^1.1.0:
+ version "1.2.2"
+ resolved "https://registry.npmmirror.com/find-babel-config/-/find-babel-config-1.2.2.tgz#41199b5cb9154dcb2fdc351cbe70eaf9198d5111"
+ integrity sha512-oK59njMyw2y3yxto1BCfVK7MQp/OYf4FleHu0RgosH3riFJ1aOuo/7naLDLAObfrgn3ueFhw5sAT/cp0QuJI3Q==
+ dependencies:
+ json5 "^1.0.2"
+ path-exists "^3.0.0"
+
+find-cache-dir@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.npmmirror.com/find-cache-dir/-/find-cache-dir-0.1.1.tgz#c8defae57c8a52a8a784f9e31c57c742e993a0b9"
+ integrity sha512-Z9XSBoNE7xQiV6MSgPuCfyMokH2K7JdpRkOYE1+mu3d4BFJtx3GW+f6Bo4q8IX6rlf5MYbLBKW0pjl2cWdkm2A==
+ dependencies:
+ commondir "^1.0.1"
+ mkdirp "^0.5.1"
+ pkg-dir "^1.0.0"
+
+find-cache-dir@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/find-cache-dir/-/find-cache-dir-1.0.0.tgz#9288e3e9e3cc3748717d39eade17cf71fc30ee6f"
+ integrity sha512-46TFiBOzX7xq/PcSWfFwkyjpemdRnMe31UQF+os0y+1W3k95f6R4SEt02Hj4p3X0Mir9gfrkmOtshFidS0VPUg==
+ dependencies:
+ commondir "^1.0.1"
+ make-dir "^1.0.0"
+ pkg-dir "^2.0.0"
+
+find-cache-dir@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npmmirror.com/find-cache-dir/-/find-cache-dir-2.1.0.tgz#8d0f94cd13fe43c6c7c261a0d86115ca918c05f7"
+ integrity sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==
+ dependencies:
+ commondir "^1.0.1"
+ make-dir "^2.0.0"
+ pkg-dir "^3.0.0"
+
+find-cache-dir@^3.3.1:
+ version "3.3.2"
+ resolved "https://registry.npmmirror.com/find-cache-dir/-/find-cache-dir-3.3.2.tgz#b30c5b6eff0730731aea9bbd9dbecbd80256d64b"
+ integrity sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==
+ dependencies:
+ commondir "^1.0.1"
+ make-dir "^3.0.2"
+ pkg-dir "^4.1.0"
+
+find-parent-dir@^0.3.0:
+ version "0.3.1"
+ resolved "https://registry.npmmirror.com/find-parent-dir/-/find-parent-dir-0.3.1.tgz#c5c385b96858c3351f95d446cab866cbf9f11125"
+ integrity sha512-o4UcykWV/XN9wm+jMEtWLPlV8RXCZnMhQI6F6OdHeSez7iiJWePw8ijOlskJZMsaQoGR/b7dH6lO02HhaTN7+A==
+
+find-up@^1.0.0:
+ version "1.1.2"
+ resolved "https://registry.npmmirror.com/find-up/-/find-up-1.1.2.tgz#6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f"
+ integrity sha512-jvElSjyuo4EMQGoTwo1uJU5pQMwTW5lS1x05zzfJuTIyLR3zwO27LYrxNg+dlvKpGOuGy/MzBdXh80g0ve5+HA==
+ dependencies:
+ path-exists "^2.0.0"
+ pinkie-promise "^2.0.0"
+
+find-up@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npmmirror.com/find-up/-/find-up-2.1.0.tgz#45d1b7e506c717ddd482775a2b77920a3c0c57a7"
+ integrity sha512-NWzkk0jSJtTt08+FBFMvXoeZnOJD+jTtsRmBYbAIzJdX6l7dLgR7CTubCM5/eDdPUBvLCeVasP1brfVR/9/EZQ==
+ dependencies:
+ locate-path "^2.0.0"
+
+find-up@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmmirror.com/find-up/-/find-up-3.0.0.tgz#49169f1d7993430646da61ecc5ae355c21c97b73"
+ integrity sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==
+ dependencies:
+ locate-path "^3.0.0"
+
+find-up@^4.0.0:
+ version "4.1.0"
+ resolved "https://registry.npmmirror.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19"
+ integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==
+ dependencies:
+ locate-path "^5.0.0"
+ path-exists "^4.0.0"
+
+findup-sync@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/findup-sync/-/findup-sync-2.0.0.tgz#9326b1488c22d1a6088650a86901b2d9a90a2cbc"
+ integrity sha512-vs+3unmJT45eczmcAZ6zMJtxN3l/QXeccaXQx5cu/MeJMhewVfoWZqibRkOxPnmoR59+Zy5hjabfQc6JLSah4g==
+ dependencies:
+ detect-file "^1.0.0"
+ is-glob "^3.1.0"
+ micromatch "^3.0.4"
+ resolve-dir "^1.0.1"
+
+fined@^1.0.1:
+ version "1.2.0"
+ resolved "https://registry.npmmirror.com/fined/-/fined-1.2.0.tgz#d00beccf1aa2b475d16d423b0238b713a2c4a37b"
+ integrity sha512-ZYDqPLGxDkDhDZBjZBb+oD1+j0rA4E0pXY50eplAAOPg2N/gUBSSk5IM1/QhPfyVo19lJ+CvXpqfvk+b2p/8Ng==
+ dependencies:
+ expand-tilde "^2.0.2"
+ is-plain-object "^2.0.3"
+ object.defaults "^1.1.0"
+ object.pick "^1.2.0"
+ parse-filepath "^1.0.1"
+
+flagged-respawn@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/flagged-respawn/-/flagged-respawn-1.0.1.tgz#e7de6f1279ddd9ca9aac8a5971d618606b3aab41"
+ integrity sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==
+
+flat-cache@^1.2.1:
+ version "1.3.4"
+ resolved "https://registry.npmmirror.com/flat-cache/-/flat-cache-1.3.4.tgz#2c2ef77525cc2929007dfffa1dd314aa9c9dee6f"
+ integrity sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==
+ dependencies:
+ circular-json "^0.3.1"
+ graceful-fs "^4.1.2"
+ rimraf "~2.6.2"
+ write "^0.2.1"
+
+flat-cache@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.npmmirror.com/flat-cache/-/flat-cache-2.0.1.tgz#5d296d6f04bda44a4630a301413bdbc2ec085ec0"
+ integrity sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==
+ dependencies:
+ flatted "^2.0.0"
+ rimraf "2.6.3"
+ write "1.0.3"
+
+flatted@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.npmmirror.com/flatted/-/flatted-2.0.2.tgz#4575b21e2bcee7434aa9be662f4b7b5f9c2b5138"
+ integrity sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==
+
+flush-write-stream@^1.0.0:
+ version "1.1.1"
+ resolved "https://registry.npmmirror.com/flush-write-stream/-/flush-write-stream-1.1.1.tgz#8dd7d873a1babc207d94ead0c2e0e44276ebf2e8"
+ integrity sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==
+ dependencies:
+ inherits "^2.0.3"
+ readable-stream "^2.3.6"
+
+fn-name@~2.0.1:
+ version "2.0.1"
+ resolved "https://registry.npmmirror.com/fn-name/-/fn-name-2.0.1.tgz#5214d7537a4d06a4a301c0cc262feb84188002e7"
+ integrity sha512-oIDB1rXf3BUnn00bh2jVM0byuqr94rBh6g7ZfdKcbmp1we2GQtPzKdloyvBXHs+q3fvxB8EqX5ecFba3RwCSjA==
+
+follow-redirects@^1.0.0, follow-redirects@^1.14.4:
+ version "1.15.9"
+ resolved "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.15.9.tgz#a604fa10e443bf98ca94228d9eebcc2e8a2c8ee1"
+ integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==
+
+for-each@^0.3.3, for-each@^0.3.5:
+ version "0.3.5"
+ resolved "https://registry.npmmirror.com/for-each/-/for-each-0.3.5.tgz#d650688027826920feeb0af747ee7b9421a41d47"
+ integrity sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==
+ dependencies:
+ is-callable "^1.2.7"
+
+for-in@^1.0.1, for-in@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npmmirror.com/for-in/-/for-in-1.0.2.tgz#81068d295a8142ec0ac726c6e2200c30fb6d5e80"
+ integrity sha512-7EwmXrOjyL+ChxMhmG5lnW9MPt1aIeZEwKhQzoBUdTV0N3zuwWDZYVJatDvZ2OyzPUvdIAZDsCetk3coyMfcnQ==
+
+for-own@^0.1.4:
+ version "0.1.5"
+ resolved "https://registry.npmmirror.com/for-own/-/for-own-0.1.5.tgz#5265c681a4f294dabbf17c9509b6763aa84510ce"
+ integrity sha512-SKmowqGTJoPzLO1T0BBJpkfp3EMacCMOuH40hOUbrbzElVktk4DioXVM99QkLCyKoiuOmyjgcWMpVz2xjE7LZw==
+ dependencies:
+ for-in "^1.0.1"
+
+for-own@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/for-own/-/for-own-1.0.0.tgz#c63332f415cedc4b04dbfe70cf836494c53cb44b"
+ integrity sha512-0OABksIGrxKK8K4kynWkQ7y1zounQxP+CWnyclVwj81KW3vlLlGUx57DKGcP/LH216GzqnstnPocF16Nxs0Ycg==
+ dependencies:
+ for-in "^1.0.1"
+
+foreground-child@^3.1.0:
+ version "3.3.1"
+ resolved "https://registry.npmmirror.com/foreground-child/-/foreground-child-3.3.1.tgz#32e8e9ed1b68a3497befb9ac2b6adf92a638576f"
+ integrity sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==
+ dependencies:
+ cross-spawn "^7.0.6"
+ signal-exit "^4.0.1"
+
+forever-agent@~0.6.1:
+ version "0.6.1"
+ resolved "https://registry.npmmirror.com/forever-agent/-/forever-agent-0.6.1.tgz#fbc71f0c41adeb37f96c577ad1ed42d8fdacca91"
+ integrity sha512-j0KLYPhm6zeac4lz3oJ3o65qvgQCcPubiyotZrXqEaG4hNagNYO8qdlUrX5vwqv9ohqeT/Z3j6+yW067yWWdUw==
+
+form-data@~2.3.2:
+ version "2.3.3"
+ resolved "https://registry.npmmirror.com/form-data/-/form-data-2.3.3.tgz#dcce52c05f644f298c6a7ab936bd724ceffbf3a6"
+ integrity sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==
+ dependencies:
+ asynckit "^0.4.0"
+ combined-stream "^1.0.6"
+ mime-types "^2.1.12"
+
+forwarded@0.2.0:
+ version "0.2.0"
+ resolved "https://registry.npmmirror.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811"
+ integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==
+
+frac@~1.1.2:
+ version "1.1.2"
+ resolved "https://registry.npmmirror.com/frac/-/frac-1.1.2.tgz#3d74f7f6478c88a1b5020306d747dc6313c74d0b"
+ integrity sha512-w/XBfkibaTl3YDqASwfDUqkna4Z2p9cFSr1aHDt0WoMTECnRfBOv2WArlZILlqgWlmdIlALXGpM2AOhEk5W3IA==
+
+fragment-cache@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.npmmirror.com/fragment-cache/-/fragment-cache-0.2.1.tgz#4290fad27f13e89be7f33799c6bc5a0abfff0d19"
+ integrity sha512-GMBAbW9antB8iZRHLoGw0b3HANt57diZYFO/HL1JGIC1MjKrdmhxvrJbupnVvpys0zsz7yBApXdQyfepKly2kA==
+ dependencies:
+ map-cache "^0.2.2"
+
+fresh@0.5.2:
+ version "0.5.2"
+ resolved "https://registry.npmmirror.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
+ integrity sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==
+
+from2@^2.1.0:
+ version "2.3.0"
+ resolved "https://registry.npmmirror.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af"
+ integrity sha512-OMcX/4IC/uqEPVgGeyfN22LJk6AZrMkRZHxcHBMBvHScDGgwTm2GT2Wkgtocyd3JfZffjj2kYUDXXII0Fk9W0g==
+ dependencies:
+ inherits "^2.0.1"
+ readable-stream "^2.0.0"
+
+fs-extra@^7.0.1:
+ version "7.0.1"
+ resolved "https://registry.npmmirror.com/fs-extra/-/fs-extra-7.0.1.tgz#4f189c44aa123b895f722804f55ea23eadc348e9"
+ integrity sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==
+ dependencies:
+ graceful-fs "^4.1.2"
+ jsonfile "^4.0.0"
+ universalify "^0.1.0"
+
+fs-write-stream-atomic@^1.0.8:
+ version "1.0.10"
+ resolved "https://registry.npmmirror.com/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz#b47df53493ef911df75731e70a9ded0189db40c9"
+ integrity sha512-gehEzmPn2nAwr39eay+x3X34Ra+M2QlVUTLhkXPjWdeO8RF9kszk116avgBJM3ZyNHgHXBNx+VmPaFC36k0PzA==
+ dependencies:
+ graceful-fs "^4.1.2"
+ iferr "^0.1.5"
+ imurmurhash "^0.1.4"
+ readable-stream "1 || 2"
+
+fs.realpath@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
+ integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==
+
+fsevents@^1.2.3, fsevents@^1.2.7:
+ version "1.2.13"
+ resolved "https://registry.npmmirror.com/fsevents/-/fsevents-1.2.13.tgz#f325cb0455592428bcf11b383370ef70e3bfcc38"
+ integrity sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==
+ dependencies:
+ bindings "^1.5.0"
+ nan "^2.12.1"
+
+fsevents@~2.3.2:
+ version "2.3.3"
+ resolved "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6"
+ integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==
+
+function-bind@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c"
+ integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==
+
+function.prototype.name@^1.1.6, function.prototype.name@^1.1.8:
+ version "1.1.8"
+ resolved "https://registry.npmmirror.com/function.prototype.name/-/function.prototype.name-1.1.8.tgz#e68e1df7b259a5c949eeef95cdbde53edffabb78"
+ integrity sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==
+ dependencies:
+ call-bind "^1.0.8"
+ call-bound "^1.0.3"
+ define-properties "^1.2.1"
+ functions-have-names "^1.2.3"
+ hasown "^2.0.2"
+ is-callable "^1.2.7"
+
+functional-red-black-tree@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
+ integrity sha512-dsKNQNdj6xA3T+QlADDA7mOSlX0qiMINjn0cgr+eGHGsbSHzTabcIogz2+p/iqP1Xs6EP/sS2SbqH+brGTbq0g==
+
+functions-have-names@^1.2.3:
+ version "1.2.3"
+ resolved "https://registry.npmmirror.com/functions-have-names/-/functions-have-names-1.2.3.tgz#0404fe4ee2ba2f607f0e0ec3c80bae994133b834"
+ integrity sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==
+
+fuse.js@3.4.4:
+ version "3.4.4"
+ resolved "https://registry.npmmirror.com/fuse.js/-/fuse.js-3.4.4.tgz#f98f55fcb3b595cf6a3e629c5ffaf10982103e95"
+ integrity sha512-pyLQo/1oR5Ywf+a/tY8z4JygnIglmRxVUOiyFAbd11o9keUDpUJSMGRWJngcnkURj30kDHPmhoKY8ChJiz3EpQ==
+
+fuzzysearch@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.npmmirror.com/fuzzysearch/-/fuzzysearch-1.0.3.tgz#dffc80f6d6b04223f2226aa79dd194231096d008"
+ integrity sha512-s+kNWQuI3mo9OALw0HJ6YGmMbLqEufCh2nX/zzV5CrICQ/y4AwPxM+6TIiF9ItFCHXFCyM/BfCCmN57NTIJuPg==
+
+g-status@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.npmmirror.com/g-status/-/g-status-2.0.2.tgz#270fd32119e8fc9496f066fe5fe88e0a6bc78b97"
+ integrity sha512-kQoE9qH+T1AHKgSSD0Hkv98bobE90ILQcXAF4wvGgsr7uFqNvwmh8j+Lq3l0RVt3E3HjSbv2B9biEGcEtpHLCA==
+ dependencies:
+ arrify "^1.0.1"
+ matcher "^1.0.0"
+ simple-git "^1.85.0"
+
+gensync@^1.0.0-beta.2:
+ version "1.0.0-beta.2"
+ resolved "https://registry.npmmirror.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
+ integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==
+
+get-caller-file@^1.0.1:
+ version "1.0.3"
+ resolved "https://registry.npmmirror.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a"
+ integrity sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==
+
+get-caller-file@^2.0.1:
+ version "2.0.5"
+ resolved "https://registry.npmmirror.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
+ integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
+
+get-intrinsic@^1.2.4, get-intrinsic@^1.2.5, get-intrinsic@^1.2.6, get-intrinsic@^1.2.7, get-intrinsic@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz#743f0e3b6964a93a5491ed1bffaae054d7f98d01"
+ integrity sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==
+ dependencies:
+ call-bind-apply-helpers "^1.0.2"
+ es-define-property "^1.0.1"
+ es-errors "^1.3.0"
+ es-object-atoms "^1.1.1"
+ function-bind "^1.1.2"
+ get-proto "^1.0.1"
+ gopd "^1.2.0"
+ has-symbols "^1.1.0"
+ hasown "^2.0.2"
+ math-intrinsics "^1.1.0"
+
+get-own-enumerable-property-symbols@^3.0.0:
+ version "3.0.2"
+ resolved "https://registry.npmmirror.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664"
+ integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==
+
+get-proto@^1.0.0, get-proto@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/get-proto/-/get-proto-1.0.1.tgz#150b3f2743869ef3e851ec0c49d15b1d14d00ee1"
+ integrity sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==
+ dependencies:
+ dunder-proto "^1.0.1"
+ es-object-atoms "^1.0.0"
+
+get-stdin@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.npmmirror.com/get-stdin/-/get-stdin-6.0.0.tgz#9e09bf712b360ab9225e812048f71fde9c89657b"
+ integrity sha512-jp4tHawyV7+fkkSKyvjuLZswblUtz+SQKzSWnBbii16BuZksJlU1wuBYXY75r+duh/llF1ur6oNwi+2ZzjKZ7g==
+
+get-stream@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmmirror.com/get-stream/-/get-stream-3.0.0.tgz#8e943d1358dc37555054ecbe2edb05aa174ede14"
+ integrity sha512-GlhdIUuVakc8SJ6kK0zAFbiGzRFzNnY4jUuEbV9UROo4Y+0Ny4fjvcZFVTeDA4odpFyOQzaw6hXukJSq/f28sQ==
+
+get-stream@^4.0.0, get-stream@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.npmmirror.com/get-stream/-/get-stream-4.1.0.tgz#c1b255575f3dc21d59bfc79cd3d2b46b1c3a54b5"
+ integrity sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==
+ dependencies:
+ pump "^3.0.0"
+
+get-stream@^5.1.0:
+ version "5.2.0"
+ resolved "https://registry.npmmirror.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3"
+ integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==
+ dependencies:
+ pump "^3.0.0"
+
+get-symbol-description@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/get-symbol-description/-/get-symbol-description-1.1.0.tgz#7bdd54e0befe8ffc9f3b4e203220d9f1e881b6ee"
+ integrity sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==
+ dependencies:
+ call-bound "^1.0.3"
+ es-errors "^1.3.0"
+ get-intrinsic "^1.2.6"
+
+get-value@^2.0.3, get-value@^2.0.6:
+ version "2.0.6"
+ resolved "https://registry.npmmirror.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28"
+ integrity sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==
+
+getpass@^0.1.1:
+ version "0.1.7"
+ resolved "https://registry.npmmirror.com/getpass/-/getpass-0.1.7.tgz#5eff8e3e684d569ae4cb2b1282604e8ba62149fa"
+ integrity sha512-0fzj9JxOLfJ+XGLhR8ze3unN0KZCgZwiSSDz168VERjK8Wl8kVSdcu2kspd4s4wtAa1y/qrVRiAA0WclVsu0ng==
+ dependencies:
+ assert-plus "^1.0.0"
+
+glob-base@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.npmmirror.com/glob-base/-/glob-base-0.3.0.tgz#dbb164f6221b1c0b1ccf82aea328b497df0ea3c4"
+ integrity sha512-ab1S1g1EbO7YzauaJLkgLp7DZVAqj9M/dvKlTt8DkXA2tiOIcSMrlVI2J1RZyB5iJVccEscjGn+kpOG9788MHA==
+ dependencies:
+ glob-parent "^2.0.0"
+ is-glob "^2.0.0"
+
+glob-parent@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/glob-parent/-/glob-parent-2.0.0.tgz#81383d72db054fcccf5336daa902f182f6edbb28"
+ integrity sha512-JDYOvfxio/t42HKdxkAYaCiBN7oYiuxykOxKxdaUW5Qn0zaYN3gRQWolrwdnf0shM9/EP0ebuuTmyoXNr1cC5w==
+ dependencies:
+ is-glob "^2.0.0"
+
+glob-parent@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.npmmirror.com/glob-parent/-/glob-parent-3.1.0.tgz#9e6af6299d8d3bd2bd40430832bd113df906c5ae"
+ integrity sha512-E8Ak/2+dZY6fnzlR7+ueWvhsH1SjHr4jjss4YS/h4py44jY9MhK/VFdaZJAWDz6BbL21KeteKxFSFpq8OS5gVA==
+ dependencies:
+ is-glob "^3.1.0"
+ path-dirname "^1.0.0"
+
+glob-parent@~5.1.2:
+ version "5.1.2"
+ resolved "https://registry.npmmirror.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
+ integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
+ dependencies:
+ is-glob "^4.0.1"
+
+glob-to-regexp@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.npmmirror.com/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz#8c5a1494d2066c570cc3bfe4496175acc4d502ab"
+ integrity sha512-Iozmtbqv0noj0uDDqoL0zNq0VBEfK2YFoMAZoxJe4cwphvLR+JskfF30QhXHOR4m3KrE6NLRYw+U9MRXvifyig==
+
+glob@^10.4.2:
+ version "10.4.5"
+ resolved "https://registry.npmmirror.com/glob/-/glob-10.4.5.tgz#f4d9f0b90ffdbab09c9d77f5f29b4262517b0956"
+ integrity sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==
+ dependencies:
+ foreground-child "^3.1.0"
+ jackspeak "^3.1.2"
+ minimatch "^9.0.4"
+ minipass "^7.1.2"
+ package-json-from-dist "^1.0.0"
+ path-scurry "^1.11.1"
+
+glob@^7.0.3, glob@^7.1.1, glob@^7.1.2, glob@^7.1.3, glob@^7.1.4:
+ version "7.2.3"
+ resolved "https://registry.npmmirror.com/glob/-/glob-7.2.3.tgz#b8df0fb802bbfa8e89bd1d938b4e16578ed44f2b"
+ integrity sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==
+ dependencies:
+ fs.realpath "^1.0.0"
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^3.1.1"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
+glob@~7.0.3:
+ version "7.0.6"
+ resolved "https://registry.npmmirror.com/glob/-/glob-7.0.6.tgz#211bafaf49e525b8cd93260d14ab136152b3f57a"
+ integrity sha512-f8c0rE8JiCxpa52kWPAOa3ZaYEnzofDzCQLCn3Vdk0Z5OVLq3BsRFJI4S4ykpeVW6QMGBUkMeUpoEgWnMTnw5Q==
+ dependencies:
+ fs.realpath "^1.0.0"
+ inflight "^1.0.4"
+ inherits "2"
+ minimatch "^3.0.2"
+ once "^1.3.0"
+ path-is-absolute "^1.0.0"
+
+global-modules@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/global-modules/-/global-modules-1.0.0.tgz#6d770f0eb523ac78164d72b5e71a8877265cc3ea"
+ integrity sha512-sKzpEkf11GpOFuw0Zzjzmt4B4UZwjOcG757PPvrfhxcLFbq0wpsgpOqxpxtxFiCG4DtG93M6XRVbF2oGdev7bg==
+ dependencies:
+ global-prefix "^1.0.1"
+ is-windows "^1.0.1"
+ resolve-dir "^1.0.0"
+
+global-prefix@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.npmmirror.com/global-prefix/-/global-prefix-1.0.2.tgz#dbf743c6c14992593c655568cb66ed32c0122ebe"
+ integrity sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==
+ dependencies:
+ expand-tilde "^2.0.2"
+ homedir-polyfill "^1.0.1"
+ ini "^1.3.4"
+ is-windows "^1.0.1"
+ which "^1.2.14"
+
+globals@^11.0.1, globals@^11.1.0, globals@^11.7.0:
+ version "11.12.0"
+ resolved "https://registry.npmmirror.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
+ integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
+
+globals@^9.18.0:
+ version "9.18.0"
+ resolved "https://registry.npmmirror.com/globals/-/globals-9.18.0.tgz#aa3896b3e69b487f17e31ed2143d69a8e30c2d8a"
+ integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==
+
+globalthis@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.npmmirror.com/globalthis/-/globalthis-1.0.4.tgz#7430ed3a975d97bfb59bcce41f5cabbafa651236"
+ integrity sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==
+ dependencies:
+ define-properties "^1.2.1"
+ gopd "^1.0.1"
+
+globby@^6.1.0:
+ version "6.1.0"
+ resolved "https://registry.npmmirror.com/globby/-/globby-6.1.0.tgz#f5a6d70e8395e21c858fb0489d64df02424d506c"
+ integrity sha512-KVbFv2TQtbzCoxAnfD6JcHZTYCzyliEaaeM/gH8qQdkKr5s0OP9scEgvdcngyk7AVdY6YVW/TJHd+lQ/Df3Daw==
+ dependencies:
+ array-union "^1.0.1"
+ glob "^7.0.3"
+ object-assign "^4.0.1"
+ pify "^2.0.0"
+ pinkie-promise "^2.0.0"
+
+globby@^7.1.1:
+ version "7.1.1"
+ resolved "https://registry.npmmirror.com/globby/-/globby-7.1.1.tgz#fb2ccff9401f8600945dfada97440cca972b8680"
+ integrity sha512-yANWAN2DUcBtuus5Cpd+SKROzXHs2iVXFZt/Ykrfz6SAXqacLX25NZpltE+39ceMexYF4TtEadjuSTw8+3wX4g==
+ dependencies:
+ 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"
+
+globby@^8.0.0:
+ version "8.0.2"
+ resolved "https://registry.npmmirror.com/globby/-/globby-8.0.2.tgz#5697619ccd95c5275dbb2d6faa42087c1a941d8d"
+ integrity sha512-yTzMmKygLp8RUpG1Ymu2VXPSJQZjNAZPD4ywgYEaG7e4tBJeUQBO8OpXrf1RCNcEs5alsoJYPAMiIHP0cmeC7w==
+ dependencies:
+ array-union "^1.0.1"
+ dir-glob "2.0.0"
+ fast-glob "^2.0.2"
+ glob "^7.1.2"
+ ignore "^3.3.5"
+ pify "^3.0.0"
+ slash "^1.0.0"
+
+globby@^9.0.0, globby@^9.2.0:
+ version "9.2.0"
+ resolved "https://registry.npmmirror.com/globby/-/globby-9.2.0.tgz#fd029a706c703d29bdd170f4b6db3a3f7a7cb63d"
+ integrity sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==
+ dependencies:
+ "@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"
+
+good-listener@^1.2.2:
+ version "1.2.2"
+ resolved "https://registry.npmmirror.com/good-listener/-/good-listener-1.2.2.tgz#d53b30cdf9313dffb7dc9a0d477096aa6d145c50"
+ integrity sha512-goW1b+d9q/HIwbVYZzZ6SsTr4IgE+WA44A0GmPIQstuOrgsFcT7VEJ48nmr9GaRtNu0XTKacFLGnBPAM6Afouw==
+ dependencies:
+ delegate "^3.1.2"
+
+gopd@^1.0.1, gopd@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.npmmirror.com/gopd/-/gopd-1.2.0.tgz#89f56b8217bdbc8802bd299df6d7f1081d7e51a1"
+ integrity sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==
+
+got@9.6.0:
+ version "9.6.0"
+ resolved "https://registry.npmmirror.com/got/-/got-9.6.0.tgz#edf45e7d67f99545705de1f7bbeeeb121765ed85"
+ integrity sha512-R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==
+ dependencies:
+ "@sindresorhus/is" "^0.14.0"
+ "@szmarczak/http-timer" "^1.1.2"
+ cacheable-request "^6.0.0"
+ decompress-response "^3.3.0"
+ duplexer3 "^0.1.4"
+ get-stream "^4.1.0"
+ lowercase-keys "^1.0.1"
+ mimic-response "^1.0.1"
+ p-cancelable "^1.0.0"
+ to-readable-stream "^1.0.0"
+ url-parse-lax "^3.0.0"
+
+graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.6:
+ version "4.2.11"
+ resolved "https://registry.npmmirror.com/graceful-fs/-/graceful-fs-4.2.11.tgz#4183e4e8bf08bb6e05bbb2f7d2e0c8f712ca40e3"
+ integrity sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==
+
+growly@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.npmmirror.com/growly/-/growly-1.3.0.tgz#f10748cbe76af964b7c96c93c6bcc28af120c081"
+ integrity sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==
+
+gzip-size@^5.0.0:
+ version "5.1.1"
+ resolved "https://registry.npmmirror.com/gzip-size/-/gzip-size-5.1.1.tgz#cb9bee692f87c0612b232840a873904e4c135274"
+ integrity sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==
+ dependencies:
+ duplexer "^0.1.1"
+ pify "^4.0.1"
+
+handle-thing@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.npmmirror.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e"
+ integrity sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==
+
+handlebars@^4.0.3, handlebars@^4.1.0:
+ version "4.7.8"
+ resolved "https://registry.npmmirror.com/handlebars/-/handlebars-4.7.8.tgz#41c42c18b1be2365439188c77c6afae71c0cd9e9"
+ integrity sha512-vafaFqs8MZkRrSX7sFVUdo3ap/eNiLnb4IakshzvP56X5Nr1iGKAIqdX6tMlm6HcNRIkr6AxO5jFEoJzzpT8aQ==
+ dependencies:
+ minimist "^1.2.5"
+ neo-async "^2.6.2"
+ source-map "^0.6.1"
+ wordwrap "^1.0.0"
+ optionalDependencies:
+ uglify-js "^3.1.4"
+
+har-schema@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/har-schema/-/har-schema-2.0.0.tgz#a94c2224ebcac04782a0d9035521f24735b7ec92"
+ integrity sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q==
+
+har-validator@~5.1.3:
+ version "5.1.5"
+ resolved "https://registry.npmmirror.com/har-validator/-/har-validator-5.1.5.tgz#1f0803b9f8cb20c0fa13822df1ecddb36bde1efd"
+ integrity sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==
+ dependencies:
+ ajv "^6.12.3"
+ har-schema "^2.0.0"
+
+has-ansi@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/has-ansi/-/has-ansi-2.0.0.tgz#34f5049ce1ecdf2b0649af3ef24e45ed35416d91"
+ integrity sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==
+ dependencies:
+ ansi-regex "^2.0.0"
+
+has-bigints@^1.0.2:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/has-bigints/-/has-bigints-1.1.0.tgz#28607e965ac967e03cd2a2c70a2636a1edad49fe"
+ integrity sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==
+
+has-color@~0.1.0:
+ version "0.1.7"
+ resolved "https://registry.npmmirror.com/has-color/-/has-color-0.1.7.tgz#67144a5260c34fc3cca677d041daf52fe7b78b2f"
+ integrity sha512-kaNz5OTAYYmt646Hkqw50/qyxP2vFnTVu5AQ1Zmk22Kk5+4Qx6BpO8+u7IKsML5fOsFk0ZT0AcCJNYwcvaLBvw==
+
+has-flag@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/has-flag/-/has-flag-1.0.0.tgz#9d9e793165ce017a00f00418c43f942a7b1d11fa"
+ integrity sha512-DyYHfIYwAJmjAjSSPKANxI8bFY9YtFrgkAfinBojQ8YJTOuOuav64tMUJv584SES4xl74PmuaevIyaLESHdTAA==
+
+has-flag@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/has-flag/-/has-flag-2.0.0.tgz#e8207af1cc7b30d446cc70b734b5e8be18f88d51"
+ integrity sha512-P+1n3MnwjR/Epg9BBo1KT8qbye2g2Ou4sFumihwt6I4tsUX7jnLcX4BTOSKg/B1ZrIYMN9FcEnG4x5a7NB8Eng==
+
+has-flag@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmmirror.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
+ integrity sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==
+
+has-flag@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npmmirror.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
+ integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
+
+has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npmmirror.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854"
+ integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==
+ dependencies:
+ es-define-property "^1.0.0"
+
+has-proto@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.npmmirror.com/has-proto/-/has-proto-1.2.0.tgz#5de5a6eabd95fdffd9818b43055e8065e39fe9d5"
+ integrity sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==
+ dependencies:
+ dunder-proto "^1.0.0"
+
+has-symbols@^1.0.1, has-symbols@^1.0.3, has-symbols@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.1.0.tgz#fc9c6a783a084951d0b971fe1018de813707a338"
+ integrity sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==
+
+has-tostringtag@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc"
+ integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==
+ dependencies:
+ has-symbols "^1.0.3"
+
+has-value@^0.3.1:
+ version "0.3.1"
+ resolved "https://registry.npmmirror.com/has-value/-/has-value-0.3.1.tgz#7b1f58bada62ca827ec0a2078025654845995e1f"
+ integrity sha512-gpG936j8/MzaeID5Yif+577c17TxaDmhuyVgSwtnL/q8UUTySg8Mecb+8Cf1otgLoD7DDH75axp86ER7LFsf3Q==
+ dependencies:
+ get-value "^2.0.3"
+ has-values "^0.1.4"
+ isobject "^2.0.0"
+
+has-value@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/has-value/-/has-value-1.0.0.tgz#18b281da585b1c5c51def24c930ed29a0be6b177"
+ integrity sha512-IBXk4GTsLYdQ7Rvt+GRBrFSVEkmuOUy4re0Xjd9kJSUQpnTrWR4/y9RpfexN9vkAPMFuQoeWKwqzPozRTlasGw==
+ dependencies:
+ get-value "^2.0.6"
+ has-values "^1.0.0"
+ isobject "^3.0.0"
+
+has-values@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.npmmirror.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771"
+ integrity sha512-J8S0cEdWuQbqD9//tlZxiMuMNmxB8PlEwvYwuxsTmR1G5RXUePEX/SJn7aD0GMLieuZYSwNH0cQuJGwnYunXRQ==
+
+has-values@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/has-values/-/has-values-1.0.0.tgz#95b0b63fec2146619a6fe57fe75628d5a39efe4f"
+ integrity sha512-ODYZC64uqzmtfGMEAX/FvZiRyWLpAC3vYnNunURUnkGVTS+mI0smVsWaPydRBsE3g+ok7h960jChO8mFcWlHaQ==
+ dependencies:
+ is-number "^3.0.0"
+ kind-of "^4.0.0"
+
+has@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.npmmirror.com/has/-/has-1.0.4.tgz#2eb2860e000011dae4f1406a86fe80e530fb2ec6"
+ integrity sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==
+
+hash-base@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.npmmirror.com/hash-base/-/hash-base-2.0.2.tgz#66ea1d856db4e8a5470cadf6fce23ae5244ef2e1"
+ integrity sha512-0TROgQ1/SxE6KmxWSvXHvRj90/Xo1JvZShofnYF+f6ZsGtR4eES7WfrQzPalmyagfKZCXpVnitiRebZulWsbiw==
+ dependencies:
+ inherits "^2.0.1"
+
+hash-base@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.npmmirror.com/hash-base/-/hash-base-3.1.0.tgz#55c381d9e06e1d2997a883b4a3fddfe7f0d3af33"
+ integrity sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==
+ dependencies:
+ inherits "^2.0.4"
+ readable-stream "^3.6.0"
+ safe-buffer "^5.2.0"
+
+hash-base@~3.0, hash-base@~3.0.4:
+ version "3.0.5"
+ resolved "https://registry.npmmirror.com/hash-base/-/hash-base-3.0.5.tgz#52480e285395cf7fba17dc4c9e47acdc7f248a8a"
+ integrity sha512-vXm0l45VbcHEVlTCzs8M+s0VeYsB2lnlAaThoLKGXr3bE/VWDOelNUnycUPEhKEaXARL2TEFjBOyUiM6+55KBg==
+ dependencies:
+ inherits "^2.0.4"
+ safe-buffer "^5.2.1"
+
+hash-sum@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npmmirror.com/hash-sum/-/hash-sum-1.0.2.tgz#33b40777754c6432573c120cc3808bbd10d47f04"
+ integrity sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==
+
+hash.js@^1.0.0, hash.js@^1.0.3:
+ version "1.1.7"
+ resolved "https://registry.npmmirror.com/hash.js/-/hash.js-1.1.7.tgz#0babca538e8d4ee4a0f8988d68866537a003cf42"
+ integrity sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==
+ dependencies:
+ inherits "^2.0.3"
+ minimalistic-assert "^1.0.1"
+
+hasown@^2.0.0, hasown@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.npmmirror.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003"
+ integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==
+ dependencies:
+ function-bind "^1.1.2"
+
+he@1.2.x, he@^1.1.0, he@^1.1.1:
+ version "1.2.0"
+ resolved "https://registry.npmmirror.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f"
+ integrity sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==
+
+header-case@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/header-case/-/header-case-1.0.1.tgz#9535973197c144b09613cd65d317ef19963bd02d"
+ integrity sha512-i0q9mkOeSuhXw6bGgiQCCBgY/jlZuV/7dZXyZ9c6LcBrqwvT8eT719E9uxE5LiZftdl+z81Ugbg/VvXV4OJOeQ==
+ dependencies:
+ no-case "^2.2.0"
+ upper-case "^1.1.3"
+
+hex-color-regex@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/hex-color-regex/-/hex-color-regex-1.1.0.tgz#4c06fccb4602fe2602b3c93df82d7e7dbf1a8a8e"
+ integrity sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==
+
+hmac-drbg@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/hmac-drbg/-/hmac-drbg-1.0.1.tgz#d2745701025a6c775a6c545793ed502fc0c649a1"
+ integrity sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==
+ dependencies:
+ hash.js "^1.0.3"
+ minimalistic-assert "^1.0.0"
+ minimalistic-crypto-utils "^1.0.1"
+
+home-or-tmp@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/home-or-tmp/-/home-or-tmp-2.0.0.tgz#e36c3f2d2cae7d746a857e38d18d5f32a7882db8"
+ integrity sha512-ycURW7oUxE2sNiPVw1HVEFsW+ecOpJ5zaj7eC0RlwhibhRBod20muUN8qu/gzx956YrLolVvs1MTXwKgC2rVEg==
+ dependencies:
+ os-homedir "^1.0.0"
+ os-tmpdir "^1.0.1"
+
+home-or-tmp@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmmirror.com/home-or-tmp/-/home-or-tmp-3.0.0.tgz#57a8fe24cf33cdd524860a15821ddc25c86671fb"
+ integrity sha512-pj6ktgQDedSIbzwrC108F9aZadnF2ZJ8mP8QbGq2nLPOmqpdqKWMoU4JPJaFEzpoTl6X/jOwE8BlkTOfVPR98A==
+
+homedir-polyfill@^1.0.1:
+ version "1.0.3"
+ resolved "https://registry.npmmirror.com/homedir-polyfill/-/homedir-polyfill-1.0.3.tgz#743298cef4e5af3e194161fbadcc2151d3a058e8"
+ integrity sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==
+ dependencies:
+ parse-passwd "^1.0.0"
+
+hoopy@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.npmmirror.com/hoopy/-/hoopy-0.1.4.tgz#609207d661100033a9a9402ad3dea677381c1b1d"
+ integrity sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==
+
+hosted-git-info@^2.1.4:
+ version "2.8.9"
+ resolved "https://registry.npmmirror.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9"
+ integrity sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==
+
+hpack.js@^2.1.6:
+ version "2.1.6"
+ resolved "https://registry.npmmirror.com/hpack.js/-/hpack.js-2.1.6.tgz#87774c0949e513f42e84575b3c45681fade2a0b2"
+ integrity sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==
+ dependencies:
+ inherits "^2.0.1"
+ obuf "^1.0.0"
+ readable-stream "^2.0.1"
+ wbuf "^1.1.0"
+
+hsl-regex@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/hsl-regex/-/hsl-regex-1.0.0.tgz#d49330c789ed819e276a4c0d272dffa30b18fe6e"
+ integrity sha512-M5ezZw4LzXbBKMruP+BNANf0k+19hDQMgpzBIYnya//Al+fjNct9Wf3b1WedLqdEs2hKBvxq/jh+DsHJLj0F9A==
+
+hsla-regex@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/hsla-regex/-/hsla-regex-1.0.0.tgz#c1ce7a3168c8c6614033a4b5f7877f3b225f9c38"
+ integrity sha512-7Wn5GMLuHBjZCb2bTmnDOycho0p/7UVaAeqXZGbHrBCl6Yd/xDhQJAXe6Ga9AXJH2I5zY1dEdYw2u1UptnSBJA==
+
+html-encoding-sniffer@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npmmirror.com/html-encoding-sniffer/-/html-encoding-sniffer-1.0.2.tgz#e70d84b94da53aa375e11fe3a351be6642ca46f8"
+ integrity sha512-71lZziiDnsuabfdYiUeWdCVyKuqwWi23L8YeIgV9jSSZHCtb6wB1BKWooH7L3tn4/FuZJMVWyNaIDr4RGmaSYw==
+ dependencies:
+ whatwg-encoding "^1.0.1"
+
+html-entities@^1.3.1:
+ version "1.4.0"
+ resolved "https://registry.npmmirror.com/html-entities/-/html-entities-1.4.0.tgz#cfbd1b01d2afaf9adca1b10ae7dffab98c71d2dc"
+ integrity sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==
+
+html-minifier@^3.2.3:
+ version "3.5.21"
+ resolved "https://registry.npmmirror.com/html-minifier/-/html-minifier-3.5.21.tgz#d0040e054730e354db008463593194015212d20c"
+ integrity sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==
+ dependencies:
+ 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"
+
+html-tags@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/html-tags/-/html-tags-2.0.0.tgz#10b30a386085f43cede353cc8fa7cb0deeea668b"
+ integrity sha512-+Il6N8cCo2wB/Vd3gqy/8TZhTD3QvcVeQLCnZiGkGCH3JP28IgGAY41giccp2W4R3jfyJPAP318FQTa1yU7K7g==
+
+html-webpack-plugin@3.2.0, html-webpack-plugin@^3.2.0:
+ version "3.2.0"
+ resolved "https://registry.npmmirror.com/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz#b01abbd723acaaa7b37b6af4492ebda03d9dd37b"
+ integrity sha512-Br4ifmjQojUP4EmHnRBoUIYcZ9J7M4bTMcm7u6xoIAIuq2Nte4TzXX0533owvkQKQD1WeMTTTyD4Ni4QKxS0Bg==
+ dependencies:
+ 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"
+
+html5-qrcode@^2.3.4:
+ version "2.3.8"
+ resolved "https://registry.npmmirror.com/html5-qrcode/-/html5-qrcode-2.3.8.tgz#0b0cdf7a9926cfd4be530e13a51db47592adfa0d"
+ integrity sha512-jsr4vafJhwoLVEDW3n1KvPnCCXWaQfRng0/EEYk1vNcQGcG/htAdhJX0be8YyqMoSz7+hZvOZSTAepsabiuhiQ==
+
+htmlparser2@^3.8.3:
+ version "3.10.1"
+ resolved "https://registry.npmmirror.com/htmlparser2/-/htmlparser2-3.10.1.tgz#bd679dc3f59897b6a34bb10749c855bb53a9392f"
+ integrity sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==
+ dependencies:
+ 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"
+
+htmlparser2@^6.1.0:
+ version "6.1.0"
+ resolved "https://registry.npmmirror.com/htmlparser2/-/htmlparser2-6.1.0.tgz#c4d762b6c3371a05dbe65e94ae43a9f845fb8fb7"
+ integrity sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==
+ dependencies:
+ domelementtype "^2.0.1"
+ domhandler "^4.0.0"
+ domutils "^2.5.2"
+ entities "^2.0.0"
+
+http-cache-semantics@^4.0.0:
+ version "4.2.0"
+ resolved "https://registry.npmmirror.com/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz#205f4db64f8562b76a4ff9235aa5279839a09dd5"
+ integrity sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==
+
+http-deceiver@^1.2.7:
+ version "1.2.7"
+ resolved "https://registry.npmmirror.com/http-deceiver/-/http-deceiver-1.2.7.tgz#fa7168944ab9a519d337cb0bec7284dc3e723d87"
+ integrity sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==
+
+http-errors@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/http-errors/-/http-errors-2.0.0.tgz#b7774a1486ef73cf7667ac9ae0858c012c57b9d3"
+ integrity sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==
+ dependencies:
+ depd "2.0.0"
+ inherits "2.0.4"
+ setprototypeof "1.2.0"
+ statuses "2.0.1"
+ toidentifier "1.0.1"
+
+http-errors@~1.6.2:
+ version "1.6.3"
+ resolved "https://registry.npmmirror.com/http-errors/-/http-errors-1.6.3.tgz#8b55680bb4be283a0b5bf4ea2e38580be1d9320d"
+ integrity sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==
+ dependencies:
+ depd "~1.1.2"
+ inherits "2.0.3"
+ setprototypeof "1.1.0"
+ statuses ">= 1.4.0 < 2"
+
+http-parser-js@>=0.5.1:
+ version "0.5.10"
+ resolved "https://registry.npmmirror.com/http-parser-js/-/http-parser-js-0.5.10.tgz#b3277bd6d7ed5588e20ea73bf724fcbe44609075"
+ integrity sha512-Pysuw9XpUq5dVc/2SMHpuTY01RFl8fttgcyunjL7eEMhGM3cI4eOmiCycJDVCo/7O7ClfQD3SaI6ftDzqOXYMA==
+
+http-proxy-middleware@0.19.1:
+ version "0.19.1"
+ resolved "https://registry.npmmirror.com/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz#183c7dc4aa1479150306498c210cdaf96080a43a"
+ integrity sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==
+ dependencies:
+ http-proxy "^1.17.0"
+ is-glob "^4.0.0"
+ lodash "^4.17.11"
+ micromatch "^3.1.10"
+
+http-proxy@^1.17.0:
+ version "1.18.1"
+ resolved "https://registry.npmmirror.com/http-proxy/-/http-proxy-1.18.1.tgz#401541f0534884bbf95260334e72f88ee3976549"
+ integrity sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==
+ dependencies:
+ eventemitter3 "^4.0.0"
+ follow-redirects "^1.0.0"
+ requires-port "^1.0.0"
+
+http-signature@~1.2.0:
+ version "1.2.0"
+ resolved "https://registry.npmmirror.com/http-signature/-/http-signature-1.2.0.tgz#9aecd925114772f3d95b65a60abb8f7c18fbace1"
+ integrity sha512-CAbnr6Rz4CYQkLYUtSNXxQPUH2gK8f3iWexVlsnMeD+GjlsQ0Xsy1cOX+mN3dtxYomRy21CiOzU8Uhw6OwncEQ==
+ dependencies:
+ assert-plus "^1.0.0"
+ jsprim "^1.2.2"
+ sshpk "^1.7.0"
+
+https-browserify@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/https-browserify/-/https-browserify-1.0.0.tgz#ec06c10e0a34c0f2faf199f7fd7fc78fffd03c73"
+ integrity sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==
+
+husky@1.3.1:
+ version "1.3.1"
+ resolved "https://registry.npmmirror.com/husky/-/husky-1.3.1.tgz#26823e399300388ca2afff11cfa8a86b0033fae0"
+ integrity sha512-86U6sVVVf4b5NYSZ0yvv88dRgBSSXXmHaiq5pP4KDj5JVzdwKgBjEtUPOm8hcoytezFwbU+7gotXNhpHdystlg==
+ dependencies:
+ cosmiconfig "^5.0.7"
+ execa "^1.0.0"
+ find-up "^3.0.0"
+ get-stdin "^6.0.0"
+ is-ci "^2.0.0"
+ pkg-dir "^3.0.0"
+ please-upgrade-node "^3.1.1"
+ read-pkg "^4.0.1"
+ run-node "^1.0.0"
+ slash "^2.0.0"
+
+iconv-lite@0.4.24, iconv-lite@^0.4.17, iconv-lite@^0.4.24:
+ version "0.4.24"
+ resolved "https://registry.npmmirror.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
+ integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
+ dependencies:
+ safer-buffer ">= 2.1.2 < 3"
+
+icss-replace-symbols@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz#06ea6f83679a7749e386cfe1fe812ae5db223ded"
+ integrity sha512-chIaY3Vh2mh2Q3RGXttaDIzeiPvaVXJ+C4DAh/w3c37SKZ/U6PGMmuicR2EQQp9bKG8zLMCl7I+PtIoOOPp8Gg==
+
+icss-utils@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npmmirror.com/icss-utils/-/icss-utils-2.1.0.tgz#83f0a0ec378bf3246178b6c2ad9136f135b1c962"
+ integrity sha512-bsVoyn/1V4R1kYYjLcWLedozAM4FClZUdjE9nIr8uWY7xs78y9DATgwz2wGU7M+7z55KenmmTkN2DVJ7bqzjAA==
+ dependencies:
+ postcss "^6.0.1"
+
+ieee754@^1.1.4:
+ version "1.2.1"
+ resolved "https://registry.npmmirror.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
+ integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
+
+iferr@^0.1.5:
+ version "0.1.5"
+ resolved "https://registry.npmmirror.com/iferr/-/iferr-0.1.5.tgz#c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501"
+ integrity sha512-DUNFN5j7Tln0D+TxzloUjKB+CtVu6myn0JEFak6dG18mNt9YkQ6lzGCdafwofISZ1lLF3xRHJ98VKy9ynkcFaA==
+
+ignore@^3.3.3, ignore@^3.3.5:
+ version "3.3.10"
+ resolved "https://registry.npmmirror.com/ignore/-/ignore-3.3.10.tgz#0a97fb876986e8081c631160f8f9f389157f0043"
+ integrity sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==
+
+ignore@^4.0.3, ignore@^4.0.6:
+ version "4.0.6"
+ resolved "https://registry.npmmirror.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
+ integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
+
+image-size@^0.5.1:
+ version "0.5.5"
+ resolved "https://registry.npmmirror.com/image-size/-/image-size-0.5.5.tgz#09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c"
+ integrity sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==
+
+immediate@~3.0.5:
+ version "3.0.6"
+ resolved "https://registry.npmmirror.com/immediate/-/immediate-3.0.6.tgz#9db1dbd0faf8de6fbe0f5dd5e56bb606280de69b"
+ integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==
+
+import-cwd@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.npmmirror.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9"
+ integrity sha512-Ew5AZzJQFqrOV5BTW3EIoHAnoie1LojZLXKcCQ/yTRyVZosBhK1x1ViYjHGf5pAFOq8ZyChZp6m/fSN7pJyZtg==
+ dependencies:
+ import-from "^2.1.0"
+
+import-fresh@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/import-fresh/-/import-fresh-2.0.0.tgz#d81355c15612d386c61f9ddd3922d4304822a546"
+ integrity sha512-eZ5H8rcgYazHbKC3PG4ClHNykCSxtAhxSSEM+2mb+7evD2CKF5V7c0dNum7AdpDh0ZdICwZY9sRSn8f+KH96sg==
+ dependencies:
+ caller-path "^2.0.0"
+ resolve-from "^3.0.0"
+
+import-fresh@^3.0.0:
+ version "3.3.1"
+ resolved "https://registry.npmmirror.com/import-fresh/-/import-fresh-3.3.1.tgz#9cecb56503c0ada1f2741dbbd6546e4b13b57ccf"
+ integrity sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==
+ dependencies:
+ parent-module "^1.0.0"
+ resolve-from "^4.0.0"
+
+import-from@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npmmirror.com/import-from/-/import-from-2.1.0.tgz#335db7f2a7affd53aaa471d4b8021dee36b7f3b1"
+ integrity sha512-0vdnLL2wSGnhlRmzHJAg5JHjt1l2vYhzJ7tNLGbeVg0fse56tpGaH0uzH+r9Slej+BSXXEHvBKDEnVSLLE9/+w==
+ dependencies:
+ resolve-from "^3.0.0"
+
+import-local@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/import-local/-/import-local-1.0.0.tgz#5e4ffdc03f4fe6c009c6729beb29631c2f8227bc"
+ integrity sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==
+ dependencies:
+ pkg-dir "^2.0.0"
+ resolve-cwd "^2.0.0"
+
+import-local@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/import-local/-/import-local-2.0.0.tgz#55070be38a5993cf18ef6db7e961f5bee5c5a09d"
+ integrity sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==
+ dependencies:
+ pkg-dir "^3.0.0"
+ resolve-cwd "^2.0.0"
+
+imurmurhash@^0.1.4:
+ version "0.1.4"
+ resolved "https://registry.npmmirror.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
+ integrity sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==
+
+indent-string@^3.0.0:
+ version "3.2.0"
+ resolved "https://registry.npmmirror.com/indent-string/-/indent-string-3.2.0.tgz#4a5fd6d27cc332f37e5419a504dbb837105c9289"
+ integrity sha512-BYqTHXTGUIvg7t1r4sJNKcbDZkL92nkXA8YtRpbjFHRHGDL/NtUeiBJMeE60kIFN/Mg8ESaWQvftaYMGJzQZCQ==
+
+indexes-of@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/indexes-of/-/indexes-of-1.0.1.tgz#f30f716c8e2bd346c7b67d3df3915566a7c05607"
+ integrity sha512-bup+4tap3Hympa+JBJUG7XuOsdNQ6fxt0MHyXMKuLBKn0OqsTfvUxkUrroEX1+B2VsSHvCjiIcZVxRtYa4nllA==
+
+infer-owner@^1.0.3:
+ version "1.0.4"
+ resolved "https://registry.npmmirror.com/infer-owner/-/infer-owner-1.0.4.tgz#c4cefcaa8e51051c2a40ba2ce8a3d27295af9467"
+ integrity sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==
+
+inflight@^1.0.4:
+ version "1.0.6"
+ resolved "https://registry.npmmirror.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
+ integrity sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==
+ dependencies:
+ once "^1.3.0"
+ wrappy "1"
+
+inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.1, inherits@~2.0.3:
+ version "2.0.4"
+ resolved "https://registry.npmmirror.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
+ integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
+
+inherits@2.0.3:
+ version "2.0.3"
+ resolved "https://registry.npmmirror.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
+ integrity sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==
+
+ini@^1.3.4:
+ version "1.3.8"
+ resolved "https://registry.npmmirror.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c"
+ integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==
+
+inquirer@^3.0.6:
+ version "3.3.0"
+ resolved "https://registry.npmmirror.com/inquirer/-/inquirer-3.3.0.tgz#9dd2f2ad765dcab1ff0443b491442a20ba227dc9"
+ integrity sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==
+ dependencies:
+ 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"
+
+inquirer@^6.0.0, inquirer@^6.2.2:
+ version "6.5.2"
+ resolved "https://registry.npmmirror.com/inquirer/-/inquirer-6.5.2.tgz#ad50942375d036d327ff528c08bd5fab089928ca"
+ integrity sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==
+ dependencies:
+ 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"
+
+internal-ip@^4.3.0:
+ version "4.3.0"
+ resolved "https://registry.npmmirror.com/internal-ip/-/internal-ip-4.3.0.tgz#845452baad9d2ca3b69c635a137acb9a0dad0907"
+ integrity sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==
+ dependencies:
+ default-gateway "^4.2.0"
+ ipaddr.js "^1.9.0"
+
+internal-slot@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/internal-slot/-/internal-slot-1.1.0.tgz#1eac91762947d2f7056bc838d93e13b2e9604961"
+ integrity sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==
+ dependencies:
+ es-errors "^1.3.0"
+ hasown "^2.0.2"
+ side-channel "^1.1.0"
+
+interpret@^1.2.0:
+ version "1.4.0"
+ resolved "https://registry.npmmirror.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e"
+ integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==
+
+invariant@^2.2.2, invariant@^2.2.4:
+ version "2.2.4"
+ resolved "https://registry.npmmirror.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
+ integrity sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==
+ dependencies:
+ loose-envify "^1.0.0"
+
+invert-kv@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/invert-kv/-/invert-kv-2.0.0.tgz#7393f5afa59ec9ff5f67a27620d11c226e3eec02"
+ integrity sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==
+
+ip-regex@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npmmirror.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9"
+ integrity sha512-58yWmlHpp7VYfcdTwMTvwMmqx/Elfxjd9RXTDyMsbL7lLWmhMylLEqiYVLKuLzOZqVgiWXD9MfR62Vv89VRxkw==
+
+ip@^1.1.0, ip@^1.1.5:
+ version "1.1.9"
+ resolved "https://registry.npmmirror.com/ip/-/ip-1.1.9.tgz#8dfbcc99a754d07f425310b86a99546b1151e396"
+ integrity sha512-cyRxvOEpNHNtchU3Ln9KC/auJgup87llfQpQ+t5ghoC/UhL16SWzbueiCsdTnWmqAWl7LadfuwhlqmtOaqMHdQ==
+
+ipaddr.js@1.9.1, ipaddr.js@^1.9.0:
+ version "1.9.1"
+ resolved "https://registry.npmmirror.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3"
+ integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==
+
+is-absolute-url@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.npmmirror.com/is-absolute-url/-/is-absolute-url-2.1.0.tgz#50530dfb84fcc9aa7dbe7852e83a37b93b9f2aa6"
+ integrity sha512-vOx7VprsKyllwjSkLV79NIhpyLfr3jAp7VaTCMXOJHu4m0Ew1CZ2fcjASwmV1jI3BWuWHB013M48eyeldk9gYg==
+
+is-absolute-url@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.npmmirror.com/is-absolute-url/-/is-absolute-url-3.0.3.tgz#96c6a22b6a23929b11ea0afb1836c36ad4a5d698"
+ integrity sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==
+
+is-absolute@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/is-absolute/-/is-absolute-1.0.0.tgz#395e1ae84b11f26ad1795e73c17378e48a301576"
+ integrity sha512-dOWoqflvcydARa360Gvv18DZ/gRuHKi2NU/wU5X1ZFzdYfH29nkiNZsF3mp4OJ3H4yo9Mx8A/uAGNzpzPN3yBA==
+ dependencies:
+ is-relative "^1.0.0"
+ is-windows "^1.0.1"
+
+is-accessor-descriptor@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/is-accessor-descriptor/-/is-accessor-descriptor-1.0.1.tgz#3223b10628354644b86260db29b3e693f5ceedd4"
+ integrity sha512-YBUanLI8Yoihw923YeFUS5fs0fF2f5TSFTNiYAAzhhDscDa3lEqYuz1pDOEP5KvX94I9ey3vsqjJcLVFVU+3QA==
+ dependencies:
+ hasown "^2.0.0"
+
+is-arguments@^1.1.1:
+ version "1.2.0"
+ resolved "https://registry.npmmirror.com/is-arguments/-/is-arguments-1.2.0.tgz#ad58c6aecf563b78ef2bf04df540da8f5d7d8e1b"
+ integrity sha512-7bVbi0huj/wrIAOzb8U1aszg9kdi3KN/CyU19CTI7tAoZYEZoL9yCDXpbXN+uPsuWnP02cyug1gleqq+TU+YCA==
+ dependencies:
+ call-bound "^1.0.2"
+ has-tostringtag "^1.0.2"
+
+is-array-buffer@^3.0.4, is-array-buffer@^3.0.5:
+ version "3.0.5"
+ resolved "https://registry.npmmirror.com/is-array-buffer/-/is-array-buffer-3.0.5.tgz#65742e1e687bd2cc666253068fd8707fe4d44280"
+ integrity sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==
+ dependencies:
+ call-bind "^1.0.8"
+ call-bound "^1.0.3"
+ get-intrinsic "^1.2.6"
+
+is-arrayish@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
+ integrity sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==
+
+is-arrayish@^0.3.1:
+ version "0.3.2"
+ resolved "https://registry.npmmirror.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03"
+ integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==
+
+is-async-function@^2.0.0:
+ version "2.1.1"
+ resolved "https://registry.npmmirror.com/is-async-function/-/is-async-function-2.1.1.tgz#3e69018c8e04e73b738793d020bfe884b9fd3523"
+ integrity sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==
+ dependencies:
+ async-function "^1.0.0"
+ call-bound "^1.0.3"
+ get-proto "^1.0.1"
+ has-tostringtag "^1.0.2"
+ safe-regex-test "^1.1.0"
+
+is-bigint@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/is-bigint/-/is-bigint-1.1.0.tgz#dda7a3445df57a42583db4228682eba7c4170672"
+ integrity sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==
+ dependencies:
+ has-bigints "^1.0.2"
+
+is-binary-path@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-1.0.1.tgz#75f16642b480f187a711c814161fd3a4a7655898"
+ integrity sha512-9fRVlXc0uCxEDj1nQzaWONSpbTfx0FmJfzHF7pwlI8DkWGoHBBea4Pg5Ky0ojwwxQmnSifgbKkI06Qv0Ljgj+Q==
+ dependencies:
+ binary-extensions "^1.0.0"
+
+is-binary-path@~2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npmmirror.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
+ integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
+ dependencies:
+ binary-extensions "^2.0.0"
+
+is-boolean-object@^1.2.1:
+ version "1.2.2"
+ resolved "https://registry.npmmirror.com/is-boolean-object/-/is-boolean-object-1.2.2.tgz#7067f47709809a393c71ff5bb3e135d8a9215d9e"
+ integrity sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==
+ dependencies:
+ call-bound "^1.0.3"
+ has-tostringtag "^1.0.2"
+
+is-buffer@^1.1.5:
+ version "1.1.6"
+ resolved "https://registry.npmmirror.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
+ integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==
+
+is-callable@^1.2.7:
+ version "1.2.7"
+ resolved "https://registry.npmmirror.com/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055"
+ integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==
+
+is-ci@^1.0.10:
+ version "1.2.1"
+ resolved "https://registry.npmmirror.com/is-ci/-/is-ci-1.2.1.tgz#e3779c8ee17fccf428488f6e281187f2e632841c"
+ integrity sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==
+ dependencies:
+ ci-info "^1.5.0"
+
+is-ci@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c"
+ integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==
+ dependencies:
+ ci-info "^2.0.0"
+
+is-color-stop@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/is-color-stop/-/is-color-stop-1.1.0.tgz#cfff471aee4dd5c9e158598fbe12967b5cdad345"
+ integrity sha512-H1U8Vz0cfXNujrJzEcvvwMDW9Ra+biSYA3ThdQvAnMLJkEHQXn6bWzLkxHtVYJ+Sdbx0b6finn3jZiaVe7MAHA==
+ dependencies:
+ 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-core-module@^2.16.0:
+ version "2.16.1"
+ resolved "https://registry.npmmirror.com/is-core-module/-/is-core-module-2.16.1.tgz#2a98801a849f43e2add644fbb6bc6229b19a4ef4"
+ integrity sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==
+ dependencies:
+ hasown "^2.0.2"
+
+is-data-descriptor@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/is-data-descriptor/-/is-data-descriptor-1.0.1.tgz#2109164426166d32ea38c405c1e0945d9e6a4eeb"
+ integrity sha512-bc4NlCDiCr28U4aEsQ3Qs2491gVq4V8G7MQyws968ImqjKuYtTJXrl7Vq7jsN7Ly/C3xj5KWFrY7sHNeDkAzXw==
+ dependencies:
+ hasown "^2.0.0"
+
+is-data-view@^1.0.1, is-data-view@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npmmirror.com/is-data-view/-/is-data-view-1.0.2.tgz#bae0a41b9688986c2188dda6657e56b8f9e63b8e"
+ integrity sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==
+ dependencies:
+ call-bound "^1.0.2"
+ get-intrinsic "^1.2.6"
+ is-typed-array "^1.1.13"
+
+is-date-object@^1.0.5, is-date-object@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/is-date-object/-/is-date-object-1.1.0.tgz#ad85541996fc7aa8b2729701d27b7319f95d82f7"
+ integrity sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==
+ dependencies:
+ call-bound "^1.0.2"
+ has-tostringtag "^1.0.2"
+
+is-descriptor@^0.1.0:
+ version "0.1.7"
+ resolved "https://registry.npmmirror.com/is-descriptor/-/is-descriptor-0.1.7.tgz#2727eb61fd789dcd5bdf0ed4569f551d2fe3be33"
+ integrity sha512-C3grZTvObeN1xud4cRWl366OMXZTj0+HGyk4hvfpx4ZHt1Pb60ANSXqCK7pdOTeUQpRzECBSTphqvD7U+l22Eg==
+ dependencies:
+ is-accessor-descriptor "^1.0.1"
+ is-data-descriptor "^1.0.1"
+
+is-descriptor@^1.0.0, is-descriptor@^1.0.2:
+ version "1.0.3"
+ resolved "https://registry.npmmirror.com/is-descriptor/-/is-descriptor-1.0.3.tgz#92d27cb3cd311c4977a4db47df457234a13cb306"
+ integrity sha512-JCNNGbwWZEVaSPtS45mdtrneRWJFp07LLmykxeFV5F6oBvNF8vHSfJuJgoT472pSfk+Mf8VnlrspaFBHWM8JAw==
+ dependencies:
+ is-accessor-descriptor "^1.0.1"
+ is-data-descriptor "^1.0.1"
+
+is-directory@^0.3.1:
+ version "0.3.1"
+ resolved "https://registry.npmmirror.com/is-directory/-/is-directory-0.3.1.tgz#61339b6f2475fc772fd9c9d83f5c8575dc154ae1"
+ integrity sha512-yVChGzahRFvbkscn2MlwGismPO12i9+znNruC5gVEntG3qu0xQMzsGg/JFbrsqDOHtHFPci+V5aP5T9I+yeKqw==
+
+is-dotfile@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.npmmirror.com/is-dotfile/-/is-dotfile-1.0.3.tgz#a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1"
+ integrity sha512-9YclgOGtN/f8zx0Pr4FQYMdibBiTaH3sn52vjYip4ZSf6C4/6RfTEZ+MR4GvKhCxdPh21Bg42/WL55f6KSnKpg==
+
+is-equal-shallow@^0.1.3:
+ version "0.1.3"
+ resolved "https://registry.npmmirror.com/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz#2238098fc221de0bcfa5d9eac4c45d638aa1c534"
+ integrity sha512-0EygVC5qPvIyb+gSz7zdD5/AAoS6Qrx1e//6N4yv4oNm30kqvdmG66oZFWVlQHUWe5OjP08FuTw2IdT0EOTcYA==
+ dependencies:
+ is-primitive "^2.0.0"
+
+is-extendable@^0.1.0, is-extendable@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.npmmirror.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89"
+ integrity sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==
+
+is-extendable@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4"
+ integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==
+ dependencies:
+ is-plain-object "^2.0.4"
+
+is-extglob@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/is-extglob/-/is-extglob-1.0.0.tgz#ac468177c4943405a092fc8f29760c6ffc6206c0"
+ integrity sha512-7Q+VbVafe6x2T+Tu6NcOf6sRklazEPmBoB3IWk3WdGZM2iGUwU/Oe3Wtq5lSEkDTTlpp8yx+5t4pzO/i9Ty1ww==
+
+is-extglob@^2.1.0, is-extglob@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.npmmirror.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
+ integrity sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==
+
+is-finalizationregistry@^1.1.0:
+ version "1.1.1"
+ resolved "https://registry.npmmirror.com/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz#eefdcdc6c94ddd0674d9c85887bf93f944a97c90"
+ integrity sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==
+ dependencies:
+ call-bound "^1.0.3"
+
+is-finite@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/is-finite/-/is-finite-1.1.0.tgz#904135c77fb42c0641d6aa1bcdbc4daa8da082f3"
+ integrity sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==
+
+is-fullwidth-code-point@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
+ integrity sha512-1pqUqRjkhPJ9miNq9SwMfdvi6lBJcd6eFxvfaivQhaH3SgisfiuudvFntdKOmxuee/77l+FPjKrQjWvmPjWrRw==
+ dependencies:
+ number-is-nan "^1.0.0"
+
+is-fullwidth-code-point@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
+ integrity sha512-VHskAKYM8RfSFXwee5t5cbN5PZeq1Wrh6qd5bkyiXIf6UQcN6w/A0eXM9r6t8d+GYOh+o6ZhiEnb88LN/Y8m2w==
+
+is-fullwidth-code-point@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmmirror.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
+ integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
+
+is-generator-fn@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/is-generator-fn/-/is-generator-fn-1.0.0.tgz#969d49e1bb3329f6bb7f09089be26578b2ddd46a"
+ integrity sha512-95jJZX6O/gdekidH2usRBr9WdRw4LU56CttPstXFxvG0r3QUE9eaIdz2p2Y7zrm6jxz7SjByAo1AtzwGlRvfOg==
+
+is-generator-function@^1.0.10:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/is-generator-function/-/is-generator-function-1.1.0.tgz#bf3eeda931201394f57b5dba2800f91a238309ca"
+ integrity sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==
+ dependencies:
+ call-bound "^1.0.3"
+ get-proto "^1.0.0"
+ has-tostringtag "^1.0.2"
+ safe-regex-test "^1.1.0"
+
+is-glob@^2.0.0, is-glob@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.npmmirror.com/is-glob/-/is-glob-2.0.1.tgz#d096f926a3ded5600f3fdfd91198cb0888c2d863"
+ integrity sha512-a1dBeB19NXsf/E0+FHqkagizel/LQw2DjSQpvQrj3zT+jYPpaUCryPnrQajXKFLCMuf4I6FhRpaGtw4lPrG6Eg==
+ dependencies:
+ is-extglob "^1.0.0"
+
+is-glob@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.npmmirror.com/is-glob/-/is-glob-3.1.0.tgz#7ba5ae24217804ac70707b96922567486cc3e84a"
+ integrity sha512-UFpDDrPgM6qpnFNI+rh/p3bUaq9hKLZN8bMUWzxmcnZVS3omf4IPK+BrewlnWjO1WmUsMYuSjKh4UJuV4+Lqmw==
+ dependencies:
+ is-extglob "^2.1.0"
+
+is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1:
+ version "4.0.3"
+ resolved "https://registry.npmmirror.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
+ integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
+ dependencies:
+ is-extglob "^2.1.1"
+
+is-lower-case@^1.1.0:
+ version "1.1.3"
+ resolved "https://registry.npmmirror.com/is-lower-case/-/is-lower-case-1.1.3.tgz#7e147be4768dc466db3bfb21cc60b31e6ad69393"
+ integrity sha512-+5A1e/WJpLLXZEDlgz4G//WYSHyQBD32qa4Jd3Lw06qQlv3fJHnp3YIHjTQSGzHMgzmVKz2ZP3rBxTHkPw/lxA==
+ dependencies:
+ lower-case "^1.1.0"
+
+is-map@^2.0.3:
+ version "2.0.3"
+ resolved "https://registry.npmmirror.com/is-map/-/is-map-2.0.3.tgz#ede96b7fe1e270b3c4465e3a465658764926d62e"
+ integrity sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==
+
+is-negative-zero@^2.0.3:
+ version "2.0.3"
+ resolved "https://registry.npmmirror.com/is-negative-zero/-/is-negative-zero-2.0.3.tgz#ced903a027aca6381b777a5743069d7376a49747"
+ integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==
+
+is-number-object@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npmmirror.com/is-number-object/-/is-number-object-1.1.1.tgz#144b21e95a1bc148205dcc2814a9134ec41b2541"
+ integrity sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==
+ dependencies:
+ call-bound "^1.0.3"
+ has-tostringtag "^1.0.2"
+
+is-number@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npmmirror.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f"
+ integrity sha512-QUzH43Gfb9+5yckcrSA0VBDwEtDUchrk4F6tfJZQuNzDJbEDB9cZNzSfXGQ1jqmdDY/kl41lUOWM9syA8z8jlg==
+ dependencies:
+ kind-of "^3.0.2"
+
+is-number@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmmirror.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195"
+ integrity sha512-4cboCqIpliH+mAvFNegjZQ4kgKc3ZUhQVr3HvWbSh5q3WH2v82ct+T2Y1hdU5Gdtorx/cLifQjqCbL7bpznLTg==
+ dependencies:
+ kind-of "^3.0.2"
+
+is-number@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npmmirror.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff"
+ integrity sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ==
+
+is-number@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.npmmirror.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
+ integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
+
+is-obj@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"
+ integrity sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==
+
+is-obj@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/is-obj/-/is-obj-2.0.0.tgz#473fb05d973705e3fd9620545018ca8e22ef4982"
+ integrity sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==
+
+is-observable@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/is-observable/-/is-observable-1.1.0.tgz#b3e986c8f44de950867cab5403f5a3465005975e"
+ integrity sha512-NqCa4Sa2d+u7BWc6CukaObG3Fh+CU9bvixbpcXYhy2VvYS7vVGIdAgnIS5Ks3A/cqk4rebLJ9s8zBstT2aKnIA==
+ dependencies:
+ symbol-observable "^1.1.0"
+
+is-path-cwd@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/is-path-cwd/-/is-path-cwd-1.0.0.tgz#d225ec23132e89edd38fda767472e62e65f1106d"
+ integrity sha512-cnS56eR9SPAscL77ik76ATVqoPARTqPIVkMDVxRaWH06zT+6+CzIroYRJ0VVvm0Z1zfAvxvz9i/D3Ppjaqt5Nw==
+
+is-path-cwd@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.npmmirror.com/is-path-cwd/-/is-path-cwd-2.2.0.tgz#67d43b82664a7b5191fd9119127eb300048a9fdb"
+ integrity sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==
+
+is-path-in-cwd@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz#5ac48b345ef675339bd6c7a48a912110b241cf52"
+ integrity sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==
+ dependencies:
+ is-path-inside "^1.0.0"
+
+is-path-in-cwd@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.npmmirror.com/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz#bfe2dca26c69f397265a4009963602935a053acb"
+ integrity sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==
+ dependencies:
+ is-path-inside "^2.1.0"
+
+is-path-inside@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036"
+ integrity sha512-qhsCR/Esx4U4hg/9I19OVUAJkGWtjRYHMRgUMZE2TDdj+Ag+kttZanLupfddNyglzz50cUlmWzUaI37GDfNx/g==
+ dependencies:
+ path-is-inside "^1.0.1"
+
+is-path-inside@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npmmirror.com/is-path-inside/-/is-path-inside-2.1.0.tgz#7c9810587d659a40d27bcdb4d5616eab059494b2"
+ integrity sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==
+ dependencies:
+ path-is-inside "^1.0.2"
+
+is-plain-obj@^1.1:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/is-plain-obj/-/is-plain-obj-1.1.0.tgz#71a50c8429dfca773c92a390a4a03b39fcd51d3e"
+ integrity sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==
+
+is-plain-object@^2.0.3, is-plain-object@^2.0.4:
+ version "2.0.4"
+ resolved "https://registry.npmmirror.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
+ integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==
+ dependencies:
+ isobject "^3.0.1"
+
+is-posix-bracket@^0.1.0:
+ version "0.1.1"
+ resolved "https://registry.npmmirror.com/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz#3334dc79774368e92f016e6fbc0a88f5cd6e6bc4"
+ integrity sha512-Yu68oeXJ7LeWNmZ3Zov/xg/oDBnBK2RNxwYY1ilNJX+tKKZqgPK+qOn/Gs9jEu66KDY9Netf5XLKNGzas/vPfQ==
+
+is-primitive@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/is-primitive/-/is-primitive-2.0.0.tgz#207bab91638499c07b2adf240a41a87210034575"
+ integrity sha512-N3w1tFaRfk3UrPfqeRyD+GYDASU3W5VinKhlORy8EWVf/sIdDL9GAcew85XmktCfH+ngG7SRXEVDoO18WMdB/Q==
+
+is-promise@^2.1.0:
+ version "2.2.2"
+ resolved "https://registry.npmmirror.com/is-promise/-/is-promise-2.2.2.tgz#39ab959ccbf9a774cf079f7b40c7a26f763135f1"
+ integrity sha512-+lP4/6lKUBfQjZ2pdxThZvLUAafmZb8OAxFb8XXtiQmS35INgr85hdOGoEs124ez1FCnZJt6jau/T+alh58QFQ==
+
+is-regex@^1.1.4, is-regex@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.npmmirror.com/is-regex/-/is-regex-1.2.1.tgz#76d70a3ed10ef9be48eb577887d74205bf0cad22"
+ integrity sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==
+ dependencies:
+ call-bound "^1.0.2"
+ gopd "^1.2.0"
+ has-tostringtag "^1.0.2"
+ hasown "^2.0.2"
+
+is-regexp@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069"
+ integrity sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==
+
+is-relative@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/is-relative/-/is-relative-1.0.0.tgz#a1bb6935ce8c5dba1e8b9754b9b2dcc020e2260d"
+ integrity sha512-Kw/ReK0iqwKeu0MITLFuj0jbPAmEiOsIwyIXvvbfa6QfmN9pkD1M+8pdk7Rl/dTKbH34/XBFMbgD4iMJhLQbGA==
+ dependencies:
+ is-unc-path "^1.0.0"
+
+is-resolvable@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/is-resolvable/-/is-resolvable-1.1.0.tgz#fb18f87ce1feb925169c9a407c19318a3206ed88"
+ integrity sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==
+
+is-set@^2.0.3:
+ version "2.0.3"
+ resolved "https://registry.npmmirror.com/is-set/-/is-set-2.0.3.tgz#8ab209ea424608141372ded6e0cb200ef1d9d01d"
+ integrity sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==
+
+is-shared-array-buffer@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.npmmirror.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz#9b67844bd9b7f246ba0708c3a93e34269c774f6f"
+ integrity sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==
+ dependencies:
+ call-bound "^1.0.3"
+
+is-stream@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44"
+ integrity sha512-uQPm8kcs47jx38atAcWTVxyltQYoPT68y9aWYdV6yWXSyW8mzSat0TL6CiWdZeCdF3KrAvpVtnHbTv4RN+rqdQ==
+
+is-string@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npmmirror.com/is-string/-/is-string-1.1.1.tgz#92ea3f3d5c5b6e039ca8677e5ac8d07ea773cbb9"
+ integrity sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==
+ dependencies:
+ call-bound "^1.0.3"
+ has-tostringtag "^1.0.2"
+
+is-symbol@^1.0.4, is-symbol@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npmmirror.com/is-symbol/-/is-symbol-1.1.1.tgz#f47761279f532e2b05a7024a7506dbbedacd0634"
+ integrity sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==
+ dependencies:
+ call-bound "^1.0.2"
+ has-symbols "^1.1.0"
+ safe-regex-test "^1.1.0"
+
+is-typed-array@^1.1.13, is-typed-array@^1.1.14, is-typed-array@^1.1.15:
+ version "1.1.15"
+ resolved "https://registry.npmmirror.com/is-typed-array/-/is-typed-array-1.1.15.tgz#4bfb4a45b61cee83a5a46fba778e4e8d59c0ce0b"
+ integrity sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==
+ dependencies:
+ which-typed-array "^1.1.16"
+
+is-typedarray@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/is-typedarray/-/is-typedarray-1.0.0.tgz#e479c80858df0c1b11ddda6940f96011fcda4a9a"
+ integrity sha512-cyA56iCMHAh5CdzjJIa4aohJyeO1YbwLi3Jc35MmRU6poroFjIGZzUzupGiRPOjgHg9TLu43xbpwXk523fMxKA==
+
+is-unc-path@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/is-unc-path/-/is-unc-path-1.0.0.tgz#d731e8898ed090a12c352ad2eaed5095ad322c9d"
+ integrity sha512-mrGpVd0fs7WWLfVsStvgF6iEJnbjDFZh9/emhRDcGWTduTfNHd9CHeUwH3gYIjdbwo4On6hunkztwOaAw0yllQ==
+ dependencies:
+ unc-path-regex "^0.1.2"
+
+is-upper-case@^1.1.0:
+ version "1.1.2"
+ resolved "https://registry.npmmirror.com/is-upper-case/-/is-upper-case-1.1.2.tgz#8d0b1fa7e7933a1e58483600ec7d9661cbaf756f"
+ integrity sha512-GQYSJMgfeAmVwh9ixyk888l7OIhNAGKtY6QA+IrWlu9MDTCaXmeozOZ2S9Knj7bQwBO/H6J2kb+pbyTUiMNbsw==
+ dependencies:
+ upper-case "^1.1.0"
+
+is-utf8@^0.2.0:
+ version "0.2.1"
+ resolved "https://registry.npmmirror.com/is-utf8/-/is-utf8-0.2.1.tgz#4b0da1442104d1b336340e80797e865cf39f7d72"
+ integrity sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==
+
+is-weakmap@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.npmmirror.com/is-weakmap/-/is-weakmap-2.0.2.tgz#bf72615d649dfe5f699079c54b83e47d1ae19cfd"
+ integrity sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==
+
+is-weakref@^1.0.2, is-weakref@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npmmirror.com/is-weakref/-/is-weakref-1.1.1.tgz#eea430182be8d64174bd96bffbc46f21bf3f9293"
+ integrity sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==
+ dependencies:
+ call-bound "^1.0.3"
+
+is-weakset@^2.0.3:
+ version "2.0.4"
+ resolved "https://registry.npmmirror.com/is-weakset/-/is-weakset-2.0.4.tgz#c9f5deb0bc1906c6d6f1027f284ddf459249daca"
+ integrity sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==
+ dependencies:
+ call-bound "^1.0.3"
+ get-intrinsic "^1.2.6"
+
+is-whitespace@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.npmmirror.com/is-whitespace/-/is-whitespace-0.3.0.tgz#1639ecb1be036aec69a54cbb401cfbed7114ab7f"
+ integrity sha512-RydPhl4S6JwAyj0JJjshWJEFG6hNye3pZFBRZaTUfZFwGHxzppNaNOVgQuS/E/SlhrApuMXrpnK1EEIXfdo3Dg==
+
+is-windows@^1.0.1, is-windows@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npmmirror.com/is-windows/-/is-windows-1.0.2.tgz#d1850eb9791ecd18e6182ce12a30f396634bb19d"
+ integrity sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==
+
+is-wsl@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/is-wsl/-/is-wsl-1.1.0.tgz#1f16e4aa22b04d1336b66188a66af3c600c3a66d"
+ integrity sha512-gfygJYZ2gLTDlmbWMI0CE2MwnFzSN/2SZfkMlItC4K/JBlsWVDB0bO6XhqcY13YXE7iMcAJnzTCJjPiTeJJ0Mw==
+
+isarray@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.npmmirror.com/isarray/-/isarray-0.0.1.tgz#8a18acfca9a8f4177e09abfc6038939b05d1eedf"
+ integrity sha512-D2S+3GLxWH+uhrNEcoh/fnmYeP8E8/zHl644d/jdA0g2uyXvy3sb0qxotE+ne0LtccHknQzWwZEzhak7oJ0COQ==
+
+isarray@1.0.0, isarray@^1.0.0, isarray@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
+ integrity sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==
+
+isarray@^2.0.5:
+ version "2.0.5"
+ resolved "https://registry.npmmirror.com/isarray/-/isarray-2.0.5.tgz#8af1e4c1221244cc62459faf38940d4e644a5723"
+ integrity sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==
+
+isbinaryfile@^3.0.2:
+ version "3.0.3"
+ resolved "https://registry.npmmirror.com/isbinaryfile/-/isbinaryfile-3.0.3.tgz#5d6def3edebf6e8ca8cae9c30183a804b5f8be80"
+ integrity sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==
+ dependencies:
+ buffer-alloc "^1.2.0"
+
+isexe@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
+ integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
+
+isobject@^2.0.0, isobject@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npmmirror.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89"
+ integrity sha512-+OUdGJlgjOBZDfxnDjYYG6zp487z0JGNQq3cYQYg5f5hKR+syHMsaztzGeml/4kGG55CSpKSpWTY+jYGgsHLgA==
+ dependencies:
+ isarray "1.0.0"
+
+isobject@^3.0.0, isobject@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.npmmirror.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
+ integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==
+
+isstream@~0.1.2:
+ version "0.1.2"
+ resolved "https://registry.npmmirror.com/isstream/-/isstream-0.1.2.tgz#47e63f7af55afa6f92e1500e690eb8b8529c099a"
+ integrity sha512-Yljz7ffyPbrLpLngrMtZ7NduUgVvi6wG9RJ9IUcyCd59YQ911PBJphODUcbOVbqYfxe1wuYf/LJ8PauMRwsM/g==
+
+istanbul-api@^1.3.1:
+ version "1.3.7"
+ resolved "https://registry.npmmirror.com/istanbul-api/-/istanbul-api-1.3.7.tgz#a86c770d2b03e11e3f778cd7aedd82d2722092aa"
+ integrity sha512-4/ApBnMVeEPG3EkSzcw25wDe4N66wxwn+KKn6b47vyek8Xb3NBAcg4xfuQbS7BqcZuTX4wxfD5lVagdggR3gyA==
+ dependencies:
+ async "^2.1.4"
+ fileset "^2.0.2"
+ istanbul-lib-coverage "^1.2.1"
+ istanbul-lib-hook "^1.2.2"
+ istanbul-lib-instrument "^1.10.2"
+ istanbul-lib-report "^1.1.5"
+ istanbul-lib-source-maps "^1.2.6"
+ istanbul-reports "^1.5.1"
+ js-yaml "^3.7.0"
+ mkdirp "^0.5.1"
+ once "^1.4.0"
+
+istanbul-lib-coverage@^1.2.0, istanbul-lib-coverage@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.npmmirror.com/istanbul-lib-coverage/-/istanbul-lib-coverage-1.2.1.tgz#ccf7edcd0a0bb9b8f729feeb0930470f9af664f0"
+ integrity sha512-PzITeunAgyGbtY1ibVIUiV679EFChHjoMNRibEIobvmrCRaIgwLxNucOSimtNWUhEib/oO7QY2imD75JVgCJWQ==
+
+istanbul-lib-hook@^1.2.2:
+ version "1.2.2"
+ resolved "https://registry.npmmirror.com/istanbul-lib-hook/-/istanbul-lib-hook-1.2.2.tgz#bc6bf07f12a641fbf1c85391d0daa8f0aea6bf86"
+ integrity sha512-/Jmq7Y1VeHnZEQ3TL10VHyb564mn6VrQXHchON9Jf/AEcmQ3ZIiyD1BVzNOKTZf/G3gE+kiGK6SmpF9y3qGPLw==
+ dependencies:
+ append-transform "^0.4.0"
+
+istanbul-lib-instrument@^1.10.1, istanbul-lib-instrument@^1.10.2:
+ version "1.10.2"
+ resolved "https://registry.npmmirror.com/istanbul-lib-instrument/-/istanbul-lib-instrument-1.10.2.tgz#1f55ed10ac3c47f2bdddd5307935126754d0a9ca"
+ integrity sha512-aWHxfxDqvh/ZlxR8BBaEPVSWDPUkGD63VjGQn3jcw8jCp7sHEMKcrj4xfJn/ABzdMEHiQNyvDQhqm5o8+SQg7A==
+ dependencies:
+ babel-generator "^6.18.0"
+ babel-template "^6.16.0"
+ babel-traverse "^6.18.0"
+ babel-types "^6.18.0"
+ babylon "^6.18.0"
+ istanbul-lib-coverage "^1.2.1"
+ semver "^5.3.0"
+
+istanbul-lib-report@^1.1.5:
+ version "1.1.5"
+ resolved "https://registry.npmmirror.com/istanbul-lib-report/-/istanbul-lib-report-1.1.5.tgz#f2a657fc6282f96170aaf281eb30a458f7f4170c"
+ integrity sha512-UsYfRMoi6QO/doUshYNqcKJqVmFe9w51GZz8BS3WB0lYxAllQYklka2wP9+dGZeHYaWIdcXUx8JGdbqaoXRXzw==
+ dependencies:
+ istanbul-lib-coverage "^1.2.1"
+ mkdirp "^0.5.1"
+ path-parse "^1.0.5"
+ supports-color "^3.1.2"
+
+istanbul-lib-source-maps@^1.2.4, istanbul-lib-source-maps@^1.2.6:
+ version "1.2.6"
+ resolved "https://registry.npmmirror.com/istanbul-lib-source-maps/-/istanbul-lib-source-maps-1.2.6.tgz#37b9ff661580f8fca11232752ee42e08c6675d8f"
+ integrity sha512-TtbsY5GIHgbMsMiRw35YBHGpZ1DVFEO19vxxeiDMYaeOFOCzfnYVxvl6pOUIZR4dtPhAGpSMup8OyF8ubsaqEg==
+ dependencies:
+ debug "^3.1.0"
+ istanbul-lib-coverage "^1.2.1"
+ mkdirp "^0.5.1"
+ rimraf "^2.6.1"
+ source-map "^0.5.3"
+
+istanbul-reports@^1.5.1:
+ version "1.5.1"
+ resolved "https://registry.npmmirror.com/istanbul-reports/-/istanbul-reports-1.5.1.tgz#97e4dbf3b515e8c484caea15d6524eebd3ff4e1a"
+ integrity sha512-+cfoZ0UXzWjhAdzosCPP3AN8vvef8XDkWtTfgaN+7L3YTpNYITnCaEkceo5SEYy644VkHka/P1FvkWvrG/rrJw==
+ dependencies:
+ handlebars "^4.0.3"
+
+jackspeak@^3.1.2:
+ version "3.4.3"
+ resolved "https://registry.npmmirror.com/jackspeak/-/jackspeak-3.4.3.tgz#8833a9d89ab4acde6188942bd1c53b6390ed5a8a"
+ integrity sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==
+ dependencies:
+ "@isaacs/cliui" "^8.0.2"
+ optionalDependencies:
+ "@pkgjs/parseargs" "^0.11.0"
+
+javascript-stringify@^1.6.0:
+ version "1.6.0"
+ resolved "https://registry.npmmirror.com/javascript-stringify/-/javascript-stringify-1.6.0.tgz#142d111f3a6e3dae8f4a9afd77d45855b5a9cce3"
+ integrity sha512-fnjC0up+0SjEJtgmmG+teeel68kutkvzfctO/KxE3qJlbunkJYAshgH3boU++gSBHP8z5/r0ts0qRIrHf0RTQQ==
+
+jest-changed-files@^23.4.2:
+ version "23.4.2"
+ resolved "https://registry.npmmirror.com/jest-changed-files/-/jest-changed-files-23.4.2.tgz#1eed688370cd5eebafe4ae93d34bb3b64968fe83"
+ integrity sha512-EyNhTAUWEfwnK0Is/09LxoqNDOn7mU7S3EHskG52djOFS/z+IT0jT3h3Ql61+dklcG7bJJitIWEMB4Sp1piHmA==
+ dependencies:
+ throat "^4.0.0"
+
+jest-cli@^23.6.0:
+ version "23.6.0"
+ resolved "https://registry.npmmirror.com/jest-cli/-/jest-cli-23.6.0.tgz#61ab917744338f443ef2baa282ddffdd658a5da4"
+ integrity sha512-hgeD1zRUp1E1zsiyOXjEn4LzRLWdJBV//ukAHGlx6s5mfCNJTbhbHjgxnDUXA8fsKWN/HqFFF6X5XcCwC/IvYQ==
+ dependencies:
+ ansi-escapes "^3.0.0"
+ chalk "^2.0.1"
+ exit "^0.1.2"
+ glob "^7.1.2"
+ graceful-fs "^4.1.11"
+ import-local "^1.0.0"
+ is-ci "^1.0.10"
+ istanbul-api "^1.3.1"
+ istanbul-lib-coverage "^1.2.0"
+ istanbul-lib-instrument "^1.10.1"
+ istanbul-lib-source-maps "^1.2.4"
+ jest-changed-files "^23.4.2"
+ jest-config "^23.6.0"
+ jest-environment-jsdom "^23.4.0"
+ jest-get-type "^22.1.0"
+ jest-haste-map "^23.6.0"
+ jest-message-util "^23.4.0"
+ jest-regex-util "^23.3.0"
+ jest-resolve-dependencies "^23.6.0"
+ jest-runner "^23.6.0"
+ jest-runtime "^23.6.0"
+ jest-snapshot "^23.6.0"
+ jest-util "^23.4.0"
+ jest-validate "^23.6.0"
+ jest-watcher "^23.4.0"
+ jest-worker "^23.2.0"
+ micromatch "^2.3.11"
+ node-notifier "^5.2.1"
+ prompts "^0.1.9"
+ realpath-native "^1.0.0"
+ rimraf "^2.5.4"
+ slash "^1.0.0"
+ string-length "^2.0.0"
+ strip-ansi "^4.0.0"
+ which "^1.2.12"
+ yargs "^11.0.0"
+
+jest-config@^23.6.0:
+ version "23.6.0"
+ resolved "https://registry.npmmirror.com/jest-config/-/jest-config-23.6.0.tgz#f82546a90ade2d8c7026fbf6ac5207fc22f8eb1d"
+ integrity sha512-i8V7z9BeDXab1+VNo78WM0AtWpBRXJLnkT+lyT+Slx/cbP5sZJ0+NDuLcmBE5hXAoK0aUp7vI+MOxR+R4d8SRQ==
+ dependencies:
+ babel-core "^6.0.0"
+ babel-jest "^23.6.0"
+ chalk "^2.0.1"
+ glob "^7.1.1"
+ jest-environment-jsdom "^23.4.0"
+ jest-environment-node "^23.4.0"
+ jest-get-type "^22.1.0"
+ jest-jasmine2 "^23.6.0"
+ jest-regex-util "^23.3.0"
+ jest-resolve "^23.6.0"
+ jest-util "^23.4.0"
+ jest-validate "^23.6.0"
+ micromatch "^2.3.11"
+ pretty-format "^23.6.0"
+
+jest-diff@^23.6.0:
+ version "23.6.0"
+ resolved "https://registry.npmmirror.com/jest-diff/-/jest-diff-23.6.0.tgz#1500f3f16e850bb3d71233408089be099f610c7d"
+ integrity sha512-Gz9l5Ov+X3aL5L37IT+8hoCUsof1CVYBb2QEkOupK64XyRR3h+uRpYIm97K7sY8diFxowR8pIGEdyfMKTixo3g==
+ dependencies:
+ chalk "^2.0.1"
+ diff "^3.2.0"
+ jest-get-type "^22.1.0"
+ pretty-format "^23.6.0"
+
+jest-docblock@^23.2.0:
+ version "23.2.0"
+ resolved "https://registry.npmmirror.com/jest-docblock/-/jest-docblock-23.2.0.tgz#f085e1f18548d99fdd69b20207e6fd55d91383a7"
+ integrity sha512-CB8MdScYLkzQ0Q/I4FYlt2UBkG9tFzi+ngSPVhSBB70nifaC+5iWz6GEfa/lB4T2KCqGy+DLzi1v34r9R1XzuA==
+ dependencies:
+ detect-newline "^2.1.0"
+
+jest-each@^23.6.0:
+ version "23.6.0"
+ resolved "https://registry.npmmirror.com/jest-each/-/jest-each-23.6.0.tgz#ba0c3a82a8054387016139c733a05242d3d71575"
+ integrity sha512-x7V6M/WGJo6/kLoissORuvLIeAoyo2YqLOoCDkohgJ4XOXSqOtyvr8FbInlAWS77ojBsZrafbozWoKVRdtxFCg==
+ dependencies:
+ chalk "^2.0.1"
+ pretty-format "^23.6.0"
+
+jest-environment-jsdom@^23.4.0:
+ version "23.4.0"
+ resolved "https://registry.npmmirror.com/jest-environment-jsdom/-/jest-environment-jsdom-23.4.0.tgz#056a7952b3fea513ac62a140a2c368c79d9e6023"
+ integrity sha512-UIXe32cMl/+DtyNHC15X+aFZMh04wx7PjWFBfz+nwoLgsIN2loKoNiKGSzUhMW/fVwbHrk8Qopglb7V4XB4EfQ==
+ dependencies:
+ jest-mock "^23.2.0"
+ jest-util "^23.4.0"
+ jsdom "^11.5.1"
+
+jest-environment-node@^23.4.0:
+ version "23.4.0"
+ resolved "https://registry.npmmirror.com/jest-environment-node/-/jest-environment-node-23.4.0.tgz#57e80ed0841dea303167cce8cd79521debafde10"
+ integrity sha512-bk8qScgIfkb+EdwJ0JZ9xGvN7N3m6Qok73G8hi6tzvNadpe4kOxxuGmK2cJzAM3tPC/HBulzrOeNHEvaThQFrQ==
+ dependencies:
+ jest-mock "^23.2.0"
+ jest-util "^23.4.0"
+
+jest-get-type@^22.1.0:
+ version "22.4.3"
+ resolved "https://registry.npmmirror.com/jest-get-type/-/jest-get-type-22.4.3.tgz#e3a8504d8479342dd4420236b322869f18900ce4"
+ integrity sha512-/jsz0Y+V29w1chdXVygEKSz2nBoHoYqNShPe+QgxSNjAuP1i8+k4LbQNrfoliKej0P45sivkSCh7yiD6ubHS3w==
+
+jest-haste-map@^23.6.0:
+ version "23.6.0"
+ resolved "https://registry.npmmirror.com/jest-haste-map/-/jest-haste-map-23.6.0.tgz#2e3eb997814ca696d62afdb3f2529f5bbc935e16"
+ integrity sha512-uyNhMyl6dr6HaXGHp8VF7cK6KpC6G9z9LiMNsst+rJIZ8l7wY0tk8qwjPmEghczojZ2/ZhtEdIabZ0OQRJSGGg==
+ dependencies:
+ fb-watchman "^2.0.0"
+ graceful-fs "^4.1.11"
+ invariant "^2.2.4"
+ jest-docblock "^23.2.0"
+ jest-serializer "^23.0.1"
+ jest-worker "^23.2.0"
+ micromatch "^2.3.11"
+ sane "^2.0.0"
+
+jest-jasmine2@^23.6.0:
+ version "23.6.0"
+ resolved "https://registry.npmmirror.com/jest-jasmine2/-/jest-jasmine2-23.6.0.tgz#840e937f848a6c8638df24360ab869cc718592e0"
+ integrity sha512-pe2Ytgs1nyCs8IvsEJRiRTPC0eVYd8L/dXJGU08GFuBwZ4sYH/lmFDdOL3ZmvJR8QKqV9MFuwlsAi/EWkFUbsQ==
+ dependencies:
+ babel-traverse "^6.0.0"
+ chalk "^2.0.1"
+ co "^4.6.0"
+ expect "^23.6.0"
+ is-generator-fn "^1.0.0"
+ jest-diff "^23.6.0"
+ jest-each "^23.6.0"
+ jest-matcher-utils "^23.6.0"
+ jest-message-util "^23.4.0"
+ jest-snapshot "^23.6.0"
+ jest-util "^23.4.0"
+ pretty-format "^23.6.0"
+
+jest-leak-detector@^23.6.0:
+ version "23.6.0"
+ resolved "https://registry.npmmirror.com/jest-leak-detector/-/jest-leak-detector-23.6.0.tgz#e4230fd42cf381a1a1971237ad56897de7e171de"
+ integrity sha512-f/8zA04rsl1Nzj10HIyEsXvYlMpMPcy0QkQilVZDFOaPbv2ur71X5u2+C4ZQJGyV/xvVXtCCZ3wQ99IgQxftCg==
+ dependencies:
+ pretty-format "^23.6.0"
+
+jest-matcher-utils@^23.6.0:
+ version "23.6.0"
+ resolved "https://registry.npmmirror.com/jest-matcher-utils/-/jest-matcher-utils-23.6.0.tgz#726bcea0c5294261a7417afb6da3186b4b8cac80"
+ integrity sha512-rosyCHQfBcol4NsckTn01cdelzWLU9Cq7aaigDf8VwwpIRvWE/9zLgX2bON+FkEW69/0UuYslUe22SOdEf2nog==
+ dependencies:
+ chalk "^2.0.1"
+ jest-get-type "^22.1.0"
+ pretty-format "^23.6.0"
+
+jest-message-util@^23.4.0:
+ version "23.4.0"
+ resolved "https://registry.npmmirror.com/jest-message-util/-/jest-message-util-23.4.0.tgz#17610c50942349508d01a3d1e0bda2c079086a9f"
+ integrity sha512-Tjqy7T8jHhPgV4Gsi+pKMMfaz3uP5DPtMGnm8RWNWUHIk2igqxQ3/9rud3JkINCvZDGqlpJVuFGIDXbltG4xLA==
+ dependencies:
+ "@babel/code-frame" "^7.0.0-beta.35"
+ chalk "^2.0.1"
+ micromatch "^2.3.11"
+ slash "^1.0.0"
+ stack-utils "^1.0.1"
+
+jest-mock@^23.2.0:
+ version "23.2.0"
+ resolved "https://registry.npmmirror.com/jest-mock/-/jest-mock-23.2.0.tgz#ad1c60f29e8719d47c26e1138098b6d18b261134"
+ integrity sha512-lz+Rf6dwRNDVowuGCXm93ib8hMyPntl1GGVt9PuZfBAmTjP5yKYgK14IASiEjs7XoMo4i/R7+dkrJY3eESwTJg==
+
+jest-regex-util@^23.3.0:
+ version "23.3.0"
+ resolved "https://registry.npmmirror.com/jest-regex-util/-/jest-regex-util-23.3.0.tgz#5f86729547c2785c4002ceaa8f849fe8ca471bc5"
+ integrity sha512-pNilf1tXhv5z0qjJy2Hl6Ar6dsi+XX2zpCAuzxRs4qoputI0Bm9rU7pa2ErrFTfiHYe8VboTR7WATPZXqzpQ/g==
+
+jest-resolve-dependencies@^23.6.0:
+ version "23.6.0"
+ resolved "https://registry.npmmirror.com/jest-resolve-dependencies/-/jest-resolve-dependencies-23.6.0.tgz#b4526af24c8540d9a3fab102c15081cf509b723d"
+ integrity sha512-EkQWkFWjGKwRtRyIwRwI6rtPAEyPWlUC2MpzHissYnzJeHcyCn1Hc8j7Nn1xUVrS5C6W5+ZL37XTem4D4pLZdA==
+ dependencies:
+ jest-regex-util "^23.3.0"
+ jest-snapshot "^23.6.0"
+
+jest-resolve@^23.6.0:
+ version "23.6.0"
+ resolved "https://registry.npmmirror.com/jest-resolve/-/jest-resolve-23.6.0.tgz#cf1d1a24ce7ee7b23d661c33ba2150f3aebfa0ae"
+ integrity sha512-XyoRxNtO7YGpQDmtQCmZjum1MljDqUCob7XlZ6jy9gsMugHdN2hY4+Acz9Qvjz2mSsOnPSH7skBmDYCHXVZqkA==
+ dependencies:
+ browser-resolve "^1.11.3"
+ chalk "^2.0.1"
+ realpath-native "^1.0.0"
+
+jest-runner@^23.6.0:
+ version "23.6.0"
+ resolved "https://registry.npmmirror.com/jest-runner/-/jest-runner-23.6.0.tgz#3894bd219ffc3f3cb94dc48a4170a2e6f23a5a38"
+ integrity sha512-kw0+uj710dzSJKU6ygri851CObtCD9cN8aNkg8jWJf4ewFyEa6kwmiH/r/M1Ec5IL/6VFa0wnAk6w+gzUtjJzA==
+ dependencies:
+ exit "^0.1.2"
+ graceful-fs "^4.1.11"
+ jest-config "^23.6.0"
+ jest-docblock "^23.2.0"
+ jest-haste-map "^23.6.0"
+ jest-jasmine2 "^23.6.0"
+ jest-leak-detector "^23.6.0"
+ jest-message-util "^23.4.0"
+ jest-runtime "^23.6.0"
+ jest-util "^23.4.0"
+ jest-worker "^23.2.0"
+ source-map-support "^0.5.6"
+ throat "^4.0.0"
+
+jest-runtime@^23.6.0:
+ version "23.6.0"
+ resolved "https://registry.npmmirror.com/jest-runtime/-/jest-runtime-23.6.0.tgz#059e58c8ab445917cd0e0d84ac2ba68de8f23082"
+ integrity sha512-ycnLTNPT2Gv+TRhnAYAQ0B3SryEXhhRj1kA6hBPSeZaNQkJ7GbZsxOLUkwg6YmvWGdX3BB3PYKFLDQCAE1zNOw==
+ dependencies:
+ babel-core "^6.0.0"
+ babel-plugin-istanbul "^4.1.6"
+ chalk "^2.0.1"
+ convert-source-map "^1.4.0"
+ exit "^0.1.2"
+ fast-json-stable-stringify "^2.0.0"
+ graceful-fs "^4.1.11"
+ jest-config "^23.6.0"
+ jest-haste-map "^23.6.0"
+ jest-message-util "^23.4.0"
+ jest-regex-util "^23.3.0"
+ jest-resolve "^23.6.0"
+ jest-snapshot "^23.6.0"
+ jest-util "^23.4.0"
+ jest-validate "^23.6.0"
+ micromatch "^2.3.11"
+ realpath-native "^1.0.0"
+ slash "^1.0.0"
+ strip-bom "3.0.0"
+ write-file-atomic "^2.1.0"
+ yargs "^11.0.0"
+
+jest-serializer-vue@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.npmmirror.com/jest-serializer-vue/-/jest-serializer-vue-2.0.2.tgz#b238ef286357ec6b480421bd47145050987d59b3"
+ integrity sha512-nK/YIFo6qe3i9Ge+hr3h4PpRehuPPGZFt8LDBdTHYldMb7ZWlkanZS8Ls7D8h6qmQP2lBQVDLP0DKn5bJ9QApQ==
+ dependencies:
+ pretty "2.0.0"
+
+jest-serializer@^23.0.1:
+ version "23.0.1"
+ resolved "https://registry.npmmirror.com/jest-serializer/-/jest-serializer-23.0.1.tgz#a3776aeb311e90fe83fab9e533e85102bd164165"
+ integrity sha512-l6cPuiGEQI72H4+qMePF62E+URkZscnAqdHBYHkMrhKJOwU08AHvGmftXdosUzfCGhh/Ih4Xk1VgxnJSwrvQvQ==
+
+jest-snapshot@^23.6.0:
+ version "23.6.0"
+ resolved "https://registry.npmmirror.com/jest-snapshot/-/jest-snapshot-23.6.0.tgz#f9c2625d1b18acda01ec2d2b826c0ce58a5aa17a"
+ integrity sha512-tM7/Bprftun6Cvj2Awh/ikS7zV3pVwjRYU2qNYS51VZHgaAMBs5l4o/69AiDHhQrj5+LA2Lq4VIvK7zYk/bswg==
+ dependencies:
+ babel-types "^6.0.0"
+ chalk "^2.0.1"
+ jest-diff "^23.6.0"
+ jest-matcher-utils "^23.6.0"
+ jest-message-util "^23.4.0"
+ jest-resolve "^23.6.0"
+ mkdirp "^0.5.1"
+ natural-compare "^1.4.0"
+ pretty-format "^23.6.0"
+ semver "^5.5.0"
+
+jest-transform-stub@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/jest-transform-stub/-/jest-transform-stub-2.0.0.tgz#19018b0851f7568972147a5d60074b55f0225a7d"
+ integrity sha512-lspHaCRx/mBbnm3h4uMMS3R5aZzMwyNpNIJLXj4cEsV0mIUtS4IjYJLSoyjRCtnxb6RIGJ4NL2quZzfIeNhbkg==
+
+jest-util@^23.4.0:
+ version "23.4.0"
+ resolved "https://registry.npmmirror.com/jest-util/-/jest-util-23.4.0.tgz#4d063cb927baf0a23831ff61bec2cbbf49793561"
+ integrity sha512-OS1/0QSbbMF9N93MxF1hUmK93EF3NGQGbbaTBZZk95aytWtWmzxsFWwt/UXIIkfHbPCK1fXTrPklbL+ohuFFOA==
+ dependencies:
+ callsites "^2.0.0"
+ chalk "^2.0.1"
+ graceful-fs "^4.1.11"
+ is-ci "^1.0.10"
+ jest-message-util "^23.4.0"
+ mkdirp "^0.5.1"
+ slash "^1.0.0"
+ source-map "^0.6.0"
+
+jest-validate@^23.6.0:
+ version "23.6.0"
+ resolved "https://registry.npmmirror.com/jest-validate/-/jest-validate-23.6.0.tgz#36761f99d1ed33fcd425b4e4c5595d62b6597474"
+ integrity sha512-OFKapYxe72yz7agrDAWi8v2WL8GIfVqcbKRCLbRG9PAxtzF9b1SEDdTpytNDN12z2fJynoBwpMpvj2R39plI2A==
+ dependencies:
+ chalk "^2.0.1"
+ jest-get-type "^22.1.0"
+ leven "^2.1.0"
+ pretty-format "^23.6.0"
+
+jest-watcher@^23.4.0:
+ version "23.4.0"
+ resolved "https://registry.npmmirror.com/jest-watcher/-/jest-watcher-23.4.0.tgz#d2e28ce74f8dad6c6afc922b92cabef6ed05c91c"
+ integrity sha512-BZGZYXnte/vazfnmkD4ERByi2O2mW+C++W8Sb7dvOnwcSccvCKNQgmcz1L+9hxVD7HWtqymPctIY7v5ZbQGNyg==
+ dependencies:
+ ansi-escapes "^3.0.0"
+ chalk "^2.0.1"
+ string-length "^2.0.0"
+
+jest-worker@^23.2.0:
+ version "23.2.0"
+ resolved "https://registry.npmmirror.com/jest-worker/-/jest-worker-23.2.0.tgz#faf706a8da36fae60eb26957257fa7b5d8ea02b9"
+ integrity sha512-zx0uwPCDxToGfYyQiSHh7T/sKIxQFnQqT6Uug7Y/L7PzEkFITPaufjQe6yaf1OXSnGvKC5Fwol1hIym0zDzyvw==
+ dependencies:
+ merge-stream "^1.0.1"
+
+jest@^23.6.0:
+ version "23.6.0"
+ resolved "https://registry.npmmirror.com/jest/-/jest-23.6.0.tgz#ad5835e923ebf6e19e7a1d7529a432edfee7813d"
+ integrity sha512-lWzcd+HSiqeuxyhG+EnZds6iO3Y3ZEnMrfZq/OTGvF/C+Z4fPMCdhWTGSAiO2Oym9rbEXfwddHhh6jqrTF3+Lw==
+ dependencies:
+ import-local "^1.0.0"
+ jest-cli "^23.6.0"
+
+js-base64@^2.1.9:
+ version "2.6.4"
+ resolved "https://registry.npmmirror.com/js-base64/-/js-base64-2.6.4.tgz#f4e686c5de1ea1f867dbcad3d46d969428df98c4"
+ integrity sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==
+
+js-beautify@^1.6.12, js-beautify@^1.6.14:
+ version "1.15.4"
+ resolved "https://registry.npmmirror.com/js-beautify/-/js-beautify-1.15.4.tgz#f579f977ed4c930cef73af8f98f3f0a608acd51e"
+ integrity sha512-9/KXeZUKKJwqCXUdBxFJ3vPh467OCckSBmYDwSK/EtV090K+iMJ7zx2S3HLVDIWFQdqMIsZWbnaGiba18aWhaA==
+ dependencies:
+ config-chain "^1.1.13"
+ editorconfig "^1.0.4"
+ glob "^10.4.2"
+ js-cookie "^3.0.5"
+ nopt "^7.2.1"
+
+js-cookie@2.2.0:
+ version "2.2.0"
+ resolved "https://registry.npmmirror.com/js-cookie/-/js-cookie-2.2.0.tgz#1b2c279a6eece380a12168b92485265b35b1effb"
+ integrity sha512-7YAJP/LPE/MhDjHIdfIiT665HUSumCwPN2hAmO6OJZ8V3o1mtz2HeQ8BKetEjkh+3nqGxYaq1vPMViUR8kaOXw==
+
+js-cookie@^3.0.5:
+ version "3.0.5"
+ resolved "https://registry.npmmirror.com/js-cookie/-/js-cookie-3.0.5.tgz#0b7e2fd0c01552c58ba86e0841f94dc2557dcdbc"
+ integrity sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw==
+
+js-levenshtein@^1.1.3:
+ version "1.1.6"
+ resolved "https://registry.npmmirror.com/js-levenshtein/-/js-levenshtein-1.1.6.tgz#c6cee58eb3550372df8deb85fad5ce66ce01d59d"
+ integrity sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==
+
+js-message@1.0.7:
+ version "1.0.7"
+ resolved "https://registry.npmmirror.com/js-message/-/js-message-1.0.7.tgz#fbddd053c7a47021871bb8b2c95397cc17c20e47"
+ integrity sha512-efJLHhLjIyKRewNS9EGZ4UpI8NguuL6fKkhRxVuMmrGV2xN/0APGdQYwLFky5w9naebSZ0OwAGp0G6/2Cg90rA==
+
+js-queue@2.0.2:
+ version "2.0.2"
+ resolved "https://registry.npmmirror.com/js-queue/-/js-queue-2.0.2.tgz#0be590338f903b36c73d33c31883a821412cd482"
+ integrity sha512-pbKLsbCfi7kriM3s1J4DDCo7jQkI58zPLHi0heXPzPlj0hjUsm+FesPUbE0DSbIVIK503A36aUBoCN7eMFedkA==
+ dependencies:
+ easy-stack "^1.0.1"
+
+"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
+ integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
+
+js-tokens@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.npmmirror.com/js-tokens/-/js-tokens-3.0.2.tgz#9866df395102130e38f7f996bceb65443209c25b"
+ integrity sha512-RjTcuD4xjtthQkaWH7dFlH85L+QaVtSoOyGdZ3g6HFhS9dFNDfLyqgm2NFe2X6cQpeFmt0452FJjFG5UameExg==
+
+js-yaml@^3.12.0, js-yaml@^3.13.1, js-yaml@^3.7.0, js-yaml@^3.9.1:
+ version "3.14.1"
+ resolved "https://registry.npmmirror.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537"
+ integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==
+ dependencies:
+ argparse "^1.0.7"
+ esprima "^4.0.0"
+
+jsbn@~0.1.0:
+ version "0.1.1"
+ resolved "https://registry.npmmirror.com/jsbn/-/jsbn-0.1.1.tgz#a5e654c2e5a2deb5f201d96cefbca80c0ef2f513"
+ integrity sha512-UVU9dibq2JcFWxQPA6KCqj5O42VOmAY3zQUfEKxU0KpTGXwNoCjkX1e13eHNvw/xPynt6pU0rZ1htjWTNTSXsg==
+
+jsdom@^11.5.1:
+ version "11.12.0"
+ resolved "https://registry.npmmirror.com/jsdom/-/jsdom-11.12.0.tgz#1a80d40ddd378a1de59656e9e6dc5a3ba8657bc8"
+ integrity sha512-y8Px43oyiBM13Zc1z780FrfNLJCXTL40EWlty/LXUtcjykRBNgLlCjWXpfSPBl2iv+N7koQN+dvqszHZgT/Fjw==
+ dependencies:
+ abab "^2.0.0"
+ acorn "^5.5.3"
+ acorn-globals "^4.1.0"
+ array-equal "^1.0.0"
+ cssom ">= 0.3.2 < 0.4.0"
+ cssstyle "^1.0.0"
+ data-urls "^1.0.0"
+ domexception "^1.0.1"
+ escodegen "^1.9.1"
+ html-encoding-sniffer "^1.0.2"
+ left-pad "^1.3.0"
+ nwsapi "^2.0.7"
+ parse5 "4.0.0"
+ pn "^1.1.0"
+ request "^2.87.0"
+ request-promise-native "^1.0.5"
+ sax "^1.2.4"
+ symbol-tree "^3.2.2"
+ tough-cookie "^2.3.4"
+ w3c-hr-time "^1.0.1"
+ webidl-conversions "^4.0.2"
+ whatwg-encoding "^1.0.3"
+ whatwg-mimetype "^2.1.0"
+ whatwg-url "^6.4.1"
+ ws "^5.2.0"
+ xml-name-validator "^3.0.0"
+
+jsesc@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.npmmirror.com/jsesc/-/jsesc-1.3.0.tgz#46c3fec8c1892b12b0833db9bc7622176dbab34b"
+ integrity sha512-Mke0DA0QjUWuJlhsE0ZPPhYiJkRap642SmI/4ztCFaUs6V2AiH1sfecc+57NgaryfAA2VR3v6O+CSjC1jZJKOA==
+
+jsesc@^3.0.2:
+ version "3.1.0"
+ resolved "https://registry.npmmirror.com/jsesc/-/jsesc-3.1.0.tgz#74d335a234f67ed19907fdadfac7ccf9d409825d"
+ integrity sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==
+
+jsesc@~3.0.2:
+ version "3.0.2"
+ resolved "https://registry.npmmirror.com/jsesc/-/jsesc-3.0.2.tgz#bb8b09a6597ba426425f2e4a07245c3d00b9343e"
+ integrity sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==
+
+json-buffer@3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmmirror.com/json-buffer/-/json-buffer-3.0.0.tgz#5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898"
+ integrity sha512-CuUqjv0FUZIdXkHPI8MezCnFCdaTAacej1TZYulLoAg1h/PhwkdXFN4V/gzY4g+fMBCOV2xF+rp7t2XD2ns/NQ==
+
+json-parse-better-errors@^1.0.1, json-parse-better-errors@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npmmirror.com/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz#bb867cfb3450e69107c131d1c514bab3dc8bcaa9"
+ integrity sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==
+
+json-schema-traverse@^0.3.0:
+ version "0.3.1"
+ resolved "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz#349a6d44c53a51de89b40805c5d5e59b417d3340"
+ integrity sha512-4JD/Ivzg7PoW8NzdrBSr3UFwC9mHgvI7Z6z3QGBsSHgKaRTUDmyZAAKJo2UbG1kUVfS9WS8bi36N49U1xw43DA==
+
+json-schema-traverse@^0.4.1:
+ version "0.4.1"
+ resolved "https://registry.npmmirror.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
+ integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
+
+json-schema@0.4.0:
+ version "0.4.0"
+ resolved "https://registry.npmmirror.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5"
+ integrity sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==
+
+json-stable-stringify-without-jsonify@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
+ integrity sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==
+
+json-stringify-safe@~5.0.1:
+ version "5.0.1"
+ resolved "https://registry.npmmirror.com/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz#1296a2d58fd45f19a0f6ce01d65701e2c735b6eb"
+ integrity sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==
+
+json5@^0.5.0, json5@^0.5.1:
+ version "0.5.1"
+ resolved "https://registry.npmmirror.com/json5/-/json5-0.5.1.tgz#1eade7acc012034ad84e2396767ead9fa5495821"
+ integrity sha512-4xrs1aW+6N5DalkqSVA8fxh458CXvR99WU8WLKmq4v8eWAL86Xo3BVqyd3SkA9wEVjCMqyvvRRkshAdOnBp5rw==
+
+json5@^1.0.1, json5@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npmmirror.com/json5/-/json5-1.0.2.tgz#63d98d60f21b313b77c4d6da18bfa69d80e1d593"
+ integrity sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==
+ dependencies:
+ minimist "^1.2.0"
+
+json5@^2.1.2, json5@^2.2.3:
+ version "2.2.3"
+ resolved "https://registry.npmmirror.com/json5/-/json5-2.2.3.tgz#78cd6f1a19bdc12b73db5ad0c61efd66c1e29283"
+ integrity sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==
+
+jsonfile@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npmmirror.com/jsonfile/-/jsonfile-4.0.0.tgz#8771aae0799b64076b76640fca058f9c10e33ecb"
+ integrity sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==
+ optionalDependencies:
+ graceful-fs "^4.1.6"
+
+jsonlint@1.6.3:
+ version "1.6.3"
+ resolved "https://registry.npmmirror.com/jsonlint/-/jsonlint-1.6.3.tgz#cb5e31efc0b78291d0d862fbef05900adf212988"
+ integrity sha512-jMVTMzP+7gU/IyC6hvKyWpUU8tmTkK5b3BPNuMI9U8Sit+YAWLlZwB6Y6YrdCxfg2kNz05p3XY3Bmm4m26Nv3A==
+ dependencies:
+ JSV "^4.0.x"
+ nomnom "^1.5.x"
+
+jsprim@^1.2.2:
+ version "1.4.2"
+ resolved "https://registry.npmmirror.com/jsprim/-/jsprim-1.4.2.tgz#712c65533a15c878ba59e9ed5f0e26d5b77c5feb"
+ integrity sha512-P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==
+ dependencies:
+ assert-plus "1.0.0"
+ extsprintf "1.3.0"
+ json-schema "0.4.0"
+ verror "1.10.0"
+
+jszip@3.2.1:
+ version "3.2.1"
+ resolved "https://registry.npmmirror.com/jszip/-/jszip-3.2.1.tgz#c5d32df7274042282b157efb16e522b43435e01a"
+ integrity sha512-iCMBbo4eE5rb1VCpm5qXOAaUiRKRUKiItn8ah2YQQx9qymmSAY98eyQfioChEYcVQLh0zxJ3wS4A0mh90AVPvw==
+ dependencies:
+ lie "~3.3.0"
+ pako "~1.0.2"
+ readable-stream "~2.3.6"
+ set-immediate-shim "~1.0.1"
+
+kareem@2.3.2:
+ version "2.3.2"
+ resolved "https://registry.npmmirror.com/kareem/-/kareem-2.3.2.tgz#78c4508894985b8d38a0dc15e1a8e11078f2ca93"
+ integrity sha512-STHz9P7X2L4Kwn72fA4rGyqyXdmrMSdxqHx9IXon/FXluXieaFA6KJ2upcHAHxQPQ0LeM/OjLrhFxifHewOALQ==
+
+keyv@^3.0.0:
+ version "3.1.0"
+ resolved "https://registry.npmmirror.com/keyv/-/keyv-3.1.0.tgz#ecc228486f69991e49e9476485a5be1e8fc5c4d9"
+ integrity sha512-9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==
+ dependencies:
+ json-buffer "3.0.0"
+
+killable@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/killable/-/killable-1.0.1.tgz#4c8ce441187a061c7474fb87ca08e2a638194892"
+ integrity sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==
+
+kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0:
+ version "3.2.2"
+ resolved "https://registry.npmmirror.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64"
+ integrity sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==
+ dependencies:
+ is-buffer "^1.1.5"
+
+kind-of@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npmmirror.com/kind-of/-/kind-of-4.0.0.tgz#20813df3d712928b207378691a45066fae72dd57"
+ integrity sha512-24XsCxmEbRwEDbz/qz3stgin8TTzZ1ESR56OMCN0ujYg+vRutNSiOj9bHH9u85DKgXguraugV5sFuvbD4FW/hw==
+ dependencies:
+ is-buffer "^1.1.5"
+
+kind-of@^5.0.2:
+ version "5.1.0"
+ resolved "https://registry.npmmirror.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d"
+ integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==
+
+kind-of@^6.0.0, kind-of@^6.0.2:
+ version "6.0.3"
+ resolved "https://registry.npmmirror.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
+ integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==
+
+kleur@^2.0.1:
+ version "2.0.2"
+ resolved "https://registry.npmmirror.com/kleur/-/kleur-2.0.2.tgz#b704f4944d95e255d038f0cb05fb8a602c55a300"
+ integrity sha512-77XF9iTllATmG9lSlIv0qdQ2BQ/h9t0bJllHlbvsQ0zUWfU7Yi0S8L5JXzPZgkefIiajLmBJJ4BsMJmqcf7oxQ==
+
+launch-editor-middleware@^2.2.1:
+ version "2.10.0"
+ resolved "https://registry.npmmirror.com/launch-editor-middleware/-/launch-editor-middleware-2.10.0.tgz#74d9095160f0bcb44556a086e9dd16e67d464ff4"
+ integrity sha512-RzZu7MeVlE3p1H6Sadc2BhuDGAj7bkeDCBpNq/zSENP4ohJGhso00k5+iYaRwKshIpiOAhMmimce+5D389xmSg==
+ dependencies:
+ launch-editor "^2.10.0"
+
+launch-editor@^2.10.0, launch-editor@^2.2.1:
+ version "2.10.0"
+ resolved "https://registry.npmmirror.com/launch-editor/-/launch-editor-2.10.0.tgz#5ca3edfcb9667df1e8721310f3a40f1127d4bc42"
+ integrity sha512-D7dBRJo/qcGX9xlvt/6wUYzQxjh5G1RvZPgPv8vi4KRU99DVQL/oW7tnVOCCTm2HGeo3C5HvGE5Yrh6UBoZ0vA==
+ dependencies:
+ picocolors "^1.0.0"
+ shell-quote "^1.8.1"
+
+lcid@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/lcid/-/lcid-2.0.0.tgz#6ef5d2df60e52f82eb228a4c373e8d1f397253cf"
+ integrity sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==
+ dependencies:
+ invert-kv "^2.0.0"
+
+left-pad@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.npmmirror.com/left-pad/-/left-pad-1.3.0.tgz#5b8a3a7765dfe001261dde915589e782f8c94d1e"
+ integrity sha512-XI5MPzVNApjAyhQzphX8BkmKsKUxD4LdyK24iZeQGinBN9yTQT3bFlCBy/aVx2HrNcqQGsdot8ghrjyrvMCoEA==
+
+leven@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npmmirror.com/leven/-/leven-2.1.0.tgz#c2e7a9f772094dee9d34202ae8acce4687875580"
+ integrity sha512-nvVPLpIHUxCUoRLrFqTgSxXJ614d8AgQoWl7zPe/2VadE8+1dpU3LBhowRuBAcuwruWtOdD8oYC9jDNJjXDPyA==
+
+levn@^0.3.0, levn@~0.3.0:
+ version "0.3.0"
+ resolved "https://registry.npmmirror.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
+ integrity sha512-0OO4y2iOHix2W6ujICbKIaEQXvFQHue65vUG3pb5EUomzPI90z9hsA1VsO/dbIIpC53J8gxM9Q4Oho0jrCM/yA==
+ dependencies:
+ prelude-ls "~1.1.2"
+ type-check "~0.3.2"
+
+lie@~3.3.0:
+ version "3.3.0"
+ resolved "https://registry.npmmirror.com/lie/-/lie-3.3.0.tgz#dcf82dee545f46074daf200c7c1c5a08e0f40f6a"
+ integrity sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==
+ dependencies:
+ immediate "~3.0.5"
+
+liftoff@^2.5.0:
+ version "2.5.0"
+ resolved "https://registry.npmmirror.com/liftoff/-/liftoff-2.5.0.tgz#2009291bb31cea861bbf10a7c15a28caf75c31ec"
+ integrity sha512-01zfGFqfORP1CGmZZP2Zn51zsqz4RltDi0RDOhbGoLYdUT5Lw+I2gX6QdwXhPITF6hPOHEOp+At6/L24hIg9WQ==
+ dependencies:
+ extend "^3.0.0"
+ findup-sync "^2.0.0"
+ fined "^1.0.1"
+ flagged-respawn "^1.0.0"
+ is-plain-object "^2.0.4"
+ object.map "^1.0.0"
+ rechoir "^0.6.2"
+ resolve "^1.1.7"
+
+lint-staged@8.1.5:
+ version "8.1.5"
+ resolved "https://registry.npmmirror.com/lint-staged/-/lint-staged-8.1.5.tgz#372476fe1a58b8834eb562ed4c99126bd60bdd79"
+ integrity sha512-e5ZavfnSLcBJE1BTzRTqw6ly8OkqVyO3GL2M6teSmTBYQ/2BuueD5GIt2RPsP31u/vjKdexUyDCxSyK75q4BDA==
+ dependencies:
+ chalk "^2.3.1"
+ commander "^2.14.1"
+ cosmiconfig "^5.0.2"
+ debug "^3.1.0"
+ dedent "^0.7.0"
+ del "^3.0.0"
+ execa "^1.0.0"
+ find-parent-dir "^0.3.0"
+ g-status "^2.0.2"
+ is-glob "^4.0.0"
+ is-windows "^1.0.2"
+ listr "^0.14.2"
+ listr-update-renderer "^0.5.0"
+ lodash "^4.17.11"
+ log-symbols "^2.2.0"
+ micromatch "^3.1.8"
+ npm-which "^3.0.1"
+ p-map "^1.1.1"
+ path-is-inside "^1.0.2"
+ pify "^3.0.0"
+ please-upgrade-node "^3.0.2"
+ staged-git-files "1.1.2"
+ string-argv "^0.0.2"
+ stringify-object "^3.2.2"
+ yup "^0.26.10"
+
+listr-silent-renderer@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npmmirror.com/listr-silent-renderer/-/listr-silent-renderer-1.1.1.tgz#924b5a3757153770bf1a8e3fbf74b8bbf3f9242e"
+ integrity sha512-L26cIFm7/oZeSNVhWB6faeorXhMg4HNlb/dS/7jHhr708jxlXrtrBWo4YUxZQkc6dGoxEAe6J/D3juTRBUzjtA==
+
+listr-update-renderer@^0.5.0:
+ version "0.5.0"
+ resolved "https://registry.npmmirror.com/listr-update-renderer/-/listr-update-renderer-0.5.0.tgz#4ea8368548a7b8aecb7e06d8c95cb45ae2ede6a2"
+ integrity sha512-tKRsZpKz8GSGqoI/+caPmfrypiaq+OQCbd+CovEC24uk1h952lVj5sC7SqyFUm+OaJ5HN/a1YLt5cit2FMNsFA==
+ dependencies:
+ chalk "^1.1.3"
+ cli-truncate "^0.2.1"
+ elegant-spinner "^1.0.1"
+ figures "^1.7.0"
+ indent-string "^3.0.0"
+ log-symbols "^1.0.2"
+ log-update "^2.3.0"
+ strip-ansi "^3.0.1"
+
+listr-verbose-renderer@^0.5.0:
+ version "0.5.0"
+ resolved "https://registry.npmmirror.com/listr-verbose-renderer/-/listr-verbose-renderer-0.5.0.tgz#f1132167535ea4c1261102b9f28dac7cba1e03db"
+ integrity sha512-04PDPqSlsqIOaaaGZ+41vq5FejI9auqTInicFRndCBgE3bXG8D6W1I+mWhk+1nqbHmyhla/6BUrd5OSiHwKRXw==
+ dependencies:
+ chalk "^2.4.1"
+ cli-cursor "^2.1.0"
+ date-fns "^1.27.2"
+ figures "^2.0.0"
+
+listr@^0.14.2:
+ version "0.14.3"
+ resolved "https://registry.npmmirror.com/listr/-/listr-0.14.3.tgz#2fea909604e434be464c50bddba0d496928fa586"
+ integrity sha512-RmAl7su35BFd/xoMamRjpIE4j3v+L28o8CT5YhAXQJm1fD+1l9ngXY8JAQRJ+tFK2i5njvi0iRUKV09vPwA0iA==
+ dependencies:
+ "@samverschueren/stream-to-observable" "^0.3.0"
+ is-observable "^1.1.0"
+ is-promise "^2.1.0"
+ is-stream "^1.1.0"
+ listr-silent-renderer "^1.1.1"
+ listr-update-renderer "^0.5.0"
+ listr-verbose-renderer "^0.5.0"
+ p-map "^2.0.0"
+ rxjs "^6.3.3"
+
+load-json-file@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/load-json-file/-/load-json-file-1.1.0.tgz#956905708d58b4bab4c2261b04f59f31c99374c0"
+ integrity sha512-cy7ZdNRXdablkXYNI049pthVeXFurRyb9+hA/dZzerZ0pGTx42z+y+ssxBaVV2l70t1muq5IdKhn4UtcoGUY9A==
+ dependencies:
+ graceful-fs "^4.1.2"
+ parse-json "^2.2.0"
+ pify "^2.0.0"
+ pinkie-promise "^2.0.0"
+ strip-bom "^2.0.0"
+
+loader-fs-cache@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.npmmirror.com/loader-fs-cache/-/loader-fs-cache-1.0.3.tgz#f08657646d607078be2f0a032f8bd69dd6f277d9"
+ integrity sha512-ldcgZpjNJj71n+2Mf6yetz+c9bM4xpKtNds4LbqXzU/PTdeAX0g3ytnU1AJMEcTk2Lex4Smpe3Q/eCTsvUBxbA==
+ dependencies:
+ find-cache-dir "^0.1.1"
+ mkdirp "^0.5.1"
+
+loader-runner@^2.3.0, loader-runner@^2.3.1, loader-runner@^2.4.0:
+ version "2.4.0"
+ resolved "https://registry.npmmirror.com/loader-runner/-/loader-runner-2.4.0.tgz#ed47066bfe534d7e84c4c7b9998c2a75607d9357"
+ integrity sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==
+
+loader-utils@^0.2.16:
+ version "0.2.17"
+ resolved "https://registry.npmmirror.com/loader-utils/-/loader-utils-0.2.17.tgz#f86e6374d43205a6e6c60e9196f17c0299bfb348"
+ integrity sha512-tiv66G0SmiOx+pLWMtGEkfSEejxvb6N6uRrQjfWJIT79W9GMpgKeCAmm9aVBKtd4WEgntciI8CsGqjpDoCWJug==
+ dependencies:
+ big.js "^3.1.3"
+ emojis-list "^2.0.0"
+ json5 "^0.5.0"
+ object-assign "^4.0.1"
+
+loader-utils@^1.0.1, loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3:
+ version "1.4.2"
+ resolved "https://registry.npmmirror.com/loader-utils/-/loader-utils-1.4.2.tgz#29a957f3a63973883eb684f10ffd3d151fec01a3"
+ integrity sha512-I5d00Pd/jwMD2QCduo657+YM/6L3KZu++pmX9VFncxaxvHcru9jx1lBaFft+r4Mt2jK0Yhp41XlRAihzPxHNCg==
+ dependencies:
+ big.js "^5.2.2"
+ emojis-list "^3.0.0"
+ json5 "^1.0.1"
+
+loader-utils@^2.0.4:
+ version "2.0.4"
+ resolved "https://registry.npmmirror.com/loader-utils/-/loader-utils-2.0.4.tgz#8b5cb38b5c34a9a018ee1fc0e6a066d1dfcc528c"
+ integrity sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==
+ dependencies:
+ big.js "^5.2.2"
+ emojis-list "^3.0.0"
+ json5 "^2.1.2"
+
+locate-path@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/locate-path/-/locate-path-2.0.0.tgz#2b568b265eec944c6d9c0de9c3dbbbca0354cd8e"
+ integrity sha512-NCI2kiDkyR7VeEKm27Kda/iQHyKJe1Bu0FlTbYp3CqJu+9IFe9bLyAjMxf5ZDDbEg+iMPzB5zYyUTSm8wVTKmA==
+ dependencies:
+ p-locate "^2.0.0"
+ path-exists "^3.0.0"
+
+locate-path@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmmirror.com/locate-path/-/locate-path-3.0.0.tgz#dbec3b3ab759758071b58fe59fc41871af21400e"
+ integrity sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==
+ dependencies:
+ p-locate "^3.0.0"
+ path-exists "^3.0.0"
+
+locate-path@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.npmmirror.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0"
+ integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==
+ dependencies:
+ p-locate "^4.1.0"
+
+lodash.debounce@^4.0.8:
+ version "4.0.8"
+ resolved "https://registry.npmmirror.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
+ integrity sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==
+
+lodash.defaultsdeep@^4.6.0:
+ version "4.6.1"
+ resolved "https://registry.npmmirror.com/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz#512e9bd721d272d94e3d3a63653fa17516741ca6"
+ integrity sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==
+
+lodash.get@^4.4.2:
+ version "4.4.2"
+ resolved "https://registry.npmmirror.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99"
+ integrity sha512-z+Uw/vLuy6gQe8cfaFWD7p0wVv8fJl3mbzXh33RS+0oW2wvUqiRXiQ69gLWSLpgB5/6sU+r6BlQR0MBILadqTQ==
+
+lodash.isempty@4.4.0:
+ version "4.4.0"
+ resolved "https://registry.npmmirror.com/lodash.isempty/-/lodash.isempty-4.4.0.tgz#6f86cbedd8be4ec987be9aaf33c9684db1b31e7e"
+ integrity sha512-oKMuF3xEeqDltrGMfDxAPGIVMSSRv8tbRSODbrs4KGsRRLEhrW8N8Rd4DRgB2+621hY8A8XwwrTVhXWpxFvMzg==
+
+lodash.kebabcase@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.npmmirror.com/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz#8489b1cb0d29ff88195cceca448ff6d6cc295c36"
+ integrity sha512-N8XRTIMMqqDgSy4VLKPnJ/+hpGZN+PHQiJnSenYqPaVV/NCqEogTnAdZLQiGKhxX+JCs8waWq2t1XHWKOmlY8g==
+
+lodash.mapvalues@^4.6.0:
+ version "4.6.0"
+ resolved "https://registry.npmmirror.com/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz#1bafa5005de9dd6f4f26668c30ca37230cc9689c"
+ integrity sha512-JPFqXFeZQ7BfS00H58kClY7SPVeHertPE0lNuCyZ26/XlN8TvakYD7b9bGyNmXbT/D3BbtPAAmq90gPWqLkxlQ==
+
+lodash.memoize@^4.1.2:
+ version "4.1.2"
+ resolved "https://registry.npmmirror.com/lodash.memoize/-/lodash.memoize-4.1.2.tgz#bcc6c49a42a2840ed997f323eada5ecd182e0bfe"
+ integrity sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==
+
+lodash.padend@4.6.1:
+ version "4.6.1"
+ resolved "https://registry.npmmirror.com/lodash.padend/-/lodash.padend-4.6.1.tgz#53ccba047d06e158d311f45da625f4e49e6f166e"
+ integrity sha512-sOQs2aqGpbl27tmCS1QNZA09Uqp01ZzWfDUoD+xzTii0E7dSQfRKcRetFwa+uXaxaqL+TKm7CgD2JdKP7aZBSw==
+
+lodash.sortby@^4.7.0:
+ version "4.7.0"
+ resolved "https://registry.npmmirror.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438"
+ integrity sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==
+
+lodash.transform@^4.6.0:
+ version "4.6.0"
+ resolved "https://registry.npmmirror.com/lodash.transform/-/lodash.transform-4.6.0.tgz#12306422f63324aed8483d3f38332b5f670547a0"
+ integrity sha512-LO37ZnhmBVx0GvOU/caQuipEh4GN82TcWv3yHlebGDgOxbxiwwzW5Pcx2AcvpIv2WmvmSMoC492yQFNhy/l/UQ==
+
+lodash.uniq@^4.5.0:
+ version "4.5.0"
+ resolved "https://registry.npmmirror.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
+ integrity sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==
+
+lodash@4.17.11:
+ version "4.17.11"
+ resolved "https://registry.npmmirror.com/lodash/-/lodash-4.17.11.tgz#b39ea6229ef607ecd89e2c8df12536891cac9b8d"
+ integrity sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==
+
+lodash@^4.0.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.12, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.3, lodash@^4.17.4, lodash@^4.3.0:
+ version "4.17.21"
+ resolved "https://registry.npmmirror.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
+ integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
+
+lodash@~4.11.1:
+ version "4.11.2"
+ resolved "https://registry.npmmirror.com/lodash/-/lodash-4.11.2.tgz#d6b4338b110a58e21dae5cebcfdbbfd2bc4cdb3b"
+ integrity sha512-kzYAjjUS0vKRLVcNZgK2k7NJOT5cQoFO3w8ddED6mDBdgu3AIL9xhAktXJ5Dm6GD1x+eqqyu1wKAzEt8Uq77NQ==
+
+log-symbols@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npmmirror.com/log-symbols/-/log-symbols-1.0.2.tgz#376ff7b58ea3086a0f09facc74617eca501e1a18"
+ integrity sha512-mmPrW0Fh2fxOzdBbFv4g1m6pR72haFLPJ2G5SJEELf1y+iaQrDG6cWCPjy54RHYbZAt7X+ls690Kw62AdWXBzQ==
+ dependencies:
+ chalk "^1.0.0"
+
+log-symbols@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.npmmirror.com/log-symbols/-/log-symbols-2.2.0.tgz#5740e1c5d6f0dfda4ad9323b5332107ef6b4c40a"
+ integrity sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==
+ dependencies:
+ chalk "^2.0.1"
+
+log-update@^2.3.0:
+ version "2.3.0"
+ resolved "https://registry.npmmirror.com/log-update/-/log-update-2.3.0.tgz#88328fd7d1ce7938b29283746f0b1bc126b24708"
+ integrity sha512-vlP11XfFGyeNQlmEn9tJ66rEW1coA/79m5z6BCkudjbAGE83uhAcGYrBFwfs3AdLiLzGRusRPAbSPK9xZteCmg==
+ dependencies:
+ ansi-escapes "^3.0.0"
+ cli-cursor "^2.0.0"
+ wrap-ansi "^3.0.1"
+
+loglevel@^1.6.8:
+ version "1.9.2"
+ resolved "https://registry.npmmirror.com/loglevel/-/loglevel-1.9.2.tgz#c2e028d6c757720107df4e64508530db6621ba08"
+ integrity sha512-HgMmCqIJSAKqo68l0rS2AanEWfkxaZ5wNiEFb5ggm08lDs9Xl2KxBlX3PTcaD2chBM1gXAYf491/M2Rv8Jwayg==
+
+loose-envify@^1.0.0:
+ version "1.4.0"
+ resolved "https://registry.npmmirror.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
+ integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
+ dependencies:
+ js-tokens "^3.0.0 || ^4.0.0"
+
+lower-case-first@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.npmmirror.com/lower-case-first/-/lower-case-first-1.0.2.tgz#e5da7c26f29a7073be02d52bac9980e5922adfa1"
+ integrity sha512-UuxaYakO7XeONbKrZf5FEgkantPf5DUqDayzP5VXZrtRPdH86s4kN47I8B3TW10S4QKiE3ziHNf3kRN//okHjA==
+ dependencies:
+ lower-case "^1.1.2"
+
+lower-case@^1.1.0, lower-case@^1.1.1, lower-case@^1.1.2:
+ version "1.1.4"
+ resolved "https://registry.npmmirror.com/lower-case/-/lower-case-1.1.4.tgz#9a2cabd1b9e8e0ae993a4bf7d5875c39c42e8eac"
+ integrity sha512-2Fgx1Ycm599x+WGpIYwJOvsjmXFzTSc34IwDWALRA/8AopUKAVPwfJ+h5+f85BCp0PWmmJcWzEpxOpoXycMpdA==
+
+lowercase-keys@^1.0.0, lowercase-keys@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f"
+ integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==
+
+lowercase-keys@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/lowercase-keys/-/lowercase-keys-2.0.0.tgz#2603e78b7b4b0006cbca2fbcc8a3202558ac9479"
+ integrity sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==
+
+lru-cache@^10.2.0:
+ version "10.4.3"
+ resolved "https://registry.npmmirror.com/lru-cache/-/lru-cache-10.4.3.tgz#410fc8a17b70e598013df257c2446b7f3383f119"
+ integrity sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==
+
+lru-cache@^4.0.1, lru-cache@^4.1.1, lru-cache@^4.1.2:
+ version "4.1.5"
+ resolved "https://registry.npmmirror.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd"
+ integrity sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==
+ dependencies:
+ pseudomap "^1.0.2"
+ yallist "^2.1.2"
+
+lru-cache@^5.1.1:
+ version "5.1.1"
+ resolved "https://registry.npmmirror.com/lru-cache/-/lru-cache-5.1.1.tgz#1da27e6710271947695daf6848e847f01d84b920"
+ integrity sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==
+ dependencies:
+ yallist "^3.0.2"
+
+make-dir@^1.0.0:
+ version "1.3.0"
+ resolved "https://registry.npmmirror.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c"
+ integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==
+ dependencies:
+ pify "^3.0.0"
+
+make-dir@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.npmmirror.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5"
+ integrity sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==
+ dependencies:
+ pify "^4.0.1"
+ semver "^5.6.0"
+
+make-dir@^3.0.2, make-dir@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.npmmirror.com/make-dir/-/make-dir-3.1.0.tgz#415e967046b3a7f1d185277d84aa58203726a13f"
+ integrity sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==
+ dependencies:
+ semver "^6.0.0"
+
+make-iterator@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/make-iterator/-/make-iterator-1.0.1.tgz#29b33f312aa8f547c4a5e490f56afcec99133ad6"
+ integrity sha512-pxiuXh0iVEq7VM7KMIhs5gxsfxCux2URptUQaXo4iZZJxBAzTPOLE2BumO5dbfVYq/hBJFBR/a1mFDmOx5AGmw==
+ dependencies:
+ kind-of "^6.0.2"
+
+makeerror@1.0.12:
+ version "1.0.12"
+ resolved "https://registry.npmmirror.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a"
+ integrity sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==
+ dependencies:
+ tmpl "1.0.5"
+
+map-age-cleaner@^0.1.1:
+ version "0.1.3"
+ resolved "https://registry.npmmirror.com/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz#7d583a7306434c055fe474b0f45078e6e1b4b92a"
+ integrity sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==
+ dependencies:
+ p-defer "^1.0.0"
+
+map-cache@^0.2.0, map-cache@^0.2.2:
+ version "0.2.2"
+ resolved "https://registry.npmmirror.com/map-cache/-/map-cache-0.2.2.tgz#c32abd0bd6525d9b051645bb4f26ac5dc98a0dbf"
+ integrity sha512-8y/eV9QQZCiyn1SprXSrCmqJN0yNRATe+PO8ztwqrvrbdRLA3eYJF0yaR0YayLWkMbsQSKWS9N2gPcGEc4UsZg==
+
+map-visit@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/map-visit/-/map-visit-1.0.0.tgz#ecdca8f13144e660f1b5bd41f12f3479d98dfb8f"
+ integrity sha512-4y7uGv8bd2WdM9vpQsiQNo41Ln1NvhvDRuVt0k2JZQ+ezN2uaQes7lZeZ+QQUHOLQAtDaBJ+7wCbi+ab/KFs+w==
+ dependencies:
+ object-visit "^1.0.0"
+
+matcher@^1.0.0:
+ version "1.1.1"
+ resolved "https://registry.npmmirror.com/matcher/-/matcher-1.1.1.tgz#51d8301e138f840982b338b116bb0c09af62c1c2"
+ integrity sha512-+BmqxWIubKTRKNWx/ahnCkk3mG8m7OturVlqq6HiojGJTd5hVYbgZm6WzcYPCoB+KBT4Vd6R7WSRG2OADNaCjg==
+ dependencies:
+ escape-string-regexp "^1.0.4"
+
+material-colors@^1.2.6:
+ version "1.2.6"
+ resolved "https://registry.npmmirror.com/material-colors/-/material-colors-1.2.6.tgz#6d1958871126992ceecc72f4bcc4d8f010865f46"
+ integrity sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg==
+
+math-intrinsics@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9"
+ integrity sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==
+
+math-random@^1.0.1:
+ version "1.0.4"
+ resolved "https://registry.npmmirror.com/math-random/-/math-random-1.0.4.tgz#5dd6943c938548267016d4e34f057583080c514c"
+ integrity sha512-rUxjysqif/BZQH2yhd5Aaq7vXMSx9NdEsQcyA07uEzIvxgI7zIr33gGsh+RU0/XjmQpCW7RsVof1vlkvQVCK5A==
+
+md5.js@^1.3.4:
+ version "1.3.5"
+ resolved "https://registry.npmmirror.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f"
+ integrity sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==
+ dependencies:
+ hash-base "^3.0.0"
+ inherits "^2.0.1"
+ safe-buffer "^5.1.2"
+
+mdn-data@2.0.14:
+ version "2.0.14"
+ resolved "https://registry.npmmirror.com/mdn-data/-/mdn-data-2.0.14.tgz#7113fc4281917d63ce29b43446f701e68c25ba50"
+ integrity sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==
+
+mdn-data@2.0.4:
+ version "2.0.4"
+ resolved "https://registry.npmmirror.com/mdn-data/-/mdn-data-2.0.4.tgz#699b3c38ac6f1d728091a64650b65d388502fd5b"
+ integrity sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==
+
+mdn-data@~1.1.0:
+ version "1.1.4"
+ resolved "https://registry.npmmirror.com/mdn-data/-/mdn-data-1.1.4.tgz#50b5d4ffc4575276573c4eedb8780812a8419f01"
+ integrity sha512-FSYbp3lyKjyj3E7fMl6rYvUdX0FBXaluGqlFoYESWQlyUTq8R+wp0rkFxoYFqZlHCvsUXGjyJmLQSnXToYhOSA==
+
+media-typer@0.3.0:
+ version "0.3.0"
+ resolved "https://registry.npmmirror.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
+ integrity sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==
+
+mem@^4.0.0:
+ version "4.3.0"
+ resolved "https://registry.npmmirror.com/mem/-/mem-4.3.0.tgz#461af497bc4ae09608cdb2e60eefb69bff744178"
+ integrity sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==
+ dependencies:
+ map-age-cleaner "^0.1.1"
+ mimic-fn "^2.0.0"
+ p-is-promise "^2.0.0"
+
+memory-fs@^0.4.1, memory-fs@~0.4.1:
+ version "0.4.1"
+ resolved "https://registry.npmmirror.com/memory-fs/-/memory-fs-0.4.1.tgz#3a9a20b8462523e447cfbc7e8bb80ed667bfc552"
+ integrity sha512-cda4JKCxReDXFXRqOHPQscuIYg1PvxbE2S2GP45rnwfEK+vZaXC8C1OFvdHIbgw0DLzowXGVoxLaAmlgRy14GQ==
+ dependencies:
+ errno "^0.1.3"
+ readable-stream "^2.0.1"
+
+memory-fs@^0.5.0:
+ version "0.5.0"
+ resolved "https://registry.npmmirror.com/memory-fs/-/memory-fs-0.5.0.tgz#324c01288b88652966d161db77838720845a8e3c"
+ integrity sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==
+ dependencies:
+ errno "^0.1.3"
+ readable-stream "^2.0.1"
+
+memory-pager@^1.0.2:
+ version "1.5.0"
+ resolved "https://registry.npmmirror.com/memory-pager/-/memory-pager-1.5.0.tgz#d8751655d22d384682741c972f2c3d6dfa3e66b5"
+ integrity sha512-ZS4Bp4r/Zoeq6+NLJpP+0Zzm0pR8whtGPf1XExKLJBAczGMnSi3It14OiNCStjQjM6NU1okjQGSxgEZN8eBYKg==
+
+merge-descriptors@1.0.3:
+ version "1.0.3"
+ resolved "https://registry.npmmirror.com/merge-descriptors/-/merge-descriptors-1.0.3.tgz#d80319a65f3c7935351e5cfdac8f9318504dbed5"
+ integrity sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==
+
+merge-options@1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/merge-options/-/merge-options-1.0.1.tgz#2a64b24457becd4e4dc608283247e94ce589aa32"
+ integrity sha512-iuPV41VWKWBIOpBsjoxjDZw8/GbSfZ2mk7N1453bwMrfzdrIk7EzBd+8UVR6rkw67th7xnk9Dytl3J+lHPdxvg==
+ dependencies:
+ is-plain-obj "^1.1"
+
+merge-source-map@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/merge-source-map/-/merge-source-map-1.1.0.tgz#2fdde7e6020939f70906a68f2d7ae685e4c8c646"
+ integrity sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==
+ dependencies:
+ source-map "^0.6.1"
+
+merge-stream@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/merge-stream/-/merge-stream-1.0.1.tgz#4041202d508a342ba00174008df0c251b8c135e1"
+ integrity sha512-e6RM36aegd4f+r8BZCcYXlO2P3H6xbUM6ktL2Xmf45GAOit9bI4z6/3VU7JwllVO1L7u0UDSg/EhzQ5lmMLolA==
+ dependencies:
+ readable-stream "^2.0.1"
+
+merge2@^1.2.3:
+ version "1.4.1"
+ resolved "https://registry.npmmirror.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
+ integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
+
+merge@^1.2.0:
+ version "1.2.1"
+ resolved "https://registry.npmmirror.com/merge/-/merge-1.2.1.tgz#38bebf80c3220a8a487b6fcfb3941bb11720c145"
+ integrity sha512-VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ==
+
+methods@~1.1.2:
+ version "1.1.2"
+ resolved "https://registry.npmmirror.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
+ integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==
+
+microargs@1.1.2:
+ version "1.1.2"
+ resolved "https://registry.npmmirror.com/microargs/-/microargs-1.1.2.tgz#725fbedcf120db12317d3eda534d3f19af867733"
+ integrity sha512-fUrX9ozzzUX6JlDoNXmUM5i4B0uBF5xPznZ0Y/izM9wOtAaTf44V2vUCRgGBLUq/SeGIcDgfnEZDVoT92HId0g==
+
+microcli@1.3.3:
+ version "1.3.3"
+ resolved "https://registry.npmmirror.com/microcli/-/microcli-1.3.3.tgz#27f1b330b0f935be6314f298972105a325f731e7"
+ integrity sha512-1isRaEBpfRC8vJMJymKknAH8CdPFABuWPVc18rlRWHOCcHLYEkJxcoH7FNkX7AuTGrB4Uf1ve6B0s/FfwzGWKg==
+ dependencies:
+ lodash "4.17.11"
+ microargs "1.1.2"
+
+micromatch@3.1.0:
+ version "3.1.0"
+ resolved "https://registry.npmmirror.com/micromatch/-/micromatch-3.1.0.tgz#5102d4eaf20b6997d6008e3acfe1c44a3fa815e2"
+ integrity sha512-3StSelAE+hnRvMs8IdVW7Uhk8CVed5tp+kLLGlBP6WiRAXS21GPGu/Nat4WNPXj2Eoc24B02SaeoyozPMfj0/g==
+ dependencies:
+ arr-diff "^4.0.0"
+ array-unique "^0.3.2"
+ braces "^2.2.2"
+ define-property "^1.0.0"
+ extend-shallow "^2.0.1"
+ extglob "^2.0.2"
+ fragment-cache "^0.2.1"
+ kind-of "^5.0.2"
+ nanomatch "^1.2.1"
+ object.pick "^1.3.0"
+ regex-not "^1.0.0"
+ snapdragon "^0.8.1"
+ to-regex "^3.0.1"
+
+micromatch@^2.3.11:
+ version "2.3.11"
+ resolved "https://registry.npmmirror.com/micromatch/-/micromatch-2.3.11.tgz#86677c97d1720b363431d04d0d15293bd38c1565"
+ integrity sha512-LnU2XFEk9xxSJ6rfgAry/ty5qwUTyHYOBU0g4R6tIw5ljwgGIBmiKhRWLw5NpMOnrgUNcDJ4WMp8rl3sYVHLNA==
+ dependencies:
+ arr-diff "^2.0.0"
+ array-unique "^0.2.1"
+ braces "^1.8.2"
+ expand-brackets "^0.1.4"
+ extglob "^0.3.1"
+ filename-regex "^2.0.0"
+ is-extglob "^1.0.0"
+ is-glob "^2.0.1"
+ kind-of "^3.0.2"
+ normalize-path "^2.0.1"
+ object.omit "^2.0.0"
+ parse-glob "^3.0.4"
+ regex-cache "^0.4.2"
+
+micromatch@^3.0.4, micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.8:
+ version "3.1.10"
+ resolved "https://registry.npmmirror.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23"
+ integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==
+ dependencies:
+ 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"
+
+miller-rabin@^4.0.0:
+ version "4.0.1"
+ resolved "https://registry.npmmirror.com/miller-rabin/-/miller-rabin-4.0.1.tgz#f080351c865b0dc562a8462966daa53543c78a4d"
+ integrity sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==
+ dependencies:
+ bn.js "^4.0.0"
+ brorand "^1.0.1"
+
+mime-db@1.52.0:
+ version "1.52.0"
+ resolved "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
+ integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
+
+"mime-db@>= 1.43.0 < 2":
+ version "1.54.0"
+ resolved "https://registry.npmmirror.com/mime-db/-/mime-db-1.54.0.tgz#cddb3ee4f9c64530dff640236661d42cb6a314f5"
+ integrity sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==
+
+mime-types@^2.1.12, mime-types@~2.1.17, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34:
+ version "2.1.35"
+ resolved "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
+ integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
+ dependencies:
+ mime-db "1.52.0"
+
+mime@1.6.0:
+ version "1.6.0"
+ resolved "https://registry.npmmirror.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
+ integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
+
+mime@^2.0.3, mime@^2.4.4:
+ version "2.6.0"
+ resolved "https://registry.npmmirror.com/mime/-/mime-2.6.0.tgz#a2a682a95cd4d0cb1d6257e28f83da7e35800367"
+ integrity sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==
+
+mimic-fn@^1.0.0:
+ version "1.2.0"
+ resolved "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022"
+ integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==
+
+mimic-fn@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.npmmirror.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
+ integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
+
+mimic-response@^1.0.0, mimic-response@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/mimic-response/-/mimic-response-1.0.1.tgz#4923538878eef42063cb8a3e3b0798781487ab1b"
+ integrity sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==
+
+mini-css-extract-plugin@^0.5.0:
+ version "0.5.0"
+ resolved "https://registry.npmmirror.com/mini-css-extract-plugin/-/mini-css-extract-plugin-0.5.0.tgz#ac0059b02b9692515a637115b0cc9fed3a35c7b0"
+ integrity sha512-IuaLjruM0vMKhUUT51fQdQzBYTX49dLj8w68ALEAe2A4iYNpIC4eMac67mt3NzycvjOlf07/kYxJDc0RTl1Wqw==
+ dependencies:
+ loader-utils "^1.1.0"
+ schema-utils "^1.0.0"
+ webpack-sources "^1.1.0"
+
+minimalistic-assert@^1.0.0, minimalistic-assert@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz#2e194de044626d4a10e7f7fbc00ce73e83e4d5c7"
+ integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==
+
+minimalistic-crypto-utils@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz#f6c00c1c0b082246e5c4d99dfb8c7c083b2b582a"
+ integrity sha512-JIYlbt6g8i5jKfJ3xz7rF0LXmv2TkDxBLUkiBeZ7bAx4GnnNMr8xFpGnOxn6GhTEHx3SjRrZEoU+j04prX1ktg==
+
+minimatch@9.0.1:
+ version "9.0.1"
+ resolved "https://registry.npmmirror.com/minimatch/-/minimatch-9.0.1.tgz#8a555f541cf976c622daf078bb28f29fb927c253"
+ integrity sha512-0jWhJpD/MdhPXwPuiRkCbfYfSKp2qnn2eOc279qI7f+osl/l+prKSrvhg157zSYvx/1nmgn2NqdT6k2Z7zSH9w==
+ dependencies:
+ brace-expansion "^2.0.1"
+
+minimatch@^3.0.2, minimatch@^3.0.3, minimatch@^3.0.4, minimatch@^3.1.1:
+ version "3.1.2"
+ resolved "https://registry.npmmirror.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
+ integrity sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==
+ dependencies:
+ brace-expansion "^1.1.7"
+
+minimatch@^9.0.4:
+ version "9.0.5"
+ resolved "https://registry.npmmirror.com/minimatch/-/minimatch-9.0.5.tgz#d74f9dd6b57d83d8e98cfb82133b03978bc929e5"
+ integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==
+ dependencies:
+ brace-expansion "^2.0.1"
+
+minimist@^1.1.1, minimist@^1.2.0, minimist@^1.2.5, minimist@^1.2.6:
+ version "1.2.8"
+ resolved "https://registry.npmmirror.com/minimist/-/minimist-1.2.8.tgz#c1a464e7693302e082a075cee0c057741ac4772c"
+ integrity sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==
+
+"minipass@^5.0.0 || ^6.0.2 || ^7.0.0", minipass@^7.1.2:
+ version "7.1.2"
+ resolved "https://registry.npmmirror.com/minipass/-/minipass-7.1.2.tgz#93a9626ce5e5e66bd4db86849e7515e92340a707"
+ integrity sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==
+
+mississippi@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/mississippi/-/mississippi-2.0.0.tgz#3442a508fafc28500486feea99409676e4ee5a6f"
+ integrity sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==
+ dependencies:
+ 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"
+
+mississippi@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmmirror.com/mississippi/-/mississippi-3.0.0.tgz#ea0a3291f97e0b5e8776b363d5f0a12d94c67022"
+ integrity sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==
+ dependencies:
+ 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"
+
+mitt@1.1.2:
+ version "1.1.2"
+ resolved "https://registry.npmmirror.com/mitt/-/mitt-1.1.2.tgz#380e61480d6a615b660f07abb60d51e0a4e4bed6"
+ integrity sha512-3btxP0O9iGADGWAkteQ8mzDtEspZqu4I32y4GZYCV5BrwtzdcRpF4dQgNdJadCrbBx7Lu6Sq9AVrerMHR0Hkmw==
+
+mixin-deep@^1.2.0:
+ version "1.3.2"
+ resolved "https://registry.npmmirror.com/mixin-deep/-/mixin-deep-1.3.2.tgz#1120b43dc359a785dce65b55b82e257ccf479566"
+ integrity sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==
+ dependencies:
+ for-in "^1.0.2"
+ is-extendable "^1.0.1"
+
+mkdirp@^0.5.1, mkdirp@^0.5.3, mkdirp@~0.5.0, mkdirp@~0.5.1:
+ version "0.5.6"
+ resolved "https://registry.npmmirror.com/mkdirp/-/mkdirp-0.5.6.tgz#7def03d2432dcae4ba1d611445c48396062255f6"
+ integrity sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==
+ dependencies:
+ minimist "^1.2.6"
+
+mockjs@1.0.1-beta3:
+ version "1.0.1-beta3"
+ resolved "https://registry.npmmirror.com/mockjs/-/mockjs-1.0.1-beta3.tgz#d234f3c27256397564f2c955142e891909537209"
+ integrity sha512-s7yV/Me3pLlGZ1G4E/OKfyxWjOxLkJUoiU2FIzeYHxbZ5pCD84TrySz6cxZGfaGuFP+N7i6Ghu3uePtwDsEV/w==
+ dependencies:
+ commander "*"
+
+mongodb@3.6.3:
+ version "3.6.3"
+ resolved "https://registry.npmmirror.com/mongodb/-/mongodb-3.6.3.tgz#eddaed0cc3598474d7a15f0f2a5b04848489fd05"
+ integrity sha512-rOZuR0QkodZiM+UbQE5kDsJykBqWi0CL4Ec2i1nrGrUI3KO11r6Fbxskqmq3JK2NH7aW4dcccBuUujAP0ERl5w==
+ dependencies:
+ bl "^2.2.1"
+ bson "^1.1.4"
+ denque "^1.4.1"
+ require_optional "^1.0.1"
+ safe-buffer "^5.1.2"
+ optionalDependencies:
+ saslprep "^1.0.0"
+
+mongoose-legacy-pluralize@1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npmmirror.com/mongoose-legacy-pluralize/-/mongoose-legacy-pluralize-1.0.2.tgz#3ba9f91fa507b5186d399fb40854bff18fb563e4"
+ integrity sha512-Yo/7qQU4/EyIS8YDFSeenIvXxZN+ld7YdV9LqFVQJzTLye8unujAWPZ4NWKfFA+RNjh+wvTWKY9Z3E5XM6ZZiQ==
+
+mongoose@5.11.7:
+ version "5.11.7"
+ resolved "https://registry.npmmirror.com/mongoose/-/mongoose-5.11.7.tgz#b66d8870c06822c05b5a71e44bdd67b9cf83ed50"
+ integrity sha512-9FQ3BNPMU7GVHw1jVrxPXQpVJWuMESEO5bf4SWgI4S6+OT1Kk6fdLGWibUh2UAVSolfizljOZQQ6Z+cTLyoFOw==
+ dependencies:
+ "@types/mongodb" "^3.5.27"
+ bson "^1.1.4"
+ kareem "2.3.2"
+ mongodb "3.6.3"
+ mongoose-legacy-pluralize "1.0.2"
+ mpath "0.8.1"
+ mquery "3.2.3"
+ ms "2.1.2"
+ regexp-clone "1.0.0"
+ safe-buffer "5.2.1"
+ sift "7.0.1"
+ sliced "1.0.1"
+
+move-concurrently@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/move-concurrently/-/move-concurrently-1.0.1.tgz#be2c005fda32e0b29af1f05d7c4b33214c701f92"
+ integrity sha512-hdrFxZOycD/g6A6SoI2bB5NA/5NEqD0569+S47WZhPvm46sD50ZHdYaFmnua5lndde9rCHGjmfK7Z8BuCt/PcQ==
+ dependencies:
+ 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"
+
+mpath@0.8.1:
+ version "0.8.1"
+ resolved "https://registry.npmmirror.com/mpath/-/mpath-0.8.1.tgz#f42bf00e162dfc8b4abcefaf114260233e6d3001"
+ integrity sha512-norEinle9aFc05McBawVPwqgFZ7npkts9yu17ztIVLwPwO9rq0OTp89kGVTqvv5rNLMz96E5iWHpVORjI411vA==
+
+mpvue-calendar@^2.3.7:
+ version "2.3.7"
+ resolved "https://registry.npmmirror.com/mpvue-calendar/-/mpvue-calendar-2.3.7.tgz#73f7f225a94e880326b6cc4b9be068de984d09e1"
+ integrity sha512-LIXHoWOOskFPEy3SETB6pKDj2GhteZ7HZLkcbZFYCbr7Un9IeePPqDVsTatOJPQXiISMmtexk51QD0/I81C5Dg==
+ dependencies:
+ core-js "^3.4.4"
+ vue "^2.6.10"
+
+mquery@3.2.3:
+ version "3.2.3"
+ resolved "https://registry.npmmirror.com/mquery/-/mquery-3.2.3.tgz#bcf54fdfe3baf57b6a22f9b62b1ad5fa18ffe96a"
+ integrity sha512-cIfbP4TyMYX+SkaQ2MntD+F2XbqaBHUYWk3j+kqdDztPWok3tgyssOZxMHMtzbV1w9DaSlvEea0Iocuro41A4g==
+ dependencies:
+ bluebird "3.5.1"
+ debug "3.1.0"
+ regexp-clone "^1.0.0"
+ safe-buffer "5.1.2"
+ sliced "1.0.1"
+
+ms@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
+ integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==
+
+ms@2.1.2:
+ version "2.1.2"
+ resolved "https://registry.npmmirror.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
+ integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
+
+ms@2.1.3, ms@^2.1.1, ms@^2.1.3:
+ version "2.1.3"
+ resolved "https://registry.npmmirror.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
+ integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
+
+multicast-dns-service-types@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz#899f11d9686e5e05cb91b35d5f0e63b773cfc901"
+ integrity sha512-cnAsSVxIDsYt0v7HmC0hWZFwwXSh+E6PgCrREDuN/EsjgLwA5XRmlMHhSiDPrt6HxY1gTivEa/Zh7GtODoLevQ==
+
+multicast-dns@^6.0.1:
+ version "6.2.3"
+ resolved "https://registry.npmmirror.com/multicast-dns/-/multicast-dns-6.2.3.tgz#a0ec7bd9055c4282f790c3c82f4e28db3b31b229"
+ integrity sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==
+ dependencies:
+ dns-packet "^1.3.1"
+ thunky "^1.0.2"
+
+mutation-observer@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.npmmirror.com/mutation-observer/-/mutation-observer-1.0.3.tgz#42e9222b101bca82e5ba9d5a7acf4a14c0f263d0"
+ integrity sha512-M/O/4rF2h776hV7qGMZUH3utZLO/jK7p8rnNgGkjKUw8zCGjRQPxB8z6+5l8+VjRUQ3dNYu4vjqXYLr+U8ZVNA==
+
+mute-stream@0.0.7:
+ version "0.0.7"
+ resolved "https://registry.npmmirror.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab"
+ integrity sha512-r65nCZhrbXXb6dXOACihYApHw2Q6pV0M3V0PSxd74N0+D8nzAdEAITq2oAjA1jVnKI+tGvEBUpqiMh0+rW6zDQ==
+
+nan@^2.12.1:
+ version "2.22.2"
+ resolved "https://registry.npmmirror.com/nan/-/nan-2.22.2.tgz#6b504fd029fb8f38c0990e52ad5c26772fdacfbb"
+ integrity sha512-DANghxFkS1plDdRsX0X9pm0Z6SJNN6gBdtXfanwoZ8hooC5gosGFSBGRYHUVPz1asKA/kMRqDRdHrluZ61SpBQ==
+
+nanoid@^3.3.11:
+ version "3.3.11"
+ resolved "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.11.tgz#4f4f112cefbe303202f2199838128936266d185b"
+ integrity sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==
+
+nanomatch@^1.2.1, nanomatch@^1.2.9:
+ version "1.2.13"
+ resolved "https://registry.npmmirror.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119"
+ integrity sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==
+ dependencies:
+ 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"
+
+natural-compare@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.npmmirror.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
+ integrity sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==
+
+negotiator@0.6.3:
+ version "0.6.3"
+ resolved "https://registry.npmmirror.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd"
+ integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==
+
+negotiator@~0.6.4:
+ version "0.6.4"
+ resolved "https://registry.npmmirror.com/negotiator/-/negotiator-0.6.4.tgz#777948e2452651c570b712dd01c23e262713fff7"
+ integrity sha512-myRT3DiWPHqho5PrJaIRyaMv2kgYf0mUVgBNOYMuCH5Ki1yEiQaf/ZJuQ62nvpc44wL5WDbTX7yGJi1Neevw8w==
+
+neo-async@^2.5.0, neo-async@^2.6.0, neo-async@^2.6.1, neo-async@^2.6.2:
+ version "2.6.2"
+ resolved "https://registry.npmmirror.com/neo-async/-/neo-async-2.6.2.tgz#b4aafb93e3aeb2d8174ca53cf163ab7d7308305f"
+ integrity sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==
+
+nice-try@^1.0.4:
+ version "1.0.5"
+ resolved "https://registry.npmmirror.com/nice-try/-/nice-try-1.0.5.tgz#a3378a7696ce7d223e88fc9b764bd7ef1089e366"
+ integrity sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==
+
+no-case@^2.2.0, no-case@^2.3.2:
+ version "2.3.2"
+ resolved "https://registry.npmmirror.com/no-case/-/no-case-2.3.2.tgz#60b813396be39b3f1288a4c1ed5d1e7d28b464ac"
+ integrity sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==
+ dependencies:
+ lower-case "^1.1.1"
+
+node-addon-api@^1.7.1:
+ version "1.7.2"
+ resolved "https://registry.npmmirror.com/node-addon-api/-/node-addon-api-1.7.2.tgz#3df30b95720b53c24e59948b49532b662444f54d"
+ integrity sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==
+
+node-cache@^4.1.1:
+ version "4.2.1"
+ resolved "https://registry.npmmirror.com/node-cache/-/node-cache-4.2.1.tgz#efd8474dee4edec4138cdded580f5516500f7334"
+ integrity sha512-BOb67bWg2dTyax5kdef5WfU3X8xu4wPg+zHzkvls0Q/QpYycIFRLEEIdAx9Wma43DxG6Qzn4illdZoYseKWa4A==
+ dependencies:
+ clone "2.x"
+ lodash "^4.17.15"
+
+node-forge@^0.10.0:
+ version "0.10.0"
+ resolved "https://registry.npmmirror.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3"
+ integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==
+
+node-int64@^0.4.0:
+ version "0.4.0"
+ resolved "https://registry.npmmirror.com/node-int64/-/node-int64-0.4.0.tgz#87a9065cdb355d3182d8f94ce11188b825c68a3b"
+ integrity sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==
+
+node-ipc@^9.1.1:
+ version "9.2.1"
+ resolved "https://registry.npmmirror.com/node-ipc/-/node-ipc-9.2.1.tgz#b32f66115f9d6ce841dc4ec2009d6a733f98bb6b"
+ integrity sha512-mJzaM6O3xHf9VT8BULvJSbdVbmHUKRNOH7zDDkCrA1/T+CVjq2WVIDfLt0azZRXpgArJtl3rtmEozrbXPZ9GaQ==
+ dependencies:
+ event-pubsub "4.3.0"
+ js-message "1.0.7"
+ js-queue "2.0.2"
+
+node-libs-browser@^2.0.0, node-libs-browser@^2.2.1:
+ version "2.2.1"
+ resolved "https://registry.npmmirror.com/node-libs-browser/-/node-libs-browser-2.2.1.tgz#b64f513d18338625f90346d27b0d235e631f6425"
+ integrity sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==
+ dependencies:
+ 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"
+
+node-notifier@^5.2.1:
+ version "5.4.5"
+ resolved "https://registry.npmmirror.com/node-notifier/-/node-notifier-5.4.5.tgz#0cbc1a2b0f658493b4025775a13ad938e96091ef"
+ integrity sha512-tVbHs7DyTLtzOiN78izLA85zRqB9NvEXkAf014Vx3jtSvn/xBl6bR8ZYifj+dFcFrKI21huSQgJZ6ZtL3B4HfQ==
+ dependencies:
+ growly "^1.3.0"
+ is-wsl "^1.1.0"
+ semver "^5.5.0"
+ shellwords "^0.1.1"
+ which "^1.3.0"
+
+node-plop@~0.18.0:
+ version "0.18.0"
+ resolved "https://registry.npmmirror.com/node-plop/-/node-plop-0.18.0.tgz#b44647898ee9e387d46e691f13a01fac53bf49fe"
+ integrity sha512-in7Cg3wJ/1a1NFvCoqxEuEDZDs3op8A7PghGgwmujsS93o9dZWk0HpZ8wGg4pKw2JB2KBo8xwUMOtEwBUr0sIA==
+ dependencies:
+ change-case "^3.0.1"
+ co "^4.6.0"
+ core-js "^2.4.1"
+ del "^3.0.0"
+ globby "^8.0.0"
+ handlebars "^4.1.0"
+ inquirer "^6.0.0"
+ isbinaryfile "^3.0.2"
+ lodash.get "^4.4.2"
+ mkdirp "^0.5.1"
+ pify "^4.0.0"
+ resolve "^1.2.0"
+
+node-releases@^2.0.19:
+ version "2.0.19"
+ resolved "https://registry.npmmirror.com/node-releases/-/node-releases-2.0.19.tgz#9e445a52950951ec4d177d843af370b411caf314"
+ integrity sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==
+
+nomnom@^1.5.x:
+ version "1.8.1"
+ resolved "https://registry.npmmirror.com/nomnom/-/nomnom-1.8.1.tgz#2151f722472ba79e50a76fc125bb8c8f2e4dc2a7"
+ integrity sha512-5s0JxqhDx9/rksG2BTMVN1enjWSvPidpoSgViZU4ZXULyTe+7jxcCRLB6f42Z0l1xYJpleCBtSyY6Lwg3uu5CQ==
+ dependencies:
+ chalk "~0.4.0"
+ underscore "~1.6.0"
+
+nopt@^7.2.1:
+ version "7.2.1"
+ resolved "https://registry.npmmirror.com/nopt/-/nopt-7.2.1.tgz#1cac0eab9b8e97c9093338446eddd40b2c8ca1e7"
+ integrity sha512-taM24ViiimT/XntxbPyJQzCG+p4EKOpgD3mxFwW38mGjVUrfERQOeY4EDHjdnptttfHuHQXFx+lTP08Q+mLa/w==
+ dependencies:
+ abbrev "^2.0.0"
+
+normalize-package-data@^2.3.2:
+ version "2.5.0"
+ resolved "https://registry.npmmirror.com/normalize-package-data/-/normalize-package-data-2.5.0.tgz#e66db1838b200c1dfc233225d12cb36520e234a8"
+ integrity sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==
+ dependencies:
+ hosted-git-info "^2.1.4"
+ resolve "^1.10.0"
+ semver "2 || 3 || 4 || 5"
+ validate-npm-package-license "^3.0.1"
+
+normalize-path@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/normalize-path/-/normalize-path-1.0.0.tgz#32d0e472f91ff345701c15a8311018d3b0a90379"
+ integrity sha512-7WyT0w8jhpDStXRq5836AMmihQwq2nrUVQrgjvUo/p/NZf9uy/MeJ246lBJVmWuYXMlJuG9BNZHF0hWjfTbQUA==
+
+normalize-path@^2.0.1, normalize-path@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.npmmirror.com/normalize-path/-/normalize-path-2.1.1.tgz#1ab28b556e198363a8c1a6f7e6fa20137fe6aed9"
+ integrity sha512-3pKJwH184Xo/lnH6oyP1q2pMd7HcypqqmRs91/6/i2CGtWwIKGCkOOMTm/zXbgTEWHw1uNpNi/igc3ePOYHb6w==
+ dependencies:
+ remove-trailing-separator "^1.0.1"
+
+normalize-path@^3.0.0, normalize-path@~3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmmirror.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
+ integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
+
+normalize-range@^0.1.2:
+ version "0.1.2"
+ resolved "https://registry.npmmirror.com/normalize-range/-/normalize-range-0.1.2.tgz#2d10c06bdfd312ea9777695a4d28439456b75942"
+ integrity sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==
+
+normalize-url@^3.0.0:
+ version "3.3.0"
+ resolved "https://registry.npmmirror.com/normalize-url/-/normalize-url-3.3.0.tgz#b2e1c4dc4f7c6d57743df733a4f5978d18650559"
+ integrity sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==
+
+normalize-url@^4.1.0:
+ version "4.5.1"
+ resolved "https://registry.npmmirror.com/normalize-url/-/normalize-url-4.5.1.tgz#0dd90cf1288ee1d1313b87081c9a5932ee48518a"
+ integrity sha512-9UZCFRHQdNrfTpGg8+1INIg93B6zE0aXMVFkw1WFwvO4SlZywU6aLg5Of0Ap/PgcbSw4LNxvMWXMeugwMCX0AA==
+
+normalize-wheel@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/normalize-wheel/-/normalize-wheel-1.0.1.tgz#aec886affdb045070d856447df62ecf86146ec45"
+ integrity sha512-1OnlAPZ3zgrk8B91HyRj+eVv+kS5u+Z0SCsak6Xil/kmgEia50ga7zfkumayonZrImffAxPU/5WcyGhzetHNPA==
+
+normalize.css@7.0.0:
+ version "7.0.0"
+ resolved "https://registry.npmmirror.com/normalize.css/-/normalize.css-7.0.0.tgz#abfb1dd82470674e0322b53ceb1aaf412938e4bf"
+ integrity sha512-LYaFZxj2Q1Q9e1VJ0f6laG46Rt5s9URhKyckNaA2vZnL/0gwQHWhM7ALQkp3WBQKM5sXRLQ5Ehrfkp+E/ZiCRg==
+
+npm-path@^2.0.2:
+ version "2.0.4"
+ resolved "https://registry.npmmirror.com/npm-path/-/npm-path-2.0.4.tgz#c641347a5ff9d6a09e4d9bce5580c4f505278e64"
+ integrity sha512-IFsj0R9C7ZdR5cP+ET342q77uSRdtWOlWpih5eC+lu29tIDbNEgDbzgVJ5UFvYHWhxDZ5TFkJafFioO0pPQjCw==
+ dependencies:
+ which "^1.2.10"
+
+npm-run-path@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.npmmirror.com/npm-run-path/-/npm-run-path-2.0.2.tgz#35a9232dfa35d7067b4cb2ddf2357b1871536c5f"
+ integrity sha512-lJxZYlT4DW/bRUtFh1MQIWqmLwQfAxnqWG4HhEdjMlkrJYnJn0Jrr2u3mgxqaWsdiBc76TYkTG/mhrnYTuzfHw==
+ dependencies:
+ path-key "^2.0.0"
+
+npm-which@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.npmmirror.com/npm-which/-/npm-which-3.0.1.tgz#9225f26ec3a285c209cae67c3b11a6b4ab7140aa"
+ integrity sha512-CM8vMpeFQ7MAPin0U3wzDhSGV0hMHNwHU0wjo402IVizPDrs45jSfSuoC+wThevY88LQti8VvaAnqYAeVy3I1A==
+ dependencies:
+ commander "^2.9.0"
+ npm-path "^2.0.2"
+ which "^1.2.10"
+
+nprogress@0.2.0:
+ version "0.2.0"
+ resolved "https://registry.npmmirror.com/nprogress/-/nprogress-0.2.0.tgz#cb8f34c53213d895723fcbab907e9422adbcafb1"
+ integrity sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==
+
+nth-check@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npmmirror.com/nth-check/-/nth-check-1.0.2.tgz#b2bd295c37e3dd58a3bf0700376663ba4d9cf05c"
+ integrity sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==
+ dependencies:
+ boolbase "~1.0.0"
+
+nth-check@^2.0.1:
+ version "2.1.1"
+ resolved "https://registry.npmmirror.com/nth-check/-/nth-check-2.1.1.tgz#c9eab428effce36cd6b92c924bdb000ef1f1ed1d"
+ integrity sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==
+ dependencies:
+ boolbase "^1.0.0"
+
+num2fraction@^1.2.2:
+ version "1.2.2"
+ resolved "https://registry.npmmirror.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede"
+ integrity sha512-Y1wZESM7VUThYY+4W+X4ySH2maqcA+p7UR+w8VWNWVAd6lwuXXWz/w/Cz43J/dI2I+PS6wD5N+bJUF+gjWvIqg==
+
+number-is-nan@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
+ integrity sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ==
+
+nwsapi@^2.0.7:
+ version "2.2.20"
+ resolved "https://registry.npmmirror.com/nwsapi/-/nwsapi-2.2.20.tgz#22e53253c61e7b0e7e93cef42c891154bcca11ef"
+ integrity sha512-/ieB+mDe4MrrKMT8z+mQL8klXydZWGR5Dowt4RAGKbJ3kIGEx3X4ljUo+6V73IXtUPWgfOlU5B9MlGxFO5T+cA==
+
+oauth-sign@~0.9.0:
+ version "0.9.0"
+ resolved "https://registry.npmmirror.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455"
+ integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==
+
+object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1:
+ version "4.1.1"
+ resolved "https://registry.npmmirror.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
+ integrity sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==
+
+object-copy@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.npmmirror.com/object-copy/-/object-copy-0.1.0.tgz#7e7d858b781bd7c991a41ba975ed3812754e998c"
+ integrity sha512-79LYn6VAb63zgtmAteVOWo9Vdj71ZVBy3Pbse+VqxDpEP83XuujMrGqHIwAXJ5I/aM0zU7dIyIAhifVTPrNItQ==
+ dependencies:
+ copy-descriptor "^0.1.0"
+ define-property "^0.2.5"
+ kind-of "^3.0.3"
+
+object-hash@^1.1.4:
+ version "1.3.1"
+ resolved "https://registry.npmmirror.com/object-hash/-/object-hash-1.3.1.tgz#fde452098a951cb145f039bb7d455449ddc126df"
+ integrity sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==
+
+object-inspect@^1.13.3, object-inspect@^1.13.4:
+ version "1.13.4"
+ resolved "https://registry.npmmirror.com/object-inspect/-/object-inspect-1.13.4.tgz#8375265e21bc20d0fa582c22e1b13485d6e00213"
+ integrity sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==
+
+object-is@^1.1.5:
+ version "1.1.6"
+ resolved "https://registry.npmmirror.com/object-is/-/object-is-1.1.6.tgz#1a6a53aed2dd8f7e6775ff870bea58545956ab07"
+ integrity sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==
+ dependencies:
+ call-bind "^1.0.7"
+ define-properties "^1.2.1"
+
+object-keys@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npmmirror.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
+ integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
+
+object-visit@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/object-visit/-/object-visit-1.0.1.tgz#f79c4493af0c5377b59fe39d395e41042dd045bb"
+ integrity sha512-GBaMwwAVK9qbQN3Scdo0OyvgPW7l3lnaVMj84uTOZlswkX0KpF6fyDBJhtTthf7pymztoN36/KEr1DyhF96zEA==
+ dependencies:
+ isobject "^3.0.0"
+
+object.assign@^4.1.0, object.assign@^4.1.4, object.assign@^4.1.7:
+ version "4.1.7"
+ resolved "https://registry.npmmirror.com/object.assign/-/object.assign-4.1.7.tgz#8c14ca1a424c6a561b0bb2a22f66f5049a945d3d"
+ integrity sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==
+ dependencies:
+ call-bind "^1.0.8"
+ call-bound "^1.0.3"
+ define-properties "^1.2.1"
+ es-object-atoms "^1.0.0"
+ has-symbols "^1.1.0"
+ object-keys "^1.1.1"
+
+object.defaults@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/object.defaults/-/object.defaults-1.1.0.tgz#3a7f868334b407dea06da16d88d5cd29e435fecf"
+ integrity sha512-c/K0mw/F11k4dEUBMW8naXUuBuhxRCfG7W+yFy8EcijU/rSmazOUd1XAEEe6bC0OuXY4HUKjTJv7xbxIMqdxrA==
+ dependencies:
+ array-each "^1.0.1"
+ array-slice "^1.0.0"
+ for-own "^1.0.0"
+ isobject "^3.0.0"
+
+object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0, object.getownpropertydescriptors@^2.1.8:
+ version "2.1.8"
+ resolved "https://registry.npmmirror.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.8.tgz#2f1fe0606ec1a7658154ccd4f728504f69667923"
+ integrity sha512-qkHIGe4q0lSYMv0XI4SsBTJz3WaURhLvd0lKSgtVuOsJ2krg4SgMw3PIRQFMp07yi++UR3se2mkcLqsBNpBb/A==
+ dependencies:
+ array.prototype.reduce "^1.0.6"
+ call-bind "^1.0.7"
+ define-properties "^1.2.1"
+ es-abstract "^1.23.2"
+ es-object-atoms "^1.0.0"
+ gopd "^1.0.1"
+ safe-array-concat "^1.1.2"
+
+object.map@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/object.map/-/object.map-1.0.1.tgz#cf83e59dc8fcc0ad5f4250e1f78b3b81bd801d37"
+ integrity sha512-3+mAJu2PLfnSVGHwIWubpOFLscJANBKuB/6A4CxBstc4aqwQY0FWcsppuy4jU5GSB95yES5JHSI+33AWuS4k6w==
+ dependencies:
+ for-own "^1.0.0"
+ make-iterator "^1.0.0"
+
+object.omit@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.npmmirror.com/object.omit/-/object.omit-2.0.1.tgz#1a9c744829f39dbb858c76ca3579ae2a54ebd1fa"
+ integrity sha512-UiAM5mhmIuKLsOvrL+B0U2d1hXHF3bFYWIuH1LMpuV2EJEHG1Ntz06PgLEHjm6VFd87NpH8rastvPoyv6UW2fA==
+ dependencies:
+ for-own "^0.1.4"
+ is-extendable "^0.1.1"
+
+object.pick@^1.2.0, object.pick@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.npmmirror.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747"
+ integrity sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==
+ dependencies:
+ isobject "^3.0.1"
+
+object.values@^1.1.0:
+ version "1.2.1"
+ resolved "https://registry.npmmirror.com/object.values/-/object.values-1.2.1.tgz#deed520a50809ff7f75a7cfd4bc64c7a038c6216"
+ integrity sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==
+ dependencies:
+ call-bind "^1.0.8"
+ call-bound "^1.0.3"
+ define-properties "^1.2.1"
+ es-object-atoms "^1.0.0"
+
+obuf@^1.0.0, obuf@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.npmmirror.com/obuf/-/obuf-1.1.2.tgz#09bea3343d41859ebd446292d11c9d4db619084e"
+ integrity sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==
+
+omelette@0.4.5:
+ version "0.4.5"
+ resolved "https://registry.npmmirror.com/omelette/-/omelette-0.4.5.tgz#f16bc477b7e263b59796a65661964e4762e9ae74"
+ integrity sha512-b0k9uqwF60u15KmVkneVw96VYRtZu2QCbXUQ26SgdyVUgMBzctzIfhNPKAWl4oqJEKpe52CzBYSS+HIKtiK8sw==
+
+on-finished@2.4.1:
+ version "2.4.1"
+ resolved "https://registry.npmmirror.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f"
+ integrity sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==
+ dependencies:
+ ee-first "1.1.1"
+
+on-finished@~2.3.0:
+ version "2.3.0"
+ resolved "https://registry.npmmirror.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
+ integrity sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==
+ dependencies:
+ ee-first "1.1.1"
+
+on-headers@~1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npmmirror.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f"
+ integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==
+
+once@^1.3.0, once@^1.3.1, once@^1.4.0:
+ version "1.4.0"
+ resolved "https://registry.npmmirror.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
+ integrity sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==
+ dependencies:
+ wrappy "1"
+
+onetime@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.npmmirror.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4"
+ integrity sha512-oyyPpiMaKARvvcgip+JV+7zci5L8D1W9RZIz2l1o08AM3pfspitVWnPt3mzHcBPp12oYMTy0pqrFs/C+m3EwsQ==
+ dependencies:
+ mimic-fn "^1.0.0"
+
+open@^6.3.0:
+ version "6.4.0"
+ resolved "https://registry.npmmirror.com/open/-/open-6.4.0.tgz#5c13e96d0dc894686164f18965ecfe889ecfc8a9"
+ integrity sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==
+ dependencies:
+ is-wsl "^1.1.0"
+
+opener@^1.5.1:
+ version "1.5.2"
+ resolved "https://registry.npmmirror.com/opener/-/opener-1.5.2.tgz#5d37e1f35077b9dcac4301372271afdeb2a13598"
+ integrity sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==
+
+opn@^5.5.0:
+ version "5.5.0"
+ resolved "https://registry.npmmirror.com/opn/-/opn-5.5.0.tgz#fc7164fab56d235904c51c3b27da6758ca3b9bfc"
+ integrity sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==
+ dependencies:
+ is-wsl "^1.1.0"
+
+optionator@^0.8.1, optionator@^0.8.2:
+ version "0.8.3"
+ resolved "https://registry.npmmirror.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495"
+ integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==
+ dependencies:
+ 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@^3.0.0, ora@^3.1.0, ora@^3.4.0:
+ version "3.4.0"
+ resolved "https://registry.npmmirror.com/ora/-/ora-3.4.0.tgz#bf0752491059a3ef3ed4c85097531de9fdbcd318"
+ integrity sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==
+ dependencies:
+ 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"
+
+os-browserify@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.npmmirror.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27"
+ integrity sha512-gjcpUc3clBf9+210TRaDWbf+rZZZEshZ+DlXMRCeAjp0xhTrnQsKHypIy1J3d5hKdUzj69t708EHtU8P6bUn0A==
+
+os-homedir@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.npmmirror.com/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3"
+ integrity sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==
+
+os-locale@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.npmmirror.com/os-locale/-/os-locale-3.1.0.tgz#a802a6ee17f24c10483ab9935719cef4ed16bf1a"
+ integrity sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==
+ dependencies:
+ execa "^1.0.0"
+ lcid "^2.0.0"
+ mem "^4.0.0"
+
+os-tmpdir@^1.0.1, os-tmpdir@~1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npmmirror.com/os-tmpdir/-/os-tmpdir-1.0.2.tgz#bbe67406c79aa85c5cfec766fe5734555dfa1274"
+ integrity sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==
+
+own-keys@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/own-keys/-/own-keys-1.0.1.tgz#e4006910a2bf913585289676eebd6f390cf51358"
+ integrity sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==
+ dependencies:
+ get-intrinsic "^1.2.6"
+ object-keys "^1.1.1"
+ safe-push-apply "^1.0.0"
+
+p-cancelable@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/p-cancelable/-/p-cancelable-1.1.0.tgz#d078d15a3af409220c886f1d9a0ca2e441ab26cc"
+ integrity sha512-s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==
+
+p-defer@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/p-defer/-/p-defer-1.0.0.tgz#9f6eb182f6c9aa8cd743004a7d4f96b196b0fb0c"
+ integrity sha512-wB3wfAxZpk2AzOfUMJNL+d36xothRSyj8EXOa4f6GMqYDN9BJaaSISbsk+wS9abmnebVw95C2Kb5t85UmpCxuw==
+
+p-finally@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/p-finally/-/p-finally-1.0.0.tgz#3fbcfb15b899a44123b34b6dcc18b724336a2cae"
+ integrity sha512-LICb2p9CB7FS+0eR1oqWnHhp0FljGLZCWBE9aix0Uye9W8LTQPwMTYVGWQWIw9RdQiDg4+epXQODwIYJtSJaow==
+
+p-is-promise@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.npmmirror.com/p-is-promise/-/p-is-promise-2.1.0.tgz#918cebaea248a62cf7ffab8e3bca8c5f882fc42e"
+ integrity sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==
+
+p-limit@^1.0.0, p-limit@^1.1.0:
+ version "1.3.0"
+ resolved "https://registry.npmmirror.com/p-limit/-/p-limit-1.3.0.tgz#b86bd5f0c25690911c7590fcbfc2010d54b3ccb8"
+ integrity sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==
+ dependencies:
+ p-try "^1.0.0"
+
+p-limit@^2.0.0, p-limit@^2.2.0:
+ version "2.3.0"
+ resolved "https://registry.npmmirror.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
+ integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==
+ dependencies:
+ p-try "^2.0.0"
+
+p-locate@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/p-locate/-/p-locate-2.0.0.tgz#20a0103b222a70c8fd39cc2e580680f3dde5ec43"
+ integrity sha512-nQja7m7gSKuewoVRen45CtVfODR3crN3goVQ0DDZ9N3yHxgpkuBhZqsaiotSQRrADUrne346peY7kT3TSACykg==
+ dependencies:
+ p-limit "^1.1.0"
+
+p-locate@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmmirror.com/p-locate/-/p-locate-3.0.0.tgz#322d69a05c0264b25997d9f40cd8a891ab0064a4"
+ integrity sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==
+ dependencies:
+ p-limit "^2.0.0"
+
+p-locate@^4.1.0:
+ version "4.1.0"
+ resolved "https://registry.npmmirror.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07"
+ integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==
+ dependencies:
+ p-limit "^2.2.0"
+
+p-map@^1.1.1:
+ version "1.2.0"
+ resolved "https://registry.npmmirror.com/p-map/-/p-map-1.2.0.tgz#e4e94f311eabbc8633a1e79908165fca26241b6b"
+ integrity sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==
+
+p-map@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.npmmirror.com/p-map/-/p-map-2.1.0.tgz#310928feef9c9ecc65b68b17693018a665cea175"
+ integrity sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==
+
+p-retry@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.npmmirror.com/p-retry/-/p-retry-3.0.1.tgz#316b4c8893e2c8dc1cfa891f406c4b422bebf328"
+ integrity sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==
+ dependencies:
+ retry "^0.12.0"
+
+p-try@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/p-try/-/p-try-1.0.0.tgz#cbc79cdbaf8fd4228e13f621f2b1a237c1b207b3"
+ integrity sha512-U1etNYuMJoIz3ZXSrrySFjsXQTWOx2/jdi86L+2pRvph/qMKL6sbcCYdH23fqsbm8TH2Gn0OybpT4eSFlCVHww==
+
+p-try@^2.0.0:
+ version "2.2.0"
+ resolved "https://registry.npmmirror.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
+ integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
+
+package-json-from-dist@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz#4f1471a010827a86f94cfd9b0727e36d267de505"
+ integrity sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==
+
+pako@~1.0.2, pako@~1.0.5:
+ version "1.0.11"
+ resolved "https://registry.npmmirror.com/pako/-/pako-1.0.11.tgz#6c9599d340d54dfd3946380252a35705a6b992bf"
+ integrity sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==
+
+parallel-transform@^1.1.0:
+ version "1.2.0"
+ resolved "https://registry.npmmirror.com/parallel-transform/-/parallel-transform-1.2.0.tgz#9049ca37d6cb2182c3b1d2c720be94d14a5814fc"
+ integrity sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==
+ dependencies:
+ cyclist "^1.0.1"
+ inherits "^2.0.3"
+ readable-stream "^2.1.5"
+
+param-case@2.1.x, param-case@^2.1.0:
+ version "2.1.1"
+ resolved "https://registry.npmmirror.com/param-case/-/param-case-2.1.1.tgz#df94fd8cf6531ecf75e6bef9a0858fbc72be2247"
+ integrity sha512-eQE845L6ot89sk2N8liD8HAuH4ca6Vvr7VWAWwt7+kvvG5aBcPmmphQ68JsEG2qa9n1TykS2DLeMt363AAH8/w==
+ dependencies:
+ no-case "^2.2.0"
+
+parent-module@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
+ integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
+ dependencies:
+ callsites "^3.0.0"
+
+parse-asn1@^5.0.0, parse-asn1@^5.1.7:
+ version "5.1.7"
+ resolved "https://registry.npmmirror.com/parse-asn1/-/parse-asn1-5.1.7.tgz#73cdaaa822125f9647165625eb45f8a051d2df06"
+ integrity sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg==
+ dependencies:
+ asn1.js "^4.10.1"
+ browserify-aes "^1.2.0"
+ evp_bytestokey "^1.0.3"
+ hash-base "~3.0"
+ pbkdf2 "^3.1.2"
+ safe-buffer "^5.2.1"
+
+parse-filepath@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.npmmirror.com/parse-filepath/-/parse-filepath-1.0.2.tgz#a632127f53aaf3d15876f5872f3ffac763d6c891"
+ integrity sha512-FwdRXKCohSVeXqwtYonZTXtbGJKrn+HNyWDYVcp5yuJlesTwNH4rsmRZ+GrKAPJ5bLpRxESMeS+Rl0VCHRvB2Q==
+ dependencies:
+ is-absolute "^1.0.0"
+ map-cache "^0.2.0"
+ path-root "^0.1.1"
+
+parse-glob@^3.0.4:
+ version "3.0.4"
+ resolved "https://registry.npmmirror.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c"
+ integrity sha512-FC5TeK0AwXzq3tUBFtH74naWkPQCEWs4K+xMxWZBlKDWu0bVHXGZa+KKqxKidd7xwhdZ19ZNuF2uO1M/r196HA==
+ dependencies:
+ glob-base "^0.3.0"
+ is-dotfile "^1.0.0"
+ is-extglob "^1.0.0"
+ is-glob "^2.0.0"
+
+parse-json@^2.2.0:
+ version "2.2.0"
+ resolved "https://registry.npmmirror.com/parse-json/-/parse-json-2.2.0.tgz#f480f40434ef80741f8469099f8dea18f55a4dc9"
+ integrity sha512-QR/GGaKCkhwk1ePQNYDRKYZ3mwU9ypsKhB0XyFnLQdomyEqk3e8wpW3V5Jp88zbxK4n5ST1nqo+g9juTpownhQ==
+ dependencies:
+ error-ex "^1.2.0"
+
+parse-json@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npmmirror.com/parse-json/-/parse-json-4.0.0.tgz#be35f5425be1f7f6c747184f98a788cb99477ee0"
+ integrity sha512-aOIos8bujGN93/8Ox/jPLh7RwVnPEysynVFE+fQZyg6jKELEHwzgKdLRFHUgXJL6kylijVSBC4BvN9OmsB48Rw==
+ dependencies:
+ error-ex "^1.3.1"
+ json-parse-better-errors "^1.0.1"
+
+parse-passwd@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/parse-passwd/-/parse-passwd-1.0.0.tgz#6d5b934a456993b23d37f40a382d6f1666a8e5c6"
+ integrity sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q==
+
+parse5@4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npmmirror.com/parse5/-/parse5-4.0.0.tgz#6d78656e3da8d78b4ec0b906f7c08ef1dfe3f608"
+ integrity sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==
+
+parseurl@~1.3.2, parseurl@~1.3.3:
+ version "1.3.3"
+ resolved "https://registry.npmmirror.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
+ integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
+
+pascal-case@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.npmmirror.com/pascal-case/-/pascal-case-2.0.1.tgz#2d578d3455f660da65eca18ef95b4e0de912761e"
+ integrity sha512-qjS4s8rBOJa2Xm0jmxXiyh1+OFf6ekCWOvUaRgAQSktzlTbMotS0nmG9gyYAybCWBcuP4fsBeRCKNwGBnMe2OQ==
+ dependencies:
+ camel-case "^3.0.0"
+ upper-case-first "^1.1.0"
+
+pascalcase@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.npmmirror.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14"
+ integrity sha512-XHXfu/yOQRy9vYOtUDVMN60OEJjW013GoObG1o+xwQTpB9eYJX/BjXMsdW13ZDPruFhYYn0AG22w0xgQMwl3Nw==
+
+path-browserify@0.0.1:
+ version "0.0.1"
+ resolved "https://registry.npmmirror.com/path-browserify/-/path-browserify-0.0.1.tgz#e6c4ddd7ed3aa27c68a20cc4e50e1a4ee83bbc4a"
+ integrity sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==
+
+path-case@^2.1.0:
+ version "2.1.1"
+ resolved "https://registry.npmmirror.com/path-case/-/path-case-2.1.1.tgz#94b8037c372d3fe2906e465bb45e25d226e8eea5"
+ integrity sha512-Ou0N05MioItesaLr9q8TtHVWmJ6fxWdqKB2RohFmNWVyJ+2zeKIeDNWAN6B/Pe7wpzWChhZX6nONYmOnMeJQ/Q==
+ dependencies:
+ no-case "^2.2.0"
+
+path-dirname@^1.0.0:
+ version "1.0.2"
+ resolved "https://registry.npmmirror.com/path-dirname/-/path-dirname-1.0.2.tgz#cc33d24d525e099a5388c0336c6e32b9160609e0"
+ integrity sha512-ALzNPpyNq9AqXMBjeymIjFDAkAFH06mHJH/cSBHAgU0s4vfpBn6b2nf8tiRLvagKD8RbTpq2FKTBg7cl9l3c7Q==
+
+path-exists@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.npmmirror.com/path-exists/-/path-exists-2.1.0.tgz#0feb6c64f0fc518d9a754dd5efb62c7022761f4b"
+ integrity sha512-yTltuKuhtNeFJKa1PiRzfLAU5182q1y4Eb4XCJ3PBqyzEDkAZRzBrKKBct682ls9reBVHf9udYLN5Nd+K1B9BQ==
+ dependencies:
+ pinkie-promise "^2.0.0"
+
+path-exists@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmmirror.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515"
+ integrity sha512-bpC7GYwiDYQ4wYLe+FA8lhRjhQCMcQGuSgGGqDkg/QerRWw9CmGRT0iSOVRSZJ29NMLZgIzqaljJ63oaL4NIJQ==
+
+path-exists@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npmmirror.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
+ integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
+
+path-is-absolute@^1.0.0, path-is-absolute@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
+ integrity sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==
+
+path-is-inside@^1.0.1, path-is-inside@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npmmirror.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53"
+ integrity sha512-DUWJr3+ULp4zXmol/SZkFf3JGsS9/SIv+Y3Rt93/UjPpDpklB5f1er4O3POIbUuUJ3FXgqte2Q7SrU6zAqwk8w==
+
+path-key@^2.0.0, path-key@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.npmmirror.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40"
+ integrity sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==
+
+path-key@^3.1.0:
+ version "3.1.1"
+ resolved "https://registry.npmmirror.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
+ integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
+
+path-parse@^1.0.5, path-parse@^1.0.7:
+ version "1.0.7"
+ resolved "https://registry.npmmirror.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
+ integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
+
+path-root-regex@^0.1.0:
+ version "0.1.2"
+ resolved "https://registry.npmmirror.com/path-root-regex/-/path-root-regex-0.1.2.tgz#bfccdc8df5b12dc52c8b43ec38d18d72c04ba96d"
+ integrity sha512-4GlJ6rZDhQZFE0DPVKh0e9jmZ5egZfxTkp7bcRDuPlJXbAwhxcl2dINPUAsjLdejqaLsCeg8axcLjIbvBjN4pQ==
+
+path-root@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.npmmirror.com/path-root/-/path-root-0.1.1.tgz#9a4a6814cac1c0cd73360a95f32083c8ea4745b7"
+ integrity sha512-QLcPegTHF11axjfojBIoDygmS2E3Lf+8+jI6wOVmNVenrKSo3mFdSGiIgdSHenczw3wPtlVMQaFVwGmM7BJdtg==
+ dependencies:
+ path-root-regex "^0.1.0"
+
+path-scurry@^1.11.1:
+ version "1.11.1"
+ resolved "https://registry.npmmirror.com/path-scurry/-/path-scurry-1.11.1.tgz#7960a668888594a0720b12a911d1a742ab9f11d2"
+ integrity sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==
+ dependencies:
+ lru-cache "^10.2.0"
+ minipass "^5.0.0 || ^6.0.2 || ^7.0.0"
+
+path-to-regexp@0.1.12:
+ version "0.1.12"
+ resolved "https://registry.npmmirror.com/path-to-regexp/-/path-to-regexp-0.1.12.tgz#d5e1a12e478a976d432ef3c58d534b9923164bb7"
+ integrity sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==
+
+path-to-regexp@2.4.0:
+ version "2.4.0"
+ resolved "https://registry.npmmirror.com/path-to-regexp/-/path-to-regexp-2.4.0.tgz#35ce7f333d5616f1c1e1bfe266c3aba2e5b2e704"
+ integrity sha512-G6zHoVqC6GGTQkZwF4lkuEyMbVOjoBKAEybQUypI1WTkqinCOrq2x6U2+phkJ1XsEMTy4LjtwPI7HW+NVrRR2w==
+
+path-type@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/path-type/-/path-type-1.1.0.tgz#59c44f7ee491da704da415da5a4070ba4f8fe441"
+ integrity sha512-S4eENJz1pkiQn9Znv33Q+deTOKmbl+jj1Fl+qiP/vYezj+S8x+J3Uo0ISrx/QoEvIlOaDWJhPaRd1flJ9HXZqg==
+ dependencies:
+ graceful-fs "^4.1.2"
+ pify "^2.0.0"
+ pinkie-promise "^2.0.0"
+
+path-type@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmmirror.com/path-type/-/path-type-3.0.0.tgz#cef31dc8e0a1a3bb0d105c0cd97cf3bf47f4e36f"
+ integrity sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==
+ dependencies:
+ pify "^3.0.0"
+
+pbkdf2@^3.1.2:
+ version "3.1.3"
+ resolved "https://registry.npmmirror.com/pbkdf2/-/pbkdf2-3.1.3.tgz#8be674d591d65658113424592a95d1517318dd4b"
+ integrity sha512-wfRLBZ0feWRhCIkoMB6ete7czJcnNnqRpcoWQBLqatqXXmelSRqfdDK4F3u9T2s2cXas/hQJcryI/4lAL+XTlA==
+ dependencies:
+ create-hash "~1.1.3"
+ create-hmac "^1.1.7"
+ ripemd160 "=2.0.1"
+ safe-buffer "^5.2.1"
+ sha.js "^2.4.11"
+ to-buffer "^1.2.0"
+
+performance-now@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npmmirror.com/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b"
+ integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow==
+
+picocolors@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.npmmirror.com/picocolors/-/picocolors-0.2.1.tgz#570670f793646851d1ba135996962abad587859f"
+ integrity sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==
+
+picocolors@^1.0.0, picocolors@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b"
+ integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==
+
+picomatch@^2.0.4, picomatch@^2.2.1:
+ version "2.3.1"
+ resolved "https://registry.npmmirror.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
+ integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
+
+pify@^2.0.0:
+ version "2.3.0"
+ resolved "https://registry.npmmirror.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c"
+ integrity sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==
+
+pify@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmmirror.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176"
+ integrity sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==
+
+pify@^4.0.0, pify@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.npmmirror.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231"
+ integrity sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==
+
+pinkie-promise@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.npmmirror.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz#2135d6dfa7a358c069ac9b178776288228450ffa"
+ integrity sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==
+ dependencies:
+ pinkie "^2.0.0"
+
+pinkie@^2.0.0:
+ version "2.0.4"
+ resolved "https://registry.npmmirror.com/pinkie/-/pinkie-2.0.4.tgz#72556b80cfa0d48a974e80e77248e80ed4f7f870"
+ integrity sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==
+
+pirates@^4.0.0:
+ version "4.0.7"
+ resolved "https://registry.npmmirror.com/pirates/-/pirates-4.0.7.tgz#643b4a18c4257c8a65104b73f3049ce9a0a15e22"
+ integrity sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==
+
+pkg-dir@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/pkg-dir/-/pkg-dir-1.0.0.tgz#7a4b508a8d5bb2d629d447056ff4e9c9314cf3d4"
+ integrity sha512-c6pv3OE78mcZ92ckebVDqg0aWSoKhOTbwCV6qbCWMk546mAL9pZln0+QsN/yQ7fkucd4+yJPLrCBXNt8Ruk+Eg==
+ dependencies:
+ find-up "^1.0.0"
+
+pkg-dir@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/pkg-dir/-/pkg-dir-2.0.0.tgz#f6d5d1109e19d63edf428e0bd57e12777615334b"
+ integrity sha512-ojakdnUgL5pzJYWw2AIDEupaQCX5OPbM688ZevubICjdIX01PRSYKqm33fJoCOJBRseYCTUlQRnBNX+Pchaejw==
+ dependencies:
+ find-up "^2.1.0"
+
+pkg-dir@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmmirror.com/pkg-dir/-/pkg-dir-3.0.0.tgz#2749020f239ed990881b1f71210d51eb6523bea3"
+ integrity sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==
+ dependencies:
+ find-up "^3.0.0"
+
+pkg-dir@^4.1.0:
+ version "4.2.0"
+ resolved "https://registry.npmmirror.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3"
+ integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==
+ dependencies:
+ find-up "^4.0.0"
+
+pkg-up@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/pkg-up/-/pkg-up-2.0.0.tgz#c819ac728059a461cab1c3889a2be3c49a004d7f"
+ integrity sha512-fjAPuiws93rm7mPUu21RdBnkeZNrbfCFCwfAhPWY+rR3zG0ubpe5cEReHOw5fIbfmsxEV/g2kSxGTATY3Bpnwg==
+ dependencies:
+ find-up "^2.1.0"
+
+please-upgrade-node@^3.0.2, please-upgrade-node@^3.1.1:
+ version "3.2.0"
+ resolved "https://registry.npmmirror.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942"
+ integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==
+ dependencies:
+ semver-compare "^1.0.0"
+
+plop@2.3.0:
+ version "2.3.0"
+ resolved "https://registry.npmmirror.com/plop/-/plop-2.3.0.tgz#e9b3ccf9d8fdbce077ee7377b75fcc5f511df562"
+ integrity sha512-CfTMYmfeCwlipzVcDWI6edxRwdZx47d8BRL3VSv5g+BB8JcLXaSzATkU0flG/aIVl4cxe1Y0rGkrtPjpDm7ySQ==
+ dependencies:
+ chalk "^1.1.3"
+ interpret "^1.2.0"
+ liftoff "^2.5.0"
+ minimist "^1.2.0"
+ node-plop "~0.18.0"
+ ora "^3.0.0"
+ v8flags "^2.0.10"
+
+pluralize@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.npmmirror.com/pluralize/-/pluralize-7.0.0.tgz#298b89df8b93b0221dbf421ad2b1b1ea23fc6777"
+ integrity sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==
+
+pn@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/pn/-/pn-1.1.0.tgz#e2f4cef0e219f463c179ab37463e4e1ecdccbafb"
+ integrity sha512-2qHaIQr2VLRFoxe2nASzsV6ef4yOOH+Fi9FBOVH6cqeSgUnoyySPZkxzLuzd+RYOQTRpROA0ztTMqxROKSb/nA==
+
+portfinder@^1.0.20, portfinder@^1.0.26:
+ version "1.0.37"
+ resolved "https://registry.npmmirror.com/portfinder/-/portfinder-1.0.37.tgz#92b754ef89a11801c8efe4b0e5cd845b0064c212"
+ integrity sha512-yuGIEjDAYnnOex9ddMnKZEMFE0CcGo6zbfzDklkmT1m5z734ss6JMzN9rNB3+RR7iS+F10D4/BVIaXOyh8PQKw==
+ dependencies:
+ async "^3.2.6"
+ debug "^4.3.6"
+
+posix-character-classes@^0.1.0:
+ version "0.1.1"
+ resolved "https://registry.npmmirror.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab"
+ integrity sha512-xTgYBc3fuo7Yt7JbiuFxSYGToMoz8fLoE6TC9Wx1P/u+LfeThMOAqmuyECnlBaaJb+u1m9hHiXUEtwW4OzfUJg==
+
+possible-typed-array-names@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz#93e3582bc0e5426586d9d07b79ee40fc841de4ae"
+ integrity sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==
+
+postcss-calc@^7.0.1:
+ version "7.0.5"
+ resolved "https://registry.npmmirror.com/postcss-calc/-/postcss-calc-7.0.5.tgz#f8a6e99f12e619c2ebc23cf6c486fdc15860933e"
+ integrity sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==
+ dependencies:
+ postcss "^7.0.27"
+ postcss-selector-parser "^6.0.2"
+ postcss-value-parser "^4.0.2"
+
+postcss-colormin@^4.0.3:
+ version "4.0.3"
+ resolved "https://registry.npmmirror.com/postcss-colormin/-/postcss-colormin-4.0.3.tgz#ae060bce93ed794ac71264f08132d550956bd381"
+ integrity sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==
+ dependencies:
+ browserslist "^4.0.0"
+ color "^3.0.0"
+ has "^1.0.0"
+ postcss "^7.0.0"
+ postcss-value-parser "^3.0.0"
+
+postcss-convert-values@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.npmmirror.com/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz#ca3813ed4da0f812f9d43703584e449ebe189a7f"
+ integrity sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==
+ dependencies:
+ postcss "^7.0.0"
+ postcss-value-parser "^3.0.0"
+
+postcss-discard-comments@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.npmmirror.com/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz#1fbabd2c246bff6aaad7997b2b0918f4d7af4033"
+ integrity sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==
+ dependencies:
+ postcss "^7.0.0"
+
+postcss-discard-duplicates@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.npmmirror.com/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz#3fe133cd3c82282e550fc9b239176a9207b784eb"
+ integrity sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==
+ dependencies:
+ postcss "^7.0.0"
+
+postcss-discard-empty@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.npmmirror.com/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz#c8c951e9f73ed9428019458444a02ad90bb9f765"
+ integrity sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==
+ dependencies:
+ postcss "^7.0.0"
+
+postcss-discard-overridden@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.npmmirror.com/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz#652aef8a96726f029f5e3e00146ee7a4e755ff57"
+ integrity sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==
+ dependencies:
+ postcss "^7.0.0"
+
+postcss-load-config@^2.0.0:
+ version "2.1.2"
+ resolved "https://registry.npmmirror.com/postcss-load-config/-/postcss-load-config-2.1.2.tgz#c5ea504f2c4aef33c7359a34de3573772ad7502a"
+ integrity sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==
+ dependencies:
+ cosmiconfig "^5.0.0"
+ import-cwd "^2.0.0"
+
+postcss-loader@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmmirror.com/postcss-loader/-/postcss-loader-3.0.0.tgz#6b97943e47c72d845fa9e03f273773d4e8dd6c2d"
+ integrity sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==
+ dependencies:
+ loader-utils "^1.1.0"
+ postcss "^7.0.0"
+ postcss-load-config "^2.0.0"
+ schema-utils "^1.0.0"
+
+postcss-merge-longhand@^4.0.11:
+ version "4.0.11"
+ resolved "https://registry.npmmirror.com/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz#62f49a13e4a0ee04e7b98f42bb16062ca2549e24"
+ integrity sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==
+ dependencies:
+ css-color-names "0.0.4"
+ postcss "^7.0.0"
+ postcss-value-parser "^3.0.0"
+ stylehacks "^4.0.0"
+
+postcss-merge-rules@^4.0.3:
+ version "4.0.3"
+ resolved "https://registry.npmmirror.com/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz#362bea4ff5a1f98e4075a713c6cb25aefef9a650"
+ integrity sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==
+ dependencies:
+ 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"
+
+postcss-minify-font-values@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.npmmirror.com/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz#cd4c344cce474343fac5d82206ab2cbcb8afd5a6"
+ integrity sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==
+ dependencies:
+ postcss "^7.0.0"
+ postcss-value-parser "^3.0.0"
+
+postcss-minify-gradients@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.npmmirror.com/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz#93b29c2ff5099c535eecda56c4aa6e665a663471"
+ integrity sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==
+ dependencies:
+ cssnano-util-get-arguments "^4.0.0"
+ is-color-stop "^1.0.0"
+ postcss "^7.0.0"
+ postcss-value-parser "^3.0.0"
+
+postcss-minify-params@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.npmmirror.com/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz#6b9cef030c11e35261f95f618c90036d680db874"
+ integrity sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==
+ dependencies:
+ 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"
+
+postcss-minify-selectors@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.npmmirror.com/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz#e2e5eb40bfee500d0cd9243500f5f8ea4262fbd8"
+ integrity sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==
+ dependencies:
+ alphanum-sort "^1.0.0"
+ has "^1.0.0"
+ postcss "^7.0.0"
+ postcss-selector-parser "^3.0.0"
+
+postcss-modules-extract-imports@^1.2.0:
+ version "1.2.1"
+ resolved "https://registry.npmmirror.com/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz#dc87e34148ec7eab5f791f7cd5849833375b741a"
+ integrity sha512-6jt9XZwUhwmRUhb/CkyJY020PYaPJsCyt3UjbaWo6XEbH/94Hmv6MP7fG2C5NDU/BcHzyGYxNtHvM+LTf9HrYw==
+ dependencies:
+ postcss "^6.0.1"
+
+postcss-modules-local-by-default@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.npmmirror.com/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz#f7d80c398c5a393fa7964466bd19500a7d61c069"
+ integrity sha512-X4cquUPIaAd86raVrBwO8fwRfkIdbwFu7CTfEOjiZQHVQwlHRSkTgH5NLDmMm5+1hQO8u6dZ+TOOJDbay1hYpA==
+ dependencies:
+ css-selector-tokenizer "^0.7.0"
+ postcss "^6.0.1"
+
+postcss-modules-scope@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz#d6ea64994c79f97b62a72b426fbe6056a194bb90"
+ integrity sha512-LTYwnA4C1He1BKZXIx1CYiHixdSe9LWYVKadq9lK5aCCMkoOkFyZ7aigt+srfjlRplJY3gIol6KUNefdMQJdlw==
+ dependencies:
+ css-selector-tokenizer "^0.7.0"
+ postcss "^6.0.1"
+
+postcss-modules-values@^1.3.0:
+ version "1.3.0"
+ resolved "https://registry.npmmirror.com/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz#ecffa9d7e192518389f42ad0e83f72aec456ea20"
+ integrity sha512-i7IFaR9hlQ6/0UgFuqM6YWaCfA1Ej8WMg8A5DggnH1UGKJvTV/ugqq/KaULixzzOi3T/tF6ClBXcHGCzdd5unA==
+ dependencies:
+ icss-replace-symbols "^1.1.0"
+ postcss "^6.0.1"
+
+postcss-normalize-charset@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.npmmirror.com/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz#8b35add3aee83a136b0471e0d59be58a50285dd4"
+ integrity sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==
+ dependencies:
+ postcss "^7.0.0"
+
+postcss-normalize-display-values@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.npmmirror.com/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz#0dbe04a4ce9063d4667ed2be476bb830c825935a"
+ integrity sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==
+ dependencies:
+ cssnano-util-get-match "^4.0.0"
+ postcss "^7.0.0"
+ postcss-value-parser "^3.0.0"
+
+postcss-normalize-positions@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.npmmirror.com/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz#05f757f84f260437378368a91f8932d4b102917f"
+ integrity sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==
+ dependencies:
+ 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@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.npmmirror.com/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz#c4ebbc289f3991a028d44751cbdd11918b17910c"
+ integrity sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==
+ dependencies:
+ 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@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.npmmirror.com/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz#cd44c40ab07a0c7a36dc5e99aace1eca4ec2690c"
+ integrity sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==
+ dependencies:
+ has "^1.0.0"
+ postcss "^7.0.0"
+ postcss-value-parser "^3.0.0"
+
+postcss-normalize-timing-functions@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.npmmirror.com/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz#8e009ca2a3949cdaf8ad23e6b6ab99cb5e7d28d9"
+ integrity sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==
+ dependencies:
+ cssnano-util-get-match "^4.0.0"
+ postcss "^7.0.0"
+ postcss-value-parser "^3.0.0"
+
+postcss-normalize-unicode@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.npmmirror.com/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz#841bd48fdcf3019ad4baa7493a3d363b52ae1cfb"
+ integrity sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==
+ dependencies:
+ browserslist "^4.0.0"
+ postcss "^7.0.0"
+ postcss-value-parser "^3.0.0"
+
+postcss-normalize-url@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.npmmirror.com/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz#10e437f86bc7c7e58f7b9652ed878daaa95faae1"
+ integrity sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==
+ dependencies:
+ is-absolute-url "^2.0.0"
+ normalize-url "^3.0.0"
+ postcss "^7.0.0"
+ postcss-value-parser "^3.0.0"
+
+postcss-normalize-whitespace@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.npmmirror.com/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz#bf1d4070fe4fcea87d1348e825d8cc0c5faa7d82"
+ integrity sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==
+ dependencies:
+ postcss "^7.0.0"
+ postcss-value-parser "^3.0.0"
+
+postcss-ordered-values@^4.1.2:
+ version "4.1.2"
+ resolved "https://registry.npmmirror.com/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz#0cf75c820ec7d5c4d280189559e0b571ebac0eee"
+ integrity sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==
+ dependencies:
+ cssnano-util-get-arguments "^4.0.0"
+ postcss "^7.0.0"
+ postcss-value-parser "^3.0.0"
+
+postcss-prefix-selector@^1.6.0:
+ version "1.16.1"
+ resolved "https://registry.npmmirror.com/postcss-prefix-selector/-/postcss-prefix-selector-1.16.1.tgz#87a77523838b79c0e8aec29f173234b2987cdc04"
+ integrity sha512-Umxu+FvKMwlY6TyDzGFoSUnzW+NOfMBLyC1tAkIjgX+Z/qGspJeRjVC903D7mx7TuBpJlwti2ibXtWuA7fKMeQ==
+
+postcss-reduce-initial@^4.0.3:
+ version "4.0.3"
+ resolved "https://registry.npmmirror.com/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz#7fd42ebea5e9c814609639e2c2e84ae270ba48df"
+ integrity sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==
+ dependencies:
+ browserslist "^4.0.0"
+ caniuse-api "^3.0.0"
+ has "^1.0.0"
+ postcss "^7.0.0"
+
+postcss-reduce-transforms@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.npmmirror.com/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz#17efa405eacc6e07be3414a5ca2d1074681d4e29"
+ integrity sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==
+ dependencies:
+ cssnano-util-get-match "^4.0.0"
+ has "^1.0.0"
+ postcss "^7.0.0"
+ postcss-value-parser "^3.0.0"
+
+postcss-selector-parser@^3.0.0:
+ version "3.1.2"
+ resolved "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz#b310f5c4c0fdaf76f94902bbaa30db6aa84f5270"
+ integrity sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==
+ dependencies:
+ dot-prop "^5.2.0"
+ indexes-of "^1.0.1"
+ uniq "^1.0.1"
+
+postcss-selector-parser@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-5.0.0.tgz#249044356697b33b64f1a8f7c80922dddee7195c"
+ integrity sha512-w+zLE5Jhg6Liz8+rQOWEAwtwkyqpfnmsinXjXg6cY7YIONZZtgvE0v2O0uhQBs0peNomOJwWRKt6JBfTdTd3OQ==
+ dependencies:
+ cssesc "^2.0.0"
+ indexes-of "^1.0.1"
+ uniq "^1.0.1"
+
+postcss-selector-parser@^6.0.2:
+ version "6.1.2"
+ resolved "https://registry.npmmirror.com/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz#27ecb41fb0e3b6ba7a1ec84fff347f734c7929de"
+ integrity sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==
+ dependencies:
+ cssesc "^3.0.0"
+ util-deprecate "^1.0.2"
+
+postcss-svgo@^4.0.3:
+ version "4.0.3"
+ resolved "https://registry.npmmirror.com/postcss-svgo/-/postcss-svgo-4.0.3.tgz#343a2cdbac9505d416243d496f724f38894c941e"
+ integrity sha512-NoRbrcMWTtUghzuKSoIm6XV+sJdvZ7GZSc3wdBN0W19FTtp2ko8NqLsgoh/m9CzNhU3KLPvQmjIwtaNFkaFTvw==
+ dependencies:
+ postcss "^7.0.0"
+ postcss-value-parser "^3.0.0"
+ svgo "^1.0.0"
+
+postcss-unique-selectors@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.npmmirror.com/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz#9446911f3289bfd64c6d680f073c03b1f9ee4bac"
+ integrity sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==
+ dependencies:
+ alphanum-sort "^1.0.0"
+ postcss "^7.0.0"
+ uniqs "^2.0.0"
+
+postcss-value-parser@^3.0.0, postcss-value-parser@^3.3.0:
+ version "3.3.1"
+ resolved "https://registry.npmmirror.com/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz#9ff822547e2893213cf1c30efa51ac5fd1ba8281"
+ integrity sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==
+
+postcss-value-parser@^4.0.2, postcss-value-parser@^4.1.0:
+ version "4.2.0"
+ resolved "https://registry.npmmirror.com/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz#723c09920836ba6d3e5af019f92bc0971c02e514"
+ integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
+
+postcss@^5.2.17:
+ version "5.2.18"
+ resolved "https://registry.npmmirror.com/postcss/-/postcss-5.2.18.tgz#badfa1497d46244f6390f58b319830d9107853c5"
+ integrity sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==
+ dependencies:
+ chalk "^1.1.3"
+ js-base64 "^2.1.9"
+ source-map "^0.5.6"
+ supports-color "^3.2.3"
+
+postcss@^6.0.1, postcss@^6.0.23:
+ version "6.0.23"
+ resolved "https://registry.npmmirror.com/postcss/-/postcss-6.0.23.tgz#61c82cc328ac60e677645f979054eb98bc0e3324"
+ integrity sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==
+ dependencies:
+ chalk "^2.4.1"
+ source-map "^0.6.1"
+ supports-color "^5.4.0"
+
+postcss@^7.0.0, postcss@^7.0.1, postcss@^7.0.14, postcss@^7.0.27, postcss@^7.0.32, postcss@^7.0.36:
+ version "7.0.39"
+ resolved "https://registry.npmmirror.com/postcss/-/postcss-7.0.39.tgz#9624375d965630e2e1f2c02a935c82a59cb48309"
+ integrity sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==
+ dependencies:
+ picocolors "^0.2.1"
+ source-map "^0.6.1"
+
+postcss@^8.4.14:
+ version "8.5.6"
+ resolved "https://registry.npmmirror.com/postcss/-/postcss-8.5.6.tgz#2825006615a619b4f62a9e7426cc120b349a8f3c"
+ integrity sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==
+ dependencies:
+ nanoid "^3.3.11"
+ picocolors "^1.1.1"
+ source-map-js "^1.2.1"
+
+posthtml-parser@^0.2.0, posthtml-parser@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.npmmirror.com/posthtml-parser/-/posthtml-parser-0.2.1.tgz#35d530de386740c2ba24ff2eb2faf39ccdf271dd"
+ integrity sha512-nPC53YMqJnc/+1x4fRYFfm81KV2V+G9NZY+hTohpYg64Ay7NemWWcV4UWuy/SgMupqQ3kJ88M/iRfZmSnxT+pw==
+ dependencies:
+ htmlparser2 "^3.8.3"
+ isobject "^2.1.0"
+
+posthtml-rename-id@^1.0:
+ version "1.0.12"
+ resolved "https://registry.npmmirror.com/posthtml-rename-id/-/posthtml-rename-id-1.0.12.tgz#cf7f6eb37146bf1afac31e68f18c6cc19ae61433"
+ integrity sha512-UKXf9OF/no8WZo9edRzvuMenb6AD5hDLzIepJW+a4oJT+T/Lx7vfMYWT4aWlGNQh0WMhnUx1ipN9OkZ9q+ddEw==
+ dependencies:
+ escape-string-regexp "1.0.5"
+
+posthtml-render@^1.0.5, posthtml-render@^1.0.6:
+ version "1.4.0"
+ resolved "https://registry.npmmirror.com/posthtml-render/-/posthtml-render-1.4.0.tgz#40114070c45881cacb93347dae3eff53afbcff13"
+ integrity sha512-W1779iVHGfq0Fvh2PROhCe2QhB8mEErgqzo1wpIt36tCgChafP+hbXIhLDOM8ePJrZcFs0vkNEtdibEWVqChqw==
+
+posthtml-svg-mode@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.npmmirror.com/posthtml-svg-mode/-/posthtml-svg-mode-1.0.3.tgz#abd554face81223cab0cb367e18e4efd2a4e74b0"
+ integrity sha512-hEqw9NHZ9YgJ2/0G7CECOeuLQKZi8HjWLkBaSVtOWjygQ9ZD8P7tqeowYs7WrFdKsWEKG7o+IlsPY8jrr0CJpQ==
+ dependencies:
+ merge-options "1.0.1"
+ posthtml "^0.9.2"
+ posthtml-parser "^0.2.1"
+ posthtml-render "^1.0.6"
+
+posthtml@^0.9.2:
+ version "0.9.2"
+ resolved "https://registry.npmmirror.com/posthtml/-/posthtml-0.9.2.tgz#f4c06db9f67b61fd17c4e256e7e3d9515bf726fd"
+ integrity sha512-spBB5sgC4cv2YcW03f/IAUN1pgDJWNWD8FzkyY4mArLUMJW+KlQhlmUdKAHQuPfb00Jl5xIfImeOsf6YL8QK7Q==
+ dependencies:
+ posthtml-parser "^0.2.0"
+ posthtml-render "^1.0.5"
+
+prelude-ls@~1.1.2:
+ version "1.1.2"
+ resolved "https://registry.npmmirror.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
+ integrity sha512-ESF23V4SKG6lVSGZgYNpbsiaAkdab6ZgOxe52p7+Kid3W3u3bxR4Vfd/o21dmN7jSt0IwgZ4v5MUd26FEtXE9w==
+
+prepend-http@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/prepend-http/-/prepend-http-2.0.0.tgz#e92434bfa5ea8c19f41cdfd401d741a3c819d897"
+ integrity sha512-ravE6m9Atw9Z/jjttRUZ+clIXogdghyZAuWJ3qEzjT+jI/dL1ifAqhZeC5VHzQp1MSt1+jxKkFNemj/iO7tVUA==
+
+preserve@^0.2.0:
+ version "0.2.0"
+ resolved "https://registry.npmmirror.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
+ integrity sha512-s/46sYeylUfHNjI+sA/78FAHlmIuKqI9wNnzEOGehAlUUYeObv5C2mOinXBjyUyWmJ2SfcS2/ydApH4hTF4WXQ==
+
+prettier@1.16.3:
+ version "1.16.3"
+ resolved "https://registry.npmmirror.com/prettier/-/prettier-1.16.3.tgz#8c62168453badef702f34b45b6ee899574a6a65d"
+ integrity sha512-kn/GU6SMRYPxUakNXhpP0EedT/KmaPzr0H5lIsDogrykbaxOpOfAFfk5XA7DZrJyMAv1wlMV3CPcZruGXVVUZw==
+
+"prettier@^1.18.2 || ^2.0.0":
+ version "2.8.8"
+ resolved "https://registry.npmmirror.com/prettier/-/prettier-2.8.8.tgz#e8c5d7e98a4305ffe3de2e1fc4aca1a71c28b1da"
+ integrity sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==
+
+pretty-error@^2.0.2:
+ version "2.1.2"
+ resolved "https://registry.npmmirror.com/pretty-error/-/pretty-error-2.1.2.tgz#be89f82d81b1c86ec8fdfbc385045882727f93b6"
+ integrity sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==
+ dependencies:
+ lodash "^4.17.20"
+ renderkid "^2.0.4"
+
+pretty-format@^23.6.0:
+ version "23.6.0"
+ resolved "https://registry.npmmirror.com/pretty-format/-/pretty-format-23.6.0.tgz#5eaac8eeb6b33b987b7fe6097ea6a8a146ab5760"
+ integrity sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==
+ dependencies:
+ ansi-regex "^3.0.0"
+ ansi-styles "^3.2.0"
+
+pretty@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/pretty/-/pretty-2.0.0.tgz#adbc7960b7bbfe289a557dc5f737619a220d06a5"
+ integrity sha512-G9xUchgTEiNpormdYBl+Pha50gOUovT18IvAe7EYMZ1/f9W/WWMPRn+xI68yXNMUk3QXHDwo/1wV/4NejVNe1w==
+ dependencies:
+ condense-newlines "^0.2.1"
+ extend-shallow "^2.0.1"
+ js-beautify "^1.6.12"
+
+print-js@^1.6.0:
+ version "1.6.0"
+ resolved "https://registry.npmmirror.com/print-js/-/print-js-1.6.0.tgz#692b046cf31992b46afa6c6d8a9db1c69d431d1f"
+ integrity sha512-BfnOIzSKbqGRtO4o0rnj/K3681BSd2QUrsIZy/+WdCIugjIswjmx3lDEZpXB2ruGf9d4b3YNINri81+J0FsBWg==
+
+printj@~1.1.0:
+ version "1.1.2"
+ resolved "https://registry.npmmirror.com/printj/-/printj-1.1.2.tgz#d90deb2975a8b9f600fb3a1c94e3f4c53c78a222"
+ integrity sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==
+
+printjs@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/printjs/-/printjs-1.1.0.tgz#6e00c9278d12d467b0c37d4e582967e31575cd97"
+ integrity sha512-OgZScvRJFhBYh3vyTqU0fACbo7icAn15YmZL95SmX97hj8lxHjXsx3RtXOfB8fDR6Zu7XgfAH350hLOe49ixAw==
+
+private@^0.1.8:
+ version "0.1.8"
+ resolved "https://registry.npmmirror.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff"
+ integrity sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==
+
+process-nextick-args@~2.0.0:
+ version "2.0.1"
+ resolved "https://registry.npmmirror.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
+ integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
+
+process@^0.11.10:
+ version "0.11.10"
+ resolved "https://registry.npmmirror.com/process/-/process-0.11.10.tgz#7332300e840161bda3e69a1d1d91a7d4bc16f182"
+ integrity sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==
+
+progress@^2.0.0:
+ version "2.0.3"
+ resolved "https://registry.npmmirror.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
+ integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
+
+promise-inflight@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/promise-inflight/-/promise-inflight-1.0.1.tgz#98472870bf228132fcbdd868129bad12c3c029e3"
+ integrity sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==
+
+prompts@^0.1.9:
+ version "0.1.14"
+ resolved "https://registry.npmmirror.com/prompts/-/prompts-0.1.14.tgz#a8e15c612c5c9ec8f8111847df3337c9cbd443b2"
+ integrity sha512-rxkyiE9YH6zAz/rZpywySLKkpaj0NMVyNw1qhsubdbjjSgcayjTShDreZGlFMcGSu5sab3bAKPfFk78PB90+8w==
+ dependencies:
+ kleur "^2.0.1"
+ sisteransi "^0.1.1"
+
+property-expr@^1.5.0:
+ version "1.5.1"
+ resolved "https://registry.npmmirror.com/property-expr/-/property-expr-1.5.1.tgz#22e8706894a0c8e28d58735804f6ba3a3673314f"
+ integrity sha512-CGuc0VUTGthpJXL36ydB6jnbyOf/rAHFvmVrJlH+Rg0DqqLFQGAP6hIaxD/G0OAmBJPhXDHuEJigrp0e0wFV6g==
+
+proto-list@~1.2.1:
+ version "1.2.4"
+ resolved "https://registry.npmmirror.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849"
+ integrity sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==
+
+proxy-addr@~2.0.7:
+ version "2.0.7"
+ resolved "https://registry.npmmirror.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025"
+ integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==
+ dependencies:
+ forwarded "0.2.0"
+ ipaddr.js "1.9.1"
+
+prr@~1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/prr/-/prr-1.0.1.tgz#d3fc114ba06995a45ec6893f484ceb1d78f5f476"
+ integrity sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==
+
+pseudomap@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npmmirror.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
+ integrity sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==
+
+psl@^1.1.28:
+ version "1.15.0"
+ resolved "https://registry.npmmirror.com/psl/-/psl-1.15.0.tgz#bdace31896f1d97cec6a79e8224898ce93d974c6"
+ integrity sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==
+ dependencies:
+ punycode "^2.3.1"
+
+public-encrypt@^4.0.3:
+ version "4.0.3"
+ resolved "https://registry.npmmirror.com/public-encrypt/-/public-encrypt-4.0.3.tgz#4fcc9d77a07e48ba7527e7cbe0de33d0701331e0"
+ integrity sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==
+ dependencies:
+ 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"
+
+pump@^2.0.0, pump@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.npmmirror.com/pump/-/pump-2.0.1.tgz#12399add6e4cf7526d973cbc8b5ce2e2908b3909"
+ integrity sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==
+ dependencies:
+ end-of-stream "^1.1.0"
+ once "^1.3.1"
+
+pump@^3.0.0:
+ version "3.0.3"
+ resolved "https://registry.npmmirror.com/pump/-/pump-3.0.3.tgz#151d979f1a29668dc0025ec589a455b53282268d"
+ integrity sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==
+ dependencies:
+ end-of-stream "^1.1.0"
+ once "^1.3.1"
+
+pumpify@^1.3.3:
+ version "1.5.1"
+ resolved "https://registry.npmmirror.com/pumpify/-/pumpify-1.5.1.tgz#36513be246ab27570b1a374a5ce278bfd74370ce"
+ integrity sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==
+ dependencies:
+ duplexify "^3.6.0"
+ inherits "^2.0.3"
+ pump "^2.0.0"
+
+punycode@^1.2.4, punycode@^1.4.1:
+ version "1.4.1"
+ resolved "https://registry.npmmirror.com/punycode/-/punycode-1.4.1.tgz#c0d5a63b2718800ad8e1eb0fa5269c84dd41845e"
+ integrity sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==
+
+punycode@^2.1.0, punycode@^2.1.1, punycode@^2.3.1:
+ version "2.3.1"
+ resolved "https://registry.npmmirror.com/punycode/-/punycode-2.3.1.tgz#027422e2faec0b25e1549c3e1bd8309b9133b6e5"
+ integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==
+
+q@^1.1.2:
+ version "1.5.1"
+ resolved "https://registry.npmmirror.com/q/-/q-1.5.1.tgz#7e32f75b41381291d04611f1bf14109ac00651d7"
+ integrity sha512-kV/CThkXo6xyFEZUugw/+pIOywXcDbFYgSct5cT3gqlbkBE1SJdwy6UQoZvodiWF/ckQLZyDE/Bu1M6gVu5lVw==
+
+qrcodejs2@^0.0.2:
+ version "0.0.2"
+ resolved "https://registry.npmmirror.com/qrcodejs2/-/qrcodejs2-0.0.2.tgz#465afe5e39f19facecb932c11f7a186109146ae1"
+ integrity sha512-+Y4HA+cb6qUzdgvI3KML8GYpMFwB24dFwzMkS/yXq6hwtUGNUnZQdUnksrV1XGMc2mid5ROw5SAuY9XhI3ValA==
+
+qs@6.13.0:
+ version "6.13.0"
+ resolved "https://registry.npmmirror.com/qs/-/qs-6.13.0.tgz#6ca3bd58439f7e245655798997787b0d88a51906"
+ integrity sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==
+ dependencies:
+ side-channel "^1.0.6"
+
+qs@^6.12.3:
+ version "6.14.0"
+ resolved "https://registry.npmmirror.com/qs/-/qs-6.14.0.tgz#c63fa40680d2c5c941412a0e899c89af60c0a930"
+ integrity sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==
+ dependencies:
+ side-channel "^1.1.0"
+
+qs@~6.5.2:
+ version "6.5.3"
+ resolved "https://registry.npmmirror.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad"
+ integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==
+
+query-string@^4.3.2:
+ version "4.3.4"
+ resolved "https://registry.npmmirror.com/query-string/-/query-string-4.3.4.tgz#bbb693b9ca915c232515b228b1a02b609043dbeb"
+ integrity sha512-O2XLNDBIg1DnTOa+2XrIwSiXEV8h2KImXUnjhhn2+UsvZ+Es2uyd5CCRTNQlDGbzUQOW3aYCBx9rVA6dzsiY7Q==
+ dependencies:
+ object-assign "^4.1.0"
+ strict-uri-encode "^1.0.0"
+
+querystring-es3@^0.2.0:
+ version "0.2.1"
+ resolved "https://registry.npmmirror.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73"
+ integrity sha512-773xhDQnZBMFobEiztv8LIl70ch5MSF/jUQVlhwFyBILqq96anmoctVIYz+ZRp0qbCKATTn6ev02M3r7Ga5vqA==
+
+querystringify@^2.1.1:
+ version "2.2.0"
+ resolved "https://registry.npmmirror.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6"
+ integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==
+
+randomatic@^3.0.0:
+ version "3.1.1"
+ resolved "https://registry.npmmirror.com/randomatic/-/randomatic-3.1.1.tgz#b776efc59375984e36c537b2f51a1f0aff0da1ed"
+ integrity sha512-TuDE5KxZ0J461RVjrJZCJc+J+zCkTb1MbH9AQUq68sMhOMcy9jLcb3BrZKgp9q9Ncltdg4QVqWrH02W2EFFVYw==
+ dependencies:
+ is-number "^4.0.0"
+ kind-of "^6.0.0"
+ math-random "^1.0.1"
+
+randombytes@^2.0.0, randombytes@^2.0.1, randombytes@^2.0.5, randombytes@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npmmirror.com/randombytes/-/randombytes-2.1.0.tgz#df6f84372f0270dc65cdf6291349ab7a473d4f2a"
+ integrity sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==
+ dependencies:
+ safe-buffer "^5.1.0"
+
+randomfill@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.npmmirror.com/randomfill/-/randomfill-1.0.4.tgz#c92196fc86ab42be983f1bf31778224931d61458"
+ integrity sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==
+ dependencies:
+ randombytes "^2.0.5"
+ safe-buffer "^5.1.0"
+
+range-parser@^1.2.1, range-parser@~1.2.1:
+ version "1.2.1"
+ resolved "https://registry.npmmirror.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
+ integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
+
+raw-body@2.5.2:
+ version "2.5.2"
+ resolved "https://registry.npmmirror.com/raw-body/-/raw-body-2.5.2.tgz#99febd83b90e08975087e8f1f9419a149366b68a"
+ integrity sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==
+ dependencies:
+ bytes "3.1.2"
+ http-errors "2.0.0"
+ iconv-lite "0.4.24"
+ unpipe "1.0.0"
+
+raw-loader@~0.5.1:
+ version "0.5.1"
+ resolved "https://registry.npmmirror.com/raw-loader/-/raw-loader-0.5.1.tgz#0c3d0beaed8a01c966d9787bf778281252a979aa"
+ integrity sha512-sf7oGoLuaYAScB4VGr0tzetsYlS8EJH6qnTCfQ/WVEa89hALQ4RQfCKt5xCyPQKPDUbVUAIP1QsxAwfAjlDp7Q==
+
+read-pkg-up@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/read-pkg-up/-/read-pkg-up-1.0.1.tgz#9d63c13276c065918d57f002a57f40a1b643fb02"
+ integrity sha512-WD9MTlNtI55IwYUS27iHh9tK3YoIVhxis8yKhLpTqWtml739uXc9NWTpxoHkfZf3+DkCCsXox94/VWZniuZm6A==
+ dependencies:
+ find-up "^1.0.0"
+ read-pkg "^1.0.0"
+
+read-pkg@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/read-pkg/-/read-pkg-1.1.0.tgz#f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28"
+ integrity sha512-7BGwRHqt4s/uVbuyoeejRn4YmFnYZiFl4AuaeXHlgZf3sONF0SOGlxs2Pw8g6hCKupo08RafIO5YXFNOKTfwsQ==
+ dependencies:
+ load-json-file "^1.0.0"
+ normalize-package-data "^2.3.2"
+ path-type "^1.0.0"
+
+read-pkg@^4.0.1:
+ version "4.0.1"
+ resolved "https://registry.npmmirror.com/read-pkg/-/read-pkg-4.0.1.tgz#963625378f3e1c4d48c85872b5a6ec7d5d093237"
+ integrity sha512-+UBirHHDm5J+3WDmLBZYSklRYg82nMlz+enn+GMZ22nSR2f4bzxmhso6rzQW/3mT2PVzpzDTiYIZahk8UmZ44w==
+ dependencies:
+ normalize-package-data "^2.3.2"
+ parse-json "^4.0.0"
+ pify "^3.0.0"
+
+"readable-stream@1 || 2", readable-stream@^2.0.0, readable-stream@^2.0.1, readable-stream@^2.0.2, readable-stream@^2.1.5, readable-stream@^2.2.2, readable-stream@^2.3.3, readable-stream@^2.3.5, readable-stream@^2.3.6, readable-stream@^2.3.8, readable-stream@~2.3.6:
+ version "2.3.8"
+ resolved "https://registry.npmmirror.com/readable-stream/-/readable-stream-2.3.8.tgz#91125e8042bba1b9887f49345f6277027ce8be9b"
+ integrity sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==
+ dependencies:
+ 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"
+
+readable-stream@^3.0.6, readable-stream@^3.1.1, readable-stream@^3.6.0:
+ version "3.6.2"
+ resolved "https://registry.npmmirror.com/readable-stream/-/readable-stream-3.6.2.tgz#56a9b36ea965c00c5a93ef31eb111a0f11056967"
+ integrity sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==
+ dependencies:
+ inherits "^2.0.3"
+ string_decoder "^1.1.1"
+ util-deprecate "^1.0.1"
+
+readable-stream@~1.0.0:
+ version "1.0.34"
+ resolved "https://registry.npmmirror.com/readable-stream/-/readable-stream-1.0.34.tgz#125820e34bc842d2f2aaafafe4c2916ee32c157c"
+ integrity sha512-ok1qVCJuRkNmvebYikljxJA/UEsKwLl2nI1OmaqAu4/UE+h0wKCHok4XkL/gvi39OacXvw59RJUOFUkDib2rHg==
+ dependencies:
+ core-util-is "~1.0.0"
+ inherits "~2.0.1"
+ isarray "0.0.1"
+ string_decoder "~0.10.x"
+
+readdirp@^2.2.1:
+ version "2.2.1"
+ resolved "https://registry.npmmirror.com/readdirp/-/readdirp-2.2.1.tgz#0e87622a3325aa33e892285caf8b4e846529a525"
+ integrity sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==
+ dependencies:
+ graceful-fs "^4.1.11"
+ micromatch "^3.1.10"
+ readable-stream "^2.0.2"
+
+readdirp@~3.6.0:
+ version "3.6.0"
+ resolved "https://registry.npmmirror.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
+ integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
+ dependencies:
+ picomatch "^2.2.1"
+
+realpath-native@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/realpath-native/-/realpath-native-1.1.0.tgz#2003294fea23fb0672f2476ebe22fcf498a2d65c"
+ integrity sha512-wlgPA6cCIIg9gKz0fgAPjnzh4yR/LnXovwuo9hvyGvx3h8nX4+/iLZplfUWasXpqD8BdnGnP5njOFjkUwPzvjA==
+ dependencies:
+ util.promisify "^1.0.0"
+
+rechoir@^0.6.2:
+ version "0.6.2"
+ resolved "https://registry.npmmirror.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384"
+ integrity sha512-HFM8rkZ+i3zrV+4LQjwQ0W+ez98pApMGM3HUrN04j3CqzPOzl9nmP15Y8YXNm8QHGv/eacOVEjqhmWpkRV0NAw==
+ dependencies:
+ resolve "^1.1.6"
+
+reflect.getprototypeof@^1.0.6, reflect.getprototypeof@^1.0.9:
+ version "1.0.10"
+ resolved "https://registry.npmmirror.com/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz#c629219e78a3316d8b604c765ef68996964e7bf9"
+ integrity sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==
+ dependencies:
+ call-bind "^1.0.8"
+ define-properties "^1.2.1"
+ es-abstract "^1.23.9"
+ es-errors "^1.3.0"
+ es-object-atoms "^1.0.0"
+ get-intrinsic "^1.2.7"
+ get-proto "^1.0.1"
+ which-builtin-type "^1.2.1"
+
+regenerate-unicode-properties@^10.2.0:
+ version "10.2.0"
+ resolved "https://registry.npmmirror.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz#626e39df8c372338ea9b8028d1f99dc3fd9c3db0"
+ integrity sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA==
+ dependencies:
+ regenerate "^1.4.2"
+
+regenerate@^1.4.2:
+ version "1.4.2"
+ resolved "https://registry.npmmirror.com/regenerate/-/regenerate-1.4.2.tgz#b9346d8827e8f5a32f7ba29637d398b69014848a"
+ integrity sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==
+
+regenerator-runtime@^0.10.5:
+ version "0.10.5"
+ resolved "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.10.5.tgz#336c3efc1220adcedda2c9fab67b5a7955a33658"
+ integrity sha512-02YopEIhAgiBHWeoTiA8aitHDt8z6w+rQqNuIftlM+ZtvSl/brTouaU7DW6GO/cHtvxJvS4Hwv2ibKdxIRi24w==
+
+regenerator-runtime@^0.11.0:
+ version "0.11.1"
+ resolved "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz#be05ad7f9bf7d22e056f9726cee5017fbf19e2e9"
+ integrity sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==
+
+regenerator-runtime@^0.12.0:
+ version "0.12.1"
+ resolved "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.12.1.tgz#fa1a71544764c036f8c49b13a08b2594c9f8a0de"
+ integrity sha512-odxIc1/vDlo4iZcfXqRYFj0vpXFNoGdKMAUieAlFYO6m/nl5e9KR/beGf41z4a1FI+aQgtjhuaSlDxQ0hmkrHg==
+
+regex-cache@^0.4.2:
+ version "0.4.4"
+ resolved "https://registry.npmmirror.com/regex-cache/-/regex-cache-0.4.4.tgz#75bdc58a2a1496cec48a12835bc54c8d562336dd"
+ integrity sha512-nVIZwtCjkC9YgvWkpM55B5rBhBYRZhAaJbgcFYXXsHnbZ9UZI9nnVWYZpBlCqv9ho2eZryPnWrZGsOdPwVWXWQ==
+ dependencies:
+ is-equal-shallow "^0.1.3"
+
+regex-not@^1.0.0, regex-not@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npmmirror.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c"
+ integrity sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==
+ dependencies:
+ extend-shallow "^3.0.2"
+ safe-regex "^1.1.0"
+
+regexp-clone@1.0.0, regexp-clone@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/regexp-clone/-/regexp-clone-1.0.0.tgz#222db967623277056260b992626354a04ce9bf63"
+ integrity sha512-TuAasHQNamyyJ2hb97IuBEif4qBHGjPHBS64sZwytpLEqtBQ1gPJTnOaQ6qmpET16cK14kkjbazl6+p0RRv0yw==
+
+regexp.prototype.flags@^1.5.1, regexp.prototype.flags@^1.5.4:
+ version "1.5.4"
+ resolved "https://registry.npmmirror.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz#1ad6c62d44a259007e55b3970e00f746efbcaa19"
+ integrity sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==
+ dependencies:
+ call-bind "^1.0.8"
+ define-properties "^1.2.1"
+ es-errors "^1.3.0"
+ get-proto "^1.0.1"
+ gopd "^1.2.0"
+ set-function-name "^2.0.2"
+
+regexpp@^1.0.1:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/regexpp/-/regexpp-1.1.0.tgz#0e3516dd0b7904f413d2d4193dce4618c3a689ab"
+ integrity sha512-LOPw8FpgdQF9etWMaAfG/WRthIdXJGYp4mJ2Jgn/2lpkbod9jPn0t9UqN7AxBOKNfzRbYyVfgc7Vk4t/MpnXgw==
+
+regexpp@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.npmmirror.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f"
+ integrity sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==
+
+regexpu-core@^6.2.0:
+ version "6.2.0"
+ resolved "https://registry.npmmirror.com/regexpu-core/-/regexpu-core-6.2.0.tgz#0e5190d79e542bf294955dccabae04d3c7d53826"
+ integrity sha512-H66BPQMrv+V16t8xtmq+UC0CBpiTBA60V8ibS1QVReIp8T1z8hwFxqcGzm9K6lgsN7sB5edVH8a+ze6Fqm4weA==
+ dependencies:
+ regenerate "^1.4.2"
+ regenerate-unicode-properties "^10.2.0"
+ regjsgen "^0.8.0"
+ regjsparser "^0.12.0"
+ unicode-match-property-ecmascript "^2.0.0"
+ unicode-match-property-value-ecmascript "^2.1.0"
+
+regjsgen@^0.8.0:
+ version "0.8.0"
+ resolved "https://registry.npmmirror.com/regjsgen/-/regjsgen-0.8.0.tgz#df23ff26e0c5b300a6470cad160a9d090c3a37ab"
+ integrity sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q==
+
+regjsparser@^0.12.0:
+ version "0.12.0"
+ resolved "https://registry.npmmirror.com/regjsparser/-/regjsparser-0.12.0.tgz#0e846df6c6530586429377de56e0475583b088dc"
+ integrity sha512-cnE+y8bz4NhMjISKbgeVJtqNbtf5QpjZP+Bslo+UqkIt9QPnX9q095eiRRASJG1/tz6dlNr6Z5NsBiWYokp6EQ==
+ dependencies:
+ jsesc "~3.0.2"
+
+relateurl@0.2.x:
+ version "0.2.7"
+ resolved "https://registry.npmmirror.com/relateurl/-/relateurl-0.2.7.tgz#54dbf377e51440aca90a4cd274600d3ff2d888a9"
+ integrity sha512-G08Dxvm4iDN3MLM0EsP62EDV9IuhXPR6blNz6Utcp7zyV3tr4HVNINt6MpaRWbxoOHT3Q7YN2P+jaHX8vUbgog==
+
+remove-trailing-separator@^1.0.1:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef"
+ integrity sha512-/hS+Y0u3aOfIETiaiirUFwDBDzmXPvO+jAfKTitUngIPzdKc6Z0LoFjM/CK5PL4C+eKwHohlHAb6H0VFfmmUsw==
+
+renderkid@^2.0.4:
+ version "2.0.7"
+ resolved "https://registry.npmmirror.com/renderkid/-/renderkid-2.0.7.tgz#464f276a6bdcee606f4a15993f9b29fc74ca8609"
+ integrity sha512-oCcFyxaMrKsKcTY59qnCAtmDVSLfPbrv6A3tVbPdFMMrv5jaK10V6m40cKsoPNhAqN6rmHW9sswW4o3ruSrwUQ==
+ dependencies:
+ css-select "^4.1.3"
+ dom-converter "^0.2.0"
+ htmlparser2 "^6.1.0"
+ lodash "^4.17.21"
+ strip-ansi "^3.0.1"
+
+repeat-element@^1.1.2:
+ version "1.1.4"
+ resolved "https://registry.npmmirror.com/repeat-element/-/repeat-element-1.1.4.tgz#be681520847ab58c7568ac75fbfad28ed42d39e9"
+ integrity sha512-LFiNfRcSu7KK3evMyYOuCzv3L10TW7yC1G2/+StMjK8Y6Vqd2MG7r/Qjw4ghtuCOjFvlnms/iMmLqpvW/ES/WQ==
+
+repeat-string@^1.5.2, repeat-string@^1.6.1:
+ version "1.6.1"
+ resolved "https://registry.npmmirror.com/repeat-string/-/repeat-string-1.6.1.tgz#8dcae470e1c88abc2d600fff4a776286da75e637"
+ integrity sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==
+
+repeating@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.npmmirror.com/repeating/-/repeating-2.0.1.tgz#5214c53a926d3552707527fbab415dbc08d06dda"
+ integrity sha512-ZqtSMuVybkISo2OWvqvm7iHSWngvdaW3IpsT9/uP8v4gMi591LY6h35wdOfvQdWCKFWZWm2Y1Opp4kV7vQKT6A==
+ dependencies:
+ is-finite "^1.0.0"
+
+request-promise-core@1.1.4:
+ version "1.1.4"
+ resolved "https://registry.npmmirror.com/request-promise-core/-/request-promise-core-1.1.4.tgz#3eedd4223208d419867b78ce815167d10593a22f"
+ integrity sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==
+ dependencies:
+ lodash "^4.17.19"
+
+request-promise-native@^1.0.5, request-promise-native@^1.0.7:
+ version "1.0.9"
+ resolved "https://registry.npmmirror.com/request-promise-native/-/request-promise-native-1.0.9.tgz#e407120526a5efdc9a39b28a5679bf47b9d9dc28"
+ integrity sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==
+ dependencies:
+ request-promise-core "1.1.4"
+ stealthy-require "^1.1.1"
+ tough-cookie "^2.3.3"
+
+request@^2.87.0:
+ version "2.88.2"
+ resolved "https://registry.npmmirror.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3"
+ integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==
+ dependencies:
+ 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"
+
+require-directory@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.npmmirror.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
+ integrity sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==
+
+require-main-filename@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/require-main-filename/-/require-main-filename-1.0.1.tgz#97f717b69d48784f5f526a6c5aa8ffdda055a4d1"
+ integrity sha512-IqSUtOVP4ksd1C/ej5zeEh/BIP2ajqpn8c5x+q99gvcIG/Qf0cud5raVnE/Dwd0ua9TXYDoDc0RE5hBSdz22Ug==
+
+require-main-filename@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b"
+ integrity sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==
+
+require-uncached@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.npmmirror.com/require-uncached/-/require-uncached-1.0.3.tgz#4e0d56d6c9662fd31e43011c4b95aa49955421d3"
+ integrity sha512-Xct+41K3twrbBHdxAgMoOS+cNcoqIjfM2/VxBF4LL2hVph7YsF8VSKyQ3BDFZwEVbok9yeDl2le/qo0S77WG2w==
+ dependencies:
+ caller-path "^0.1.0"
+ resolve-from "^1.0.0"
+
+require_optional@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/require_optional/-/require_optional-1.0.1.tgz#4cf35a4247f64ca3df8c2ef208cc494b1ca8fc2e"
+ integrity sha512-qhM/y57enGWHAe3v/NcwML6a3/vfESLe/sGM2dII+gEO0BpKRUkWZow/tyloNqJyN6kXSl3RyyM8Ll5D/sJP8g==
+ dependencies:
+ resolve-from "^2.0.0"
+ semver "^5.1.0"
+
+requires-port@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/requires-port/-/requires-port-1.0.0.tgz#925d2601d39ac485e091cf0da5c6e694dc3dcaff"
+ integrity sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==
+
+reselect@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.npmmirror.com/reselect/-/reselect-3.0.1.tgz#efdaa98ea7451324d092b2b2163a6a1d7a9a2147"
+ integrity sha512-b/6tFZCmRhtBMa4xGqiiRp9jh9Aqi2A687Lo265cN0/QohJQEBPiQ52f4QB6i0eF3yp3hmLL21LSGBcML2dlxA==
+
+resize-detector@^0.1.10:
+ version "0.1.10"
+ resolved "https://registry.npmmirror.com/resize-detector/-/resize-detector-0.1.10.tgz#1da3f961aa5f914ccbcfd3752d52fd45beeb692c"
+ integrity sha512-iLcXC8A6Fb0DfA+TRiywrK/0A22bFqkhntjMJMEzXDA4XkcEkfwpNbv7W8iewUiD0xYIaeiXOfiEehTqGKsUFw==
+
+resize-observer-polyfill@^1.5.0:
+ version "1.5.1"
+ resolved "https://registry.npmmirror.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464"
+ integrity sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==
+
+resolve-cwd@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/resolve-cwd/-/resolve-cwd-2.0.0.tgz#00a9f7387556e27038eae232caa372a6a59b665a"
+ integrity sha512-ccu8zQTrzVr954472aUVPLEcB3YpKSYR3cg/3lo1okzobPBM+1INXBbBZlDbnI/hbEocnf8j0QVo43hQKrbchg==
+ dependencies:
+ resolve-from "^3.0.0"
+
+resolve-dir@^1.0.0, resolve-dir@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/resolve-dir/-/resolve-dir-1.0.1.tgz#79a40644c362be82f26effe739c9bb5382046f43"
+ integrity sha512-R7uiTjECzvOsWSfdM0QKFNBVFcK27aHOUwdvK53BcW8zqnGdYp0Fbj82cy54+2A4P2tFM22J5kRfe1R+lM/1yg==
+ dependencies:
+ expand-tilde "^2.0.0"
+ global-modules "^1.0.0"
+
+resolve-from@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/resolve-from/-/resolve-from-1.0.1.tgz#26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226"
+ integrity sha512-kT10v4dhrlLNcnO084hEjvXCI1wUG9qZLoz2RogxqDQQYy7IxjI/iMUkOtQTNEh6rzHxvdQWHsJyel1pKOVCxg==
+
+resolve-from@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/resolve-from/-/resolve-from-2.0.0.tgz#9480ab20e94ffa1d9e80a804c7ea147611966b57"
+ integrity sha512-qpFcKaXsq8+oRoLilkwyc7zHGF5i9Q2/25NIgLQQ/+VVv9rU4qvr6nXVAw1DsnXJyQkZsR4Ytfbtg5ehfcUssQ==
+
+resolve-from@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmmirror.com/resolve-from/-/resolve-from-3.0.0.tgz#b22c7af7d9d6881bc8b6e653335eebcb0a188748"
+ integrity sha512-GnlH6vxLymXJNMBo7XP1fJIzBFbdYt49CuTwmB/6N53t+kMPRMFKz783LlQ4tv28XoQfMWinAJX6WCGf2IlaIw==
+
+resolve-from@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npmmirror.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
+ integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
+
+resolve-url@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.npmmirror.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
+ integrity sha512-ZuF55hVUQaaczgOIwqWzkEcEidmlD/xl44x1UZnhOXcYuFN2S6+rcxpG+C1N3So0wvNI3DmJICUFfu2SxhBmvg==
+
+resolve@1.1.7:
+ version "1.1.7"
+ resolved "https://registry.npmmirror.com/resolve/-/resolve-1.1.7.tgz#203114d82ad2c5ed9e8e0411b3932875e889e97b"
+ integrity sha512-9znBF0vBcaSN3W2j7wKvdERPwqTxSpCq+if5C0WoTCyV9n24rua28jeuQ2pL/HOf+yUe/Mef+H/5p60K0Id3bg==
+
+resolve@^1.1.6, resolve@^1.1.7, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.2.0, resolve@^1.22.10, resolve@^1.3.2, resolve@^1.4.0:
+ version "1.22.10"
+ resolved "https://registry.npmmirror.com/resolve/-/resolve-1.22.10.tgz#b663e83ffb09bbf2386944736baae803029b8b39"
+ integrity sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==
+ dependencies:
+ is-core-module "^2.16.0"
+ path-parse "^1.0.7"
+ supports-preserve-symlinks-flag "^1.0.0"
+
+responselike@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npmmirror.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7"
+ integrity sha512-/Fpe5guzJk1gPqdJLJR5u7eG/gNY4nImjbRDaVWVMRhne55TCmj2i9Q+54PBRfatRC8v/rIiv9BN0pMd9OV5EQ==
+ dependencies:
+ lowercase-keys "^1.0.0"
+
+restore-cursor@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf"
+ integrity sha512-6IzJLuGi4+R14vwagDHX+JrXmPVtPpn4mffDJ1UdR7/Edm87fl6yi8mMBIVvFtJaNTUvjughmW4hwLhRG7gC1Q==
+ dependencies:
+ onetime "^2.0.0"
+ signal-exit "^3.0.2"
+
+ret@~0.1.10:
+ version "0.1.15"
+ resolved "https://registry.npmmirror.com/ret/-/ret-0.1.15.tgz#b8a4825d5bdb1fc3f6f53c2bc33f81388681c7bc"
+ integrity sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==
+
+retry@^0.12.0:
+ version "0.12.0"
+ resolved "https://registry.npmmirror.com/retry/-/retry-0.12.0.tgz#1b42a6266a21f07421d1b0b54b7dc167b01c013b"
+ integrity sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==
+
+rgb-regex@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/rgb-regex/-/rgb-regex-1.0.1.tgz#c0e0d6882df0e23be254a475e8edd41915feaeb1"
+ integrity sha512-gDK5mkALDFER2YLqH6imYvK6g02gpNGM4ILDZ472EwWfXZnC2ZEpoB2ECXTyOVUKuk/bPJZMzwQPBYICzP+D3w==
+
+rgba-regex@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/rgba-regex/-/rgba-regex-1.0.0.tgz#43374e2e2ca0968b0ef1523460b7d730ff22eeb3"
+ integrity sha512-zgn5OjNQXLUTdq8m17KdaicF6w89TZs8ZU8y0AYENIU6wG8GG6LLm0yLSiPY8DmaYmHdgRW8rnApjoT0fQRfMg==
+
+rimraf@2.6.3, rimraf@~2.6.2:
+ version "2.6.3"
+ resolved "https://registry.npmmirror.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab"
+ integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==
+ dependencies:
+ glob "^7.1.3"
+
+rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.2, rimraf@^2.6.3:
+ version "2.7.1"
+ resolved "https://registry.npmmirror.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec"
+ integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==
+ dependencies:
+ glob "^7.1.3"
+
+ripemd160@=2.0.1:
+ version "2.0.1"
+ resolved "https://registry.npmmirror.com/ripemd160/-/ripemd160-2.0.1.tgz#0f4584295c53a3628af7e6d79aca21ce57d1c6e7"
+ integrity sha512-J7f4wutN8mdbV08MJnXibYpCOPHR+yzy+iQ/AsjMv2j8cLavQ8VGagDFUwwTAdF8FmRKVeNpbTTEwNHCW1g94w==
+ dependencies:
+ hash-base "^2.0.0"
+ inherits "^2.0.1"
+
+ripemd160@^2.0.0, ripemd160@^2.0.1:
+ version "2.0.2"
+ resolved "https://registry.npmmirror.com/ripemd160/-/ripemd160-2.0.2.tgz#a1c1a6f624751577ba5d07914cbc92850585890c"
+ integrity sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==
+ dependencies:
+ hash-base "^3.0.0"
+ inherits "^2.0.1"
+
+rsvp@^3.3.3:
+ version "3.6.2"
+ resolved "https://registry.npmmirror.com/rsvp/-/rsvp-3.6.2.tgz#2e96491599a96cde1b515d5674a8f7a91452926a"
+ integrity sha512-OfWGQTb9vnwRjwtA2QwpG2ICclHC3pgXZO5xt8H2EfgDquO0qVdSb5T88L4qJVAEugbS56pAuV4XZM58UX8ulw==
+
+run-async@^2.2.0:
+ version "2.4.1"
+ resolved "https://registry.npmmirror.com/run-async/-/run-async-2.4.1.tgz#8440eccf99ea3e70bd409d49aab88e10c189a455"
+ integrity sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==
+
+run-node@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/run-node/-/run-node-1.0.0.tgz#46b50b946a2aa2d4947ae1d886e9856fd9cabe5e"
+ integrity sha512-kc120TBlQ3mih1LSzdAJXo4xn/GWS2ec0l3S+syHDXP9uRr0JAT8Qd3mdMuyjqCzeZktgP3try92cEgf9Nks8A==
+
+run-queue@^1.0.0, run-queue@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.npmmirror.com/run-queue/-/run-queue-1.0.3.tgz#e848396f057d223f24386924618e25694161ec47"
+ integrity sha512-ntymy489o0/QQplUDnpYAYUsO50K9SBrIVaKCWDOJzYJts0f9WH9RFJkyagebkw5+y1oi00R7ynNW/d12GBumg==
+ dependencies:
+ aproba "^1.1.1"
+
+runjs@^4.3.2:
+ version "4.4.2"
+ resolved "https://registry.npmmirror.com/runjs/-/runjs-4.4.2.tgz#3adf5b53ad1b119b846b3cae1334e9ab7ff34920"
+ integrity sha512-/DB54HRJnxfGA/a9QLZMyAn8H84SMt8oVGF7Vz+OS4BMCve312DXNRpy6Z8yohLuoMctoalXQtvmpd2ChQYD4Q==
+ dependencies:
+ chalk "2.3.0"
+ lodash.padend "4.6.1"
+ microcli "1.3.3"
+ omelette "0.4.5"
+
+rx-lite-aggregates@^4.0.8:
+ version "4.0.8"
+ resolved "https://registry.npmmirror.com/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz#753b87a89a11c95467c4ac1626c4efc4e05c67be"
+ integrity sha512-3xPNZGW93oCjiO7PtKxRK6iOVYBWBvtf9QHDfU23Oc+dLIQmAV//UnyXV/yihv81VS/UqoQPk4NegS8EFi55Hg==
+ dependencies:
+ rx-lite "*"
+
+rx-lite@*, rx-lite@^4.0.8:
+ version "4.0.8"
+ resolved "https://registry.npmmirror.com/rx-lite/-/rx-lite-4.0.8.tgz#0b1e11af8bc44836f04a6407e92da42467b79444"
+ integrity sha512-Cun9QucwK6MIrp3mry/Y7hqD1oFqTYLQ4pGxaHTjIdaFDWRGGLikqp6u8LcWJnzpoALg9hap+JGk8sFIUuEGNA==
+
+rxjs@^6.3.3, rxjs@^6.4.0:
+ version "6.6.7"
+ resolved "https://registry.npmmirror.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9"
+ integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==
+ dependencies:
+ tslib "^1.9.0"
+
+safe-array-concat@^1.1.2, safe-array-concat@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.npmmirror.com/safe-array-concat/-/safe-array-concat-1.1.3.tgz#c9e54ec4f603b0bbb8e7e5007a5ee7aecd1538c3"
+ integrity sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==
+ dependencies:
+ call-bind "^1.0.8"
+ call-bound "^1.0.2"
+ get-intrinsic "^1.2.6"
+ has-symbols "^1.1.0"
+ isarray "^2.0.5"
+
+safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
+ version "5.1.2"
+ resolved "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
+ integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
+
+safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@^5.2.1, safe-buffer@~5.2.0:
+ version "5.2.1"
+ resolved "https://registry.npmmirror.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
+ integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
+
+safe-push-apply@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/safe-push-apply/-/safe-push-apply-1.0.0.tgz#01850e981c1602d398c85081f360e4e6d03d27f5"
+ integrity sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==
+ dependencies:
+ es-errors "^1.3.0"
+ isarray "^2.0.5"
+
+safe-regex-test@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/safe-regex-test/-/safe-regex-test-1.1.0.tgz#7f87dfb67a3150782eaaf18583ff5d1711ac10c1"
+ integrity sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==
+ dependencies:
+ call-bound "^1.0.2"
+ es-errors "^1.3.0"
+ is-regex "^1.2.1"
+
+safe-regex@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/safe-regex/-/safe-regex-1.1.0.tgz#40a3669f3b077d1e943d44629e157dd48023bf2e"
+ integrity sha512-aJXcif4xnaNUzvUuC5gcb46oTS7zvg4jpMTnuqtrEPlR3vFr4pxtdTwaF1Qs3Enjn9HK+ZlwQui+a7z0SywIzg==
+ dependencies:
+ ret "~0.1.10"
+
+"safer-buffer@>= 2.1.2 < 3", safer-buffer@^2.0.2, safer-buffer@^2.1.0, safer-buffer@~2.1.0:
+ version "2.1.2"
+ resolved "https://registry.npmmirror.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
+ integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
+
+sane@^2.0.0:
+ version "2.5.2"
+ resolved "https://registry.npmmirror.com/sane/-/sane-2.5.2.tgz#b4dc1861c21b427e929507a3e751e2a2cb8ab3fa"
+ integrity sha512-OuZwD1QJ2R9Dbnhd7Ur8zzD8l+oADp9npyxK63Q9nZ4AjhB2QwDQcQlD8iuUsGm5AZZqtEuCaJvK1rxGRxyQ1Q==
+ dependencies:
+ anymatch "^2.0.0"
+ capture-exit "^1.2.0"
+ exec-sh "^0.2.0"
+ fb-watchman "^2.0.0"
+ micromatch "^3.1.4"
+ minimist "^1.1.1"
+ walker "~1.0.5"
+ watch "~0.18.0"
+ optionalDependencies:
+ fsevents "^1.2.3"
+
+saslprep@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.npmmirror.com/saslprep/-/saslprep-1.0.3.tgz#4c02f946b56cf54297e347ba1093e7acac4cf226"
+ integrity sha512-/MY/PEMbk2SuY5sScONwhUDsV2p77Znkb/q3nSVstq/yQzYJOH/Azh29p9oJLsl3LnQwSvZDKagDGBsBwSooag==
+ dependencies:
+ sparse-bitfield "^3.0.3"
+
+sass-loader@^7.2.0:
+ version "7.3.1"
+ resolved "https://registry.npmmirror.com/sass-loader/-/sass-loader-7.3.1.tgz#a5bf68a04bcea1c13ff842d747150f7ab7d0d23f"
+ integrity sha512-tuU7+zm0pTCynKYHpdqaPpe+MMTQ76I9TPZ7i4/5dZsigE350shQWe5EZNl5dBidM49TPET75tNqRbcsUZWeNA==
+ dependencies:
+ clone-deep "^4.0.1"
+ loader-utils "^1.0.1"
+ neo-async "^2.5.0"
+ pify "^4.0.1"
+ semver "^6.3.0"
+
+sass@1.26.2:
+ version "1.26.2"
+ resolved "https://registry.npmmirror.com/sass/-/sass-1.26.2.tgz#4e17c5c2394e2ee7ffd653ac1d862314a6a5767b"
+ integrity sha512-9TRp1d1NH0mWH8rqaR/jCS05f/TFD1ykPF2zSYviprMhLb0EmXVqtKMUHsvDt3YIT/jbSK6qAvUlfCW/HJkdCw==
+ dependencies:
+ chokidar ">=2.0.0 <4.0.0"
+
+sax@>=0.6.0, sax@^1.2.4:
+ version "1.4.1"
+ resolved "https://registry.npmmirror.com/sax/-/sax-1.4.1.tgz#44cc8988377f126304d3b3fc1010c733b929ef0f"
+ integrity sha512-+aWOz7yVScEGoKNd4PA10LZ8sk0A/z5+nXQG5giUO5rprX9jgYsTdov9qCchZiPIZezbZH+jRut8nPodFAX4Jg==
+
+sax@~1.2.4:
+ version "1.2.4"
+ resolved "https://registry.npmmirror.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
+ integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==
+
+schema-utils@^0.4.4:
+ version "0.4.7"
+ resolved "https://registry.npmmirror.com/schema-utils/-/schema-utils-0.4.7.tgz#ba74f597d2be2ea880131746ee17d0a093c68187"
+ integrity sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==
+ dependencies:
+ ajv "^6.1.0"
+ ajv-keywords "^3.1.0"
+
+schema-utils@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/schema-utils/-/schema-utils-1.0.0.tgz#0b79a93204d7b600d4b2850d1f66c2a34951c770"
+ integrity sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==
+ dependencies:
+ ajv "^6.1.0"
+ ajv-errors "^1.0.0"
+ ajv-keywords "^3.1.0"
+
+schema-utils@^2.6.5:
+ version "2.7.1"
+ resolved "https://registry.npmmirror.com/schema-utils/-/schema-utils-2.7.1.tgz#1ca4f32d1b24c590c203b8e7a50bf0ea4cd394d7"
+ integrity sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==
+ dependencies:
+ "@types/json-schema" "^7.0.5"
+ ajv "^6.12.4"
+ ajv-keywords "^3.5.2"
+
+scp2@^0.5.0:
+ version "0.5.0"
+ resolved "https://registry.npmmirror.com/scp2/-/scp2-0.5.0.tgz#64ee74bc3685f3a4c6290f2da8c1e3b4eef92e8d"
+ integrity sha512-HzPWuOHM/qVjVYhjmgfBKyUXQsI+9+SdI5l+5E0S98bUHirf1NoTynfrAPb0kr0oJKg/JFdFSlZwq7FnqLttvw==
+ dependencies:
+ async "~0.9.0"
+ glob "~7.0.3"
+ lodash "~4.11.1"
+ ssh2 "~0.4.10"
+
+screenfull@4.2.0:
+ version "4.2.0"
+ resolved "https://registry.npmmirror.com/screenfull/-/screenfull-4.2.0.tgz#d5252a5a0f56504719abbed9ebbcd9208115da03"
+ integrity sha512-qpyI9XbwuMJElWRP5vTgxkFAl4k7HpyhIqBFOZEwX9QBXn0MAuRSpn7LOc6/4CeSwoz61oBu1VPV+2fbIWC+5Q==
+
+script-ext-html-webpack-plugin@2.1.3:
+ version "2.1.3"
+ resolved "https://registry.npmmirror.com/script-ext-html-webpack-plugin/-/script-ext-html-webpack-plugin-2.1.3.tgz#b4bf703cddbe3de2e6f483e19dfeba2b5ec4abfe"
+ integrity sha512-a/gqxJFw2IAs8LK/ZFBKv1YoeFysbntdiLBVdNfgHgMKWW1mMcRGY6Hm3aihSaY9tqqhcaXuQJ4nn19loNbkuQ==
+ dependencies:
+ debug "^4.1.0"
+
+script-loader@0.7.2:
+ version "0.7.2"
+ resolved "https://registry.npmmirror.com/script-loader/-/script-loader-0.7.2.tgz#2016db6f86f25f5cf56da38915d83378bb166ba7"
+ integrity sha512-UMNLEvgOAQuzK8ji8qIscM3GIrRCWN6MmMXGD4SD5l6cSycgGsCo0tX5xRnfQcoghqct0tjHjcykgI1PyBE2aA==
+ dependencies:
+ raw-loader "~0.5.1"
+
+select-hose@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca"
+ integrity sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==
+
+select@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.npmmirror.com/select/-/select-1.1.2.tgz#0e7350acdec80b1108528786ec1d4418d11b396d"
+ integrity sha512-OwpTSOfy6xSs1+pwcNrv0RBMOzI39Lp3qQKUTPVVPRjCdNa5JH/oPRiqsesIskK8TVgmRiHwO4KXlV2Li9dANA==
+
+selfsigned@^1.10.8:
+ version "1.10.14"
+ resolved "https://registry.npmmirror.com/selfsigned/-/selfsigned-1.10.14.tgz#ee51d84d9dcecc61e07e4aba34f229ab525c1574"
+ integrity sha512-lkjaiAye+wBZDCBsu5BGi0XiLRxeUlsGod5ZP924CRSEoGuZAw/f7y9RKu28rwTfiHVhdavhB0qH0INV6P1lEA==
+ dependencies:
+ node-forge "^0.10.0"
+
+semver-compare@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc"
+ integrity sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow==
+
+"semver@2 || 3 || 4 || 5", semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0:
+ version "5.7.2"
+ resolved "https://registry.npmmirror.com/semver/-/semver-5.7.2.tgz#48d55db737c3287cd4835e17fa13feace1c41ef8"
+ integrity sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==
+
+semver@^6.0.0, semver@^6.3.0, semver@^6.3.1:
+ version "6.3.1"
+ resolved "https://registry.npmmirror.com/semver/-/semver-6.3.1.tgz#556d2ef8689146e46dcea4bfdd095f3434dffcb4"
+ integrity sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==
+
+semver@^7.5.3:
+ version "7.7.2"
+ resolved "https://registry.npmmirror.com/semver/-/semver-7.7.2.tgz#67d99fdcd35cec21e6f8b87a7fd515a33f982b58"
+ integrity sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==
+
+send@0.19.0:
+ version "0.19.0"
+ resolved "https://registry.npmmirror.com/send/-/send-0.19.0.tgz#bbc5a388c8ea6c048967049dbeac0e4a3f09d7f8"
+ integrity sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==
+ dependencies:
+ debug "2.6.9"
+ depd "2.0.0"
+ destroy "1.2.0"
+ encodeurl "~1.0.2"
+ escape-html "~1.0.3"
+ etag "~1.8.1"
+ fresh "0.5.2"
+ http-errors "2.0.0"
+ mime "1.6.0"
+ ms "2.1.3"
+ on-finished "2.4.1"
+ range-parser "~1.2.1"
+ statuses "2.0.1"
+
+sentence-case@^2.1.0:
+ version "2.1.1"
+ resolved "https://registry.npmmirror.com/sentence-case/-/sentence-case-2.1.1.tgz#1f6e2dda39c168bf92d13f86d4a918933f667ed4"
+ integrity sha512-ENl7cYHaK/Ktwk5OTD+aDbQ3uC8IByu/6Bkg+HDv8Mm+XnBnppVNalcfJTNsp1ibstKh030/JKQQWglDvtKwEQ==
+ dependencies:
+ no-case "^2.2.0"
+ upper-case-first "^1.1.2"
+
+serialize-javascript@^1.4.0:
+ version "1.9.1"
+ resolved "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-1.9.1.tgz#cfc200aef77b600c47da9bb8149c943e798c2fdb"
+ integrity sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A==
+
+serialize-javascript@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npmmirror.com/serialize-javascript/-/serialize-javascript-4.0.0.tgz#b525e1238489a5ecfc42afacc3fe99e666f4b1aa"
+ integrity sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==
+ dependencies:
+ randombytes "^2.1.0"
+
+serve-index@^1.9.1:
+ version "1.9.1"
+ resolved "https://registry.npmmirror.com/serve-index/-/serve-index-1.9.1.tgz#d3768d69b1e7d82e5ce050fff5b453bea12a9239"
+ integrity sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==
+ dependencies:
+ 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"
+
+serve-static@1.16.2, serve-static@^1.13.2:
+ version "1.16.2"
+ resolved "https://registry.npmmirror.com/serve-static/-/serve-static-1.16.2.tgz#b6a5343da47f6bdd2673848bf45754941e803296"
+ integrity sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw==
+ dependencies:
+ encodeurl "~2.0.0"
+ escape-html "~1.0.3"
+ parseurl "~1.3.3"
+ send "0.19.0"
+
+set-blocking@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
+ integrity sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==
+
+set-function-length@^1.2.2:
+ version "1.2.2"
+ resolved "https://registry.npmmirror.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449"
+ integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==
+ dependencies:
+ define-data-property "^1.1.4"
+ es-errors "^1.3.0"
+ function-bind "^1.1.2"
+ get-intrinsic "^1.2.4"
+ gopd "^1.0.1"
+ has-property-descriptors "^1.0.2"
+
+set-function-name@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.npmmirror.com/set-function-name/-/set-function-name-2.0.2.tgz#16a705c5a0dc2f5e638ca96d8a8cd4e1c2b90985"
+ integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==
+ dependencies:
+ define-data-property "^1.1.4"
+ es-errors "^1.3.0"
+ functions-have-names "^1.2.3"
+ has-property-descriptors "^1.0.2"
+
+set-immediate-shim@~1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz#4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61"
+ integrity sha512-Li5AOqrZWCVA2n5kryzEmqai6bKSIvpz5oUJHPVj6+dsbD3X1ixtsY5tEnsaNpH3pFAHmG8eIHUrtEtohrg+UQ==
+
+set-proto@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/set-proto/-/set-proto-1.0.0.tgz#0760dbcff30b2d7e801fd6e19983e56da337565e"
+ integrity sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==
+ dependencies:
+ dunder-proto "^1.0.1"
+ es-errors "^1.3.0"
+ es-object-atoms "^1.0.0"
+
+set-value@^2.0.0, set-value@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.npmmirror.com/set-value/-/set-value-2.0.1.tgz#a18d40530e6f07de4228c7defe4227af8cad005b"
+ integrity sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==
+ dependencies:
+ extend-shallow "^2.0.1"
+ is-extendable "^0.1.1"
+ is-plain-object "^2.0.3"
+ split-string "^3.0.1"
+
+setimmediate@^1.0.4:
+ version "1.0.5"
+ resolved "https://registry.npmmirror.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285"
+ integrity sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==
+
+setprototypeof@1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.1.0.tgz#d0bd85536887b6fe7c0d818cb962d9d91c54e656"
+ integrity sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==
+
+setprototypeof@1.2.0:
+ version "1.2.0"
+ resolved "https://registry.npmmirror.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424"
+ integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==
+
+sha.js@^2.4.0, sha.js@^2.4.11, sha.js@^2.4.8:
+ version "2.4.11"
+ resolved "https://registry.npmmirror.com/sha.js/-/sha.js-2.4.11.tgz#37a5cf0b81ecbc6943de109ba2960d1b26584ae7"
+ integrity sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==
+ dependencies:
+ inherits "^2.0.1"
+ safe-buffer "^5.0.1"
+
+shallow-clone@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.npmmirror.com/shallow-clone/-/shallow-clone-3.0.1.tgz#8f2981ad92531f55035b01fb230769a40e02efa3"
+ integrity sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==
+ dependencies:
+ kind-of "^6.0.2"
+
+shebang-command@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.npmmirror.com/shebang-command/-/shebang-command-1.2.0.tgz#44aac65b695b03398968c39f363fee5deafdf1ea"
+ integrity sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==
+ dependencies:
+ shebang-regex "^1.0.0"
+
+shebang-command@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
+ integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
+ dependencies:
+ shebang-regex "^3.0.0"
+
+shebang-regex@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-1.0.0.tgz#da42f49740c0b42db2ca9728571cb190c98efea3"
+ integrity sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==
+
+shebang-regex@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmmirror.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
+ integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
+
+shell-quote@^1.8.1:
+ version "1.8.3"
+ resolved "https://registry.npmmirror.com/shell-quote/-/shell-quote-1.8.3.tgz#55e40ef33cf5c689902353a3d8cd1a6725f08b4b"
+ integrity sha512-ObmnIF4hXNg1BqhnHmgbDETF8dLPCggZWBjkQfhZpbszZnYur5DUljTcCHii5LC3J5E0yeO/1LIMyH+UvHQgyw==
+
+shellwords@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.npmmirror.com/shellwords/-/shellwords-0.1.1.tgz#d6b9181c1a48d397324c84871efbcfc73fc0654b"
+ integrity sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==
+
+side-channel-list@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/side-channel-list/-/side-channel-list-1.0.0.tgz#10cb5984263115d3b7a0e336591e290a830af8ad"
+ integrity sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==
+ dependencies:
+ es-errors "^1.3.0"
+ object-inspect "^1.13.3"
+
+side-channel-map@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/side-channel-map/-/side-channel-map-1.0.1.tgz#d6bb6b37902c6fef5174e5f533fab4c732a26f42"
+ integrity sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==
+ dependencies:
+ call-bound "^1.0.2"
+ es-errors "^1.3.0"
+ get-intrinsic "^1.2.5"
+ object-inspect "^1.13.3"
+
+side-channel-weakmap@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npmmirror.com/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz#11dda19d5368e40ce9ec2bdc1fb0ecbc0790ecea"
+ integrity sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==
+ dependencies:
+ call-bound "^1.0.2"
+ es-errors "^1.3.0"
+ get-intrinsic "^1.2.5"
+ object-inspect "^1.13.3"
+ side-channel-map "^1.0.1"
+
+side-channel@^1.0.6, side-channel@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/side-channel/-/side-channel-1.1.0.tgz#c3fcff9c4da932784873335ec9765fa94ff66bc9"
+ integrity sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==
+ dependencies:
+ es-errors "^1.3.0"
+ object-inspect "^1.13.3"
+ side-channel-list "^1.0.0"
+ side-channel-map "^1.0.1"
+ side-channel-weakmap "^1.0.2"
+
+sift@7.0.1:
+ version "7.0.1"
+ resolved "https://registry.npmmirror.com/sift/-/sift-7.0.1.tgz#47d62c50b159d316f1372f8b53f9c10cd21a4b08"
+ integrity sha512-oqD7PMJ+uO6jV9EQCl0LrRw1OwsiPsiFQR5AR30heR+4Dl7jBBbDLnNvWiak20tzZlSE1H7RB30SX/1j/YYT7g==
+
+signal-exit@^3.0.0, signal-exit@^3.0.2:
+ version "3.0.7"
+ resolved "https://registry.npmmirror.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9"
+ integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
+
+signal-exit@^4.0.1:
+ version "4.1.0"
+ resolved "https://registry.npmmirror.com/signal-exit/-/signal-exit-4.1.0.tgz#952188c1cbd546070e2dd20d0f41c0ae0530cb04"
+ integrity sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==
+
+simple-git@^1.85.0:
+ version "1.132.0"
+ resolved "https://registry.npmmirror.com/simple-git/-/simple-git-1.132.0.tgz#53ac4c5ec9e74e37c2fd461e23309f22fcdf09b1"
+ integrity sha512-xauHm1YqCTom1sC9eOjfq3/9RKiUA9iPnxBbrY2DdL8l4ADMu0jjM5l5lphQP5YWNqAL2aXC/OeuQ76vHtW5fg==
+ dependencies:
+ debug "^4.0.1"
+
+simple-swizzle@^0.2.2:
+ version "0.2.2"
+ resolved "https://registry.npmmirror.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a"
+ integrity sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==
+ dependencies:
+ is-arrayish "^0.3.1"
+
+sisteransi@^0.1.1:
+ version "0.1.1"
+ resolved "https://registry.npmmirror.com/sisteransi/-/sisteransi-0.1.1.tgz#5431447d5f7d1675aac667ccd0b865a4994cb3ce"
+ integrity sha512-PmGOd02bM9YO5ifxpw36nrNMBTptEtfRl4qUYl9SndkolplkrZZOW7PGHjrZL53QvMVj9nQ+TKqUnRsw4tJa4g==
+
+slash@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/slash/-/slash-1.0.0.tgz#c41f2f6c39fc16d1cd17ad4b5d896114ae470d55"
+ integrity sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==
+
+slash@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/slash/-/slash-2.0.0.tgz#de552851a1759df3a8f206535442f5ec4ddeab44"
+ integrity sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==
+
+slice-ansi@0.0.4:
+ version "0.0.4"
+ resolved "https://registry.npmmirror.com/slice-ansi/-/slice-ansi-0.0.4.tgz#edbf8903f66f7ce2f8eafd6ceed65e264c831b35"
+ integrity sha512-up04hB2hR92PgjpyU3y/eg91yIBILyjVY26NvvciY3EVVPjybkMszMpXQ9QAkcS3I5rtJBDLoTxxg+qvW8c7rw==
+
+slice-ansi@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/slice-ansi/-/slice-ansi-1.0.0.tgz#044f1a49d8842ff307aad6b505ed178bd950134d"
+ integrity sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==
+ dependencies:
+ is-fullwidth-code-point "^2.0.0"
+
+slice-ansi@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npmmirror.com/slice-ansi/-/slice-ansi-2.1.0.tgz#cacd7693461a637a5788d92a7dd4fba068e81636"
+ integrity sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==
+ dependencies:
+ ansi-styles "^3.2.0"
+ astral-regex "^1.0.0"
+ is-fullwidth-code-point "^2.0.0"
+
+sliced@1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/sliced/-/sliced-1.0.1.tgz#0b3a662b5d04c3177b1926bea82b03f837a2ef41"
+ integrity sha512-VZBmZP8WU3sMOZm1bdgTadsQbcscK0UM8oKxKVBs4XAhUo2Xxzm/OFMGBkPusxw9xL3Uy8LrzEqGqJhclsr0yA==
+
+snake-case@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.npmmirror.com/snake-case/-/snake-case-2.1.0.tgz#41bdb1b73f30ec66a04d4e2cad1b76387d4d6d9f"
+ integrity sha512-FMR5YoPFwOLuh4rRz92dywJjyKYZNLpMn1R5ujVpIYkbA9p01fq8RMg0FkO4M+Yobt4MjHeLTJVm5xFFBHSV2Q==
+ dependencies:
+ no-case "^2.2.0"
+
+snapdragon-node@^2.0.1:
+ version "2.1.1"
+ resolved "https://registry.npmmirror.com/snapdragon-node/-/snapdragon-node-2.1.1.tgz#6c175f86ff14bdb0724563e8f3c1b021a286853b"
+ integrity sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==
+ dependencies:
+ define-property "^1.0.0"
+ isobject "^3.0.0"
+ snapdragon-util "^3.0.1"
+
+snapdragon-util@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.npmmirror.com/snapdragon-util/-/snapdragon-util-3.0.1.tgz#f956479486f2acd79700693f6f7b805e45ab56e2"
+ integrity sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==
+ dependencies:
+ kind-of "^3.2.0"
+
+snapdragon@^0.8.1:
+ version "0.8.2"
+ resolved "https://registry.npmmirror.com/snapdragon/-/snapdragon-0.8.2.tgz#64922e7c565b0e14204ba1aa7d6964278d25182d"
+ integrity sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==
+ dependencies:
+ 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"
+
+sockjs-client@^1.5.0:
+ version "1.6.1"
+ resolved "https://registry.npmmirror.com/sockjs-client/-/sockjs-client-1.6.1.tgz#350b8eda42d6d52ddc030c39943364c11dcad806"
+ integrity sha512-2g0tjOR+fRs0amxENLi/q5TiJTqY+WXFOzb5UwXndlK6TO3U/mirZznpx6w34HVMoc3g7cY24yC/ZMIYnDlfkw==
+ dependencies:
+ debug "^3.2.7"
+ eventsource "^2.0.2"
+ faye-websocket "^0.11.4"
+ inherits "^2.0.4"
+ url-parse "^1.5.10"
+
+sockjs@^0.3.21:
+ version "0.3.24"
+ resolved "https://registry.npmmirror.com/sockjs/-/sockjs-0.3.24.tgz#c9bc8995f33a111bea0395ec30aa3206bdb5ccce"
+ integrity sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==
+ dependencies:
+ faye-websocket "^0.11.3"
+ uuid "^8.3.2"
+ websocket-driver "^0.7.4"
+
+sortablejs@1.10.2:
+ version "1.10.2"
+ resolved "https://registry.npmmirror.com/sortablejs/-/sortablejs-1.10.2.tgz#6e40364d913f98b85a14f6678f92b5c1221f5290"
+ integrity sha512-YkPGufevysvfwn5rfdlGyrGjt7/CRHwvRPogD/lC+TnvcN29jDpCifKP+rBqf+LRldfXSTh+0CGLcSg0VIxq3A==
+
+source-list-map@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.npmmirror.com/source-list-map/-/source-list-map-2.0.1.tgz#3993bd873bfc48479cca9ea3a547835c7c154b34"
+ integrity sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==
+
+source-map-js@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46"
+ integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==
+
+source-map-resolve@^0.5.0, source-map-resolve@^0.5.2:
+ version "0.5.3"
+ resolved "https://registry.npmmirror.com/source-map-resolve/-/source-map-resolve-0.5.3.tgz#190866bece7553e1f8f267a2ee82c606b5509a1a"
+ integrity sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==
+ dependencies:
+ 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@^0.4.15:
+ version "0.4.18"
+ resolved "https://registry.npmmirror.com/source-map-support/-/source-map-support-0.4.18.tgz#0286a6de8be42641338594e97ccea75f0a2c585f"
+ integrity sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==
+ dependencies:
+ source-map "^0.5.6"
+
+source-map-support@^0.5.6, source-map-support@^0.5.9, source-map-support@~0.5.12:
+ version "0.5.21"
+ resolved "https://registry.npmmirror.com/source-map-support/-/source-map-support-0.5.21.tgz#04fe7c7f9e1ed2d662233c28cb2b35b9f63f6e4f"
+ integrity sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==
+ dependencies:
+ buffer-from "^1.0.0"
+ source-map "^0.6.0"
+
+source-map-url@^0.4.0:
+ version "0.4.1"
+ resolved "https://registry.npmmirror.com/source-map-url/-/source-map-url-0.4.1.tgz#0af66605a745a5a2f91cf1bbf8a7afbc283dec56"
+ integrity sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==
+
+source-map@^0.5.0, source-map@^0.5.3, source-map@^0.5.6, source-map@^0.5.7:
+ version "0.5.7"
+ resolved "https://registry.npmmirror.com/source-map/-/source-map-0.5.7.tgz#8a039d2d1021d22d1ea14c80d8ea468ba2ef3fcc"
+ integrity sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==
+
+source-map@^0.6.0, source-map@^0.6.1, source-map@~0.6.0, source-map@~0.6.1:
+ version "0.6.1"
+ resolved "https://registry.npmmirror.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
+ integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
+
+sparse-bitfield@^3.0.3:
+ version "3.0.3"
+ resolved "https://registry.npmmirror.com/sparse-bitfield/-/sparse-bitfield-3.0.3.tgz#ff4ae6e68656056ba4b3e792ab3334d38273ca11"
+ integrity sha512-kvzhi7vqKTfkh0PZU+2D2PIllw2ymqJKujUcyPMd9Y75Nv4nPbGJZXNhxsgdQab2BmlDct1YnfQCguEvHr7VsQ==
+ dependencies:
+ memory-pager "^1.0.2"
+
+spdx-correct@^3.0.0:
+ version "3.2.0"
+ resolved "https://registry.npmmirror.com/spdx-correct/-/spdx-correct-3.2.0.tgz#4f5ab0668f0059e34f9c00dce331784a12de4e9c"
+ integrity sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==
+ dependencies:
+ spdx-expression-parse "^3.0.0"
+ spdx-license-ids "^3.0.0"
+
+spdx-exceptions@^2.1.0:
+ version "2.5.0"
+ resolved "https://registry.npmmirror.com/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz#5d607d27fc806f66d7b64a766650fa890f04ed66"
+ integrity sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==
+
+spdx-expression-parse@^3.0.0:
+ version "3.0.1"
+ resolved "https://registry.npmmirror.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679"
+ integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==
+ dependencies:
+ spdx-exceptions "^2.1.0"
+ spdx-license-ids "^3.0.0"
+
+spdx-license-ids@^3.0.0:
+ version "3.0.21"
+ resolved "https://registry.npmmirror.com/spdx-license-ids/-/spdx-license-ids-3.0.21.tgz#6d6e980c9df2b6fc905343a3b2d702a6239536c3"
+ integrity sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==
+
+spdy-transport@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmmirror.com/spdy-transport/-/spdy-transport-3.0.0.tgz#00d4863a6400ad75df93361a1608605e5dcdcf31"
+ integrity sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==
+ dependencies:
+ 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"
+
+spdy@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.npmmirror.com/spdy/-/spdy-4.0.2.tgz#b74f466203a3eda452c02492b91fb9e84a27677b"
+ integrity sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==
+ dependencies:
+ debug "^4.1.0"
+ handle-thing "^2.0.0"
+ http-deceiver "^1.2.7"
+ select-hose "^2.0.0"
+ spdy-transport "^3.0.0"
+
+split-string@^3.0.1, split-string@^3.0.2:
+ version "3.1.0"
+ resolved "https://registry.npmmirror.com/split-string/-/split-string-3.1.0.tgz#7cb09dda3a86585705c64b39a6466038682e8fe2"
+ integrity sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==
+ dependencies:
+ extend-shallow "^3.0.0"
+
+sprintf-js@~1.0.2:
+ version "1.0.3"
+ resolved "https://registry.npmmirror.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
+ integrity sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==
+
+ssf@~0.10.2:
+ version "0.10.3"
+ resolved "https://registry.npmmirror.com/ssf/-/ssf-0.10.3.tgz#8eae1fc29c90a552e7921208f81892d6f77acb2b"
+ integrity sha512-pRuUdW0WwyB2doSqqjWyzwCD6PkfxpHAHdZp39K3dp/Hq7f+xfMwNAWIi16DyrRg4gg9c/RvLYkJTSawTPTm1w==
+ dependencies:
+ frac "~1.1.2"
+
+ssh2-streams@~0.0.22:
+ version "0.0.23"
+ resolved "https://registry.npmmirror.com/ssh2-streams/-/ssh2-streams-0.0.23.tgz#aeef30831bb5fc4af6aa3f6d0a261a413531612b"
+ integrity sha512-llhegJ0WOuEZQoWvh+ZB/ZQpJNjuDVPVAh+UjIsi0YLM7GeKPX7xMnh5LJtjOBAChumuUg7hNfIUfKjrxfNNYg==
+ dependencies:
+ asn1 "~0.2.0"
+ readable-stream "~1.0.0"
+ streamsearch "~0.1.2"
+
+ssh2@~0.4.10:
+ version "0.4.15"
+ resolved "https://registry.npmmirror.com/ssh2/-/ssh2-0.4.15.tgz#07c6f4106d9f7b6ea6e4df636c6c53f1f9817ff8"
+ integrity sha512-/KEtwbNly4LtP92bBfgY4RCj8YAvKaXg89nLaCINNMu1X5d++W5DOZz+yX2xwjlSmdw8we7AC9LYnAzBkA4OwA==
+ dependencies:
+ readable-stream "~1.0.0"
+ ssh2-streams "~0.0.22"
+
+sshpk@^1.7.0:
+ version "1.18.0"
+ resolved "https://registry.npmmirror.com/sshpk/-/sshpk-1.18.0.tgz#1663e55cddf4d688b86a46b77f0d5fe363aba028"
+ integrity sha512-2p2KJZTSqQ/I3+HX42EpYOa2l3f8Erv8MWKsy2I9uf4wA7yFIkXRffYdsx86y6z4vHtV8u7g+pPlr8/4ouAxsQ==
+ dependencies:
+ 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"
+
+ssr-window@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/ssr-window/-/ssr-window-1.0.1.tgz#30752a6a4666e7767f0b7e6aa6fc2fdbd0d9b369"
+ integrity sha512-dgFqB+f00LJTEgb6UXhx0h+SrG50LJvti2yMKMqAgzfUmUXZrLSv2fjULF7AWGwK25EXu8+smLR3jYsJQChPsg==
+
+ssr-window@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/ssr-window/-/ssr-window-2.0.0.tgz#98c301aef99523317f8d69618f0010791096efc4"
+ integrity sha512-NXzN+/HPObKAx191H3zKlYomE5WrVIkoCB5IaSdvKokxTpjBdWfr0RaP+1Z5KOfDT0ZVz+2tdtiBkhsEQ9p+0A==
+
+ssri@^5.2.4:
+ version "5.3.0"
+ resolved "https://registry.npmmirror.com/ssri/-/ssri-5.3.0.tgz#ba3872c9c6d33a0704a7d71ff045e5ec48999d06"
+ integrity sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==
+ dependencies:
+ safe-buffer "^5.1.1"
+
+ssri@^6.0.1:
+ version "6.0.2"
+ resolved "https://registry.npmmirror.com/ssri/-/ssri-6.0.2.tgz#157939134f20464e7301ddba3e90ffa8f7728ac5"
+ integrity sha512-cepbSq/neFK7xB6A50KHN0xHDotYzq58wWCa5LeWqnPrHG8GzfEjO/4O8kpmcGW+oaxkvhEJCWgbgNk4/ZV93Q==
+ dependencies:
+ figgy-pudding "^3.5.1"
+
+stable@^0.1.8:
+ version "0.1.8"
+ resolved "https://registry.npmmirror.com/stable/-/stable-0.1.8.tgz#836eb3c8382fe2936feaf544631017ce7d47a3cf"
+ integrity sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==
+
+stack-utils@^1.0.1:
+ version "1.0.5"
+ resolved "https://registry.npmmirror.com/stack-utils/-/stack-utils-1.0.5.tgz#a19b0b01947e0029c8e451d5d61a498f5bb1471b"
+ integrity sha512-KZiTzuV3CnSnSvgMRrARVCj+Ht7rMbauGDK0LdVFRGyenwdylpajAp4Q0i6SX8rEmbTpMMf6ryq2gb8pPq2WgQ==
+ dependencies:
+ escape-string-regexp "^2.0.0"
+
+stackframe@^1.3.4:
+ version "1.3.4"
+ resolved "https://registry.npmmirror.com/stackframe/-/stackframe-1.3.4.tgz#b881a004c8c149a5e8efef37d51b16e412943310"
+ integrity sha512-oeVtt7eWQS+Na6F//S4kJ2K2VbRlS9D43mAlMyVpVWovy9o+jfgH8O9agzANzaiLjclA0oYzUXEM4PurhSUChw==
+
+staged-git-files@1.1.2:
+ version "1.1.2"
+ resolved "https://registry.npmmirror.com/staged-git-files/-/staged-git-files-1.1.2.tgz#4326d33886dc9ecfa29a6193bf511ba90a46454b"
+ integrity sha512-0Eyrk6uXW6tg9PYkhi/V/J4zHp33aNyi2hOCmhFLqLTIhbgqWn5jlSzI+IU0VqrZq6+DbHcabQl/WP6P3BG0QA==
+
+static-extend@^0.1.1:
+ version "0.1.2"
+ resolved "https://registry.npmmirror.com/static-extend/-/static-extend-0.1.2.tgz#60809c39cbff55337226fd5e0b520f341f1fb5c6"
+ integrity sha512-72E9+uLc27Mt718pMHt9VMNiAL4LMsmDbBva8mxWUCkT07fSzEGMYUCk0XWY6lp0j6RBAG4cJ3mWuZv2OE3s0g==
+ dependencies:
+ define-property "^0.2.5"
+ object-copy "^0.1.0"
+
+statuses@2.0.1:
+ version "2.0.1"
+ resolved "https://registry.npmmirror.com/statuses/-/statuses-2.0.1.tgz#55cb000ccf1d48728bd23c685a063998cf1a1b63"
+ integrity sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==
+
+"statuses@>= 1.4.0 < 2":
+ version "1.5.0"
+ resolved "https://registry.npmmirror.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
+ integrity sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==
+
+statuses@~1.3.1:
+ version "1.3.1"
+ resolved "https://registry.npmmirror.com/statuses/-/statuses-1.3.1.tgz#faf51b9eb74aaef3b3acf4ad5f61abf24cb7b93e"
+ integrity sha512-wuTCPGlJONk/a1kqZ4fQM2+908lC7fa7nPYpTC1EhnvqLX/IICbeP1OZGDtA374trpSq68YubKUMo8oRhN46yg==
+
+stealthy-require@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npmmirror.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b"
+ integrity sha512-ZnWpYnYugiOVEY5GkcuJK1io5V8QmNYChG62gSit9pQVGErXtrKuPC55ITaVSukmMta5qpMU7vqLt2Lnni4f/g==
+
+stop-iteration-iterator@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz#f481ff70a548f6124d0312c3aa14cbfa7aa542ad"
+ integrity sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==
+ dependencies:
+ es-errors "^1.3.0"
+ internal-slot "^1.1.0"
+
+stream-browserify@^2.0.1:
+ version "2.0.2"
+ resolved "https://registry.npmmirror.com/stream-browserify/-/stream-browserify-2.0.2.tgz#87521d38a44aa7ee91ce1cd2a47df0cb49dd660b"
+ integrity sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==
+ dependencies:
+ inherits "~2.0.1"
+ readable-stream "^2.0.2"
+
+stream-each@^1.1.0:
+ version "1.2.3"
+ resolved "https://registry.npmmirror.com/stream-each/-/stream-each-1.2.3.tgz#ebe27a0c389b04fbcc233642952e10731afa9bae"
+ integrity sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==
+ dependencies:
+ end-of-stream "^1.1.0"
+ stream-shift "^1.0.0"
+
+stream-http@^2.7.2:
+ version "2.8.3"
+ resolved "https://registry.npmmirror.com/stream-http/-/stream-http-2.8.3.tgz#b2d242469288a5a27ec4fe8933acf623de6514fc"
+ integrity sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==
+ dependencies:
+ 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@^1.0.0:
+ version "1.0.3"
+ resolved "https://registry.npmmirror.com/stream-shift/-/stream-shift-1.0.3.tgz#85b8fab4d71010fc3ba8772e8046cc49b8a3864b"
+ integrity sha512-76ORR0DO1o1hlKwTbi/DM3EXWGf3ZJYO8cXX5RJwnul2DEg2oyoZyjLNoQM8WsvZiFKCRfC1O0J7iCvie3RZmQ==
+
+streamsearch@~0.1.2:
+ version "0.1.2"
+ resolved "https://registry.npmmirror.com/streamsearch/-/streamsearch-0.1.2.tgz#808b9d0e56fc273d809ba57338e929919a1a9f1a"
+ integrity sha512-jos8u++JKm0ARcSUTAZXOVC0mSox7Bhn6sBgty73P1f3JGf7yG2clTbBNHUdde/kdvP2FESam+vM6l8jBrNxHA==
+
+strict-uri-encode@^1.0.0:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713"
+ integrity sha512-R3f198pcvnB+5IpnBlRkphuE9n46WyVl8I39W/ZUTZLz4nqSP/oLYUrcnJrw462Ds8he4YKMov2efsTIw1BDGQ==
+
+string-argv@^0.0.2:
+ version "0.0.2"
+ resolved "https://registry.npmmirror.com/string-argv/-/string-argv-0.0.2.tgz#dac30408690c21f3c3630a3ff3a05877bdcbd736"
+ integrity sha512-p6/Mqq0utTQWUeGMi/m0uBtlLZEwXSY3+mXzeRRqw7fz5ezUb28Wr0R99NlfbWaMmL/jCyT9be4jpn7Yz8IO8w==
+
+string-length@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/string-length/-/string-length-2.0.0.tgz#d40dbb686a3ace960c1cffca562bf2c45f8363ed"
+ integrity sha512-Qka42GGrS8Mm3SZ+7cH8UXiIWI867/b/Z/feQSpQx/rbfB8UGknGEZVaUQMOUVj+soY6NpWAxily63HI1OckVQ==
+ dependencies:
+ astral-regex "^1.0.0"
+ strip-ansi "^4.0.0"
+
+"string-width-cjs@npm:string-width@^4.2.0":
+ version "4.2.3"
+ resolved "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
+ integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
+ dependencies:
+ emoji-regex "^8.0.0"
+ is-fullwidth-code-point "^3.0.0"
+ strip-ansi "^6.0.1"
+
+string-width@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.npmmirror.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
+ integrity sha512-0XsVpQLnVCXHJfyEs8tC0zpTVIr5PKKsQtkT29IwupnPTjtPmQ3xT/4yCREF9hYkV/3M3kzcUTSAZT6a6h81tw==
+ dependencies:
+ code-point-at "^1.0.0"
+ is-fullwidth-code-point "^1.0.0"
+ strip-ansi "^3.0.0"
+
+string-width@^2.0.0, string-width@^2.1.0, string-width@^2.1.1:
+ version "2.1.1"
+ resolved "https://registry.npmmirror.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
+ integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==
+ dependencies:
+ is-fullwidth-code-point "^2.0.0"
+ strip-ansi "^4.0.0"
+
+string-width@^3.0.0, string-width@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.npmmirror.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961"
+ integrity sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==
+ dependencies:
+ emoji-regex "^7.0.1"
+ is-fullwidth-code-point "^2.0.0"
+ strip-ansi "^5.1.0"
+
+string-width@^4.1.0, string-width@^4.2.3:
+ version "4.2.3"
+ resolved "https://registry.npmmirror.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
+ integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
+ dependencies:
+ emoji-regex "^8.0.0"
+ is-fullwidth-code-point "^3.0.0"
+ strip-ansi "^6.0.1"
+
+string-width@^5.0.1, string-width@^5.1.2:
+ version "5.1.2"
+ resolved "https://registry.npmmirror.com/string-width/-/string-width-5.1.2.tgz#14f8daec6d81e7221d2a357e668cab73bdbca794"
+ integrity sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==
+ dependencies:
+ eastasianwidth "^0.2.0"
+ emoji-regex "^9.2.2"
+ strip-ansi "^7.0.1"
+
+string.prototype.padend@^3.0.0:
+ version "3.1.6"
+ resolved "https://registry.npmmirror.com/string.prototype.padend/-/string.prototype.padend-3.1.6.tgz#ba79cf8992609a91c872daa47c6bb144ee7f62a5"
+ integrity sha512-XZpspuSB7vJWhvJc9DLSlrXl1mcA2BdoY5jjnS135ydXqLoqhs96JjDtCkjJEQHvfqZIp9hBuBMgI589peyx9Q==
+ dependencies:
+ call-bind "^1.0.7"
+ define-properties "^1.2.1"
+ es-abstract "^1.23.2"
+ es-object-atoms "^1.0.0"
+
+string.prototype.padstart@^3.0.0:
+ version "3.1.7"
+ resolved "https://registry.npmmirror.com/string.prototype.padstart/-/string.prototype.padstart-3.1.7.tgz#529bae9f07186fb0fc6e0709b7f9b1f942aa09d1"
+ integrity sha512-hc5ZFzw8H2Bl4AeHxE5s+CniFg+bPcr7lRRS189GCM6KhJQBACNRhtMsdcnpBNbjc1XisnUOqbP0c94RZU4GCw==
+ dependencies:
+ call-bind "^1.0.8"
+ call-bound "^1.0.4"
+ define-properties "^1.2.1"
+ es-abstract "^1.23.9"
+ es-object-atoms "^1.1.1"
+
+string.prototype.trim@^1.2.10:
+ version "1.2.10"
+ resolved "https://registry.npmmirror.com/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz#40b2dd5ee94c959b4dcfb1d65ce72e90da480c81"
+ integrity sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==
+ dependencies:
+ call-bind "^1.0.8"
+ call-bound "^1.0.2"
+ define-data-property "^1.1.4"
+ define-properties "^1.2.1"
+ es-abstract "^1.23.5"
+ es-object-atoms "^1.0.0"
+ has-property-descriptors "^1.0.2"
+
+string.prototype.trimend@^1.0.9:
+ version "1.0.9"
+ resolved "https://registry.npmmirror.com/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz#62e2731272cd285041b36596054e9f66569b6942"
+ integrity sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==
+ dependencies:
+ call-bind "^1.0.8"
+ call-bound "^1.0.2"
+ define-properties "^1.2.1"
+ es-object-atoms "^1.0.0"
+
+string.prototype.trimstart@^1.0.8:
+ version "1.0.8"
+ resolved "https://registry.npmmirror.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz#7ee834dda8c7c17eff3118472bb35bfedaa34dde"
+ integrity sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==
+ dependencies:
+ call-bind "^1.0.7"
+ define-properties "^1.2.1"
+ es-object-atoms "^1.0.0"
+
+string_decoder@^1.0.0, string_decoder@^1.1.1:
+ version "1.3.0"
+ resolved "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
+ integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
+ dependencies:
+ safe-buffer "~5.2.0"
+
+string_decoder@~0.10.x:
+ version "0.10.31"
+ resolved "https://registry.npmmirror.com/string_decoder/-/string_decoder-0.10.31.tgz#62e203bc41766c6c28c9fc84301dab1c5310fa94"
+ integrity sha512-ev2QzSzWPYmy9GuqfIVildA4OdcGLeFZQrq5ys6RtiuF+RQQiZWr8TZNyAcuVXyQRYfEO+MsoB/1BuQVhOJuoQ==
+
+string_decoder@~1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npmmirror.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
+ integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
+ dependencies:
+ safe-buffer "~5.1.0"
+
+stringify-object@^3.2.2:
+ version "3.3.0"
+ resolved "https://registry.npmmirror.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629"
+ integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==
+ dependencies:
+ get-own-enumerable-property-symbols "^3.0.0"
+ is-obj "^1.0.1"
+ is-regexp "^1.0.0"
+
+"strip-ansi-cjs@npm:strip-ansi@^6.0.1":
+ version "6.0.1"
+ resolved "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
+ integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
+ dependencies:
+ ansi-regex "^5.0.1"
+
+strip-ansi@^3.0.0, strip-ansi@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
+ integrity sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==
+ dependencies:
+ ansi-regex "^2.0.0"
+
+strip-ansi@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f"
+ integrity sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==
+ dependencies:
+ ansi-regex "^3.0.0"
+
+strip-ansi@^5.0.0, strip-ansi@^5.1.0, strip-ansi@^5.2.0:
+ version "5.2.0"
+ resolved "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-5.2.0.tgz#8c9a536feb6afc962bdfa5b104a5091c1ad9c0ae"
+ integrity sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==
+ dependencies:
+ ansi-regex "^4.1.0"
+
+strip-ansi@^6.0.0, strip-ansi@^6.0.1:
+ version "6.0.1"
+ resolved "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
+ integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
+ dependencies:
+ ansi-regex "^5.0.1"
+
+strip-ansi@^7.0.1:
+ version "7.1.0"
+ resolved "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45"
+ integrity sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==
+ dependencies:
+ ansi-regex "^6.0.1"
+
+strip-ansi@~0.1.0:
+ version "0.1.1"
+ resolved "https://registry.npmmirror.com/strip-ansi/-/strip-ansi-0.1.1.tgz#39e8a98d044d150660abe4a6808acf70bb7bc991"
+ integrity sha512-behete+3uqxecWlDAm5lmskaSaISA+ThQ4oNNBDTBJt0x2ppR6IPqfZNuj6BLaLJ/Sji4TPZlcRyOis8wXQTLg==
+
+strip-bom@3.0.0, strip-bom@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmmirror.com/strip-bom/-/strip-bom-3.0.0.tgz#2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3"
+ integrity sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==
+
+strip-bom@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/strip-bom/-/strip-bom-2.0.0.tgz#6219a85616520491f35788bdbf1447a99c7e6b0e"
+ integrity sha512-kwrX1y7czp1E69n2ajbG65mIo9dqvJ+8aBQXOGVxqwvNbsXdFM6Lq37dLAY3mknUwru8CfcCbfOLL/gMo+fi3g==
+ dependencies:
+ is-utf8 "^0.2.0"
+
+strip-eof@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/strip-eof/-/strip-eof-1.0.0.tgz#bb43ff5598a6eb05d89b59fcd129c983313606bf"
+ integrity sha512-7FCwGGmx8mD5xQd3RPUvnSpUXHM3BWuzjtpD4TXsfcZ9EL4azvVVUscFYwD9nx8Kh+uCBC00XBtAykoMHwTh8Q==
+
+strip-indent@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/strip-indent/-/strip-indent-2.0.0.tgz#5ef8db295d01e6ed6cbf7aab96998d7822527b68"
+ integrity sha512-RsSNPLpq6YUL7QYy44RnPVTn/lcVZtb48Uof3X5JLbF4zD/Gs7ZFDv2HWol+leoQN2mT86LAzSshGfkTlSOpsA==
+
+strip-json-comments@^2.0.0, strip-json-comments@^2.0.1, strip-json-comments@~2.0.1:
+ version "2.0.1"
+ resolved "https://registry.npmmirror.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
+ integrity sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==
+
+stylehacks@^4.0.0:
+ version "4.0.3"
+ resolved "https://registry.npmmirror.com/stylehacks/-/stylehacks-4.0.3.tgz#6718fcaf4d1e07d8a1318690881e8d96726a71d5"
+ integrity sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==
+ dependencies:
+ browserslist "^4.0.0"
+ postcss "^7.0.0"
+ postcss-selector-parser "^3.0.0"
+
+supports-color@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/supports-color/-/supports-color-2.0.0.tgz#535d045ce6b6363fa40117084629995e9df324c7"
+ integrity sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==
+
+supports-color@^3.1.2, supports-color@^3.2.3:
+ version "3.2.3"
+ resolved "https://registry.npmmirror.com/supports-color/-/supports-color-3.2.3.tgz#65ac0504b3954171d8a64946b2ae3cbb8a5f54f6"
+ integrity sha512-Jds2VIYDrlp5ui7t8abHN2bjAu4LV/q4N2KivFPpGH0lrka0BMq/33AmECUXlKPcHigkNaqfXRENFju+rlcy+A==
+ dependencies:
+ has-flag "^1.0.0"
+
+supports-color@^4.0.0:
+ version "4.5.0"
+ resolved "https://registry.npmmirror.com/supports-color/-/supports-color-4.5.0.tgz#be7a0de484dec5c5cddf8b3d59125044912f635b"
+ integrity sha512-ycQR/UbvI9xIlEdQT1TQqwoXtEldExbCEAJgRo5YXlmSKjv6ThHnP9/vwGa1gr19Gfw+LkFd7KqYMhzrRC5JYw==
+ dependencies:
+ has-flag "^2.0.0"
+
+supports-color@^5.3.0, supports-color@^5.4.0:
+ version "5.5.0"
+ resolved "https://registry.npmmirror.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
+ integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
+ dependencies:
+ has-flag "^3.0.0"
+
+supports-color@^6.1.0:
+ version "6.1.0"
+ resolved "https://registry.npmmirror.com/supports-color/-/supports-color-6.1.0.tgz#0764abc69c63d5ac842dd4867e8d025e880df8f3"
+ integrity sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==
+ dependencies:
+ has-flag "^3.0.0"
+
+supports-color@^7.1.0:
+ version "7.2.0"
+ resolved "https://registry.npmmirror.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
+ integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
+ dependencies:
+ has-flag "^4.0.0"
+
+supports-preserve-symlinks-flag@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
+ integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
+
+svg-baker-runtime@^1.4.0:
+ version "1.4.7"
+ resolved "https://registry.npmmirror.com/svg-baker-runtime/-/svg-baker-runtime-1.4.7.tgz#f4720637f5b6202eef6378d81f1fead0815f8a4e"
+ integrity sha512-Zorfwwj5+lWjk/oxwSMsRdS2sPQQdTmmsvaSpzU+i9ZWi3zugHLt6VckWfnswphQP0LmOel3nggpF5nETbt6xw==
+ dependencies:
+ deepmerge "1.3.2"
+ mitt "1.1.2"
+ svg-baker "^1.7.0"
+
+svg-baker@^1.4.0, svg-baker@^1.7.0:
+ version "1.7.0"
+ resolved "https://registry.npmmirror.com/svg-baker/-/svg-baker-1.7.0.tgz#8367f78d875550c52fe4756f7303d5c5d7c2e9a7"
+ integrity sha512-nibslMbkXOIkqKVrfcncwha45f97fGuAOn1G99YwnwTj8kF9YiM6XexPcUso97NxOm6GsP0SIvYVIosBis1xLg==
+ dependencies:
+ bluebird "^3.5.0"
+ clone "^2.1.1"
+ he "^1.1.1"
+ image-size "^0.5.1"
+ loader-utils "^1.1.0"
+ merge-options "1.0.1"
+ micromatch "3.1.0"
+ postcss "^5.2.17"
+ postcss-prefix-selector "^1.6.0"
+ posthtml-rename-id "^1.0"
+ posthtml-svg-mode "^1.0.3"
+ query-string "^4.3.2"
+ traverse "^0.6.6"
+
+svg-sprite-loader@4.1.3:
+ version "4.1.3"
+ resolved "https://registry.npmmirror.com/svg-sprite-loader/-/svg-sprite-loader-4.1.3.tgz#d25cfa75a5c4e499f7b5282281db6eb3bda13fe0"
+ integrity sha512-lOLDSJoyriYnOeGYc7nhxTDYj2vfdBVKpxIS/XK70//kA3VB55H89T1lct2OEClY4w5kQLZJAvDGQ41g3YTogQ==
+ dependencies:
+ bluebird "^3.5.0"
+ deepmerge "1.3.2"
+ domready "1.0.8"
+ escape-string-regexp "1.0.5"
+ html-webpack-plugin "^3.2.0"
+ loader-utils "^1.1.0"
+ svg-baker "^1.4.0"
+ svg-baker-runtime "^1.4.0"
+ url-slug "2.0.0"
+
+svg-tags@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/svg-tags/-/svg-tags-1.0.0.tgz#58f71cee3bd519b59d4b2a843b6c7de64ac04764"
+ integrity sha512-ovssysQTa+luh7A5Weu3Rta6FJlFBBbInjOh722LIt6klpU2/HtdUbszju/G4devcvk8PGt7FCLv5wftu3THUA==
+
+svgo@1.2.0:
+ version "1.2.0"
+ resolved "https://registry.npmmirror.com/svgo/-/svgo-1.2.0.tgz#305a8fc0f4f9710828c65039bb93d5793225ffc3"
+ integrity sha512-xBfxJxfk4UeVN8asec9jNxHiv3UAMv/ujwBWGYvQhhMb2u3YTGKkiybPcLFDLq7GLLWE9wa73e0/m8L5nTzQbw==
+ dependencies:
+ 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.28"
+ css-url-regex "^1.1.0"
+ csso "^3.5.1"
+ js-yaml "^3.12.0"
+ 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"
+
+svgo@^1.0.0:
+ version "1.3.2"
+ resolved "https://registry.npmmirror.com/svgo/-/svgo-1.3.2.tgz#b6dc511c063346c9e415b81e43401145b96d4167"
+ integrity sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==
+ dependencies:
+ 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"
+
+swap-case@^1.1.0:
+ version "1.1.2"
+ resolved "https://registry.npmmirror.com/swap-case/-/swap-case-1.1.2.tgz#c39203a4587385fad3c850a0bd1bcafa081974e3"
+ integrity sha512-BAmWG6/bx8syfc6qXPprof3Mn5vQgf5dwdUNJhsNqU9WdPt5P+ES/wQ5bxfijy8zwZgZZHslC3iAsxsuQMCzJQ==
+ dependencies:
+ lower-case "^1.1.1"
+ upper-case "^1.1.1"
+
+swiper@^4.0.7:
+ version "4.5.1"
+ resolved "https://registry.npmmirror.com/swiper/-/swiper-4.5.1.tgz#ed43998e780ceb478610079c8d23fd425eca636f"
+ integrity sha512-se6I7PWWu950NAMXXT+ENtF/6SVb8mPyO+bTfNxbQBILSeLqsYp3Ndap+YOA0EczOIUlea274PKejT6gKZDseA==
+ dependencies:
+ dom7 "^2.1.3"
+ ssr-window "^1.0.1"
+
+symbol-observable@^1.1.0:
+ version "1.2.0"
+ resolved "https://registry.npmmirror.com/symbol-observable/-/symbol-observable-1.2.0.tgz#c22688aed4eab3cdc2dfeacbb561660560a00804"
+ integrity sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==
+
+symbol-tree@^3.2.2:
+ version "3.2.4"
+ resolved "https://registry.npmmirror.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2"
+ integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==
+
+synchronous-promise@^2.0.5:
+ version "2.0.17"
+ resolved "https://registry.npmmirror.com/synchronous-promise/-/synchronous-promise-2.0.17.tgz#38901319632f946c982152586f2caf8ddc25c032"
+ integrity sha512-AsS729u2RHUfEra9xJrE39peJcc2stq2+poBXX8bcM08Y6g9j/i/PUzwNQqkaJde7Ntg1TO7bSREbR5sdosQ+g==
+
+table@4.0.2:
+ version "4.0.2"
+ resolved "https://registry.npmmirror.com/table/-/table-4.0.2.tgz#a33447375391e766ad34d3486e6e2aedc84d2e36"
+ integrity sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==
+ dependencies:
+ 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"
+
+table@^5.2.3:
+ version "5.4.6"
+ resolved "https://registry.npmmirror.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e"
+ integrity sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==
+ dependencies:
+ ajv "^6.10.2"
+ lodash "^4.17.14"
+ slice-ansi "^2.1.0"
+ string-width "^3.0.0"
+
+tapable@^1.0.0, tapable@^1.1.0, tapable@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.npmmirror.com/tapable/-/tapable-1.1.3.tgz#a1fccc06b58db61fd7a45da2da44f5f3a3e67ba2"
+ integrity sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==
+
+terser-webpack-plugin@^1.1.0, terser-webpack-plugin@^1.2.2, terser-webpack-plugin@^1.4.3:
+ version "1.4.6"
+ resolved "https://registry.npmmirror.com/terser-webpack-plugin/-/terser-webpack-plugin-1.4.6.tgz#87fcb6593fd1c977cd09e56143ecd31404600755"
+ integrity sha512-2lBVf/VMVIddjSn3GqbT90GvIJ/eYXJkt8cTzU7NbjKqK8fwv18Ftr4PlbF46b/e88743iZFL5Dtr/rC4hjIeA==
+ dependencies:
+ cacache "^12.0.2"
+ find-cache-dir "^2.1.0"
+ is-wsl "^1.1.0"
+ schema-utils "^1.0.0"
+ serialize-javascript "^4.0.0"
+ source-map "^0.6.1"
+ terser "^4.1.2"
+ webpack-sources "^1.4.0"
+ worker-farm "^1.7.0"
+
+terser@^4.1.2:
+ version "4.8.1"
+ resolved "https://registry.npmmirror.com/terser/-/terser-4.8.1.tgz#a00e5634562de2239fd404c649051bf6fc21144f"
+ integrity sha512-4GnLC0x667eJG0ewJTa6z/yXrbLGv80D9Ru6HIpCQmO+Q4PfEtBFi0ObSckqwL6VyQv/7ENJieXHo2ANmdQwgw==
+ dependencies:
+ commander "^2.20.0"
+ source-map "~0.6.1"
+ source-map-support "~0.5.12"
+
+test-exclude@^4.2.1:
+ version "4.2.3"
+ resolved "https://registry.npmmirror.com/test-exclude/-/test-exclude-4.2.3.tgz#a9a5e64474e4398339245a0a769ad7c2f4a97c20"
+ integrity sha512-SYbXgY64PT+4GAL2ocI3HwPa4Q4TBKm0cwAVeKOt/Aoc0gSpNRjJX8w0pA1LMKZ3LBmd8pYBqApFNQLII9kavA==
+ dependencies:
+ arrify "^1.0.1"
+ micromatch "^2.3.11"
+ object-assign "^4.1.0"
+ read-pkg-up "^1.0.1"
+ require-main-filename "^1.0.1"
+
+text-table@^0.2.0, text-table@~0.2.0:
+ version "0.2.0"
+ resolved "https://registry.npmmirror.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
+ integrity sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==
+
+thread-loader@^2.1.2:
+ version "2.1.3"
+ resolved "https://registry.npmmirror.com/thread-loader/-/thread-loader-2.1.3.tgz#cbd2c139fc2b2de6e9d28f62286ab770c1acbdda"
+ integrity sha512-wNrVKH2Lcf8ZrWxDF/khdlLlsTMczdcwPA9VEK4c2exlEPynYWxi9op3nPTo5lAnDIkE0rQEB3VBP+4Zncc9Hg==
+ dependencies:
+ loader-runner "^2.3.1"
+ loader-utils "^1.1.0"
+ neo-async "^2.6.0"
+
+throat@^4.0.0:
+ version "4.1.0"
+ resolved "https://registry.npmmirror.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a"
+ integrity sha512-wCVxLDcFxw7ujDxaeJC6nfl2XfHJNYs8yUYJnvMgtPEFlttP9tHSfRUv2vBe6C4hkVFPWoP1P6ZccbYjmSEkKA==
+
+throttle-debounce@^1.0.1:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/throttle-debounce/-/throttle-debounce-1.1.0.tgz#51853da37be68a155cb6e827b3514a3c422e89cd"
+ integrity sha512-XH8UiPCQcWNuk2LYePibW/4qL97+ZQ1AN3FNXwZRBNPPowo/NRU5fAlDCSNBJIYCKbioZfuYtMhG4quqoJhVzg==
+
+throttle-debounce@^2.1.0:
+ version "2.3.0"
+ resolved "https://registry.npmmirror.com/throttle-debounce/-/throttle-debounce-2.3.0.tgz#fd31865e66502071e411817e241465b3e9c372e2"
+ integrity sha512-H7oLPV0P7+jgvrk+6mwwwBDmxTaxnu9HMXmloNLXwnNO0ZxZ31Orah2n8lU1eMPvsaowP2CX+USCgyovXfdOFQ==
+
+through2@^2.0.0:
+ version "2.0.5"
+ resolved "https://registry.npmmirror.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd"
+ integrity sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==
+ dependencies:
+ readable-stream "~2.3.6"
+ xtend "~4.0.1"
+
+through@^2.3.6:
+ version "2.3.8"
+ resolved "https://registry.npmmirror.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
+ integrity sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==
+
+thunky@^1.0.2:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/thunky/-/thunky-1.1.0.tgz#5abaf714a9405db0504732bbccd2cedd9ef9537d"
+ integrity sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==
+
+timers-browserify@^2.0.4:
+ version "2.0.12"
+ resolved "https://registry.npmmirror.com/timers-browserify/-/timers-browserify-2.0.12.tgz#44a45c11fbf407f34f97bccd1577c652361b00ee"
+ integrity sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==
+ dependencies:
+ setimmediate "^1.0.4"
+
+timsort@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.npmmirror.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4"
+ integrity sha512-qsdtZH+vMoCARQtyod4imc2nIJwg9Cc7lPRrw9CzF8ZKR0khdr8+2nX80PBhET3tcyTtJDxAffGh2rXH4tyU8A==
+
+tiny-emitter@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.npmmirror.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423"
+ integrity sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==
+
+title-case@^2.1.0:
+ version "2.1.1"
+ resolved "https://registry.npmmirror.com/title-case/-/title-case-2.1.1.tgz#3e127216da58d2bc5becf137ab91dae3a7cd8faa"
+ integrity sha512-EkJoZ2O3zdCz3zJsYCsxyq2OC5hrxR9mfdd5I+w8h/tmFfeOxJ+vvkxsKxdmN0WtS9zLdHEgfgVOiMVgv+Po4Q==
+ dependencies:
+ no-case "^2.2.0"
+ upper-case "^1.0.3"
+
+tmp@^0.0.33:
+ version "0.0.33"
+ resolved "https://registry.npmmirror.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"
+ integrity sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==
+ dependencies:
+ os-tmpdir "~1.0.2"
+
+tmpl@1.0.5:
+ version "1.0.5"
+ resolved "https://registry.npmmirror.com/tmpl/-/tmpl-1.0.5.tgz#8683e0b902bb9c20c4f726e3c0b69f36518c07cc"
+ integrity sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==
+
+to-arraybuffer@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz#7d229b1fcc637e466ca081180836a7aabff83f43"
+ integrity sha512-okFlQcoGTi4LQBG/PgSYblw9VOyptsz2KJZqc6qtgGdes8VktzUQkj4BI2blit072iS8VODNcMA+tvnS9dnuMA==
+
+to-buffer@^1.2.0:
+ version "1.2.1"
+ resolved "https://registry.npmmirror.com/to-buffer/-/to-buffer-1.2.1.tgz#2ce650cdb262e9112a18e65dc29dcb513c8155e0"
+ integrity sha512-tB82LpAIWjhLYbqjx3X4zEeHN6M8CiuOEy2JY8SEQVdYRe3CCHOFaqrBW1doLDrfpWhplcW7BL+bO3/6S3pcDQ==
+ dependencies:
+ isarray "^2.0.5"
+ safe-buffer "^5.2.1"
+ typed-array-buffer "^1.0.3"
+
+to-fast-properties@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.npmmirror.com/to-fast-properties/-/to-fast-properties-1.0.3.tgz#b83571fa4d8c25b82e231b06e3a3055de4ca1a47"
+ integrity sha512-lxrWP8ejsq+7E3nNjwYmUBMAgjMTZoTI+sdBOpvNyijeDLa29LUn9QaoXAHv4+Z578hbmHHJKZknzxVtvo77og==
+
+to-object-path@^0.3.0:
+ version "0.3.0"
+ resolved "https://registry.npmmirror.com/to-object-path/-/to-object-path-0.3.0.tgz#297588b7b0e7e0ac08e04e672f85c1f4999e17af"
+ integrity sha512-9mWHdnGRuh3onocaHzukyvCZhzvr6tiflAy/JRFXcJX0TjgfWA9pk9t8CMbzmBE4Jfw58pXbkngtBtqYxzNEyg==
+ dependencies:
+ kind-of "^3.0.2"
+
+to-readable-stream@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/to-readable-stream/-/to-readable-stream-1.0.0.tgz#ce0aa0c2f3df6adf852efb404a783e77c0475771"
+ integrity sha512-Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==
+
+to-regex-range@^2.1.0:
+ version "2.1.1"
+ resolved "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-2.1.1.tgz#7c80c17b9dfebe599e27367e0d4dd5590141db38"
+ integrity sha512-ZZWNfCjUokXXDGXFpZehJIkZqq91BcULFq/Pi7M5i4JnxXdhMKAK682z8bCW3o8Hj1wuuzoKcW3DfVzaP6VuNg==
+ dependencies:
+ is-number "^3.0.0"
+ repeat-string "^1.6.1"
+
+to-regex-range@^5.0.1:
+ version "5.0.1"
+ resolved "https://registry.npmmirror.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
+ integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
+ dependencies:
+ is-number "^7.0.0"
+
+to-regex@^3.0.1, to-regex@^3.0.2:
+ version "3.0.2"
+ resolved "https://registry.npmmirror.com/to-regex/-/to-regex-3.0.2.tgz#13cfdd9b336552f30b51f33a8ae1b42a7a7599ce"
+ integrity sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==
+ dependencies:
+ define-property "^2.0.2"
+ extend-shallow "^3.0.2"
+ regex-not "^1.0.2"
+ safe-regex "^1.1.0"
+
+toidentifier@1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35"
+ integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==
+
+toposort@^1.0.0:
+ version "1.0.7"
+ resolved "https://registry.npmmirror.com/toposort/-/toposort-1.0.7.tgz#2e68442d9f64ec720b8cc89e6443ac6caa950029"
+ integrity sha512-FclLrw8b9bMWf4QlCJuHBEVhSRsqDj6u3nIjAzPeJvgl//1hBlffdlk0MALceL14+koWEdU4ofRAXofbODxQzg==
+
+toposort@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.npmmirror.com/toposort/-/toposort-2.0.2.tgz#ae21768175d1559d48bef35420b2f4962f09c330"
+ integrity sha512-0a5EOkAUp8D4moMi2W8ZF8jcga7BgZd91O/yabJCFY8az+XSzeGyTKs0Aoo897iV1Nj6guFq8orWDS96z91oGg==
+
+tough-cookie@^2.3.3, tough-cookie@^2.3.4, tough-cookie@~2.5.0:
+ version "2.5.0"
+ resolved "https://registry.npmmirror.com/tough-cookie/-/tough-cookie-2.5.0.tgz#cd9fb2a0aa1d5a12b473bd9fb96fa3dcff65ade2"
+ integrity sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==
+ dependencies:
+ psl "^1.1.28"
+ punycode "^2.1.1"
+
+tr46@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/tr46/-/tr46-1.0.1.tgz#a8b13fd6bfd2489519674ccde55ba3693b706d09"
+ integrity sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==
+ dependencies:
+ punycode "^2.1.0"
+
+traverse@^0.6.6:
+ version "0.6.11"
+ resolved "https://registry.npmmirror.com/traverse/-/traverse-0.6.11.tgz#e8daa071b101ae66767fffa6f177aa6f7110068e"
+ integrity sha512-vxXDZg8/+p3gblxB6BhhG5yWVn1kGRlaL8O78UDXc3wRnPizB5g83dcvWV1jpDMIPnjZjOFuxlMmE82XJ4407w==
+ dependencies:
+ gopd "^1.2.0"
+ typedarray.prototype.slice "^1.0.5"
+ which-typed-array "^1.1.18"
+
+trim-right@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/trim-right/-/trim-right-1.0.1.tgz#cb2e1203067e0c8de1f614094b9fe45704ea6003"
+ integrity sha512-WZGXGstmCWgeevgTL54hrCuw1dyMQIzWy7ZfqRJfSmJZBwklI15egmQytFP6bPidmw3M8d5yEowl1niq4vmqZw==
+
+tryer@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/tryer/-/tryer-1.0.1.tgz#f2c85406800b9b0f74c9f7465b81eaad241252f8"
+ integrity sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==
+
+tsconfig@^7.0.0:
+ version "7.0.0"
+ resolved "https://registry.npmmirror.com/tsconfig/-/tsconfig-7.0.0.tgz#84538875a4dc216e5c4a5432b3a4dec3d54e91b7"
+ integrity sha512-vZXmzPrL+EmC4T/4rVlT2jNVMWCi/O4DIiSj3UHg1OE5kCKbk4mfrXc6dZksLgRM/TZlKnousKH9bbTazUWRRw==
+ dependencies:
+ "@types/strip-bom" "^3.0.0"
+ "@types/strip-json-comments" "0.0.30"
+ strip-bom "^3.0.0"
+ strip-json-comments "^2.0.0"
+
+tslib@^1.9.0:
+ version "1.14.1"
+ resolved "https://registry.npmmirror.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
+ integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
+
+tty-browserify@0.0.0:
+ version "0.0.0"
+ resolved "https://registry.npmmirror.com/tty-browserify/-/tty-browserify-0.0.0.tgz#a157ba402da24e9bf957f9aa69d524eed42901a6"
+ integrity sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==
+
+tunnel-agent@^0.6.0:
+ version "0.6.0"
+ resolved "https://registry.npmmirror.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
+ integrity sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==
+ dependencies:
+ safe-buffer "^5.0.1"
+
+tweetnacl@^0.14.3, tweetnacl@~0.14.0:
+ version "0.14.5"
+ resolved "https://registry.npmmirror.com/tweetnacl/-/tweetnacl-0.14.5.tgz#5ae68177f192d4456269d108afa93ff8743f4f64"
+ integrity sha512-KXXFFdAbFXY4geFIwoyNK+f5Z1b7swfXABfL7HXCmoIWMKU3dmS26672A4EeQtDzLKy7SXmfBu51JolvEKwtGA==
+
+type-check@~0.3.2:
+ version "0.3.2"
+ resolved "https://registry.npmmirror.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
+ integrity sha512-ZCmOJdvOWDBYJlzAoFkC+Q0+bUyEOS1ltgp1MGU03fqHG+dbi9tBFU2Rd9QKiDZFAYrhPh2JUf7rZRIuHRKtOg==
+ dependencies:
+ prelude-ls "~1.1.2"
+
+type-is@~1.6.18:
+ version "1.6.18"
+ resolved "https://registry.npmmirror.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"
+ integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==
+ dependencies:
+ media-typer "0.3.0"
+ mime-types "~2.1.24"
+
+typed-array-buffer@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.npmmirror.com/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz#a72395450a4869ec033fd549371b47af3a2ee536"
+ integrity sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==
+ dependencies:
+ call-bound "^1.0.3"
+ es-errors "^1.3.0"
+ is-typed-array "^1.1.14"
+
+typed-array-byte-length@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.npmmirror.com/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz#8407a04f7d78684f3d252aa1a143d2b77b4160ce"
+ integrity sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==
+ dependencies:
+ call-bind "^1.0.8"
+ for-each "^0.3.3"
+ gopd "^1.2.0"
+ has-proto "^1.2.0"
+ is-typed-array "^1.1.14"
+
+typed-array-byte-offset@^1.0.4:
+ version "1.0.4"
+ resolved "https://registry.npmmirror.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz#ae3698b8ec91a8ab945016108aef00d5bff12355"
+ integrity sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==
+ dependencies:
+ available-typed-arrays "^1.0.7"
+ call-bind "^1.0.8"
+ for-each "^0.3.3"
+ gopd "^1.2.0"
+ has-proto "^1.2.0"
+ is-typed-array "^1.1.15"
+ reflect.getprototypeof "^1.0.9"
+
+typed-array-length@^1.0.7:
+ version "1.0.7"
+ resolved "https://registry.npmmirror.com/typed-array-length/-/typed-array-length-1.0.7.tgz#ee4deff984b64be1e118b0de8c9c877d5ce73d3d"
+ integrity sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==
+ dependencies:
+ call-bind "^1.0.7"
+ for-each "^0.3.3"
+ gopd "^1.0.1"
+ is-typed-array "^1.1.13"
+ possible-typed-array-names "^1.0.0"
+ reflect.getprototypeof "^1.0.6"
+
+typedarray.prototype.slice@^1.0.5:
+ version "1.0.5"
+ resolved "https://registry.npmmirror.com/typedarray.prototype.slice/-/typedarray.prototype.slice-1.0.5.tgz#a40f896968573b33cbb466a61622d3ee615a0728"
+ integrity sha512-q7QNVDGTdl702bVFiI5eY4l/HkgCM6at9KhcFbgUAzezHFbOVy4+0O/lCjsABEQwbZPravVfBIiBVGo89yzHFg==
+ dependencies:
+ call-bind "^1.0.8"
+ define-properties "^1.2.1"
+ es-abstract "^1.23.9"
+ es-errors "^1.3.0"
+ get-proto "^1.0.1"
+ math-intrinsics "^1.1.0"
+ typed-array-buffer "^1.0.3"
+ typed-array-byte-offset "^1.0.4"
+
+typedarray@^0.0.6:
+ version "0.0.6"
+ resolved "https://registry.npmmirror.com/typedarray/-/typedarray-0.0.6.tgz#867ac74e3864187b1d3d47d996a78ec5c8830777"
+ integrity sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==
+
+uglify-js@3.4.x:
+ version "3.4.10"
+ resolved "https://registry.npmmirror.com/uglify-js/-/uglify-js-3.4.10.tgz#9ad9563d8eb3acdfb8d38597d2af1d815f6a755f"
+ integrity sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==
+ dependencies:
+ commander "~2.19.0"
+ source-map "~0.6.1"
+
+uglify-js@^3.1.4:
+ version "3.19.3"
+ resolved "https://registry.npmmirror.com/uglify-js/-/uglify-js-3.19.3.tgz#82315e9bbc6f2b25888858acd1fff8441035b77f"
+ integrity sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==
+
+unbox-primitive@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.npmmirror.com/unbox-primitive/-/unbox-primitive-1.1.0.tgz#8d9d2c9edeea8460c7f35033a88867944934d1e2"
+ integrity sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==
+ dependencies:
+ call-bound "^1.0.3"
+ has-bigints "^1.0.2"
+ has-symbols "^1.1.0"
+ which-boxed-primitive "^1.1.1"
+
+unc-path-regex@^0.1.2:
+ version "0.1.2"
+ resolved "https://registry.npmmirror.com/unc-path-regex/-/unc-path-regex-0.1.2.tgz#e73dd3d7b0d7c5ed86fbac6b0ae7d8c6a69d50fa"
+ integrity sha512-eXL4nmJT7oCpkZsHZUOJo8hcX3GbsiDOa0Qu9F646fi8dT3XuSVopVqAcEiVzSKKH7UoDti23wNX3qGFxcW5Qg==
+
+underscore@~1.6.0:
+ version "1.6.0"
+ resolved "https://registry.npmmirror.com/underscore/-/underscore-1.6.0.tgz#8b38b10cacdef63337b8b24e4ff86d45aea529a8"
+ integrity sha512-z4o1fvKUojIWh9XuaVLUDdf86RQiq13AC1dmHbTpoyuu+bquHms76v16CjycCbec87J7z0k//SiQVk0sMdFmpQ==
+
+undici-types@~7.8.0:
+ version "7.8.0"
+ resolved "https://registry.npmmirror.com/undici-types/-/undici-types-7.8.0.tgz#de00b85b710c54122e44fbfd911f8d70174cd294"
+ integrity sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==
+
+unicode-canonical-property-names-ecmascript@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.npmmirror.com/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz#cb3173fe47ca743e228216e4a3ddc4c84d628cc2"
+ integrity sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg==
+
+unicode-match-property-ecmascript@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz#54fd16e0ecb167cf04cf1f756bdcc92eba7976c3"
+ integrity sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==
+ dependencies:
+ unicode-canonical-property-names-ecmascript "^2.0.0"
+ unicode-property-aliases-ecmascript "^2.0.0"
+
+unicode-match-property-value-ecmascript@^2.1.0:
+ version "2.2.0"
+ resolved "https://registry.npmmirror.com/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz#a0401aee72714598f739b68b104e4fe3a0cb3c71"
+ integrity sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg==
+
+unicode-property-aliases-ecmascript@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.npmmirror.com/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz#43d41e3be698bd493ef911077c9b131f827e8ccd"
+ integrity sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==
+
+unidecode@0.1.8:
+ version "0.1.8"
+ resolved "https://registry.npmmirror.com/unidecode/-/unidecode-0.1.8.tgz#efbb301538bc45246a9ac8c559d72f015305053e"
+ integrity sha512-SdoZNxCWpN2tXTCrGkPF/0rL2HEq+i2gwRG1ReBvx8/0yTzC3enHfugOf8A9JBShVwwrRIkLX0YcDUGbzjbVCA==
+
+union-value@^1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/union-value/-/union-value-1.0.1.tgz#0b6fe7b835aecda61c6ea4d4f02c14221e109847"
+ integrity sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==
+ dependencies:
+ arr-union "^3.1.0"
+ get-value "^2.0.6"
+ is-extendable "^0.1.1"
+ set-value "^2.0.1"
+
+uniq@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/uniq/-/uniq-1.0.1.tgz#b31c5ae8254844a3a8281541ce2b04b865a734ff"
+ integrity sha512-Gw+zz50YNKPDKXs+9d+aKAjVwpjNwqzvNpLigIruT4HA9lMZNdMqs9x07kKHB/L9WRzqp4+DlTU5s4wG2esdoA==
+
+uniqs@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/uniqs/-/uniqs-2.0.0.tgz#ffede4b36b25290696e6e165d4a59edb998e6b02"
+ integrity sha512-mZdDpf3vBV5Efh29kMw5tXoup/buMgxLzOt/XKFKcVmi+15ManNQWr6HfZ2aiZTYlYixbdNJ0KFmIZIv52tHSQ==
+
+unique-filename@^1.1.0, unique-filename@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npmmirror.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230"
+ integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==
+ dependencies:
+ unique-slug "^2.0.0"
+
+unique-slug@^2.0.0:
+ version "2.0.2"
+ resolved "https://registry.npmmirror.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c"
+ integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==
+ dependencies:
+ imurmurhash "^0.1.4"
+
+universalify@^0.1.0:
+ version "0.1.2"
+ resolved "https://registry.npmmirror.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66"
+ integrity sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==
+
+unpipe@1.0.0, unpipe@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
+ integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==
+
+unquote@~1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npmmirror.com/unquote/-/unquote-1.1.1.tgz#8fded7324ec6e88a0ff8b905e7c098cdc086d544"
+ integrity sha512-vRCqFv6UhXpWxZPyGDh/F3ZpNv8/qo7w6iufLpQg9aKnQ71qM4B5KiI7Mia9COcjEhrO9LueHpMYjYzsWH3OIg==
+
+unset-value@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/unset-value/-/unset-value-1.0.0.tgz#8376873f7d2335179ffb1e6fc3a8ed0dfc8ab559"
+ integrity sha512-PcA2tsuGSF9cnySLHTLSh2qrQiJ70mn+r+Glzxv2TWZblxsxCC52BDlZoPCsz7STd9pN7EZetkWZBAvk4cgZdQ==
+ dependencies:
+ has-value "^0.3.1"
+ isobject "^3.0.0"
+
+upath@^1.1.1:
+ version "1.2.0"
+ resolved "https://registry.npmmirror.com/upath/-/upath-1.2.0.tgz#8f66dbcd55a883acdae4408af8b035a5044c1894"
+ integrity sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==
+
+update-browserslist-db@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.npmmirror.com/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz#348377dd245216f9e7060ff50b15a1b740b75420"
+ integrity sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==
+ dependencies:
+ escalade "^3.2.0"
+ picocolors "^1.1.1"
+
+upper-case-first@^1.1.0, upper-case-first@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.npmmirror.com/upper-case-first/-/upper-case-first-1.1.2.tgz#5d79bedcff14419518fd2edb0a0507c9b6859115"
+ integrity sha512-wINKYvI3Db8dtjikdAqoBbZoP6Q+PZUyfMR7pmwHzjC2quzSkUq5DmPrTtPEqHaz8AGtmsB4TqwapMTM1QAQOQ==
+ dependencies:
+ upper-case "^1.1.1"
+
+upper-case@^1.0.3, upper-case@^1.1.0, upper-case@^1.1.1, upper-case@^1.1.3:
+ version "1.1.3"
+ resolved "https://registry.npmmirror.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598"
+ integrity sha512-WRbjgmYzgXkCV7zNVpy5YgrHgbBv126rMALQQMrmzOVC4GM2waQ9x7xtm8VU+1yF2kWyPzI9zbZ48n4vSxwfSA==
+
+uri-js@^4.2.2:
+ version "4.4.1"
+ resolved "https://registry.npmmirror.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
+ integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==
+ dependencies:
+ punycode "^2.1.0"
+
+urix@^0.1.0:
+ version "0.1.0"
+ resolved "https://registry.npmmirror.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72"
+ integrity sha512-Am1ousAhSLBeB9cG/7k7r2R0zj50uDRlZHPGbazid5s9rlF1F/QKYObEKSIunSjIOkJZqwRRLpvewjEkM7pSqg==
+
+url-loader@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.npmmirror.com/url-loader/-/url-loader-1.1.2.tgz#b971d191b83af693c5e3fea4064be9e1f2d7f8d8"
+ integrity sha512-dXHkKmw8FhPqu8asTc1puBfe3TehOCo2+RmOOev5suNCIYBcT626kxiWg1NBVkwc4rO8BGa7gP70W7VXuqHrjg==
+ dependencies:
+ loader-utils "^1.1.0"
+ mime "^2.0.3"
+ schema-utils "^1.0.0"
+
+url-parse-lax@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmmirror.com/url-parse-lax/-/url-parse-lax-3.0.0.tgz#16b5cafc07dbe3676c1b1999177823d6503acb0c"
+ integrity sha512-NjFKA0DidqPa5ciFcSrXnAltTtzz84ogy+NebPvfEgAck0+TNg4UJ4IN+fB7zRZfbgUf0syOo9MDxFkDSMuFaQ==
+ dependencies:
+ prepend-http "^2.0.0"
+
+url-parse@^1.5.10:
+ version "1.5.10"
+ resolved "https://registry.npmmirror.com/url-parse/-/url-parse-1.5.10.tgz#9d3c2f736c1d75dd3bd2be507dcc111f1e2ea9c1"
+ integrity sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==
+ dependencies:
+ querystringify "^2.1.1"
+ requires-port "^1.0.0"
+
+url-slug@2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/url-slug/-/url-slug-2.0.0.tgz#a789d5aed4995c0d95af33377ad1d5c68d4d7027"
+ integrity sha512-aiNmSsVgrjCiJ2+KWPferjT46YFKoE8i0YX04BlMVDue022Xwhg/zYlnZ6V9/mP3p8Wj7LEp0myiTkC/p6sxew==
+ dependencies:
+ unidecode "0.1.8"
+
+url@^0.11.0:
+ version "0.11.4"
+ resolved "https://registry.npmmirror.com/url/-/url-0.11.4.tgz#adca77b3562d56b72746e76b330b7f27b6721f3c"
+ integrity sha512-oCwdVC7mTuWiPyjLUz/COz5TLk6wgp0RCsN+wHZ2Ekneac9w8uuV0njcbbie2ME+Vs+d6duwmYuR3HgQXs1fOg==
+ dependencies:
+ punycode "^1.4.1"
+ qs "^6.12.3"
+
+use@^3.1.0:
+ version "3.1.1"
+ resolved "https://registry.npmmirror.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f"
+ integrity sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==
+
+user-home@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npmmirror.com/user-home/-/user-home-1.1.1.tgz#2b5be23a32b63a7c9deb8d0f28d485724a3df190"
+ integrity sha512-aggiKfEEubv3UwRNqTzLInZpAOmKzwdHqEBmW/hBA/mt99eg+b4VrX6i+IRLxU8+WJYfa33rGwRseg4eElUgsQ==
+
+util-deprecate@^1.0.1, util-deprecate@^1.0.2, util-deprecate@~1.0.1:
+ version "1.0.2"
+ resolved "https://registry.npmmirror.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
+ integrity sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==
+
+util.promisify@1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030"
+ integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==
+ dependencies:
+ define-properties "^1.1.2"
+ object.getownpropertydescriptors "^2.0.3"
+
+util.promisify@^1.0.0:
+ version "1.1.3"
+ resolved "https://registry.npmmirror.com/util.promisify/-/util.promisify-1.1.3.tgz#3d77cf56628b4aad743e5acde8e5c44cea7dbf1c"
+ integrity sha512-GIEaZ6o86fj09Wtf0VfZ5XP7tmd4t3jM5aZCgmBi231D0DB1AEBa3Aa6MP48DMsAIi96WkpWLimIWVwOjbDMOw==
+ dependencies:
+ call-bind "^1.0.8"
+ call-bound "^1.0.3"
+ define-data-property "^1.1.4"
+ define-properties "^1.2.1"
+ es-errors "^1.3.0"
+ es-object-atoms "^1.0.0"
+ for-each "^0.3.3"
+ get-intrinsic "^1.2.6"
+ has-proto "^1.2.0"
+ has-symbols "^1.1.0"
+ object.getownpropertydescriptors "^2.1.8"
+ safe-array-concat "^1.1.3"
+
+util.promisify@~1.0.0:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee"
+ integrity sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==
+ dependencies:
+ define-properties "^1.1.3"
+ es-abstract "^1.17.2"
+ has-symbols "^1.0.1"
+ object.getownpropertydescriptors "^2.1.0"
+
+util@^0.10.4:
+ version "0.10.4"
+ resolved "https://registry.npmmirror.com/util/-/util-0.10.4.tgz#3aa0125bfe668a4672de58857d3ace27ecb76901"
+ integrity sha512-0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==
+ dependencies:
+ inherits "2.0.3"
+
+util@^0.11.0:
+ version "0.11.1"
+ resolved "https://registry.npmmirror.com/util/-/util-0.11.1.tgz#3236733720ec64bb27f6e26f421aaa2e1b588d61"
+ integrity sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==
+ dependencies:
+ inherits "2.0.3"
+
+utila@~0.4:
+ version "0.4.0"
+ resolved "https://registry.npmmirror.com/utila/-/utila-0.4.0.tgz#8a16a05d445657a3aea5eecc5b12a4fa5379772c"
+ integrity sha512-Z0DbgELS9/L/75wZbro8xAnT50pBVFQZ+hUEueGDU5FN51YSCYM+jdxsfCiHjwNP/4LCDD0i/graKpeBnOXKRA==
+
+utils-merge@1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
+ integrity sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==
+
+uuid@^3.3.2:
+ version "3.4.0"
+ resolved "https://registry.npmmirror.com/uuid/-/uuid-3.4.0.tgz#b23e4358afa8a202fe7a100af1f5f883f02007ee"
+ integrity sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==
+
+uuid@^8.3.2:
+ version "8.3.2"
+ resolved "https://registry.npmmirror.com/uuid/-/uuid-8.3.2.tgz#80d5b5ced271bb9af6c445f21a1a04c606cefbe2"
+ integrity sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==
+
+v8flags@^2.0.10:
+ version "2.1.1"
+ resolved "https://registry.npmmirror.com/v8flags/-/v8flags-2.1.1.tgz#aab1a1fa30d45f88dd321148875ac02c0b55e5b4"
+ integrity sha512-SKfhk/LlaXzvtowJabLZwD4K6SGRYeoxA7KJeISlUMAB/NT4CBkZjMq3WceX2Ckm4llwqYVo8TICgsDYCBU2tA==
+ dependencies:
+ user-home "^1.1.1"
+
+validate-npm-package-license@^3.0.1:
+ version "3.0.4"
+ resolved "https://registry.npmmirror.com/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz#fc91f6b9c7ba15c857f4cb2c5defeec39d4f410a"
+ integrity sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==
+ dependencies:
+ spdx-correct "^3.0.0"
+ spdx-expression-parse "^3.0.0"
+
+vary@~1.1.2:
+ version "1.1.2"
+ resolved "https://registry.npmmirror.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
+ integrity sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==
+
+vconsole@^3.15.1:
+ version "3.15.1"
+ resolved "https://registry.npmmirror.com/vconsole/-/vconsole-3.15.1.tgz#569a8ab15f353259527bbcf004f02946b4482cff"
+ integrity sha512-KH8XLdrq9T5YHJO/ixrjivHfmF2PC2CdVoK6RWZB4yftMykYIaXY1mxZYAic70vADM54kpMQF+dYmvl5NRNy1g==
+ dependencies:
+ "@babel/runtime" "^7.17.2"
+ copy-text-to-clipboard "^3.0.1"
+ core-js "^3.11.0"
+ mutation-observer "^1.0.3"
+
+vendors@^1.0.0:
+ version "1.0.4"
+ resolved "https://registry.npmmirror.com/vendors/-/vendors-1.0.4.tgz#e2b800a53e7a29b93506c3cf41100d16c4c4ad8e"
+ integrity sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==
+
+verror@1.10.0:
+ version "1.10.0"
+ resolved "https://registry.npmmirror.com/verror/-/verror-1.10.0.tgz#3a105ca17053af55d6e270c1f8288682e18da400"
+ integrity sha512-ZZKSmDAEFOijERBLkmYfJ+vmk3w+7hOLYDNkRCuRuMJGEmqYNCNLyBBFwWKVMhfwaEF3WOd0Zlw86U/WC/+nYw==
+ dependencies:
+ assert-plus "^1.0.0"
+ core-util-is "1.0.2"
+ extsprintf "^1.2.0"
+
+vm-browserify@^1.0.1:
+ version "1.1.2"
+ resolved "https://registry.npmmirror.com/vm-browserify/-/vm-browserify-1.1.2.tgz#78641c488b8e6ca91a75f511e7a3b32a86e5dda0"
+ integrity sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==
+
+vue-awesome-swiper@^3.1.3:
+ version "3.1.3"
+ resolved "https://registry.npmmirror.com/vue-awesome-swiper/-/vue-awesome-swiper-3.1.3.tgz#05500b501ffb3fec9bf7eb9985bcf4ae8360ed9e"
+ integrity sha512-E7suzkyApO8vNZbgdEnjSmnpsmQZyRvSVXJ7sey3XYwKPOkLhH3+GnHroBw+5PZIQXvWBwdCeQsPG1xQ1r1Rhg==
+ dependencies:
+ object-assign "^4.1.1"
+ swiper "^4.0.7"
+
+vue-echarts@^4.0.3:
+ version "4.1.0"
+ resolved "https://registry.npmmirror.com/vue-echarts/-/vue-echarts-4.1.0.tgz#ff4828aaa599e7aaaac95e35297d964192a3af0d"
+ integrity sha512-am2vsAjEYGz3JqqMaSqIR35HIxr/TjxYPoKWTorgi10rzwl7+f+uBvpj7AkCJ6HVL8zR3exYpyo881aG+24Rfg==
+ dependencies:
+ lodash "^4.17.15"
+ resize-detector "^0.1.10"
+
+vue-eslint-parser@^2.0.3:
+ version "2.0.3"
+ resolved "https://registry.npmmirror.com/vue-eslint-parser/-/vue-eslint-parser-2.0.3.tgz#c268c96c6d94cfe3d938a5f7593959b0ca3360d1"
+ integrity sha512-ZezcU71Owm84xVF6gfurBQUGg8WQ+WZGxgDEQu1IHFBZNx7BFZg3L1yHxrCBNNwbwFtE1GuvfJKMtb6Xuwc/Bw==
+ dependencies:
+ 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"
+
+vue-eslint-parser@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.npmmirror.com/vue-eslint-parser/-/vue-eslint-parser-5.0.0.tgz#00f4e4da94ec974b821a26ff0ed0f7a78402b8a1"
+ integrity sha512-JlHVZwBBTNVvzmifwjpZYn0oPWH2SgWv5dojlZBsrhablDu95VFD+hriB1rQGwbD+bms6g+rAFhQHk6+NyiS6g==
+ dependencies:
+ 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"
+
+vue-hot-reload-api@^2.3.0:
+ version "2.3.4"
+ resolved "https://registry.npmmirror.com/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz#532955cc1eb208a3d990b3a9f9a70574657e08f2"
+ integrity sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==
+
+vue-jest@^3.0.3:
+ version "3.0.7"
+ resolved "https://registry.npmmirror.com/vue-jest/-/vue-jest-3.0.7.tgz#a6d29758a5cb4d750f5d1242212be39be4296a33"
+ integrity sha512-PIOxFM+wsBMry26ZpfBvUQ/DGH2hvp5khDQ1n51g3bN0TwFwTy4J85XVfxTRMukqHji/GnAoGUnlZ5Ao73K62w==
+ dependencies:
+ babel-plugin-transform-es2015-modules-commonjs "^6.26.0"
+ chalk "^2.1.0"
+ deasync "^0.1.15"
+ extract-from-css "^0.4.4"
+ find-babel-config "^1.1.0"
+ js-beautify "^1.6.14"
+ node-cache "^4.1.1"
+ object-assign "^4.1.1"
+ source-map "^0.5.6"
+ tsconfig "^7.0.0"
+ vue-template-es2015-compiler "^1.6.0"
+
+vue-lazyload@^1.3.3:
+ version "1.3.5"
+ resolved "https://registry.npmmirror.com/vue-lazyload/-/vue-lazyload-1.3.5.tgz#eb36d299a519167d987fdf0ebfdc9c6dd1bf1ef0"
+ integrity sha512-SCO/LWgCCbjaregHO4wg2buzITBdPBZRlIS104vERGpT88uxXsK26veuzZpgGAXMR8WpkaR+JDqz80OedpaLiA==
+
+vue-loader@^15.6.4:
+ version "15.11.1"
+ resolved "https://registry.npmmirror.com/vue-loader/-/vue-loader-15.11.1.tgz#dee91169211276ed43c5715caef88a56b1f497b0"
+ integrity sha512-0iw4VchYLePqJfJu9s62ACWUXeSqM30SQqlIftbYWM3C+jpPcEHKSPUZBLjSF9au4HTHQ/naF6OGnO3Q/qGR3Q==
+ dependencies:
+ "@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-router@3.0.2:
+ version "3.0.2"
+ resolved "https://registry.npmmirror.com/vue-router/-/vue-router-3.0.2.tgz#dedc67afe6c4e2bc25682c8b1c2a8c0d7c7e56be"
+ integrity sha512-opKtsxjp9eOcFWdp6xLQPLmRGgfM932Tl56U9chYTnoWqKxQ8M20N7AkdEbM5beUh6wICoFGYugAX9vQjyJLFg==
+
+vue-style-loader@^4.1.0:
+ version "4.1.3"
+ resolved "https://registry.npmmirror.com/vue-style-loader/-/vue-style-loader-4.1.3.tgz#6d55863a51fa757ab24e89d9371465072aa7bc35"
+ integrity sha512-sFuh0xfbtpRlKfm39ss/ikqs9AbKCoXZBpHeVZ8Tx650o0k0q/YCM7FRvigtxpACezfq6af+a7JeqVTWvncqDg==
+ dependencies:
+ hash-sum "^1.0.2"
+ loader-utils "^1.0.2"
+
+vue-template-compiler@2.6.10:
+ version "2.6.10"
+ resolved "https://registry.npmmirror.com/vue-template-compiler/-/vue-template-compiler-2.6.10.tgz#323b4f3495f04faa3503337a82f5d6507799c9cc"
+ integrity sha512-jVZkw4/I/HT5ZMvRnhv78okGusqe0+qH2A0Em0Cp8aq78+NK9TII263CDVz2QXZsIT+yyV/gZc/j/vlwa+Epyg==
+ dependencies:
+ de-indent "^1.0.2"
+ he "^1.1.0"
+
+vue-template-es2015-compiler@^1.6.0, vue-template-es2015-compiler@^1.9.0:
+ version "1.9.1"
+ resolved "https://registry.npmmirror.com/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz#1ee3bc9a16ecbf5118be334bb15f9c46f82f5825"
+ integrity sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==
+
+vue-ydui@^1.2.6:
+ version "1.2.6"
+ resolved "https://registry.npmmirror.com/vue-ydui/-/vue-ydui-1.2.6.tgz#190648b46723917004a4c24a7befd3cd69d64355"
+ integrity sha512-4zEcyvGj9OWK1bbCepQK5cuJclN0T/GkoKO58mQuGUeKH5bES/WDaBkonw4TVwZcvxlFKMz9MLwaQEJUzcJwIg==
+
+vue@2.6.10:
+ version "2.6.10"
+ resolved "https://registry.npmmirror.com/vue/-/vue-2.6.10.tgz#a72b1a42a4d82a721ea438d1b6bf55e66195c637"
+ integrity sha512-ImThpeNU9HbdZL3utgMCq0oiMzAkt1mcgy3/E6zWC/G6AaQoeuFdsl9nDhTDU3X1R6FK7nsIUuRACVcjI+A2GQ==
+
+vue@^2.6.10:
+ version "2.7.16"
+ resolved "https://registry.npmmirror.com/vue/-/vue-2.7.16.tgz#98c60de9def99c0e3da8dae59b304ead43b967c9"
+ integrity sha512-4gCtFXaAA3zYZdTp5s4Hl2sozuySsgz4jy1EnpBHNfpMa9dK1ZCG7viqBPCwXtmgc8nHqUsAu3G4gtmXkkY3Sw==
+ dependencies:
+ "@vue/compiler-sfc" "2.7.16"
+ csstype "^3.1.0"
+
+vuedraggable@^2.20.0:
+ version "2.24.3"
+ resolved "https://registry.npmmirror.com/vuedraggable/-/vuedraggable-2.24.3.tgz#43c93849b746a24ce503e123d5b259c701ba0d19"
+ integrity sha512-6/HDXi92GzB+Hcs9fC6PAAozK1RLt1ewPTLjK0anTYguXLAeySDmcnqE8IC0xa7shvSzRjQXq3/+dsZ7ETGF3g==
+ dependencies:
+ sortablejs "1.10.2"
+
+vuex@3.1.0:
+ version "3.1.0"
+ resolved "https://registry.npmmirror.com/vuex/-/vuex-3.1.0.tgz#634b81515cf0cfe976bd1ffe9601755e51f843b9"
+ integrity sha512-mdHeHT/7u4BncpUZMlxNaIdcN/HIt1GsGG5LKByArvYG/v6DvHcOxvDCts+7SRdCoIRGllK8IMZvQtQXLppDYg==
+
+w3c-hr-time@^1.0.1:
+ version "1.0.2"
+ resolved "https://registry.npmmirror.com/w3c-hr-time/-/w3c-hr-time-1.0.2.tgz#0a89cdf5cc15822df9c360543676963e0cc308cd"
+ integrity sha512-z8P5DvDNjKDoFIHK7q8r8lackT6l+jo/Ye3HOle7l9nICP9lf1Ci25fy9vHd0JOWewkIFzXIEig3TdKT7JQ5fQ==
+ dependencies:
+ browser-process-hrtime "^1.0.0"
+
+walker@~1.0.5:
+ version "1.0.8"
+ resolved "https://registry.npmmirror.com/walker/-/walker-1.0.8.tgz#bd498db477afe573dc04185f011d3ab8a8d7653f"
+ integrity sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==
+ dependencies:
+ makeerror "1.0.12"
+
+watch-size@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/watch-size/-/watch-size-2.0.0.tgz#096ee28d0365bd7ea03d9c8bf1f2f50a73be1474"
+ integrity sha512-M92R89dNoTPWyCD+HuUEDdhaDnh9jxPGOwlDc0u51jAgmjUvzqaEMynXSr3BaWs+QdHYk4KzibPy1TFtjLmOZQ==
+
+watch@~0.18.0:
+ version "0.18.0"
+ resolved "https://registry.npmmirror.com/watch/-/watch-0.18.0.tgz#28095476c6df7c90c963138990c0a5423eb4b986"
+ integrity sha512-oUcoHFG3UF2pBlHcMORAojsN09BfqSfWYWlR3eSSjUFR7eBEx53WT2HX/vZeVTTIVCGShcazb+t6IcBRCNXqvA==
+ dependencies:
+ exec-sh "^0.2.0"
+ minimist "^1.2.0"
+
+watchpack-chokidar2@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.npmmirror.com/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz#38500072ee6ece66f3769936950ea1771be1c957"
+ integrity sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==
+ dependencies:
+ chokidar "^2.1.8"
+
+watchpack@^1.5.0, watchpack@^1.7.4:
+ version "1.7.5"
+ resolved "https://registry.npmmirror.com/watchpack/-/watchpack-1.7.5.tgz#1267e6c55e0b9b5be44c2023aed5437a2c26c453"
+ integrity sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==
+ dependencies:
+ graceful-fs "^4.1.2"
+ neo-async "^2.5.0"
+ optionalDependencies:
+ chokidar "^3.4.1"
+ watchpack-chokidar2 "^2.0.1"
+
+wbuf@^1.1.0, wbuf@^1.7.3:
+ version "1.7.3"
+ resolved "https://registry.npmmirror.com/wbuf/-/wbuf-1.7.3.tgz#c1d8d149316d3ea852848895cb6a0bfe887b87df"
+ integrity sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==
+ dependencies:
+ minimalistic-assert "^1.0.0"
+
+wcwidth@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.npmmirror.com/wcwidth/-/wcwidth-1.0.1.tgz#f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8"
+ integrity sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==
+ dependencies:
+ defaults "^1.0.3"
+
+webidl-conversions@^4.0.2:
+ version "4.0.2"
+ resolved "https://registry.npmmirror.com/webidl-conversions/-/webidl-conversions-4.0.2.tgz#a855980b1f0b6b359ba1d5d9fb39ae941faa63ad"
+ integrity sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==
+
+webpack-bundle-analyzer@^3.0.4:
+ version "3.9.0"
+ resolved "https://registry.npmmirror.com/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.9.0.tgz#f6f94db108fb574e415ad313de41a2707d33ef3c"
+ integrity sha512-Ob8amZfCm3rMB1ScjQVlbYYUEJyEjdEtQ92jqiFUYt5VkEeO2v5UMbv49P/gnmCZm3A6yaFQzCBvpZqN4MUsdA==
+ dependencies:
+ 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.19"
+ mkdirp "^0.5.1"
+ opener "^1.5.1"
+ ws "^6.0.0"
+
+webpack-chain@^4.11.0:
+ version "4.12.1"
+ resolved "https://registry.npmmirror.com/webpack-chain/-/webpack-chain-4.12.1.tgz#6c8439bbb2ab550952d60e1ea9319141906c02a6"
+ integrity sha512-BCfKo2YkDe2ByqkEWe1Rw+zko4LsyS75LVr29C6xIrxAg9JHJ4pl8kaIZ396SUSNp6b4815dRZPSTAS8LlURRQ==
+ dependencies:
+ deepmerge "^1.5.2"
+ javascript-stringify "^1.6.0"
+
+webpack-dev-middleware@^3.7.2:
+ version "3.7.3"
+ resolved "https://registry.npmmirror.com/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz#0639372b143262e2b84ab95d3b91a7597061c2c5"
+ integrity sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==
+ dependencies:
+ 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@^3.2.0:
+ version "3.11.3"
+ resolved "https://registry.npmmirror.com/webpack-dev-server/-/webpack-dev-server-3.11.3.tgz#8c86b9d2812bf135d3c9bce6f07b718e30f7c3d3"
+ integrity sha512-3x31rjbEQWKMNzacUZRE6wXvUFuGpH7vr0lIEbYpMAG9BOxi0928QU1BBswOAP3kg3H1O4hiS+sq4YyAn6ANnA==
+ dependencies:
+ ansi-html-community "0.0.8"
+ 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.8"
+ semver "^6.3.0"
+ serve-index "^1.9.1"
+ sockjs "^0.3.21"
+ sockjs-client "^1.5.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"
+
+webpack-log@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/webpack-log/-/webpack-log-2.0.0.tgz#5b7928e0637593f119d32f6227c1e0ac31e1b47f"
+ integrity sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==
+ dependencies:
+ ansi-colors "^3.0.0"
+ uuid "^3.3.2"
+
+webpack-merge@^4.2.1:
+ version "4.2.2"
+ resolved "https://registry.npmmirror.com/webpack-merge/-/webpack-merge-4.2.2.tgz#a27c52ea783d1398afd2087f547d7b9d2f43634d"
+ integrity sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==
+ dependencies:
+ lodash "^4.17.15"
+
+webpack-sources@^1.1.0, webpack-sources@^1.3.0, webpack-sources@^1.4.0, webpack-sources@^1.4.1:
+ version "1.4.3"
+ resolved "https://registry.npmmirror.com/webpack-sources/-/webpack-sources-1.4.3.tgz#eedd8ec0b928fbf1cbfe994e22d2d890f330a933"
+ integrity sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==
+ dependencies:
+ source-list-map "^2.0.0"
+ source-map "~0.6.1"
+
+"webpack@>=4 < 4.29":
+ version "4.28.4"
+ resolved "https://registry.npmmirror.com/webpack/-/webpack-4.28.4.tgz#1ddae6c89887d7efb752adf0c3cd32b9b07eacd0"
+ integrity sha512-NxjD61WsK/a3JIdwWjtIpimmvE6UrRi3yG54/74Hk9rwNj5FPkA4DJCf1z4ByDWLkvZhTZE+P3C/eh6UD5lDcw==
+ dependencies:
+ "@webassemblyjs/ast" "1.7.11"
+ "@webassemblyjs/helper-module-context" "1.7.11"
+ "@webassemblyjs/wasm-edit" "1.7.11"
+ "@webassemblyjs/wasm-parser" "1.7.11"
+ acorn "^5.6.2"
+ acorn-dynamic-import "^3.0.0"
+ ajv "^6.1.0"
+ ajv-keywords "^3.1.0"
+ chrome-trace-event "^1.0.0"
+ enhanced-resolve "^4.1.0"
+ eslint-scope "^4.0.0"
+ json-parse-better-errors "^1.0.2"
+ loader-runner "^2.3.0"
+ loader-utils "^1.1.0"
+ memory-fs "~0.4.1"
+ micromatch "^3.1.8"
+ mkdirp "~0.5.0"
+ neo-async "^2.5.0"
+ node-libs-browser "^2.0.0"
+ schema-utils "^0.4.4"
+ tapable "^1.1.0"
+ terser-webpack-plugin "^1.1.0"
+ watchpack "^1.5.0"
+ webpack-sources "^1.3.0"
+
+webpack@^4.0.0:
+ version "4.47.0"
+ resolved "https://registry.npmmirror.com/webpack/-/webpack-4.47.0.tgz#8b8a02152d7076aeb03b61b47dad2eeed9810ebc"
+ integrity sha512-td7fYwgLSrky3fI1EuU5cneU4+pbH6GgOfuKNS1tNPcfdGinGELAqsb/BP4nnvZyKSG2i/xFGU7+n2PvZA8HJQ==
+ dependencies:
+ "@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.5.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.7.4"
+ webpack-sources "^1.4.1"
+
+websocket-driver@>=0.5.1, websocket-driver@^0.7.4:
+ version "0.7.4"
+ resolved "https://registry.npmmirror.com/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760"
+ integrity sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==
+ dependencies:
+ http-parser-js ">=0.5.1"
+ safe-buffer ">=5.1.0"
+ websocket-extensions ">=0.1.1"
+
+websocket-extensions@>=0.1.1:
+ version "0.1.4"
+ resolved "https://registry.npmmirror.com/websocket-extensions/-/websocket-extensions-0.1.4.tgz#7f8473bc839dfd87608adb95d7eb075211578a42"
+ integrity sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==
+
+wechat-jssdk@^5.0.4:
+ version "5.1.0"
+ resolved "https://registry.npmmirror.com/wechat-jssdk/-/wechat-jssdk-5.1.0.tgz#8f835156fc7f5999006ab902f5765e612f4c6c8f"
+ integrity sha512-SzTV9GfEVyuGUSySUGRJSV2uyX2uxm8LJp+74G/NIehbdltaYVXT/XIs8BWdb9tCeL/kC5l99dOG0ZM+FWuaxg==
+ dependencies:
+ date-fns "2.9.0"
+ debug "4.1.1"
+ got "9.6.0"
+ lodash.isempty "4.4.0"
+ mongoose "5.11.7"
+ xml2js "0.4.23"
+
+whatwg-encoding@^1.0.1, whatwg-encoding@^1.0.3:
+ version "1.0.5"
+ resolved "https://registry.npmmirror.com/whatwg-encoding/-/whatwg-encoding-1.0.5.tgz#5abacf777c32166a51d085d6b4f3e7d27113ddb0"
+ integrity sha512-b5lim54JOPN9HtzvK9HFXvBma/rnfFeqsic0hSpjtDbVxR3dJKLc+KB4V6GgiGOvl7CY/KNh8rxSo9DKQrnUEw==
+ dependencies:
+ iconv-lite "0.4.24"
+
+whatwg-mimetype@^2.1.0, whatwg-mimetype@^2.2.0:
+ version "2.3.0"
+ resolved "https://registry.npmmirror.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf"
+ integrity sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==
+
+whatwg-url@^6.4.1:
+ version "6.5.0"
+ resolved "https://registry.npmmirror.com/whatwg-url/-/whatwg-url-6.5.0.tgz#f2df02bff176fd65070df74ad5ccbb5a199965a8"
+ integrity sha512-rhRZRqx/TLJQWUpQ6bmrt2UV4f0HCQ463yQuONJqC6fO2VoEb1pTYddbe59SkYq87aoM5A3bdhMZiUiVws+fzQ==
+ dependencies:
+ lodash.sortby "^4.7.0"
+ tr46 "^1.0.1"
+ webidl-conversions "^4.0.2"
+
+whatwg-url@^7.0.0:
+ version "7.1.0"
+ resolved "https://registry.npmmirror.com/whatwg-url/-/whatwg-url-7.1.0.tgz#c2c492f1eca612988efd3d2266be1b9fc6170d06"
+ integrity sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==
+ dependencies:
+ lodash.sortby "^4.7.0"
+ tr46 "^1.0.1"
+ webidl-conversions "^4.0.2"
+
+which-boxed-primitive@^1.1.0, which-boxed-primitive@^1.1.1:
+ version "1.1.1"
+ resolved "https://registry.npmmirror.com/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz#d76ec27df7fa165f18d5808374a5fe23c29b176e"
+ integrity sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==
+ dependencies:
+ is-bigint "^1.1.0"
+ is-boolean-object "^1.2.1"
+ is-number-object "^1.1.1"
+ is-string "^1.1.1"
+ is-symbol "^1.1.1"
+
+which-builtin-type@^1.2.1:
+ version "1.2.1"
+ resolved "https://registry.npmmirror.com/which-builtin-type/-/which-builtin-type-1.2.1.tgz#89183da1b4907ab089a6b02029cc5d8d6574270e"
+ integrity sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==
+ dependencies:
+ call-bound "^1.0.2"
+ function.prototype.name "^1.1.6"
+ has-tostringtag "^1.0.2"
+ is-async-function "^2.0.0"
+ is-date-object "^1.1.0"
+ is-finalizationregistry "^1.1.0"
+ is-generator-function "^1.0.10"
+ is-regex "^1.2.1"
+ is-weakref "^1.0.2"
+ isarray "^2.0.5"
+ which-boxed-primitive "^1.1.0"
+ which-collection "^1.0.2"
+ which-typed-array "^1.1.16"
+
+which-collection@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.npmmirror.com/which-collection/-/which-collection-1.0.2.tgz#627ef76243920a107e7ce8e96191debe4b16c2a0"
+ integrity sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==
+ dependencies:
+ is-map "^2.0.3"
+ is-set "^2.0.3"
+ is-weakmap "^2.0.2"
+ is-weakset "^2.0.3"
+
+which-module@^2.0.0:
+ version "2.0.1"
+ resolved "https://registry.npmmirror.com/which-module/-/which-module-2.0.1.tgz#776b1fe35d90aebe99e8ac15eb24093389a4a409"
+ integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ==
+
+which-typed-array@^1.1.16, which-typed-array@^1.1.18, which-typed-array@^1.1.19:
+ version "1.1.19"
+ resolved "https://registry.npmmirror.com/which-typed-array/-/which-typed-array-1.1.19.tgz#df03842e870b6b88e117524a4b364b6fc689f956"
+ integrity sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==
+ dependencies:
+ available-typed-arrays "^1.0.7"
+ call-bind "^1.0.8"
+ call-bound "^1.0.4"
+ for-each "^0.3.5"
+ get-proto "^1.0.1"
+ gopd "^1.2.0"
+ has-tostringtag "^1.0.2"
+
+which@^1.2.10, which@^1.2.12, which@^1.2.14, which@^1.2.9, which@^1.3.0:
+ version "1.3.1"
+ resolved "https://registry.npmmirror.com/which/-/which-1.3.1.tgz#a45043d54f5805316da8d62f9f50918d3da70b0a"
+ integrity sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==
+ dependencies:
+ isexe "^2.0.0"
+
+which@^2.0.1:
+ version "2.0.2"
+ resolved "https://registry.npmmirror.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
+ integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
+ dependencies:
+ isexe "^2.0.0"
+
+word-wrap@~1.2.3:
+ version "1.2.5"
+ resolved "https://registry.npmmirror.com/word-wrap/-/word-wrap-1.2.5.tgz#d2c45c6dd4fbce621a66f136cbe328afd0410b34"
+ integrity sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==
+
+wordwrap@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.npmmirror.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
+ integrity sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==
+
+worker-farm@^1.7.0:
+ version "1.7.0"
+ resolved "https://registry.npmmirror.com/worker-farm/-/worker-farm-1.7.0.tgz#26a94c5391bbca926152002f69b84a4bf772e5a8"
+ integrity sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==
+ dependencies:
+ errno "~0.1.7"
+
+"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0":
+ version "7.0.0"
+ resolved "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
+ integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
+ dependencies:
+ ansi-styles "^4.0.0"
+ string-width "^4.1.0"
+ strip-ansi "^6.0.0"
+
+wrap-ansi@^2.0.0:
+ version "2.1.0"
+ resolved "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-2.1.0.tgz#d8fc3d284dd05794fe84973caecdd1cf824fdd85"
+ integrity sha512-vAaEaDM946gbNpH5pLVNR+vX2ht6n0Bt3GXwVB1AuAqZosOvHNF3P7wDnh8KLkSqgUh0uh77le7Owgoz+Z9XBw==
+ dependencies:
+ string-width "^1.0.1"
+ strip-ansi "^3.0.1"
+
+wrap-ansi@^3.0.1:
+ version "3.0.1"
+ resolved "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-3.0.1.tgz#288a04d87eda5c286e060dfe8f135ce8d007f8ba"
+ integrity sha512-iXR3tDXpbnTpzjKSylUJRkLuOrEC7hwEB221cgn6wtF8wpmz28puFXAEfPT5zrjM3wahygB//VuWEr1vTkDcNQ==
+ dependencies:
+ string-width "^2.1.1"
+ strip-ansi "^4.0.0"
+
+wrap-ansi@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-5.1.0.tgz#1fd1f67235d5b6d0fee781056001bfb694c03b09"
+ integrity sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==
+ dependencies:
+ ansi-styles "^3.2.0"
+ string-width "^3.0.0"
+ strip-ansi "^5.0.0"
+
+wrap-ansi@^8.1.0:
+ version "8.1.0"
+ resolved "https://registry.npmmirror.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214"
+ integrity sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==
+ dependencies:
+ ansi-styles "^6.1.0"
+ string-width "^5.0.1"
+ strip-ansi "^7.0.1"
+
+wrappy@1:
+ version "1.0.2"
+ resolved "https://registry.npmmirror.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
+ integrity sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==
+
+write-file-atomic@^2.1.0:
+ version "2.4.3"
+ resolved "https://registry.npmmirror.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481"
+ integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==
+ dependencies:
+ graceful-fs "^4.1.11"
+ imurmurhash "^0.1.4"
+ signal-exit "^3.0.2"
+
+write@1.0.3:
+ version "1.0.3"
+ resolved "https://registry.npmmirror.com/write/-/write-1.0.3.tgz#0800e14523b923a387e415123c865616aae0f5c3"
+ integrity sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==
+ dependencies:
+ mkdirp "^0.5.1"
+
+write@^0.2.1:
+ version "0.2.1"
+ resolved "https://registry.npmmirror.com/write/-/write-0.2.1.tgz#5fc03828e264cea3fe91455476f7a3c566cb0757"
+ integrity sha512-CJ17OoULEKXpA5pef3qLj5AxTJ6mSt7g84he2WIskKwqFO4T97d5V7Tadl0DYDk7qyUOQD5WlUlOMChaYrhxeA==
+ dependencies:
+ mkdirp "^0.5.1"
+
+ws@^5.2.0:
+ version "5.2.4"
+ resolved "https://registry.npmmirror.com/ws/-/ws-5.2.4.tgz#c7bea9f1cfb5f410de50e70e82662e562113f9a7"
+ integrity sha512-fFCejsuC8f9kOSu9FYaOw8CdO68O3h5v0lg4p74o8JqWpwTf9tniOD+nOB78aWoVSS6WptVUmDrp/KPsMVBWFQ==
+ dependencies:
+ async-limiter "~1.0.0"
+
+ws@^6.0.0, ws@^6.2.1:
+ version "6.2.3"
+ resolved "https://registry.npmmirror.com/ws/-/ws-6.2.3.tgz#ccc96e4add5fd6fedbc491903075c85c5a11d9ee"
+ integrity sha512-jmTjYU0j60B+vHey6TfR3Z7RD61z/hmxBS3VMSGIrroOWXQEneK1zNuotOUrGyBHQj0yrpsLHPWtigEFd13ndA==
+ dependencies:
+ async-limiter "~1.0.0"
+
+xlsx@0.14.1:
+ version "0.14.1"
+ resolved "https://registry.npmmirror.com/xlsx/-/xlsx-0.14.1.tgz#ecedf536bd1e94055486ff484f5888dcaa89bd3d"
+ integrity sha512-7hjB5YuyJo1fuuzXQjwuxD8LSUzE4Rxu5ToC3fB5JSunZxGjLcgKg69bEFG9GYoxeVDx5GL0k1dUodlvaQNRQw==
+ dependencies:
+ adler-32 "~1.2.0"
+ cfb "^1.1.0"
+ codepage "~1.14.0"
+ commander "~2.17.1"
+ crc-32 "~1.2.0"
+ exit-on-epipe "~1.0.1"
+ ssf "~0.10.2"
+
+xml-name-validator@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmmirror.com/xml-name-validator/-/xml-name-validator-3.0.0.tgz#6ae73e06de4d8c6e47f9fb181f78d648ad457c6a"
+ integrity sha512-A5CUptxDsvxKJEU3yO6DuWBSJz/qizqzJKOMIfUJHETbBw/sFaDxgd6fxm1ewUaM0jZ444Fc5vC5ROYurg/4Pw==
+
+xml2js@0.4.23:
+ version "0.4.23"
+ resolved "https://registry.npmmirror.com/xml2js/-/xml2js-0.4.23.tgz#a0c69516752421eb2ac758ee4d4ccf58843eac66"
+ integrity sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==
+ dependencies:
+ sax ">=0.6.0"
+ xmlbuilder "~11.0.0"
+
+xmlbuilder@~11.0.0:
+ version "11.0.1"
+ resolved "https://registry.npmmirror.com/xmlbuilder/-/xmlbuilder-11.0.1.tgz#be9bae1c8a046e76b31127726347d0ad7002beb3"
+ integrity sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==
+
+xtend@^4.0.0, xtend@~4.0.1:
+ version "4.0.2"
+ resolved "https://registry.npmmirror.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54"
+ integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==
+
+y18n@^3.2.1:
+ version "3.2.2"
+ resolved "https://registry.npmmirror.com/y18n/-/y18n-3.2.2.tgz#85c901bd6470ce71fc4bb723ad209b70f7f28696"
+ integrity sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==
+
+y18n@^4.0.0:
+ version "4.0.3"
+ resolved "https://registry.npmmirror.com/y18n/-/y18n-4.0.3.tgz#b5f259c82cd6e336921efd7bfd8bf560de9eeedf"
+ integrity sha512-JKhqTOwSrqNA1NY5lSztJ1GrBiUodLMmIZuLiDaMRJ+itFd+ABVE8XBjOvIWL+rSqNDC74LCSFmlb/U4UZ4hJQ==
+
+yallist@^2.1.2:
+ version "2.1.2"
+ resolved "https://registry.npmmirror.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
+ integrity sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==
+
+yallist@^3.0.2:
+ version "3.1.1"
+ resolved "https://registry.npmmirror.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"
+ integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
+
+yargs-parser@^13.1.2:
+ version "13.1.2"
+ resolved "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-13.1.2.tgz#130f09702ebaeef2650d54ce6e3e5706f7a4fb38"
+ integrity sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==
+ dependencies:
+ camelcase "^5.0.0"
+ decamelize "^1.2.0"
+
+yargs-parser@^9.0.2:
+ version "9.0.2"
+ resolved "https://registry.npmmirror.com/yargs-parser/-/yargs-parser-9.0.2.tgz#9ccf6a43460fe4ed40a9bb68f48d43b8a68cc077"
+ integrity sha512-CswCfdOgCr4MMsT1GzbEJ7Z2uYudWyrGX8Bgh/0eyCzj/DXWdKq6a/ADufkzI1WAOIW6jYaXJvRyLhDO0kfqBw==
+ dependencies:
+ camelcase "^4.1.0"
+
+yargs@^11.0.0:
+ version "11.1.1"
+ resolved "https://registry.npmmirror.com/yargs/-/yargs-11.1.1.tgz#5052efe3446a4df5ed669c995886cc0f13702766"
+ integrity sha512-PRU7gJrJaXv3q3yQZ/+/X6KBswZiaQ+zOmdprZcouPYtQgvNU35i+68M4b1ZHLZtYFT5QObFLV+ZkmJYcwKdiw==
+ dependencies:
+ cliui "^4.0.0"
+ decamelize "^1.1.1"
+ find-up "^2.1.0"
+ get-caller-file "^1.0.1"
+ os-locale "^3.1.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 "^9.0.2"
+
+yargs@^13.3.2:
+ version "13.3.2"
+ resolved "https://registry.npmmirror.com/yargs/-/yargs-13.3.2.tgz#ad7ffefec1aa59565ac915f82dccb38a9c31a2dd"
+ integrity sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==
+ dependencies:
+ 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"
+
+yorkie@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.npmmirror.com/yorkie/-/yorkie-2.0.0.tgz#92411912d435214e12c51c2ae1093e54b6bb83d9"
+ integrity sha512-jcKpkthap6x63MB4TxwCyuIGkV0oYP/YRyuQU5UO0Yz/E/ZAu+653/uov+phdmO54n6BcvFRyyt0RRrWdN2mpw==
+ dependencies:
+ execa "^0.8.0"
+ is-ci "^1.0.10"
+ normalize-path "^1.0.0"
+ strip-indent "^2.0.0"
+
+yup@^0.26.10:
+ version "0.26.10"
+ resolved "https://registry.npmmirror.com/yup/-/yup-0.26.10.tgz#3545839663289038faf25facfc07e11fd67c0cb1"
+ integrity sha512-keuNEbNSnsOTOuGCt3UJW69jDE3O4P+UHAakO7vSeFMnjaitcmlbij/a3oNb9g1Y1KvSKH/7O1R2PQ4m4TRylw==
+ dependencies:
+ "@babel/runtime" "7.0.0"
+ fn-name "~2.0.1"
+ lodash "^4.17.10"
+ property-expr "^1.5.0"
+ synchronous-promise "^2.0.5"
+ toposort "^2.0.2"
+
+zrender@4.0.7:
+ version "4.0.7"
+ resolved "https://registry.npmmirror.com/zrender/-/zrender-4.0.7.tgz#15ae960822f5efed410995d37e5107fe3de10e6d"
+ integrity sha512-TNloHe0ums6zxbHfnaCryM61J4IWDajZwNq6dHk9vfWhhysO/OeFvvR0drBs/nbXha2YxSzfQj2FiCd6RVBe+Q==
--
Gitblit v1.9.3