From df61c30adc94a8d9a17c012d47bdbf7c700a577c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A7=9A=E4=BA=9A=E7=94=B7?= Date: Tue, 14 Sep 2021 13:40:54 +0800 Subject: [PATCH] Initial commit --- .dockerignore | 23 + .editorconfig | 39 + .env | 3 + .env.development | 1 + .env.production | 1 + .env.test | 4 + .eslintignore | 1 + .gitattributes | 1 + .gitignore | 21 + .prettierrc | 5 + Dockerfile | 29 + README.md | 134 + babel.config.js | 6 + idea.config.js | 24 + package-lock.json | 17608 ++++++++++++++++ package.json | 119 + public/api_address_config.js | 12 + public/avatar2.jpg | Bin 0 -> 80189 bytes public/cdn/babel-polyfill/polyfill_7_2_5.js | 6953 ++++++ .../cdn/font-icon/font_2316098_umqusozousr.js | 1 + public/color.less | 7720 +++++++ public/goright.png | Bin 0 -> 1105 bytes public/index.html | 261 + public/logo.png | Bin 0 -> 8929 bytes public/tinymce/langs/zh_CN.js | 261 + .../tinymce/skins/lightgray/content.min.css | 554 + public/tinymce/skins/lightgray/skin.min.css | 2159 ++ public/v2.js | 1 + src/App.vue | 44 + src/api/GroupRequest.js | 30 + src/api/api.js | 160 + src/api/index.js | 10 + src/api/login.js | 89 + src/api/manage.js | 225 + src/assets/background.svg | 69 + src/assets/checkcode.png | Bin 0 -> 2236 bytes src/assets/daiban.png | Bin 0 -> 3632 bytes src/assets/duban.png | Bin 0 -> 4933 bytes src/assets/guaz.png | Bin 0 -> 7491 bytes src/assets/home.png | Bin 0 -> 944298 bytes src/assets/less/JAreaLinkage.less | 259 + src/assets/less/TableExpand.less | 15 + src/assets/less/codemirror_idea.css | 1 + src/assets/less/common.less | 61 + src/assets/less/index.less | 28 + src/assets/logo.png | Bin 0 -> 4478 bytes src/assets/mobileBg.png | Bin 0 -> 17926 bytes src/assets/mobileHome.png | Bin 0 -> 289240 bytes src/assets/nodata.png | Bin 0 -> 101556 bytes src/assets/pdf4.jpg | Bin 0 -> 50960 bytes src/assets/zaiban.png | Bin 0 -> 10332 bytes src/cas/sso.js | 77 + src/components/ChartCard.vue | 111 + src/components/Ellipsis/Ellipsis.vue | 0 src/components/Ellipsis/index.js | 0 src/components/README.md | 43 + src/components/_util/Area.js | 79 + src/components/_util/StringUtil.js | 35 + src/components/_util/util.js | 12 + src/components/chart/AreaChartTy.vue | 88 + src/components/chart/Bar.vue | 50 + src/components/chart/BarAndLine.vue | 60 + src/components/chart/BarMultid.vue | 96 + src/components/chart/DashChartDemo.vue | 187 + src/components/chart/IndexBar.vue | 61 + src/components/chart/LineChartMultid.vue | 95 + src/components/chart/Liquid.vue | 80 + src/components/chart/MiniArea.vue | 69 + src/components/chart/MiniBar.vue | 76 + src/components/chart/MiniProgress.vue | 75 + src/components/chart/Pie.vue | 70 + src/components/chart/README.md | 367 + src/components/chart/Radar.vue | 90 + src/components/chart/RankList.vue | 81 + src/components/chart/StackBar.vue | 54 + src/components/chart/TransferBar.vue | 66 + src/components/chart/Trend.vue | 84 + src/components/chart/chart.less | 13 + src/components/chart/mixins/ChartMixins.js | 10 + src/components/dict/JDictSelectTag.vue | 110 + src/components/dict/JDictSelectUtil.js | 147 + src/components/dict/JMultiSelectTag.vue | 132 + src/components/dict/JSearchSelectTag.vue | 246 + src/components/dict/README.md | 181 + src/components/dict/index.js | 16 + src/components/index.less | 4 + src/components/jero/JAreaLinkage.vue | 163 + src/components/jero/JCategorySelect.vue | 269 + src/components/jero/JCheckbox.vue | 46 + src/components/jero/JCodeEditor.vue | 479 + src/components/jero/JCron.vue | 65 + src/components/jero/JDate.vue | 160 + src/components/jero/JEditableTable.vue | 3222 +++ src/components/jero/JEditor.vue | 158 + src/components/jero/JEllipsis.vue | 32 + src/components/jero/JFormContainer.vue | 61 + src/components/jero/JImageUpload.vue | 233 + src/components/jero/JImportModal.vue | 129 + src/components/jero/JInput.vue | 130 + src/components/jero/JModal/index.vue | 228 + src/components/jero/JPopup.vue | 221 + src/components/jero/JSelectMultiple.vue | 94 + src/components/jero/JSlider.vue | 116 + src/components/jero/JSuperQuery.vue | 677 + src/components/jero/JSwitch.vue | 102 + src/components/jero/JTable.vue | 398 + src/components/jero/JTime.vue | 90 + src/components/jero/JTreeDict.vue | 218 + src/components/jero/JTreeSelect.vue | 338 + src/components/jero/JTreeTable.vue | 180 + src/components/jero/JUpload.vue | 295 + src/components/jero/README.md | 512 + src/components/jero/README_JEditableTable.md | 577 + src/components/jero/README_JPopup.md | 65 + src/components/jero/index.js | 59 + src/components/jero/minipop/JFilePop.vue | 117 + src/components/jero/minipop/JInputPop.vue | 105 + src/components/jero/modal/JCronModal.vue | 928 + src/components/jero/modal/JPopupOnlReport.vue | 395 + src/components/layouts/BasicLayout.vue | 60 + src/components/layouts/BlankLayout.vue | 16 + src/components/layouts/IframeFReportView.vue | 47 + src/components/layouts/IframePageView.vue | 62 + src/components/layouts/PageView.vue | 85 + src/components/layouts/RouteView.vue | 44 + src/components/layouts/TabLayout.vue | 427 + src/components/layouts/UserLayout.vue | 210 + src/components/layouts/index.js | 8 + src/components/lazy_antd.js | 124 + src/components/menu/Contextmenu.vue | 71 + src/components/menu/SideMenu.vue | 176 + src/components/menu/index.js | 188 + src/components/page/GlobalFooter.vue | 14 + src/components/page/GlobalHeader.vue | 219 + src/components/page/GlobalLayout.vue | 688 + src/components/page/PageHeader.vue | 238 + src/components/page/PageLayout.vue | 127 + src/components/page/SHeaderNotice.vue | 58 + src/components/setting/SettingDrawer.vue | 323 + src/components/setting/SettingItem.vue | 38 + src/components/tools/Breadcrumb.vue | 48 + src/components/tools/DepartSelect.vue | 162 + src/components/tools/DetailList.vue | 147 + src/components/tools/DynamicNotice.vue | 36 + src/components/tools/FooterToolBar.vue | 32 + src/components/tools/HeadInfo.vue | 67 + src/components/tools/HeaderNotice.vue | 337 + src/components/tools/Logo.vue | 59 + src/components/tools/ShowAnnouncement.vue | 139 + src/components/tools/TwoStepCaptcha.vue | 89 + src/components/tools/UserMenu.vue | 285 + src/components/tools/UserPassword.vue | 157 + src/components/tools/setting.js | 95 + src/config/index.js | 0 src/config/router.config.js | 366 + src/defaultSettings.js | 32 + src/icons.js | 15 + src/main.js | 84 + src/mixins/DisabledAuthFilterMixin.js | 19 + src/mixins/JEditableTableMixin.js | 182 + src/mixins/JVxeTableMixin.js | 170 + src/mixins/JeroListMixin.js | 350 + src/mixins/OnlineCommonUtil.js | 26 + src/mixins/WebsocketMixin.js | 63 + src/permission.js | 76 + src/router/README.md | 139 + src/router/index.js | 18 + src/store/getters.js | 23 + src/store/index.js | 31 + src/store/modules/app.js | 126 + src/store/modules/enhance.js | 37 + src/store/modules/online.js | 25 + src/store/modules/permission.js | 87 + src/store/modules/user.js | 222 + src/store/mutation-types.js | 27 + src/utils/JEditableTableUtil.js | 122 + src/utils/LunarFullCalendarUtil.js | 107 + src/utils/authFilter.js | 277 + src/utils/axios.js | 37 + src/utils/browser.js | 38 + src/utils/commonUploadFile.js | 52 + src/utils/desform/CustomExpression.js | 22 + src/utils/device.js | 23 + src/utils/encryption/aesEncrypt.js | 6003 ++++++ src/utils/filter.js | 29 + src/utils/hasPermission.js | 133 + src/utils/mixin.js | 40 + src/utils/permissions.js | 8 + src/utils/portal/constant.js | 20 + src/utils/props-util.js | 115 + src/utils/request.js | 172 + src/utils/storage.js | 78 + src/utils/util.js | 589 + src/utils/validate.js | 31 + src/utils/vueBus.js | 5 + src/views/Home.vue | 33 + src/views/dashboard/Analysis.vue | 9 + src/views/exception/403.vue | 17 + src/views/exception/404.vue | 17 + src/views/exception/500.vue | 17 + src/views/exception/ExceptionPage.vue | 88 + src/views/exception/type.js | 19 + src/views/result/Error.vue | 0 src/views/result/Result.vue | 0 src/views/result/Success.vue | 0 src/views/system/DataLogList.vue | 138 + src/views/system/DepartList.vue | 662 + src/views/system/DepartList2.vue | 260 + src/views/system/DepartUserList.vue | 221 + src/views/system/DictDeleteList.vue | 138 + src/views/system/DictItemList.vue | 225 + src/views/system/DictList.vue | 208 + src/views/system/LogList.vue | 231 + src/views/system/NewPermissionList.vue | 229 + src/views/system/PermissionDataRuleList.vue | 188 + src/views/system/PermissionList.vue | 196 + src/views/system/QuartzJobList.vue | 284 + src/views/system/RoleList.vue | 193 + src/views/system/RoleUserList.vue | 547 + src/views/system/SysAnnouncementList.vue | 297 + src/views/system/SysCategoryList.vue | 336 + src/views/system/SysCheckRuleList.vue | 178 + src/views/system/SysDataSourceList.vue | 188 + src/views/system/SysFillRuleList.vue | 187 + src/views/system/SysGatewayRouteList.vue | 111 + src/views/system/TenantList.vue | 165 + src/views/system/UserAnnouncementList.vue | 192 + src/views/system/UserList.vue | 375 + src/views/system/modules/AddressListLeft.vue | 99 + src/views/system/modules/AddressListRight.vue | 211 + .../system/modules/DataLogCompareModal.vue | 163 + src/views/system/modules/DataLogModal.vue | 153 + src/views/system/modules/DepartAuthModal.vue | 192 + .../system/modules/DepartDataruleModal.vue | 116 + src/views/system/modules/DepartModal.vue | 223 + src/views/system/modules/DepartWindow.vue | 185 + src/views/system/modules/DeptBaseInfo.vue | 129 + .../system/modules/DeptRoleAuthModal.vue | 213 + .../system/modules/DeptRoleDataruleModal.vue | 122 + src/views/system/modules/DeptRoleInfo.vue | 191 + .../system/modules/DeptRoleUserModal.vue | 200 + src/views/system/modules/DeptUserInfo.vue | 349 + src/views/system/modules/DictItemModal.vue | 187 + src/views/system/modules/DictModal.vue | 151 + .../system/modules/GateWayRouteModal.vue | 303 + src/views/system/modules/PasswordModal.vue | 142 + .../modules/PermissionDataRuleModal.vue | 179 + src/views/system/modules/PermissionModal.vue | 423 + src/views/system/modules/QuartzJobModal.vue | 190 + .../system/modules/RoleDataruleModal.vue | 120 + src/views/system/modules/RoleModal.vue | 168 + .../system/modules/SelectUserListModal.vue | 290 + src/views/system/modules/SelectUserModal.vue | 287 + .../system/modules/SysAnnouncementModal.vue | 359 + src/views/system/modules/SysCategoryModal.vue | 182 + .../system/modules/SysCheckRuleModal.vue | 379 + .../system/modules/SysCheckRuleTestModal.vue | 58 + .../system/modules/SysDataSourceModal.vue | 251 + .../system/modules/SysDepartRoleModal.vue | 162 + src/views/system/modules/SysFillRuleModal.vue | 158 + src/views/system/modules/SysPositionModal.vue | 186 + src/views/system/modules/TenantForm.vue | 187 + src/views/system/modules/TenantModal.vue | 60 + src/views/system/modules/UserModal.vue | 709 + .../system/modules/UserRecycleBinModal.vue | 193 + src/views/system/modules/UserRoleModal.vue | 200 + src/views/system/modules/icon/Icon.less | 35 + src/views/system/modules/icon/Icons.vue | 123 + src/views/user/Login.vue | 472 + src/views/user/LoginSelectTenant.vue | 210 + src/views/user/alteration/Alteration.vue | 69 + src/views/user/alteration/Step1.vue | 183 + src/views/user/alteration/Step2.vue | 204 + src/views/user/alteration/Step3.vue | 132 + src/views/user/alteration/Step4.vue | 55 + src/views/user/register/Register.vue | 380 + src/views/user/register/RegisterResult.vue | 52 + src/views/user/third/JeroThirdLoginMixin.js | 211 + src/views/user/third/ThirdLogin.vue | 118 + vue.config.js | 98 + 280 files changed, 82015 insertions(+) create mode 100644 .dockerignore create mode 100644 .editorconfig create mode 100644 .env create mode 100644 .env.development create mode 100644 .env.production create mode 100644 .env.test create mode 100644 .eslintignore create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 .prettierrc create mode 100644 Dockerfile create mode 100644 README.md create mode 100644 babel.config.js create mode 100644 idea.config.js create mode 100644 package-lock.json create mode 100644 package.json create mode 100644 public/api_address_config.js create mode 100644 public/avatar2.jpg create mode 100644 public/cdn/babel-polyfill/polyfill_7_2_5.js create mode 100644 public/cdn/font-icon/font_2316098_umqusozousr.js create mode 100644 public/color.less create mode 100644 public/goright.png create mode 100644 public/index.html create mode 100644 public/logo.png create mode 100644 public/tinymce/langs/zh_CN.js create mode 100644 public/tinymce/skins/lightgray/content.min.css create mode 100644 public/tinymce/skins/lightgray/skin.min.css create mode 100644 public/v2.js create mode 100644 src/App.vue create mode 100644 src/api/GroupRequest.js create mode 100644 src/api/api.js create mode 100644 src/api/index.js create mode 100644 src/api/login.js create mode 100644 src/api/manage.js create mode 100644 src/assets/background.svg create mode 100644 src/assets/checkcode.png create mode 100644 src/assets/daiban.png create mode 100644 src/assets/duban.png create mode 100644 src/assets/guaz.png create mode 100644 src/assets/home.png create mode 100644 src/assets/less/JAreaLinkage.less create mode 100644 src/assets/less/TableExpand.less create mode 100644 src/assets/less/codemirror_idea.css create mode 100644 src/assets/less/common.less create mode 100644 src/assets/less/index.less create mode 100644 src/assets/logo.png create mode 100644 src/assets/mobileBg.png create mode 100644 src/assets/mobileHome.png create mode 100644 src/assets/nodata.png create mode 100644 src/assets/pdf4.jpg create mode 100644 src/assets/zaiban.png create mode 100644 src/cas/sso.js create mode 100644 src/components/ChartCard.vue create mode 100644 src/components/Ellipsis/Ellipsis.vue create mode 100644 src/components/Ellipsis/index.js create mode 100644 src/components/README.md create mode 100644 src/components/_util/Area.js create mode 100644 src/components/_util/StringUtil.js create mode 100644 src/components/_util/util.js create mode 100644 src/components/chart/AreaChartTy.vue create mode 100644 src/components/chart/Bar.vue create mode 100644 src/components/chart/BarAndLine.vue create mode 100644 src/components/chart/BarMultid.vue create mode 100644 src/components/chart/DashChartDemo.vue create mode 100644 src/components/chart/IndexBar.vue create mode 100644 src/components/chart/LineChartMultid.vue create mode 100644 src/components/chart/Liquid.vue create mode 100644 src/components/chart/MiniArea.vue create mode 100644 src/components/chart/MiniBar.vue create mode 100644 src/components/chart/MiniProgress.vue create mode 100644 src/components/chart/Pie.vue create mode 100644 src/components/chart/README.md create mode 100644 src/components/chart/Radar.vue create mode 100644 src/components/chart/RankList.vue create mode 100644 src/components/chart/StackBar.vue create mode 100644 src/components/chart/TransferBar.vue create mode 100644 src/components/chart/Trend.vue create mode 100644 src/components/chart/chart.less create mode 100644 src/components/chart/mixins/ChartMixins.js create mode 100644 src/components/dict/JDictSelectTag.vue create mode 100644 src/components/dict/JDictSelectUtil.js create mode 100644 src/components/dict/JMultiSelectTag.vue create mode 100644 src/components/dict/JSearchSelectTag.vue create mode 100644 src/components/dict/README.md create mode 100644 src/components/dict/index.js create mode 100644 src/components/index.less create mode 100644 src/components/jero/JAreaLinkage.vue create mode 100644 src/components/jero/JCategorySelect.vue create mode 100644 src/components/jero/JCheckbox.vue create mode 100644 src/components/jero/JCodeEditor.vue create mode 100644 src/components/jero/JCron.vue create mode 100644 src/components/jero/JDate.vue create mode 100644 src/components/jero/JEditableTable.vue create mode 100644 src/components/jero/JEditor.vue create mode 100644 src/components/jero/JEllipsis.vue create mode 100644 src/components/jero/JFormContainer.vue create mode 100644 src/components/jero/JImageUpload.vue create mode 100644 src/components/jero/JImportModal.vue create mode 100644 src/components/jero/JInput.vue create mode 100644 src/components/jero/JModal/index.vue create mode 100644 src/components/jero/JPopup.vue create mode 100644 src/components/jero/JSelectMultiple.vue create mode 100644 src/components/jero/JSlider.vue create mode 100644 src/components/jero/JSuperQuery.vue create mode 100644 src/components/jero/JSwitch.vue create mode 100644 src/components/jero/JTable.vue create mode 100644 src/components/jero/JTime.vue create mode 100644 src/components/jero/JTreeDict.vue create mode 100644 src/components/jero/JTreeSelect.vue create mode 100644 src/components/jero/JTreeTable.vue create mode 100644 src/components/jero/JUpload.vue create mode 100644 src/components/jero/README.md create mode 100644 src/components/jero/README_JEditableTable.md create mode 100644 src/components/jero/README_JPopup.md create mode 100644 src/components/jero/index.js create mode 100644 src/components/jero/minipop/JFilePop.vue create mode 100644 src/components/jero/minipop/JInputPop.vue create mode 100644 src/components/jero/modal/JCronModal.vue create mode 100644 src/components/jero/modal/JPopupOnlReport.vue create mode 100644 src/components/layouts/BasicLayout.vue create mode 100644 src/components/layouts/BlankLayout.vue create mode 100644 src/components/layouts/IframeFReportView.vue create mode 100644 src/components/layouts/IframePageView.vue create mode 100644 src/components/layouts/PageView.vue create mode 100644 src/components/layouts/RouteView.vue create mode 100644 src/components/layouts/TabLayout.vue create mode 100644 src/components/layouts/UserLayout.vue create mode 100644 src/components/layouts/index.js create mode 100644 src/components/lazy_antd.js create mode 100644 src/components/menu/Contextmenu.vue create mode 100644 src/components/menu/SideMenu.vue create mode 100644 src/components/menu/index.js create mode 100644 src/components/page/GlobalFooter.vue create mode 100644 src/components/page/GlobalHeader.vue create mode 100644 src/components/page/GlobalLayout.vue create mode 100644 src/components/page/PageHeader.vue create mode 100644 src/components/page/PageLayout.vue create mode 100644 src/components/page/SHeaderNotice.vue create mode 100644 src/components/setting/SettingDrawer.vue create mode 100644 src/components/setting/SettingItem.vue create mode 100644 src/components/tools/Breadcrumb.vue create mode 100644 src/components/tools/DepartSelect.vue create mode 100644 src/components/tools/DetailList.vue create mode 100644 src/components/tools/DynamicNotice.vue create mode 100644 src/components/tools/FooterToolBar.vue create mode 100644 src/components/tools/HeadInfo.vue create mode 100644 src/components/tools/HeaderNotice.vue create mode 100644 src/components/tools/Logo.vue create mode 100644 src/components/tools/ShowAnnouncement.vue create mode 100644 src/components/tools/TwoStepCaptcha.vue create mode 100644 src/components/tools/UserMenu.vue create mode 100644 src/components/tools/UserPassword.vue create mode 100644 src/components/tools/setting.js create mode 100644 src/config/index.js create mode 100644 src/config/router.config.js create mode 100644 src/defaultSettings.js create mode 100644 src/icons.js create mode 100644 src/main.js create mode 100644 src/mixins/DisabledAuthFilterMixin.js create mode 100644 src/mixins/JEditableTableMixin.js create mode 100644 src/mixins/JVxeTableMixin.js create mode 100644 src/mixins/JeroListMixin.js create mode 100644 src/mixins/OnlineCommonUtil.js create mode 100644 src/mixins/WebsocketMixin.js create mode 100644 src/permission.js create mode 100644 src/router/README.md create mode 100644 src/router/index.js create mode 100644 src/store/getters.js create mode 100644 src/store/index.js create mode 100644 src/store/modules/app.js create mode 100644 src/store/modules/enhance.js create mode 100644 src/store/modules/online.js create mode 100644 src/store/modules/permission.js create mode 100644 src/store/modules/user.js create mode 100644 src/store/mutation-types.js create mode 100644 src/utils/JEditableTableUtil.js create mode 100644 src/utils/LunarFullCalendarUtil.js create mode 100644 src/utils/authFilter.js create mode 100644 src/utils/axios.js create mode 100644 src/utils/browser.js create mode 100644 src/utils/commonUploadFile.js create mode 100644 src/utils/desform/CustomExpression.js create mode 100644 src/utils/device.js create mode 100644 src/utils/encryption/aesEncrypt.js create mode 100644 src/utils/filter.js create mode 100644 src/utils/hasPermission.js create mode 100644 src/utils/mixin.js create mode 100644 src/utils/permissions.js create mode 100644 src/utils/portal/constant.js create mode 100644 src/utils/props-util.js create mode 100644 src/utils/request.js create mode 100644 src/utils/storage.js create mode 100644 src/utils/util.js create mode 100644 src/utils/validate.js create mode 100644 src/utils/vueBus.js create mode 100644 src/views/Home.vue create mode 100644 src/views/dashboard/Analysis.vue create mode 100644 src/views/exception/403.vue create mode 100644 src/views/exception/404.vue create mode 100644 src/views/exception/500.vue create mode 100644 src/views/exception/ExceptionPage.vue create mode 100644 src/views/exception/type.js create mode 100644 src/views/result/Error.vue create mode 100644 src/views/result/Result.vue create mode 100644 src/views/result/Success.vue create mode 100644 src/views/system/DataLogList.vue create mode 100644 src/views/system/DepartList.vue create mode 100644 src/views/system/DepartList2.vue create mode 100644 src/views/system/DepartUserList.vue create mode 100644 src/views/system/DictDeleteList.vue create mode 100644 src/views/system/DictItemList.vue create mode 100644 src/views/system/DictList.vue create mode 100644 src/views/system/LogList.vue create mode 100644 src/views/system/NewPermissionList.vue create mode 100644 src/views/system/PermissionDataRuleList.vue create mode 100644 src/views/system/PermissionList.vue create mode 100644 src/views/system/QuartzJobList.vue create mode 100644 src/views/system/RoleList.vue create mode 100644 src/views/system/RoleUserList.vue create mode 100644 src/views/system/SysAnnouncementList.vue create mode 100644 src/views/system/SysCategoryList.vue create mode 100644 src/views/system/SysCheckRuleList.vue create mode 100644 src/views/system/SysDataSourceList.vue create mode 100644 src/views/system/SysFillRuleList.vue create mode 100644 src/views/system/SysGatewayRouteList.vue create mode 100644 src/views/system/TenantList.vue create mode 100644 src/views/system/UserAnnouncementList.vue create mode 100644 src/views/system/UserList.vue create mode 100644 src/views/system/modules/AddressListLeft.vue create mode 100644 src/views/system/modules/AddressListRight.vue create mode 100644 src/views/system/modules/DataLogCompareModal.vue create mode 100644 src/views/system/modules/DataLogModal.vue create mode 100644 src/views/system/modules/DepartAuthModal.vue create mode 100644 src/views/system/modules/DepartDataruleModal.vue create mode 100644 src/views/system/modules/DepartModal.vue create mode 100644 src/views/system/modules/DepartWindow.vue create mode 100644 src/views/system/modules/DeptBaseInfo.vue create mode 100644 src/views/system/modules/DeptRoleAuthModal.vue create mode 100644 src/views/system/modules/DeptRoleDataruleModal.vue create mode 100644 src/views/system/modules/DeptRoleInfo.vue create mode 100644 src/views/system/modules/DeptRoleUserModal.vue create mode 100644 src/views/system/modules/DeptUserInfo.vue create mode 100644 src/views/system/modules/DictItemModal.vue create mode 100644 src/views/system/modules/DictModal.vue create mode 100644 src/views/system/modules/GateWayRouteModal.vue create mode 100644 src/views/system/modules/PasswordModal.vue create mode 100644 src/views/system/modules/PermissionDataRuleModal.vue create mode 100644 src/views/system/modules/PermissionModal.vue create mode 100644 src/views/system/modules/QuartzJobModal.vue create mode 100644 src/views/system/modules/RoleDataruleModal.vue create mode 100644 src/views/system/modules/RoleModal.vue create mode 100644 src/views/system/modules/SelectUserListModal.vue create mode 100644 src/views/system/modules/SelectUserModal.vue create mode 100644 src/views/system/modules/SysAnnouncementModal.vue create mode 100644 src/views/system/modules/SysCategoryModal.vue create mode 100644 src/views/system/modules/SysCheckRuleModal.vue create mode 100644 src/views/system/modules/SysCheckRuleTestModal.vue create mode 100644 src/views/system/modules/SysDataSourceModal.vue create mode 100644 src/views/system/modules/SysDepartRoleModal.vue create mode 100644 src/views/system/modules/SysFillRuleModal.vue create mode 100644 src/views/system/modules/SysPositionModal.vue create mode 100644 src/views/system/modules/TenantForm.vue create mode 100644 src/views/system/modules/TenantModal.vue create mode 100644 src/views/system/modules/UserModal.vue create mode 100644 src/views/system/modules/UserRecycleBinModal.vue create mode 100644 src/views/system/modules/UserRoleModal.vue create mode 100644 src/views/system/modules/icon/Icon.less create mode 100644 src/views/system/modules/icon/Icons.vue create mode 100644 src/views/user/Login.vue create mode 100644 src/views/user/LoginSelectTenant.vue create mode 100644 src/views/user/alteration/Alteration.vue create mode 100644 src/views/user/alteration/Step1.vue create mode 100644 src/views/user/alteration/Step2.vue create mode 100644 src/views/user/alteration/Step3.vue create mode 100644 src/views/user/alteration/Step4.vue create mode 100644 src/views/user/register/Register.vue create mode 100644 src/views/user/register/RegisterResult.vue create mode 100644 src/views/user/third/JeroThirdLoginMixin.js create mode 100644 src/views/user/third/ThirdLogin.vue create mode 100644 vue.config.js diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..59c9c55 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,23 @@ +docs +public +src +.dockerignore +.editorconfig +.eslintignore +.gitattributes +.gitignore +.prettierrc +babel.config.js +Dockerfile +idea.config.js +LICENSE +package.json +package-lock.json +README.md +vue.config.js +yarn +yarn.lock +yarn-error.log +.idea +.svn +node_modules \ No newline at end of file diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..3e26fbb --- /dev/null +++ b/.editorconfig @@ -0,0 +1,39 @@ +[*] +charset=utf-8 +end_of_line=crlf +insert_final_newline=false +indent_style=space +indent_size=2 + +[{*.ng,*.sht,*.html,*.shtm,*.shtml,*.htm}] +indent_style=space +indent_size=2 + +[{*.jhm,*.xslt,*.xul,*.rng,*.xsl,*.xsd,*.ant,*.tld,*.fxml,*.jrxml,*.xml,*.jnlp,*.wsdl}] +indent_style=space +indent_size=2 + +[{.babelrc,.stylelintrc,jest.config,.eslintrc,.prettierrc,*.json,*.jsb3,*.jsb2,*.bowerrc}] +indent_style=space +indent_size=2 + +[*.svg] +indent_style=space +indent_size=2 + +[*.js.map] +indent_style=space +indent_size=2 + +[*.less] +indent_style=space +indent_size=2 + +[*.vue] +indent_style=space +indent_size=2 + +[{.analysis_options,*.yml,*.yaml}] +indent_style=space +indent_size=2 + diff --git a/.env b/.env new file mode 100644 index 0000000..9a1e7a0 --- /dev/null +++ b/.env @@ -0,0 +1,3 @@ +NODE_ENV=production +VUE_APP_PLATFORM_NAME=JeroBoot 企业级快速开发平台 +VUE_APP_SSO=false \ No newline at end of file diff --git a/.env.development b/.env.development new file mode 100644 index 0000000..083c815 --- /dev/null +++ b/.env.development @@ -0,0 +1 @@ +NODE_ENV=development \ No newline at end of file diff --git a/.env.production b/.env.production new file mode 100644 index 0000000..995fca4 --- /dev/null +++ b/.env.production @@ -0,0 +1 @@ +NODE_ENV=production \ No newline at end of file diff --git a/.env.test b/.env.test new file mode 100644 index 0000000..6667bf3 --- /dev/null +++ b/.env.test @@ -0,0 +1,4 @@ +NODE_ENV=production +VUE_APP_API_BASE_URL=http://boot.jero.com:8080/jero-boot +VUE_APP_CAS_BASE_URL=http://cas.example.org:8443/cas +VUE_APP_ONLINE_BASE_URL=http://fileview.jero.com/onlinePreview \ No newline at end of file diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 0000000..dbc8690 --- /dev/null +++ b/.eslintignore @@ -0,0 +1 @@ +/src \ No newline at end of file diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..e507319 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +public/* linguist-vendored \ No newline at end of file diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..185e663 --- /dev/null +++ b/.gitignore @@ -0,0 +1,21 @@ +.DS_Store +node_modules +/dist + +# local env files +.env.local +.env.*.local + +# Log files +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# Editor directories and files +.idea +.vscode +*.suo +*.ntvs* +*.njsproj +*.sln +*.sw* diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 0000000..cbe842a --- /dev/null +++ b/.prettierrc @@ -0,0 +1,5 @@ +{ + "printWidth": 120, + "semi": false, + "singleQuote": true +} diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..b93536c --- /dev/null +++ b/Dockerfile @@ -0,0 +1,29 @@ +FROM nginx +MAINTAINER test@163.com +VOLUME /tmp +ENV LANG en_US.UTF-8 +RUN echo "server { \ + listen 80; \ + location ^~ /jero-boot { \ + proxy_pass http://jero-boot-system:8080/jero-boot/; \ + proxy_set_header Host jero-boot-system; \ + proxy_set_header X-Real-IP \$remote_addr; \ + proxy_set_header X-Forwarded-For \$proxy_add_x_forwarded_for; \ + } \ + #解决Router(mode: 'history')模式下,刷新路由地址不能找到页面的问题 \ + location / { \ + root /var/www/html/; \ + index index.html index.htm; \ + if (!-e \$request_filename) { \ + rewrite ^(.*)\$ /index.html?s=\$1 last; \ + break; \ + } \ + } \ + access_log /var/log/nginx/access.log ; \ + } " > /etc/nginx/conf.d/default.conf \ + && mkdir -p /var/www \ + && mkdir -p /var/www/html + +ADD dist/ /var/www/html/ +EXPOSE 80 +EXPOSE 443 \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..d0a6bd6 --- /dev/null +++ b/README.md @@ -0,0 +1,134 @@ +Jero-Web +==== + +当前最新版本: 2.4.2 + +Overview +---- + +基于 [Ant Design of Vue](https://vuecomponent.github.io/ant-design-vue/docs/vue/introduce-cn/) 实现的 Ant Design Pro Vue 版 +Jero-boot 的前端UI框架,采用前后端分离方案,提供强大代码生成器的快速开发平台。 + + + +#### 前端技术 + +- 基础框架:[ant-design-vue](https://github.com/vueComponent/ant-design-vue) - Ant Design Of Vue 实现 +- JavaScript框架:Vue +- Webpack +- node +- yarn +- eslint +- @vue/cli 3.2.1 +- [vue-cropper](https://github.com/xyxiao001/vue-cropper) - 头像裁剪组件 +- [@antv/g2](https://antv.alipay.com/zh-cn/index.html) - Alipay AntV 数据可视化图表 +- [Viser-vue](https://viserjs.github.io/docs.html#/viser/guide/installation) - antv/g2 封装实现 + + + +项目下载和运行 +---- + +- 拉取项目代码 +```bash +git clone http://git.hzwlsoft.com/JeroBoot/jero-boot.git +cd jero-boot/jero-web +``` + +- 安装依赖 +``` +yarn install +``` + +- 开发模式运行 +``` +yarn run serve +``` + +- 编译项目 +``` +yarn run build +``` + +- Lints and fixes files +``` +yarn run lint +``` + + + +其他说明 +---- + +- 项目使用的 [vue-cli3](https://cli.vuejs.org/guide/), 请更新您的 cli + +- 关闭 Eslint (不推荐) 移除 `package.json` 中 `eslintConfig` 整个节点代码 + +- 修改 Ant Design 配色,在文件 `vue.config.js` 中,其他 less 变量覆盖参考 [ant design](https://ant.design/docs/react/customize-theme-cn) 官方说明 +```ecmascript 6 + css: { + loaderOptions: { + less: { + modifyVars: { + /* less 变量覆盖,用于自定义 ant design 主题 */ + + 'primary-color': '#F5222D', + 'link-color': '#F5222D', + 'border-radius-base': '4px', + }, + javascriptEnabled: true, + } + } + } +``` + + + +附属文档 +---- +- [Ant Design Vue](https://vuecomponent.github.io/ant-design-vue/docs/vue/introduce-cn) + +- [报表 viser-vue](https://viserjs.github.io/demo.html#/viser/bar/basic-bar) + +- [Vue](https://cn.vuejs.org/v2/guide) + +- [路由/菜单说明](https://github.com/zhangdaiscott/Jero-boot/tree/master/ant-design-jeecg-vue/src/router/README.md) + +- [ANTD 默认配置项](https://github.com/zhangdaiscott/Jero-boot/tree/master/ant-design-jeecg-vue/src/defaultSettings.js) + +- 其他待补充... + + +备注 +---- + +> @vue/cli 升级后,eslint 规则更新了。由于影响到全部 .vue 文件,需要逐个验证。既暂时关闭部分原本不验证的规则,后期维护时,在逐步修正这些 rules + + +Docker 镜像使用 +---- + + ``` +# 1.修改前端项目的后台域名 + .env.development + 域名改成: http://Jero-boot-system:8080/Jero-boot + +# 2.先进入打包前端项目 + yarn run build + +# 3.构建镜像 + docker build -t nginx:jeroboot . + +# 4.启动镜像 + docker run --name Jero-boot-nginx -p 80:80 -d nginx:jeroboot + +# 5.配置host + + # jeroboot + 127.0.0.1 Jero-boot-redis + 127.0.0.1 Jero-boot-mysql + 127.0.0.1 Jero-boot-system + +# 6.访问前台项目 + http://localhost:80 +``` \ No newline at end of file diff --git a/babel.config.js b/babel.config.js new file mode 100644 index 0000000..bef7ac4 --- /dev/null +++ b/babel.config.js @@ -0,0 +1,6 @@ +module.exports = { + presets: [ + ['@vue/app', + { useBuiltIns: 'entry' }] + ] +} diff --git a/idea.config.js b/idea.config.js new file mode 100644 index 0000000..ad5afd1 --- /dev/null +++ b/idea.config.js @@ -0,0 +1,24 @@ +'use strict' +const path = require('path') + +function resolve (dir) { + return path.join(__dirname, '.', dir) +} + +module.exports = { + context: path.resolve(__dirname, './'), + resolve: { + extensions: ['.js', '.vue', '.json'], + alias: { + 'config': resolve('config'), + '@': resolve('src'), + '@views': resolve('src/views'), + '@comp': resolve('src/components'), + '@core': resolve('src/core'), + '@utils': resolve('src/utils'), + '@entry': resolve('src/entry'), + '@router': resolve('src/router'), + '@store': resolve('src/store') + } + } +} diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..180289e --- /dev/null +++ b/package-lock.json @@ -0,0 +1,17608 @@ +{ + "name": "jero-web", + "version": "2.4.2", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "@ant-design/colors": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@ant-design/colors/-/colors-3.2.2.tgz", + "integrity": "sha512-YKgNbG2dlzqMhA9NtI3/pbY16m3Yl/EeWBRa+lB1X1YaYxHrxNexiQYCLTWO/uDvAjLFMEDU+zR901waBtMtjQ==", + "requires": { + "tinycolor2": "^1.4.1" + } + }, + "@ant-design/icons": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@ant-design/icons/-/icons-2.1.1.tgz", + "integrity": "sha512-jCH+k2Vjlno4YWl6g535nHR09PwCEmTBKAG6VqF+rhkrSPRLfgpU2maagwbZPLjaHuU5Jd1DFQ2KJpQuI6uG8w==" + }, + "@ant-design/icons-vue": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@ant-design/icons-vue/-/icons-vue-2.0.0.tgz", + "integrity": "sha512-2c0QQE5hL4N48k5NkPG5sdpMl9YnvyNhf0U7YkdZYDlLnspoRU7vIA0UK9eHBs6OpFLcJB6o8eJrIl2ajBskPg==", + "requires": { + "@ant-design/colors": "^3.1.0", + "babel-runtime": "^6.26.0" + } + }, + "@antv/adjust": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@antv/adjust/-/adjust-0.1.1.tgz", + "integrity": "sha512-9FaMOyBlM4AgoRL0b5o0VhEKAYkexBNUrxV8XmpHU/9NBPJONBOB/NZUlQDqxtLItrt91tCfbAuMQmF529UX2Q==", + "requires": { + "@antv/util": "~1.3.1" + }, + "dependencies": { + "@antv/util": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@antv/util/-/util-1.3.1.tgz", + "integrity": "sha512-cbUta0hIJrKEaW3eKoGarz3Ita+9qUPF2YzTj8A6wds/nNiy20G26ztIWHU+5ThLc13B1n5Ik52LbaCaeg9enA==", + "requires": { + "@antv/gl-matrix": "^2.7.1" + } + } + } + }, + "@antv/attr": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@antv/attr/-/attr-0.1.2.tgz", + "integrity": "sha512-QXjP+T2I+pJQcwZx1oCA4tipG43vgeCeKcGGKahlcxb71OBAzjJZm1QbF4frKXcnOqRkxVXtCr70X9TRair3Ew==", + "requires": { + "@antv/util": "~1.3.1" + }, + "dependencies": { + "@antv/util": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@antv/util/-/util-1.3.1.tgz", + "integrity": "sha512-cbUta0hIJrKEaW3eKoGarz3Ita+9qUPF2YzTj8A6wds/nNiy20G26ztIWHU+5ThLc13B1n5Ik52LbaCaeg9enA==", + "requires": { + "@antv/gl-matrix": "^2.7.1" + } + } + } + }, + "@antv/component": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@antv/component/-/component-0.3.9.tgz", + "integrity": "sha512-Knh/Nq0S8UkTfZj4SL7XizagTfXYqjFAYIqFtOmUaKpRMgccUi7p1oA7fJdNPGktkndljy6fUmCWocEeBXRS2g==", + "requires": { + "@antv/attr": "~0.1.2", + "@antv/g": "~3.3.5", + "@antv/util": "~1.3.1", + "wolfy87-eventemitter": "~5.1.0" + }, + "dependencies": { + "@antv/g": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/@antv/g/-/g-3.3.6.tgz", + "integrity": "sha512-2GtyTz++s0BbN6s0ZL2/nrqGYCkd52pVoNH92YkrTdTOvpO6Z4DNoo6jGVgZdPX6Nzwli6yduC8MinVAhE8X6g==", + "requires": { + "@antv/gl-matrix": "~2.7.1", + "@antv/util": "~1.3.1", + "d3-ease": "~1.0.3", + "d3-interpolate": "~1.1.5", + "d3-timer": "~1.0.6", + "wolfy87-eventemitter": "~5.1.0" + } + }, + "@antv/util": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@antv/util/-/util-1.3.1.tgz", + "integrity": "sha512-cbUta0hIJrKEaW3eKoGarz3Ita+9qUPF2YzTj8A6wds/nNiy20G26ztIWHU+5ThLc13B1n5Ik52LbaCaeg9enA==", + "requires": { + "@antv/gl-matrix": "^2.7.1" + } + }, + "wolfy87-eventemitter": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wolfy87-eventemitter/-/wolfy87-eventemitter-5.1.0.tgz", + "integrity": "sha1-NcGsDdGsDBXjXZgVCPwiCEoToBE=" + } + } + }, + "@antv/coord": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@antv/coord/-/coord-0.1.0.tgz", + "integrity": "sha512-W1R8h3Jfb3AfMBVfCreFPMVetgEYuwHBIGn0+d3EgYXe2ckOF8XWjkpGF1fZhOMHREMr+Gt27NGiQh8yBdLUgg==", + "requires": { + "@antv/util": "~1.3.1" + }, + "dependencies": { + "@antv/util": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@antv/util/-/util-1.3.1.tgz", + "integrity": "sha512-cbUta0hIJrKEaW3eKoGarz3Ita+9qUPF2YzTj8A6wds/nNiy20G26ztIWHU+5ThLc13B1n5Ik52LbaCaeg9enA==", + "requires": { + "@antv/gl-matrix": "^2.7.1" + } + } + } + }, + "@antv/data-set": { + "version": "0.11.7", + "resolved": "https://registry.npmjs.org/@antv/data-set/-/data-set-0.11.7.tgz", + "integrity": "sha512-TP62M4ZGda/6dhz+XvmsghMSpkrmRLsLiRFfPfYQVM9+QZAzvGisVayj9x0xMSBBwDwjKE69LeDTFFMQJlTnog==", + "requires": { + "@antv/hierarchy": "^0.6.0", + "@antv/util": "^2.0.0", + "d3-composite-projections": "^1.2.0", + "d3-dsv": "^1.0.5", + "d3-geo": "~1.6.4", + "d3-geo-projection": "~2.1.2", + "d3-hexjson": "^1.0.1", + "d3-hierarchy": "^1.1.5", + "d3-sankey": "^0.9.1", + "d3-voronoi": "^1.1.2", + "dagre": "^0.8.2", + "point-at-length": "^1.0.2", + "regression": "^2.0.0", + "simple-statistics": "^6.1.0", + "topojson-client": "^3.0.0", + "wolfy87-eventemitter": "^5.1.0" + } + }, + "@antv/g": { + "version": "3.4.10", + "resolved": "https://registry.npmjs.org/@antv/g/-/g-3.4.10.tgz", + "integrity": "sha512-pKy/L1SyRBsXuujdkggqrdBA0/ciAgHiArYBdIJsxHRxCneUP01wGwHdGfDayh2+S0gcSBHynjhoEahsaZaLkw==", + "requires": { + "@antv/gl-matrix": "~2.7.1", + "@antv/util": "~1.3.1", + "d3-ease": "~1.0.3", + "d3-interpolate": "~1.1.5", + "d3-timer": "~1.0.6", + "detect-browser": "^5.1.0" + }, + "dependencies": { + "@antv/util": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@antv/util/-/util-1.3.1.tgz", + "integrity": "sha512-cbUta0hIJrKEaW3eKoGarz3Ita+9qUPF2YzTj8A6wds/nNiy20G26ztIWHU+5ThLc13B1n5Ik52LbaCaeg9enA==", + "requires": { + "@antv/gl-matrix": "^2.7.1" + } + } + } + }, + "@antv/g2": { + "version": "3.5.17", + "resolved": "https://registry.npmjs.org/@antv/g2/-/g2-3.5.17.tgz", + "integrity": "sha512-gOjfA6pwXYEC5mrLbvg1kA3jZI5J5T2kQeGse+iBBsNc1Vje7zs9G+BleUaI4MLXSnqwhsj/ohfkP7d+h4ArNg==", + "requires": { + "@antv/adjust": "~0.1.0", + "@antv/attr": "~0.1.2", + "@antv/component": "~0.3.3", + "@antv/coord": "~0.1.0", + "@antv/g": "~3.4.10", + "@antv/scale": "~0.1.1", + "@antv/util": "~1.3.1", + "venn.js": "~0.2.20", + "wolfy87-eventemitter": "~5.1.0" + }, + "dependencies": { + "@antv/util": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@antv/util/-/util-1.3.1.tgz", + "integrity": "sha512-cbUta0hIJrKEaW3eKoGarz3Ita+9qUPF2YzTj8A6wds/nNiy20G26ztIWHU+5ThLc13B1n5Ik52LbaCaeg9enA==", + "requires": { + "@antv/gl-matrix": "^2.7.1" + } + }, + "wolfy87-eventemitter": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wolfy87-eventemitter/-/wolfy87-eventemitter-5.1.0.tgz", + "integrity": "sha1-NcGsDdGsDBXjXZgVCPwiCEoToBE=" + } + } + }, + "@antv/g2-brush": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/@antv/g2-brush/-/g2-brush-0.0.2.tgz", + "integrity": "sha512-7O9szwem19nmEgReXhFB8kVLRaz8J5MHvrzDSDY36YaBOaHSWRGHnvYt2KkkPqgWtHtLY1srssk4X/UmP5govA==" + }, + "@antv/g2-plugin-slider": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@antv/g2-plugin-slider/-/g2-plugin-slider-2.1.1.tgz", + "integrity": "sha512-nB678VEGG3FkrvkDDFADAKjLQIeXzITEYqey5oeOpbf0vT5jOa55lQDyJDZ79cK8PmU/Hz6VPeSb3CNQBA+/FQ==" + }, + "@antv/gl-matrix": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/@antv/gl-matrix/-/gl-matrix-2.7.1.tgz", + "integrity": "sha512-oOWcVNlpELIKi9x+Mm1Vwbz8pXfkbJKykoCIOJ/dNK79hSIANbpXJ5d3Rra9/wZqK6MC961B7sybFhPlLraT3Q==" + }, + "@antv/hierarchy": { + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/@antv/hierarchy/-/hierarchy-0.6.6.tgz", + "integrity": "sha512-ivb9j5aJOogjjU9k7WZXWznevMyqgBbP/Xq2rfXsQFLk4ArABt2ewU6a6jndPOiycGDxppZ8kaYjli70i4HluA==", + "requires": { + "@antv/util": "^2.0.7" + } + }, + "@antv/scale": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@antv/scale/-/scale-0.1.5.tgz", + "integrity": "sha512-7RAu4iH5+Hk21h6+aBMiDTfmLf4IibK2SWjx/+E4f4AXRpqucO+8u7IbZdFkakAWxvqhJtN3oePJuTKqOMcmlg==", + "requires": { + "@antv/util": "~1.3.1", + "fecha": "~2.3.3" + }, + "dependencies": { + "@antv/util": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@antv/util/-/util-1.3.1.tgz", + "integrity": "sha512-cbUta0hIJrKEaW3eKoGarz3Ita+9qUPF2YzTj8A6wds/nNiy20G26ztIWHU+5ThLc13B1n5Ik52LbaCaeg9enA==", + "requires": { + "@antv/gl-matrix": "^2.7.1" + } + } + } + }, + "@antv/util": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@antv/util/-/util-2.0.10.tgz", + "integrity": "sha512-cO6F5qyGVdwG21lunhoDhupR+I+eLYAePgDzM2bjU3LwE3akfyymhOlHE8wcONsPEVRLQ3sTOtd+FojO6g01gw==", + "requires": { + "tslib": "^2.0.3" + } + }, + "@babel/code-frame": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.12.11.tgz", + "integrity": "sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==", + "dev": true, + "requires": { + "@babel/highlight": "^7.10.4" + } + }, + "@babel/core": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.10.tgz", + "integrity": "sha512-eTAlQKq65zHfkHZV0sIVODCPGVgoo1HdBlbSLi9CqOzuZanMv2ihzY+4paiKr1mH+XmYESMAmJ/dpZ68eN6d8w==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/generator": "^7.12.10", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helpers": "^7.12.5", + "@babel/parser": "^7.12.10", + "@babel/template": "^7.12.7", + "@babel/traverse": "^7.12.10", + "@babel/types": "^7.12.10", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.1", + "json5": "^2.1.2", + "lodash": "^4.17.19", + "semver": "^5.4.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "json5": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", + "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "dev": true, + "requires": { + "minimist": "^1.2.5" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.11.tgz", + "integrity": "sha512-Ggg6WPOJtSi8yYQvLVjG8F/TlpWDlKx0OpS4Kt+xMQPs5OaGYWy+v1A+1TvxI6sAMGZpKWWoAQ1DaeQbImlItA==", + "dev": true, + "requires": { + "@babel/types": "^7.12.11", + "jsesc": "^2.5.1", + "source-map": "^0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", + "dev": true + } + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.12.10.tgz", + "integrity": "sha512-XplmVbC1n+KY6jL8/fgLVXXUauDIB+lD5+GsQEh6F6GBF1dq1qy4DP4yXWzDKcoqXB3X58t61e85Fitoww4JVQ==", + "dev": true, + "requires": { + "@babel/types": "^7.12.10" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz", + "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz", + "integrity": "sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-member-expression-to-functions": "^7.12.1", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.10.4" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.7.tgz", + "integrity": "sha512-idnutvQPdpbduutvi3JVfEgcVIHooQnhvhx0Nk9isOINOIGYkZea1Pk2JlJRiUnMefrlvr0vkByATBY/mB4vjQ==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "regexpu-core": "^4.7.1" + }, + "dependencies": { + "regexpu-core": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", + "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", + "dev": true, + "requires": { + "regenerate": "^1.4.0", + "regenerate-unicode-properties": "^8.2.0", + "regjsgen": "^0.5.1", + "regjsparser": "^0.6.4", + "unicode-match-property-ecmascript": "^1.0.4", + "unicode-match-property-value-ecmascript": "^1.2.0" + } + }, + "regjsgen": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", + "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", + "dev": true + }, + "regjsparser": { + "version": "0.6.6", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.6.tgz", + "integrity": "sha512-jjyuCp+IEMIm3N1H1LLTJW1EISEJV9+5oHdEyrt43Pg9cDSb6rrLZei2cVWpl0xTjmmlpec/lEQGYgM7xfpGCQ==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + } + } + } + }, + "@babel/helper-define-map": { + "version": "7.10.5", + "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz", + "integrity": "sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/types": "^7.10.5", + "lodash": "^4.17.19" + } + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz", + "integrity": "sha512-dmUwH8XmlrUpVqgtZ737tK88v07l840z9j3OEhCLwKTkjlvKpfqXVIZ0wpK3aeOxspwGrf/5AP5qLx4rO3w5rA==", + "dev": true, + "requires": { + "@babel/types": "^7.12.1" + } + }, + "@babel/helper-function-name": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.12.11.tgz", + "integrity": "sha512-AtQKjtYNolKNi6nNNVLQ27CP6D9oFR6bq/HPYSizlzbp7uC1M59XJe8L+0uXjbIaZaUJF99ruHqVGiKXU/7ybA==", + "dev": true, + "requires": { + "@babel/helper-get-function-arity": "^7.12.10", + "@babel/template": "^7.12.7", + "@babel/types": "^7.12.11" + } + }, + "@babel/helper-get-function-arity": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.12.10.tgz", + "integrity": "sha512-mm0n5BPjR06wh9mPQaDdXWDoll/j5UpCAPl1x8fS71GHm7HA6Ua2V4ylG1Ju8lvcTOietbPNNPaSilKj+pj+Ag==", + "dev": true, + "requires": { + "@babel/types": "^7.12.10" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz", + "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==", + "dev": true, + "requires": { + "@babel/types": "^7.10.4" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.7.tgz", + "integrity": "sha512-DCsuPyeWxeHgh1Dus7APn7iza42i/qXqiFPWyBDdOFtvS581JQePsc1F/nD+fHrcswhLlRc2UpYS1NwERxZhHw==", + "dev": true, + "requires": { + "@babel/types": "^7.12.7" + } + }, + "@babel/helper-module-imports": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz", + "integrity": "sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==", + "dev": true, + "requires": { + "@babel/types": "^7.12.5" + } + }, + "@babel/helper-module-transforms": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz", + "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.12.1", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-simple-access": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.11.0", + "@babel/helper-validator-identifier": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.12.1", + "@babel/types": "^7.12.1", + "lodash": "^4.17.19" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.12.10.tgz", + "integrity": "sha512-4tpbU0SrSTjjt65UMWSrUOPZTsgvPgGG4S8QSTNHacKzpS51IVWGDj0yCwyeZND/i+LSN2g/O63jEXEWm49sYQ==", + "dev": true, + "requires": { + "@babel/types": "^7.12.10" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", + "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "dev": true + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz", + "integrity": "sha512-9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-wrap-function": "^7.10.4", + "@babel/types": "^7.12.1" + } + }, + "@babel/helper-replace-supers": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.11.tgz", + "integrity": "sha512-q+w1cqmhL7R0FNzth/PLLp2N+scXEK/L2AHbXUyydxp828F4FEa5WcVoqui9vFRiHDQErj9Zof8azP32uGVTRA==", + "dev": true, + "requires": { + "@babel/helper-member-expression-to-functions": "^7.12.7", + "@babel/helper-optimise-call-expression": "^7.12.10", + "@babel/traverse": "^7.12.10", + "@babel/types": "^7.12.11" + } + }, + "@babel/helper-simple-access": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz", + "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==", + "dev": true, + "requires": { + "@babel/types": "^7.12.1" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz", + "integrity": "sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==", + "dev": true, + "requires": { + "@babel/types": "^7.12.1" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.12.11.tgz", + "integrity": "sha512-LsIVN8j48gHgwzfocYUSkO/hjYAOJqlpJEc7tGXcIm4cubjVUf8LGW6eWRyxEu7gA25q02p0rQUWoCI33HNS5g==", + "dev": true, + "requires": { + "@babel/types": "^7.12.11" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.12.11.tgz", + "integrity": "sha512-np/lG3uARFybkoHokJUmf1QfEvRVCPbmQeUQpKow5cQ3xWrV9i3rUHodKDJPQfTVX61qKi+UdYk8kik84n7XOw==", + "dev": true + }, + "@babel/helper-wrap-function": { + "version": "7.12.3", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.12.3.tgz", + "integrity": "sha512-Cvb8IuJDln3rs6tzjW3Y8UeelAOdnpB8xtQ4sme2MSZ9wOxrbThporC0y/EtE16VAtoyEfLM404Xr1e0OOp+ow==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.10.4", + "@babel/types": "^7.10.4" + } + }, + "@babel/helpers": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.5.tgz", + "integrity": "sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==", + "dev": true, + "requires": { + "@babel/template": "^7.10.4", + "@babel/traverse": "^7.12.5", + "@babel/types": "^7.12.5" + } + }, + "@babel/highlight": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", + "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.10.4", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + } + }, + "@babel/parser": { + "version": "7.12.11", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.11.tgz", + "integrity": "sha512-N3UxG+uuF4CMYoNj8AhnbAcJF0PiuJ9KHuy1lQmkYsxTer/MAH9UBNHsBoAX/4s6NvlDD047No8mYVGGzLL4hg==", + "dev": true + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.12.tgz", + "integrity": "sha512-nrz9y0a4xmUrRq51bYkWJIO5SBZyG2ys2qinHsN0zHDHVsUaModrkpyWWWXfGqYQmOL3x9sQIcTNN/pBGpo09A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-remap-async-to-generator": "^7.12.1", + "@babel/plugin-syntax-async-generators": "^7.8.0" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz", + "integrity": "sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-proposal-decorators": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-decorators/-/plugin-proposal-decorators-7.12.12.tgz", + "integrity": "sha512-fhkE9lJYpw2mjHelBpM2zCbaA11aov2GJs7q4cFaXNrWx0H3bW58H9Esy2rdtYOghFBEYUDRIpvlgi+ZD+AvvQ==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-decorators": "^7.12.1" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz", + "integrity": "sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-json-strings": "^7.8.0" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz", + "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.0", + "@babel/plugin-transform-parameters": "^7.12.1" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz", + "integrity": "sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz", + "integrity": "sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-decorators": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-decorators/-/plugin-syntax-decorators-7.12.1.tgz", + "integrity": "sha512-ir9YW5daRrTYiy9UJ2TzdNIJEZu8KclVzDcfSt4iEmOtwQ4llPtWInNKJyKnVXp1vE4bbVd5S31M/im3mYMO1w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-jsx": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.12.1.tgz", + "integrity": "sha512-1yRi7yAtB0ETgxdY9ti/p2TivUxJkTdhu/ZbF9MshVGqOx1TdB3b7xCXs49Fupgg50N45KcAsRP/ZqWjs9SRjg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz", + "integrity": "sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz", + "integrity": "sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-remap-async-to-generator": "^7.12.1" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz", + "integrity": "sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.12.tgz", + "integrity": "sha512-VOEPQ/ExOVqbukuP7BYJtI5ZxxsmegTwzZ04j1aF0dkSypGo9XpDHuOrABsJu+ie+penpSJheDJ11x1BEZNiyQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz", + "integrity": "sha512-/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.10.4", + "@babel/helper-define-map": "^7.10.4", + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-optimise-call-expression": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.12.1", + "@babel/helper-split-export-declaration": "^7.10.4", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz", + "integrity": "sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz", + "integrity": "sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz", + "integrity": "sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz", + "integrity": "sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz", + "integrity": "sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz", + "integrity": "sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz", + "integrity": "sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.10.4", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz", + "integrity": "sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz", + "integrity": "sha512-tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz", + "integrity": "sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-simple-access": "^7.12.1", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz", + "integrity": "sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.10.4", + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-validator-identifier": "^7.10.4", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz", + "integrity": "sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz", + "integrity": "sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.12.1" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz", + "integrity": "sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz", + "integrity": "sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-replace-supers": "^7.12.1" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz", + "integrity": "sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz", + "integrity": "sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng==", + "dev": true, + "requires": { + "regenerator-transform": "^0.14.2" + }, + "dependencies": { + "regenerator-transform": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", + "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", + "dev": true, + "requires": { + "@babel/runtime": "^7.8.4" + } + } + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.10.tgz", + "integrity": "sha512-xOrUfzPxw7+WDm9igMgQCbO3cJKymX7dFdsgRr1eu9n3KjjyU4pptIXbXPseQDquw+W+RuJEJMHKHNsPNNm3CA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.12.5", + "@babel/helper-plugin-utils": "^7.10.4", + "semver": "^5.5.1" + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz", + "integrity": "sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz", + "integrity": "sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4", + "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.7.tgz", + "integrity": "sha512-VEiqZL5N/QvDbdjfYQBhruN0HYjSPjC4XkeqW4ny/jNtH9gcbgaqBIXYEZCNnESMAGs0/K/R7oFGMhOyu/eIxg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz", + "integrity": "sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.12.10", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.10.tgz", + "integrity": "sha512-JQ6H8Rnsogh//ijxspCjc21YPd3VLVoYtAwv3zQmqAt8YGYUtdo5usNhdl4b9/Vir2kPFZl6n1h0PfUz4hJhaA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz", + "integrity": "sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.12.1", + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/polyfill": { + "version": "7.12.1", + "resolved": "https://registry.npmjs.org/@babel/polyfill/-/polyfill-7.12.1.tgz", + "integrity": "sha512-X0pi0V6gxLi6lFZpGmeNa4zxtwEmCs42isWLNjZZDE0Y8yVfgu0T2OAHlzBbdYlqbW/YXVvoBHpATEM+goCj8g==", + "dev": true, + "requires": { + "core-js": "^2.6.5", + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/preset-env": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.3.4.tgz", + "integrity": "sha512-2mwqfYMK8weA0g0uBKOt4FE3iEodiHy9/CW0b+nWXcbL+pGzLx8ESYc+j9IIxr6LTDHWKgPm71i9smo02bw+gA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-async-generator-functions": "^7.2.0", + "@babel/plugin-proposal-json-strings": "^7.2.0", + "@babel/plugin-proposal-object-rest-spread": "^7.3.4", + "@babel/plugin-proposal-optional-catch-binding": "^7.2.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.2.0", + "@babel/plugin-syntax-async-generators": "^7.2.0", + "@babel/plugin-syntax-json-strings": "^7.2.0", + "@babel/plugin-syntax-object-rest-spread": "^7.2.0", + "@babel/plugin-syntax-optional-catch-binding": "^7.2.0", + "@babel/plugin-transform-arrow-functions": "^7.2.0", + "@babel/plugin-transform-async-to-generator": "^7.3.4", + "@babel/plugin-transform-block-scoped-functions": "^7.2.0", + "@babel/plugin-transform-block-scoping": "^7.3.4", + "@babel/plugin-transform-classes": "^7.3.4", + "@babel/plugin-transform-computed-properties": "^7.2.0", + "@babel/plugin-transform-destructuring": "^7.2.0", + "@babel/plugin-transform-dotall-regex": "^7.2.0", + "@babel/plugin-transform-duplicate-keys": "^7.2.0", + "@babel/plugin-transform-exponentiation-operator": "^7.2.0", + "@babel/plugin-transform-for-of": "^7.2.0", + "@babel/plugin-transform-function-name": "^7.2.0", + "@babel/plugin-transform-literals": "^7.2.0", + "@babel/plugin-transform-modules-amd": "^7.2.0", + "@babel/plugin-transform-modules-commonjs": "^7.2.0", + "@babel/plugin-transform-modules-systemjs": "^7.3.4", + "@babel/plugin-transform-modules-umd": "^7.2.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.3.0", + "@babel/plugin-transform-new-target": "^7.0.0", + "@babel/plugin-transform-object-super": "^7.2.0", + "@babel/plugin-transform-parameters": "^7.2.0", + "@babel/plugin-transform-regenerator": "^7.3.4", + "@babel/plugin-transform-shorthand-properties": "^7.2.0", + "@babel/plugin-transform-spread": "^7.2.0", + "@babel/plugin-transform-sticky-regex": "^7.2.0", + "@babel/plugin-transform-template-literals": "^7.2.0", + "@babel/plugin-transform-typeof-symbol": "^7.2.0", + "@babel/plugin-transform-unicode-regex": "^7.2.0", + "browserslist": "^4.3.4", + "invariant": "^2.2.2", + "js-levenshtein": "^1.1.3", + "semver": "^5.3.0" + } + }, + "@babel/runtime": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.5.tgz", + "integrity": "sha512-plcc+hbExy3McchJCEQG3knOsuh3HH+Prx1P6cLIkET/0dLuQDEnrT+s27Axgc9bqfsmNUNHfscgMUdBpC9xfg==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/runtime-corejs2": { + "version": "7.12.5", + "resolved": "https://registry.npmjs.org/@babel/runtime-corejs2/-/runtime-corejs2-7.12.5.tgz", + "integrity": "sha512-kt5YpZ7F5A05LOgQuaMXXmcxakK/qttf5C/E1BJPA3Kf5PanbjPzDoXN+PIslUnjUxpuKblCsXyP0QfMiqyKqA==", + "dev": true, + "requires": { + "core-js": "^2.6.5", + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/template": { + "version": "7.12.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.12.7.tgz", + "integrity": "sha512-GkDzmHS6GV7ZeXfJZ0tLRBhZcMcY0/Lnb+eEbXDBfCAcZCjrZKe6p3J4we/D24O9Y8enxWAg1cWwof59yLh2ow==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.10.4", + "@babel/parser": "^7.12.7", + "@babel/types": "^7.12.7" + } + }, + "@babel/traverse": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.12.tgz", + "integrity": "sha512-s88i0X0lPy45RrLM8b9mz8RPH5FqO9G9p7ti59cToE44xFm1Q+Pjh5Gq4SXBbtb88X7Uy7pexeqRIQDDMNkL0w==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.12.11", + "@babel/generator": "^7.12.11", + "@babel/helper-function-name": "^7.12.11", + "@babel/helper-split-export-declaration": "^7.12.11", + "@babel/parser": "^7.12.11", + "@babel/types": "^7.12.12", + "debug": "^4.1.0", + "globals": "^11.1.0", + "lodash": "^4.17.19" + }, + "dependencies": { + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + } + } + }, + "@babel/types": { + "version": "7.12.12", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.12.tgz", + "integrity": "sha512-lnIX7piTxOH22xE7fDXDbSHg9MM1/6ORnafpJmov5rs0kX5g4BZxeXNJLXsMRiO0U5Rb8/FvMS6xlTnTHvxonQ==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.12.11", + "lodash": "^4.17.19", + "to-fast-properties": "^2.0.0" + }, + "dependencies": { + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + } + } + }, + "@hapi/address": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz", + "integrity": "sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==", + "dev": true + }, + "@hapi/bourne": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz", + "integrity": "sha512-1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==", + "dev": true + }, + "@hapi/hoek": { + "version": "8.5.1", + "resolved": "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.1.tgz", + "integrity": "sha512-yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow==", + "dev": true + }, + "@hapi/joi": { + "version": "15.1.1", + "resolved": "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz", + "integrity": "sha512-entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==", + "dev": true, + "requires": { + "@hapi/address": "2.x.x", + "@hapi/bourne": "1.x.x", + "@hapi/hoek": "8.x.x", + "@hapi/topo": "3.x.x" + } + }, + "@hapi/topo": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz", + "integrity": "sha512-tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==", + "dev": true, + "requires": { + "@hapi/hoek": "^8.3.0" + } + }, + "@intervolga/optimize-cssnano-plugin": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@intervolga/optimize-cssnano-plugin/-/optimize-cssnano-plugin-1.0.6.tgz", + "integrity": "sha512-zN69TnSr0viRSU6cEDIcuPcP67QcpQ6uHACg58FiN9PDrU6SLyGW3MR4tiISbYxy1kDWAVPwD+XwQTWE5cigAA==", + "dev": true, + "requires": { + "cssnano": "^4.0.0", + "cssnano-preset-default": "^4.0.0", + "postcss": "^7.0.0" + } + }, + "@mrmlnc/readdir-enhanced": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@mrmlnc/readdir-enhanced/-/readdir-enhanced-2.2.1.tgz", + "integrity": "sha512-bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==", + "dev": true, + "requires": { + "call-me-maybe": "^1.0.1", + "glob-to-regexp": "^0.3.0" + } + }, + "@nodelib/fs.stat": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-1.1.3.tgz", + "integrity": "sha512-shAmDyaQC4H92APFoIaVDHCx5bStIocgvbwQyxPRrbUY20V1EYTbSDchWbuwlMG3V17cprZhA6+78JfB+3DTPw==", + "dev": true + }, + "@simonwep/pickr": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/@simonwep/pickr/-/pickr-1.7.4.tgz", + "integrity": "sha512-fq7jgKJT21uWGC1mARBHvvd1JYlEf93o7SuVOB4Lr0x/2UPuNC9Oe9n/GzVeg4oVtqMDfh1wIEJpsdOJEZb+3g==", + "requires": { + "core-js": "^3.6.5", + "nanopop": "^2.1.0" + }, + "dependencies": { + "core-js": { + "version": "3.8.3", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.8.3.tgz", + "integrity": "sha512-KPYXeVZYemC2TkNEkX/01I+7yd+nX3KddKwZ1Ww7SKWdI2wQprSgLmrTddT8nw92AjEklTsPBoSdQBhbI1bQ6Q==" + } + } + }, + "@soda/friendly-errors-webpack-plugin": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/@soda/friendly-errors-webpack-plugin/-/friendly-errors-webpack-plugin-1.8.0.tgz", + "integrity": "sha512-RLotfx6k1+nfLacwNCenj7VnTMPxVwYKoGOcffMFoJDKM8tXzBiCN0hMHFJNnoAojduYAsxuiMm0EOMixgiRow==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "error-stack-parser": "^2.0.2", + "string-width": "^2.0.0", + "strip-ansi": "^5" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "@tinymce/tinymce-vue": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@tinymce/tinymce-vue/-/tinymce-vue-2.1.0.tgz", + "integrity": "sha512-lDIpeLbkaobS/f00wWaOhGJdiZLdtL0dEDYB4JvqgVeAAoaDFG2PvXXP/kN49xpHpUe8vOdt7xFaN48nrPmsbQ==", + "requires": { + "vue": "^2.5.17" + } + }, + "@toast-ui/editor": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@toast-ui/editor/-/editor-2.5.1.tgz", + "integrity": "sha512-LVNo/YaNItUemEaRFvFAVn7w/0U7yxEheMdn6GEGxqo727rRZD1MH7OTDVq6NeQ+P93VwFpa0i9GGRBhNNEbPQ==", + "requires": { + "@types/codemirror": "0.0.71", + "codemirror": "^5.48.4" + } + }, + "@types/anymatch": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/@types/anymatch/-/anymatch-1.3.1.tgz", + "integrity": "sha512-/+CRPXpBDpo2RK9C68N3b2cOvO0Cf5B9aPijHsoDQTHivnGSObdOF2BRQOYjojWTDy6nQvMjmqRXIxH55VjxxA==", + "dev": true + }, + "@types/codemirror": { + "version": "0.0.71", + "resolved": "https://registry.npmjs.org/@types/codemirror/-/codemirror-0.0.71.tgz", + "integrity": "sha512-b2oEEnno1LIGKMR7uBEsr40al1UijF1HEpRn0+Yf1xOLl24iQgB7DBpZVMM7y54G5wCNoclDrRO65E6KHPNO2w==", + "requires": { + "@types/tern": "*" + } + }, + "@types/d3-format": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/d3-format/-/d3-format-2.0.0.tgz", + "integrity": "sha512-uagdkftxnGkO4pZw5jEYOM5ZnZOEsh7z8j11Qxk85UkB2RzfUUxRl7R9VvvJZHwKn8l+x+rpS77Nusq7FkFmIg==" + }, + "@types/estree": { + "version": "0.0.46", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.46.tgz", + "integrity": "sha512-laIjwTQaD+5DukBZaygQ79K1Z0jb1bPEMRrkXSLjtCcZm+abyp5YbrqpSLzD42FwWW6gK/aS4NYpJ804nG2brg==" + }, + "@types/glob": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", + "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", + "dev": true, + "requires": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/html-minifier-terser": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", + "integrity": "sha512-giAlZwstKbmvMk1OO7WXSj4OZ0keXAcl2TQq4LWHiiPH2ByaH7WeUzng+Qej8UPxxv+8lRTuouo0iaNDBuzIBA==", + "dev": true + }, + "@types/json-schema": { + "version": "7.0.7", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.7.tgz", + "integrity": "sha512-cxWFQVseBm6O9Gbw1IWb8r6OS4OhSt3hPZLkFApLjM8TEXROBuQGLAH2i2gZpcXdLBIrpXuTDhH7Vbm1iXmNGA==", + "dev": true + }, + "@types/json5": { + "version": "0.0.29", + "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", + "integrity": "sha1-7ihweulOEdK4J7y+UnC86n8+ce4=", + "dev": true + }, + "@types/lodash": { + "version": "4.14.168", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.14.168.tgz", + "integrity": "sha512-oVfRvqHV/V6D1yifJbVRU3TMp8OT6o6BG+U9MkwuJ3U8/CsDHvalRpsxBqivn71ztOFZBTfJMvETbqHiaNSj7Q==" + }, + "@types/minimatch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", + "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", + "dev": true + }, + "@types/node": { + "version": "14.14.22", + "resolved": "https://registry.npmjs.org/@types/node/-/node-14.14.22.tgz", + "integrity": "sha512-g+f/qj/cNcqKkc3tFqlXOYjrmZA+jNBiDzbP3kH+B+otKFqAdPgVTGP1IeKRdMml/aE69as5S4FqtxAbl+LaMw==" + }, + "@types/normalize-package-data": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", + "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", + "dev": true + }, + "@types/q": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz", + "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==", + "dev": true + }, + "@types/source-list-map": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", + "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", + "dev": true + }, + "@types/tapable": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/@types/tapable/-/tapable-1.0.6.tgz", + "integrity": "sha512-W+bw9ds02rAQaMvaLYxAbJ6cvguW/iJXNT6lTssS1ps6QdrMKttqEAMEG/b5CR8TZl3/L7/lH0ZV5nNR1LXikA==", + "dev": true + }, + "@types/tern": { + "version": "0.23.3", + "resolved": "https://registry.npmjs.org/@types/tern/-/tern-0.23.3.tgz", + "integrity": "sha512-imDtS4TAoTcXk0g7u4kkWqedB3E4qpjXzCpD2LU5M5NAXHzCDsypyvXSaG7mM8DKYkCRa7tFp4tS/lp/Wo7Q3w==", + "requires": { + "@types/estree": "*" + } + }, + "@types/uglify-js": { + "version": "3.11.1", + "resolved": "https://registry.npmjs.org/@types/uglify-js/-/uglify-js-3.11.1.tgz", + "integrity": "sha512-7npvPKV+jINLu1SpSYVWG8KvyJBhBa8tmzMMdDoVc2pWUYHN8KIXlPJhjJ4LT97c4dXJA2SHL/q6ADbDriZN+Q==", + "dev": true, + "requires": { + "source-map": "^0.6.1" + } + }, + "@types/webpack": { + "version": "4.41.26", + "resolved": "https://registry.npmjs.org/@types/webpack/-/webpack-4.41.26.tgz", + "integrity": "sha512-7ZyTfxjCRwexh+EJFwRUM+CDB2XvgHl4vfuqf1ZKrgGvcS5BrNvPQqJh3tsZ0P6h6Aa1qClVHaJZszLPzpqHeA==", + "dev": true, + "requires": { + "@types/anymatch": "*", + "@types/node": "*", + "@types/tapable": "*", + "@types/uglify-js": "*", + "@types/webpack-sources": "*", + "source-map": "^0.6.0" + } + }, + "@types/webpack-sources": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-2.1.0.tgz", + "integrity": "sha512-LXn/oYIpBeucgP1EIJbKQ2/4ZmpvRl+dlrFdX7+94SKRUV3Evy3FsfMZY318vGhkWUS5MPhtOM3w1/hCOAOXcg==", + "dev": true, + "requires": { + "@types/node": "*", + "@types/source-list-map": "*", + "source-map": "^0.7.3" + }, + "dependencies": { + "source-map": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", + "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", + "dev": true + } + } + }, + "@vue/babel-helper-vue-jsx-merge-props": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@vue/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-1.2.1.tgz", + "integrity": "sha512-QOi5OW45e2R20VygMSNhyQHvpdUwQZqGPc748JLGCYEy+yp8fNFNdbNIGAgZmi9e+2JHPd6i6idRuqivyicIkA==", + "dev": true + }, + "@vue/babel-plugin-transform-vue-jsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@vue/babel-plugin-transform-vue-jsx/-/babel-plugin-transform-vue-jsx-1.2.1.tgz", + "integrity": "sha512-HJuqwACYehQwh1fNT8f4kyzqlNMpBuUK4rSiSES5D4QsYncv5fxFsLyrxFPG2ksO7t5WP+Vgix6tt6yKClwPzA==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1", + "html-tags": "^2.0.0", + "lodash.kebabcase": "^4.1.1", + "svg-tags": "^1.0.0" + } + }, + "@vue/babel-preset-app": { + "version": "3.12.1", + "resolved": "https://registry.npmjs.org/@vue/babel-preset-app/-/babel-preset-app-3.12.1.tgz", + "integrity": "sha512-Zjy5jQaikV1Pz+ri0YgXFS7q4/5wCxB5tRkDOEIt5+4105u0Feb/pvH20nVL6nx9GyXrECFfcm7Yxr/z++OaPQ==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.0.0", + "@babel/plugin-proposal-class-properties": "^7.0.0", + "@babel/plugin-proposal-decorators": "^7.1.0", + "@babel/plugin-syntax-dynamic-import": "^7.0.0", + "@babel/plugin-syntax-jsx": "^7.0.0", + "@babel/plugin-transform-runtime": "^7.4.0", + "@babel/preset-env": "^7.0.0 < 7.4.0", + "@babel/runtime": "^7.0.0", + "@babel/runtime-corejs2": "^7.2.0", + "@vue/babel-preset-jsx": "^1.0.0", + "babel-plugin-dynamic-import-node": "^2.2.0", + "babel-plugin-module-resolver": "3.2.0", + "core-js": "^2.6.5" + } + }, + "@vue/babel-preset-jsx": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@vue/babel-preset-jsx/-/babel-preset-jsx-1.2.4.tgz", + "integrity": "sha512-oRVnmN2a77bYDJzeGSt92AuHXbkIxbf/XXSE3klINnh9AXBmVS1DGa1f0d+dDYpLfsAKElMnqKTQfKn7obcL4w==", + "dev": true, + "requires": { + "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1", + "@vue/babel-plugin-transform-vue-jsx": "^1.2.1", + "@vue/babel-sugar-composition-api-inject-h": "^1.2.1", + "@vue/babel-sugar-composition-api-render-instance": "^1.2.4", + "@vue/babel-sugar-functional-vue": "^1.2.2", + "@vue/babel-sugar-inject-h": "^1.2.2", + "@vue/babel-sugar-v-model": "^1.2.3", + "@vue/babel-sugar-v-on": "^1.2.3" + } + }, + "@vue/babel-sugar-composition-api-inject-h": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-inject-h/-/babel-sugar-composition-api-inject-h-1.2.1.tgz", + "integrity": "sha512-4B3L5Z2G+7s+9Bwbf+zPIifkFNcKth7fQwekVbnOA3cr3Pq71q71goWr97sk4/yyzH8phfe5ODVzEjX7HU7ItQ==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@vue/babel-sugar-composition-api-render-instance": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-composition-api-render-instance/-/babel-sugar-composition-api-render-instance-1.2.4.tgz", + "integrity": "sha512-joha4PZznQMsxQYXtR3MnTgCASC9u3zt9KfBxIeuI5g2gscpTsSKRDzWQt4aqNIpx6cv8On7/m6zmmovlNsG7Q==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@vue/babel-sugar-functional-vue": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-functional-vue/-/babel-sugar-functional-vue-1.2.2.tgz", + "integrity": "sha512-JvbgGn1bjCLByIAU1VOoepHQ1vFsroSA/QkzdiSs657V79q6OwEWLCQtQnEXD/rLTA8rRit4rMOhFpbjRFm82w==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@vue/babel-sugar-inject-h": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-inject-h/-/babel-sugar-inject-h-1.2.2.tgz", + "integrity": "sha512-y8vTo00oRkzQTgufeotjCLPAvlhnpSkcHFEp60+LJUwygGcd5Chrpn5480AQp/thrxVm8m2ifAk0LyFel9oCnw==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0" + } + }, + "@vue/babel-sugar-v-model": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-model/-/babel-sugar-v-model-1.2.3.tgz", + "integrity": "sha512-A2jxx87mySr/ulAsSSyYE8un6SIH0NWHiLaCWpodPCVOlQVODCaSpiR4+IMsmBr73haG+oeCuSvMOM+ttWUqRQ==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-helper-vue-jsx-merge-props": "^1.2.1", + "@vue/babel-plugin-transform-vue-jsx": "^1.2.1", + "camelcase": "^5.0.0", + "html-tags": "^2.0.0", + "svg-tags": "^1.0.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + } + } + }, + "@vue/babel-sugar-v-on": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/@vue/babel-sugar-v-on/-/babel-sugar-v-on-1.2.3.tgz", + "integrity": "sha512-kt12VJdz/37D3N3eglBywV8GStKNUhNrsxChXIV+o0MwVXORYuhDTHJRKPgLJRb/EY3vM2aRFQdxJBp9CLikjw==", + "dev": true, + "requires": { + "@babel/plugin-syntax-jsx": "^7.2.0", + "@vue/babel-plugin-transform-vue-jsx": "^1.2.1", + "camelcase": "^5.0.0" + }, + "dependencies": { + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + } + } + }, + "@vue/cli-overlay": { + "version": "3.12.1", + "resolved": "https://registry.npmjs.org/@vue/cli-overlay/-/cli-overlay-3.12.1.tgz", + "integrity": "sha512-Bym92EN+lj+cNRN2ozbYyH+V8DMXWGbCDUk+hiJ4EYDBZfBkZKvalk1/mOBFwyxiopnnbOEBAAhL/UuMQ1xARg==", + "dev": true + }, + "@vue/cli-plugin-babel": { + "version": "3.12.1", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-babel/-/cli-plugin-babel-3.12.1.tgz", + "integrity": "sha512-Zetvz8PikLCGomeKOKu8pC9YQ7cfxs7pGpvEOzaxGdhMnebhjAYR6i6dOB57A6N5lhxQksXCtYTv26QgfiIpdg==", + "dev": true, + "requires": { + "@babel/core": "^7.0.0", + "@vue/babel-preset-app": "^3.12.1", + "@vue/cli-shared-utils": "^3.12.1", + "babel-loader": "^8.0.5", + "webpack": "^4.0.0" + } + }, + "@vue/cli-plugin-eslint": { + "version": "3.12.1", + "resolved": "https://registry.npmjs.org/@vue/cli-plugin-eslint/-/cli-plugin-eslint-3.12.1.tgz", + "integrity": "sha512-tVTZlEZsy3sQbO4LLWFK11yzlWwqVAqaM+IY+BeWHITBzEJKh2KmouG+x6x/reXiU3qROsMJ4Ej3Hs8buSMWyQ==", + "dev": true, + "requires": { + "@vue/cli-shared-utils": "^3.12.1", + "babel-eslint": "^10.0.1", + "eslint": "^4.19.1", + "eslint-loader": "^2.1.2", + "eslint-plugin-vue": "^4.7.1", + "globby": "^9.2.0", + "webpack": "^4.0.0", + "yorkie": "^2.0.0" + }, + "dependencies": { + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, + "optional": true, + "requires": { + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" + } + }, + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "optional": true + }, + "babel-eslint": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-10.1.0.tgz", + "integrity": "sha512-ifWaTHQ0ce+448CYop8AdrQiBsGrnC+bMgfyKFdi6EsPLTAWG+QfyDeM6OH+FmWnKvEq5NnBMLvlBUPKQZoDSg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "@babel/parser": "^7.7.0", + "@babel/traverse": "^7.7.0", + "@babel/types": "^7.7.0", + "eslint-visitor-keys": "^1.0.0", + "resolve": "^1.12.0" + } + }, + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "optional": true, + "requires": { + "ms": "^2.1.1" + } + }, + "eslint": { + "version": "4.19.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-4.19.1.tgz", + "integrity": "sha512-bT3/1x1EbZB7phzYu7vCr1v3ONuzDtX8WjuM9c0iYxe+cq+pwcKEoQjl7zd3RpC6YOLgnSy3cTN58M2jcoPDIQ==", + "dev": true, + "optional": true, + "requires": { + "ajv": "^5.3.0", + "babel-code-frame": "^6.22.0", + "chalk": "^2.1.0", + "concat-stream": "^1.6.0", + "cross-spawn": "^5.1.0", + "debug": "^3.1.0", + "doctrine": "^2.1.0", + "eslint-scope": "^3.7.1", + "eslint-visitor-keys": "^1.0.0", + "espree": "^3.5.4", + "esquery": "^1.0.0", + "esutils": "^2.0.2", + "file-entry-cache": "^2.0.0", + "functional-red-black-tree": "^1.0.1", + "glob": "^7.1.2", + "globals": "^11.0.1", + "ignore": "^3.3.3", + "imurmurhash": "^0.1.4", + "inquirer": "^3.0.6", + "is-resolvable": "^1.0.0", + "js-yaml": "^3.9.1", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.4", + "minimatch": "^3.0.2", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.2", + "pluralize": "^7.0.0", + "progress": "^2.0.0", + "regexpp": "^1.0.1", + "require-uncached": "^1.0.3", + "semver": "^5.3.0", + "strip-ansi": "^4.0.0", + "strip-json-comments": "~2.0.1", + "table": "4.0.2", + "text-table": "~0.2.0" + } + }, + "eslint-plugin-vue": { + "version": "4.7.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-4.7.1.tgz", + "integrity": "sha512-esETKhVMI7Vdli70Wt4bvAwnZBJeM0pxVX9Yb0wWKxdCJc2EADalVYK/q2FzMw8oKN0wPMdqVCKS8kmR89recA==", + "dev": true, + "optional": true, + "requires": { + "vue-eslint-parser": "^2.0.3" + } + }, + "eslint-scope": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.3.tgz", + "integrity": "sha512-W+B0SvF4gamyCTmUc+uITPY0989iXVfKvhwtmJocTaYoc/3khEHmEmvfY/Gn9HA9VV75jrQECsHizkNw1b68FA==", + "dev": true, + "optional": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", + "dev": true, + "optional": true + }, + "globby": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", + "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^1.0.2", + "dir-glob": "^2.2.2", + "fast-glob": "^2.2.6", + "glob": "^7.1.3", + "ignore": "^4.0.3", + "pify": "^4.0.1", + "slash": "^2.0.0" + }, + "dependencies": { + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + } + } + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "dev": true, + "optional": true + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "optional": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "optional": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "@vue/cli-service": { + "version": "3.12.1", + "resolved": "https://registry.npmjs.org/@vue/cli-service/-/cli-service-3.12.1.tgz", + "integrity": "sha512-PDxNrTGnSKzeV1ruFlsRIAO8JcPizwT0EJXq9GeyooU+p+sOkv7aKkCBJQVYNjZapD1NOGWx6CvAAC/wAW+gew==", + "dev": true, + "requires": { + "@intervolga/optimize-cssnano-plugin": "^1.0.5", + "@soda/friendly-errors-webpack-plugin": "^1.7.1", + "@vue/cli-overlay": "^3.12.1", + "@vue/cli-shared-utils": "^3.12.1", + "@vue/component-compiler-utils": "^3.0.0", + "@vue/preload-webpack-plugin": "^1.1.0", + "@vue/web-component-wrapper": "^1.2.0", + "acorn": "^6.1.1", + "acorn-walk": "^6.1.1", + "address": "^1.0.3", + "autoprefixer": "^9.5.1", + "browserslist": "^4.5.4", + "cache-loader": "^2.0.1", + "case-sensitive-paths-webpack-plugin": "^2.2.0", + "chalk": "^2.4.2", + "cli-highlight": "^2.1.0", + "clipboardy": "^2.0.0", + "cliui": "^5.0.0", + "copy-webpack-plugin": "^4.6.0", + "css-loader": "^1.0.1", + "cssnano": "^4.1.10", + "current-script-polyfill": "^1.0.0", + "debug": "^4.1.1", + "default-gateway": "^5.0.2", + "dotenv": "^7.0.0", + "dotenv-expand": "^5.1.0", + "escape-string-regexp": "^1.0.5", + "file-loader": "^3.0.1", + "fs-extra": "^7.0.1", + "globby": "^9.2.0", + "hash-sum": "^1.0.2", + "html-webpack-plugin": "^3.2.0", + "launch-editor-middleware": "^2.2.1", + "lodash.defaultsdeep": "^4.6.1", + "lodash.mapvalues": "^4.6.0", + "lodash.transform": "^4.6.0", + "mini-css-extract-plugin": "^0.8.0", + "minimist": "^1.2.0", + "ora": "^3.4.0", + "portfinder": "^1.0.20", + "postcss-loader": "^3.0.0", + "read-pkg": "^5.0.0", + "semver": "^6.0.0", + "slash": "^2.0.0", + "source-map-url": "^0.4.0", + "ssri": "^6.0.1", + "string.prototype.padend": "^3.0.0", + "terser-webpack-plugin": "^1.2.3", + "thread-loader": "^2.1.2", + "url-loader": "^1.1.2", + "vue-loader": "^15.7.0", + "webpack": "^4.0.0", + "webpack-bundle-analyzer": "^3.3.0", + "webpack-chain": "^4.11.0", + "webpack-dev-server": "^3.4.1", + "webpack-merge": "^4.2.1" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "autoprefixer": { + "version": "9.8.6", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz", + "integrity": "sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==", + "dev": true, + "requires": { + "browserslist": "^4.12.0", + "caniuse-lite": "^1.0.30001109", + "colorette": "^1.2.1", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "postcss": "^7.0.32", + "postcss-value-parser": "^4.1.0" + } + }, + "big.js": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==", + "dev": true + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + } + }, + "css-loader": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-1.0.1.tgz", + "integrity": "sha512-+ZHAZm/yqvJ2kDtPne3uX0C+Vr3Zn5jFn2N4HywtS5ujwvsVkyg0VArEXpl3BgczDA8anieki1FIzhchX4yrDw==", + "dev": true, + "requires": { + "babel-code-frame": "^6.26.0", + "css-selector-tokenizer": "^0.7.0", + "icss-utils": "^2.1.0", + "loader-utils": "^1.0.2", + "lodash": "^4.17.11", + "postcss": "^6.0.23", + "postcss-modules-extract-imports": "^1.2.0", + "postcss-modules-local-by-default": "^1.2.0", + "postcss-modules-scope": "^1.1.0", + "postcss-modules-values": "^1.3.0", + "postcss-value-parser": "^3.3.0", + "source-list-map": "^2.0.0" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", + "dev": true + }, + "globby": { + "version": "9.2.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-9.2.0.tgz", + "integrity": "sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^1.0.2", + "dir-glob": "^2.2.2", + "fast-glob": "^2.2.6", + "glob": "^7.1.3", + "ignore": "^4.0.3", + "pify": "^4.0.1", + "slash": "^2.0.0" + } + }, + "html-webpack-plugin": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-3.2.0.tgz", + "integrity": "sha1-sBq71yOsqqeze2r0SS69oD2d03s=", + "dev": true, + "requires": { + "html-minifier": "^3.2.3", + "loader-utils": "^0.2.16", + "lodash": "^4.17.3", + "pretty-error": "^2.0.2", + "tapable": "^1.0.0", + "toposort": "^1.0.0", + "util.promisify": "1.0.0" + }, + "dependencies": { + "loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "dev": true, + "requires": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" + } + } + } + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "postcss-value-parser": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", + "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", + "dev": true + }, + "read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "requires": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "slash": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-2.0.0.tgz", + "integrity": "sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==", + "dev": true + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + }, + "util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" + } + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + } + } + } + }, + "@vue/cli-shared-utils": { + "version": "3.12.1", + "resolved": "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-3.12.1.tgz", + "integrity": "sha512-jFblzRFjutGwu5utOKdVlPlsbA1lBUNNQlAThzNqej+JtTKJjnvjlhjKX0Gq0oOny5FjKWhoyfQ74p9h1qE6JQ==", + "dev": true, + "requires": { + "@hapi/joi": "^15.0.1", + "chalk": "^2.4.1", + "execa": "^1.0.0", + "launch-editor": "^2.2.1", + "lru-cache": "^5.1.1", + "node-ipc": "^9.1.1", + "open": "^6.3.0", + "ora": "^3.4.0", + "request": "^2.87.0", + "request-promise-native": "^1.0.7", + "semver": "^6.0.0", + "string.prototype.padstart": "^3.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + } + } + }, + "@vue/component-compiler-utils": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.2.0.tgz", + "integrity": "sha512-lejBLa7xAMsfiZfNp7Kv51zOzifnb29FwdnMLa96z26kXErPFioSf9BMcePVIQ6/Gc6/mC0UrPpxAWIHyae0vw==", + "requires": { + "consolidate": "^0.15.1", + "hash-sum": "^1.0.2", + "lru-cache": "^4.1.2", + "merge-source-map": "^1.1.0", + "postcss": "^7.0.14", + "postcss-selector-parser": "^6.0.2", + "prettier": "^1.18.2", + "source-map": "~0.6.1", + "vue-template-es2015-compiler": "^1.9.0" + } + }, + "@vue/eslint-config-standard": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@vue/eslint-config-standard/-/eslint-config-standard-4.0.0.tgz", + "integrity": "sha512-bQghq1cw1BuMRHNhr3tRpAJx1tpGy0QtajQX873kLtA9YVuOIoXR7nAWnTN09bBHnSUh2N288vMsqPi2fI4Hzg==", + "dev": true, + "requires": { + "eslint-config-standard": "^12.0.0", + "eslint-plugin-import": "^2.14.0", + "eslint-plugin-node": "^8.0.0", + "eslint-plugin-promise": "^4.0.1", + "eslint-plugin-standard": "^4.0.0" + } + }, + "@vue/preload-webpack-plugin": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@vue/preload-webpack-plugin/-/preload-webpack-plugin-1.1.2.tgz", + "integrity": "sha512-LIZMuJk38pk9U9Ur4YzHjlIyMuxPlACdBIHH9/nGYVTsaGKOSnSuELiE8vS9wa+dJpIYspYUOqk+L1Q4pgHQHQ==", + "dev": true + }, + "@vue/web-component-wrapper": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@vue/web-component-wrapper/-/web-component-wrapper-1.2.0.tgz", + "integrity": "sha512-Xn/+vdm9CjuC9p3Ae+lTClNutrVhsXpzxvoTXXtoys6kVRX9FkueSUAqSWAyZntmVLlR4DosBV4pH8y5Z/HbUw==", + "dev": true + }, + "@webassemblyjs/ast": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", + "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "dev": true, + "requires": { + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", + "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", + "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", + "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", + "dev": true + }, + "@webassemblyjs/helper-code-frame": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", + "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", + "dev": true, + "requires": { + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "@webassemblyjs/helper-fsm": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", + "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", + "dev": true + }, + "@webassemblyjs/helper-module-context": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", + "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", + "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", + "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", + "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", + "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", + "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", + "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/helper-wasm-section": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-opt": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "@webassemblyjs/wast-printer": "1.9.0" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", + "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", + "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-buffer": "1.9.0", + "@webassemblyjs/wasm-gen": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", + "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-wasm-bytecode": "1.9.0", + "@webassemblyjs/ieee754": "1.9.0", + "@webassemblyjs/leb128": "1.9.0", + "@webassemblyjs/utf8": "1.9.0" + } + }, + "@webassemblyjs/wast-parser": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", + "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/floating-point-hex-parser": "1.9.0", + "@webassemblyjs/helper-api-error": "1.9.0", + "@webassemblyjs/helper-code-frame": "1.9.0", + "@webassemblyjs/helper-fsm": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", + "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/wast-parser": "1.9.0", + "@xtuc/long": "4.2.2" + } + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "abs-svg-path": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/abs-svg-path/-/abs-svg-path-0.1.1.tgz", + "integrity": "sha1-32Acjo0roQ1KdtYl4japo5wnI78=" + }, + "accepts": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", + "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "requires": { + "mime-types": "~2.1.24", + "negotiator": "0.6.2" + } + }, + "acorn": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", + "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", + "dev": true + }, + "acorn-dynamic-import": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/acorn-dynamic-import/-/acorn-dynamic-import-2.0.2.tgz", + "integrity": "sha1-x1K9IQvvZ5UBtsbLf8hPj0cVjMQ=", + "requires": { + "acorn": "^4.0.3" + }, + "dependencies": { + "acorn": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-4.0.13.tgz", + "integrity": "sha1-EFSVrlNh1pe9GVyCUZLhrX8lN4c=" + } + } + }, + "acorn-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz", + "integrity": "sha1-r9+UiPsezvyDSPb7IvRk4ypYs2s=", + "dev": true, + "optional": true, + "requires": { + "acorn": "^3.0.4" + }, + "dependencies": { + "acorn": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-3.3.0.tgz", + "integrity": "sha1-ReN/s56No/JbruP/U2niu18iAXo=", + "dev": true, + "optional": true + } + } + }, + "acorn-walk": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-6.2.0.tgz", + "integrity": "sha512-7evsyfH1cLOCdAzZAd43Cic04yKydNx0cF+7tiA19p1XnLLPU4dpCQOqpjqwokFe//vS0QqfqqjCS2JkiIs0cA==", + "dev": true + }, + "add-dom-event-listener": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/add-dom-event-listener/-/add-dom-event-listener-1.1.0.tgz", + "integrity": "sha512-WCxx1ixHT0GQU9hb0KI/mhgRQhnU+U3GvwY6ZvVjYq8rsihIGoaIOUbY0yMPBxLH5MDtr0kz3fisWGNcbWW7Jw==", + "requires": { + "object-assign": "4.x" + } + }, + "address": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/address/-/address-1.1.2.tgz", + "integrity": "sha512-aT6camzM4xEA54YVJYSqxz1kv4IHnQZRtThJJHhUMRExaU5spC7jX5ugSwTaTgJliIgs4VhZOk7htClvQ/LmRA==", + "dev": true + }, + "adjust-sourcemap-loader": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-1.2.0.tgz", + "integrity": "sha512-958oaHHVEXMvsY7v7cC5gEkNIcoaAVIhZ4mBReYVZJOTP9IgKmzLjIOhTtzpLMu+qriXvLsVjJ155EeInp45IQ==", + "requires": { + "assert": "^1.3.0", + "camelcase": "^1.2.1", + "loader-utils": "^1.1.0", + "lodash.assign": "^4.0.1", + "lodash.defaults": "^3.1.2", + "object-path": "^0.9.2", + "regex-parser": "^2.2.9" + }, + "dependencies": { + "lodash.defaults": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-3.1.2.tgz", + "integrity": "sha1-xzCLGNv4vJNy1wGnNJPGEZK9Liw=", + "requires": { + "lodash.assign": "^3.0.0", + "lodash.restparam": "^3.0.0" + }, + "dependencies": { + "lodash.assign": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-3.2.0.tgz", + "integrity": "sha1-POnwI0tLIiPilrj6CsH+6OvKZPo=", + "requires": { + "lodash._baseassign": "^3.0.0", + "lodash._createassigner": "^3.0.0", + "lodash.keys": "^3.0.0" + } + } + } + } + } + }, + "aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "requires": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + } + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-errors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", + "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", + "dev": true + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==" + }, + "align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha1-DNkKVhCT810KmSVsIrcGlDP60Rc=", + "requires": { + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" + } + }, + "alphanum-sort": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", + "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=" + }, + "amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha1-SlKCrBZHKek2Gbz9OtFR+BfOkfU=" + }, + "ansi-colors": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", + "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", + "dev": true + }, + "ansi-escapes": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", + "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", + "dev": true + }, + "ansi-html": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", + "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=" + }, + "ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=" + }, + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "requires": { + "color-convert": "^1.9.0" + } + }, + "ant-design-vue": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/ant-design-vue/-/ant-design-vue-1.7.2.tgz", + "integrity": "sha512-iVskTSG62OSiptyGQkvyhoeLlLMiqKtAOTcWZ7MmsMrj38h0TCpGtqSYS4/fwq4yYgyzloYSteBo8U8TrV99RA==", + "requires": { + "@ant-design/icons": "^2.1.1", + "@ant-design/icons-vue": "^2.0.0", + "@simonwep/pickr": "~1.7.0", + "add-dom-event-listener": "^1.0.2", + "array-tree-filter": "^2.1.0", + "async-validator": "^3.0.3", + "babel-helper-vue-jsx-merge-props": "^2.0.3", + "babel-runtime": "6.x", + "classnames": "^2.2.5", + "component-classes": "^1.2.6", + "dom-align": "^1.10.4", + "dom-closest": "^0.2.0", + "dom-scroll-into-view": "^2.0.0", + "enquire.js": "^2.1.6", + "intersperse": "^1.0.0", + "is-mobile": "^2.2.1", + "is-negative-zero": "^2.0.0", + "ismobilejs": "^1.0.0", + "json2mq": "^0.2.0", + "lodash": "^4.17.5", + "moment": "^2.21.0", + "mutationobserver-shim": "^0.3.2", + "node-emoji": "^1.10.0", + "omit.js": "^1.0.0", + "raf": "^3.4.0", + "resize-observer-polyfill": "^1.5.1", + "shallow-equal": "^1.0.0", + "shallowequal": "^1.0.2", + "vue-ref": "^2.0.0", + "warning": "^4.0.0" + } + }, + "any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha1-q8av7tzqUugJzcA3au0845Y10X8=", + "dev": true + }, + "anymatch": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", + "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", + "requires": { + "micromatch": "^3.1.4", + "normalize-path": "^2.1.1" + }, + "dependencies": { + "normalize-path": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", + "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", + "requires": { + "remove-trailing-separator": "^1.0.1" + } + } + } + }, + "aproba": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", + "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "dev": true + }, + "arch": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", + "integrity": "sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==", + "dev": true + }, + "area-data": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/area-data/-/area-data-5.0.6.tgz", + "integrity": "sha512-QxLoA+823xXKyhw5S3750I9TToki0OS42HU9ol3rCOsCXfkjtl8RtQ/eoj0cK0Levn4//oEM05FmMumfw/HIlg==" + }, + "argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "requires": { + "sprintf-js": "~1.0.2" + } + }, + "arr-diff": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", + "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=" + }, + "arr-flatten": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", + "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==" + }, + "arr-union": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", + "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=" + }, + "array-find-index": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.2.tgz", + "integrity": "sha1-3wEKoSh+Fku9pvlyOwqWoexBh6E=" + }, + "array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" + }, + "array-includes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.2.tgz", + "integrity": "sha512-w2GspexNQpx+PutG3QpT437/BenZBj0M/MZGn5mzv/MofYqo0xmRHzn4lFsoDlWJ+THYsGJmFlW68WlDFx7VRw==", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1", + "get-intrinsic": "^1.0.1", + "is-string": "^1.0.5" + } + }, + "array-tree-filter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-tree-filter/-/array-tree-filter-2.1.0.tgz", + "integrity": "sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw==" + }, + "array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "requires": { + "array-uniq": "^1.0.1" + } + }, + "array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=" + }, + "array-unique": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", + "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=" + }, + "array.prototype.flat": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.2.4.tgz", + "integrity": "sha512-4470Xi3GAPAjZqFcljX2xzckv1qeKPizoNkiS0+O4IoPR2ZNpcjE0pkhdihlDouK+x6QOast26B4Q/O9DJnwSg==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1" + } + }, + "asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, + "requires": { + "safer-buffer": "~2.1.0" + } + }, + "asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + } + } + }, + "assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=" + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true + }, + "assign-symbols": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", + "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=" + }, + "astral-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", + "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", + "dev": true + }, + "async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "requires": { + "lodash": "^4.17.14" + } + }, + "async-each": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", + "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==" + }, + "async-limiter": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", + "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", + "dev": true + }, + "async-validator": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/async-validator/-/async-validator-3.5.1.tgz", + "integrity": "sha512-DDmKA7sdSAJtTVeNZHrnr2yojfFaoeW8MfQN8CeuXg8DDQHTqKk9Fdv38dSvnesHoO8MUwMI2HphOeSyIF+wmQ==" + }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==" + }, + "autoprefixer": { + "version": "6.7.7", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-6.7.7.tgz", + "integrity": "sha1-Hb0cg1ZY41zj+ZhAmdsAWFx4IBQ=", + "requires": { + "browserslist": "^1.7.6", + "caniuse-db": "^1.0.30000634", + "normalize-range": "^0.1.2", + "num2fraction": "^1.2.2", + "postcss": "^5.2.16", + "postcss-value-parser": "^3.2.3" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "browserslist": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", + "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", + "requires": { + "caniuse-db": "^1.0.30000639", + "electron-to-chromium": "^1.2.7" + } + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + }, + "dependencies": { + "js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==" + } + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "autoprefixer-loader": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/autoprefixer-loader/-/autoprefixer-loader-3.2.0.tgz", + "integrity": "sha1-Oae2ZGqCaYZQc9lYyX9IYVLCyEo=", + "requires": { + "autoprefixer": "^6.0.2", + "loader-utils": "^0.2.11", + "postcss": "^5.0.4", + "postcss-safe-parser": "^1.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "big.js": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-3.2.0.tgz", + "integrity": "sha512-+hN/Zh2D08Mx65pZ/4g5bsmNiZUuChDiQfTUQ7qJr4/kuopCr88xZsAXv6mBoZEsUI4OuGHlX59qE94K2mMW8Q==" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=" + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" + }, + "loader-utils": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.17.tgz", + "integrity": "sha1-+G5jdNQyBabmxg6RlvF8Apm/s0g=", + "requires": { + "big.js": "^3.1.3", + "emojis-list": "^2.0.0", + "json5": "^0.5.0", + "object-assign": "^4.0.1" + } + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + }, + "dependencies": { + "js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==" + } + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true + }, + "aws4": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.11.0.tgz", + "integrity": "sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==", + "dev": true + }, + "axios": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", + "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", + "requires": { + "follow-redirects": "^1.10.0" + }, + "dependencies": { + "follow-redirects": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.3.tgz", + "integrity": "sha512-DUgl6+HDzB0iEptNQEXLx/KhTmDb8tZUHSeLqpnjpknR70H0nC2t9N73BK6fN4hOvJ84pKlIQVQ4k5FFlBedKA==" + } + } + }, + "babel-code-frame": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", + "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", + "requires": { + "chalk": "^1.1.3", + "esutils": "^2.0.2", + "js-tokens": "^3.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "js-tokens": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", + "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=" + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "babel-core": { + "version": "6.26.3", + "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", + "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", + "requires": { + "babel-code-frame": "^6.26.0", + "babel-generator": "^6.26.0", + "babel-helpers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-register": "^6.26.0", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "convert-source-map": "^1.5.1", + "debug": "^2.6.9", + "json5": "^0.5.1", + "lodash": "^4.17.4", + "minimatch": "^3.0.4", + "path-is-absolute": "^1.0.1", + "private": "^0.1.8", + "slash": "^1.0.0", + "source-map": "^0.5.7" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + } + } + }, + "babel-eslint": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/babel-eslint/-/babel-eslint-7.2.3.tgz", + "integrity": "sha1-sv4tgBJkcPXBlELcdXJTqJdxCCc=", + "dev": true, + "requires": { + "babel-code-frame": "^6.22.0", + "babel-traverse": "^6.23.1", + "babel-types": "^6.23.0", + "babylon": "^6.17.0" + } + }, + "babel-generator": { + "version": "6.26.1", + "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", + "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", + "requires": { + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "detect-indent": "^4.0.0", + "jsesc": "^1.3.0", + "lodash": "^4.17.4", + "source-map": "^0.5.7", + "trim-right": "^1.0.1" + }, + "dependencies": { + "jsesc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", + "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=" + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + } + } + }, + "babel-helper-builder-binary-assignment-operator-visitor": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-builder-binary-assignment-operator-visitor/-/babel-helper-builder-binary-assignment-operator-visitor-6.24.1.tgz", + "integrity": "sha1-zORReto1b0IgvK6KAsKzRvmlZmQ=", + "requires": { + "babel-helper-explode-assignable-expression": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-call-delegate": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-call-delegate/-/babel-helper-call-delegate-6.24.1.tgz", + "integrity": "sha1-7Oaqzdx25Bw0YfiL/Fdb0Nqi340=", + "requires": { + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-define-map": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-define-map/-/babel-helper-define-map-6.26.0.tgz", + "integrity": "sha1-pfVtq0GiX5fstJjH66ypgZ+Vvl8=", + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "babel-helper-explode-assignable-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-explode-assignable-expression/-/babel-helper-explode-assignable-expression-6.24.1.tgz", + "integrity": "sha1-8luCz33BBDPFX3BZLVdGQArCLKo=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-function-name/-/babel-helper-function-name-6.24.1.tgz", + "integrity": "sha1-00dbjAPtmCQqJbSDUasYOZ01gKk=", + "requires": { + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-get-function-arity": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-get-function-arity/-/babel-helper-get-function-arity-6.24.1.tgz", + "integrity": "sha1-j3eCqpNAfEHTqlCQj4mwMbG2hT0=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-hoist-variables": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-hoist-variables/-/babel-helper-hoist-variables-6.24.1.tgz", + "integrity": "sha1-HssnaJydJVE+rbyZFKc/VAi+enY=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-optimise-call-expression": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-optimise-call-expression/-/babel-helper-optimise-call-expression-6.24.1.tgz", + "integrity": "sha1-96E0J7qfc/j0+pk8VKl4gtEkQlc=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-helper-regex": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-helper-regex/-/babel-helper-regex-6.26.0.tgz", + "integrity": "sha1-MlxZ+QL4LyS3T6zu0DY5VPZJXnI=", + "requires": { + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "babel-helper-remap-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-remap-async-to-generator/-/babel-helper-remap-async-to-generator-6.24.1.tgz", + "integrity": "sha1-XsWBgnrXI/7N04HxySg5BnbkVRs=", + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-replace-supers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helper-replace-supers/-/babel-helper-replace-supers-6.24.1.tgz", + "integrity": "sha1-v22/5Dk40XNpohPKiov3S2qQqxo=", + "requires": { + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-helper-vue-jsx-merge-props": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/babel-helper-vue-jsx-merge-props/-/babel-helper-vue-jsx-merge-props-2.0.3.tgz", + "integrity": "sha512-gsLiKK7Qrb7zYJNgiXKpXblxbV5ffSwR0f5whkPAaBAR4fhi6bwRZxX9wBlIc5M/v8CCkXUbXZL4N/nSE97cqg==" + }, + "babel-helpers": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", + "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-loader": { + "version": "8.2.2", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.2.tgz", + "integrity": "sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g==", + "dev": true, + "requires": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^1.4.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "dependencies": { + "find-cache-dir": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", + "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + } + } + }, + "babel-messages": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", + "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-check-es2015-constants": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-check-es2015-constants/-/babel-plugin-check-es2015-constants-6.22.0.tgz", + "integrity": "sha1-NRV7EBQm/S/9PaP3XH0ekYNbv4o=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dev": true, + "requires": { + "object.assign": "^4.1.0" + } + }, + "babel-plugin-module-resolver": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/babel-plugin-module-resolver/-/babel-plugin-module-resolver-3.2.0.tgz", + "integrity": "sha512-tjR0GvSndzPew/Iayf4uICWZqjBwnlMWjSx6brryfQ81F9rxBVqwDJtFCV8oOs0+vJeefK9TmdZtkIFdFe1UnA==", + "dev": true, + "requires": { + "find-babel-config": "^1.1.0", + "glob": "^7.1.2", + "pkg-up": "^2.0.0", + "reselect": "^3.0.1", + "resolve": "^1.4.0" + } + }, + "babel-plugin-syntax-async-functions": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-async-functions/-/babel-plugin-syntax-async-functions-6.13.0.tgz", + "integrity": "sha1-ytnK0RkbWtY0vzCuCHI5HgZHvpU=" + }, + "babel-plugin-syntax-exponentiation-operator": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-exponentiation-operator/-/babel-plugin-syntax-exponentiation-operator-6.13.0.tgz", + "integrity": "sha1-nufoM3KQ2pUoggGmpX9BcDF4MN4=" + }, + "babel-plugin-syntax-trailing-function-commas": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-syntax-trailing-function-commas/-/babel-plugin-syntax-trailing-function-commas-6.22.0.tgz", + "integrity": "sha1-ugNgk3+NBuQBgKQ/4NVhb/9TLPM=" + }, + "babel-plugin-transform-async-to-generator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-async-to-generator/-/babel-plugin-transform-async-to-generator-6.24.1.tgz", + "integrity": "sha1-ZTbjeK/2yx1VF6wOQOs+n8jQh2E=", + "requires": { + "babel-helper-remap-async-to-generator": "^6.24.1", + "babel-plugin-syntax-async-functions": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-arrow-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-arrow-functions/-/babel-plugin-transform-es2015-arrow-functions-6.22.0.tgz", + "integrity": "sha1-RSaSy3EdX3ncf4XkQM5BufJE0iE=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-block-scoped-functions": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoped-functions/-/babel-plugin-transform-es2015-block-scoped-functions-6.22.0.tgz", + "integrity": "sha1-u8UbSflk1wy42OC5ToICRs46YUE=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-block-scoping": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-block-scoping/-/babel-plugin-transform-es2015-block-scoping-6.26.0.tgz", + "integrity": "sha1-1w9SmcEwjQXBL0Y4E7CgnnOxiV8=", + "requires": { + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "lodash": "^4.17.4" + } + }, + "babel-plugin-transform-es2015-classes": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-classes/-/babel-plugin-transform-es2015-classes-6.24.1.tgz", + "integrity": "sha1-WkxYpQyclGHlZLSyo7+ryXolhNs=", + "requires": { + "babel-helper-define-map": "^6.24.1", + "babel-helper-function-name": "^6.24.1", + "babel-helper-optimise-call-expression": "^6.24.1", + "babel-helper-replace-supers": "^6.24.1", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-computed-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-computed-properties/-/babel-plugin-transform-es2015-computed-properties-6.24.1.tgz", + "integrity": "sha1-b+Ko0WiV1WNPTNmZttNICjCBWbM=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-destructuring": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", + "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-duplicate-keys": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-duplicate-keys/-/babel-plugin-transform-es2015-duplicate-keys-6.24.1.tgz", + "integrity": "sha1-c+s9MQypaePvnskcU3QabxV2Qj4=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-for-of": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-for-of/-/babel-plugin-transform-es2015-for-of-6.23.0.tgz", + "integrity": "sha1-9HyVsrYT3x0+zC/bdXNiPHUkhpE=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-function-name": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-function-name/-/babel-plugin-transform-es2015-function-name-6.24.1.tgz", + "integrity": "sha1-g0yJhTvDaxrw86TF26qU/Y6sqos=", + "requires": { + "babel-helper-function-name": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-literals/-/babel-plugin-transform-es2015-literals-6.22.0.tgz", + "integrity": "sha1-T1SgLWzWbPkVKAAZox0xklN3yi4=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-modules-amd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-amd/-/babel-plugin-transform-es2015-modules-amd-6.24.1.tgz", + "integrity": "sha1-Oz5UAXI5hC1tGcMBHEvS8AoA0VQ=", + "requires": { + "babel-plugin-transform-es2015-modules-commonjs": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-modules-commonjs": { + "version": "6.26.2", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-commonjs/-/babel-plugin-transform-es2015-modules-commonjs-6.26.2.tgz", + "integrity": "sha512-CV9ROOHEdrjcwhIaJNBGMBCodN+1cfkwtM1SbUHmvyy35KGT7fohbpOxkE2uLz1o6odKK2Ck/tz47z+VqQfi9Q==", + "requires": { + "babel-plugin-transform-strict-mode": "^6.24.1", + "babel-runtime": "^6.26.0", + "babel-template": "^6.26.0", + "babel-types": "^6.26.0" + } + }, + "babel-plugin-transform-es2015-modules-systemjs": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-systemjs/-/babel-plugin-transform-es2015-modules-systemjs-6.24.1.tgz", + "integrity": "sha1-/4mhQrkRmpBhlfXxBuzzBdlAfSM=", + "requires": { + "babel-helper-hoist-variables": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-modules-umd": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-modules-umd/-/babel-plugin-transform-es2015-modules-umd-6.24.1.tgz", + "integrity": "sha1-rJl+YoXNGO1hdq22B9YCNErThGg=", + "requires": { + "babel-plugin-transform-es2015-modules-amd": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-object-super": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-object-super/-/babel-plugin-transform-es2015-object-super-6.24.1.tgz", + "integrity": "sha1-JM72muIcuDp/hgPa0CH1cusnj40=", + "requires": { + "babel-helper-replace-supers": "^6.24.1", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-parameters": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-parameters/-/babel-plugin-transform-es2015-parameters-6.24.1.tgz", + "integrity": "sha1-V6w1GrScrxSpfNE7CfZv3wpiXys=", + "requires": { + "babel-helper-call-delegate": "^6.24.1", + "babel-helper-get-function-arity": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-template": "^6.24.1", + "babel-traverse": "^6.24.1", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-shorthand-properties": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-shorthand-properties/-/babel-plugin-transform-es2015-shorthand-properties-6.24.1.tgz", + "integrity": "sha1-JPh11nIch2YbvZmkYi5R8U3jiqA=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-spread": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-spread/-/babel-plugin-transform-es2015-spread-6.22.0.tgz", + "integrity": "sha1-1taKmfia7cRTbIGlQujdnxdG+NE=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-sticky-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-sticky-regex/-/babel-plugin-transform-es2015-sticky-regex-6.24.1.tgz", + "integrity": "sha1-AMHNsaynERLN8M9hJsLta0V8zbw=", + "requires": { + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-plugin-transform-es2015-template-literals": { + "version": "6.22.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-template-literals/-/babel-plugin-transform-es2015-template-literals-6.22.0.tgz", + "integrity": "sha1-qEs0UPfp+PH2g51taH2oS7EjbY0=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-typeof-symbol": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-typeof-symbol/-/babel-plugin-transform-es2015-typeof-symbol-6.23.0.tgz", + "integrity": "sha1-3sCfHN3/lLUqxz1QXITfWdzOs3I=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-es2015-unicode-regex": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-unicode-regex/-/babel-plugin-transform-es2015-unicode-regex-6.24.1.tgz", + "integrity": "sha1-04sS9C6nMj9yk4fxinxa4frrNek=", + "requires": { + "babel-helper-regex": "^6.24.1", + "babel-runtime": "^6.22.0", + "regexpu-core": "^2.0.0" + } + }, + "babel-plugin-transform-exponentiation-operator": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-exponentiation-operator/-/babel-plugin-transform-exponentiation-operator-6.24.1.tgz", + "integrity": "sha1-KrDJx/MJj6SJB3cruBP+QejeOg4=", + "requires": { + "babel-helper-builder-binary-assignment-operator-visitor": "^6.24.1", + "babel-plugin-syntax-exponentiation-operator": "^6.8.0", + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-regenerator": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-regenerator/-/babel-plugin-transform-regenerator-6.26.0.tgz", + "integrity": "sha1-4HA2lvveJ/Cj78rPi03KL3s6jy8=", + "requires": { + "regenerator-transform": "^0.10.0" + } + }, + "babel-plugin-transform-runtime": { + "version": "6.23.0", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-runtime/-/babel-plugin-transform-runtime-6.23.0.tgz", + "integrity": "sha1-iEkNRGUC6puOfvsP4J7E2ZR5se4=", + "requires": { + "babel-runtime": "^6.22.0" + } + }, + "babel-plugin-transform-strict-mode": { + "version": "6.24.1", + "resolved": "https://registry.npmjs.org/babel-plugin-transform-strict-mode/-/babel-plugin-transform-strict-mode-6.24.1.tgz", + "integrity": "sha1-1fr3qleKZbvlkc9e2uBKDGcCB1g=", + "requires": { + "babel-runtime": "^6.22.0", + "babel-types": "^6.24.1" + } + }, + "babel-preset-env": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/babel-preset-env/-/babel-preset-env-1.7.0.tgz", + "integrity": "sha512-9OR2afuKDneX2/q2EurSftUYM0xGu4O2D9adAhVfADDhrYDaxXV0rBbevVYoY9n6nyX1PmQW/0jtpJvUNr9CHg==", + "requires": { + "babel-plugin-check-es2015-constants": "^6.22.0", + "babel-plugin-syntax-trailing-function-commas": "^6.22.0", + "babel-plugin-transform-async-to-generator": "^6.22.0", + "babel-plugin-transform-es2015-arrow-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoped-functions": "^6.22.0", + "babel-plugin-transform-es2015-block-scoping": "^6.23.0", + "babel-plugin-transform-es2015-classes": "^6.23.0", + "babel-plugin-transform-es2015-computed-properties": "^6.22.0", + "babel-plugin-transform-es2015-destructuring": "^6.23.0", + "babel-plugin-transform-es2015-duplicate-keys": "^6.22.0", + "babel-plugin-transform-es2015-for-of": "^6.23.0", + "babel-plugin-transform-es2015-function-name": "^6.22.0", + "babel-plugin-transform-es2015-literals": "^6.22.0", + "babel-plugin-transform-es2015-modules-amd": "^6.22.0", + "babel-plugin-transform-es2015-modules-commonjs": "^6.23.0", + "babel-plugin-transform-es2015-modules-systemjs": "^6.23.0", + "babel-plugin-transform-es2015-modules-umd": "^6.23.0", + "babel-plugin-transform-es2015-object-super": "^6.22.0", + "babel-plugin-transform-es2015-parameters": "^6.23.0", + "babel-plugin-transform-es2015-shorthand-properties": "^6.22.0", + "babel-plugin-transform-es2015-spread": "^6.22.0", + "babel-plugin-transform-es2015-sticky-regex": "^6.22.0", + "babel-plugin-transform-es2015-template-literals": "^6.22.0", + "babel-plugin-transform-es2015-typeof-symbol": "^6.23.0", + "babel-plugin-transform-es2015-unicode-regex": "^6.22.0", + "babel-plugin-transform-exponentiation-operator": "^6.22.0", + "babel-plugin-transform-regenerator": "^6.22.0", + "browserslist": "^3.2.6", + "invariant": "^2.2.2", + "semver": "^5.3.0" + }, + "dependencies": { + "browserslist": { + "version": "3.2.8", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-3.2.8.tgz", + "integrity": "sha512-WHVocJYavUwVgVViC0ORikPHQquXwVh939TaelZ4WDqpWgTX/FsGhl/+P4qBUAGcRvtOgDgC+xftNWWp2RUTAQ==", + "requires": { + "caniuse-lite": "^1.0.30000844", + "electron-to-chromium": "^1.3.47" + } + } + } + }, + "babel-register": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", + "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", + "requires": { + "babel-core": "^6.26.0", + "babel-runtime": "^6.26.0", + "core-js": "^2.5.0", + "home-or-tmp": "^2.0.0", + "lodash": "^4.17.4", + "mkdirp": "^0.5.1", + "source-map-support": "^0.4.15" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", + "requires": { + "source-map": "^0.5.6" + } + } + } + }, + "babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", + "requires": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + }, + "dependencies": { + "regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + } + } + }, + "babel-template": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", + "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", + "requires": { + "babel-runtime": "^6.26.0", + "babel-traverse": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "lodash": "^4.17.4" + } + }, + "babel-traverse": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", + "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", + "requires": { + "babel-code-frame": "^6.26.0", + "babel-messages": "^6.23.0", + "babel-runtime": "^6.26.0", + "babel-types": "^6.26.0", + "babylon": "^6.18.0", + "debug": "^2.6.8", + "globals": "^9.18.0", + "invariant": "^2.2.2", + "lodash": "^4.17.4" + }, + "dependencies": { + "globals": { + "version": "9.18.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", + "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==" + } + } + }, + "babel-types": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", + "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", + "requires": { + "babel-runtime": "^6.26.0", + "esutils": "^2.0.2", + "lodash": "^4.17.4", + "to-fast-properties": "^1.0.3" + } + }, + "babylon": { + "version": "6.18.0", + "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", + "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==" + }, + "balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" + }, + "base": { + "version": "0.11.2", + "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", + "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", + "requires": { + "cache-base": "^1.0.1", + "class-utils": "^0.3.5", + "component-emitter": "^1.2.1", + "define-property": "^1.0.0", + "isobject": "^3.0.1", + "mixin-deep": "^1.2.0", + "pascalcase": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + } + } + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=" + }, + "bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "requires": { + "tweetnacl": "^0.14.3" + } + }, + "bfj": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/bfj/-/bfj-6.1.2.tgz", + "integrity": "sha512-BmBJa4Lip6BPRINSZ0BPEIfB1wUY/9rwbwvIHQA1KjX9om29B6id0wnWXq7m3bn5JrUVjeOTnVuhPT1FiHwPGw==", + "dev": true, + "requires": { + "bluebird": "^3.5.5", + "check-types": "^8.0.3", + "hoopy": "^0.1.4", + "tryer": "^1.0.1" + } + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==" + }, + "binary-extensions": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", + "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==" + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==" + }, + "bn.js": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz", + "integrity": "sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==" + }, + "body-parser": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", + "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "requires": { + "bytes": "3.1.0", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "~1.1.2", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "on-finished": "~2.3.0", + "qs": "6.7.0", + "raw-body": "2.4.0", + "type-is": "~1.6.17" + }, + "dependencies": { + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + } + } + }, + "bonjour": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", + "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "requires": { + "array-flatten": "^2.1.0", + "deep-equal": "^1.0.1", + "dns-equal": "^1.0.0", + "dns-txt": "^2.0.2", + "multicast-dns": "^6.0.1", + "multicast-dns-service-types": "^1.1.0" + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", + "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", + "requires": { + "arr-flatten": "^1.1.0", + "array-unique": "^0.3.2", + "extend-shallow": "^2.0.1", + "fill-range": "^4.0.0", + "isobject": "^3.0.1", + "repeat-element": "^1.1.2", + "snapdragon": "^0.8.1", + "snapdragon-node": "^2.0.1", + "split-string": "^3.0.2", + "to-regex": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=" + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "requires": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "requires": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "requires": { + "pako": "~1.0.5" + } + }, + "browserslist": { + "version": "4.16.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.16.1.tgz", + "integrity": "sha512-UXhDrwqsNcpTYJBTZsbGATDxZbiVDsx6UjpmRUmtnP10pr8wAYr5LgFoEFw9ixriQH2mv/NX2SfGzE/o8GndLA==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001173", + "colorette": "^1.2.1", + "electron-to-chromium": "^1.3.634", + "escalade": "^3.1.1", + "node-releases": "^1.1.69" + } + }, + "buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "buffer-indexof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", + "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==" + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=" + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=" + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=" + }, + "cacache": { + "version": "12.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", + "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", + "dev": true, + "requires": { + "bluebird": "^3.5.5", + "chownr": "^1.1.1", + "figgy-pudding": "^3.5.1", + "glob": "^7.1.4", + "graceful-fs": "^4.1.15", + "infer-owner": "^1.0.3", + "lru-cache": "^5.1.1", + "mississippi": "^3.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.3", + "ssri": "^6.0.1", + "unique-filename": "^1.1.1", + "y18n": "^4.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + } + } + }, + "cache-base": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", + "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", + "requires": { + "collection-visit": "^1.0.0", + "component-emitter": "^1.2.1", + "get-value": "^2.0.6", + "has-value": "^1.0.0", + "isobject": "^3.0.1", + "set-value": "^2.0.0", + "to-object-path": "^0.3.0", + "union-value": "^1.0.0", + "unset-value": "^1.0.0" + } + }, + "cache-loader": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/cache-loader/-/cache-loader-2.0.1.tgz", + "integrity": "sha512-V99T3FOynmGx26Zom+JrVBytLBsmUCzVG2/4NnUKgvXN4bEV42R1ERl1IyiH/cvFIDA1Ytq2lPZ9tXDSahcQpQ==", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "mkdirp": "^0.5.1", + "neo-async": "^2.6.0", + "normalize-path": "^3.0.0", + "schema-utils": "^1.0.0" + }, + "dependencies": { + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "call-me-maybe": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/call-me-maybe/-/call-me-maybe-1.0.1.tgz", + "integrity": "sha1-JtII6onje1y95gJQoV8DHBak1ms=", + "dev": true + }, + "caller-callsite": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", + "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "dev": true, + "requires": { + "callsites": "^2.0.0" + }, + "dependencies": { + "callsites": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", + "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", + "dev": true + } + } + }, + "caller-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz", + "integrity": "sha1-lAhe9jWB7NPaqSREqP6U6CV3dR8=", + "dev": true, + "optional": true, + "requires": { + "callsites": "^0.2.0" + } + }, + "callsites": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz", + "integrity": "sha1-r6uWJikQp/M8GaV3WCXGnzTjUMo=", + "dev": true, + "optional": true + }, + "camel-case": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-3.0.0.tgz", + "integrity": "sha1-yjw2iKTpzzpM2nd9xNy8cTJJz3M=", + "dev": true, + "requires": { + "no-case": "^2.2.0", + "upper-case": "^1.1.1" + } + }, + "camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha1-m7UwTS4LVmmLLHWLCKPqqdqlijk=" + }, + "camelcase-keys": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz", + "integrity": "sha1-MIvur/3ygRkFHvodkyITyRuPkuc=", + "requires": { + "camelcase": "^2.0.0", + "map-obj": "^1.0.0" + }, + "dependencies": { + "camelcase": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz", + "integrity": "sha1-fB0W1nmhu+WcoCys7PsBHiAfWh8=" + } + } + }, + "caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "caniuse-db": { + "version": "1.0.30001179", + "resolved": "https://registry.npmjs.org/caniuse-db/-/caniuse-db-1.0.30001179.tgz", + "integrity": "sha512-YgqeMhTgW75OI7emeIpVTol3E2EQTQJqUJp/R1uA6aYzXOSyvGAGAkadvSdYqB/JPDBkXWwT3fLSxA+AuqttlA==" + }, + "caniuse-lite": { + "version": "1.0.30001179", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001179.tgz", + "integrity": "sha512-blMmO0QQujuUWZKyVrD1msR4WNDAqb/UPO1Sw2WWsQ7deoM5bJiicKnWJ1Y0NS/aGINSnKPIWBMw5luX+NDUCA==" + }, + "case-sensitive-paths-webpack-plugin": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.3.0.tgz", + "integrity": "sha512-/4YgnZS8y1UXXmC02xD5rRrBEu6T5ub+mQHLNRj0fzTRbgdBYhsNo2V5EqwgqrExjxsjtF/OpAKAMkKsxbD5XQ==", + "dev": true + }, + "caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "center-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha1-qg0yYptu6XIgBBHL1EYckHvCt60=", + "requires": { + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "chardet": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.4.2.tgz", + "integrity": "sha1-tUc7M9yXxCTl2Y3IfVXU2KKci/I=", + "dev": true, + "optional": true + }, + "charenc": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha1-wKHS86cJLgN3S/qD8UwPxXkKhmc=" + }, + "check-types": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/check-types/-/check-types-8.0.3.tgz", + "integrity": "sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ==", + "dev": true + }, + "chokidar": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", + "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", + "requires": { + "anymatch": "^2.0.0", + "async-each": "^1.0.1", + "braces": "^2.3.2", + "fsevents": "^1.2.7", + "glob-parent": "^3.1.0", + "inherits": "^2.0.3", + "is-binary-path": "^1.0.0", + "is-glob": "^4.0.0", + "normalize-path": "^3.0.0", + "path-is-absolute": "^1.0.0", + "readdirp": "^2.2.1", + "upath": "^1.1.1" + }, + "dependencies": { + "fsevents": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", + "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", + "optional": true + } + } + }, + "chownr": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", + "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", + "dev": true + }, + "chrome-trace-event": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", + "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } + } + }, + "ci-info": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-1.6.0.tgz", + "integrity": "sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A==", + "dev": true + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "circular-json": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/circular-json/-/circular-json-0.3.3.tgz", + "integrity": "sha512-UZK3NBx2Mca+b5LsG7bY183pHWt5Y1xts4P3Pz7ENTwGVnJOUWbRb3ocjvX7hx9tq/yTAdclXm9sZ38gNuem4A==", + "dev": true, + "optional": true + }, + "clap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/clap/-/clap-1.2.3.tgz", + "integrity": "sha512-4CoL/A3hf90V3VIEjeuhSvlGFEHKzOz+Wfc2IVZc+FaUgU0ZQafJTP49fvnULipOPcAfqhyI2duwQyns6xqjYA==", + "requires": { + "chalk": "^1.1.3" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "class-utils": { + "version": "0.3.6", + "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", + "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", + "requires": { + "arr-union": "^3.1.0", + "define-property": "^0.2.5", + "isobject": "^3.0.0", + "static-extend": "^0.1.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "classnames": { + "version": "2.2.6", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.2.6.tgz", + "integrity": "sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q==" + }, + "clean-css": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.3.tgz", + "integrity": "sha512-VcMWDN54ZN/DS+g58HYL5/n4Zrqe8vHJpGA8KdgUXFU4fuP/aHNw8eld9SyEIyabIMJX/0RaY/fplOo5hYLSFA==", + "dev": true, + "requires": { + "source-map": "~0.6.0" + } + }, + "clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true + }, + "cli-cursor": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", + "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", + "dev": true, + "requires": { + "restore-cursor": "^2.0.0" + } + }, + "cli-highlight": { + "version": "2.1.10", + "resolved": "https://registry.npmjs.org/cli-highlight/-/cli-highlight-2.1.10.tgz", + "integrity": "sha512-CcPFD3JwdQ2oSzy+AMG6j3LRTkNjM82kzcSKzoVw6cLanDCJNlsLjeqVTOTfOfucnWv5F0rmBemVf1m9JiIasw==", + "dev": true, + "requires": { + "chalk": "^4.0.0", + "highlight.js": "^10.0.0", + "mz": "^2.4.0", + "parse5": "^5.1.1", + "parse5-htmlparser2-tree-adapter": "^6.0.0", + "yargs": "^16.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", + "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "string-width": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", + "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.0" + } + }, + "strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "y18n": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.5.tgz", + "integrity": "sha512-hsRUr4FFrvhhRH12wOdfs38Gy7k2FFzB9qgN9v3aLykRq0dRcdcpz5C9FxdS2NuhOrI/628b/KSTJ3rwHysYSg==", + "dev": true + }, + "yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + } + } + } + }, + "cli-spinners": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.5.0.tgz", + "integrity": "sha512-PC+AmIuK04E6aeSs/pUccSujsTzBhu4HzC2dL+CfJB/Jcc2qTRbEwZQDfIUpt2Xl8BodYBEq8w4fc0kU2I9DjQ==", + "dev": true + }, + "cli-width": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", + "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", + "dev": true + }, + "clipboard": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/clipboard/-/clipboard-2.0.6.tgz", + "integrity": "sha512-g5zbiixBRk/wyKakSwCKd7vQXDjFnAMGHoEyBogG/bw9kTD9GvdAvaoRR1ALcEzt3pVKxZR0pViekPMIS0QyGg==", + "requires": { + "good-listener": "^1.2.2", + "select": "^1.1.2", + "tiny-emitter": "^2.0.0" + } + }, + "clipboardy": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/clipboardy/-/clipboardy-2.3.0.tgz", + "integrity": "sha512-mKhiIL2DrQIsuXMgBgnfEHOZOryC7kY7YO//TN6c63wlEm3NG5tz+YgY5rVi29KCmq/QQjKYvM7a19+MDOTHOQ==", + "dev": true, + "requires": { + "arch": "^2.1.1", + "execa": "^1.0.0", + "is-wsl": "^2.1.1" + }, + "dependencies": { + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "requires": { + "is-docker": "^2.0.0" + } + } + } + }, + "cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha1-S0dXYP+AJkx2LDoXGQMukcf+oNE=", + "requires": { + "center-align": "^0.1.1", + "right-align": "^0.1.1", + "wordwrap": "0.0.2" + } + }, + "clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=" + }, + "co": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", + "integrity": "sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ=" + }, + "coa": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", + "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "dev": true, + "requires": { + "@types/q": "^1.5.1", + "chalk": "^2.4.1", + "q": "^1.1.2" + } + }, + "code-point-at": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", + "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=" + }, + "codemirror": { + "version": "5.59.2", + "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.59.2.tgz", + "integrity": "sha512-/D5PcsKyzthtSy2NNKCyJi3b+htRkoKv3idswR/tR6UAvMNKA7SrmyZy6fOONJxSRs1JlUWEDAbxqfdArbK8iA==" + }, + "collection-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", + "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "requires": { + "map-visit": "^1.0.0", + "object-visit": "^1.0.0" + } + }, + "color": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/color/-/color-3.1.3.tgz", + "integrity": "sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ==", + "dev": true, + "requires": { + "color-convert": "^1.9.1", + "color-string": "^1.5.4" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "requires": { + "color-name": "1.1.3" + }, + "dependencies": { + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + } + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" + }, + "color-string": { + "version": "1.5.4", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.4.tgz", + "integrity": "sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw==", + "dev": true, + "requires": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "colorette": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", + "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==", + "dev": true + }, + "colormin": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colormin/-/colormin-1.1.2.tgz", + "integrity": "sha1-6i90IKcrlogaOKrlnsEkpvcpgTM=", + "requires": { + "color": "^0.11.0", + "css-color-names": "0.0.4", + "has": "^1.0.1" + }, + "dependencies": { + "color": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/color/-/color-0.11.4.tgz", + "integrity": "sha1-bXtcdPtl6EHNSHkq0e1eB7kE12Q=", + "requires": { + "clone": "^1.0.2", + "color-convert": "^1.3.0", + "color-string": "^0.3.0" + } + }, + "color-string": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz", + "integrity": "sha1-J9RvtnAlxcL6JZk7+/V55HhBuZE=", + "requires": { + "color-name": "^1.0.0" + } + } + } + }, + "colors": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", + "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=" + }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "requires": { + "delayed-stream": "~1.0.0" + } + }, + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==" + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=" + }, + "component-classes": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/component-classes/-/component-classes-1.2.6.tgz", + "integrity": "sha1-xkI5TDYYpNiwuJGe/Mu9kw5c1pE=", + "requires": { + "component-indexof": "0.0.3" + } + }, + "component-emitter": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" + }, + "component-indexof": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/component-indexof/-/component-indexof-0.0.3.tgz", + "integrity": "sha1-EdCRMSI5648yyPJa6csAL/6NPCQ=" + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } + } + }, + "compression-webpack-plugin": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/compression-webpack-plugin/-/compression-webpack-plugin-3.1.0.tgz", + "integrity": "sha512-iqTHj3rADN4yHwXMBrQa/xrncex/uEQy8QHlaTKxGchT/hC0SdlJlmL/5eRqffmWq2ep0/Romw6Ld39JjTR/ug==", + "dev": true, + "requires": { + "cacache": "^13.0.1", + "find-cache-dir": "^3.0.0", + "neo-async": "^2.5.0", + "schema-utils": "^2.6.1", + "serialize-javascript": "^2.1.2", + "webpack-sources": "^1.0.1" + }, + "dependencies": { + "cacache": { + "version": "13.0.1", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-13.0.1.tgz", + "integrity": "sha512-5ZvAxd05HDDU+y9BVvcqYu2LLXmPnQ0hW62h32g4xBTgL/MppR4/04NHfj/ycM2y6lmTnbw6HVi+1eN0Psba6w==", + "dev": true, + "requires": { + "chownr": "^1.1.2", + "figgy-pudding": "^3.5.1", + "fs-minipass": "^2.0.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.2", + "infer-owner": "^1.0.4", + "lru-cache": "^5.1.1", + "minipass": "^3.0.0", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.2", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "p-map": "^3.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^2.7.1", + "ssri": "^7.0.0", + "unique-filename": "^1.1.1" + } + }, + "find-cache-dir": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", + "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "requires": { + "yallist": "^3.0.2" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-map": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", + "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "dev": true, + "requires": { + "aggregate-error": "^3.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + }, + "serialize-javascript": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz", + "integrity": "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==", + "dev": true + }, + "ssri": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-7.1.0.tgz", + "integrity": "sha512-77/WrDZUWocK0mvA5NTRQyveUf+wsrIc6vyrxpS8tVvYBcX215QbafrJR3KtkpskIzoFLqqNuuYQvxaMjXJ/0g==", + "dev": true, + "requires": { + "figgy-pudding": "^3.5.1", + "minipass": "^3.1.1" + } + }, + "yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true + } + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" + }, + "concat-stream": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", + "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^2.2.2", + "typedarray": "^0.0.6" + } + }, + "connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==" + }, + "console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==" + }, + "consolidate": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.15.1.tgz", + "integrity": "sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==", + "requires": { + "bluebird": "^3.1.1" + } + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=" + }, + "contains-path": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/contains-path/-/contains-path-0.1.0.tgz", + "integrity": "sha1-/ozxhP9mcLa67wGp1IYaXL7EEgo=", + "dev": true + }, + "content-disposition": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", + "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "requires": { + "safe-buffer": "5.1.2" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==" + }, + "contour_plot": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/contour_plot/-/contour_plot-0.0.1.tgz", + "integrity": "sha1-R1hw8DK44zhBKqX8UHiA8L9JXHc=" + }, + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "requires": { + "safe-buffer": "~5.1.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } + } + }, + "cookie": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", + "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==" + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" + }, + "copy-anything": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.1.tgz", + "integrity": "sha512-lA57e7viQHOdPQcrytv5jFeudZZOXuyk47lZym279FiDQ8jeZomXiGuVf6ffMKkJ+3TIai3J1J3yi6M+/4U35g==", + "dev": true, + "requires": { + "is-what": "^3.7.1" + } + }, + "copy-concurrently": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", + "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "fs-write-stream-atomic": "^1.0.8", + "iferr": "^0.1.5", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.0" + } + }, + "copy-descriptor": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", + "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=" + }, + "copy-webpack-plugin": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-4.6.0.tgz", + "integrity": "sha512-Y+SQCF+0NoWQryez2zXn5J5knmr9z/9qSQt7fbL78u83rxmigOy8X5+BFn8CFSuX+nKT8gpYwJX68ekqtQt6ZA==", + "dev": true, + "requires": { + "cacache": "^10.0.4", + "find-cache-dir": "^1.0.0", + "globby": "^7.1.1", + "is-glob": "^4.0.0", + "loader-utils": "^1.1.0", + "minimatch": "^3.0.4", + "p-limit": "^1.0.0", + "serialize-javascript": "^1.4.0" + }, + "dependencies": { + "cacache": { + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-10.0.4.tgz", + "integrity": "sha512-Dph0MzuH+rTQzGPNT9fAnrPmMmjKfST6trxJeK7NQuHRaVw24VzPRWTmg9MpcwOVQZO0E1FBICUlFeNaKPIfHA==", + "dev": true, + "requires": { + "bluebird": "^3.5.1", + "chownr": "^1.0.1", + "glob": "^7.1.2", + "graceful-fs": "^4.1.11", + "lru-cache": "^4.1.1", + "mississippi": "^2.0.0", + "mkdirp": "^0.5.1", + "move-concurrently": "^1.0.1", + "promise-inflight": "^1.0.1", + "rimraf": "^2.6.2", + "ssri": "^5.2.4", + "unique-filename": "^1.1.0", + "y18n": "^4.0.0" + } + }, + "globby": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", + "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", + "dev": true, + "requires": { + "array-union": "^1.0.1", + "dir-glob": "^2.0.0", + "glob": "^7.1.2", + "ignore": "^3.3.5", + "pify": "^3.0.0", + "slash": "^1.0.0" + } + }, + "mississippi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-2.0.0.tgz", + "integrity": "sha512-zHo8v+otD1J10j/tC+VNoGK9keCuByhKovAvdn74dmxJl9+mWHnx6EMsDN4lgRoMI/eYo2nchAxniIbUPb5onw==", + "dev": true, + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^2.0.1", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + }, + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "serialize-javascript": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-1.9.1.tgz", + "integrity": "sha512-0Vb/54WJ6k5v8sSWN09S0ora+Hnr+cX40r9F170nT+mSkaxltoE/7R3OrIdBSUv1OoiobH1QoWQbCnAO+e8J1A==", + "dev": true + }, + "ssri": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-5.3.0.tgz", + "integrity": "sha512-XRSIPqLij52MtgoQavH/x/dU1qVKtWUAAZeOHsR9c2Ddi4XerFy3mc1alf+dLJKl9EUIm/Ht+EowFkTUOA6GAQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.1" + } + } + } + }, + "core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==" + }, + "core-util-is": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=" + }, + "cosmiconfig": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-2.2.2.tgz", + "integrity": "sha512-GiNXLwAFPYHy25XmTPpafYvn3CLAkJ8FLsscq78MQd1Kh0OU6Yzhn4eV2MVF4G9WEQZoWEGltatdR+ntGPMl5A==", + "requires": { + "is-directory": "^0.3.1", + "js-yaml": "^3.4.3", + "minimist": "^1.2.0", + "object-assign": "^4.1.0", + "os-homedir": "^1.0.1", + "parse-json": "^2.2.0", + "require-from-string": "^1.1.0" + } + }, + "create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + } + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "cross-env": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-5.2.1.tgz", + "integrity": "sha512-1yHhtcfAd1r4nwQgknowuUNfIT9E8dOMMspC36g45dN+iD1blloi7xp8X/xAIDnjHWyt1uQ8PHk2fkNaym7soQ==", + "requires": { + "cross-spawn": "^6.0.5" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + } + } + }, + "cross-spawn": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz", + "integrity": "sha1-6L0O/uWPz/b4+UUQoKVUu/ojVEk=", + "requires": { + "lru-cache": "^4.0.1", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "crypt": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha1-iNf/fsDfuG9xPch7u0LQRNPmxBs=" + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "css": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", + "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", + "requires": { + "inherits": "^2.0.3", + "source-map": "^0.6.1", + "source-map-resolve": "^0.5.2", + "urix": "^0.1.0" + } + }, + "css-color-names": { + "version": "0.0.4", + "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", + "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=" + }, + "css-declaration-sorter": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz", + "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==", + "dev": true, + "requires": { + "postcss": "^7.0.1", + "timsort": "^0.3.0" + } + }, + "css-loader": { + "version": "0.28.11", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-0.28.11.tgz", + "integrity": "sha512-wovHgjAx8ZIMGSL8pTys7edA1ClmzxHeY6n/d97gg5odgsxEgKjULPR0viqyC+FWMCL9sfqoC/QCUBo62tLvPg==", + "requires": { + "babel-code-frame": "^6.26.0", + "css-selector-tokenizer": "^0.7.0", + "cssnano": "^3.10.0", + "icss-utils": "^2.1.0", + "loader-utils": "^1.0.2", + "lodash.camelcase": "^4.3.0", + "object-assign": "^4.1.1", + "postcss": "^5.0.6", + "postcss-modules-extract-imports": "^1.2.0", + "postcss-modules-local-by-default": "^1.2.0", + "postcss-modules-scope": "^1.1.0", + "postcss-modules-values": "^1.3.0", + "postcss-value-parser": "^3.3.0", + "source-list-map": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "cssnano": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-3.10.0.tgz", + "integrity": "sha1-Tzj2zqK5sX+gFJDyPx3GjqZcHDg=", + "requires": { + "autoprefixer": "^6.3.1", + "decamelize": "^1.1.2", + "defined": "^1.0.0", + "has": "^1.0.1", + "object-assign": "^4.0.1", + "postcss": "^5.0.14", + "postcss-calc": "^5.2.0", + "postcss-colormin": "^2.1.8", + "postcss-convert-values": "^2.3.4", + "postcss-discard-comments": "^2.0.4", + "postcss-discard-duplicates": "^2.0.1", + "postcss-discard-empty": "^2.0.1", + "postcss-discard-overridden": "^0.1.1", + "postcss-discard-unused": "^2.2.1", + "postcss-filter-plugins": "^2.0.0", + "postcss-merge-idents": "^2.1.5", + "postcss-merge-longhand": "^2.0.1", + "postcss-merge-rules": "^2.0.3", + "postcss-minify-font-values": "^1.0.2", + "postcss-minify-gradients": "^1.0.1", + "postcss-minify-params": "^1.0.4", + "postcss-minify-selectors": "^2.0.4", + "postcss-normalize-charset": "^1.1.0", + "postcss-normalize-url": "^3.0.7", + "postcss-ordered-values": "^2.1.0", + "postcss-reduce-idents": "^2.2.2", + "postcss-reduce-initial": "^1.0.0", + "postcss-reduce-transforms": "^1.0.3", + "postcss-svgo": "^2.1.1", + "postcss-unique-selectors": "^2.0.2", + "postcss-value-parser": "^3.2.3", + "postcss-zindex": "^2.0.1" + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + }, + "dependencies": { + "js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==" + } + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "css-select": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", + "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^3.2.1", + "domutils": "^1.7.0", + "nth-check": "^1.0.2" + } + }, + "css-select-base-adapter": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", + "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==", + "dev": true + }, + "css-selector-tokenizer": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.3.tgz", + "integrity": "sha512-jWQv3oCEL5kMErj4wRnK/OPoBi0D+P1FR2cDCKYPaMeD2eW3/mttav8HT4hT1CKopiJI/psEULjkClhvJo4Lvg==", + "requires": { + "cssesc": "^3.0.0", + "fastparse": "^1.1.2" + } + }, + "css-tree": { + "version": "1.0.0-alpha.37", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", + "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "dev": true, + "requires": { + "mdn-data": "2.0.4", + "source-map": "^0.6.1" + } + }, + "css-what": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", + "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", + "dev": true + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==" + }, + "cssnano": { + "version": "4.1.10", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz", + "integrity": "sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==", + "dev": true, + "requires": { + "cosmiconfig": "^5.0.0", + "cssnano-preset-default": "^4.0.7", + "is-resolvable": "^1.0.0", + "postcss": "^7.0.0" + }, + "dependencies": { + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "dev": true, + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + } + } + }, + "cssnano-preset-default": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz", + "integrity": "sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==", + "dev": true, + "requires": { + "css-declaration-sorter": "^4.0.1", + "cssnano-util-raw-cache": "^4.0.1", + "postcss": "^7.0.0", + "postcss-calc": "^7.0.1", + "postcss-colormin": "^4.0.3", + "postcss-convert-values": "^4.0.1", + "postcss-discard-comments": "^4.0.2", + "postcss-discard-duplicates": "^4.0.2", + "postcss-discard-empty": "^4.0.1", + "postcss-discard-overridden": "^4.0.1", + "postcss-merge-longhand": "^4.0.11", + "postcss-merge-rules": "^4.0.3", + "postcss-minify-font-values": "^4.0.2", + "postcss-minify-gradients": "^4.0.2", + "postcss-minify-params": "^4.0.2", + "postcss-minify-selectors": "^4.0.2", + "postcss-normalize-charset": "^4.0.1", + "postcss-normalize-display-values": "^4.0.2", + "postcss-normalize-positions": "^4.0.2", + "postcss-normalize-repeat-style": "^4.0.2", + "postcss-normalize-string": "^4.0.2", + "postcss-normalize-timing-functions": "^4.0.2", + "postcss-normalize-unicode": "^4.0.1", + "postcss-normalize-url": "^4.0.1", + "postcss-normalize-whitespace": "^4.0.2", + "postcss-ordered-values": "^4.1.2", + "postcss-reduce-initial": "^4.0.3", + "postcss-reduce-transforms": "^4.0.2", + "postcss-svgo": "^4.0.2", + "postcss-unique-selectors": "^4.0.1" + }, + "dependencies": { + "is-svg": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz", + "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==", + "dev": true, + "requires": { + "html-comment-regex": "^1.1.0" + } + }, + "normalize-url": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", + "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==", + "dev": true + }, + "postcss-calc": { + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.5.tgz", + "integrity": "sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==", + "dev": true, + "requires": { + "postcss": "^7.0.27", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.0.2" + } + }, + "postcss-colormin": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz", + "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "color": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-convert-values": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz", + "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-discard-comments": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz", + "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-duplicates": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz", + "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-empty": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz", + "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-discard-overridden": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz", + "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-merge-longhand": { + "version": "4.0.11", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz", + "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==", + "dev": true, + "requires": { + "css-color-names": "0.0.4", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "stylehacks": "^4.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-merge-rules": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz", + "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "cssnano-util-same-parent": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0", + "vendors": "^1.0.0" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "dev": true, + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-minify-font-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz", + "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-minify-gradients": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz", + "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "is-color-stop": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-minify-params": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz", + "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.0", + "browserslist": "^4.0.0", + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "uniqs": "^2.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-minify-selectors": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz", + "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "dev": true, + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "postcss-normalize-charset": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz", + "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "postcss-normalize-url": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz", + "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==", + "dev": true, + "requires": { + "is-absolute-url": "^2.0.0", + "normalize-url": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-ordered-values": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz", + "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-reduce-initial": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz", + "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-api": "^3.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0" + } + }, + "postcss-reduce-transforms": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz", + "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==", + "dev": true, + "requires": { + "cssnano-util-get-match": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-svgo": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz", + "integrity": "sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==", + "dev": true, + "requires": { + "is-svg": "^3.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0", + "svgo": "^1.0.0" + }, + "dependencies": { + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", + "dev": true + } + } + }, + "postcss-unique-selectors": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz", + "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==", + "dev": true, + "requires": { + "alphanum-sort": "^1.0.0", + "postcss": "^7.0.0", + "uniqs": "^2.0.0" + } + }, + "postcss-value-parser": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", + "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", + "dev": true + }, + "svgo": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", + "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", + "dev": true, + "requires": { + "chalk": "^2.4.1", + "coa": "^2.0.2", + "css-select": "^2.0.0", + "css-select-base-adapter": "^0.1.1", + "css-tree": "1.0.0-alpha.37", + "csso": "^4.0.2", + "js-yaml": "^3.13.1", + "mkdirp": "~0.5.1", + "object.values": "^1.1.0", + "sax": "~1.2.4", + "stable": "^0.1.8", + "unquote": "~1.1.1", + "util.promisify": "~1.0.0" + } + } + } + }, + "cssnano-util-get-arguments": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", + "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=", + "dev": true + }, + "cssnano-util-get-match": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", + "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=", + "dev": true + }, + "cssnano-util-raw-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz", + "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==", + "dev": true, + "requires": { + "postcss": "^7.0.0" + } + }, + "cssnano-util-same-parent": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz", + "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==", + "dev": true + }, + "csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dev": true, + "requires": { + "css-tree": "^1.1.2" + }, + "dependencies": { + "css-tree": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.2.tgz", + "integrity": "sha512-wCoWush5Aeo48GLhfHPbmvZs59Z+M7k5+B1xDnXbdWNcEF423DoFdqSWE0PM5aNk5nI5cp1q7ms36zGApY/sKQ==", + "dev": true, + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + } + }, + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "dev": true + } + } + }, + "current-script-polyfill": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/current-script-polyfill/-/current-script-polyfill-1.0.0.tgz", + "integrity": "sha1-8xz35PPiGLBybnOMqSoC00iO9hU=", + "dev": true + }, + "currently-unhandled": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz", + "integrity": "sha1-mI3zP+qxke95mmE2nddsF635V+o=", + "requires": { + "array-find-index": "^1.0.1" + } + }, + "cyclist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", + "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", + "dev": true + }, + "d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "requires": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "d3-array": { + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-2.10.0.tgz", + "integrity": "sha512-TygE7/GvpL0092Pa/cS/kcyQ4E+I8KCkw3uCpQOFc4xi4IWNE67xST56H1Tz/FTYUqABULSEAmeLrGAmuLN8Xg==", + "requires": { + "internmap": "^1.0.0" + } + }, + "d3-collection": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/d3-collection/-/d3-collection-1.0.7.tgz", + "integrity": "sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A==" + }, + "d3-color": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-1.4.1.tgz", + "integrity": "sha512-p2sTHSLCJI2QKunbGb7ocOh7DgTAn8IrLx21QRc/BSnodXM4sv6aLQlnfpvehFMLZEfBc6g9pH9SWQccFYfJ9Q==" + }, + "d3-composite-projections": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/d3-composite-projections/-/d3-composite-projections-1.4.0.tgz", + "integrity": "sha512-csygyxdRfy7aUYRPea23veM6sjisdHI+DNd0nHcAGMd2LyL2lklr+xLRzHiJ+hy1HGp6YgAtbqdJR8CsLolrNQ==", + "requires": { + "d3-geo": "^2.0.1", + "d3-path": "^2.0.0" + }, + "dependencies": { + "d3-geo": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-2.0.1.tgz", + "integrity": "sha512-M6yzGbFRfxzNrVhxDJXzJqSLQ90q1cCyb3EWFZ1LF4eWOBYxFypw7I/NFVBNXKNqxv1bqLathhYvdJ6DC+th3A==", + "requires": { + "d3-array": ">=2.5" + } + } + } + }, + "d3-dispatch": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-1.0.6.tgz", + "integrity": "sha512-fVjoElzjhCEy+Hbn8KygnmMS7Or0a9sI2UzGwoB7cCtvI1XpVN9GpoYlnb3xt2YV66oXYb1fLJ8GMvP4hdU1RA==" + }, + "d3-dsv": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-1.2.0.tgz", + "integrity": "sha512-9yVlqvZcSOMhCYzniHE7EVUws7Fa1zgw+/EAV2BxJoG3ME19V6BQFBwI855XQDsxyOuG7NibqRMTtiF/Qup46g==", + "requires": { + "commander": "2", + "iconv-lite": "0.4", + "rw": "1" + } + }, + "d3-ease": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-1.0.7.tgz", + "integrity": "sha512-lx14ZPYkhNx0s/2HX5sLFUI3mbasHjSSpwO/KaaNACweVwxUruKyWVcb293wMv1RqTPZyZ8kSZ2NogUZNcLOFQ==" + }, + "d3-format": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-1.4.5.tgz", + "integrity": "sha512-J0piedu6Z8iB6TbIGfZgDzfXxUFN3qQRMofy2oPdXzQibYGqPB/9iMcxr/TGalU+2RsyDO+U4f33id8tbnSRMQ==" + }, + "d3-geo": { + "version": "1.6.4", + "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-1.6.4.tgz", + "integrity": "sha1-8g4eRhyxhF9ai+Vatvh2VCp+MZk=", + "requires": { + "d3-array": "1" + }, + "dependencies": { + "d3-array": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-1.2.4.tgz", + "integrity": "sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==" + } + } + }, + "d3-geo-projection": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/d3-geo-projection/-/d3-geo-projection-2.1.2.tgz", + "integrity": "sha1-ffjh6dBG1jHGUJ9+UxNX1K3CSqM=", + "requires": { + "commander": "2", + "d3-array": "1", + "d3-geo": "^1.1.0" + }, + "dependencies": { + "d3-array": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-1.2.4.tgz", + "integrity": "sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==" + } + } + }, + "d3-hexjson": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/d3-hexjson/-/d3-hexjson-1.1.1.tgz", + "integrity": "sha512-WMF1juFJwAx6LzdEVKlsCGZz+7QUG7VMJDtg8uD3cfNwWOTgMiy6qBRRGU7LSY2KbmEObu3BV5ZQbq9l/BvUZQ==", + "requires": { + "d3-array": "1" + }, + "dependencies": { + "d3-array": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-1.2.4.tgz", + "integrity": "sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==" + } + } + }, + "d3-hierarchy": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-1.1.9.tgz", + "integrity": "sha512-j8tPxlqh1srJHAtxfvOUwKNYJkQuBFdM1+JAUfq6xqH5eAqf93L7oG1NVqDa4CpFZNvnNKtCYEUC8KY9yEn9lQ==" + }, + "d3-interpolate": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-1.1.6.tgz", + "integrity": "sha512-mOnv5a+pZzkNIHtw/V6I+w9Lqm9L5bG3OTXPM5A+QO0yyVMQ4W1uZhR+VOJmazaOZXri2ppbiZ5BUNWT0pFM9A==", + "requires": { + "d3-color": "1" + } + }, + "d3-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-2.0.0.tgz", + "integrity": "sha512-ZwZQxKhBnv9yHaiWd6ZU4x5BtCQ7pXszEV9CU6kRgwIQVQGLMv1oiL4M+MK/n79sYzsj+gcgpPQSctJUsLN7fA==" + }, + "d3-sankey": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/d3-sankey/-/d3-sankey-0.9.1.tgz", + "integrity": "sha512-nnRkDaUMjBdeuGg+kWGdA+tjG1AVTnJ+Ykw7ff7CZHVI17Hm5sy8n0UXykVffn13aNHwK5wPOdOt1gS1ZEaF+A==", + "requires": { + "d3-array": "1", + "d3-collection": "1", + "d3-shape": "^1.2.0" + }, + "dependencies": { + "d3-array": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-1.2.4.tgz", + "integrity": "sha512-KHW6M86R+FUPYGb3R5XiYjXPq7VzwxZ22buHhAEVG5ztoEcZZMLov530mmccaqA1GghZArjQV46fuc8kUqhhHw==" + } + } + }, + "d3-selection": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/d3-selection/-/d3-selection-1.4.2.tgz", + "integrity": "sha512-SJ0BqYihzOjDnnlfyeHT0e30k0K1+5sR3d5fNueCNeuhZTnGw4M4o8mqJchSwgKMXCNFo+e2VTChiSJ0vYtXkg==" + }, + "d3-shape": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-1.3.7.tgz", + "integrity": "sha512-EUkvKjqPFUAZyOlhY5gzCxCeI0Aep04LwIRpsZ/mLFelJiUfnK56jo5JMDSE7yyP2kLSb6LtF+S5chMk7uqPqw==", + "requires": { + "d3-path": "1" + }, + "dependencies": { + "d3-path": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-1.0.9.tgz", + "integrity": "sha512-VLaYcn81dtHVTjEHd8B+pbe9yHWpXKZUC87PzoFmsFrJqgFwDe/qxfp5MlfsfM1V5E/iVt0MmEbWQ7FVIXh/bg==" + } + } + }, + "d3-timer": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-1.0.10.tgz", + "integrity": "sha512-B1JDm0XDaQC+uvo4DT79H0XmBskgS3l6Ve+1SBCfxgmtIb1AVrPIoqd+nPSv+loMX8szQ0sVUhGngL7D5QPiXw==" + }, + "d3-transition": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/d3-transition/-/d3-transition-1.3.2.tgz", + "integrity": "sha512-sc0gRU4PFqZ47lPVHloMn9tlPcv8jxgOQg+0zjhfZXMQuvppjG6YuwdMBE0TuqCZjeJkLecku/l9R0JPcRhaDA==", + "requires": { + "d3-color": "1", + "d3-dispatch": "1", + "d3-ease": "1", + "d3-interpolate": "1", + "d3-selection": "^1.1.0", + "d3-timer": "1" + } + }, + "d3-voronoi": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/d3-voronoi/-/d3-voronoi-1.1.4.tgz", + "integrity": "sha512-dArJ32hchFsrQ8uMiTBLq256MpnZjeuBtdHpaDlYuQyjU0CVzCJl/BVW+SkszaAeH95D/8gxqAhgx0ouAWAfRg==" + }, + "dagre": { + "version": "0.8.5", + "resolved": "https://registry.npmjs.org/dagre/-/dagre-0.8.5.tgz", + "integrity": "sha512-/aTqmnRta7x7MCCpExk7HQL2O4owCT2h8NT//9I1OQ9vt29Pa0BzSAkR5lwFUcQ7491yVi/3CXU9jQ5o0Mn2Sw==", + "requires": { + "graphlib": "^2.1.8", + "lodash": "^4.17.15" + } + }, + "dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "dayjs": { + "version": "1.10.4", + "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.10.4.tgz", + "integrity": "sha512-RI/Hh4kqRc1UKLOAf/T5zdMMX5DQIlDxwUe3wSyMMnEbGunnpENCdbUgM+dW7kXidZqCttBrmw7BhN4TMddkCw==" + }, + "de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha1-sgOOhG3DO6pXlhKNCAS0VbjB4h0=" + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "requires": { + "ms": "2.0.0" + } + }, + "decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=" + }, + "deep-equal": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", + "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", + "requires": { + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.1", + "is-regex": "^1.0.4", + "object-is": "^1.0.1", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.2.0" + } + }, + "deep-is": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz", + "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=", + "dev": true + }, + "deepmerge": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-1.5.2.tgz", + "integrity": "sha512-95k0GDqvBjZavkuvzx/YqVLv/6YYa17fz6ILMSf7neqQITCPbnfEnQvEgMPNjH4kgobe7+WIL0yJEHku+H3qtQ==", + "dev": true + }, + "default-gateway": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-5.0.5.tgz", + "integrity": "sha512-z2RnruVmj8hVMmAnEJMTIJNijhKCDiGjbLP+BHJFOT7ld3Bo5qcIBpVYDniqhbMIIf+jZDlkP2MkPXiQy/DBLA==", + "dev": true, + "requires": { + "execa": "^3.3.0" + }, + "dependencies": { + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "execa": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-3.4.0.tgz", + "integrity": "sha512-r9vdGQk4bmCuK1yKQu1KTwcT2zwfWdbdaXfCtAh+5nU/4fSX+JAb7vZGvI5naJrQlvONrEB20jeruESI69530g==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "get-stream": "^5.0.0", + "human-signals": "^1.1.1", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.0", + "onetime": "^5.1.0", + "p-finally": "^2.0.0", + "signal-exit": "^3.0.2", + "strip-final-newline": "^2.0.0" + } + }, + "get-stream": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz", + "integrity": "sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + }, + "is-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==", + "dev": true + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "p-finally": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-2.0.1.tgz", + "integrity": "sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + } + } + }, + "defaults": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", + "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "dev": true, + "requires": { + "clone": "^1.0.2" + } + }, + "define-properties": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", + "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", + "requires": { + "object-keys": "^1.0.12" + } + }, + "define-property": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", + "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "requires": { + "is-descriptor": "^1.0.2", + "isobject": "^3.0.1" + }, + "dependencies": { + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + } + } + }, + "defined": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz", + "integrity": "sha1-yY2bzvdWdBiOEQlpFRGZ45sfppM=" + }, + "del": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/del/-/del-3.0.0.tgz", + "integrity": "sha1-U+z2mf/LyzljdpGrE7rxYIGXZuU=", + "requires": { + "globby": "^6.1.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "p-map": "^1.1.1", + "pify": "^3.0.0", + "rimraf": "^2.2.8" + }, + "dependencies": { + "p-map": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-1.2.0.tgz", + "integrity": "sha512-r6zKACMNhjPJMTl8KcFH4li//gkrXWfbD6feV8l6doRHlzljFWGJ2AP6iKaCJXyZmAUMOPtvbW7EXkbWO/pLEA==" + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "dev": true + }, + "delegate": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/delegate/-/delegate-3.2.0.tgz", + "integrity": "sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==" + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" + }, + "des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "destroy": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", + "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" + }, + "detect-browser": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/detect-browser/-/detect-browser-5.2.0.tgz", + "integrity": "sha512-tr7XntDAu50BVENgQfajMLzacmSe34D+qZc4zjnniz0ZVuw/TZcLcyxHQjYpJTM36sGEkZZlYLnIM1hH7alTMA==" + }, + "detect-indent": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", + "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", + "requires": { + "repeating": "^2.0.0" + } + }, + "detect-node": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", + "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==" + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + } + } + }, + "dir-glob": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", + "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", + "dev": true, + "requires": { + "path-type": "^3.0.0" + }, + "dependencies": { + "path-type": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", + "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "dev": true, + "requires": { + "pify": "^3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, + "dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=" + }, + "dns-packet": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", + "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", + "requires": { + "ip": "^1.1.0", + "safe-buffer": "^5.0.1" + } + }, + "dns-txt": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", + "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "requires": { + "buffer-indexof": "^1.0.0" + } + }, + "doctrine": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", + "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", + "dev": true, + "optional": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "dom-align": { + "version": "1.12.0", + "resolved": "https://registry.npmjs.org/dom-align/-/dom-align-1.12.0.tgz", + "integrity": "sha512-YkoezQuhp3SLFGdOlr5xkqZ640iXrnHAwVYcDg8ZKRUtO7mSzSC2BA5V0VuyAwPSJA4CLIc6EDDJh4bEsD2+zA==" + }, + "dom-closest": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-closest/-/dom-closest-0.2.0.tgz", + "integrity": "sha1-69n5HRvyLo1vR3h2u80+yQIWwM8=", + "requires": { + "dom-matches": ">=1.0.1" + } + }, + "dom-converter": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/dom-converter/-/dom-converter-0.2.0.tgz", + "integrity": "sha512-gd3ypIPfOMr9h5jIKq8E3sHOTCjeirnl0WK5ZdS1AW0Odt0b1PaWaHdJ4Qk4klv+YB9aJBS7mESXjFoDQPu6DA==", + "dev": true, + "requires": { + "utila": "~0.4" + } + }, + "dom-matches": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-matches/-/dom-matches-2.0.0.tgz", + "integrity": "sha1-0nKLQWqHUzmA6wibhI0lPPI6dYw=" + }, + "dom-scroll-into-view": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/dom-scroll-into-view/-/dom-scroll-into-view-2.0.1.tgz", + "integrity": "sha512-bvVTQe1lfaUr1oFzZX80ce9KLDlZ3iU+XGNE/bz9HnGdklTieqsbmsLHe+rT2XWqopvL0PckkYqN7ksmm5pe3w==" + }, + "dom-serializer": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", + "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "entities": "^2.0.0" + }, + "dependencies": { + "domelementtype": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.1.0.tgz", + "integrity": "sha512-LsTgx/L5VpD+Q8lmsXSHW2WpA+eBlZ9HPf3erD1IoPF00/3JKHZ3BknUVA2QGDNu69ZNmyFmCWBSO45XjYKC5w==", + "dev": true + } + } + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==" + }, + "domelementtype": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", + "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", + "dev": true + }, + "domhandler": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-2.4.2.tgz", + "integrity": "sha512-JiK04h0Ht5u/80fdLMCEmV4zkNh2BcoMFBmZ/91WtYZ8qVXSKjiw7fXMgFPnHcSZgOo3XdinHvmnDUeMf5R4wA==", + "dev": true, + "requires": { + "domelementtype": "1" + } + }, + "domutils": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", + "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "dev": true, + "requires": { + "dom-serializer": "0", + "domelementtype": "1" + } + }, + "dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dev": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + }, + "dependencies": { + "lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "requires": { + "tslib": "^2.0.3" + } + }, + "no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "requires": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + } + } + }, + "dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "dev": true, + "requires": { + "is-obj": "^2.0.0" + } + }, + "dotenv": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-7.0.0.tgz", + "integrity": "sha512-M3NhsLbV1i6HuGzBUH8vXrtxOk+tWmzWKDMbAVSUp3Zsjm7ywFeuwrUXhmhQyRK1q5B5GGy7hcXPbj3bnfZg2g==", + "dev": true + }, + "dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", + "dev": true + }, + "dotignore": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/dotignore/-/dotignore-0.1.2.tgz", + "integrity": "sha512-UGGGWfSauusaVJC+8fgV+NVvBXkCTmVv7sk6nojDZZvuOUNGUy0Zk4UpHQD6EDjS0jpBwcACvH4eofvyzBcRDw==", + "requires": { + "minimatch": "^3.0.4" + } + }, + "duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", + "dev": true + }, + "duplexify": { + "version": "3.7.1", + "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", + "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "dev": true, + "requires": { + "end-of-stream": "^1.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.0.0", + "stream-shift": "^1.0.0" + } + }, + "easy-stack": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/easy-stack/-/easy-stack-1.0.1.tgz", + "integrity": "sha512-wK2sCs4feiiJeFXn3zvY0p41mdU5VUgbgs1rNsc/y5ngFUijdWd+iIN8eoyuZHKB8xN6BL4PdWmzqFmxNg6V2w==", + "dev": true + }, + "ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "dev": true, + "requires": { + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" + } + }, + "echarts": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/echarts/-/echarts-5.0.2.tgz", + "integrity": "sha512-En0VYpc96nw2/2AZoBWPHsGi471zMublttj50kfFpYAeR4geup0Tj9iVgEXh7QYZFPnRiruDJEjcB5PXZ+BYzQ==", + "requires": { + "tslib": "2.0.3", + "zrender": "5.0.4" + }, + "dependencies": { + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + } + } + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=" + }, + "ejs": { + "version": "2.7.4", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-2.7.4.tgz", + "integrity": "sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.3.644", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.644.tgz", + "integrity": "sha512-N7FLvjDPADxad+OXXBuYfcvDvCBG0aW8ZZGr7G91sZMviYbnQJFxdSvUus4SJ0K7Q8dzMxE+Wx1d/CrJIIJ0sw==" + }, + "elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "requires": { + "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" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==" + } + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==" + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=" + }, + "end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "dev": true, + "requires": { + "once": "^1.4.0" + } + }, + "enhanced-resolve": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.5.0.tgz", + "integrity": "sha512-Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.5.0", + "tapable": "^1.0.0" + }, + "dependencies": { + "memory-fs": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", + "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "dev": true, + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + } + } + }, + "enquire.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/enquire.js/-/enquire.js-2.1.6.tgz", + "integrity": "sha1-PoeAybi4NQhMP2DhZtvDwqPImBQ=" + }, + "entities": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", + "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", + "dev": true + }, + "errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "requires": { + "prr": "~1.0.1" + } + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "error-stack-parser": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/error-stack-parser/-/error-stack-parser-2.0.6.tgz", + "integrity": "sha512-d51brTeqC+BHlwF0BhPtcYgF5nlzf9ZZ0ZIUQNZpc9ZB9qw5IJ2diTrBY9jlCJkTLITYPjmiX6OWCwH+fuyNgQ==", + "dev": true, + "requires": { + "stackframe": "^1.1.1" + } + }, + "es-abstract": { + "version": "1.18.0-next.2", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz", + "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==", + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-negative-zero": "^2.0.1", + "is-regex": "^1.1.1", + "object-inspect": "^1.9.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "string.prototype.trimend": "^1.0.3", + "string.prototype.trimstart": "^1.0.3" + } + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "es5-ext": { + "version": "0.10.53", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", + "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", + "requires": { + "es6-iterator": "~2.0.3", + "es6-symbol": "~3.1.3", + "next-tick": "~1.0.0" + } + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", + "requires": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "es6-map": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz", + "integrity": "sha1-kTbgUD3MBqMBaQ8LsU/042TpSfA=", + "requires": { + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", + "es6-set": "~0.1.5", + "es6-symbol": "~3.1.1", + "event-emitter": "~0.3.5" + } + }, + "es6-set": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz", + "integrity": "sha1-0rPsXU2ADO2BjbU40ol02wpzzLE=", + "requires": { + "d": "1", + "es5-ext": "~0.10.14", + "es6-iterator": "~2.0.1", + "es6-symbol": "3.1.1", + "event-emitter": "~0.3.5" + }, + "dependencies": { + "es6-symbol": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz", + "integrity": "sha1-vwDvT9q2uhtG7Le2KbTH7VcVzHc=", + "requires": { + "d": "1", + "es5-ext": "~0.10.14" + } + } + } + }, + "es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "requires": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "es6-weak-map": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz", + "integrity": "sha512-p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==", + "requires": { + "d": "1", + "es5-ext": "^0.10.46", + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.1" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=" + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" + }, + "escope": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz", + "integrity": "sha1-4Bl16BJ4GhY6ba392AOY3GTIicM=", + "requires": { + "es6-map": "^0.1.3", + "es6-weak-map": "^2.0.1", + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "eslint": { + "version": "5.16.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-5.16.0.tgz", + "integrity": "sha512-S3Rz11i7c8AA5JPv7xAH+dOyq/Cu/VXHiHXBPOU1k/JAM5dXqQPt3qcrhpHSorXmrpu2g0gkIBVXAqCpzfoZIg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "ajv": "^6.9.1", + "chalk": "^2.1.0", + "cross-spawn": "^6.0.5", + "debug": "^4.0.1", + "doctrine": "^3.0.0", + "eslint-scope": "^4.0.3", + "eslint-utils": "^1.3.1", + "eslint-visitor-keys": "^1.0.0", + "espree": "^5.0.1", + "esquery": "^1.0.1", + "esutils": "^2.0.2", + "file-entry-cache": "^5.0.1", + "functional-red-black-tree": "^1.0.1", + "glob": "^7.1.2", + "globals": "^11.7.0", + "ignore": "^4.0.6", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "inquirer": "^6.2.2", + "js-yaml": "^3.13.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.3.0", + "lodash": "^4.17.11", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.1", + "natural-compare": "^1.4.0", + "optionator": "^0.8.2", + "path-is-inside": "^1.0.2", + "progress": "^2.0.0", + "regexpp": "^2.0.1", + "semver": "^5.5.1", + "strip-ansi": "^4.0.0", + "strip-json-comments": "^2.0.1", + "table": "^5.2.3", + "text-table": "^0.2.0" + }, + "dependencies": { + "acorn-jsx": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", + "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", + "dev": true + }, + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "espree": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-5.0.1.tgz", + "integrity": "sha512-qWAZcWh4XE/RwzLJejfcofscgMc9CamR6Tn1+XRXNzrvUSSbiAjGOI/fggztjIi7y9VLPqnICMIPiGyr8JaZ0A==", + "dev": true, + "requires": { + "acorn": "^6.0.7", + "acorn-jsx": "^5.0.0", + "eslint-visitor-keys": "^1.0.0" + } + }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dev": true, + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, + "file-entry-cache": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-5.0.1.tgz", + "integrity": "sha512-bCg29ictuBaKUwwArK4ouCaqDgLZcysCFLmM/Yn/FDoqndh/9vNuQfXRDvTuXKLxfD/JtZQGKFT8MGcJBK644g==", + "dev": true, + "requires": { + "flat-cache": "^2.0.1" + } + }, + "flat-cache": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-2.0.1.tgz", + "integrity": "sha512-LoQe6yDuUMDzQAEH8sgmh4Md6oZnc/7PjtwjNFSzveXqSHt6ka9fPBuso7IGf9Rz4uqnSnWiFH2B/zj24a5ReA==", + "dev": true, + "requires": { + "flatted": "^2.0.0", + "rimraf": "2.6.3", + "write": "1.0.3" + } + }, + "ignore": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz", + "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "inquirer": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz", + "integrity": "sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==", + "dev": true, + "requires": { + "ansi-escapes": "^3.2.0", + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^3.0.3", + "figures": "^2.0.0", + "lodash": "^4.17.12", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rxjs": "^6.4.0", + "string-width": "^2.1.0", + "strip-ansi": "^5.1.0", + "through": "^2.3.6" + }, + "dependencies": { + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "dev": true + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "slice-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-2.1.0.tgz", + "integrity": "sha512-Qu+VC3EwYLldKa1fCxuuvULvSJOKEgk9pi8dZeCVK7TqBfUNTH4sFkk4joj8afVSfAYgJoSOetjx9QWOJ5mYoQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "astral-regex": "^1.0.0", + "is-fullwidth-code-point": "^2.0.0" + } + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "requires": { + "ansi-regex": "^3.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true + } + } + }, + "table": { + "version": "5.4.6", + "resolved": "https://registry.npmjs.org/table/-/table-5.4.6.tgz", + "integrity": "sha512-wmEc8m4fjnob4gt5riFRtTu/6+4rSe12TpAELNSqHMfF3IqnA+CH37USM6/YR3qRZv7e56kAEAtd6nKZaxe0Ug==", + "dev": true, + "requires": { + "ajv": "^6.10.2", + "lodash": "^4.17.14", + "slice-ansi": "^2.1.0", + "string-width": "^3.0.0" + }, + "dependencies": { + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + } + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "write": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/write/-/write-1.0.3.tgz", + "integrity": "sha512-/lg70HAjtkUgWPVZhZcm+T4hkL8Zbtp1nFNOn3lRrxnlv50SRBv7cR7RqR+GMsd3hUXy9hWBo4CHTbFTcOYwig==", + "dev": true, + "requires": { + "mkdirp": "^0.5.1" + } + } + } + }, + "eslint-config-standard": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/eslint-config-standard/-/eslint-config-standard-12.0.0.tgz", + "integrity": "sha512-COUz8FnXhqFitYj4DTqHzidjIL/t4mumGZto5c7DrBpvWoie+Sn3P4sLEzUGeYhRElWuFEf8K1S1EfvD1vixCQ==", + "dev": true + }, + "eslint-import-resolver-node": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.4.tgz", + "integrity": "sha512-ogtf+5AB/O+nM6DIeBUNr2fuT7ot9Qg/1harBfBtaP13ekEWFQEEMP94BCB7zaNW3gyY+8SHYF00rnqYwXKWOA==", + "dev": true, + "requires": { + "debug": "^2.6.9", + "resolve": "^1.13.1" + } + }, + "eslint-loader": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/eslint-loader/-/eslint-loader-2.2.1.tgz", + "integrity": "sha512-RLgV9hoCVsMLvOxCuNjdqOrUqIj9oJg8hF44vzJaYqsAHuY9G2YAeN3joQ9nxP0p5Th9iFSIpKo+SD8KISxXRg==", + "dev": true, + "requires": { + "loader-fs-cache": "^1.0.0", + "loader-utils": "^1.0.2", + "object-assign": "^4.0.1", + "object-hash": "^1.1.4", + "rimraf": "^2.6.1" + } + }, + "eslint-module-utils": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.6.0.tgz", + "integrity": "sha512-6j9xxegbqe8/kZY8cYpcp0xhbK0EgJlg3g9mib3/miLaExuuwc3n5UEfSnU6hWMbT0FAYVvDbL9RrRgpUeQIvA==", + "dev": true, + "requires": { + "debug": "^2.6.9", + "pkg-dir": "^2.0.0" + } + }, + "eslint-plugin-es": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-es/-/eslint-plugin-es-1.4.1.tgz", + "integrity": "sha512-5fa/gR2yR3NxQf+UXkeLeP8FBBl6tSgdrAz1+cF84v1FMM4twGwQoqTnn+QxFLcPOrF4pdKEJKDB/q9GoyJrCA==", + "dev": true, + "requires": { + "eslint-utils": "^1.4.2", + "regexpp": "^2.0.1" + }, + "dependencies": { + "regexpp": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-2.0.1.tgz", + "integrity": "sha512-lv0M6+TkDVniA3aD1Eg0DVpfU/booSu7Eev3TDO/mZKHBfVjgCGTV4t4buppESEYDtkArYFOxTJWv6S5C+iaNw==", + "dev": true + } + } + }, + "eslint-plugin-import": { + "version": "2.22.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.22.1.tgz", + "integrity": "sha512-8K7JjINHOpH64ozkAhpT3sd+FswIZTfMZTjdx052pnWrgRCVfp8op9tbjpAk3DdUeI/Ba4C8OjdC0r90erHEOw==", + "dev": true, + "requires": { + "array-includes": "^3.1.1", + "array.prototype.flat": "^1.2.3", + "contains-path": "^0.1.0", + "debug": "^2.6.9", + "doctrine": "1.5.0", + "eslint-import-resolver-node": "^0.3.4", + "eslint-module-utils": "^2.6.0", + "has": "^1.0.3", + "minimatch": "^3.0.4", + "object.values": "^1.1.1", + "read-pkg-up": "^2.0.0", + "resolve": "^1.17.0", + "tsconfig-paths": "^3.9.0" + }, + "dependencies": { + "doctrine": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-1.5.0.tgz", + "integrity": "sha1-N53Ocw9hZvds76TmcHoVmwLFpvo=", + "dev": true, + "requires": { + "esutils": "^2.0.2", + "isarray": "^1.0.0" + } + } + } + }, + "eslint-plugin-node": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-node/-/eslint-plugin-node-8.0.1.tgz", + "integrity": "sha512-ZjOjbjEi6jd82rIpFSgagv4CHWzG9xsQAVp1ZPlhRnnYxcTgENUVBvhYmkQ7GvT1QFijUSo69RaiOJKhMu6i8w==", + "dev": true, + "requires": { + "eslint-plugin-es": "^1.3.1", + "eslint-utils": "^1.3.1", + "ignore": "^5.0.2", + "minimatch": "^3.0.4", + "resolve": "^1.8.1", + "semver": "^5.5.0" + }, + "dependencies": { + "ignore": { + "version": "5.1.8", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", + "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", + "dev": true + } + } + }, + "eslint-plugin-promise": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-promise/-/eslint-plugin-promise-4.2.1.tgz", + "integrity": "sha512-VoM09vT7bfA7D+upt+FjeBO5eHIJQBUWki1aPvB+vbNiHS3+oGIJGIeyBtKQTME6UPXXy3vV07OL1tHd3ANuDw==", + "dev": true + }, + "eslint-plugin-standard": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-standard/-/eslint-plugin-standard-4.1.0.tgz", + "integrity": "sha512-ZL7+QRixjTR6/528YNGyDotyffm5OQst/sGxKDwGb9Uqs4In5Egi4+jbobhqJoyoCM6/7v/1A5fhQ7ScMtDjaQ==", + "dev": true + }, + "eslint-plugin-vue": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-vue/-/eslint-plugin-vue-5.2.3.tgz", + "integrity": "sha512-mGwMqbbJf0+VvpGR5Lllq0PMxvTdrZ/ZPjmhkacrCHbubJeJOt+T6E3HUzAifa2Mxi7RSdJfC9HFpOeSYVMMIw==", + "dev": true, + "requires": { + "vue-eslint-parser": "^5.0.0" + }, + "dependencies": { + "acorn-jsx": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.1.tgz", + "integrity": "sha512-K0Ptm/47OKfQRpNQ2J/oIN/3QYiK6FwW+eJbILhsdxh2WTLdl+30o8aGdTbm5JbffpFFAg/g+zi1E+jvJha5ng==", + "dev": true + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "espree": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-4.1.0.tgz", + "integrity": "sha512-I5BycZW6FCVIub93TeVY1s7vjhP9CY6cXCznIRfiig7nRviKZYdRnj/sHEWC6A7WE9RDWOFq9+7OsWSYz8qv2w==", + "dev": true, + "requires": { + "acorn": "^6.0.2", + "acorn-jsx": "^5.0.0", + "eslint-visitor-keys": "^1.0.0" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "vue-eslint-parser": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-5.0.0.tgz", + "integrity": "sha512-JlHVZwBBTNVvzmifwjpZYn0oPWH2SgWv5dojlZBsrhablDu95VFD+hriB1rQGwbD+bms6g+rAFhQHk6+NyiS6g==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "eslint-scope": "^4.0.0", + "eslint-visitor-keys": "^1.0.0", + "espree": "^4.1.0", + "esquery": "^1.0.1", + "lodash": "^4.17.11" + } + } + } + }, + "eslint-scope": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", + "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "dev": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "eslint-utils": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-1.4.3.tgz", + "integrity": "sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^1.1.0" + } + }, + "eslint-visitor-keys": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz", + "integrity": "sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==", + "dev": true + }, + "espree": { + "version": "3.5.4", + "resolved": "https://registry.npmjs.org/espree/-/espree-3.5.4.tgz", + "integrity": "sha512-yAcIQxtmMiB/jL32dzEp2enBeidsB7xWPLNiw3IIkpVds1P+h7qF9YwJq1yUNzp2OKXgAprs4F61ih66UsoD1A==", + "dev": true, + "optional": true, + "requires": { + "acorn": "^5.5.0", + "acorn-jsx": "^3.0.0" + }, + "dependencies": { + "acorn": { + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==", + "dev": true, + "optional": true + } + } + }, + "esprima": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" + }, + "esquery": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.3.1.tgz", + "integrity": "sha512-olpvt9QG0vniUBZspVRN6lwB7hOZoTRtT+jzR+tS4ffYx2mzbw+z0XCOk44aaLYKApNX5nMm+E+P6o25ip/DHQ==", + "dev": true, + "requires": { + "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", + "dev": true + } + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", + "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==" + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==" + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==" + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" + }, + "event-emitter": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz", + "integrity": "sha1-34xp7vFkeSPHFXuc6DhAYQsCzDk=", + "requires": { + "d": "1", + "es5-ext": "~0.10.14" + } + }, + "event-pubsub": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/event-pubsub/-/event-pubsub-4.3.0.tgz", + "integrity": "sha512-z7IyloorXvKbFx9Bpie2+vMJKKx1fH1EN5yiTfp8CiLOTptSYy1g8H4yDpGlEdshL1PBiFtBHepF2cNsqeEeFQ==", + "dev": true + }, + "eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + }, + "events": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", + "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==" + }, + "eventsource": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-0.1.6.tgz", + "integrity": "sha1-Cs7ehJ7X3RzMMsgRuxG5RNTykjI=", + "requires": { + "original": ">=0.0.5" + } + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "execa": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", + "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "dev": true, + "requires": { + "cross-spawn": "^6.0.0", + "get-stream": "^4.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + }, + "dependencies": { + "cross-spawn": { + "version": "6.0.5", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", + "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", + "dev": true, + "requires": { + "nice-try": "^1.0.4", + "path-key": "^2.0.1", + "semver": "^5.5.0", + "shebang-command": "^1.2.0", + "which": "^1.2.9" + } + }, + "get-stream": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", + "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "dev": true, + "requires": { + "pump": "^3.0.0" + } + } + } + }, + "expand-brackets": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", + "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "requires": { + "debug": "^2.3.3", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "posix-character-classes": "^0.1.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "express": { + "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "requires": { + "accepts": "~1.3.7", + "array-flatten": "1.1.1", + "body-parser": "1.19.0", + "content-disposition": "0.5.3", + "content-type": "~1.0.4", + "cookie": "0.4.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "~1.1.2", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.1.2", + "fresh": "0.5.2", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.5", + "qs": "6.7.0", + "range-parser": "~1.2.1", + "safe-buffer": "5.1.2", + "send": "0.17.1", + "serve-static": "1.14.1", + "setprototypeof": "1.1.1", + "statuses": "~1.5.0", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + } + } + }, + "ext": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", + "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==", + "requires": { + "type": "^2.0.0" + }, + "dependencies": { + "type": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.1.0.tgz", + "integrity": "sha512-G9absDWvhAWCV2gmF1zKud3OyC61nZDwWvBL2DApaVFogI07CprggiQAOOjvp2NRjYWFzPyu7vwtDrQFq8jeSA==" + } + } + }, + "extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true + }, + "extend-shallow": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", + "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", + "requires": { + "assign-symbols": "^1.0.0", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "external-editor": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-2.2.0.tgz", + "integrity": "sha512-bSn6gvGxKt+b7+6TKEv1ZycHleA7aHhRHyAqJyp5pbUFuYYNIzpZnQDk7AsYckyWdEnTeAnay0aCy2aV6iTk9A==", + "dev": true, + "optional": true, + "requires": { + "chardet": "^0.4.0", + "iconv-lite": "^0.4.17", + "tmp": "^0.0.33" + } + }, + "extglob": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", + "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", + "requires": { + "array-unique": "^0.3.2", + "define-property": "^1.0.0", + "expand-brackets": "^2.1.4", + "extend-shallow": "^2.0.1", + "fragment-cache": "^0.2.1", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + } + } + }, + "extract-text-webpack-plugin": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extract-text-webpack-plugin/-/extract-text-webpack-plugin-3.0.2.tgz", + "integrity": "sha512-bt/LZ4m5Rqt/Crl2HiKuAl/oqg0psx1tsTLkvWbJen1CtD+fftkZhMaQ9HOtY2gWsl2Wq+sABmMVi9z3DhKWQQ==", + "requires": { + "async": "^2.4.1", + "loader-utils": "^1.1.0", + "schema-utils": "^0.3.0", + "webpack-sources": "^1.0.1" + }, + "dependencies": { + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "requires": { + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" + } + }, + "fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=" + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" + }, + "schema-utils": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz", + "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=", + "requires": { + "ajv": "^5.0.0" + } + } + } + }, + "extsprintf": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", + "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", + "dev": true + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" + }, + "fast-glob": { + "version": "2.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-2.2.7.tgz", + "integrity": "sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==", + "dev": true, + "requires": { + "@mrmlnc/readdir-enhanced": "^2.2.1", + "@nodelib/fs.stat": "^1.1.2", + "glob-parent": "^3.1.0", + "is-glob": "^4.0.0", + "merge2": "^1.2.3", + "micromatch": "^3.1.10" + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==" + }, + "fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "dev": true + }, + "fastparse": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", + "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==" + }, + "faye-websocket": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "fecha": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fecha/-/fecha-2.3.3.tgz", + "integrity": "sha512-lUGBnIamTAwk4znq5BcqsDaxSmZ9nDVJaij6NvRt/Tg4R69gERA+otPKbS86ROw9nxVMw2/mp1fnaiWqbs6Sdg==" + }, + "figgy-pudding": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", + "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", + "dev": true + }, + "figures": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz", + "integrity": "sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=", + "dev": true, + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, + "file-entry-cache": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-2.0.0.tgz", + "integrity": "sha1-w5KZDD5oR4PYOLjISkXYoEhFg2E=", + "dev": true, + "optional": true, + "requires": { + "flat-cache": "^1.2.1", + "object-assign": "^4.0.1" + } + }, + "file-loader": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-3.0.1.tgz", + "integrity": "sha512-4sNIOXgtH/9WZq4NvlfU3Opn5ynUsqBwSLyM+I7UOwdGigTBYfVVQEwe/msZNX/j4pCJTIM14Fsw66Svo1oVrw==", + "dev": true, + "requires": { + "loader-utils": "^1.0.2", + "schema-utils": "^1.0.0" + }, + "dependencies": { + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, + "filesize": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/filesize/-/filesize-3.6.1.tgz", + "integrity": "sha512-7KjR1vv6qnicaPMi1iiTcI85CyYwRO/PSFCu6SvqL8jN2Wjt/NIYQTFtFs7fSDCYOstUkEWIQGFUg5YZQfjlcg==", + "dev": true + }, + "fill-range": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", + "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", + "requires": { + "extend-shallow": "^2.0.1", + "is-number": "^3.0.0", + "repeat-string": "^1.6.1", + "to-regex-range": "^2.1.0" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + } + }, + "find-babel-config": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/find-babel-config/-/find-babel-config-1.2.0.tgz", + "integrity": "sha512-jB2CHJeqy6a820ssiqwrKMeyC6nNdmrcgkKWJWmpoxpE8RKciYJXCcXRq1h2AzCo5I5BJeN2tkGEO3hLTuePRA==", + "dev": true, + "requires": { + "json5": "^0.5.1", + "path-exists": "^3.0.0" + } + }, + "find-cache-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-1.0.0.tgz", + "integrity": "sha1-kojj6ePMN0hxfTnq3hfPcfww7m8=", + "requires": { + "commondir": "^1.0.1", + "make-dir": "^1.0.0", + "pkg-dir": "^2.0.0" + }, + "dependencies": { + "make-dir": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-1.3.0.tgz", + "integrity": "sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==", + "requires": { + "pify": "^3.0.0" + } + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=" + } + } + }, + "find-up": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", + "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "requires": { + "locate-path": "^2.0.0" + } + }, + "flat-cache": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-1.3.4.tgz", + "integrity": "sha512-VwyB3Lkgacfik2vhqR4uv2rvebqmDvFu4jlN/C1RzWoJEo8I7z4Q404oiqYCkq41mni8EzQnm95emU9seckwtg==", + "dev": true, + "optional": true, + "requires": { + "circular-json": "^0.3.1", + "graceful-fs": "^4.1.2", + "rimraf": "~2.6.2", + "write": "^0.2.1" + }, + "dependencies": { + "rimraf": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", + "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", + "dev": true, + "optional": true, + "requires": { + "glob": "^7.1.3" + } + } + } + }, + "flatted": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", + "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", + "dev": true + }, + "flatten": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/flatten/-/flatten-1.0.3.tgz", + "integrity": "sha512-dVsPA/UwQ8+2uoFe5GHtiBMu48dWLTdsuEd7CKGlZlD78r1TTWBvDuFaFGKCo/ZfEr95Uk56vZoX86OsHkUeIg==" + }, + "flush-write-stream": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", + "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "readable-stream": "^2.3.6" + } + }, + "fmin": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/fmin/-/fmin-0.0.2.tgz", + "integrity": "sha1-Wbu0DUP/3ByUzQClaMQflfGXMBc=", + "requires": { + "contour_plot": "^0.0.1", + "json2module": "^0.0.3", + "rollup": "^0.25.8", + "tape": "^4.5.1", + "uglify-js": "^2.6.2" + } + }, + "follow-redirects": { + "version": "1.5.10", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.5.10.tgz", + "integrity": "sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==", + "requires": { + "debug": "=3.1.0" + }, + "dependencies": { + "debug": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", + "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", + "requires": { + "ms": "2.0.0" + } + } + } + }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "requires": { + "is-callable": "^1.1.3" + } + }, + "for-in": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", + "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=" + }, + "forever-agent": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", + "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", + "dev": true + }, + "form-data": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", + "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "dev": true, + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.6", + "mime-types": "^2.1.12" + } + }, + "forwarded": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", + "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=" + }, + "fragment-cache": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", + "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "requires": { + "map-cache": "^0.2.2" + } + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" + }, + "from2": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", + "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "readable-stream": "^2.0.0" + } + }, + "fs-extra": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", + "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + } + }, + "fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "fs-write-stream-atomic": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", + "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.2", + "iferr": "^0.1.5", + "imurmurhash": "^0.1.4", + "readable-stream": "1 || 2" + } + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + }, + "fsevents": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.1.tgz", + "integrity": "sha512-YR47Eg4hChJGAB1O3yEAOkGO+rlzutoICGqGo9EZ4lKWokzZRSyIW1QmTzqjtw8MJdj9srP869CuWw/hyzSiBw==", + "optional": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + }, + "functional-red-black-tree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz", + "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=", + "dev": true + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true + }, + "get-caller-file": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", + "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==" + }, + "get-intrinsic": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.2.tgz", + "integrity": "sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg==", + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "get-stdin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz", + "integrity": "sha1-uWjGsKBDhDJJAui/Gl3zJXmkUP4=" + }, + "get-stream": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz", + "integrity": "sha1-jpQ9E1jcN1VQVOy+LtsFqhdO3hQ=" + }, + "get-value": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", + "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=" + }, + "getpass": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", + "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0" + } + }, + "glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", + "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", + "requires": { + "is-glob": "^3.1.0", + "path-dirname": "^1.0.0" + }, + "dependencies": { + "is-glob": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", + "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", + "requires": { + "is-extglob": "^2.1.0" + } + } + } + }, + "glob-to-regexp": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.3.0.tgz", + "integrity": "sha1-jFoUlNIGbFcMw7/kSWF1rMTVAqs=", + "dev": true + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "globby": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", + "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", + "requires": { + "array-union": "^1.0.1", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "good-listener": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/good-listener/-/good-listener-1.2.2.tgz", + "integrity": "sha1-1TswzfkxPf+33JoNR3CWqm0UXFA=", + "requires": { + "delegate": "^3.1.2" + } + }, + "graceful-fs": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", + "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==" + }, + "graphlib": { + "version": "2.1.8", + "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz", + "integrity": "sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==", + "requires": { + "lodash": "^4.17.15" + } + }, + "gzip-size": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/gzip-size/-/gzip-size-5.1.1.tgz", + "integrity": "sha512-FNHi6mmoHvs1mxZAds4PpdCS6QG8B4C1krxJsMutgxl5t3+GlRTzzI3NEkifXx2pVsOvJdOGSmIgDhQ55FwdPA==", + "dev": true, + "requires": { + "duplexer": "^0.1.1", + "pify": "^4.0.1" + }, + "dependencies": { + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + } + } + }, + "handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==" + }, + "har-schema": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", + "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", + "dev": true + }, + "har-validator": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.5.tgz", + "integrity": "sha512-nmT2T0lljbxdQZfspsno9hgrG3Uir6Ks5afism62poxqBM6sDnMEuPmzTq8XN0OEwqKLLdh1jQI3qyE66Nzb3w==", + "dev": true, + "requires": { + "ajv": "^6.12.3", + "har-schema": "^2.0.0" + } + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" + }, + "has-symbols": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", + "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" + }, + "has-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", + "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "requires": { + "get-value": "^2.0.6", + "has-values": "^1.0.0", + "isobject": "^3.0.0" + } + }, + "has-values": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", + "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", + "requires": { + "is-number": "^3.0.0", + "kind-of": "^4.0.0" + }, + "dependencies": { + "kind-of": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", + "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", + "requires": { + "is-buffer": "^1.1.5" + } + } + } + }, + "hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "requires": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha1-M7QHd3VMZDJXPBIMw4CLvRDUfwQ=" + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" + }, + "hex-color-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", + "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==", + "dev": true + }, + "highlight.js": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/highlight.js/-/highlight.js-10.5.0.tgz", + "integrity": "sha512-xTmvd9HiIHR6L53TMC7TKolEj65zG1XU+Onr8oi86mYa+nLcIbxTTWkpW7CsEwv/vK7u1zb8alZIMLDqqN6KTw==", + "dev": true + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "home-or-tmp": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", + "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", + "requires": { + "os-homedir": "^1.0.0", + "os-tmpdir": "^1.0.1" + } + }, + "hoopy": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", + "integrity": "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==", + "dev": true + }, + "hosted-git-info": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", + "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==" + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "requires": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "hsl-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", + "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=", + "dev": true + }, + "hsla-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", + "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=", + "dev": true + }, + "html-comment-regex": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", + "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==" + }, + "html-entities": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.4.0.tgz", + "integrity": "sha512-8nxjcBcd8wovbeKx7h3wTji4e6+rhaVuPNpMqwWgnHh+N9ToqsCs6XztWRBPQ+UtzsoMAdKZtUENoVzU/EMtZA==" + }, + "html-minifier": { + "version": "3.5.21", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-3.5.21.tgz", + "integrity": "sha512-LKUKwuJDhxNa3uf/LPR/KVjm/l3rBqtYeCOAekvG8F1vItxMUpueGd94i/asDDr8/1u7InxzFA5EeGjhhG5mMA==", + "dev": true, + "requires": { + "camel-case": "3.0.x", + "clean-css": "4.2.x", + "commander": "2.17.x", + "he": "1.2.x", + "param-case": "2.1.x", + "relateurl": "0.2.x", + "uglify-js": "3.4.x" + }, + "dependencies": { + "commander": { + "version": "2.17.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.17.1.tgz", + "integrity": "sha512-wPMUt6FnH2yzG95SA6mzjQOEKUU3aLaDEmzs1ti+1E9h+CsrZghRlqEM/EJ4KscsQVG8uNN4uVreUeT8+drlgg==", + "dev": true + }, + "uglify-js": { + "version": "3.4.10", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.4.10.tgz", + "integrity": "sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw==", + "dev": true, + "requires": { + "commander": "~2.19.0", + "source-map": "~0.6.1" + }, + "dependencies": { + "commander": { + "version": "2.19.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.19.0.tgz", + "integrity": "sha512-6tvAOO+D6OENvRAh524Dh9jcfKTYDQAqvqezbCW82xj5X0pSrcpxtvRKHLG0yBY6SD7PSDrJaj+0AiOcKVd1Xg==", + "dev": true + } + } + } + } + }, + "html-minifier-terser": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", + "integrity": "sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==", + "dev": true, + "requires": { + "camel-case": "^4.1.1", + "clean-css": "^4.2.3", + "commander": "^4.1.1", + "he": "^1.2.0", + "param-case": "^3.0.3", + "relateurl": "^0.2.7", + "terser": "^4.6.3" + }, + "dependencies": { + "camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dev": true, + "requires": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true + }, + "param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "dev": true, + "requires": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + } + } + }, + "html-tags": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz", + "integrity": "sha1-ELMKOGCF9Dzt41PMj6fLDe7qZos=", + "dev": true + }, + "html-webpack-plugin": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/html-webpack-plugin/-/html-webpack-plugin-4.5.1.tgz", + "integrity": "sha512-yzK7RQZwv9xB+pcdHNTjcqbaaDZ+5L0zJHXfi89iWIZmb/FtzxhLk0635rmJihcQbs3ZUF27Xp4oWGx6EK56zg==", + "dev": true, + "requires": { + "@types/html-minifier-terser": "^5.0.0", + "@types/tapable": "^1.0.5", + "@types/webpack": "^4.41.8", + "html-minifier-terser": "^5.0.1", + "loader-utils": "^1.2.3", + "lodash": "^4.17.20", + "pretty-error": "^2.1.1", + "tapable": "^1.1.3", + "util.promisify": "1.0.0" + }, + "dependencies": { + "util.promisify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.0.tgz", + "integrity": "sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA==", + "dev": true, + "requires": { + "define-properties": "^1.1.2", + "object.getownpropertydescriptors": "^2.0.3" + } + } + } + }, + "htmlparser2": { + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.10.1.tgz", + "integrity": "sha512-IgieNijUMbkDovyoKObU1DUhm1iwNYE/fuifEoEHfd1oZKZDaONBSkal7Y01shxsM49R4XaMdGez3WnF9UfiCQ==", + "dev": true, + "requires": { + "domelementtype": "^1.3.1", + "domhandler": "^2.3.0", + "domutils": "^1.5.1", + "entities": "^1.1.1", + "inherits": "^2.0.1", + "readable-stream": "^3.1.1" + }, + "dependencies": { + "entities": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/entities/-/entities-1.1.2.tgz", + "integrity": "sha512-f2LZMYl1Fzu7YSBKg+RoROelpOaNrcGmE9AZubeDfrCEia483oW4MI4VyFd5VNHIgQ/7qm1I0wUHK1eJnn2y2w==", + "dev": true + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=" + }, + "http-errors": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", + "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.1", + "statuses": ">= 1.5.0 < 2", + "toidentifier": "1.0.0" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + } + } + }, + "http-parser-js": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.3.tgz", + "integrity": "sha512-t7hjvef/5HEK7RWTdUzVUhl8zkEu+LlaE0IYzdMuvbSDipxBRpOn4Uhw8ZyECEa808iVT8XCjzo6xmYt4CiLZg==" + }, + "http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-proxy-middleware": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", + "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", + "requires": { + "http-proxy": "^1.17.0", + "is-glob": "^4.0.0", + "lodash": "^4.17.11", + "micromatch": "^3.1.10" + } + }, + "http-signature": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", + "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "jsprim": "^1.2.2", + "sshpk": "^1.7.0" + } + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=" + }, + "human-signals": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-1.1.1.tgz", + "integrity": "sha512-SEQu7vl8KjNL2eoGBLF3+wAjpsNfA9XMlXAYj/3EdaNfAlxKthD1xjEQfGOUhllCGGJVNY34bRr6lPINhNjyZw==", + "dev": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "icss-replace-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/icss-replace-symbols/-/icss-replace-symbols-1.1.0.tgz", + "integrity": "sha1-Bupvg2ead0njhs/h/oEq5dsiPe0=" + }, + "icss-utils": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-2.1.0.tgz", + "integrity": "sha1-g/Cg7DeL8yRheLbCrZE28TWxyWI=", + "requires": { + "postcss": "^6.0.1" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + } + } + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==" + }, + "iferr": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", + "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", + "dev": true + }, + "ignore": { + "version": "3.3.10", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", + "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", + "dev": true + }, + "image-size": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", + "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=", + "dev": true, + "optional": true + }, + "import-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", + "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", + "dev": true, + "requires": { + "import-from": "^2.1.0" + } + }, + "import-fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", + "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "dev": true, + "requires": { + "caller-path": "^2.0.0", + "resolve-from": "^3.0.0" + }, + "dependencies": { + "caller-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", + "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "dev": true, + "requires": { + "caller-callsite": "^2.0.0" + } + } + } + }, + "import-from": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", + "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", + "dev": true, + "requires": { + "resolve-from": "^3.0.0" + } + }, + "import-local": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-1.0.0.tgz", + "integrity": "sha512-vAaZHieK9qjGo58agRBg+bhHX3hoTZU/Oa3GESWLz7t1U62fk63aHuDJJEteXoDeTCcPmUT+z38gkHPZkkmpmQ==", + "requires": { + "pkg-dir": "^2.0.0", + "resolve-cwd": "^2.0.0" + } + }, + "imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "dev": true + }, + "indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true + }, + "indexes-of": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", + "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=" + }, + "infer-owner": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", + "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", + "dev": true + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "inquirer": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-3.3.0.tgz", + "integrity": "sha512-h+xtnyk4EwKvFWHrUYsWErEVR+igKtLdchu+o0Z1RL7VU/jVMFbYir2bp6bAj8efFNxWqHX0dIss6fJQ+/+qeQ==", + "dev": true, + "optional": true, + "requires": { + "ansi-escapes": "^3.0.0", + "chalk": "^2.0.0", + "cli-cursor": "^2.1.0", + "cli-width": "^2.0.0", + "external-editor": "^2.0.4", + "figures": "^2.0.0", + "lodash": "^4.3.0", + "mute-stream": "0.0.7", + "run-async": "^2.2.0", + "rx-lite": "^4.0.8", + "rx-lite-aggregates": "^4.0.8", + "string-width": "^2.1.0", + "strip-ansi": "^4.0.0", + "through": "^2.3.6" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", + "dev": true, + "optional": true + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "dev": true, + "optional": true, + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "internal-ip": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-1.2.0.tgz", + "integrity": "sha1-rp+/k7mEh4eF1QqN4bNWlWBYz1w=", + "requires": { + "meow": "^3.3.0" + } + }, + "internmap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-1.0.0.tgz", + "integrity": "sha512-SdoDWwNOTE2n4JWUsLn4KXZGuZPjPF9yyOGc8bnfWnBQh7BD/l80rzSznKc/r4Y0aQ7z3RTk9X+tV4tHBpu+dA==" + }, + "interpret": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.4.0.tgz", + "integrity": "sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==" + }, + "intersperse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/intersperse/-/intersperse-1.0.0.tgz", + "integrity": "sha1-8lYfsc/vn1J3zDNHoiiGtDUaUYE=" + }, + "invariant": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", + "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "requires": { + "loose-envify": "^1.0.0" + } + }, + "invert-kv": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz", + "integrity": "sha1-EEqOSqym09jNFXqO+L+rLXo//bY=" + }, + "ip": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", + "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=" + }, + "ip-regex": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", + "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", + "dev": true + }, + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" + }, + "is-absolute-url": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", + "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=" + }, + "is-accessor-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", + "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-arguments": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.0.tgz", + "integrity": "sha512-1Ij4lOMPl/xB5kBDn7I+b2ttPMKa8szhEIrXDuXQD/oe3HJLTLhqhgGspwgyGd6MOywBUqVvYicF72lkgDnIHg==", + "requires": { + "call-bind": "^1.0.0" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=" + }, + "is-binary-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", + "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", + "requires": { + "binary-extensions": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, + "is-callable": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", + "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==" + }, + "is-ci": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-1.2.1.tgz", + "integrity": "sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg==", + "dev": true, + "requires": { + "ci-info": "^1.5.0" + } + }, + "is-color-stop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", + "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", + "dev": true, + "requires": { + "css-color-names": "^0.0.4", + "hex-color-regex": "^1.1.0", + "hsl-regex": "^1.0.0", + "hsla-regex": "^1.0.0", + "rgb-regex": "^1.0.1", + "rgba-regex": "^1.0.0" + } + }, + "is-core-module": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.2.0.tgz", + "integrity": "sha512-XRAfAdyyY5F5cOXn7hYQDqh2Xmii+DEfIcQGxK/uNwMHhIkPWO0g8msXcbzLe+MpGoR951MlqM/2iIlU4vKDdQ==", + "requires": { + "has": "^1.0.3" + } + }, + "is-data-descriptor": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", + "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-date-object": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", + "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==" + }, + "is-descriptor": { + "version": "0.1.6", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", + "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "requires": { + "is-accessor-descriptor": "^0.1.6", + "is-data-descriptor": "^0.1.4", + "kind-of": "^5.0.0" + }, + "dependencies": { + "kind-of": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", + "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==" + } + } + }, + "is-directory": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", + "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=" + }, + "is-docker": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.1.1.tgz", + "integrity": "sha512-ZOoqiXfEwtGknTiuDEy8pN2CfE3TxMHprvNer1mXiqwkOT77Rw3YVrUQ52EqAOU3QAWDQ+bQdx7HJzrv7LS2Hw==", + "dev": true + }, + "is-extendable": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", + "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=" + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=" + }, + "is-finite": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.1.0.tgz", + "integrity": "sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w==" + }, + "is-fullwidth-code-point": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", + "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=" + }, + "is-glob": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", + "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-mobile": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/is-mobile/-/is-mobile-2.2.2.tgz", + "integrity": "sha512-wW/SXnYJkTjs++tVK5b6kVITZpAZPtUrt9SF80vvxGiF/Oywal+COk1jlRkiVq15RFNEQKQY31TkV24/1T5cVg==" + }, + "is-negative-zero": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", + "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==" + }, + "is-number": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", + "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", + "requires": { + "kind-of": "^3.0.2" + } + }, + "is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "dev": true + }, + "is-path-cwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", + "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=" + }, + "is-path-in-cwd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", + "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", + "requires": { + "is-path-inside": "^1.0.0" + } + }, + "is-path-inside": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", + "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "requires": { + "path-is-inside": "^1.0.1" + } + }, + "is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=" + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "requires": { + "isobject": "^3.0.1" + } + }, + "is-regex": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", + "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", + "requires": { + "has-symbols": "^1.0.1" + } + }, + "is-resolvable": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", + "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", + "dev": true + }, + "is-stream": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", + "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=" + }, + "is-string": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", + "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==" + }, + "is-svg": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-2.1.0.tgz", + "integrity": "sha1-z2EJDaDZ77yrhyLeum8DIgjbsOk=", + "requires": { + "html-comment-regex": "^1.1.0" + } + }, + "is-symbol": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", + "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "requires": { + "has-symbols": "^1.0.1" + } + }, + "is-typedarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", + "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", + "dev": true + }, + "is-utf8": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz", + "integrity": "sha1-Sw2hRCEE0bM2NA6AeX6GXPOffXI=" + }, + "is-what": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.12.0.tgz", + "integrity": "sha512-2ilQz5/f/o9V7WRWJQmpFYNmQFZ9iM+OXRonZKcYgTkCzjb949Vi4h282PD1UfmgHk666rcWonbRJ++KI41VGw==", + "dev": true + }, + "is-windows": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", + "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==" + }, + "is-wsl": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", + "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=" + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=" + }, + "ismobilejs": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ismobilejs/-/ismobilejs-1.1.1.tgz", + "integrity": "sha512-VaFW53yt8QO61k2WJui0dHf4SlL8lxBofUuUmwBo0ljPk0Drz2TiuDW4jo3wDcv41qy/SxrJ+VAzJ/qYqsmzRw==" + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=" + }, + "isstream": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", + "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", + "dev": true + }, + "javascript-stringify": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-1.6.0.tgz", + "integrity": "sha1-FC0RHzpuPa6PSpr9d9RYVbWpzOM=", + "dev": true + }, + "js-base64": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-3.6.0.tgz", + "integrity": "sha512-wVdUBYQeY2gY73RIlPrysvpYx+2vheGo8Y1SNQv/BzHToWpAZzJU7Z6uheKMAe+GLSBig5/Ps2nxg/8tRB73xg==" + }, + "js-cookie": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/js-cookie/-/js-cookie-2.2.1.tgz", + "integrity": "sha512-HvdH2LzI/EAZcUwA8+0nKNtWHqS+ZmijLA30RwZA0bo7ToCckjK5MkGhjED9KoRcXO6BaGI3I9UIzSA1FKFPOQ==" + }, + "js-levenshtein": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/js-levenshtein/-/js-levenshtein-1.1.6.tgz", + "integrity": "sha512-X2BB11YZtrRqY4EnQcLX5Rh373zbK4alC1FW7D7MBhL2gtcC17cTnr6DmfHZeS0s2rTHjUTMMHfG7gO8SSdw+g==", + "dev": true + }, + "js-message": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/js-message/-/js-message-1.0.7.tgz", + "integrity": "sha512-efJLHhLjIyKRewNS9EGZ4UpI8NguuL6fKkhRxVuMmrGV2xN/0APGdQYwLFky5w9naebSZ0OwAGp0G6/2Cg90rA==", + "dev": true + }, + "js-queue": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/js-queue/-/js-queue-2.0.2.tgz", + "integrity": "sha512-pbKLsbCfi7kriM3s1J4DDCo7jQkI58zPLHi0heXPzPlj0hjUsm+FesPUbE0DSbIVIK503A36aUBoCN7eMFedkA==", + "dev": true, + "requires": { + "easy-stack": "^1.0.1" + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + }, + "js-yaml": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", + "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", + "requires": { + "argparse": "^1.0.7", + "esprima": "^4.0.0" + } + }, + "jsbn": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", + "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", + "dev": true + }, + "jsencrypt": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsencrypt/-/jsencrypt-3.1.0.tgz", + "integrity": "sha512-A4fIgyPN38G7wwB5t1Vkpi+w7j/nHKdradl/k9/GQqwAsxJqAJ55j3P5rWO3dvjhzOyWKOmK//WwzPO+o6gW0g==" + }, + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=" + }, + "json-loader": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/json-loader/-/json-loader-0.5.7.tgz", + "integrity": "sha512-QLPs8Dj7lnf3e3QYS1zkCo+4ZwqOiF9d/nZnYozTISxXWCfNs9yuky5rJw4/W34s7POaNlbZmQGaB5NiXCbP4w==" + }, + "json-parse-better-errors": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", + "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", + "dev": true + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "json-schema": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", + "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==" + }, + "json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "dev": true + }, + "json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", + "dev": true + }, + "json2module": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/json2module/-/json2module-0.0.3.tgz", + "integrity": "sha1-APtfSpt638PwZHwpyxe80Zeb6bI=", + "requires": { + "rw": "^1.3.2" + } + }, + "json2mq": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/json2mq/-/json2mq-0.2.0.tgz", + "integrity": "sha1-tje9O6nqvhIsg+lyBIOusQ0skEo=", + "requires": { + "string-convert": "^0.2.0" + } + }, + "json3": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", + "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==" + }, + "json5": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", + "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=" + }, + "jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6" + } + }, + "jsprim": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", + "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "dev": true, + "requires": { + "assert-plus": "1.0.0", + "extsprintf": "1.3.0", + "json-schema": "0.2.3", + "verror": "1.10.0" + } + }, + "killable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", + "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==" + }, + "kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", + "requires": { + "is-buffer": "^1.1.5" + } + }, + "launch-editor": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.2.1.tgz", + "integrity": "sha512-On+V7K2uZK6wK7x691ycSUbLD/FyKKelArkbaAMSSJU8JmqmhwN2+mnJDNINuJWSrh2L0kDk+ZQtbC/gOWUwLw==", + "dev": true, + "requires": { + "chalk": "^2.3.0", + "shell-quote": "^1.6.1" + } + }, + "launch-editor-middleware": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/launch-editor-middleware/-/launch-editor-middleware-2.2.1.tgz", + "integrity": "sha512-s0UO2/gEGiCgei3/2UN3SMuUj1phjQN8lcpnvgLSz26fAzNWPQ6Nf/kF5IFClnfU2ehp6LrmKdMU/beveO+2jg==", + "dev": true, + "requires": { + "launch-editor": "^2.2.1" + } + }, + "lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha1-odePw6UEdMuAhF07O24dpJpEbo4=" + }, + "lcid": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz", + "integrity": "sha1-MIrMr6C8SDo4Z7S28rlQYlHRuDU=", + "requires": { + "invert-kv": "^1.0.0" + } + }, + "less": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/less/-/less-3.13.1.tgz", + "integrity": "sha512-SwA1aQXGUvp+P5XdZslUOhhLnClSLIjWvJhmd+Vgib5BFIr9lMNlQwmwUNOjXThF/A0x+MCYYPeWEfeWiLRnTw==", + "dev": true, + "requires": { + "copy-anything": "^2.0.1", + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "make-dir": "^2.1.0", + "mime": "^1.4.1", + "native-request": "^1.0.5", + "source-map": "~0.6.0", + "tslib": "^1.10.0" + }, + "dependencies": { + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "optional": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true, + "optional": true + }, + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } + } + }, + "less-loader": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-4.1.0.tgz", + "integrity": "sha512-KNTsgCE9tMOM70+ddxp9yyt9iHqgmSs0yTZc5XH5Wo+g80RWRIYNqE58QJKm/yMud5wZEvz50ugRDuzVIkyahg==", + "dev": true, + "requires": { + "clone": "^2.1.1", + "loader-utils": "^1.1.0", + "pify": "^3.0.0" + }, + "dependencies": { + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", + "dev": true + }, + "pify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", + "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", + "dev": true + } + } + }, + "levn": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz", + "integrity": "sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2" + } + }, + "lines-and-columns": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", + "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", + "dev": true + }, + "load-json-file": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz", + "integrity": "sha1-eUfkIUmvgNaWy/eXvKq8/h/inKg=", + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "strip-bom": "^3.0.0" + } + }, + "loader-fs-cache": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/loader-fs-cache/-/loader-fs-cache-1.0.3.tgz", + "integrity": "sha512-ldcgZpjNJj71n+2Mf6yetz+c9bM4xpKtNds4LbqXzU/PTdeAX0g3ytnU1AJMEcTk2Lex4Smpe3Q/eCTsvUBxbA==", + "dev": true, + "requires": { + "find-cache-dir": "^0.1.1", + "mkdirp": "^0.5.1" + }, + "dependencies": { + "find-cache-dir": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-0.1.1.tgz", + "integrity": "sha1-yN765XyKUqinhPnjHFfHQumToLk=", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "mkdirp": "^0.5.1", + "pkg-dir": "^1.0.0" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "dev": true, + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "dev": true, + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "pkg-dir": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-1.0.0.tgz", + "integrity": "sha1-ektQio1bstYp1EcFb/TpyTFM89Q=", + "dev": true, + "requires": { + "find-up": "^1.0.0" + } + } + } + }, + "loader-runner": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", + "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==" + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "requires": { + "minimist": "^1.2.0" + } + } + } + }, + "locate-path": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", + "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "requires": { + "p-locate": "^2.0.0", + "path-exists": "^3.0.0" + } + }, + "lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" + }, + "lodash._baseassign": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz", + "integrity": "sha1-jDigmVAPIVrQnlnxci/QxSv+Ck4=", + "requires": { + "lodash._basecopy": "^3.0.0", + "lodash.keys": "^3.0.0" + } + }, + "lodash._basecopy": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz", + "integrity": "sha1-jaDmqHbPNEwK2KVIghEd08XHyjY=" + }, + "lodash._bindcallback": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz", + "integrity": "sha1-5THCdkTPi1epnhftlbNcdIeJOS4=" + }, + "lodash._createassigner": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lodash._createassigner/-/lodash._createassigner-3.1.1.tgz", + "integrity": "sha1-g4pbri/aymOsIt7o4Z+k5taXCxE=", + "requires": { + "lodash._bindcallback": "^3.0.0", + "lodash._isiterateecall": "^3.0.0", + "lodash.restparam": "^3.0.0" + } + }, + "lodash._getnative": { + "version": "3.9.1", + "resolved": "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz", + "integrity": "sha1-VwvH3t5G1hzc3mh9ZdPuy6o6r/U=" + }, + "lodash._isiterateecall": { + "version": "3.0.9", + "resolved": "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz", + "integrity": "sha1-UgOte6Ql+uhCRg5pbbnPPmqsBXw=" + }, + "lodash.assign": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.2.0.tgz", + "integrity": "sha1-DZnzzNem0mHRm9rrkkUAXShYCOc=" + }, + "lodash.camelcase": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz", + "integrity": "sha1-soqmKIorn8ZRA1x3EfZathkDMaY=" + }, + "lodash.defaults": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-4.2.0.tgz", + "integrity": "sha1-0JF4cW/+pN3p5ft7N/bwgCJ0WAw=" + }, + "lodash.defaultsdeep": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/lodash.defaultsdeep/-/lodash.defaultsdeep-4.6.1.tgz", + "integrity": "sha512-3j8wdDzYuWO3lM3Reg03MuQR957t287Rpcxp1njpEa8oDrikb+FwGdW3n+FELh/A6qib6yPit0j/pv9G/yeAqA==", + "dev": true + }, + "lodash.find": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.find/-/lodash.find-4.6.0.tgz", + "integrity": "sha1-ywcE1Hq3F4n/oN6Ll92Sb7iLE7E=" + }, + "lodash.get": { + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz", + "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk=" + }, + "lodash.isarguments": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz", + "integrity": "sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo=" + }, + "lodash.isarray": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz", + "integrity": "sha1-eeTriMNqgSKvhvhEqpvNhRtfu1U=" + }, + "lodash.kebabcase": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.kebabcase/-/lodash.kebabcase-4.1.1.tgz", + "integrity": "sha1-hImxyw0p/4gZXM7KRI/21swpXDY=", + "dev": true + }, + "lodash.keys": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz", + "integrity": "sha1-TbwEcrFWvlCgsoaFXRvQsMZWCYo=", + "requires": { + "lodash._getnative": "^3.0.0", + "lodash.isarguments": "^3.0.0", + "lodash.isarray": "^3.0.0" + } + }, + "lodash.mapvalues": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.mapvalues/-/lodash.mapvalues-4.6.0.tgz", + "integrity": "sha1-G6+lAF3p3W9PJmaMMMo3IwzJaJw=", + "dev": true + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=" + }, + "lodash.pick": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.pick/-/lodash.pick-4.4.0.tgz", + "integrity": "sha1-UvBWEP/53tQiYRRB7R/BI6AwAbM=" + }, + "lodash.restparam": { + "version": "3.6.1", + "resolved": "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz", + "integrity": "sha1-k2pOMJ7zMKdkXtQUWYbIWuWyCAU=" + }, + "lodash.toarray": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.toarray/-/lodash.toarray-4.4.0.tgz", + "integrity": "sha1-JMS/zWsvuji/0FlNsRedjptlZWE=" + }, + "lodash.transform": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/lodash.transform/-/lodash.transform-4.6.0.tgz", + "integrity": "sha1-EjBkIvYzJK7YSD0/ODMrX2cFR6A=", + "dev": true + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=" + }, + "log-symbols": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-2.2.0.tgz", + "integrity": "sha512-VeIAFslyIerEJLXHziedo2basKbMKtTw3vfn5IzG0XTjhAVEJyNHnL2p7vc+wBDSdQuUpNw3M2u6xb9QsAY5Eg==", + "dev": true, + "requires": { + "chalk": "^2.0.1" + } + }, + "loglevel": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.1.tgz", + "integrity": "sha512-Hesni4s5UkWkwCGJMQGAh71PaLUmKFM60dHvq0zi/vDhhrzuk+4GgNbTXJ12YYQJn6ZKBDNIjYcuQGKudvqrIw==" + }, + "longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha1-MKCy2jj3N3DoKUoNIuZiXtd9AJc=" + }, + "loose-envify": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", + "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "requires": { + "js-tokens": "^3.0.0 || ^4.0.0" + } + }, + "loud-rejection": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.6.0.tgz", + "integrity": "sha1-W0b4AUft7leIcPCG0Eghz5mOVR8=", + "requires": { + "currently-unhandled": "^0.4.1", + "signal-exit": "^3.0.0" + } + }, + "lower-case": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-1.1.4.tgz", + "integrity": "sha1-miyr0bno4K6ZOkv31YdcOcQujqw=", + "dev": true + }, + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "map-cache": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", + "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=" + }, + "map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha1-2TPOuSBdgr3PSIb2dCvcK03qFG0=" + }, + "map-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", + "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "requires": { + "object-visit": "^1.0.0" + } + }, + "math-expression-evaluator": { + "version": "1.3.7", + "resolved": "https://registry.npmjs.org/math-expression-evaluator/-/math-expression-evaluator-1.3.7.tgz", + "integrity": "sha512-nrbaifCl42w37hYd6oRLvoymFK42tWB+WQTMFtksDGQMi5GvlJwnz/CsS30FFAISFLtX+A0csJ0xLiuuyyec7w==" + }, + "md5": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", + "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", + "requires": { + "charenc": "0.0.2", + "crypt": "0.0.2", + "is-buffer": "~1.1.6" + } + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "mdn-data": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", + "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", + "dev": true + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=" + }, + "mem": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz", + "integrity": "sha1-Xt1StIXKHZAP5kiVUFOZoN+kX3Y=", + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "memory-fs": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", + "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "requires": { + "errno": "^0.1.3", + "readable-stream": "^2.0.1" + } + }, + "meow": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz", + "integrity": "sha1-cstmi0JSKCkKu/qFaJJYcwioAfs=", + "requires": { + "camelcase-keys": "^2.0.0", + "decamelize": "^1.1.2", + "loud-rejection": "^1.0.0", + "map-obj": "^1.0.1", + "minimist": "^1.1.3", + "normalize-package-data": "^2.3.4", + "object-assign": "^4.0.1", + "read-pkg-up": "^1.0.1", + "redent": "^1.0.0", + "trim-newlines": "^1.0.0" + }, + "dependencies": { + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + } + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "requires": { + "is-utf8": "^0.2.0" + } + } + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=" + }, + "merge-source-map": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", + "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", + "requires": { + "source-map": "^0.6.1" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=" + }, + "micromatch": { + "version": "3.1.10", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", + "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "braces": "^2.3.1", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "extglob": "^2.0.4", + "fragment-cache": "^0.2.1", + "kind-of": "^6.0.2", + "nanomatch": "^1.2.9", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.2" + }, + "dependencies": { + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + } + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + } + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==" + }, + "mime-db": { + "version": "1.45.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz", + "integrity": "sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==" + }, + "mime-types": { + "version": "2.1.28", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.28.tgz", + "integrity": "sha512-0TO2yJ5YHYr7M2zzT7gDU1tbwHxEUWBCLt0lscSNpcdAfFyJOVEpRYNS7EXVcTLNj/25QO8gulHC5JtTzSE2UQ==", + "requires": { + "mime-db": "1.45.0" + } + }, + "mimic-fn": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", + "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==" + }, + "mini-css-extract-plugin": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.8.2.tgz", + "integrity": "sha512-a3Y4of27Wz+mqK3qrcd3VhYz6cU0iW5x3Sgvqzbj+XmlrSizmvu8QQMl5oMYJjgHOC4iyt+w7l4umP+dQeW3bw==", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "normalize-url": "1.9.1", + "schema-utils": "^1.0.0", + "webpack-sources": "^1.1.0" + }, + "dependencies": { + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==" + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=" + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" + }, + "minipass": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", + "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + }, + "dependencies": { + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + } + } + }, + "minipass-collect": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", + "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "dev": true, + "requires": { + "minipass": "^3.0.0" + } + }, + "mississippi": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", + "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", + "dev": true, + "requires": { + "concat-stream": "^1.5.0", + "duplexify": "^3.4.2", + "end-of-stream": "^1.1.0", + "flush-write-stream": "^1.0.0", + "from2": "^2.1.0", + "parallel-transform": "^1.1.0", + "pump": "^3.0.0", + "pumpify": "^1.3.3", + "stream-each": "^1.1.0", + "through2": "^2.0.0" + } + }, + "mixin-deep": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", + "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", + "requires": { + "for-in": "^1.0.2", + "is-extendable": "^1.0.1" + }, + "dependencies": { + "is-extendable": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", + "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", + "requires": { + "is-plain-object": "^2.0.4" + } + } + } + }, + "mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "requires": { + "minimist": "^1.2.5" + } + }, + "moment": { + "version": "2.29.1", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.1.tgz", + "integrity": "sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ==" + }, + "move-concurrently": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", + "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", + "dev": true, + "requires": { + "aproba": "^1.1.1", + "copy-concurrently": "^1.0.0", + "fs-write-stream-atomic": "^1.0.8", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.4", + "run-queue": "^1.0.3" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=" + }, + "multicast-dns": { + "version": "6.2.3", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", + "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "requires": { + "dns-packet": "^1.3.1", + "thunky": "^1.0.2" + } + }, + "multicast-dns-service-types": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", + "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=" + }, + "mutationobserver-shim": { + "version": "0.3.7", + "resolved": "https://registry.npmjs.org/mutationobserver-shim/-/mutationobserver-shim-0.3.7.tgz", + "integrity": "sha512-oRIDTyZQU96nAiz2AQyngwx1e89iApl2hN5AOYwyxLUB47UYsU3Wv9lJWqH5y/QdiYkc5HQLi23ZNB3fELdHcQ==" + }, + "mute-stream": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz", + "integrity": "sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=", + "dev": true + }, + "mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dev": true, + "requires": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, + "nanomatch": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", + "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "requires": { + "arr-diff": "^4.0.0", + "array-unique": "^0.3.2", + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "fragment-cache": "^0.2.1", + "is-windows": "^1.0.2", + "kind-of": "^6.0.2", + "object.pick": "^1.3.0", + "regex-not": "^1.0.0", + "snapdragon": "^0.8.1", + "to-regex": "^3.0.1" + }, + "dependencies": { + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + } + } + }, + "nanopop": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/nanopop/-/nanopop-2.1.0.tgz", + "integrity": "sha512-jGTwpFRexSH+fxappnGQtN9dspgE2ipa1aOjtR24igG0pv6JCxImIAmrLRHX+zUF5+1wtsFVbKyfP51kIGAVNw==" + }, + "native-request": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/native-request/-/native-request-1.0.8.tgz", + "integrity": "sha512-vU2JojJVelUGp6jRcLwToPoWGxSx23z/0iX+I77J3Ht17rf2INGjrhOoQnjVo60nQd8wVsgzKkPfRXBiVdD2ag==", + "dev": true, + "optional": true + }, + "natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "dev": true + }, + "negotiator": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", + "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" + }, + "next-tick": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", + "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=" + }, + "nice-try": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", + "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==" + }, + "no-case": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-2.3.2.tgz", + "integrity": "sha512-rmTZ9kz+f3rCvK2TD1Ue/oZlns7OGoIWP4fc3llxxRXlOkHKoWPPWJOfFYpITabSow43QJbRIoHQXtt10VldyQ==", + "dev": true, + "requires": { + "lower-case": "^1.1.1" + } + }, + "node-emoji": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/node-emoji/-/node-emoji-1.10.0.tgz", + "integrity": "sha512-Yt3384If5H6BYGVHiHwTL+99OzJKHhgp82S8/dktEK73T26BazdgZ4JZh92xSVtGNJvz9UbXdNAc5hcrXV42vw==", + "requires": { + "lodash.toarray": "^4.4.0" + } + }, + "node-forge": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", + "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==" + }, + "node-ipc": { + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/node-ipc/-/node-ipc-9.1.3.tgz", + "integrity": "sha512-8RS4RZyS/KMKKYG8mrje+cLxwATe9dBCuOiqKFSWND4oOuKytfuKCiR9yinvhoXF/nGdX/WnbywaUee+9U87zA==", + "dev": true, + "requires": { + "event-pubsub": "4.3.0", + "js-message": "1.0.7", + "js-queue": "2.0.2" + } + }, + "node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "requires": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + }, + "dependencies": { + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=" + } + } + }, + "node-releases": { + "version": "1.1.70", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.70.tgz", + "integrity": "sha512-Slf2s69+2/uAD79pVVQo8uSiC34+g8GWY8UH2Qtqv34ZfhYrxpYpfzs9Js9d6O0mbDmALuxaTlplnBTnSELcrw==", + "dev": true + }, + "normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "requires": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==" + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=" + }, + "normalize-url": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", + "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", + "requires": { + "object-assign": "^4.0.1", + "prepend-http": "^1.0.0", + "query-string": "^4.1.0", + "sort-keys": "^1.0.0" + } + }, + "npm-run-path": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", + "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "requires": { + "path-key": "^2.0.0" + } + }, + "nprogress": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/nprogress/-/nprogress-0.2.0.tgz", + "integrity": "sha1-y480xTIT2JVyP8urkH6UIq28r7E=" + }, + "nth-check": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", + "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "dev": true, + "requires": { + "boolbase": "~1.0.0" + } + }, + "num2fraction": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", + "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=" + }, + "number-is-nan": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", + "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=" + }, + "oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "dev": true + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=" + }, + "object-copy": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", + "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", + "requires": { + "copy-descriptor": "^0.1.0", + "define-property": "^0.2.5", + "kind-of": "^3.0.3" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "object-hash": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-1.3.1.tgz", + "integrity": "sha512-OSuu/pU4ENM9kmREg0BdNrUDIl1heYa4mBZacJc+vVWz4GtAwu7jO8s4AIt2aGRUTqxykpWzI3Oqnsm13tTMDA==", + "dev": true + }, + "object-inspect": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", + "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==" + }, + "object-is": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.4.tgz", + "integrity": "sha512-1ZvAZ4wlF7IyPVOcE1Omikt7UpaFlOQq0HlSti+ZvDH3UiD2brwGMwDbyV43jao2bKJ+4+WdPJHSd7kgzKYVqg==", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" + }, + "object-path": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/object-path/-/object-path-0.9.2.tgz", + "integrity": "sha1-D9mnT8X60a45aLWGvaXGMr1sBaU=" + }, + "object-visit": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", + "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "requires": { + "isobject": "^3.0.0" + } + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "object.getownpropertydescriptors": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.1.tgz", + "integrity": "sha512-6DtXgZ/lIZ9hqx4GtZETobXLR/ZLaa0aqV0kzbn80Rf8Z2e/XFnhA0I7p07N2wH8bBBltr2xQPi6sbKWAY2Eng==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1" + } + }, + "object.pick": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", + "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "requires": { + "isobject": "^3.0.1" + } + }, + "object.values": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.2.tgz", + "integrity": "sha512-MYC0jvJopr8EK6dPBiO8Nb9mvjdypOachO5REGk6MXzujbBrAisKo3HmdEI6kZDL6fC31Mwee/5YbtMebixeag==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1", + "has": "^1.0.3" + } + }, + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==" + }, + "omit.js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/omit.js/-/omit.js-1.0.2.tgz", + "integrity": "sha512-/QPc6G2NS+8d4L/cQhbk6Yit1WTB6Us2g84A7A/1+w9d/eRGHyEqC5kkQtHVoHZ5NFWGG7tUGgrhVZwgZanKrQ==", + "requires": { + "babel-runtime": "^6.23.0" + } + }, + "on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==" + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", + "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", + "dev": true, + "requires": { + "mimic-fn": "^1.0.0" + } + }, + "open": { + "version": "6.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-6.4.0.tgz", + "integrity": "sha512-IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==", + "dev": true, + "requires": { + "is-wsl": "^1.1.0" + } + }, + "opencollective-postinstall": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz", + "integrity": "sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==" + }, + "opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "dev": true + }, + "opn": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", + "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", + "requires": { + "is-wsl": "^1.1.0" + } + }, + "optionator": { + "version": "0.8.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.8.3.tgz", + "integrity": "sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==", + "dev": true, + "requires": { + "deep-is": "~0.1.3", + "fast-levenshtein": "~2.0.6", + "levn": "~0.3.0", + "prelude-ls": "~1.1.2", + "type-check": "~0.3.2", + "word-wrap": "~1.2.3" + } + }, + "ora": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-3.4.0.tgz", + "integrity": "sha512-eNwHudNbO1folBP3JsZ19v9azXWtQZjICdr3Q0TDPIaeBQ3mXLrh54wM+er0+hSp+dWKf+Z8KM58CYzEyIYxYg==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "cli-cursor": "^2.1.0", + "cli-spinners": "^2.0.0", + "log-symbols": "^2.2.0", + "strip-ansi": "^5.2.0", + "wcwidth": "^1.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "original": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", + "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", + "requires": { + "url-parse": "^1.4.3" + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=" + }, + "os-homedir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", + "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=" + }, + "os-locale": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz", + "integrity": "sha512-3sslG3zJbEYcaC4YVAvDorjGxc7tv6KVATnLPZONiljsUncvihe9BQoVCEs0RZ1kmf4Hk9OBqlZfJZWI4GanKA==", + "requires": { + "execa": "^0.7.0", + "lcid": "^1.0.0", + "mem": "^1.1.0" + }, + "dependencies": { + "execa": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz", + "integrity": "sha1-lEvs00zEHuMqY6n68nrVpl/Fl3c=", + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + } + } + }, + "os-tmpdir": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", + "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=" + }, + "p-finally": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", + "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=" + }, + "p-limit": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", + "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "requires": { + "p-try": "^1.0.0" + } + }, + "p-locate": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", + "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "requires": { + "p-limit": "^1.1.0" + } + }, + "p-map": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", + "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", + "dev": true + }, + "p-retry": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", + "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", + "dev": true, + "requires": { + "retry": "^0.12.0" + } + }, + "p-try": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", + "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=" + }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==" + }, + "parallel-transform": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", + "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "dev": true, + "requires": { + "cyclist": "^1.0.1", + "inherits": "^2.0.3", + "readable-stream": "^2.1.5" + } + }, + "param-case": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-2.1.1.tgz", + "integrity": "sha1-35T9jPZTHs915r75oIWPvHK+Ikc=", + "dev": true, + "requires": { + "no-case": "^2.2.0" + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + }, + "dependencies": { + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + } + } + }, + "parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "requires": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "parse-json": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz", + "integrity": "sha1-9ID0BDTvgHQfhGkJn43qGPVaTck=", + "requires": { + "error-ex": "^1.2.0" + } + }, + "parse-svg-path": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/parse-svg-path/-/parse-svg-path-0.1.2.tgz", + "integrity": "sha1-en7A0esG+lMlx9PgCbhZoJtdSes=" + }, + "parse5": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", + "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", + "dev": true + }, + "parse5-htmlparser2-tree-adapter": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", + "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", + "dev": true, + "requires": { + "parse5": "^6.0.1" + }, + "dependencies": { + "parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + } + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" + }, + "pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + }, + "dependencies": { + "lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "requires": { + "tslib": "^2.0.3" + } + }, + "no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "requires": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + } + } + }, + "pascalcase": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", + "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=" + }, + "path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==" + }, + "path-dirname": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", + "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=" + }, + "path-exists": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", + "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=" + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" + }, + "path-is-inside": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", + "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=" + }, + "path-key": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", + "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=" + }, + "path-parse": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", + "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=" + }, + "path-type": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz", + "integrity": "sha1-8BLMuEFbcJb8LaoQVMPXI4lZTHM=", + "requires": { + "pify": "^2.0.0" + } + }, + "pbkdf2": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", + "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "performance-now": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", + "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=" + }, + "photoswipe": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/photoswipe/-/photoswipe-4.1.3.tgz", + "integrity": "sha512-89Z43IRUyw7ycTolo+AaiDn3W1EEIfox54hERmm9bI12IB9cvRfHSHez3XhAyU8XW2EAFrC+2sKMhh7SJwn0bA==" + }, + "picomatch": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", + "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "optional": true + }, + "pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=" + }, + "pinkie": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", + "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=" + }, + "pinkie-promise": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", + "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "requires": { + "pinkie": "^2.0.0" + } + }, + "pkg-dir": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz", + "integrity": "sha1-9tXREJ4Z1j7fQo4L1X4Sd3YVM0s=", + "requires": { + "find-up": "^2.1.0" + } + }, + "pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", + "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", + "dev": true, + "requires": { + "find-up": "^2.1.0" + } + }, + "pluralize": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/pluralize/-/pluralize-7.0.0.tgz", + "integrity": "sha512-ARhBOdzS3e41FbkW/XWrTEtukqqLoK5+Z/4UeDaLuSW+39JPeFgs4gCGqsrJHVZX0fUrx//4OF0K1CUGwlIFow==", + "dev": true, + "optional": true + }, + "point-at-length": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/point-at-length/-/point-at-length-1.1.0.tgz", + "integrity": "sha1-CtcuvQmA1/WhqxIpbAVfnrazDlc=", + "requires": { + "abs-svg-path": "~0.1.1", + "isarray": "~0.0.1", + "parse-svg-path": "~0.1.1" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + } + } + }, + "portfinder": { + "version": "1.0.28", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", + "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", + "requires": { + "async": "^2.6.2", + "debug": "^3.1.1", + "mkdirp": "^0.5.5" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "requires": { + "ms": "^2.1.1" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + } + } + }, + "posix-character-classes": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", + "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=" + }, + "postcss": { + "version": "7.0.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.35.tgz", + "integrity": "sha512-3QT8bBJeX/S5zKTTjTCIjRF3If4avAT6kqxcASlTWEtAFCb9NH0OUxNDfgZSWdP5fJnBYCMEWkIFfWeugjzYMg==", + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + }, + "dependencies": { + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "postcss-calc": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-5.3.1.tgz", + "integrity": "sha1-d7rnypKK2FcW4v2kLyYb98HWW14=", + "requires": { + "postcss": "^5.0.2", + "postcss-message-helpers": "^2.0.0", + "reduce-css-calc": "^1.2.6" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + }, + "dependencies": { + "js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==" + } + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-colormin": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-2.2.2.tgz", + "integrity": "sha1-ZjFBfV8OkJo9fsJrJMio0eT5bks=", + "requires": { + "colormin": "^1.0.5", + "postcss": "^5.0.13", + "postcss-value-parser": "^3.2.3" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + }, + "dependencies": { + "js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==" + } + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-convert-values": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-2.6.1.tgz", + "integrity": "sha1-u9hZPFwf0uPRwyK7kl3K6Nrk1i0=", + "requires": { + "postcss": "^5.0.11", + "postcss-value-parser": "^3.1.2" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + }, + "dependencies": { + "js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==" + } + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-discard-comments": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-2.0.4.tgz", + "integrity": "sha1-vv6J+v1bPazlzM5Rt2uBUUvgDj0=", + "requires": { + "postcss": "^5.0.14" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + }, + "dependencies": { + "js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==" + } + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-discard-duplicates": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-2.1.0.tgz", + "integrity": "sha1-uavye4isGIFYpesSq8riAmO5GTI=", + "requires": { + "postcss": "^5.0.4" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + }, + "dependencies": { + "js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==" + } + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-discard-empty": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-2.1.0.tgz", + "integrity": "sha1-0rS9nVztXr2Nyt52QMfXzX9PkrU=", + "requires": { + "postcss": "^5.0.14" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + }, + "dependencies": { + "js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==" + } + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-discard-overridden": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-0.1.1.tgz", + "integrity": "sha1-ix6vVU9ob7KIzYdMVWZ7CqNmjVg=", + "requires": { + "postcss": "^5.0.16" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + }, + "dependencies": { + "js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==" + } + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-discard-unused": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-discard-unused/-/postcss-discard-unused-2.2.3.tgz", + "integrity": "sha1-vOMLLMWR/8Y0Mitfs0ZLbZNPRDM=", + "requires": { + "postcss": "^5.0.14", + "uniqs": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + }, + "dependencies": { + "js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==" + } + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-filter-plugins": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/postcss-filter-plugins/-/postcss-filter-plugins-2.0.3.tgz", + "integrity": "sha512-T53GVFsdinJhgwm7rg1BzbeBRomOg9y5MBVhGcsV0CxurUdVj1UlPdKtn7aqYA/c/QVkzKMjq2bSV5dKG5+AwQ==", + "requires": { + "postcss": "^5.0.4" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + }, + "dependencies": { + "js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==" + } + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-load-config": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-1.2.0.tgz", + "integrity": "sha1-U56a/J3chiASHr+djDZz4M5Q0oo=", + "requires": { + "cosmiconfig": "^2.1.0", + "object-assign": "^4.1.0", + "postcss-load-options": "^1.2.0", + "postcss-load-plugins": "^2.3.0" + } + }, + "postcss-load-options": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-load-options/-/postcss-load-options-1.2.0.tgz", + "integrity": "sha1-sJixVZ3awt8EvAuzdfmaXP4rbYw=", + "requires": { + "cosmiconfig": "^2.1.0", + "object-assign": "^4.1.0" + } + }, + "postcss-load-plugins": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/postcss-load-plugins/-/postcss-load-plugins-2.3.0.tgz", + "integrity": "sha1-dFdoEWWZrKLwCfrUJrABdQSdjZI=", + "requires": { + "cosmiconfig": "^2.1.1", + "object-assign": "^4.1.0" + } + }, + "postcss-loader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz", + "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "postcss": "^7.0.0", + "postcss-load-config": "^2.0.0", + "schema-utils": "^1.0.0" + }, + "dependencies": { + "cosmiconfig": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", + "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "dev": true, + "requires": { + "import-fresh": "^2.0.0", + "is-directory": "^0.3.1", + "js-yaml": "^3.13.1", + "parse-json": "^4.0.0" + } + }, + "parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "dev": true, + "requires": { + "error-ex": "^1.3.1", + "json-parse-better-errors": "^1.0.1" + } + }, + "postcss-load-config": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.2.tgz", + "integrity": "sha512-/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==", + "dev": true, + "requires": { + "cosmiconfig": "^5.0.0", + "import-cwd": "^2.0.0" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, + "postcss-merge-idents": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/postcss-merge-idents/-/postcss-merge-idents-2.1.7.tgz", + "integrity": "sha1-TFUwMTwI4dWzu/PSu8dH4njuonA=", + "requires": { + "has": "^1.0.1", + "postcss": "^5.0.10", + "postcss-value-parser": "^3.1.1" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + }, + "dependencies": { + "js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==" + } + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-merge-longhand": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-2.0.2.tgz", + "integrity": "sha1-I9kM0Sewp3mUkVMyc5A0oaTz1lg=", + "requires": { + "postcss": "^5.0.4" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + }, + "dependencies": { + "js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==" + } + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-merge-rules": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-2.1.2.tgz", + "integrity": "sha1-0d9d+qexrMO+VT8OnhDofGG19yE=", + "requires": { + "browserslist": "^1.5.2", + "caniuse-api": "^1.5.2", + "postcss": "^5.0.4", + "postcss-selector-parser": "^2.2.2", + "vendors": "^1.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "browserslist": { + "version": "1.7.7", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-1.7.7.tgz", + "integrity": "sha1-C9dnBCWL6CmyOYu1Dkti0aFmsLk=", + "requires": { + "caniuse-db": "^1.0.30000639", + "electron-to-chromium": "^1.2.7" + } + }, + "caniuse-api": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-1.6.1.tgz", + "integrity": "sha1-tTTnxzTE+B7F++isoq0kNUuWLGw=", + "requires": { + "browserslist": "^1.3.6", + "caniuse-db": "^1.0.30000529", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + }, + "dependencies": { + "js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==" + } + } + }, + "postcss-selector-parser": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz", + "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=", + "requires": { + "flatten": "^1.0.2", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-message-helpers": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/postcss-message-helpers/-/postcss-message-helpers-2.0.0.tgz", + "integrity": "sha1-pPL0+rbk/gAvCu0ABHjN9S+bpg4=" + }, + "postcss-minify-font-values": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-1.0.5.tgz", + "integrity": "sha1-S1jttWZB66fIR0qzUmyv17vey2k=", + "requires": { + "object-assign": "^4.0.1", + "postcss": "^5.0.4", + "postcss-value-parser": "^3.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + }, + "dependencies": { + "js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==" + } + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-minify-gradients": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-1.0.5.tgz", + "integrity": "sha1-Xb2hE3NwP4PPtKPqOIHY11/15uE=", + "requires": { + "postcss": "^5.0.12", + "postcss-value-parser": "^3.3.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + }, + "dependencies": { + "js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==" + } + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-minify-params": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-1.2.2.tgz", + "integrity": "sha1-rSzgcTc7lDs9kwo/pZo1jCjW8fM=", + "requires": { + "alphanum-sort": "^1.0.1", + "postcss": "^5.0.2", + "postcss-value-parser": "^3.0.2", + "uniqs": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + }, + "dependencies": { + "js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==" + } + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-minify-selectors": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-2.1.1.tgz", + "integrity": "sha1-ssapjAByz5G5MtGkllCBFDEXNb8=", + "requires": { + "alphanum-sort": "^1.0.2", + "has": "^1.0.1", + "postcss": "^5.0.14", + "postcss-selector-parser": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + }, + "dependencies": { + "js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==" + } + } + }, + "postcss-selector-parser": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz", + "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=", + "requires": { + "flatten": "^1.0.2", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-modules-extract-imports": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-1.2.1.tgz", + "integrity": "sha512-6jt9XZwUhwmRUhb/CkyJY020PYaPJsCyt3UjbaWo6XEbH/94Hmv6MP7fG2C5NDU/BcHzyGYxNtHvM+LTf9HrYw==", + "requires": { + "postcss": "^6.0.1" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + } + } + }, + "postcss-modules-local-by-default": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-1.2.0.tgz", + "integrity": "sha1-99gMOYxaOT+nlkRmvRlQCn1hwGk=", + "requires": { + "css-selector-tokenizer": "^0.7.0", + "postcss": "^6.0.1" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + } + } + }, + "postcss-modules-scope": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-1.1.0.tgz", + "integrity": "sha1-1upkmUx5+XtipytCb75gVqGUu5A=", + "requires": { + "css-selector-tokenizer": "^0.7.0", + "postcss": "^6.0.1" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + } + } + }, + "postcss-modules-values": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-1.3.0.tgz", + "integrity": "sha1-7P+p1+GSUYOJ9CrQ6D9yrsRW6iA=", + "requires": { + "icss-replace-symbols": "^1.1.0", + "postcss": "^6.0.1" + }, + "dependencies": { + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + } + } + }, + "postcss-normalize-charset": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-1.1.1.tgz", + "integrity": "sha1-757nEhLX/nWceO0WL2HtYrXLk/E=", + "requires": { + "postcss": "^5.0.5" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + }, + "dependencies": { + "js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==" + } + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-normalize-display-values": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz", + "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==", + "dev": true, + "requires": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-normalize-positions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz", + "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-normalize-repeat-style": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz", + "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==", + "dev": true, + "requires": { + "cssnano-util-get-arguments": "^4.0.0", + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-normalize-string": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz", + "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==", + "dev": true, + "requires": { + "has": "^1.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-normalize-timing-functions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz", + "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==", + "dev": true, + "requires": { + "cssnano-util-get-match": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-normalize-unicode": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz", + "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-normalize-url": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-3.0.8.tgz", + "integrity": "sha1-EI90s/L82viRov+j6kWSJ5/HgiI=", + "requires": { + "is-absolute-url": "^2.0.0", + "normalize-url": "^1.4.0", + "postcss": "^5.0.14", + "postcss-value-parser": "^3.2.3" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + }, + "dependencies": { + "js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==" + } + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-normalize-whitespace": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz", + "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==", + "dev": true, + "requires": { + "postcss": "^7.0.0", + "postcss-value-parser": "^3.0.0" + } + }, + "postcss-ordered-values": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-2.2.3.tgz", + "integrity": "sha1-7sbCpntsQSqNsgQud/6NpD+VwR0=", + "requires": { + "postcss": "^5.0.4", + "postcss-value-parser": "^3.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + }, + "dependencies": { + "js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==" + } + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-reduce-idents": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-idents/-/postcss-reduce-idents-2.4.0.tgz", + "integrity": "sha1-wsbSDMlYKE9qv75j92Cb9AkFmtM=", + "requires": { + "postcss": "^5.0.4", + "postcss-value-parser": "^3.0.2" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + }, + "dependencies": { + "js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==" + } + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-reduce-initial": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-1.0.1.tgz", + "integrity": "sha1-aPgGlfBF0IJjqHmtJA343WT2ROo=", + "requires": { + "postcss": "^5.0.4" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + }, + "dependencies": { + "js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==" + } + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-reduce-transforms": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-1.0.4.tgz", + "integrity": "sha1-/3b02CEkN7McKYpC0uFEQCV3GuE=", + "requires": { + "has": "^1.0.1", + "postcss": "^5.0.8", + "postcss-value-parser": "^3.0.1" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + }, + "dependencies": { + "js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==" + } + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-safe-parser": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-1.0.7.tgz", + "integrity": "sha1-Q70MjITV99hHTeglxpnk2ryscqg=", + "requires": { + "postcss": "^5.0.18" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + }, + "dependencies": { + "js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==" + } + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-selector-parser": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz", + "integrity": "sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==", + "requires": { + "cssesc": "^3.0.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1", + "util-deprecate": "^1.0.2" + } + }, + "postcss-svgo": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-2.1.6.tgz", + "integrity": "sha1-tt8YqmE7Zm4TPwittSGcJoSsEI0=", + "requires": { + "is-svg": "^2.0.0", + "postcss": "^5.0.14", + "postcss-value-parser": "^3.2.3", + "svgo": "^0.7.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + }, + "dependencies": { + "js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==" + } + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-unique-selectors": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-2.0.2.tgz", + "integrity": "sha1-mB1X0p3csz57Hf4f1DuGSfkzyh0=", + "requires": { + "alphanum-sort": "^1.0.1", + "postcss": "^5.0.4", + "uniqs": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + }, + "dependencies": { + "js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==" + } + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "postcss-value-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", + "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==" + }, + "postcss-zindex": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/postcss-zindex/-/postcss-zindex-2.2.0.tgz", + "integrity": "sha1-0hCd3AVbka9n/EyzsCWUZjnSryI=", + "requires": { + "has": "^1.0.1", + "postcss": "^5.0.4", + "uniqs": "^2.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "dependencies": { + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "has-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz", + "integrity": "sha1-nZ55MWXOAXoA8AQYxD+UKnsdEfo=" + }, + "postcss": { + "version": "5.2.18", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz", + "integrity": "sha512-zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==", + "requires": { + "chalk": "^1.1.3", + "js-base64": "^2.1.9", + "source-map": "^0.5.6", + "supports-color": "^3.2.3" + }, + "dependencies": { + "js-base64": { + "version": "2.6.4", + "resolved": "https://registry.npmjs.org/js-base64/-/js-base64-2.6.4.tgz", + "integrity": "sha512-pZe//GGmwJndub7ZghVHz7vjb2LgC1m8B07Au3eYqeqv9emhESByMXxaEgkUkEqJe87oBbSniGYoQNIBklc7IQ==" + } + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "supports-color": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-3.2.3.tgz", + "integrity": "sha1-ZawFBLOVQXHYpklGsq48u4pfVPY=", + "requires": { + "has-flag": "^1.0.0" + } + } + } + }, + "prelude-ls": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz", + "integrity": "sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=", + "dev": true + }, + "prepend-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", + "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=" + }, + "prettier": { + "version": "1.19.1", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-1.19.1.tgz", + "integrity": "sha512-s7PoyDv/II1ObgQunCbB9PdLmUcBZcnWOcxDh7O0N/UwDEsHyqkW+Qh28jW+mVuCdx7gLB0BotYI1Y6uI9iyew==" + }, + "pretty-error": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/pretty-error/-/pretty-error-2.1.2.tgz", + "integrity": "sha512-EY5oDzmsX5wvuynAByrmY0P0hcp+QpnAKbJng2A2MPjVKXCxrDSUkzghVJ4ZGPIv+JC4gX8fPUWscC0RtjsWGw==", + "dev": true, + "requires": { + "lodash": "^4.17.20", + "renderkid": "^2.0.4" + } + }, + "private": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", + "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==" + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=" + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "progress": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz", + "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==", + "dev": true + }, + "promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", + "dev": true + }, + "proxy-addr": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", + "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", + "requires": { + "forwarded": "~0.1.2", + "ipaddr.js": "1.9.1" + } + }, + "prr": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", + "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=" + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=" + }, + "psl": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", + "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", + "dev": true + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + }, + "dependencies": { + "bn.js": { + "version": "4.11.9", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", + "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==" + } + } + }, + "pump": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", + "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + }, + "pumpify": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", + "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", + "dev": true, + "requires": { + "duplexify": "^3.6.0", + "inherits": "^2.0.3", + "pump": "^2.0.0" + }, + "dependencies": { + "pump": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", + "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "once": "^1.3.1" + } + } + } + }, + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==" + }, + "q": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", + "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=" + }, + "qs": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", + "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==" + }, + "query-string": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", + "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", + "requires": { + "object-assign": "^4.1.0", + "strict-uri-encode": "^1.0.0" + } + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=" + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=" + }, + "querystringify": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", + "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==" + }, + "raf": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/raf/-/raf-3.4.1.tgz", + "integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==", + "requires": { + "performance-now": "^2.1.0" + } + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" + }, + "raw-body": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", + "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "requires": { + "bytes": "3.1.0", + "http-errors": "1.7.2", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "dependencies": { + "bytes": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", + "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==" + } + } + }, + "read-pkg": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz", + "integrity": "sha1-jvHAYjxqbbDcZxPEv6xGMysjaPg=", + "requires": { + "load-json-file": "^2.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^2.0.0" + } + }, + "read-pkg-up": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz", + "integrity": "sha1-a3KoBImE4MQeeVEP1en6mbO1Sb4=", + "requires": { + "find-up": "^2.0.0", + "read-pkg": "^2.0.0" + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "readdirp": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", + "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", + "requires": { + "graceful-fs": "^4.1.11", + "micromatch": "^3.1.10", + "readable-stream": "^2.0.2" + } + }, + "redent": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz", + "integrity": "sha1-z5Fqsf1fHxbfsggi3W7H9zDCr94=", + "requires": { + "indent-string": "^2.1.0", + "strip-indent": "^1.0.1" + }, + "dependencies": { + "indent-string": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz", + "integrity": "sha1-ji1INIdCEhtKghi3oTfppSBJ3IA=", + "requires": { + "repeating": "^2.0.0" + } + }, + "strip-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz", + "integrity": "sha1-DHlipq3vp7vUrDZkYKY4VSrhoKI=", + "requires": { + "get-stdin": "^4.0.1" + } + } + } + }, + "reduce-css-calc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/reduce-css-calc/-/reduce-css-calc-1.3.0.tgz", + "integrity": "sha1-dHyRTgSWFKTJz7umKYca0dKSdxY=", + "requires": { + "balanced-match": "^0.4.2", + "math-expression-evaluator": "^1.2.14", + "reduce-function-call": "^1.0.1" + }, + "dependencies": { + "balanced-match": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.2.tgz", + "integrity": "sha1-yz8+PHMtwPAe5wtAPzAuYddwmDg=" + } + } + }, + "reduce-function-call": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/reduce-function-call/-/reduce-function-call-1.0.3.tgz", + "integrity": "sha512-Hl/tuV2VDgWgCSEeWMLwxLZqX7OK59eU1guxXsRKTAyeYimivsKdtcV4fu3r710tpG5GmDKDhQ0HSZLExnNmyQ==", + "requires": { + "balanced-match": "^1.0.0" + } + }, + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==" + }, + "regenerate-unicode-properties": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", + "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", + "dev": true, + "requires": { + "regenerate": "^1.4.0" + } + }, + "regenerator-runtime": { + "version": "0.13.7", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", + "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==", + "dev": true + }, + "regenerator-transform": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.10.1.tgz", + "integrity": "sha512-PJepbvDbuK1xgIgnau7Y90cwaAmO/LCLMI2mPvaXq2heGMR3aWW5/BQvYrhJ8jgmQjXewXvBjzfqKcVOmhjZ6Q==", + "requires": { + "babel-runtime": "^6.18.0", + "babel-types": "^6.19.0", + "private": "^0.1.6" + } + }, + "regex-not": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", + "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "requires": { + "extend-shallow": "^3.0.2", + "safe-regex": "^1.1.0" + } + }, + "regex-parser": { + "version": "2.2.11", + "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", + "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==" + }, + "regexp.prototype.flags": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz", + "integrity": "sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==", + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "regexpp": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-1.1.0.tgz", + "integrity": "sha512-LOPw8FpgdQF9etWMaAfG/WRthIdXJGYp4mJ2Jgn/2lpkbod9jPn0t9UqN7AxBOKNfzRbYyVfgc7Vk4t/MpnXgw==", + "dev": true, + "optional": true + }, + "regexpu-core": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-2.0.0.tgz", + "integrity": "sha1-SdA4g3uNz4v6W5pCE5k45uoq4kA=", + "requires": { + "regenerate": "^1.2.1", + "regjsgen": "^0.2.0", + "regjsparser": "^0.1.4" + } + }, + "regjsgen": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.2.0.tgz", + "integrity": "sha1-bAFq3qxVT3WCP+N6wFuS1aTtsfc=" + }, + "regjsparser": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.1.5.tgz", + "integrity": "sha1-fuj4Tcb6eS0/0K4ijSS9lJ6tIFw=", + "requires": { + "jsesc": "~0.5.0" + } + }, + "regression": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/regression/-/regression-2.0.1.tgz", + "integrity": "sha1-jSnD6CJKEIUMNeM36FqLL6w7DIc=" + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "dev": true + }, + "remove-trailing-separator": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", + "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=" + }, + "renderkid": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/renderkid/-/renderkid-2.0.5.tgz", + "integrity": "sha512-ccqoLg+HLOHq1vdfYNm4TBeaCDIi1FLt3wGojTDSvdewUv65oTmI3cnT2E4hRjl1gzKZIPK+KZrXzlUYKnR+vQ==", + "dev": true, + "requires": { + "css-select": "^2.0.2", + "dom-converter": "^0.2", + "htmlparser2": "^3.10.1", + "lodash": "^4.17.20", + "strip-ansi": "^3.0.0" + } + }, + "repeat-element": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", + "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==" + }, + "repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=" + }, + "repeating": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", + "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", + "requires": { + "is-finite": "^1.0.0" + } + }, + "request": { + "version": "2.88.2", + "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", + "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", + "dev": true, + "requires": { + "aws-sign2": "~0.7.0", + "aws4": "^1.8.0", + "caseless": "~0.12.0", + "combined-stream": "~1.0.6", + "extend": "~3.0.2", + "forever-agent": "~0.6.1", + "form-data": "~2.3.2", + "har-validator": "~5.1.3", + "http-signature": "~1.2.0", + "is-typedarray": "~1.0.0", + "isstream": "~0.1.2", + "json-stringify-safe": "~5.0.1", + "mime-types": "~2.1.19", + "oauth-sign": "~0.9.0", + "performance-now": "^2.1.0", + "qs": "~6.5.2", + "safe-buffer": "^5.1.2", + "tough-cookie": "~2.5.0", + "tunnel-agent": "^0.6.0", + "uuid": "^3.3.2" + }, + "dependencies": { + "qs": { + "version": "6.5.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", + "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", + "dev": true + } + } + }, + "request-promise-core": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/request-promise-core/-/request-promise-core-1.1.4.tgz", + "integrity": "sha512-TTbAfBBRdWD7aNNOoVOBH4pN/KigV6LyapYNNlAPA8JwbovRti1E88m3sYAwsLi5ryhPKsE9APwnjFTgdUjTpw==", + "dev": true, + "requires": { + "lodash": "^4.17.19" + } + }, + "request-promise-native": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/request-promise-native/-/request-promise-native-1.0.9.tgz", + "integrity": "sha512-wcW+sIUiWnKgNY0dqCpOZkUbF/I+YPi+f09JZIDa39Ec+q82CpSYniDp+ISgTTbKmnpJWASeJBPZmoxH84wt3g==", + "dev": true, + "requires": { + "request-promise-core": "1.1.4", + "stealthy-require": "^1.1.1", + "tough-cookie": "^2.3.3" + } + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + }, + "require-from-string": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-1.2.1.tgz", + "integrity": "sha1-UpyczvJzgK3+yaL5ZbZJu+5jZBg=" + }, + "require-main-filename": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", + "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=" + }, + "require-uncached": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.3.tgz", + "integrity": "sha1-Tg1W1slmL9MeQwEcS5WqSZVUIdM=", + "dev": true, + "optional": true, + "requires": { + "caller-path": "^0.1.0", + "resolve-from": "^1.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz", + "integrity": "sha1-Jsv+k10a7uq7Kbw/5a6wHpPUQiY=", + "dev": true, + "optional": true + } + } + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=" + }, + "reselect": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/reselect/-/reselect-3.0.1.tgz", + "integrity": "sha1-79qpjqdFEyTQkrKyFjpqHXqaIUc=", + "dev": true + }, + "resize-observer-polyfill": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz", + "integrity": "sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==" + }, + "resolve": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", + "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "requires": { + "is-core-module": "^2.1.0", + "path-parse": "^1.0.6" + } + }, + "resolve-cwd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", + "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "requires": { + "resolve-from": "^3.0.0" + } + }, + "resolve-from": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", + "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=" + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=" + }, + "resolve-url-loader": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-2.3.2.tgz", + "integrity": "sha512-sc/UVgiADdoTc+4cGPB7cUCnlEkzlxD1NXHw4oa9qA0fp30H8mAQ2ePJBP9MQ029DUuhEPouhNdvzT37pBCV0g==", + "requires": { + "adjust-sourcemap-loader": "^1.1.0", + "camelcase": "^4.1.0", + "convert-source-map": "^1.5.1", + "loader-utils": "^1.1.0", + "lodash.defaults": "^4.0.0", + "rework": "^1.0.1", + "rework-visit": "^1.0.0", + "source-map": "^0.5.7", + "urix": "^0.1.0" + }, + "dependencies": { + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + } + } + }, + "restore-cursor": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", + "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", + "dev": true, + "requires": { + "onetime": "^2.0.0", + "signal-exit": "^3.0.2" + } + }, + "resumer": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/resumer/-/resumer-0.0.0.tgz", + "integrity": "sha1-8ej0YeQGS6Oegq883CqMiT0HZ1k=", + "requires": { + "through": "~2.3.4" + } + }, + "ret": { + "version": "0.1.15", + "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", + "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==" + }, + "retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", + "dev": true + }, + "rework": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rework/-/rework-1.0.1.tgz", + "integrity": "sha1-MIBqhBNCtUUQqkEQhQzUhTQUSqc=", + "requires": { + "convert-source-map": "^0.3.3", + "css": "^2.0.0" + }, + "dependencies": { + "convert-source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz", + "integrity": "sha1-8dgClQr33SYxof6+BZZVDIarMZA=" + } + } + }, + "rework-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rework-visit/-/rework-visit-1.0.0.tgz", + "integrity": "sha1-mUWygD8hni96ygCtuLyfZA+ELJo=" + }, + "rgb-regex": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", + "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=", + "dev": true + }, + "rgba-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", + "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=", + "dev": true + }, + "right-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha1-YTObci/mo1FWiSENJOFMlhSGE+8=", + "requires": { + "align-text": "^0.1.1" + } + }, + "rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "requires": { + "glob": "^7.1.3" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "rollup": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-0.25.8.tgz", + "integrity": "sha1-v2zoO4dRDRY0Ru6qV37WpvxYNeA=", + "requires": { + "chalk": "^1.1.1", + "minimist": "^1.2.0", + "source-map-support": "^0.3.2" + }, + "dependencies": { + "ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=" + }, + "chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", + "requires": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + } + }, + "supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=" + } + } + }, + "run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", + "dev": true + }, + "run-queue": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", + "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "dev": true, + "requires": { + "aproba": "^1.1.1" + } + }, + "rw": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", + "integrity": "sha1-P4Yt+pGrdmsUiF700BEkv9oHT7Q=" + }, + "rx-lite": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/rx-lite/-/rx-lite-4.0.8.tgz", + "integrity": "sha1-Cx4Rr4vESDbwSmQH6S2kJGe3lEQ=", + "dev": true, + "optional": true + }, + "rx-lite-aggregates": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/rx-lite-aggregates/-/rx-lite-aggregates-4.0.8.tgz", + "integrity": "sha1-dTuHqJoRyVRnxKwWJsTvxOBcZ74=", + "dev": true, + "optional": true, + "requires": { + "rx-lite": "*" + } + }, + "rxjs": { + "version": "6.6.3", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", + "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", + "dev": true, + "requires": { + "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + } + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==" + }, + "safe-regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", + "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "requires": { + "ret": "~0.1.10" + } + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==" + }, + "schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + } + }, + "select": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/select/-/select-1.1.2.tgz", + "integrity": "sha1-DnNQrN7ICxEIUoeG7B1EGNEbOW0=" + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=" + }, + "selfsigned": { + "version": "1.10.8", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.8.tgz", + "integrity": "sha512-2P4PtieJeEwVgTU9QEcwIRDQ/mXJLX8/+I3ur+Pg16nS8oNbrGxEso9NyYWy8NAmXiNl4dlAp5MwoNeCWzON4w==", + "requires": { + "node-forge": "^0.10.0" + } + }, + "semver": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", + "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + }, + "send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", + "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "requires": { + "debug": "2.6.9", + "depd": "~1.1.2", + "destroy": "~1.0.4", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "~1.7.2", + "mime": "1.6.0", + "ms": "2.1.1", + "on-finished": "~2.3.0", + "range-parser": "~1.2.1", + "statuses": "~1.5.0" + }, + "dependencies": { + "ms": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", + "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==" + } + } + }, + "serialize-javascript": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", + "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "dependencies": { + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==" + } + } + }, + "serve-static": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", + "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.17.1" + } + }, + "set-blocking": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", + "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" + }, + "set-value": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", + "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", + "requires": { + "extend-shallow": "^2.0.1", + "is-extendable": "^0.1.1", + "is-plain-object": "^2.0.3", + "split-string": "^3.0.1" + }, + "dependencies": { + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + } + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=" + }, + "setprototypeof": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", + "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==" + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "shallow-equal": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/shallow-equal/-/shallow-equal-1.2.1.tgz", + "integrity": "sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA==" + }, + "shallowequal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/shallowequal/-/shallowequal-1.1.0.tgz", + "integrity": "sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ==" + }, + "shebang-command": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", + "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "requires": { + "shebang-regex": "^1.0.0" + } + }, + "shebang-regex": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", + "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=" + }, + "shell-quote": { + "version": "1.7.2", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.7.2.tgz", + "integrity": "sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==", + "dev": true + }, + "signal-exit": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", + "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" + }, + "simple-statistics": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/simple-statistics/-/simple-statistics-6.1.1.tgz", + "integrity": "sha512-zGwn0DDRa9Zel4H4n2pjTFIyGoAGpnpjrGIctreCxj5XWrcx9v7Xy7270FkC967WMmcvuc8ZU7m0ZG+hGN7gAA==" + }, + "simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "dev": true, + "requires": { + "is-arrayish": "^0.3.1" + }, + "dependencies": { + "is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "dev": true + } + } + }, + "slash": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", + "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=" + }, + "slice-ansi": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", + "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", + "dev": true, + "optional": true, + "requires": { + "is-fullwidth-code-point": "^2.0.0" + } + }, + "snapdragon": { + "version": "0.8.2", + "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", + "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", + "requires": { + "base": "^0.11.1", + "debug": "^2.2.0", + "define-property": "^0.2.5", + "extend-shallow": "^2.0.1", + "map-cache": "^0.2.2", + "source-map": "^0.5.6", + "source-map-resolve": "^0.5.0", + "use": "^3.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + }, + "extend-shallow": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", + "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", + "requires": { + "is-extendable": "^0.1.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + } + } + }, + "snapdragon-node": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", + "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", + "requires": { + "define-property": "^1.0.0", + "isobject": "^3.0.0", + "snapdragon-util": "^3.0.1" + }, + "dependencies": { + "define-property": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", + "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", + "requires": { + "is-descriptor": "^1.0.0" + } + }, + "is-accessor-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", + "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-data-descriptor": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", + "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", + "requires": { + "kind-of": "^6.0.0" + } + }, + "is-descriptor": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", + "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", + "requires": { + "is-accessor-descriptor": "^1.0.0", + "is-data-descriptor": "^1.0.0", + "kind-of": "^6.0.2" + } + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==" + } + } + }, + "snapdragon-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", + "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "requires": { + "kind-of": "^3.2.0" + } + }, + "sockjs": { + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz", + "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==", + "requires": { + "faye-websocket": "^0.10.0", + "uuid": "^3.0.1" + }, + "dependencies": { + "faye-websocket": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", + "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "requires": { + "websocket-driver": ">=0.5.1" + } + } + } + }, + "sockjs-client": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.1.5.tgz", + "integrity": "sha1-G7fA9yIsQPQq3xT0RCy9Eml3GoM=", + "requires": { + "debug": "^2.6.6", + "eventsource": "0.1.6", + "faye-websocket": "~0.11.0", + "inherits": "^2.0.1", + "json3": "^3.3.2", + "url-parse": "^1.1.8" + } + }, + "sort-keys": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", + "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "requires": { + "is-plain-obj": "^1.0.0" + } + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==" + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==" + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.3.3.tgz", + "integrity": "sha1-NJAJd9W6PwfHdX7nLnO7GptTdU8=", + "requires": { + "source-map": "0.1.32" + }, + "dependencies": { + "source-map": { + "version": "0.1.32", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.32.tgz", + "integrity": "sha1-yLbBZ3l7pHQKjqMyUhYv8IWRsmY=", + "requires": { + "amdefine": ">=0.0.4" + } + } + } + }, + "source-map-url": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", + "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=" + }, + "spdx-correct": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.1.tgz", + "integrity": "sha512-cOYcUWwhCuHCXi49RhFRCyJEK3iPj1Ziz9DpViV3tbZOwXD49QzIN3MpOLJNxh2qwq2lJJZaKMVw9qNi4jTC0w==", + "requires": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==" + }, + "spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "requires": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "spdx-license-ids": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.7.tgz", + "integrity": "sha512-U+MTEOO0AiDzxwFvoa4JVnMV6mZlJKk2sBLt90s7G0Gd0Mlknc7kxEn3nuDPNZRta7O2uy8oLcZLVT+4sqNZHQ==" + }, + "spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "requires": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "dependencies": { + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + } + } + }, + "spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "requires": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + }, + "dependencies": { + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "requires": { + "ms": "2.1.2" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "split-string": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", + "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "requires": { + "extend-shallow": "^3.0.0" + } + }, + "sprintf-js": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", + "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=" + }, + "sshpk": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", + "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", + "dev": true, + "requires": { + "asn1": "~0.2.3", + "assert-plus": "^1.0.0", + "bcrypt-pbkdf": "^1.0.0", + "dashdash": "^1.12.0", + "ecc-jsbn": "~0.1.1", + "getpass": "^0.1.1", + "jsbn": "~0.1.0", + "safer-buffer": "^2.0.2", + "tweetnacl": "~0.14.0" + } + }, + "ssri": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", + "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", + "dev": true, + "requires": { + "figgy-pudding": "^3.5.1" + } + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "dev": true + }, + "stackframe": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/stackframe/-/stackframe-1.2.0.tgz", + "integrity": "sha512-GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA==", + "dev": true + }, + "static-extend": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", + "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", + "requires": { + "define-property": "^0.2.5", + "object-copy": "^0.1.0" + }, + "dependencies": { + "define-property": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", + "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", + "requires": { + "is-descriptor": "^0.1.0" + } + } + } + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=" + }, + "stealthy-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/stealthy-require/-/stealthy-require-1.1.1.tgz", + "integrity": "sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks=", + "dev": true + }, + "stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "stream-each": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", + "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "dev": true, + "requires": { + "end-of-stream": "^1.1.0", + "stream-shift": "^1.0.0" + } + }, + "stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "stream-shift": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", + "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", + "dev": true + }, + "strict-uri-encode": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", + "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=" + }, + "string-convert": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/string-convert/-/string-convert-0.2.1.tgz", + "integrity": "sha1-aYLMMEn7tM2F+LJFaLnZvznu/5c=" + }, + "string-width": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", + "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "requires": { + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^4.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", + "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=" + }, + "strip-ansi": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", + "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", + "requires": { + "ansi-regex": "^3.0.0" + } + } + } + }, + "string.prototype.padend": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.1.tgz", + "integrity": "sha512-eCzTASPnoCr5Ht+Vn1YXgm8SB015hHKgEIMu9Nr9bQmLhRBxKRfmzSj/IQsxDFc8JInJDDFA0qXwK+xxI7wDkg==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1" + } + }, + "string.prototype.padstart": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/string.prototype.padstart/-/string.prototype.padstart-3.1.1.tgz", + "integrity": "sha512-kcFjKhQYg40AK9MITCWYr/vIebruAD01sc/fxi8szHJaEG7Rke4XHw6LU9c1VWXh/+J/PxvWLLf/aIAGKhXkAQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1" + } + }, + "string.prototype.trim": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.3.tgz", + "integrity": "sha512-16IL9pIBA5asNOSukPfxX2W68BaBvxyiRK16H3RA/lWW9BDosh+w7f+LhomPHpXJ82QEe7w7/rY/S1CV97raLg==", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "es-abstract": "^1.18.0-next.1" + } + }, + "string.prototype.trimend": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz", + "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + } + }, + "string.prototype.trimstart": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz", + "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==", + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3" + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "requires": { + "ansi-regex": "^2.0.0" + } + }, + "strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=" + }, + "strip-eof": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", + "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=" + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true + }, + "strip-indent": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-2.0.0.tgz", + "integrity": "sha1-XvjbKV0B5u1sv3qrlpmNeCJSe2g=", + "dev": true + }, + "strip-json-comments": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz", + "integrity": "sha1-PFMZQukIwml8DsNEhYwobHygpgo=", + "dev": true + }, + "style-loader": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-0.19.1.tgz", + "integrity": "sha512-IRE+ijgojrygQi3rsqT0U4dd+UcPCqcVvauZpCnQrGAlEe+FUIyrK93bUDScamesjP08JlQNsFJU+KmPedP5Og==", + "requires": { + "loader-utils": "^1.0.2", + "schema-utils": "^0.3.0" + }, + "dependencies": { + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "requires": { + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" + } + }, + "fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=" + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=" + }, + "schema-utils": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.3.0.tgz", + "integrity": "sha1-9YdyIs4+kx7a4DnxfrNxbnE3+M8=", + "requires": { + "ajv": "^5.0.0" + } + } + } + }, + "stylehacks": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz", + "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "postcss": "^7.0.0", + "postcss-selector-parser": "^3.0.0" + }, + "dependencies": { + "postcss-selector-parser": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", + "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", + "dev": true, + "requires": { + "dot-prop": "^5.2.0", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + } + } + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "requires": { + "has-flag": "^3.0.0" + } + }, + "svg-tags": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/svg-tags/-/svg-tags-1.0.0.tgz", + "integrity": "sha1-WPcc7jvVGbWdSyqEO2x95krAR2Q=", + "dev": true + }, + "svgo": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-0.7.2.tgz", + "integrity": "sha1-n1dyQTlSE1xv779Ar+ak+qiLS7U=", + "requires": { + "coa": "~1.0.1", + "colors": "~1.1.2", + "csso": "~2.3.1", + "js-yaml": "~3.7.0", + "mkdirp": "~0.5.1", + "sax": "~1.2.1", + "whet.extend": "~0.9.9" + }, + "dependencies": { + "coa": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/coa/-/coa-1.0.4.tgz", + "integrity": "sha1-qe8VNmDWqGqL3sAomlxoTSF0Mv0=", + "requires": { + "q": "^1.1.2" + } + }, + "csso": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/csso/-/csso-2.3.2.tgz", + "integrity": "sha1-3dUsWHAz9J6Utx/FVWnyUuj/X4U=", + "requires": { + "clap": "^1.0.9", + "source-map": "^0.5.3" + } + }, + "esprima": { + "version": "2.7.3", + "resolved": "https://registry.npmjs.org/esprima/-/esprima-2.7.3.tgz", + "integrity": "sha1-luO3DVd59q1JzQMmc9HDEnZ7pYE=" + }, + "js-yaml": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.7.0.tgz", + "integrity": "sha1-XJZ93YN6m/3KXy3oQlOr6KHAO4A=", + "requires": { + "argparse": "^1.0.7", + "esprima": "^2.6.0" + } + }, + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + } + } + }, + "table": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/table/-/table-4.0.2.tgz", + "integrity": "sha512-UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==", + "dev": true, + "optional": true, + "requires": { + "ajv": "^5.2.3", + "ajv-keywords": "^2.1.0", + "chalk": "^2.1.0", + "lodash": "^4.17.4", + "slice-ansi": "1.0.0", + "string-width": "^2.1.1" + }, + "dependencies": { + "ajv": { + "version": "5.5.2", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-5.5.2.tgz", + "integrity": "sha1-c7Xuyj+rZT49P5Qis0GtQiBdyWU=", + "dev": true, + "optional": true, + "requires": { + "co": "^4.6.0", + "fast-deep-equal": "^1.0.0", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.3.0" + } + }, + "ajv-keywords": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-2.1.1.tgz", + "integrity": "sha1-YXmX/F9gV2iUxDX5QNgZ4TW4B2I=", + "dev": true, + "optional": true + }, + "fast-deep-equal": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.1.0.tgz", + "integrity": "sha1-wFNHeBfIa1HaqFPIHgWbcz0CNhQ=", + "dev": true, + "optional": true + }, + "json-schema-traverse": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz", + "integrity": "sha1-NJptRMU6Ud6JtAgFxdXlm0F9M0A=", + "dev": true, + "optional": true + } + } + }, + "tapable": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", + "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", + "dev": true + }, + "tape": { + "version": "4.13.3", + "resolved": "https://registry.npmjs.org/tape/-/tape-4.13.3.tgz", + "integrity": "sha512-0/Y20PwRIUkQcTCSi4AASs+OANZZwqPKaipGCEwp10dQMipVvSZwUUCi01Y/OklIGyHKFhIcjock+DKnBfLAFw==", + "requires": { + "deep-equal": "~1.1.1", + "defined": "~1.0.0", + "dotignore": "~0.1.2", + "for-each": "~0.3.3", + "function-bind": "~1.1.1", + "glob": "~7.1.6", + "has": "~1.0.3", + "inherits": "~2.0.4", + "is-regex": "~1.0.5", + "minimist": "~1.2.5", + "object-inspect": "~1.7.0", + "resolve": "~1.17.0", + "resumer": "~0.0.0", + "string.prototype.trim": "~1.2.1", + "through": "~2.3.8" + }, + "dependencies": { + "is-regex": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", + "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", + "requires": { + "has": "^1.0.3" + } + }, + "object-inspect": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", + "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==" + }, + "resolve": { + "version": "1.17.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", + "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", + "requires": { + "path-parse": "^1.0.6" + } + } + } + }, + "terser": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", + "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "dependencies": { + "source-map-support": { + "version": "0.5.19", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", + "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + } + } + }, + "terser-webpack-plugin": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", + "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", + "dev": true, + "requires": { + "cacache": "^12.0.2", + "find-cache-dir": "^2.1.0", + "is-wsl": "^1.1.0", + "schema-utils": "^1.0.0", + "serialize-javascript": "^4.0.0", + "source-map": "^0.6.1", + "terser": "^4.1.2", + "webpack-sources": "^1.4.0", + "worker-farm": "^1.7.0" + }, + "dependencies": { + "find-cache-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", + "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^2.0.0", + "pkg-dir": "^3.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "requires": { + "pify": "^4.0.1", + "semver": "^5.6.0" + } + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "dev": true + }, + "thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dev": true, + "requires": { + "any-promise": "^1.0.0" + } + }, + "thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha1-GhkY1ALY/D+Y+/I02wvMjMEOlyY=", + "dev": true, + "requires": { + "thenify": ">= 3.1.0 < 4" + } + }, + "thread-loader": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/thread-loader/-/thread-loader-2.1.3.tgz", + "integrity": "sha512-wNrVKH2Lcf8ZrWxDF/khdlLlsTMczdcwPA9VEK4c2exlEPynYWxi9op3nPTo5lAnDIkE0rQEB3VBP+4Zncc9Hg==", + "dev": true, + "requires": { + "loader-runner": "^2.3.1", + "loader-utils": "^1.1.0", + "neo-async": "^2.6.0" + } + }, + "through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + }, + "through2": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", + "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "dev": true, + "requires": { + "readable-stream": "~2.3.6", + "xtend": "~4.0.1" + } + }, + "thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==" + }, + "time-stamp": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/time-stamp/-/time-stamp-2.2.0.tgz", + "integrity": "sha512-zxke8goJQpBeEgD82CXABeMh0LSJcj7CXEd0OHOg45HgcofF7pxNwZm9+RknpxpDhwN4gFpySkApKfFYfRQnUA==" + }, + "timers-browserify": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", + "requires": { + "setimmediate": "^1.0.4" + } + }, + "timsort": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", + "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", + "dev": true + }, + "tiny-emitter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tiny-emitter/-/tiny-emitter-2.1.0.tgz", + "integrity": "sha512-NB6Dk1A9xgQPMoGqC5CVXn123gWyte215ONT5Pp5a0yt4nlEoO1ZWeCwpncaekPHXO60i47ihFnZPiRPjRMq4Q==" + }, + "tinycolor2": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/tinycolor2/-/tinycolor2-1.4.2.tgz", + "integrity": "sha512-vJhccZPs965sV/L2sU4oRQVAos0pQXwsvTLkWYdqJ+a8Q5kPFzJTuOFwy7UniPli44NKQGAglksjvOcpo95aZA==" + }, + "tinymce": { + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/tinymce/-/tinymce-5.6.2.tgz", + "integrity": "sha512-z7zvM5seOPiW86/vqf08kStwW5Zs5U9oQfuqh2rTj4jEcT2QzxT0v72i2zw3W6rbTLldkAej6edFZphj5ee5zg==" + }, + "tmp": { + "version": "0.0.33", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", + "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "dev": true, + "requires": { + "os-tmpdir": "~1.0.2" + } + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=" + }, + "to-fast-properties": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", + "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=" + }, + "to-object-path": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", + "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "requires": { + "kind-of": "^3.0.2" + } + }, + "to-regex": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", + "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "requires": { + "define-property": "^2.0.2", + "extend-shallow": "^3.0.2", + "regex-not": "^1.0.2", + "safe-regex": "^1.1.0" + } + }, + "to-regex-range": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", + "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", + "requires": { + "is-number": "^3.0.0", + "repeat-string": "^1.6.1" + } + }, + "toidentifier": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", + "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==" + }, + "topojson-client": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/topojson-client/-/topojson-client-3.1.0.tgz", + "integrity": "sha512-605uxS6bcYxGXw9qi62XyrV6Q3xwbndjachmNxu8HWTtVPxZfEJN9fd/SZS1Q54Sn2y0TMyMxFj/cJINqGHrKw==", + "requires": { + "commander": "2" + } + }, + "toposort": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/toposort/-/toposort-1.0.7.tgz", + "integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=", + "dev": true + }, + "tough-cookie": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", + "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "dev": true, + "requires": { + "psl": "^1.1.28", + "punycode": "^2.1.1" + } + }, + "trim-newlines": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz", + "integrity": "sha1-WIeWa7WCpFA6QetST301ARgVphM=" + }, + "trim-right": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", + "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=" + }, + "tryer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tryer/-/tryer-1.0.1.tgz", + "integrity": "sha512-c3zayb8/kWWpycWYg87P71E1S1ZL6b6IJxfb5fvsUgsf0S2MVGaDhDXXjDMpdCpfWXqptc+4mXwmiy1ypXqRAA==", + "dev": true + }, + "tsconfig-paths": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.9.0.tgz", + "integrity": "sha512-dRcuzokWhajtZWkQsDVKbWyY+jgcLC5sqJhg2PSgf4ZkH2aHPvaOY8YWGhmjb68b5qqTfasSsDO9k7RUiEmZAw==", + "dev": true, + "requires": { + "@types/json5": "^0.0.29", + "json5": "^1.0.1", + "minimist": "^1.2.0", + "strip-bom": "^3.0.0" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + } + } + }, + "tslib": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.1.0.tgz", + "integrity": "sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==" + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=" + }, + "tunnel-agent": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", + "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "dev": true, + "requires": { + "safe-buffer": "^5.0.1" + } + }, + "tweetnacl": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", + "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", + "dev": true + }, + "type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==" + }, + "type-check": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz", + "integrity": "sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=", + "dev": true, + "requires": { + "prelude-ls": "~1.1.2" + } + }, + "type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", + "dev": true + }, + "uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha1-KcVzMUgFe7Th913zW3qcty5qWd0=", + "requires": { + "source-map": "~0.5.1", + "uglify-to-browserify": "~1.0.0", + "yargs": "~3.10.0" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + } + } + }, + "uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha1-bgkk1r2mta/jSeOabWMoUKD4grc=", + "optional": true + }, + "uglifyjs-webpack-plugin": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/uglifyjs-webpack-plugin/-/uglifyjs-webpack-plugin-0.4.6.tgz", + "integrity": "sha1-uVH0q7a9YX5m9j64kUmOORdj4wk=", + "requires": { + "source-map": "^0.5.6", + "uglify-js": "^2.8.29", + "webpack-sources": "^1.0.1" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + } + } + }, + "unicode-canonical-property-names-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", + "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", + "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^1.0.4", + "unicode-property-aliases-ecmascript": "^1.0.4" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", + "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", + "dev": true + }, + "unicode-property-aliases-ecmascript": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", + "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", + "dev": true + }, + "union-value": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", + "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "requires": { + "arr-union": "^3.1.0", + "get-value": "^2.0.6", + "is-extendable": "^0.1.1", + "set-value": "^2.0.1" + } + }, + "uniq": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", + "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=" + }, + "uniqs": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", + "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=" + }, + "unique-filename": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", + "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "dev": true, + "requires": { + "unique-slug": "^2.0.0" + } + }, + "unique-slug": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", + "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "dev": true, + "requires": { + "imurmurhash": "^0.1.4" + } + }, + "universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "dev": true + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=" + }, + "unquote": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", + "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=", + "dev": true + }, + "unset-value": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", + "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", + "requires": { + "has-value": "^0.3.1", + "isobject": "^3.0.0" + }, + "dependencies": { + "has-value": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", + "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", + "requires": { + "get-value": "^2.0.3", + "has-values": "^0.1.4", + "isobject": "^2.0.0" + }, + "dependencies": { + "isobject": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", + "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "requires": { + "isarray": "1.0.0" + } + } + } + }, + "has-values": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", + "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=" + } + } + }, + "upath": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", + "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==" + }, + "upper-case": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/upper-case/-/upper-case-1.1.3.tgz", + "integrity": "sha1-9rRQHC7EzdJrp4vnIilh3ndiFZg=", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "requires": { + "punycode": "^2.1.0" + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=" + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=" + } + } + }, + "url-loader": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/url-loader/-/url-loader-1.1.2.tgz", + "integrity": "sha512-dXHkKmw8FhPqu8asTc1puBfe3TehOCo2+RmOOev5suNCIYBcT626kxiWg1NBVkwc4rO8BGa7gP70W7VXuqHrjg==", + "dev": true, + "requires": { + "loader-utils": "^1.1.0", + "mime": "^2.0.3", + "schema-utils": "^1.0.0" + }, + "dependencies": { + "mime": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.0.tgz", + "integrity": "sha512-ft3WayFSFUVBuJj7BMLKAQcSlItKtfjsKDDsii3rqFDAZ7t11zRe8ASw/GlmivGwVUYtwkQrxiGGpL6gFvB0ag==", + "dev": true + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, + "url-parse": { + "version": "1.4.7", + "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", + "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", + "requires": { + "querystringify": "^2.1.1", + "requires-port": "^1.0.0" + } + }, + "use": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", + "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==" + }, + "util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "requires": { + "inherits": "2.0.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=" + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "util.promisify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", + "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "dev": true, + "requires": { + "define-properties": "^1.1.3", + "es-abstract": "^1.17.2", + "has-symbols": "^1.0.1", + "object.getownpropertydescriptors": "^2.1.0" + }, + "dependencies": { + "es-abstract": { + "version": "1.17.7", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.7.tgz", + "integrity": "sha512-VBl/gnfcJ7OercKA9MVaegWsBHFjV492syMudcnQZvt/Dw8ezpcOHYZXa/J96O8vx+g4x65YKhxOwDUh63aS5g==", + "dev": true, + "requires": { + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1", + "is-callable": "^1.2.2", + "is-regex": "^1.1.1", + "object-inspect": "^1.8.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.1", + "string.prototype.trimend": "^1.0.1", + "string.prototype.trimstart": "^1.0.1" + } + } + } + }, + "utila": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/utila/-/utila-0.4.0.tgz", + "integrity": "sha1-ihagXURWV6Oupe7MWxKk+lN5dyw=", + "dev": true + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=" + }, + "uuid": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", + "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==" + }, + "validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "requires": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" + }, + "vendors": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", + "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==" + }, + "venn.js": { + "version": "0.2.20", + "resolved": "https://registry.npmjs.org/venn.js/-/venn.js-0.2.20.tgz", + "integrity": "sha512-bb5SYq/wamY9fvcuErb9a0FJkgIFHJjkLZWonQ+DoKKuDX3WPH2B4ouI1ce4K2iejBklQy6r1ly8nOGIyOCO6w==", + "requires": { + "d3-selection": "^1.0.2", + "d3-transition": "^1.0.1", + "fmin": "0.0.2" + } + }, + "verror": { + "version": "1.10.0", + "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", + "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", + "dev": true, + "requires": { + "assert-plus": "^1.0.0", + "core-util-is": "1.0.2", + "extsprintf": "^1.2.0" + } + }, + "viser": { + "version": "2.4.9", + "resolved": "https://registry.npmjs.org/viser/-/viser-2.4.9.tgz", + "integrity": "sha512-DKsqtMa3TZYQHEZ7jp4kpNp1Iqomda7d+3IkkIjIdKQvfL8OeksXfy/ECZUY1hTrGoOe7cq85+6PMS+MPn4mgQ==", + "requires": { + "@antv/g2": "~3.5.3", + "@antv/g2-brush": "^0.0.2", + "@antv/g2-plugin-slider": "^2.1.0", + "@types/d3-format": "*", + "@types/lodash": "*", + "@types/node": "^8.0.53", + "d3-format": "^1.3.0", + "lodash": "^4.17.4" + }, + "dependencies": { + "@types/node": { + "version": "8.10.66", + "resolved": "https://registry.npmjs.org/@types/node/-/node-8.10.66.tgz", + "integrity": "sha512-tktOkFUA4kXx2hhhrB8bIFb5TbwzS4uOhKEmwiD+NoiL0qtP2OQ9mFldbgD4dV1djrlBYP6eBuQZiWjuHUpqFw==" + } + } + }, + "viser-vue": { + "version": "2.4.8", + "resolved": "https://registry.npmjs.org/viser-vue/-/viser-vue-2.4.8.tgz", + "integrity": "sha512-ERAREN+6k/ywrwT+swcMo4CDIAq6dBjnB0+lhmsSfaip06BGHSBfNKg6yl7/4GJ9Nk2kioUw3llNhEboJuIKmQ==", + "requires": { + "@types/node": "*", + "viser": "^2.0.0", + "vue": "^2.5.3" + } + }, + "vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==" + }, + "vue": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.12.tgz", + "integrity": "sha512-uhmLFETqPPNyuLLbsKz6ioJ4q7AZHzD8ZVFNATNyICSZouqP2Sz0rotWQC8UNBF6VGSCs5abnKJoStA6JbCbfg==" + }, + "vue-area-linkage": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/vue-area-linkage/-/vue-area-linkage-5.1.0.tgz", + "integrity": "sha512-86WD4O6PD9e2koWZ81Zlfcyey17U1+3B3fpWoyIZlBIe2V6qfvrg9BTozWdTpdF4CmKBiz138LBRTKhawl/UWw==", + "requires": { + "lodash.find": "^4.6.0" + } + }, + "vue-cropper": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/vue-cropper/-/vue-cropper-0.5.6.tgz", + "integrity": "sha512-54Z/AipXDBcE5nzJweTM+BryzSAcC0FCTMQLvLt6f4XanP4AWB3mPkQw3PG3NRICo7knljHO+N+pjZxYAKoTLQ==" + }, + "vue-eslint-parser": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-2.0.3.tgz", + "integrity": "sha512-ZezcU71Owm84xVF6gfurBQUGg8WQ+WZGxgDEQu1IHFBZNx7BFZg3L1yHxrCBNNwbwFtE1GuvfJKMtb6Xuwc/Bw==", + "dev": true, + "optional": true, + "requires": { + "debug": "^3.1.0", + "eslint-scope": "^3.7.1", + "eslint-visitor-keys": "^1.0.0", + "espree": "^3.5.2", + "esquery": "^1.0.0", + "lodash": "^4.17.4" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "optional": true, + "requires": { + "ms": "^2.1.1" + } + }, + "eslint-scope": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-3.7.3.tgz", + "integrity": "sha512-W+B0SvF4gamyCTmUc+uITPY0989iXVfKvhwtmJocTaYoc/3khEHmEmvfY/Gn9HA9VV75jrQECsHizkNw1b68FA==", + "dev": true, + "optional": true, + "requires": { + "esrecurse": "^4.1.0", + "estraverse": "^4.1.1" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "optional": true + } + } + }, + "vue-hot-reload-api": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz", + "integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==" + }, + "vue-i18n": { + "version": "8.22.4", + "resolved": "https://registry.npmjs.org/vue-i18n/-/vue-i18n-8.22.4.tgz", + "integrity": "sha512-XLI5s0AdqMP2Lf4I4CmdmOq8kjb5DDFGR77wAuxCfpEuYSfhTRyyx6MetgZMiL6Lxa0DasjBOiOcciU3NkL3/Q==" + }, + "vue-loader": { + "version": "15.9.6", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.6.tgz", + "integrity": "sha512-j0cqiLzwbeImIC6nVIby2o/ABAWhlppyL/m5oJ67R5MloP0hj/DtFgb0Zmq3J9CG7AJ+AXIvHVnJAPBvrLyuDg==", + "requires": { + "@vue/component-compiler-utils": "^3.1.0", + "hash-sum": "^1.0.2", + "loader-utils": "^1.1.0", + "vue-hot-reload-api": "^2.3.0", + "vue-style-loader": "^4.1.0" + } + }, + "vue-ls": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/vue-ls/-/vue-ls-3.2.2.tgz", + "integrity": "sha512-xros9Zheckv+8x9PerHvWe5SMYud0+ZlPAMrKWKNtDN/usMOKRoluj6kBZyQo6BxwpmiBL8/EjKMYjxmCNXOMg==", + "requires": { + "opencollective-postinstall": "^2.0.2" + } + }, + "vue-photo-preview": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/vue-photo-preview/-/vue-photo-preview-1.1.3.tgz", + "integrity": "sha512-L9JTQh62rYqLHNCdpy7zQdqVisks9dvkmUpM8+7kIKG7l+KkbRLzKWK7lCjCKc6OQT42o6/ngK6B13niXunS9Q==", + "requires": { + "autoprefixer-loader": "^3.2.0", + "babel-core": "^6.26.0", + "babel-loader": "^7.1.2", + "babel-preset-env": "^1.6.0", + "cross-env": "^5.0.5", + "css-loader": "^0.28.7", + "extract-text-webpack-plugin": "^3.0.1", + "file-loader": "^1.1.4", + "photoswipe": "^4.1.2", + "resolve-url-loader": "^2.1.1", + "style-loader": "^0.19.0", + "vue": "^2.4.4", + "vue-loader": "^13.0.5", + "vue-template-compiler": "^2.4.4", + "webpack": "^3.6.0", + "webpack-dev-server": "^2.9.1" + }, + "dependencies": { + "acorn": { + "version": "5.7.4", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-5.7.4.tgz", + "integrity": "sha512-1D++VG7BhrtvQpNbBzovKNc1FLGGEE/oGe7b9xJm/RFHMBeUaUGpluV9RLjZa47YFdPcDAenEYuq9pQPcMdLJg==" + }, + "babel-loader": { + "version": "7.1.5", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-7.1.5.tgz", + "integrity": "sha512-iCHfbieL5d1LfOQeeVJEUyD9rTwBcP/fcEbRCfempxTDuqrKpu0AZjLAQHEQa3Yqyj9ORKe2iHfoj4rHLf7xpw==", + "requires": { + "find-cache-dir": "^1.0.0", + "loader-utils": "^1.0.2", + "mkdirp": "^0.5.1" + } + }, + "camelcase": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz", + "integrity": "sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0=" + }, + "cliui": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz", + "integrity": "sha1-EgYBU3qRbSmUD5NNo7SNWFo5IT0=", + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1", + "wrap-ansi": "^2.0.0" + }, + "dependencies": { + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + } + } + }, + "consolidate": { + "version": "0.14.5", + "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.14.5.tgz", + "integrity": "sha1-WiUEe8dvcwcmZ8jLUsmJiI9JTGM=", + "requires": { + "bluebird": "^3.1.1" + } + }, + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "requires": { + "ms": "^2.1.1" + } + }, + "enhanced-resolve": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-3.4.1.tgz", + "integrity": "sha1-BCHjOf1xQZs9oT0Smzl5BAIwR24=", + "requires": { + "graceful-fs": "^4.1.2", + "memory-fs": "^0.4.0", + "object-assign": "^4.0.1", + "tapable": "^0.2.7" + } + }, + "file-loader": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-1.1.11.tgz", + "integrity": "sha512-TGR4HU7HUsGg6GCOPJnFk06RhWgEWFLAGWiT6rcD+GRC2keU3s9RGJ+b3Z6/U73jwwNb2gKLJ7YCrp+jvU4ALg==", + "requires": { + "loader-utils": "^1.0.2", + "schema-utils": "^0.4.5" + } + }, + "find-up": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz", + "integrity": "sha1-ay6YIrGizgpgq2TWEOzK1TyyTQ8=", + "requires": { + "path-exists": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "has-flag": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz", + "integrity": "sha1-6CB68cx7MNRGzHC3NLXovhj4jVE=" + }, + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "load-json-file": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz", + "integrity": "sha1-lWkFcI1YtLq0wiYbBPWfMcmTdMA=", + "requires": { + "graceful-fs": "^4.1.2", + "parse-json": "^2.2.0", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "strip-bom": "^2.0.0" + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "path-exists": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz", + "integrity": "sha1-D+tsZPD8UY2adU3V77YscCJ2H0s=", + "requires": { + "pinkie-promise": "^2.0.0" + } + }, + "path-type": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz", + "integrity": "sha1-WcRPfuSR2nBNpBXaWkBwuk+P5EE=", + "requires": { + "graceful-fs": "^4.1.2", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + } + }, + "postcss": { + "version": "6.0.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-6.0.23.tgz", + "integrity": "sha512-soOk1h6J3VMTZtVeVpv15/Hpdl2cBLX3CAw4TAbkpTJiNPk9YP/zWcD1ND+xEtvyuuvKzbxliTOIyvkSeSJ6ag==", + "requires": { + "chalk": "^2.4.1", + "source-map": "^0.6.1", + "supports-color": "^5.4.0" + } + }, + "postcss-selector-parser": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-2.2.3.tgz", + "integrity": "sha1-+UN3iGBsPJrO4W/+jYsWKX8nu5A=", + "requires": { + "flatten": "^1.0.2", + "indexes-of": "^1.0.1", + "uniq": "^1.0.1" + } + }, + "read-pkg": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz", + "integrity": "sha1-9f+qXs0pyzHAR0vKfXVra7KePyg=", + "requires": { + "load-json-file": "^1.0.0", + "normalize-package-data": "^2.3.2", + "path-type": "^1.0.0" + } + }, + "schema-utils": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-0.4.7.tgz", + "integrity": "sha512-v/iwU6wvwGK8HbU9yi3/nhGzP0yGSuhQMzL6ySiec1FSrZZDkhm4noOSWzrNFo/jEc+SJY6jRTwuwbSXJPDUnQ==", + "requires": { + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0" + } + }, + "strip-bom": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz", + "integrity": "sha1-YhmoVhZSBJHzV4i9vxRHqZx+aw4=", + "requires": { + "is-utf8": "^0.2.0" + } + }, + "tapable": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-0.2.9.tgz", + "integrity": "sha512-2wsvQ+4GwBvLPLWsNfLCDYGsW6xb7aeC6utq2Qh0PFwgEy7K7dsma9Jsmb2zSQj7GvYAyUGSntLtsv++GmgL1A==" + }, + "vue-loader": { + "version": "13.7.3", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-13.7.3.tgz", + "integrity": "sha512-ACCwbfeC6HjY2pnDii+Zer+MZ6sdOtwvLmDXRK/BoD3WNR551V22R6KEagwHoTRJ0ZlIhpCBkptpCU6+Ri/05w==", + "requires": { + "consolidate": "^0.14.0", + "hash-sum": "^1.0.2", + "loader-utils": "^1.1.0", + "lru-cache": "^4.1.1", + "postcss": "^6.0.8", + "postcss-load-config": "^1.1.0", + "postcss-selector-parser": "^2.0.0", + "prettier": "^1.7.0", + "resolve": "^1.4.0", + "source-map": "^0.6.1", + "vue-hot-reload-api": "^2.2.0", + "vue-style-loader": "^3.0.0", + "vue-template-es2015-compiler": "^1.6.0" + } + }, + "vue-style-loader": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-3.1.2.tgz", + "integrity": "sha512-ICtVdK/p+qXWpdSs2alWtsXt9YnDoYjQe0w5616j9+/EhjoxZkbun34uWgsMFnC1MhrMMwaWiImz3K2jK1Yp2Q==", + "requires": { + "hash-sum": "^1.0.2", + "loader-utils": "^1.0.2" + } + }, + "webpack": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-3.12.0.tgz", + "integrity": "sha512-Sw7MdIIOv/nkzPzee4o0EdvCuPmxT98+vVpIvwtcwcF1Q4SDSNp92vwcKc4REe7NItH9f1S4ra9FuQ7yuYZ8bQ==", + "requires": { + "acorn": "^5.0.0", + "acorn-dynamic-import": "^2.0.0", + "ajv": "^6.1.0", + "ajv-keywords": "^3.1.0", + "async": "^2.1.2", + "enhanced-resolve": "^3.4.0", + "escope": "^3.6.0", + "interpret": "^1.0.0", + "json-loader": "^0.5.4", + "json5": "^0.5.1", + "loader-runner": "^2.3.0", + "loader-utils": "^1.1.0", + "memory-fs": "~0.4.1", + "mkdirp": "~0.5.0", + "node-libs-browser": "^2.0.0", + "source-map": "^0.5.3", + "supports-color": "^4.2.1", + "tapable": "^0.2.7", + "uglifyjs-webpack-plugin": "^0.4.6", + "watchpack": "^1.4.0", + "webpack-sources": "^1.0.1", + "yargs": "^8.0.2" + }, + "dependencies": { + "source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + }, + "supports-color": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz", + "integrity": "sha1-vnoN5ITexcXN34s9WRJQRJEvY1s=", + "requires": { + "has-flag": "^2.0.0" + } + } + } + }, + "webpack-dev-middleware": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-1.12.2.tgz", + "integrity": "sha512-FCrqPy1yy/sN6U/SaEZcHKRXGlqU0DUaEBL45jkUYoB8foVb6wCnbIJ1HKIx+qUFTW+3JpVcCJCxZ8VATL4e+A==", + "requires": { + "memory-fs": "~0.4.1", + "mime": "^1.5.0", + "path-is-absolute": "^1.0.0", + "range-parser": "^1.0.3", + "time-stamp": "^2.0.0" + } + }, + "webpack-dev-server": { + "version": "2.11.5", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-2.11.5.tgz", + "integrity": "sha512-7TdOKKt7G3sWEhPKV0zP+nD0c4V9YKUJ3wDdBwQsZNo58oZIRoVIu66pg7PYkBW8A74msP9C2kLwmxGHndz/pw==", + "requires": { + "ansi-html": "0.0.7", + "array-includes": "^3.0.3", + "bonjour": "^3.5.0", + "chokidar": "^2.1.2", + "compression": "^1.7.3", + "connect-history-api-fallback": "^1.3.0", + "debug": "^3.1.0", + "del": "^3.0.0", + "express": "^4.16.2", + "html-entities": "^1.2.0", + "http-proxy-middleware": "^0.19.1", + "import-local": "^1.0.0", + "internal-ip": "1.2.0", + "ip": "^1.1.5", + "killable": "^1.0.0", + "loglevel": "^1.4.1", + "opn": "^5.1.0", + "portfinder": "^1.0.9", + "selfsigned": "^1.9.1", + "serve-index": "^1.9.1", + "sockjs": "0.3.19", + "sockjs-client": "1.1.5", + "spdy": "^4.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^5.1.0", + "webpack-dev-middleware": "1.12.2", + "yargs": "6.6.0" + }, + "dependencies": { + "camelcase": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz", + "integrity": "sha1-MvxLn82vhF/N9+c7uXysImHwqwo=" + }, + "os-locale": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz", + "integrity": "sha1-IPnxeuKe00XoveWDsT0gCYA8FNk=", + "requires": { + "lcid": "^1.0.0" + } + }, + "read-pkg-up": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz", + "integrity": "sha1-nWPBMnbAZZGNV/ACpX9AobZD+wI=", + "requires": { + "find-up": "^1.0.0", + "read-pkg": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + }, + "which-module": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz", + "integrity": "sha1-u6Y8qGGUiZT/MHc2CJ47lgJsKk8=" + }, + "yargs": { + "version": "6.6.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz", + "integrity": "sha1-eC7CHvQDNF+DCoCMo9UTr1YGUgg=", + "requires": { + "camelcase": "^3.0.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^1.4.0", + "read-pkg-up": "^1.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^1.0.2", + "which-module": "^1.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^4.2.0" + } + }, + "yargs-parser": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz", + "integrity": "sha1-KczqwNxPA8bIe0qfIX3RjJ90hxw=", + "requires": { + "camelcase": "^3.0.0" + } + } + } + }, + "y18n": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-3.2.2.tgz", + "integrity": "sha512-uGZHXkHnhF0XeeAPgnKfPv1bgKAYyVvmNL1xlKsPYZPaIHxGti2hHqvOCQv71XMsLxu1QjergkqogUnms5D3YQ==" + }, + "yargs": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz", + "integrity": "sha1-YpmpBVsc78lp/355wdkY3Osiw2A=", + "requires": { + "camelcase": "^4.1.0", + "cliui": "^3.2.0", + "decamelize": "^1.1.1", + "get-caller-file": "^1.0.1", + "os-locale": "^2.0.0", + "read-pkg-up": "^2.0.0", + "require-directory": "^2.1.1", + "require-main-filename": "^1.0.1", + "set-blocking": "^2.0.0", + "string-width": "^2.0.0", + "which-module": "^2.0.0", + "y18n": "^3.2.1", + "yargs-parser": "^7.0.0" + } + }, + "yargs-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz", + "integrity": "sha1-jQrELxbqVd69MyyvTEA4s+P139k=", + "requires": { + "camelcase": "^4.1.0" + } + } + } + }, + "vue-print-nb-jeecg": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/vue-print-nb-jeecg/-/vue-print-nb-jeecg-1.0.9.tgz", + "integrity": "sha512-dWLbThjeq/hBo50wcKoHrJAxLEZcqiwoIFEjZQEvntVQs76PdDrWvpkC8F8tGZ5G9GXs9ihrddkXpaIltHJ1dQ==", + "requires": { + "babel-plugin-transform-runtime": "^6.23.0" + } + }, + "vue-ref": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/vue-ref/-/vue-ref-2.0.0.tgz", + "integrity": "sha512-uKNKpFOVeWNqS2mrBZqnpLyXJo5Q+vnkex6JvpENvhXHFNBW/SJTP8vJywLuVT3DpxwXcF9N0dyIiZ4/NpTexQ==" + }, + "vue-router": { + "version": "3.4.9", + "resolved": "https://registry.npmjs.org/vue-router/-/vue-router-3.4.9.tgz", + "integrity": "sha512-CGAKWN44RqXW06oC+u4mPgHLQQi2t6vLD/JbGRDAXm0YpMv0bgpKuU5bBd7AvMgfTz9kXVRIWKHqRwGEb8xFkA==" + }, + "vue-splitpane": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/vue-splitpane/-/vue-splitpane-1.0.6.tgz", + "integrity": "sha512-6sneVSEeF1VsCD025HP93nRxwzYhv3rotCeYi2Ah1FmGxwtfqbCZEIzaHGberdGNCpMlEzGD/1OIE1kK5QukLA==" + }, + "vue-style-loader": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.2.tgz", + "integrity": "sha512-0ip8ge6Gzz/Bk0iHovU9XAUQaFt/G2B61bnWa2tCcqqdgfHs1lF9xXorFbE55Gmy92okFT+8bfmySuUOu13vxQ==", + "requires": { + "hash-sum": "^1.0.2", + "loader-utils": "^1.0.2" + } + }, + "vue-template-compiler": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.12.tgz", + "integrity": "sha512-OzzZ52zS41YUbkCBfdXShQTe69j1gQDZ9HIX8miuC9C3rBCk9wIRjLiZZLrmX9V+Ftq/YEyv1JaVr5Y/hNtByg==", + "requires": { + "de-indent": "^1.0.2", + "he": "^1.1.0" + } + }, + "vue-template-es2015-compiler": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz", + "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==" + }, + "vuedraggable": { + "version": "2.24.3", + "resolved": "https://registry.npmjs.org/vuedraggable/-/vuedraggable-2.24.3.tgz", + "integrity": "sha512-6/HDXi92GzB+Hcs9fC6PAAozK1RLt1ewPTLjK0anTYguXLAeySDmcnqE8IC0xa7shvSzRjQXq3/+dsZ7ETGF3g==", + "requires": { + "sortablejs": "1.10.2" + }, + "dependencies": { + "sortablejs": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/sortablejs/-/sortablejs-1.10.2.tgz", + "integrity": "sha512-YkPGufevysvfwn5rfdlGyrGjt7/CRHwvRPogD/lC+TnvcN29jDpCifKP+rBqf+LRldfXSTh+0CGLcSg0VIxq3A==" + } + } + }, + "vuex": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/vuex/-/vuex-3.6.0.tgz", + "integrity": "sha512-W74OO2vCJPs9/YjNjW8lLbj+jzT24waTo2KShI8jLvJW8OaIkgb3wuAMA7D+ZiUxDOx3ubwSZTaJBip9G8a3aQ==" + }, + "vxe-table": { + "version": "2.9.13", + "resolved": "https://registry.npmjs.org/vxe-table/-/vxe-table-2.9.13.tgz", + "integrity": "sha512-MOaJLLJtdgVbiZX8netLqG8+daB7IbjBM9+5Ppt+seyjBrNV2C4dd8JkGpGX5zPThSzkYPGz66vo404Yu5Q/EA==" + }, + "vxe-table-plugin-antd": { + "version": "1.8.10", + "resolved": "https://registry.npmjs.org/vxe-table-plugin-antd/-/vxe-table-plugin-antd-1.8.10.tgz", + "integrity": "sha512-XsNToY1zSmuLo/oQfSeDjnD4I03U+YYiMcBiduW8/BhZ7/eSTF4L2Rmu7cSDbLJefPwxsQKRd+jlFeF7T433Mw==" + }, + "warning": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/warning/-/warning-4.0.3.tgz", + "integrity": "sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w==", + "requires": { + "loose-envify": "^1.0.0" + } + }, + "watchpack": { + "version": "1.7.5", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", + "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", + "requires": { + "chokidar": "^3.4.1", + "graceful-fs": "^4.1.2", + "neo-async": "^2.5.0", + "watchpack-chokidar2": "^2.0.1" + }, + "dependencies": { + "anymatch": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", + "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "optional": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "optional": true + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "optional": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "chokidar": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.1.tgz", + "integrity": "sha512-9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==", + "optional": true, + "requires": { + "anymatch": "~3.1.1", + "braces": "~3.0.2", + "fsevents": "~2.3.1", + "glob-parent": "~5.1.0", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.5.0" + } + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "optional": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "glob-parent": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", + "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "optional": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "optional": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "optional": true + }, + "readdirp": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", + "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "optional": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "optional": true, + "requires": { + "is-number": "^7.0.0" + } + } + } + }, + "watchpack-chokidar2": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", + "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", + "optional": true, + "requires": { + "chokidar": "^2.1.8" + } + }, + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "requires": { + "minimalistic-assert": "^1.0.0" + } + }, + "wcwidth": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", + "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "dev": true, + "requires": { + "defaults": "^1.0.3" + } + }, + "webpack": { + "version": "4.46.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.46.0.tgz", + "integrity": "sha512-6jJuJjg8znb/xRItk7bkT0+Q7AHCYjjFnvKIWQPkNIOyRqoCGvkOs0ipeQzrqz4l5FtN5ZI/ukEHroeX/o1/5Q==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.9.0", + "@webassemblyjs/helper-module-context": "1.9.0", + "@webassemblyjs/wasm-edit": "1.9.0", + "@webassemblyjs/wasm-parser": "1.9.0", + "acorn": "^6.4.1", + "ajv": "^6.10.2", + "ajv-keywords": "^3.4.1", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^4.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" + }, + "dependencies": { + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + } + } + }, + "webpack-bundle-analyzer": { + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-3.9.0.tgz", + "integrity": "sha512-Ob8amZfCm3rMB1ScjQVlbYYUEJyEjdEtQ92jqiFUYt5VkEeO2v5UMbv49P/gnmCZm3A6yaFQzCBvpZqN4MUsdA==", + "dev": true, + "requires": { + "acorn": "^7.1.1", + "acorn-walk": "^7.1.1", + "bfj": "^6.1.1", + "chalk": "^2.4.1", + "commander": "^2.18.0", + "ejs": "^2.6.1", + "express": "^4.16.3", + "filesize": "^3.6.1", + "gzip-size": "^5.0.0", + "lodash": "^4.17.19", + "mkdirp": "^0.5.1", + "opener": "^1.5.1", + "ws": "^6.0.0" + }, + "dependencies": { + "acorn": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.4.1.tgz", + "integrity": "sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==", + "dev": true + }, + "acorn-walk": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-7.2.0.tgz", + "integrity": "sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA==", + "dev": true + } + } + }, + "webpack-chain": { + "version": "4.12.1", + "resolved": "https://registry.npmjs.org/webpack-chain/-/webpack-chain-4.12.1.tgz", + "integrity": "sha512-BCfKo2YkDe2ByqkEWe1Rw+zko4LsyS75LVr29C6xIrxAg9JHJ4pl8kaIZ396SUSNp6b4815dRZPSTAS8LlURRQ==", + "dev": true, + "requires": { + "deepmerge": "^1.5.2", + "javascript-stringify": "^1.6.0" + } + }, + "webpack-dev-middleware": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.3.tgz", + "integrity": "sha512-djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==", + "dev": true, + "requires": { + "memory-fs": "^0.4.1", + "mime": "^2.4.4", + "mkdirp": "^0.5.1", + "range-parser": "^1.2.1", + "webpack-log": "^2.0.0" + }, + "dependencies": { + "mime": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.0.tgz", + "integrity": "sha512-ft3WayFSFUVBuJj7BMLKAQcSlItKtfjsKDDsii3rqFDAZ7t11zRe8ASw/GlmivGwVUYtwkQrxiGGpL6gFvB0ag==", + "dev": true + } + } + }, + "webpack-dev-server": { + "version": "3.11.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.2.tgz", + "integrity": "sha512-A80BkuHRQfCiNtGBS1EMf2ChTUs0x+B3wGDFmOeT4rmJOHhHTCH2naNxIHhmkr0/UillP4U3yeIyv1pNp+QDLQ==", + "dev": true, + "requires": { + "ansi-html": "0.0.7", + "bonjour": "^3.5.0", + "chokidar": "^2.1.8", + "compression": "^1.7.4", + "connect-history-api-fallback": "^1.6.0", + "debug": "^4.1.1", + "del": "^4.1.1", + "express": "^4.17.1", + "html-entities": "^1.3.1", + "http-proxy-middleware": "0.19.1", + "import-local": "^2.0.0", + "internal-ip": "^4.3.0", + "ip": "^1.1.5", + "is-absolute-url": "^3.0.3", + "killable": "^1.0.1", + "loglevel": "^1.6.8", + "opn": "^5.5.0", + "p-retry": "^3.0.1", + "portfinder": "^1.0.26", + "schema-utils": "^1.0.0", + "selfsigned": "^1.10.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" + }, + "dependencies": { + "ansi-regex": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", + "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", + "dev": true + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "cliui": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", + "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "dev": true, + "requires": { + "string-width": "^3.1.0", + "strip-ansi": "^5.2.0", + "wrap-ansi": "^5.1.0" + }, + "dependencies": { + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "debug": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "default-gateway": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", + "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", + "dev": true, + "requires": { + "execa": "^1.0.0", + "ip-regex": "^2.1.0" + } + }, + "del": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", + "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "globby": "^6.1.0", + "is-path-cwd": "^2.0.0", + "is-path-in-cwd": "^2.0.0", + "p-map": "^2.0.0", + "pify": "^4.0.1", + "rimraf": "^2.6.3" + } + }, + "emoji-regex": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", + "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", + "dev": true + }, + "eventsource": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", + "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==", + "dev": true, + "requires": { + "original": "^1.0.0" + } + }, + "find-up": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", + "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "dev": true, + "requires": { + "locate-path": "^3.0.0" + } + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "import-local": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", + "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "dev": true, + "requires": { + "pkg-dir": "^3.0.0", + "resolve-cwd": "^2.0.0" + } + }, + "internal-ip": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", + "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", + "dev": true, + "requires": { + "default-gateway": "^4.2.0", + "ipaddr.js": "^1.9.0" + } + }, + "is-absolute-url": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", + "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", + "dev": true + }, + "is-path-cwd": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", + "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", + "dev": true + }, + "is-path-in-cwd": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", + "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", + "dev": true, + "requires": { + "is-path-inside": "^2.1.0" + } + }, + "is-path-inside": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", + "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", + "dev": true, + "requires": { + "path-is-inside": "^1.0.2" + } + }, + "locate-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", + "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "dev": true, + "requires": { + "p-locate": "^3.0.0", + "path-exists": "^3.0.0" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", + "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "dev": true, + "requires": { + "p-limit": "^2.0.0" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "pify": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", + "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", + "dev": true + }, + "pkg-dir": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", + "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "dev": true, + "requires": { + "find-up": "^3.0.0" + } + }, + "require-main-filename": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", + "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", + "dev": true + }, + "schema-utils": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", + "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", + "dev": true, + "requires": { + "ajv": "^6.1.0", + "ajv-errors": "^1.0.0", + "ajv-keywords": "^3.1.0" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + }, + "sockjs": { + "version": "0.3.21", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.21.tgz", + "integrity": "sha512-DhbPFGpxjc6Z3I+uX07Id5ZO2XwYsWOrYjaSeieES78cq+JaJvVe5q/m1uvjIQhXinhIeCFRH6JgXe+mvVMyXw==", + "dev": true, + "requires": { + "faye-websocket": "^0.11.3", + "uuid": "^3.4.0", + "websocket-driver": "^0.7.4" + } + }, + "sockjs-client": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.5.0.tgz", + "integrity": "sha512-8Dt3BDi4FYNrCFGTL/HtwVzkARrENdwOUf1ZoW/9p3M8lZdFT35jVdrHza+qgxuG9H3/shR4cuX/X9umUrjP8Q==", + "dev": true, + "requires": { + "debug": "^3.2.6", + "eventsource": "^1.0.7", + "faye-websocket": "^0.11.3", + "inherits": "^2.0.4", + "json3": "^3.3.3", + "url-parse": "^1.4.7" + }, + "dependencies": { + "debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "requires": { + "ms": "^2.1.1" + } + } + } + }, + "string-width": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", + "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", + "dev": true, + "requires": { + "emoji-regex": "^7.0.1", + "is-fullwidth-code-point": "^2.0.0", + "strip-ansi": "^5.1.0" + }, + "dependencies": { + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + }, + "wrap-ansi": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", + "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.0", + "string-width": "^3.0.0", + "strip-ansi": "^5.0.0" + }, + "dependencies": { + "strip-ansi": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", + "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", + "dev": true, + "requires": { + "ansi-regex": "^4.1.0" + } + } + } + }, + "yargs": { + "version": "13.3.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", + "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "dev": true, + "requires": { + "cliui": "^5.0.0", + "find-up": "^3.0.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^3.0.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^13.1.2" + } + }, + "yargs-parser": { + "version": "13.1.2", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", + "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "dev": true, + "requires": { + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + } + } + } + }, + "webpack-log": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", + "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", + "dev": true, + "requires": { + "ansi-colors": "^3.0.0", + "uuid": "^3.3.2" + } + }, + "webpack-merge": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz", + "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==", + "dev": true, + "requires": { + "lodash": "^4.17.15" + } + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "requires": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==" + }, + "whet.extend": { + "version": "0.9.9", + "resolved": "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz", + "integrity": "sha1-+HfVv2SMl+WqVC+twW1qJZucEaE=" + }, + "which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "requires": { + "isexe": "^2.0.0" + } + }, + "which-module": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", + "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" + }, + "window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha1-VDjNLqk7IC76Ohn+iIeu58lPnJ0=" + }, + "wolfy87-eventemitter": { + "version": "5.2.9", + "resolved": "https://registry.npmjs.org/wolfy87-eventemitter/-/wolfy87-eventemitter-5.2.9.tgz", + "integrity": "sha512-P+6vtWyuDw+MB01X7UeF8TaHBvbCovf4HPEMF/SV7BdDc1SMTiBy13SRD71lQh4ExFTG1d/WNzDGDCyOKSMblw==" + }, + "word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true + }, + "wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha1-t5Zpu0LstAn4PVg8rVLKF+qhZD8=" + }, + "worker-farm": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", + "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "dev": true, + "requires": { + "errno": "~0.1.7" + } + }, + "wrap-ansi": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", + "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", + "requires": { + "string-width": "^1.0.1", + "strip-ansi": "^3.0.1" + }, + "dependencies": { + "is-fullwidth-code-point": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", + "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", + "requires": { + "number-is-nan": "^1.0.0" + } + }, + "string-width": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", + "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", + "requires": { + "code-point-at": "^1.0.0", + "is-fullwidth-code-point": "^1.0.0", + "strip-ansi": "^3.0.0" + } + } + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + }, + "write": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/write/-/write-0.2.1.tgz", + "integrity": "sha1-X8A4KOJkzqP+kUVUdvejxWbLB1c=", + "dev": true, + "optional": true, + "requires": { + "mkdirp": "^0.5.1" + } + }, + "ws": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", + "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", + "dev": true, + "requires": { + "async-limiter": "~1.0.0" + } + }, + "xe-utils": { + "version": "2.4.8", + "resolved": "https://registry.npmjs.org/xe-utils/-/xe-utils-2.4.8.tgz", + "integrity": "sha512-/95ZaQK9GJE/EYrpMv9lgKdkEMQwWv4a4TF4dddi4gSzZ33vp/rZvzJNNV9XknaOkMizK9IBSX8CB/nL+SAk0Q==" + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==" + }, + "y18n": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", + "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", + "dev": true + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=" + }, + "yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha1-9+572FfdfB0tOMDnTvvWgdFDH9E=", + "requires": { + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "window-size": "0.1.0" + } + }, + "yargs-parser": { + "version": "20.2.4", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", + "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "dev": true + }, + "yorkie": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/yorkie/-/yorkie-2.0.0.tgz", + "integrity": "sha512-jcKpkthap6x63MB4TxwCyuIGkV0oYP/YRyuQU5UO0Yz/E/ZAu+653/uov+phdmO54n6BcvFRyyt0RRrWdN2mpw==", + "dev": true, + "requires": { + "execa": "^0.8.0", + "is-ci": "^1.0.10", + "normalize-path": "^1.0.0", + "strip-indent": "^2.0.0" + }, + "dependencies": { + "execa": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz", + "integrity": "sha1-2NdrvBtVIX7RkP1t1J08d07PyNo=", + "dev": true, + "requires": { + "cross-spawn": "^5.0.1", + "get-stream": "^3.0.0", + "is-stream": "^1.1.0", + "npm-run-path": "^2.0.0", + "p-finally": "^1.0.0", + "signal-exit": "^3.0.0", + "strip-eof": "^1.0.0" + } + }, + "normalize-path": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-1.0.0.tgz", + "integrity": "sha1-MtDkcvkf80VwHBWoMRAY07CpA3k=", + "dev": true + } + } + }, + "zrender": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/zrender/-/zrender-5.0.4.tgz", + "integrity": "sha512-DJpy0yrHYY5CuH6vhb9IINWbjvBUe/56J8aH86Jb7O8rRPAYZ3M2E469Qf5B3EOIfM3o3aUrO5edRQfLJ+l1Qw==", + "requires": { + "tslib": "2.0.3" + }, + "dependencies": { + "tslib": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", + "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + } + } + } + } +} diff --git a/package.json b/package.json new file mode 100644 index 0000000..1948abb --- /dev/null +++ b/package.json @@ -0,0 +1,119 @@ +{ + "name": "jero-web", + "version": "2.4.2", + "private": true, + "scripts": { + "pre": "cnpm install || yarn --registry https://registry.npm.taobao.org || npm install --registry https://registry.npm.taobao.org ", + "serve": "vue-cli-service serve", + "build:test": "vue-cli-service build --mode test", + "build": "vue-cli-service build", + "lint": "vue-cli-service lint" + }, + "dependencies": { + "@antv/data-set": "^0.11.4", + "@tinymce/tinymce-vue": "^2.1.0", + "@toast-ui/editor": "^2.1.2", + "ant-design-vue": "^1.7.2", + "area-data": "^5.0.6", + "axios": "^0.21.1", + "clipboard": "^2.0.4", + "codemirror": "^5.46.0", + "dayjs": "^1.8.0", + "dom-align": "1.12.0", + "echarts": "^5.0.2", + "enquire.js": "^2.1.6", + "js-base64": "^3.6.0", + "js-cookie": "^2.2.0", + "jsencrypt": "^3.0.0-rc.1", + "lodash.get": "^4.4.2", + "lodash.pick": "^4.4.0", + "md5": "^2.2.1", + "nprogress": "^0.2.0", + "tinymce": "^5.3.2", + "viser-vue": "^2.4.8", + "vue": "^2.6.10", + "vue-area-linkage": "^5.1.0", + "vue-cropper": "^0.5.4", + "vue-i18n": "^8.7.0", + "vue-loader": "^15.7.0", + "vue-ls": "^3.2.0", + "vue-photo-preview": "^1.1.3", + "vue-print-nb-jeecg": "^1.0.9", + "vue-router": "^3.0.1", + "vue-splitpane": "^1.0.4", + "vuedraggable": "^2.20.0", + "vuex": "^3.1.0", + "vxe-table": "2.9.13", + "vxe-table-plugin-antd": "1.8.10", + "xe-utils": "2.4.8" + }, + "devDependencies": { + "@babel/polyfill": "^7.2.5", + "@vue/cli-plugin-babel": "^3.3.0", + "@vue/cli-plugin-eslint": "^3.3.0", + "@vue/cli-service": "^3.3.0", + "@vue/eslint-config-standard": "^4.0.0", + "babel-eslint": "7.2.3", + "compression-webpack-plugin": "^3.1.0", + "eslint": "^5.16.0", + "eslint-plugin-vue": "^5.1.0", + "html-webpack-plugin": "^4.2.0", + "less": "^3.9.0", + "less-loader": "^4.1.0", + "vue-template-compiler": "^2.6.10" + }, + "eslintConfig": { + "root": true, + "env": { + "node": true + }, + "extends": [ + "plugin:vue/strongly-recommended", + "@vue/standard" + ], + "parserOptions": { + "parser": "babel-eslint" + }, + "rules": { + "generator-star-spacing": "off", + "no-mixed-operators": 0, + "vue/max-attributes-per-line": [ + 2, + { + "singleline": 5, + "multiline": { + "max": 1, + "allowFirstLine": false + } + } + ], + "vue/attribute-hyphenation": 0, + "vue/html-self-closing": 0, + "vue/component-name-in-template-casing": 0, + "vue/html-closing-bracket-spacing": 0, + "vue/singleline-html-element-content-newline": 0, + "vue/no-unused-components": 0, + "vue/multiline-html-element-content-newline": 0, + "vue/no-use-v-if-with-v-for": 0, + "vue/html-closing-bracket-newline": 0, + "vue/no-parsing-error": 0, + "no-tabs": 0, + "indent": [ + "off", + 2 + ], + "no-console": 0, + "space-before-function-paren": 0 + } + }, + "postcss": { + "plugins": { + "autoprefixer": {} + } + }, + "browserslist": [ + "> 1%", + "last 2 versions", + "not ie <= 10" + ] +} diff --git a/public/api_address_config.js b/public/api_address_config.js new file mode 100644 index 0000000..74ec003 --- /dev/null +++ b/public/api_address_config.js @@ -0,0 +1,12 @@ +/** + * 防止打包部署时路径被写死 + */ +window._CONFIG = {} +window._CONFIG['domianURL'] = '/jero-boot' // 路由转发 devServer +window._CONFIG['domianWebSocketURL'] = 'http://localhost:8080/jero-boot' +// 单点登录地址 +window._CONFIG['staticDomainURL'] = window._CONFIG['domianURL'] + '/sys/common/download' +window._CONFIG['pdfDomainURL'] = window._CONFIG['domianURL'] + '/sys/common/pdf/pdfPreviewIframe' +window._CONFIG['casPrefixUrl'] = 'http://cas.example.org:8443/cas' +// 预览文件地址 +window._CONFIG['onlinePreviewDomainURL'] = 'http://127.0.0.1:8012/onlinePreview' diff --git a/public/avatar2.jpg b/public/avatar2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9adb2d1b88665631c9dfe7acd8c125ec87eb6fc0 GIT binary patch literal 80189 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Ȇ~_mYlz55^9KP)hUklbsu17%qOvafHCep zv@w;K^E_uz$;{cLz=M^SK-N4%ors(cADeVtmSFt!4eT8S{kT{Ja}$;lhp6HuK~V=B zGly+vLoUS+K56mcDg)9!X=z>rF=CMdEPR&w%JUN9a_UKDscVvEZsBX==2tqUO4F7w zZV4G0NO)|}s~>QNp8Mp-8{F@6ogX}9$JZGST~Gs{A6z=c$SRRHt&?x%pzcf$?^>yM z1&bt9iHUbtntC2ECKJt9))JIIUJrdEL_kDb&W}LY2~KSSDS3mu=PzpqraM?07S;rs zu#%F5*GQ=FjCAXin12dFe$|?D5qD}(dO(hioUa95=IR< zb#scl2&eA$q?-IG8m&Qd#ja}`o{YuA6)oVr8*xUd_&K>p(O{|hwy5M>5f6KdP1$&v z<g#|A4eh!xhn^mG~=ZtWqQJfKnE{ctHIAxeA3n z0t+fHi49$Tt=pql^;$4(kCingMA00W468R^@Pg@zVg$^;y-fm( zuUWPM?f@!I*_G2hyS?M~DCmVG?_TXLkv=`+%9VSe@o7Dr^bu%*qm_hw)m+^ubfIZpm6dE#&9O7 zFwZsp(McS>g6)w=`qbLnF1JYCvfE-@JNzP1eUxJu_|9;v7?m`}XV6eYg#CU&#S}@iFhk6`3_giJs(+ zQFeWHA|^nF%VU#DZ+h{;p;Hw!+SjFBC2tkfqiIZd(KqfzGX&Qr^) zO)oKSqUmyDrw!Ey-E?rUuqWpVsC$(XlQAHG1(R?KGb}%$pfJ}6(NDZd3t+!DWo?0J z#&3nQ%&N>hv52t&wN|{mc|zb6P6{6chtP_|XWc`r9nat_Z~@g35?Fln0ldvudQ9y5 zBH=d!RhQY3=6XyFk7~z-rk`IaS8EmBl!V3Z7d4HD3=v3mE14dzds0(x$&v_9*XUSh zj04x7gW0>i--d)V?9sRS<=LIY7<(|+CZhgWc!BSsfOMW=eRFPTk~HGQr~m;_EJ=r= zxdg9+dica-W(Y&J$|saAzUk}#P(a!!)*fakK7h z!zu^ z0a-Cdb#YdQvzjs>Kp*-{Pq(A>zAl!j=)!Rsn`b=gQr9CO=cv*iZZ(#yao1H$@O?r=hfbblj|OiU?l?@s*|-|V zQ66UG=-X+sG!A`rxlkzod~i)*(Hs~JOaseOSF7^#e1sKyL?VAZyou0x;ao0%Lk!d( z@{!AAq8e)5Q0q6V^K5$x&csScnpW@WyvTWcI-5BfrJ_5UGes<=g&1U5`xeuBs}paw zHA-i?)Fl$rIF-KIp&4*z!jE4yU%s218yv4DPL2x~Py{rxcozRkK^=N29}H*KDtS@x z&UTG{HmgWxDq(IKyIyP%HEpwENNOkIGJ?PDgiJr!uFL1kO2rpmOUHVD>9i#7v`q4| zL%|Qc{>c=#r2|l?xfqkK`7nJ1i+%Rf1yNOv4(Z& zsUZp6&Ae?6hTn)E^H)-5`N;|knzPg-6F>mpXS5UbrfpvqZN6UIT|HTzX?*qO1}|3|svvgdIPrZ(k2EkjcFJO3ur~KCD}b zZBDub?l0VH?3}e>ymK(H9qhp1XC7GG{~?+VV*0XYB;B`RP(fSvHd_iUhmJt*uA)<+ zn0FIbx>Jh5Iu&s}ni4q$DTGSVBMh^#==ikKgDRbrs*hHL;`Al&b4Sl3D~fRul;qZ` zgb(%RC*)C+>HqlIi1qj9G;m##@N9G!l_gfMkv~jUQKb{fD#}Ha>4tN? zS{v##5hEgbPpKtCmtk&UTS=)!1#ClY<5t>e<{0e&z4zn0>UeX_h_{A2xuuMBWwZY7 z^X`o#FrS-%FJ@6|b-cA&wQY~4UeG6V``B6kJNs2Z%Jpz<7(AMBxe1eqDr4I#Q;eC> z%fEp6nOCSu2+Gfh>RICCc|{1=QAl=4a!@0`7ry&?TNIOHI$;>>riR4**i(pD`xIY1 zWWqtbal6uX!Xb_{EBi7)$bHX|v#@oW6hx6E@}s(`z+Ot%oqL4yP~d0no7O&1b4=SH zE{vG3wpkgN)vygrx!&Eap5D+zNw-ytVI%k~6Dx#+*=7DQLTfdRd=KqRAa=g3-T~^E zp?vKMzTxXn2Hk7U2M|Dya^z#I{X&ED7tKw&>D@-p-Ck1NIgB)vGML2qXeOE$IoA50 zV=-!5pS0)fPU1Fr~fgkwJPxM3ie%|e(=sL#l8=s8P3p03@8n-Y

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

    9J2$d}*12p3mw+Jf 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
  1. +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 literal 0 HcmV?d00001 diff --git a/public/cdn/babel-polyfill/polyfill_7_2_5.js b/public/cdn/babel-polyfill/polyfill_7_2_5.js new file mode 100644 index 0000000..250b921 --- /dev/null +++ b/public/cdn/babel-polyfill/polyfill_7_2_5.js @@ -0,0 +1,6953 @@ +(function(){function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o 2 ? arguments[2] : undefined; + var count = Math.min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to); + var inc = 1; + if (from < to && to < from + count) { + inc = -1; + from += count - 1; + to += count - 1; + } + while (count-- > 0) { + if (from in O) O[to] = O[from]; + else delete O[to]; + to += inc; + from += inc; + } return O; +}; + +},{"113":113,"117":117,"118":118}],18:[function(_dereq_,module,exports){ +// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length) +'use strict'; +var toObject = _dereq_(118); +var toAbsoluteIndex = _dereq_(113); +var toLength = _dereq_(117); +module.exports = function fill(value /* , start = 0, end = @length */) { + var O = toObject(this); + var length = toLength(O.length); + var aLen = arguments.length; + var index = toAbsoluteIndex(aLen > 1 ? arguments[1] : undefined, length); + var end = aLen > 2 ? arguments[2] : undefined; + var endPos = end === undefined ? length : toAbsoluteIndex(end, length); + while (endPos > index) O[index++] = value; + return O; +}; + +},{"113":113,"117":117,"118":118}],19:[function(_dereq_,module,exports){ +// false -> Array#indexOf +// true -> Array#includes +var toIObject = _dereq_(116); +var toLength = _dereq_(117); +var toAbsoluteIndex = _dereq_(113); +module.exports = function (IS_INCLUDES) { + return function ($this, el, fromIndex) { + var O = toIObject($this); + var length = toLength(O.length); + var index = toAbsoluteIndex(fromIndex, length); + var value; + // Array#includes uses SameValueZero equality algorithm + // eslint-disable-next-line no-self-compare + if (IS_INCLUDES && el != el) while (length > index) { + value = O[index++]; + // eslint-disable-next-line no-self-compare + if (value != value) return true; + // Array#indexOf ignores holes, Array#includes - not + } else for (;length > index; index++) if (IS_INCLUDES || index in O) { + if (O[index] === el) return IS_INCLUDES || index || 0; + } return !IS_INCLUDES && -1; + }; +}; + +},{"113":113,"116":116,"117":117}],20:[function(_dereq_,module,exports){ +// 0 -> Array#forEach +// 1 -> Array#map +// 2 -> Array#filter +// 3 -> Array#some +// 4 -> Array#every +// 5 -> Array#find +// 6 -> Array#findIndex +var ctx = _dereq_(32); +var IObject = _dereq_(53); +var toObject = _dereq_(118); +var toLength = _dereq_(117); +var asc = _dereq_(23); +module.exports = function (TYPE, $create) { + var IS_MAP = TYPE == 1; + var IS_FILTER = TYPE == 2; + var IS_SOME = TYPE == 3; + var IS_EVERY = TYPE == 4; + var IS_FIND_INDEX = TYPE == 6; + var NO_HOLES = TYPE == 5 || IS_FIND_INDEX; + var create = $create || asc; + return function ($this, callbackfn, that) { + var O = toObject($this); + var self = IObject(O); + var f = ctx(callbackfn, that, 3); + var length = toLength(self.length); + var index = 0; + var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined; + var val, res; + for (;length > index; index++) if (NO_HOLES || index in self) { + val = self[index]; + res = f(val, index, O); + if (TYPE) { + if (IS_MAP) result[index] = res; // map + else if (res) switch (TYPE) { + case 3: return true; // some + case 5: return val; // find + case 6: return index; // findIndex + case 2: result.push(val); // filter + } else if (IS_EVERY) return false; // every + } + } + return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result; + }; +}; + +},{"117":117,"118":118,"23":23,"32":32,"53":53}],21:[function(_dereq_,module,exports){ +var aFunction = _dereq_(11); +var toObject = _dereq_(118); +var IObject = _dereq_(53); +var toLength = _dereq_(117); + +module.exports = function (that, callbackfn, aLen, memo, isRight) { + aFunction(callbackfn); + var O = toObject(that); + var self = IObject(O); + var length = toLength(O.length); + var index = isRight ? length - 1 : 0; + var i = isRight ? -1 : 1; + if (aLen < 2) for (;;) { + if (index in self) { + memo = self[index]; + index += i; + break; + } + index += i; + if (isRight ? index < 0 : length <= index) { + throw TypeError('Reduce of empty array with no initial value'); + } + } + for (;isRight ? index >= 0 : length > index; index += i) if (index in self) { + memo = callbackfn(memo, self[index], index, O); + } + return memo; +}; + +},{"11":11,"117":117,"118":118,"53":53}],22:[function(_dereq_,module,exports){ +var isObject = _dereq_(57); +var isArray = _dereq_(55); +var SPECIES = _dereq_(128)('species'); + +module.exports = function (original) { + var C; + if (isArray(original)) { + C = original.constructor; + // cross-realm fallback + if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined; + if (isObject(C)) { + C = C[SPECIES]; + if (C === null) C = undefined; + } + } return C === undefined ? Array : C; +}; + +},{"128":128,"55":55,"57":57}],23:[function(_dereq_,module,exports){ +// 9.4.2.3 ArraySpeciesCreate(originalArray, length) +var speciesConstructor = _dereq_(22); + +module.exports = function (original, length) { + return new (speciesConstructor(original))(length); +}; + +},{"22":22}],24:[function(_dereq_,module,exports){ +'use strict'; +var aFunction = _dereq_(11); +var isObject = _dereq_(57); +var invoke = _dereq_(52); +var arraySlice = [].slice; +var factories = {}; + +var construct = function (F, len, args) { + if (!(len in factories)) { + for (var n = [], i = 0; i < len; i++) n[i] = 'a[' + i + ']'; + // eslint-disable-next-line no-new-func + factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')'); + } return factories[len](F, args); +}; + +module.exports = Function.bind || function bind(that /* , ...args */) { + var fn = aFunction(this); + var partArgs = arraySlice.call(arguments, 1); + var bound = function (/* args... */) { + var args = partArgs.concat(arraySlice.call(arguments)); + return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that); + }; + if (isObject(fn.prototype)) bound.prototype = fn.prototype; + return bound; +}; + +},{"11":11,"52":52,"57":57}],25:[function(_dereq_,module,exports){ +// getting tag from 19.1.3.6 Object.prototype.toString() +var cof = _dereq_(26); +var TAG = _dereq_(128)('toStringTag'); +// ES3 wrong here +var ARG = cof(function () { return arguments; }()) == 'Arguments'; + +// fallback for IE11 Script Access Denied error +var tryGet = function (it, key) { + try { + return it[key]; + } catch (e) { /* empty */ } +}; + +module.exports = function (it) { + var O, T, B; + return it === undefined ? 'Undefined' : it === null ? 'Null' + // @@toStringTag case + : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T + // builtinTag case + : ARG ? cof(O) + // ES3 arguments fallback + : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B; +}; + +},{"128":128,"26":26}],26:[function(_dereq_,module,exports){ +var toString = {}.toString; + +module.exports = function (it) { + return toString.call(it).slice(8, -1); +}; + +},{}],27:[function(_dereq_,module,exports){ +'use strict'; +var dP = _dereq_(75).f; +var create = _dereq_(74); +var redefineAll = _dereq_(93); +var ctx = _dereq_(32); +var anInstance = _dereq_(15); +var forOf = _dereq_(45); +var $iterDefine = _dereq_(61); +var step = _dereq_(63); +var setSpecies = _dereq_(99); +var DESCRIPTORS = _dereq_(36); +var fastKey = _dereq_(70).fastKey; +var validate = _dereq_(125); +var SIZE = DESCRIPTORS ? '_s' : 'size'; + +var getEntry = function (that, key) { + // fast case + var index = fastKey(key); + var entry; + if (index !== 'F') return that._i[index]; + // frozen object case + for (entry = that._f; entry; entry = entry.n) { + if (entry.k == key) return entry; + } +}; + +module.exports = { + getConstructor: function (wrapper, NAME, IS_MAP, ADDER) { + var C = wrapper(function (that, iterable) { + anInstance(that, C, NAME, '_i'); + that._t = NAME; // collection type + that._i = create(null); // index + that._f = undefined; // first entry + that._l = undefined; // last entry + that[SIZE] = 0; // size + if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that); + }); + redefineAll(C.prototype, { + // 23.1.3.1 Map.prototype.clear() + // 23.2.3.2 Set.prototype.clear() + clear: function clear() { + for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) { + entry.r = true; + if (entry.p) entry.p = entry.p.n = undefined; + delete data[entry.i]; + } + that._f = that._l = undefined; + that[SIZE] = 0; + }, + // 23.1.3.3 Map.prototype.delete(key) + // 23.2.3.4 Set.prototype.delete(value) + 'delete': function (key) { + var that = validate(this, NAME); + var entry = getEntry(that, key); + if (entry) { + var next = entry.n; + var prev = entry.p; + delete that._i[entry.i]; + entry.r = true; + if (prev) prev.n = next; + if (next) next.p = prev; + if (that._f == entry) that._f = next; + if (that._l == entry) that._l = prev; + that[SIZE]--; + } return !!entry; + }, + // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined) + // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined) + forEach: function forEach(callbackfn /* , that = undefined */) { + validate(this, NAME); + var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3); + var entry; + while (entry = entry ? entry.n : this._f) { + f(entry.v, entry.k, this); + // revert to the last existing entry + while (entry && entry.r) entry = entry.p; + } + }, + // 23.1.3.7 Map.prototype.has(key) + // 23.2.3.7 Set.prototype.has(value) + has: function has(key) { + return !!getEntry(validate(this, NAME), key); + } + }); + if (DESCRIPTORS) dP(C.prototype, 'size', { + get: function () { + return validate(this, NAME)[SIZE]; + } + }); + return C; + }, + def: function (that, key, value) { + var entry = getEntry(that, key); + var prev, index; + // change existing entry + if (entry) { + entry.v = value; + // create new entry + } else { + that._l = entry = { + i: index = fastKey(key, true), // <- index + k: key, // <- key + v: value, // <- value + p: prev = that._l, // <- previous entry + n: undefined, // <- next entry + r: false // <- removed + }; + if (!that._f) that._f = entry; + if (prev) prev.n = entry; + that[SIZE]++; + // add to index + if (index !== 'F') that._i[index] = entry; + } return that; + }, + getEntry: getEntry, + setStrong: function (C, NAME, IS_MAP) { + // add .keys, .values, .entries, [@@iterator] + // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11 + $iterDefine(C, NAME, function (iterated, kind) { + this._t = validate(iterated, NAME); // target + this._k = kind; // kind + this._l = undefined; // previous + }, function () { + var that = this; + var kind = that._k; + var entry = that._l; + // revert to the last existing entry + while (entry && entry.r) entry = entry.p; + // get next entry + if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) { + // or finish the iteration + that._t = undefined; + return step(1); + } + // return step by kind + if (kind == 'keys') return step(0, entry.k); + if (kind == 'values') return step(0, entry.v); + return step(0, [entry.k, entry.v]); + }, IS_MAP ? 'entries' : 'values', !IS_MAP, true); + + // add [@@species], 23.1.2.2, 23.2.2.2 + setSpecies(NAME); + } +}; + +},{"125":125,"15":15,"32":32,"36":36,"45":45,"61":61,"63":63,"70":70,"74":74,"75":75,"93":93,"99":99}],28:[function(_dereq_,module,exports){ +'use strict'; +var redefineAll = _dereq_(93); +var getWeak = _dereq_(70).getWeak; +var anObject = _dereq_(16); +var isObject = _dereq_(57); +var anInstance = _dereq_(15); +var forOf = _dereq_(45); +var createArrayMethod = _dereq_(20); +var $has = _dereq_(47); +var validate = _dereq_(125); +var arrayFind = createArrayMethod(5); +var arrayFindIndex = createArrayMethod(6); +var id = 0; + +// fallback for uncaught frozen keys +var uncaughtFrozenStore = function (that) { + return that._l || (that._l = new UncaughtFrozenStore()); +}; +var UncaughtFrozenStore = function () { + this.a = []; +}; +var findUncaughtFrozen = function (store, key) { + return arrayFind(store.a, function (it) { + return it[0] === key; + }); +}; +UncaughtFrozenStore.prototype = { + get: function (key) { + var entry = findUncaughtFrozen(this, key); + if (entry) return entry[1]; + }, + has: function (key) { + return !!findUncaughtFrozen(this, key); + }, + set: function (key, value) { + var entry = findUncaughtFrozen(this, key); + if (entry) entry[1] = value; + else this.a.push([key, value]); + }, + 'delete': function (key) { + var index = arrayFindIndex(this.a, function (it) { + return it[0] === key; + }); + if (~index) this.a.splice(index, 1); + return !!~index; + } +}; + +module.exports = { + getConstructor: function (wrapper, NAME, IS_MAP, ADDER) { + var C = wrapper(function (that, iterable) { + anInstance(that, C, NAME, '_i'); + that._t = NAME; // collection type + that._i = id++; // collection id + that._l = undefined; // leak store for uncaught frozen objects + if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that); + }); + redefineAll(C.prototype, { + // 23.3.3.2 WeakMap.prototype.delete(key) + // 23.4.3.3 WeakSet.prototype.delete(value) + 'delete': function (key) { + if (!isObject(key)) return false; + var data = getWeak(key); + if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key); + return data && $has(data, this._i) && delete data[this._i]; + }, + // 23.3.3.4 WeakMap.prototype.has(key) + // 23.4.3.4 WeakSet.prototype.has(value) + has: function has(key) { + if (!isObject(key)) return false; + var data = getWeak(key); + if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key); + return data && $has(data, this._i); + } + }); + return C; + }, + def: function (that, key, value) { + var data = getWeak(anObject(key), true); + if (data === true) uncaughtFrozenStore(that).set(key, value); + else data[that._i] = value; + return that; + }, + ufstore: uncaughtFrozenStore +}; + +},{"125":125,"15":15,"16":16,"20":20,"45":45,"47":47,"57":57,"70":70,"93":93}],29:[function(_dereq_,module,exports){ +'use strict'; +var global = _dereq_(46); +var $export = _dereq_(40); +var redefine = _dereq_(94); +var redefineAll = _dereq_(93); +var meta = _dereq_(70); +var forOf = _dereq_(45); +var anInstance = _dereq_(15); +var isObject = _dereq_(57); +var fails = _dereq_(42); +var $iterDetect = _dereq_(62); +var setToStringTag = _dereq_(100); +var inheritIfRequired = _dereq_(51); + +module.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) { + var Base = global[NAME]; + var C = Base; + var ADDER = IS_MAP ? 'set' : 'add'; + var proto = C && C.prototype; + var O = {}; + var fixMethod = function (KEY) { + var fn = proto[KEY]; + redefine(proto, KEY, + KEY == 'delete' ? function (a) { + return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a); + } : KEY == 'has' ? function has(a) { + return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a); + } : KEY == 'get' ? function get(a) { + return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a); + } : KEY == 'add' ? function add(a) { fn.call(this, a === 0 ? 0 : a); return this; } + : function set(a, b) { fn.call(this, a === 0 ? 0 : a, b); return this; } + ); + }; + if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () { + new C().entries().next(); + }))) { + // create collection constructor + C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER); + redefineAll(C.prototype, methods); + meta.NEED = true; + } else { + var instance = new C(); + // early implementations not supports chaining + var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance; + // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false + var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); }); + // most early implementations doesn't supports iterables, most modern - not close it correctly + var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new + // for early implementations -0 and +0 not the same + var BUGGY_ZERO = !IS_WEAK && fails(function () { + // V8 ~ Chromium 42- fails only with 5+ elements + var $instance = new C(); + var index = 5; + while (index--) $instance[ADDER](index, index); + return !$instance.has(-0); + }); + if (!ACCEPT_ITERABLES) { + C = wrapper(function (target, iterable) { + anInstance(target, C, NAME); + var that = inheritIfRequired(new Base(), target, C); + if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that); + return that; + }); + C.prototype = proto; + proto.constructor = C; + } + if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) { + fixMethod('delete'); + fixMethod('has'); + IS_MAP && fixMethod('get'); + } + if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER); + // weak collections should not contains .clear method + if (IS_WEAK && proto.clear) delete proto.clear; + } + + setToStringTag(C, NAME); + + O[NAME] = C; + $export($export.G + $export.W + $export.F * (C != Base), O); + + if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP); + + return C; +}; + +},{"100":100,"15":15,"40":40,"42":42,"45":45,"46":46,"51":51,"57":57,"62":62,"70":70,"93":93,"94":94}],30:[function(_dereq_,module,exports){ +var core = module.exports = { version: '2.6.1' }; +if (typeof __e == 'number') __e = core; // eslint-disable-line no-undef + +},{}],31:[function(_dereq_,module,exports){ +'use strict'; +var $defineProperty = _dereq_(75); +var createDesc = _dereq_(92); + +module.exports = function (object, index, value) { + if (index in object) $defineProperty.f(object, index, createDesc(0, value)); + else object[index] = value; +}; + +},{"75":75,"92":92}],32:[function(_dereq_,module,exports){ +// optional / simple context binding +var aFunction = _dereq_(11); +module.exports = function (fn, that, length) { + aFunction(fn); + if (that === undefined) return fn; + switch (length) { + case 1: return function (a) { + return fn.call(that, a); + }; + case 2: return function (a, b) { + return fn.call(that, a, b); + }; + case 3: return function (a, b, c) { + return fn.call(that, a, b, c); + }; + } + return function (/* ...args */) { + return fn.apply(that, arguments); + }; +}; + +},{"11":11}],33:[function(_dereq_,module,exports){ +'use strict'; +// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString() +var fails = _dereq_(42); +var getTime = Date.prototype.getTime; +var $toISOString = Date.prototype.toISOString; + +var lz = function (num) { + return num > 9 ? num : '0' + num; +}; + +// PhantomJS / old WebKit has a broken implementations +module.exports = (fails(function () { + return $toISOString.call(new Date(-5e13 - 1)) != '0385-07-25T07:06:39.999Z'; +}) || !fails(function () { + $toISOString.call(new Date(NaN)); +})) ? function toISOString() { + if (!isFinite(getTime.call(this))) throw RangeError('Invalid time value'); + var d = this; + var y = d.getUTCFullYear(); + var m = d.getUTCMilliseconds(); + var s = y < 0 ? '-' : y > 9999 ? '+' : ''; + return s + ('00000' + Math.abs(y)).slice(s ? -6 : -4) + + '-' + lz(d.getUTCMonth() + 1) + '-' + lz(d.getUTCDate()) + + 'T' + lz(d.getUTCHours()) + ':' + lz(d.getUTCMinutes()) + + ':' + lz(d.getUTCSeconds()) + '.' + (m > 99 ? m : '0' + lz(m)) + 'Z'; +} : $toISOString; + +},{"42":42}],34:[function(_dereq_,module,exports){ +'use strict'; +var anObject = _dereq_(16); +var toPrimitive = _dereq_(119); +var NUMBER = 'number'; + +module.exports = function (hint) { + if (hint !== 'string' && hint !== NUMBER && hint !== 'default') throw TypeError('Incorrect hint'); + return toPrimitive(anObject(this), hint != NUMBER); +}; + +},{"119":119,"16":16}],35:[function(_dereq_,module,exports){ +// 7.2.1 RequireObjectCoercible(argument) +module.exports = function (it) { + if (it == undefined) throw TypeError("Can't call method on " + it); + return it; +}; + +},{}],36:[function(_dereq_,module,exports){ +// Thank's IE8 for his funny defineProperty +module.exports = !_dereq_(42)(function () { + return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7; +}); + +},{"42":42}],37:[function(_dereq_,module,exports){ +var isObject = _dereq_(57); +var document = _dereq_(46).document; +// typeof document.createElement is 'object' in old IE +var is = isObject(document) && isObject(document.createElement); +module.exports = function (it) { + return is ? document.createElement(it) : {}; +}; + +},{"46":46,"57":57}],38:[function(_dereq_,module,exports){ +// IE 8- don't enum bug keys +module.exports = ( + 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf' +).split(','); + +},{}],39:[function(_dereq_,module,exports){ +// all enumerable object keys, includes symbols +var getKeys = _dereq_(83); +var gOPS = _dereq_(80); +var pIE = _dereq_(84); +module.exports = function (it) { + var result = getKeys(it); + var getSymbols = gOPS.f; + if (getSymbols) { + var symbols = getSymbols(it); + var isEnum = pIE.f; + var i = 0; + var key; + while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key); + } return result; +}; + +},{"80":80,"83":83,"84":84}],40:[function(_dereq_,module,exports){ +var global = _dereq_(46); +var core = _dereq_(30); +var hide = _dereq_(48); +var redefine = _dereq_(94); +var ctx = _dereq_(32); +var PROTOTYPE = 'prototype'; + +var $export = function (type, name, source) { + var IS_FORCED = type & $export.F; + var IS_GLOBAL = type & $export.G; + var IS_STATIC = type & $export.S; + var IS_PROTO = type & $export.P; + var IS_BIND = type & $export.B; + var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE]; + var exports = IS_GLOBAL ? core : core[name] || (core[name] = {}); + var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {}); + var key, own, out, exp; + if (IS_GLOBAL) source = name; + for (key in source) { + // contains in native + own = !IS_FORCED && target && target[key] !== undefined; + // export native or passed + out = (own ? target : source)[key]; + // bind timers to global for call from export context + exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out; + // extend global + if (target) redefine(target, key, out, type & $export.U); + // export + if (exports[key] != out) hide(exports, key, exp); + if (IS_PROTO && expProto[key] != out) expProto[key] = out; + } +}; +global.core = core; +// type bitmap +$export.F = 1; // forced +$export.G = 2; // global +$export.S = 4; // static +$export.P = 8; // proto +$export.B = 16; // bind +$export.W = 32; // wrap +$export.U = 64; // safe +$export.R = 128; // real proto method for `library` +module.exports = $export; + +},{"30":30,"32":32,"46":46,"48":48,"94":94}],41:[function(_dereq_,module,exports){ +var MATCH = _dereq_(128)('match'); +module.exports = function (KEY) { + var re = /./; + try { + '/./'[KEY](re); + } catch (e) { + try { + re[MATCH] = false; + return !'/./'[KEY](re); + } catch (f) { /* empty */ } + } return true; +}; + +},{"128":128}],42:[function(_dereq_,module,exports){ +module.exports = function (exec) { + try { + return !!exec(); + } catch (e) { + return true; + } +}; + +},{}],43:[function(_dereq_,module,exports){ +'use strict'; +_dereq_(224); +var redefine = _dereq_(94); +var hide = _dereq_(48); +var fails = _dereq_(42); +var defined = _dereq_(35); +var wks = _dereq_(128); +var regexpExec = _dereq_(96); + +var SPECIES = wks('species'); + +var REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () { + // #replace needs built-in support for named groups. + // #match works fine because it just return the exec results, even if it has + // a "grops" property. + var re = /./; + re.exec = function () { + var result = []; + result.groups = { a: '7' }; + return result; + }; + return ''.replace(re, '$') !== '7'; +}); + +var SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = (function () { + // Chrome 51 has a buggy "split" implementation when RegExp#exec !== nativeExec + var re = /(?:)/; + var originalExec = re.exec; + re.exec = function () { return originalExec.apply(this, arguments); }; + var result = 'ab'.split(re); + return result.length === 2 && result[0] === 'a' && result[1] === 'b'; +})(); + +module.exports = function (KEY, length, exec) { + var SYMBOL = wks(KEY); + + var DELEGATES_TO_SYMBOL = !fails(function () { + // String methods call symbol-named RegEp methods + var O = {}; + O[SYMBOL] = function () { return 7; }; + return ''[KEY](O) != 7; + }); + + var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL ? !fails(function () { + // Symbol-named RegExp methods call .exec + var execCalled = false; + var re = /a/; + re.exec = function () { execCalled = true; return null; }; + if (KEY === 'split') { + // RegExp[@@split] doesn't call the regex's exec method, but first creates + // a new one. We need to return the patched regex when creating the new one. + re.constructor = {}; + re.constructor[SPECIES] = function () { return re; }; + } + re[SYMBOL](''); + return !execCalled; + }) : undefined; + + if ( + !DELEGATES_TO_SYMBOL || + !DELEGATES_TO_EXEC || + (KEY === 'replace' && !REPLACE_SUPPORTS_NAMED_GROUPS) || + (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC) + ) { + var nativeRegExpMethod = /./[SYMBOL]; + var fns = exec( + defined, + SYMBOL, + ''[KEY], + function maybeCallNative(nativeMethod, regexp, str, arg2, forceStringMethod) { + if (regexp.exec === regexpExec) { + if (DELEGATES_TO_SYMBOL && !forceStringMethod) { + // The native String method already delegates to @@method (this + // polyfilled function), leasing to infinite recursion. + // We avoid it by directly calling the native @@method method. + return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) }; + } + return { done: true, value: nativeMethod.call(str, regexp, arg2) }; + } + return { done: false }; + } + ); + var strfn = fns[0]; + var rxfn = fns[1]; + + redefine(String.prototype, KEY, strfn); + hide(RegExp.prototype, SYMBOL, length == 2 + // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue) + // 21.2.5.11 RegExp.prototype[@@split](string, limit) + ? function (string, arg) { return rxfn.call(string, this, arg); } + // 21.2.5.6 RegExp.prototype[@@match](string) + // 21.2.5.9 RegExp.prototype[@@search](string) + : function (string) { return rxfn.call(string, this); } + ); + } +}; + +},{"128":128,"224":224,"35":35,"42":42,"48":48,"94":94,"96":96}],44:[function(_dereq_,module,exports){ +'use strict'; +// 21.2.5.3 get RegExp.prototype.flags +var anObject = _dereq_(16); +module.exports = function () { + var that = anObject(this); + var result = ''; + if (that.global) result += 'g'; + if (that.ignoreCase) result += 'i'; + if (that.multiline) result += 'm'; + if (that.unicode) result += 'u'; + if (that.sticky) result += 'y'; + return result; +}; + +},{"16":16}],45:[function(_dereq_,module,exports){ +var ctx = _dereq_(32); +var call = _dereq_(59); +var isArrayIter = _dereq_(54); +var anObject = _dereq_(16); +var toLength = _dereq_(117); +var getIterFn = _dereq_(129); +var BREAK = {}; +var RETURN = {}; +var exports = module.exports = function (iterable, entries, fn, that, ITERATOR) { + var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable); + var f = ctx(fn, that, entries ? 2 : 1); + var index = 0; + var length, step, iterator, result; + if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!'); + // fast case for arrays with default iterator + if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) { + result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]); + if (result === BREAK || result === RETURN) return result; + } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) { + result = call(iterator, f, step.value, entries); + if (result === BREAK || result === RETURN) return result; + } +}; +exports.BREAK = BREAK; +exports.RETURN = RETURN; + +},{"117":117,"129":129,"16":16,"32":32,"54":54,"59":59}],46:[function(_dereq_,module,exports){ +// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028 +var global = module.exports = typeof window != 'undefined' && window.Math == Math + ? window : typeof self != 'undefined' && self.Math == Math ? self + // eslint-disable-next-line no-new-func + : Function('return this')(); +if (typeof __g == 'number') __g = global; // eslint-disable-line no-undef + +},{}],47:[function(_dereq_,module,exports){ +var hasOwnProperty = {}.hasOwnProperty; +module.exports = function (it, key) { + return hasOwnProperty.call(it, key); +}; + +},{}],48:[function(_dereq_,module,exports){ +var dP = _dereq_(75); +var createDesc = _dereq_(92); +module.exports = _dereq_(36) ? function (object, key, value) { + return dP.f(object, key, createDesc(1, value)); +} : function (object, key, value) { + object[key] = value; + return object; +}; + +},{"36":36,"75":75,"92":92}],49:[function(_dereq_,module,exports){ +var document = _dereq_(46).document; +module.exports = document && document.documentElement; + +},{"46":46}],50:[function(_dereq_,module,exports){ +module.exports = !_dereq_(36) && !_dereq_(42)(function () { + return Object.defineProperty(_dereq_(37)('div'), 'a', { get: function () { return 7; } }).a != 7; +}); + +},{"36":36,"37":37,"42":42}],51:[function(_dereq_,module,exports){ +var isObject = _dereq_(57); +var setPrototypeOf = _dereq_(98).set; +module.exports = function (that, target, C) { + var S = target.constructor; + var P; + if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) { + setPrototypeOf(that, P); + } return that; +}; + +},{"57":57,"98":98}],52:[function(_dereq_,module,exports){ +// fast apply, http://jsperf.lnkit.com/fast-apply/5 +module.exports = function (fn, args, that) { + var un = that === undefined; + switch (args.length) { + case 0: return un ? fn() + : fn.call(that); + case 1: return un ? fn(args[0]) + : fn.call(that, args[0]); + case 2: return un ? fn(args[0], args[1]) + : fn.call(that, args[0], args[1]); + case 3: return un ? fn(args[0], args[1], args[2]) + : fn.call(that, args[0], args[1], args[2]); + case 4: return un ? fn(args[0], args[1], args[2], args[3]) + : fn.call(that, args[0], args[1], args[2], args[3]); + } return fn.apply(that, args); +}; + +},{}],53:[function(_dereq_,module,exports){ +// fallback for non-array-like ES3 and non-enumerable old V8 strings +var cof = _dereq_(26); +// eslint-disable-next-line no-prototype-builtins +module.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) { + return cof(it) == 'String' ? it.split('') : Object(it); +}; + +},{"26":26}],54:[function(_dereq_,module,exports){ +// check on default Array iterator +var Iterators = _dereq_(64); +var ITERATOR = _dereq_(128)('iterator'); +var ArrayProto = Array.prototype; + +module.exports = function (it) { + return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it); +}; + +},{"128":128,"64":64}],55:[function(_dereq_,module,exports){ +// 7.2.2 IsArray(argument) +var cof = _dereq_(26); +module.exports = Array.isArray || function isArray(arg) { + return cof(arg) == 'Array'; +}; + +},{"26":26}],56:[function(_dereq_,module,exports){ +// 20.1.2.3 Number.isInteger(number) +var isObject = _dereq_(57); +var floor = Math.floor; +module.exports = function isInteger(it) { + return !isObject(it) && isFinite(it) && floor(it) === it; +}; + +},{"57":57}],57:[function(_dereq_,module,exports){ +module.exports = function (it) { + return typeof it === 'object' ? it !== null : typeof it === 'function'; +}; + +},{}],58:[function(_dereq_,module,exports){ +// 7.2.8 IsRegExp(argument) +var isObject = _dereq_(57); +var cof = _dereq_(26); +var MATCH = _dereq_(128)('match'); +module.exports = function (it) { + var isRegExp; + return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp'); +}; + +},{"128":128,"26":26,"57":57}],59:[function(_dereq_,module,exports){ +// call something on iterator step with safe closing on error +var anObject = _dereq_(16); +module.exports = function (iterator, fn, value, entries) { + try { + return entries ? fn(anObject(value)[0], value[1]) : fn(value); + // 7.4.6 IteratorClose(iterator, completion) + } catch (e) { + var ret = iterator['return']; + if (ret !== undefined) anObject(ret.call(iterator)); + throw e; + } +}; + +},{"16":16}],60:[function(_dereq_,module,exports){ +'use strict'; +var create = _dereq_(74); +var descriptor = _dereq_(92); +var setToStringTag = _dereq_(100); +var IteratorPrototype = {}; + +// 25.1.2.1.1 %IteratorPrototype%[@@iterator]() +_dereq_(48)(IteratorPrototype, _dereq_(128)('iterator'), function () { return this; }); + +module.exports = function (Constructor, NAME, next) { + Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) }); + setToStringTag(Constructor, NAME + ' Iterator'); +}; + +},{"100":100,"128":128,"48":48,"74":74,"92":92}],61:[function(_dereq_,module,exports){ +'use strict'; +var LIBRARY = _dereq_(65); +var $export = _dereq_(40); +var redefine = _dereq_(94); +var hide = _dereq_(48); +var Iterators = _dereq_(64); +var $iterCreate = _dereq_(60); +var setToStringTag = _dereq_(100); +var getPrototypeOf = _dereq_(81); +var ITERATOR = _dereq_(128)('iterator'); +var BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next` +var FF_ITERATOR = '@@iterator'; +var KEYS = 'keys'; +var VALUES = 'values'; + +var returnThis = function () { return this; }; + +module.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) { + $iterCreate(Constructor, NAME, next); + var getMethod = function (kind) { + if (!BUGGY && kind in proto) return proto[kind]; + switch (kind) { + case KEYS: return function keys() { return new Constructor(this, kind); }; + case VALUES: return function values() { return new Constructor(this, kind); }; + } return function entries() { return new Constructor(this, kind); }; + }; + var TAG = NAME + ' Iterator'; + var DEF_VALUES = DEFAULT == VALUES; + var VALUES_BUG = false; + var proto = Base.prototype; + var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]; + var $default = $native || getMethod(DEFAULT); + var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined; + var $anyNative = NAME == 'Array' ? proto.entries || $native : $native; + var methods, key, IteratorPrototype; + // Fix native + if ($anyNative) { + IteratorPrototype = getPrototypeOf($anyNative.call(new Base())); + if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) { + // Set @@toStringTag to native iterators + setToStringTag(IteratorPrototype, TAG, true); + // fix for some old engines + if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis); + } + } + // fix Array#{values, @@iterator}.name in V8 / FF + if (DEF_VALUES && $native && $native.name !== VALUES) { + VALUES_BUG = true; + $default = function values() { return $native.call(this); }; + } + // Define iterator + if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) { + hide(proto, ITERATOR, $default); + } + // Plug for library + Iterators[NAME] = $default; + Iterators[TAG] = returnThis; + if (DEFAULT) { + methods = { + values: DEF_VALUES ? $default : getMethod(VALUES), + keys: IS_SET ? $default : getMethod(KEYS), + entries: $entries + }; + if (FORCED) for (key in methods) { + if (!(key in proto)) redefine(proto, key, methods[key]); + } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods); + } + return methods; +}; + +},{"100":100,"128":128,"40":40,"48":48,"60":60,"64":64,"65":65,"81":81,"94":94}],62:[function(_dereq_,module,exports){ +var ITERATOR = _dereq_(128)('iterator'); +var SAFE_CLOSING = false; + +try { + var riter = [7][ITERATOR](); + riter['return'] = function () { SAFE_CLOSING = true; }; + // eslint-disable-next-line no-throw-literal + Array.from(riter, function () { throw 2; }); +} catch (e) { /* empty */ } + +module.exports = function (exec, skipClosing) { + if (!skipClosing && !SAFE_CLOSING) return false; + var safe = false; + try { + var arr = [7]; + var iter = arr[ITERATOR](); + iter.next = function () { return { done: safe = true }; }; + arr[ITERATOR] = function () { return iter; }; + exec(arr); + } catch (e) { /* empty */ } + return safe; +}; + +},{"128":128}],63:[function(_dereq_,module,exports){ +module.exports = function (done, value) { + return { value: value, done: !!done }; +}; + +},{}],64:[function(_dereq_,module,exports){ +module.exports = {}; + +},{}],65:[function(_dereq_,module,exports){ +module.exports = false; + +},{}],66:[function(_dereq_,module,exports){ +// 20.2.2.14 Math.expm1(x) +var $expm1 = Math.expm1; +module.exports = (!$expm1 + // Old FF bug + || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168 + // Tor Browser bug + || $expm1(-2e-17) != -2e-17 +) ? function expm1(x) { + return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1; +} : $expm1; + +},{}],67:[function(_dereq_,module,exports){ +// 20.2.2.16 Math.fround(x) +var sign = _dereq_(69); +var pow = Math.pow; +var EPSILON = pow(2, -52); +var EPSILON32 = pow(2, -23); +var MAX32 = pow(2, 127) * (2 - EPSILON32); +var MIN32 = pow(2, -126); + +var roundTiesToEven = function (n) { + return n + 1 / EPSILON - 1 / EPSILON; +}; + +module.exports = Math.fround || function fround(x) { + var $abs = Math.abs(x); + var $sign = sign(x); + var a, result; + if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32; + a = (1 + EPSILON32 / EPSILON) * $abs; + result = a - (a - $abs); + // eslint-disable-next-line no-self-compare + if (result > MAX32 || result != result) return $sign * Infinity; + return $sign * result; +}; + +},{"69":69}],68:[function(_dereq_,module,exports){ +// 20.2.2.20 Math.log1p(x) +module.exports = Math.log1p || function log1p(x) { + return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x); +}; + +},{}],69:[function(_dereq_,module,exports){ +// 20.2.2.28 Math.sign(x) +module.exports = Math.sign || function sign(x) { + // eslint-disable-next-line no-self-compare + return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1; +}; + +},{}],70:[function(_dereq_,module,exports){ +var META = _dereq_(123)('meta'); +var isObject = _dereq_(57); +var has = _dereq_(47); +var setDesc = _dereq_(75).f; +var id = 0; +var isExtensible = Object.isExtensible || function () { + return true; +}; +var FREEZE = !_dereq_(42)(function () { + return isExtensible(Object.preventExtensions({})); +}); +var setMeta = function (it) { + setDesc(it, META, { value: { + i: 'O' + ++id, // object ID + w: {} // weak collections IDs + } }); +}; +var fastKey = function (it, create) { + // return primitive with prefix + if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it; + if (!has(it, META)) { + // can't set metadata to uncaught frozen object + if (!isExtensible(it)) return 'F'; + // not necessary to add metadata + if (!create) return 'E'; + // add missing metadata + setMeta(it); + // return object ID + } return it[META].i; +}; +var getWeak = function (it, create) { + if (!has(it, META)) { + // can't set metadata to uncaught frozen object + if (!isExtensible(it)) return true; + // not necessary to add metadata + if (!create) return false; + // add missing metadata + setMeta(it); + // return hash weak collections IDs + } return it[META].w; +}; +// add metadata on freeze-family methods calling +var onFreeze = function (it) { + if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it); + return it; +}; +var meta = module.exports = { + KEY: META, + NEED: false, + fastKey: fastKey, + getWeak: getWeak, + onFreeze: onFreeze +}; + +},{"123":123,"42":42,"47":47,"57":57,"75":75}],71:[function(_dereq_,module,exports){ +var global = _dereq_(46); +var macrotask = _dereq_(112).set; +var Observer = global.MutationObserver || global.WebKitMutationObserver; +var process = global.process; +var Promise = global.Promise; +var isNode = _dereq_(26)(process) == 'process'; + +module.exports = function () { + var head, last, notify; + + var flush = function () { + var parent, fn; + if (isNode && (parent = process.domain)) parent.exit(); + while (head) { + fn = head.fn; + head = head.next; + try { + fn(); + } catch (e) { + if (head) notify(); + else last = undefined; + throw e; + } + } last = undefined; + if (parent) parent.enter(); + }; + + // Node.js + if (isNode) { + notify = function () { + process.nextTick(flush); + }; + // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339 + } else if (Observer && !(global.navigator && global.navigator.standalone)) { + var toggle = true; + var node = document.createTextNode(''); + new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new + notify = function () { + node.data = toggle = !toggle; + }; + // environments with maybe non-completely correct, but existent Promise + } else if (Promise && Promise.resolve) { + // Promise.resolve without an argument throws an error in LG WebOS 2 + var promise = Promise.resolve(undefined); + notify = function () { + promise.then(flush); + }; + // for other environments - macrotask based on: + // - setImmediate + // - MessageChannel + // - window.postMessag + // - onreadystatechange + // - setTimeout + } else { + notify = function () { + // strange IE + webpack dev server bug - use .call(global) + macrotask.call(global, flush); + }; + } + + return function (fn) { + var task = { fn: fn, next: undefined }; + if (last) last.next = task; + if (!head) { + head = task; + notify(); + } last = task; + }; +}; + +},{"112":112,"26":26,"46":46}],72:[function(_dereq_,module,exports){ +'use strict'; +// 25.4.1.5 NewPromiseCapability(C) +var aFunction = _dereq_(11); + +function PromiseCapability(C) { + var resolve, reject; + this.promise = new C(function ($$resolve, $$reject) { + if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor'); + resolve = $$resolve; + reject = $$reject; + }); + this.resolve = aFunction(resolve); + this.reject = aFunction(reject); +} + +module.exports.f = function (C) { + return new PromiseCapability(C); +}; + +},{"11":11}],73:[function(_dereq_,module,exports){ +'use strict'; +// 19.1.2.1 Object.assign(target, source, ...) +var getKeys = _dereq_(83); +var gOPS = _dereq_(80); +var pIE = _dereq_(84); +var toObject = _dereq_(118); +var IObject = _dereq_(53); +var $assign = Object.assign; + +// should work with symbols and should have deterministic property order (V8 bug) +module.exports = !$assign || _dereq_(42)(function () { + var A = {}; + var B = {}; + // eslint-disable-next-line no-undef + var S = Symbol(); + var K = 'abcdefghijklmnopqrst'; + A[S] = 7; + K.split('').forEach(function (k) { B[k] = k; }); + return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K; +}) ? function assign(target, source) { // eslint-disable-line no-unused-vars + var T = toObject(target); + var aLen = arguments.length; + var index = 1; + var getSymbols = gOPS.f; + var isEnum = pIE.f; + while (aLen > index) { + var S = IObject(arguments[index++]); + var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S); + var length = keys.length; + var j = 0; + var key; + while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key]; + } return T; +} : $assign; + +},{"118":118,"42":42,"53":53,"80":80,"83":83,"84":84}],74:[function(_dereq_,module,exports){ +// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) +var anObject = _dereq_(16); +var dPs = _dereq_(76); +var enumBugKeys = _dereq_(38); +var IE_PROTO = _dereq_(101)('IE_PROTO'); +var Empty = function () { /* empty */ }; +var PROTOTYPE = 'prototype'; + +// Create object with fake `null` prototype: use iframe Object with cleared prototype +var createDict = function () { + // Thrash, waste and sodomy: IE GC bug + var iframe = _dereq_(37)('iframe'); + var i = enumBugKeys.length; + var lt = '<'; + var gt = '>'; + var iframeDocument; + iframe.style.display = 'none'; + _dereq_(49).appendChild(iframe); + iframe.src = 'javascript:'; // eslint-disable-line no-script-url + // createDict = iframe.contentWindow.Object; + // html.removeChild(iframe); + iframeDocument = iframe.contentWindow.document; + iframeDocument.open(); + iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt); + iframeDocument.close(); + createDict = iframeDocument.F; + while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]]; + return createDict(); +}; + +module.exports = Object.create || function create(O, Properties) { + var result; + if (O !== null) { + Empty[PROTOTYPE] = anObject(O); + result = new Empty(); + Empty[PROTOTYPE] = null; + // add "__proto__" for Object.getPrototypeOf polyfill + result[IE_PROTO] = O; + } else result = createDict(); + return Properties === undefined ? result : dPs(result, Properties); +}; + +},{"101":101,"16":16,"37":37,"38":38,"49":49,"76":76}],75:[function(_dereq_,module,exports){ +var anObject = _dereq_(16); +var IE8_DOM_DEFINE = _dereq_(50); +var toPrimitive = _dereq_(119); +var dP = Object.defineProperty; + +exports.f = _dereq_(36) ? Object.defineProperty : function defineProperty(O, P, Attributes) { + anObject(O); + P = toPrimitive(P, true); + anObject(Attributes); + if (IE8_DOM_DEFINE) try { + return dP(O, P, Attributes); + } catch (e) { /* empty */ } + if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported!'); + if ('value' in Attributes) O[P] = Attributes.value; + return O; +}; + +},{"119":119,"16":16,"36":36,"50":50}],76:[function(_dereq_,module,exports){ +var dP = _dereq_(75); +var anObject = _dereq_(16); +var getKeys = _dereq_(83); + +module.exports = _dereq_(36) ? Object.defineProperties : function defineProperties(O, Properties) { + anObject(O); + var keys = getKeys(Properties); + var length = keys.length; + var i = 0; + var P; + while (length > i) dP.f(O, P = keys[i++], Properties[P]); + return O; +}; + +},{"16":16,"36":36,"75":75,"83":83}],77:[function(_dereq_,module,exports){ +var pIE = _dereq_(84); +var createDesc = _dereq_(92); +var toIObject = _dereq_(116); +var toPrimitive = _dereq_(119); +var has = _dereq_(47); +var IE8_DOM_DEFINE = _dereq_(50); +var gOPD = Object.getOwnPropertyDescriptor; + +exports.f = _dereq_(36) ? gOPD : function getOwnPropertyDescriptor(O, P) { + O = toIObject(O); + P = toPrimitive(P, true); + if (IE8_DOM_DEFINE) try { + return gOPD(O, P); + } catch (e) { /* empty */ } + if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]); +}; + +},{"116":116,"119":119,"36":36,"47":47,"50":50,"84":84,"92":92}],78:[function(_dereq_,module,exports){ +// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window +var toIObject = _dereq_(116); +var gOPN = _dereq_(79).f; +var toString = {}.toString; + +var windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames + ? Object.getOwnPropertyNames(window) : []; + +var getWindowNames = function (it) { + try { + return gOPN(it); + } catch (e) { + return windowNames.slice(); + } +}; + +module.exports.f = function getOwnPropertyNames(it) { + return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it)); +}; + +},{"116":116,"79":79}],79:[function(_dereq_,module,exports){ +// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O) +var $keys = _dereq_(82); +var hiddenKeys = _dereq_(38).concat('length', 'prototype'); + +exports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) { + return $keys(O, hiddenKeys); +}; + +},{"38":38,"82":82}],80:[function(_dereq_,module,exports){ +exports.f = Object.getOwnPropertySymbols; + +},{}],81:[function(_dereq_,module,exports){ +// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O) +var has = _dereq_(47); +var toObject = _dereq_(118); +var IE_PROTO = _dereq_(101)('IE_PROTO'); +var ObjectProto = Object.prototype; + +module.exports = Object.getPrototypeOf || function (O) { + O = toObject(O); + if (has(O, IE_PROTO)) return O[IE_PROTO]; + if (typeof O.constructor == 'function' && O instanceof O.constructor) { + return O.constructor.prototype; + } return O instanceof Object ? ObjectProto : null; +}; + +},{"101":101,"118":118,"47":47}],82:[function(_dereq_,module,exports){ +var has = _dereq_(47); +var toIObject = _dereq_(116); +var arrayIndexOf = _dereq_(19)(false); +var IE_PROTO = _dereq_(101)('IE_PROTO'); + +module.exports = function (object, names) { + var O = toIObject(object); + var i = 0; + var result = []; + var key; + for (key in O) if (key != IE_PROTO) has(O, key) && result.push(key); + // Don't enum bug & hidden keys + while (names.length > i) if (has(O, key = names[i++])) { + ~arrayIndexOf(result, key) || result.push(key); + } + return result; +}; + +},{"101":101,"116":116,"19":19,"47":47}],83:[function(_dereq_,module,exports){ +// 19.1.2.14 / 15.2.3.14 Object.keys(O) +var $keys = _dereq_(82); +var enumBugKeys = _dereq_(38); + +module.exports = Object.keys || function keys(O) { + return $keys(O, enumBugKeys); +}; + +},{"38":38,"82":82}],84:[function(_dereq_,module,exports){ +exports.f = {}.propertyIsEnumerable; + +},{}],85:[function(_dereq_,module,exports){ +// most Object methods by ES6 should accept primitives +var $export = _dereq_(40); +var core = _dereq_(30); +var fails = _dereq_(42); +module.exports = function (KEY, exec) { + var fn = (core.Object || {})[KEY] || Object[KEY]; + var exp = {}; + exp[KEY] = exec(fn); + $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp); +}; + +},{"30":30,"40":40,"42":42}],86:[function(_dereq_,module,exports){ +var getKeys = _dereq_(83); +var toIObject = _dereq_(116); +var isEnum = _dereq_(84).f; +module.exports = function (isEntries) { + return function (it) { + var O = toIObject(it); + var keys = getKeys(O); + var length = keys.length; + var i = 0; + var result = []; + var key; + while (length > i) if (isEnum.call(O, key = keys[i++])) { + result.push(isEntries ? [key, O[key]] : O[key]); + } return result; + }; +}; + +},{"116":116,"83":83,"84":84}],87:[function(_dereq_,module,exports){ +// all object keys, includes non-enumerable and symbols +var gOPN = _dereq_(79); +var gOPS = _dereq_(80); +var anObject = _dereq_(16); +var Reflect = _dereq_(46).Reflect; +module.exports = Reflect && Reflect.ownKeys || function ownKeys(it) { + var keys = gOPN.f(anObject(it)); + var getSymbols = gOPS.f; + return getSymbols ? keys.concat(getSymbols(it)) : keys; +}; + +},{"16":16,"46":46,"79":79,"80":80}],88:[function(_dereq_,module,exports){ +var $parseFloat = _dereq_(46).parseFloat; +var $trim = _dereq_(110).trim; + +module.exports = 1 / $parseFloat(_dereq_(111) + '-0') !== -Infinity ? function parseFloat(str) { + var string = $trim(String(str), 3); + var result = $parseFloat(string); + return result === 0 && string.charAt(0) == '-' ? -0 : result; +} : $parseFloat; + +},{"110":110,"111":111,"46":46}],89:[function(_dereq_,module,exports){ +var $parseInt = _dereq_(46).parseInt; +var $trim = _dereq_(110).trim; +var ws = _dereq_(111); +var hex = /^[-+]?0[xX]/; + +module.exports = $parseInt(ws + '08') !== 8 || $parseInt(ws + '0x16') !== 22 ? function parseInt(str, radix) { + var string = $trim(String(str), 3); + return $parseInt(string, (radix >>> 0) || (hex.test(string) ? 16 : 10)); +} : $parseInt; + +},{"110":110,"111":111,"46":46}],90:[function(_dereq_,module,exports){ +module.exports = function (exec) { + try { + return { e: false, v: exec() }; + } catch (e) { + return { e: true, v: e }; + } +}; + +},{}],91:[function(_dereq_,module,exports){ +var anObject = _dereq_(16); +var isObject = _dereq_(57); +var newPromiseCapability = _dereq_(72); + +module.exports = function (C, x) { + anObject(C); + if (isObject(x) && x.constructor === C) return x; + var promiseCapability = newPromiseCapability.f(C); + var resolve = promiseCapability.resolve; + resolve(x); + return promiseCapability.promise; +}; + +},{"16":16,"57":57,"72":72}],92:[function(_dereq_,module,exports){ +module.exports = function (bitmap, value) { + return { + enumerable: !(bitmap & 1), + configurable: !(bitmap & 2), + writable: !(bitmap & 4), + value: value + }; +}; + +},{}],93:[function(_dereq_,module,exports){ +var redefine = _dereq_(94); +module.exports = function (target, src, safe) { + for (var key in src) redefine(target, key, src[key], safe); + return target; +}; + +},{"94":94}],94:[function(_dereq_,module,exports){ +var global = _dereq_(46); +var hide = _dereq_(48); +var has = _dereq_(47); +var SRC = _dereq_(123)('src'); +var TO_STRING = 'toString'; +var $toString = Function[TO_STRING]; +var TPL = ('' + $toString).split(TO_STRING); + +_dereq_(30).inspectSource = function (it) { + return $toString.call(it); +}; + +(module.exports = function (O, key, val, safe) { + var isFunction = typeof val == 'function'; + if (isFunction) has(val, 'name') || hide(val, 'name', key); + if (O[key] === val) return; + if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key))); + if (O === global) { + O[key] = val; + } else if (!safe) { + delete O[key]; + hide(O, key, val); + } else if (O[key]) { + O[key] = val; + } else { + hide(O, key, val); + } +// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative +})(Function.prototype, TO_STRING, function toString() { + return typeof this == 'function' && this[SRC] || $toString.call(this); +}); + +},{"123":123,"30":30,"46":46,"47":47,"48":48}],95:[function(_dereq_,module,exports){ +'use strict'; + +var classof = _dereq_(25); +var builtinExec = RegExp.prototype.exec; + + // `RegExpExec` abstract operation +// https://tc39.github.io/ecma262/#sec-regexpexec +module.exports = function (R, S) { + var exec = R.exec; + if (typeof exec === 'function') { + var result = exec.call(R, S); + if (typeof result !== 'object') { + throw new TypeError('RegExp exec method returned something other than an Object or null'); + } + return result; + } + if (classof(R) !== 'RegExp') { + throw new TypeError('RegExp#exec called on incompatible receiver'); + } + return builtinExec.call(R, S); +}; + +},{"25":25}],96:[function(_dereq_,module,exports){ +'use strict'; + +var regexpFlags = _dereq_(44); + +var nativeExec = RegExp.prototype.exec; +// This always refers to the native implementation, because the +// String#replace polyfill uses ./fix-regexp-well-known-symbol-logic.js, +// which loads this file before patching the method. +var nativeReplace = String.prototype.replace; + +var patchedExec = nativeExec; + +var LAST_INDEX = 'lastIndex'; + +var UPDATES_LAST_INDEX_WRONG = (function () { + var re1 = /a/, + re2 = /b*/g; + nativeExec.call(re1, 'a'); + nativeExec.call(re2, 'a'); + return re1[LAST_INDEX] !== 0 || re2[LAST_INDEX] !== 0; +})(); + +// nonparticipating capturing group, copied from es5-shim's String#split patch. +var NPCG_INCLUDED = /()??/.exec('')[1] !== undefined; + +var PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED; + +if (PATCH) { + patchedExec = function exec(str) { + var re = this; + var lastIndex, reCopy, match, i; + + if (NPCG_INCLUDED) { + reCopy = new RegExp('^' + re.source + '$(?!\\s)', regexpFlags.call(re)); + } + if (UPDATES_LAST_INDEX_WRONG) lastIndex = re[LAST_INDEX]; + + match = nativeExec.call(re, str); + + if (UPDATES_LAST_INDEX_WRONG && match) { + re[LAST_INDEX] = re.global ? match.index + match[0].length : lastIndex; + } + if (NPCG_INCLUDED && match && match.length > 1) { + // Fix browsers whose `exec` methods don't consistently return `undefined` + // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/ + // eslint-disable-next-line no-loop-func + nativeReplace.call(match[0], reCopy, function () { + for (i = 1; i < arguments.length - 2; i++) { + if (arguments[i] === undefined) match[i] = undefined; + } + }); + } + + return match; + }; +} + +module.exports = patchedExec; + +},{"44":44}],97:[function(_dereq_,module,exports){ +// 7.2.9 SameValue(x, y) +module.exports = Object.is || function is(x, y) { + // eslint-disable-next-line no-self-compare + return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y; +}; + +},{}],98:[function(_dereq_,module,exports){ +// Works with __proto__ only. Old v8 can't work with null proto objects. +/* eslint-disable no-proto */ +var isObject = _dereq_(57); +var anObject = _dereq_(16); +var check = function (O, proto) { + anObject(O); + if (!isObject(proto) && proto !== null) throw TypeError(proto + ": can't set as prototype!"); +}; +module.exports = { + set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line + function (test, buggy, set) { + try { + set = _dereq_(32)(Function.call, _dereq_(77).f(Object.prototype, '__proto__').set, 2); + set(test, []); + buggy = !(test instanceof Array); + } catch (e) { buggy = true; } + return function setPrototypeOf(O, proto) { + check(O, proto); + if (buggy) O.__proto__ = proto; + else set(O, proto); + return O; + }; + }({}, false) : undefined), + check: check +}; + +},{"16":16,"32":32,"57":57,"77":77}],99:[function(_dereq_,module,exports){ +'use strict'; +var global = _dereq_(46); +var dP = _dereq_(75); +var DESCRIPTORS = _dereq_(36); +var SPECIES = _dereq_(128)('species'); + +module.exports = function (KEY) { + var C = global[KEY]; + if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, { + configurable: true, + get: function () { return this; } + }); +}; + +},{"128":128,"36":36,"46":46,"75":75}],100:[function(_dereq_,module,exports){ +var def = _dereq_(75).f; +var has = _dereq_(47); +var TAG = _dereq_(128)('toStringTag'); + +module.exports = function (it, tag, stat) { + if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag }); +}; + +},{"128":128,"47":47,"75":75}],101:[function(_dereq_,module,exports){ +var shared = _dereq_(102)('keys'); +var uid = _dereq_(123); +module.exports = function (key) { + return shared[key] || (shared[key] = uid(key)); +}; + +},{"102":102,"123":123}],102:[function(_dereq_,module,exports){ +var core = _dereq_(30); +var global = _dereq_(46); +var SHARED = '__core-js_shared__'; +var store = global[SHARED] || (global[SHARED] = {}); + +(module.exports = function (key, value) { + return store[key] || (store[key] = value !== undefined ? value : {}); +})('versions', []).push({ + version: core.version, + mode: _dereq_(65) ? 'pure' : 'global', + copyright: '© 2018 Denis Pushkarev (zloirock.ru)' +}); + +},{"30":30,"46":46,"65":65}],103:[function(_dereq_,module,exports){ +// 7.3.20 SpeciesConstructor(O, defaultConstructor) +var anObject = _dereq_(16); +var aFunction = _dereq_(11); +var SPECIES = _dereq_(128)('species'); +module.exports = function (O, D) { + var C = anObject(O).constructor; + var S; + return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S); +}; + +},{"11":11,"128":128,"16":16}],104:[function(_dereq_,module,exports){ +'use strict'; +var fails = _dereq_(42); + +module.exports = function (method, arg) { + return !!method && fails(function () { + // eslint-disable-next-line no-useless-call + arg ? method.call(null, function () { /* empty */ }, 1) : method.call(null); + }); +}; + +},{"42":42}],105:[function(_dereq_,module,exports){ +var toInteger = _dereq_(115); +var defined = _dereq_(35); +// true -> String#at +// false -> String#codePointAt +module.exports = function (TO_STRING) { + return function (that, pos) { + var s = String(defined(that)); + var i = toInteger(pos); + var l = s.length; + var a, b; + if (i < 0 || i >= l) return TO_STRING ? '' : undefined; + a = s.charCodeAt(i); + return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff + ? TO_STRING ? s.charAt(i) : a + : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000; + }; +}; + +},{"115":115,"35":35}],106:[function(_dereq_,module,exports){ +// helper for String#{startsWith, endsWith, includes} +var isRegExp = _dereq_(58); +var defined = _dereq_(35); + +module.exports = function (that, searchString, NAME) { + if (isRegExp(searchString)) throw TypeError('String#' + NAME + " doesn't accept regex!"); + return String(defined(that)); +}; + +},{"35":35,"58":58}],107:[function(_dereq_,module,exports){ +var $export = _dereq_(40); +var fails = _dereq_(42); +var defined = _dereq_(35); +var quot = /"/g; +// B.2.3.2.1 CreateHTML(string, tag, attribute, value) +var createHTML = function (string, tag, attribute, value) { + var S = String(defined(string)); + var p1 = '<' + tag; + if (attribute !== '') p1 += ' ' + attribute + '="' + String(value).replace(quot, '"') + '"'; + return p1 + '>' + S + ''; +}; +module.exports = function (NAME, exec) { + var O = {}; + O[NAME] = exec(createHTML); + $export($export.P + $export.F * fails(function () { + var test = ''[NAME]('"'); + return test !== test.toLowerCase() || test.split('"').length > 3; + }), 'String', O); +}; + +},{"35":35,"40":40,"42":42}],108:[function(_dereq_,module,exports){ +// https://github.com/tc39/proposal-string-pad-start-end +var toLength = _dereq_(117); +var repeat = _dereq_(109); +var defined = _dereq_(35); + +module.exports = function (that, maxLength, fillString, left) { + var S = String(defined(that)); + var stringLength = S.length; + var fillStr = fillString === undefined ? ' ' : String(fillString); + var intMaxLength = toLength(maxLength); + if (intMaxLength <= stringLength || fillStr == '') return S; + var fillLen = intMaxLength - stringLength; + var stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length)); + if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen); + return left ? stringFiller + S : S + stringFiller; +}; + +},{"109":109,"117":117,"35":35}],109:[function(_dereq_,module,exports){ +'use strict'; +var toInteger = _dereq_(115); +var defined = _dereq_(35); + +module.exports = function repeat(count) { + var str = String(defined(this)); + var res = ''; + var n = toInteger(count); + if (n < 0 || n == Infinity) throw RangeError("Count can't be negative"); + for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) res += str; + return res; +}; + +},{"115":115,"35":35}],110:[function(_dereq_,module,exports){ +var $export = _dereq_(40); +var defined = _dereq_(35); +var fails = _dereq_(42); +var spaces = _dereq_(111); +var space = '[' + spaces + ']'; +var non = '\u200b\u0085'; +var ltrim = RegExp('^' + space + space + '*'); +var rtrim = RegExp(space + space + '*$'); + +var exporter = function (KEY, exec, ALIAS) { + var exp = {}; + var FORCE = fails(function () { + return !!spaces[KEY]() || non[KEY]() != non; + }); + var fn = exp[KEY] = FORCE ? exec(trim) : spaces[KEY]; + if (ALIAS) exp[ALIAS] = fn; + $export($export.P + $export.F * FORCE, 'String', exp); +}; + +// 1 -> String#trimLeft +// 2 -> String#trimRight +// 3 -> String#trim +var trim = exporter.trim = function (string, TYPE) { + string = String(defined(string)); + if (TYPE & 1) string = string.replace(ltrim, ''); + if (TYPE & 2) string = string.replace(rtrim, ''); + return string; +}; + +module.exports = exporter; + +},{"111":111,"35":35,"40":40,"42":42}],111:[function(_dereq_,module,exports){ +module.exports = '\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003' + + '\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF'; + +},{}],112:[function(_dereq_,module,exports){ +var ctx = _dereq_(32); +var invoke = _dereq_(52); +var html = _dereq_(49); +var cel = _dereq_(37); +var global = _dereq_(46); +var process = global.process; +var setTask = global.setImmediate; +var clearTask = global.clearImmediate; +var MessageChannel = global.MessageChannel; +var Dispatch = global.Dispatch; +var counter = 0; +var queue = {}; +var ONREADYSTATECHANGE = 'onreadystatechange'; +var defer, channel, port; +var run = function () { + var id = +this; + // eslint-disable-next-line no-prototype-builtins + if (queue.hasOwnProperty(id)) { + var fn = queue[id]; + delete queue[id]; + fn(); + } +}; +var listener = function (event) { + run.call(event.data); +}; +// Node.js 0.9+ & IE10+ has setImmediate, otherwise: +if (!setTask || !clearTask) { + setTask = function setImmediate(fn) { + var args = []; + var i = 1; + while (arguments.length > i) args.push(arguments[i++]); + queue[++counter] = function () { + // eslint-disable-next-line no-new-func + invoke(typeof fn == 'function' ? fn : Function(fn), args); + }; + defer(counter); + return counter; + }; + clearTask = function clearImmediate(id) { + delete queue[id]; + }; + // Node.js 0.8- + if (_dereq_(26)(process) == 'process') { + defer = function (id) { + process.nextTick(ctx(run, id, 1)); + }; + // Sphere (JS game engine) Dispatch API + } else if (Dispatch && Dispatch.now) { + defer = function (id) { + Dispatch.now(ctx(run, id, 1)); + }; + // Browsers with MessageChannel, includes WebWorkers + } else if (MessageChannel) { + channel = new MessageChannel(); + port = channel.port2; + channel.port1.onmessage = listener; + defer = ctx(port.postMessage, port, 1); + // Browsers with postMessage, skip WebWorkers + // IE8 has postMessage, but it's sync & typeof its postMessage is 'object' + } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) { + defer = function (id) { + global.postMessage(id + '', '*'); + }; + global.addEventListener('message', listener, false); + // IE8- + } else if (ONREADYSTATECHANGE in cel('script')) { + defer = function (id) { + html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () { + html.removeChild(this); + run.call(id); + }; + }; + // Rest old browsers + } else { + defer = function (id) { + setTimeout(ctx(run, id, 1), 0); + }; + } +} +module.exports = { + set: setTask, + clear: clearTask +}; + +},{"26":26,"32":32,"37":37,"46":46,"49":49,"52":52}],113:[function(_dereq_,module,exports){ +var toInteger = _dereq_(115); +var max = Math.max; +var min = Math.min; +module.exports = function (index, length) { + index = toInteger(index); + return index < 0 ? max(index + length, 0) : min(index, length); +}; + +},{"115":115}],114:[function(_dereq_,module,exports){ +// https://tc39.github.io/ecma262/#sec-toindex +var toInteger = _dereq_(115); +var toLength = _dereq_(117); +module.exports = function (it) { + if (it === undefined) return 0; + var number = toInteger(it); + var length = toLength(number); + if (number !== length) throw RangeError('Wrong length!'); + return length; +}; + +},{"115":115,"117":117}],115:[function(_dereq_,module,exports){ +// 7.1.4 ToInteger +var ceil = Math.ceil; +var floor = Math.floor; +module.exports = function (it) { + return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it); +}; + +},{}],116:[function(_dereq_,module,exports){ +// to indexed object, toObject with fallback for non-array-like ES3 strings +var IObject = _dereq_(53); +var defined = _dereq_(35); +module.exports = function (it) { + return IObject(defined(it)); +}; + +},{"35":35,"53":53}],117:[function(_dereq_,module,exports){ +// 7.1.15 ToLength +var toInteger = _dereq_(115); +var min = Math.min; +module.exports = function (it) { + return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991 +}; + +},{"115":115}],118:[function(_dereq_,module,exports){ +// 7.1.13 ToObject(argument) +var defined = _dereq_(35); +module.exports = function (it) { + return Object(defined(it)); +}; + +},{"35":35}],119:[function(_dereq_,module,exports){ +// 7.1.1 ToPrimitive(input [, PreferredType]) +var isObject = _dereq_(57); +// instead of the ES6 spec version, we didn't implement @@toPrimitive case +// and the second argument - flag - preferred type is a string +module.exports = function (it, S) { + if (!isObject(it)) return it; + var fn, val; + if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; + if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val; + if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val; + throw TypeError("Can't convert object to primitive value"); +}; + +},{"57":57}],120:[function(_dereq_,module,exports){ +'use strict'; +if (_dereq_(36)) { + var LIBRARY = _dereq_(65); + var global = _dereq_(46); + var fails = _dereq_(42); + var $export = _dereq_(40); + var $typed = _dereq_(122); + var $buffer = _dereq_(121); + var ctx = _dereq_(32); + var anInstance = _dereq_(15); + var propertyDesc = _dereq_(92); + var hide = _dereq_(48); + var redefineAll = _dereq_(93); + var toInteger = _dereq_(115); + var toLength = _dereq_(117); + var toIndex = _dereq_(114); + var toAbsoluteIndex = _dereq_(113); + var toPrimitive = _dereq_(119); + var has = _dereq_(47); + var classof = _dereq_(25); + var isObject = _dereq_(57); + var toObject = _dereq_(118); + var isArrayIter = _dereq_(54); + var create = _dereq_(74); + var getPrototypeOf = _dereq_(81); + var gOPN = _dereq_(79).f; + var getIterFn = _dereq_(129); + var uid = _dereq_(123); + var wks = _dereq_(128); + var createArrayMethod = _dereq_(20); + var createArrayIncludes = _dereq_(19); + var speciesConstructor = _dereq_(103); + var ArrayIterators = _dereq_(140); + var Iterators = _dereq_(64); + var $iterDetect = _dereq_(62); + var setSpecies = _dereq_(99); + var arrayFill = _dereq_(18); + var arrayCopyWithin = _dereq_(17); + var $DP = _dereq_(75); + var $GOPD = _dereq_(77); + var dP = $DP.f; + var gOPD = $GOPD.f; + var RangeError = global.RangeError; + var TypeError = global.TypeError; + var Uint8Array = global.Uint8Array; + var ARRAY_BUFFER = 'ArrayBuffer'; + var SHARED_BUFFER = 'Shared' + ARRAY_BUFFER; + var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT'; + var PROTOTYPE = 'prototype'; + var ArrayProto = Array[PROTOTYPE]; + var $ArrayBuffer = $buffer.ArrayBuffer; + var $DataView = $buffer.DataView; + var arrayForEach = createArrayMethod(0); + var arrayFilter = createArrayMethod(2); + var arraySome = createArrayMethod(3); + var arrayEvery = createArrayMethod(4); + var arrayFind = createArrayMethod(5); + var arrayFindIndex = createArrayMethod(6); + var arrayIncludes = createArrayIncludes(true); + var arrayIndexOf = createArrayIncludes(false); + var arrayValues = ArrayIterators.values; + var arrayKeys = ArrayIterators.keys; + var arrayEntries = ArrayIterators.entries; + var arrayLastIndexOf = ArrayProto.lastIndexOf; + var arrayReduce = ArrayProto.reduce; + var arrayReduceRight = ArrayProto.reduceRight; + var arrayJoin = ArrayProto.join; + var arraySort = ArrayProto.sort; + var arraySlice = ArrayProto.slice; + var arrayToString = ArrayProto.toString; + var arrayToLocaleString = ArrayProto.toLocaleString; + var ITERATOR = wks('iterator'); + var TAG = wks('toStringTag'); + var TYPED_CONSTRUCTOR = uid('typed_constructor'); + var DEF_CONSTRUCTOR = uid('def_constructor'); + var ALL_CONSTRUCTORS = $typed.CONSTR; + var TYPED_ARRAY = $typed.TYPED; + var VIEW = $typed.VIEW; + var WRONG_LENGTH = 'Wrong length!'; + + var $map = createArrayMethod(1, function (O, length) { + return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length); + }); + + var LITTLE_ENDIAN = fails(function () { + // eslint-disable-next-line no-undef + return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1; + }); + + var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function () { + new Uint8Array(1).set({}); + }); + + var toOffset = function (it, BYTES) { + var offset = toInteger(it); + if (offset < 0 || offset % BYTES) throw RangeError('Wrong offset!'); + return offset; + }; + + var validate = function (it) { + if (isObject(it) && TYPED_ARRAY in it) return it; + throw TypeError(it + ' is not a typed array!'); + }; + + var allocate = function (C, length) { + if (!(isObject(C) && TYPED_CONSTRUCTOR in C)) { + throw TypeError('It is not a typed array constructor!'); + } return new C(length); + }; + + var speciesFromList = function (O, list) { + return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list); + }; + + var fromList = function (C, list) { + var index = 0; + var length = list.length; + var result = allocate(C, length); + while (length > index) result[index] = list[index++]; + return result; + }; + + var addGetter = function (it, key, internal) { + dP(it, key, { get: function () { return this._d[internal]; } }); + }; + + var $from = function from(source /* , mapfn, thisArg */) { + var O = toObject(source); + var aLen = arguments.length; + var mapfn = aLen > 1 ? arguments[1] : undefined; + var mapping = mapfn !== undefined; + var iterFn = getIterFn(O); + var i, length, values, result, step, iterator; + if (iterFn != undefined && !isArrayIter(iterFn)) { + for (iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++) { + values.push(step.value); + } O = values; + } + if (mapping && aLen > 2) mapfn = ctx(mapfn, arguments[2], 2); + for (i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++) { + result[i] = mapping ? mapfn(O[i], i) : O[i]; + } + return result; + }; + + var $of = function of(/* ...items */) { + var index = 0; + var length = arguments.length; + var result = allocate(this, length); + while (length > index) result[index] = arguments[index++]; + return result; + }; + + // iOS Safari 6.x fails here + var TO_LOCALE_BUG = !!Uint8Array && fails(function () { arrayToLocaleString.call(new Uint8Array(1)); }); + + var $toLocaleString = function toLocaleString() { + return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments); + }; + + var proto = { + copyWithin: function copyWithin(target, start /* , end */) { + return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined); + }, + every: function every(callbackfn /* , thisArg */) { + return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); + }, + fill: function fill(value /* , start, end */) { // eslint-disable-line no-unused-vars + return arrayFill.apply(validate(this), arguments); + }, + filter: function filter(callbackfn /* , thisArg */) { + return speciesFromList(this, arrayFilter(validate(this), callbackfn, + arguments.length > 1 ? arguments[1] : undefined)); + }, + find: function find(predicate /* , thisArg */) { + return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined); + }, + findIndex: function findIndex(predicate /* , thisArg */) { + return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined); + }, + forEach: function forEach(callbackfn /* , thisArg */) { + arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); + }, + indexOf: function indexOf(searchElement /* , fromIndex */) { + return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); + }, + includes: function includes(searchElement /* , fromIndex */) { + return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined); + }, + join: function join(separator) { // eslint-disable-line no-unused-vars + return arrayJoin.apply(validate(this), arguments); + }, + lastIndexOf: function lastIndexOf(searchElement /* , fromIndex */) { // eslint-disable-line no-unused-vars + return arrayLastIndexOf.apply(validate(this), arguments); + }, + map: function map(mapfn /* , thisArg */) { + return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined); + }, + reduce: function reduce(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars + return arrayReduce.apply(validate(this), arguments); + }, + reduceRight: function reduceRight(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars + return arrayReduceRight.apply(validate(this), arguments); + }, + reverse: function reverse() { + var that = this; + var length = validate(that).length; + var middle = Math.floor(length / 2); + var index = 0; + var value; + while (index < middle) { + value = that[index]; + that[index++] = that[--length]; + that[length] = value; + } return that; + }, + some: function some(callbackfn /* , thisArg */) { + return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined); + }, + sort: function sort(comparefn) { + return arraySort.call(validate(this), comparefn); + }, + subarray: function subarray(begin, end) { + var O = validate(this); + var length = O.length; + var $begin = toAbsoluteIndex(begin, length); + return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))( + O.buffer, + O.byteOffset + $begin * O.BYTES_PER_ELEMENT, + toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - $begin) + ); + } + }; + + var $slice = function slice(start, end) { + return speciesFromList(this, arraySlice.call(validate(this), start, end)); + }; + + var $set = function set(arrayLike /* , offset */) { + validate(this); + var offset = toOffset(arguments[1], 1); + var length = this.length; + var src = toObject(arrayLike); + var len = toLength(src.length); + var index = 0; + if (len + offset > length) throw RangeError(WRONG_LENGTH); + while (index < len) this[offset + index] = src[index++]; + }; + + var $iterators = { + entries: function entries() { + return arrayEntries.call(validate(this)); + }, + keys: function keys() { + return arrayKeys.call(validate(this)); + }, + values: function values() { + return arrayValues.call(validate(this)); + } + }; + + var isTAIndex = function (target, key) { + return isObject(target) + && target[TYPED_ARRAY] + && typeof key != 'symbol' + && key in target + && String(+key) == String(key); + }; + var $getDesc = function getOwnPropertyDescriptor(target, key) { + return isTAIndex(target, key = toPrimitive(key, true)) + ? propertyDesc(2, target[key]) + : gOPD(target, key); + }; + var $setDesc = function defineProperty(target, key, desc) { + if (isTAIndex(target, key = toPrimitive(key, true)) + && isObject(desc) + && has(desc, 'value') + && !has(desc, 'get') + && !has(desc, 'set') + // TODO: add validation descriptor w/o calling accessors + && !desc.configurable + && (!has(desc, 'writable') || desc.writable) + && (!has(desc, 'enumerable') || desc.enumerable) + ) { + target[key] = desc.value; + return target; + } return dP(target, key, desc); + }; + + if (!ALL_CONSTRUCTORS) { + $GOPD.f = $getDesc; + $DP.f = $setDesc; + } + + $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', { + getOwnPropertyDescriptor: $getDesc, + defineProperty: $setDesc + }); + + if (fails(function () { arrayToString.call({}); })) { + arrayToString = arrayToLocaleString = function toString() { + return arrayJoin.call(this); + }; + } + + var $TypedArrayPrototype$ = redefineAll({}, proto); + redefineAll($TypedArrayPrototype$, $iterators); + hide($TypedArrayPrototype$, ITERATOR, $iterators.values); + redefineAll($TypedArrayPrototype$, { + slice: $slice, + set: $set, + constructor: function () { /* noop */ }, + toString: arrayToString, + toLocaleString: $toLocaleString + }); + addGetter($TypedArrayPrototype$, 'buffer', 'b'); + addGetter($TypedArrayPrototype$, 'byteOffset', 'o'); + addGetter($TypedArrayPrototype$, 'byteLength', 'l'); + addGetter($TypedArrayPrototype$, 'length', 'e'); + dP($TypedArrayPrototype$, TAG, { + get: function () { return this[TYPED_ARRAY]; } + }); + + // eslint-disable-next-line max-statements + module.exports = function (KEY, BYTES, wrapper, CLAMPED) { + CLAMPED = !!CLAMPED; + var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array'; + var GETTER = 'get' + KEY; + var SETTER = 'set' + KEY; + var TypedArray = global[NAME]; + var Base = TypedArray || {}; + var TAC = TypedArray && getPrototypeOf(TypedArray); + var FORCED = !TypedArray || !$typed.ABV; + var O = {}; + var TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE]; + var getter = function (that, index) { + var data = that._d; + return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN); + }; + var setter = function (that, index, value) { + var data = that._d; + if (CLAMPED) value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff; + data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN); + }; + var addElement = function (that, index) { + dP(that, index, { + get: function () { + return getter(this, index); + }, + set: function (value) { + return setter(this, index, value); + }, + enumerable: true + }); + }; + if (FORCED) { + TypedArray = wrapper(function (that, data, $offset, $length) { + anInstance(that, TypedArray, NAME, '_d'); + var index = 0; + var offset = 0; + var buffer, byteLength, length, klass; + if (!isObject(data)) { + length = toIndex(data); + byteLength = length * BYTES; + buffer = new $ArrayBuffer(byteLength); + } else if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) { + buffer = data; + offset = toOffset($offset, BYTES); + var $len = data.byteLength; + if ($length === undefined) { + if ($len % BYTES) throw RangeError(WRONG_LENGTH); + byteLength = $len - offset; + if (byteLength < 0) throw RangeError(WRONG_LENGTH); + } else { + byteLength = toLength($length) * BYTES; + if (byteLength + offset > $len) throw RangeError(WRONG_LENGTH); + } + length = byteLength / BYTES; + } else if (TYPED_ARRAY in data) { + return fromList(TypedArray, data); + } else { + return $from.call(TypedArray, data); + } + hide(that, '_d', { + b: buffer, + o: offset, + l: byteLength, + e: length, + v: new $DataView(buffer) + }); + while (index < length) addElement(that, index++); + }); + TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$); + hide(TypedArrayPrototype, 'constructor', TypedArray); + } else if (!fails(function () { + TypedArray(1); + }) || !fails(function () { + new TypedArray(-1); // eslint-disable-line no-new + }) || !$iterDetect(function (iter) { + new TypedArray(); // eslint-disable-line no-new + new TypedArray(null); // eslint-disable-line no-new + new TypedArray(1.5); // eslint-disable-line no-new + new TypedArray(iter); // eslint-disable-line no-new + }, true)) { + TypedArray = wrapper(function (that, data, $offset, $length) { + anInstance(that, TypedArray, NAME); + var klass; + // `ws` module bug, temporarily remove validation length for Uint8Array + // https://github.com/websockets/ws/pull/645 + if (!isObject(data)) return new Base(toIndex(data)); + if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) { + return $length !== undefined + ? new Base(data, toOffset($offset, BYTES), $length) + : $offset !== undefined + ? new Base(data, toOffset($offset, BYTES)) + : new Base(data); + } + if (TYPED_ARRAY in data) return fromList(TypedArray, data); + return $from.call(TypedArray, data); + }); + arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function (key) { + if (!(key in TypedArray)) hide(TypedArray, key, Base[key]); + }); + TypedArray[PROTOTYPE] = TypedArrayPrototype; + if (!LIBRARY) TypedArrayPrototype.constructor = TypedArray; + } + var $nativeIterator = TypedArrayPrototype[ITERATOR]; + var CORRECT_ITER_NAME = !!$nativeIterator + && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined); + var $iterator = $iterators.values; + hide(TypedArray, TYPED_CONSTRUCTOR, true); + hide(TypedArrayPrototype, TYPED_ARRAY, NAME); + hide(TypedArrayPrototype, VIEW, true); + hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray); + + if (CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)) { + dP(TypedArrayPrototype, TAG, { + get: function () { return NAME; } + }); + } + + O[NAME] = TypedArray; + + $export($export.G + $export.W + $export.F * (TypedArray != Base), O); + + $export($export.S, NAME, { + BYTES_PER_ELEMENT: BYTES + }); + + $export($export.S + $export.F * fails(function () { Base.of.call(TypedArray, 1); }), NAME, { + from: $from, + of: $of + }); + + if (!(BYTES_PER_ELEMENT in TypedArrayPrototype)) hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES); + + $export($export.P, NAME, proto); + + setSpecies(NAME); + + $export($export.P + $export.F * FORCED_SET, NAME, { set: $set }); + + $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators); + + if (!LIBRARY && TypedArrayPrototype.toString != arrayToString) TypedArrayPrototype.toString = arrayToString; + + $export($export.P + $export.F * fails(function () { + new TypedArray(1).slice(); + }), NAME, { slice: $slice }); + + $export($export.P + $export.F * (fails(function () { + return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString(); + }) || !fails(function () { + TypedArrayPrototype.toLocaleString.call([1, 2]); + })), NAME, { toLocaleString: $toLocaleString }); + + Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator; + if (!LIBRARY && !CORRECT_ITER_NAME) hide(TypedArrayPrototype, ITERATOR, $iterator); + }; +} else module.exports = function () { /* empty */ }; + +},{"103":103,"113":113,"114":114,"115":115,"117":117,"118":118,"119":119,"121":121,"122":122,"123":123,"128":128,"129":129,"140":140,"15":15,"17":17,"18":18,"19":19,"20":20,"25":25,"32":32,"36":36,"40":40,"42":42,"46":46,"47":47,"48":48,"54":54,"57":57,"62":62,"64":64,"65":65,"74":74,"75":75,"77":77,"79":79,"81":81,"92":92,"93":93,"99":99}],121:[function(_dereq_,module,exports){ +'use strict'; +var global = _dereq_(46); +var DESCRIPTORS = _dereq_(36); +var LIBRARY = _dereq_(65); +var $typed = _dereq_(122); +var hide = _dereq_(48); +var redefineAll = _dereq_(93); +var fails = _dereq_(42); +var anInstance = _dereq_(15); +var toInteger = _dereq_(115); +var toLength = _dereq_(117); +var toIndex = _dereq_(114); +var gOPN = _dereq_(79).f; +var dP = _dereq_(75).f; +var arrayFill = _dereq_(18); +var setToStringTag = _dereq_(100); +var ARRAY_BUFFER = 'ArrayBuffer'; +var DATA_VIEW = 'DataView'; +var PROTOTYPE = 'prototype'; +var WRONG_LENGTH = 'Wrong length!'; +var WRONG_INDEX = 'Wrong index!'; +var $ArrayBuffer = global[ARRAY_BUFFER]; +var $DataView = global[DATA_VIEW]; +var Math = global.Math; +var RangeError = global.RangeError; +// eslint-disable-next-line no-shadow-restricted-names +var Infinity = global.Infinity; +var BaseBuffer = $ArrayBuffer; +var abs = Math.abs; +var pow = Math.pow; +var floor = Math.floor; +var log = Math.log; +var LN2 = Math.LN2; +var BUFFER = 'buffer'; +var BYTE_LENGTH = 'byteLength'; +var BYTE_OFFSET = 'byteOffset'; +var $BUFFER = DESCRIPTORS ? '_b' : BUFFER; +var $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH; +var $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET; + +// IEEE754 conversions based on https://github.com/feross/ieee754 +function packIEEE754(value, mLen, nBytes) { + var buffer = new Array(nBytes); + var eLen = nBytes * 8 - mLen - 1; + var eMax = (1 << eLen) - 1; + var eBias = eMax >> 1; + var rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0; + var i = 0; + var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0; + var e, m, c; + value = abs(value); + // eslint-disable-next-line no-self-compare + if (value != value || value === Infinity) { + // eslint-disable-next-line no-self-compare + m = value != value ? 1 : 0; + e = eMax; + } else { + e = floor(log(value) / LN2); + if (value * (c = pow(2, -e)) < 1) { + e--; + c *= 2; + } + if (e + eBias >= 1) { + value += rt / c; + } else { + value += rt * pow(2, 1 - eBias); + } + if (value * c >= 2) { + e++; + c /= 2; + } + if (e + eBias >= eMax) { + m = 0; + e = eMax; + } else if (e + eBias >= 1) { + m = (value * c - 1) * pow(2, mLen); + e = e + eBias; + } else { + m = value * pow(2, eBias - 1) * pow(2, mLen); + e = 0; + } + } + for (; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8); + e = e << mLen | m; + eLen += mLen; + for (; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8); + buffer[--i] |= s * 128; + return buffer; +} +function unpackIEEE754(buffer, mLen, nBytes) { + var eLen = nBytes * 8 - mLen - 1; + var eMax = (1 << eLen) - 1; + var eBias = eMax >> 1; + var nBits = eLen - 7; + var i = nBytes - 1; + var s = buffer[i--]; + var e = s & 127; + var m; + s >>= 7; + for (; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8); + m = e & (1 << -nBits) - 1; + e >>= -nBits; + nBits += mLen; + for (; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8); + if (e === 0) { + e = 1 - eBias; + } else if (e === eMax) { + return m ? NaN : s ? -Infinity : Infinity; + } else { + m = m + pow(2, mLen); + e = e - eBias; + } return (s ? -1 : 1) * m * pow(2, e - mLen); +} + +function unpackI32(bytes) { + return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0]; +} +function packI8(it) { + return [it & 0xff]; +} +function packI16(it) { + return [it & 0xff, it >> 8 & 0xff]; +} +function packI32(it) { + return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff]; +} +function packF64(it) { + return packIEEE754(it, 52, 8); +} +function packF32(it) { + return packIEEE754(it, 23, 4); +} + +function addGetter(C, key, internal) { + dP(C[PROTOTYPE], key, { get: function () { return this[internal]; } }); +} + +function get(view, bytes, index, isLittleEndian) { + var numIndex = +index; + var intIndex = toIndex(numIndex); + if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX); + var store = view[$BUFFER]._b; + var start = intIndex + view[$OFFSET]; + var pack = store.slice(start, start + bytes); + return isLittleEndian ? pack : pack.reverse(); +} +function set(view, bytes, index, conversion, value, isLittleEndian) { + var numIndex = +index; + var intIndex = toIndex(numIndex); + if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX); + var store = view[$BUFFER]._b; + var start = intIndex + view[$OFFSET]; + var pack = conversion(+value); + for (var i = 0; i < bytes; i++) store[start + i] = pack[isLittleEndian ? i : bytes - i - 1]; +} + +if (!$typed.ABV) { + $ArrayBuffer = function ArrayBuffer(length) { + anInstance(this, $ArrayBuffer, ARRAY_BUFFER); + var byteLength = toIndex(length); + this._b = arrayFill.call(new Array(byteLength), 0); + this[$LENGTH] = byteLength; + }; + + $DataView = function DataView(buffer, byteOffset, byteLength) { + anInstance(this, $DataView, DATA_VIEW); + anInstance(buffer, $ArrayBuffer, DATA_VIEW); + var bufferLength = buffer[$LENGTH]; + var offset = toInteger(byteOffset); + if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset!'); + byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength); + if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH); + this[$BUFFER] = buffer; + this[$OFFSET] = offset; + this[$LENGTH] = byteLength; + }; + + if (DESCRIPTORS) { + addGetter($ArrayBuffer, BYTE_LENGTH, '_l'); + addGetter($DataView, BUFFER, '_b'); + addGetter($DataView, BYTE_LENGTH, '_l'); + addGetter($DataView, BYTE_OFFSET, '_o'); + } + + redefineAll($DataView[PROTOTYPE], { + getInt8: function getInt8(byteOffset) { + return get(this, 1, byteOffset)[0] << 24 >> 24; + }, + getUint8: function getUint8(byteOffset) { + return get(this, 1, byteOffset)[0]; + }, + getInt16: function getInt16(byteOffset /* , littleEndian */) { + var bytes = get(this, 2, byteOffset, arguments[1]); + return (bytes[1] << 8 | bytes[0]) << 16 >> 16; + }, + getUint16: function getUint16(byteOffset /* , littleEndian */) { + var bytes = get(this, 2, byteOffset, arguments[1]); + return bytes[1] << 8 | bytes[0]; + }, + getInt32: function getInt32(byteOffset /* , littleEndian */) { + return unpackI32(get(this, 4, byteOffset, arguments[1])); + }, + getUint32: function getUint32(byteOffset /* , littleEndian */) { + return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0; + }, + getFloat32: function getFloat32(byteOffset /* , littleEndian */) { + return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4); + }, + getFloat64: function getFloat64(byteOffset /* , littleEndian */) { + return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8); + }, + setInt8: function setInt8(byteOffset, value) { + set(this, 1, byteOffset, packI8, value); + }, + setUint8: function setUint8(byteOffset, value) { + set(this, 1, byteOffset, packI8, value); + }, + setInt16: function setInt16(byteOffset, value /* , littleEndian */) { + set(this, 2, byteOffset, packI16, value, arguments[2]); + }, + setUint16: function setUint16(byteOffset, value /* , littleEndian */) { + set(this, 2, byteOffset, packI16, value, arguments[2]); + }, + setInt32: function setInt32(byteOffset, value /* , littleEndian */) { + set(this, 4, byteOffset, packI32, value, arguments[2]); + }, + setUint32: function setUint32(byteOffset, value /* , littleEndian */) { + set(this, 4, byteOffset, packI32, value, arguments[2]); + }, + setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) { + set(this, 4, byteOffset, packF32, value, arguments[2]); + }, + setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) { + set(this, 8, byteOffset, packF64, value, arguments[2]); + } + }); +} else { + if (!fails(function () { + $ArrayBuffer(1); + }) || !fails(function () { + new $ArrayBuffer(-1); // eslint-disable-line no-new + }) || fails(function () { + new $ArrayBuffer(); // eslint-disable-line no-new + new $ArrayBuffer(1.5); // eslint-disable-line no-new + new $ArrayBuffer(NaN); // eslint-disable-line no-new + return $ArrayBuffer.name != ARRAY_BUFFER; + })) { + $ArrayBuffer = function ArrayBuffer(length) { + anInstance(this, $ArrayBuffer); + return new BaseBuffer(toIndex(length)); + }; + var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE]; + for (var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j;) { + if (!((key = keys[j++]) in $ArrayBuffer)) hide($ArrayBuffer, key, BaseBuffer[key]); + } + if (!LIBRARY) ArrayBufferProto.constructor = $ArrayBuffer; + } + // iOS Safari 7.x bug + var view = new $DataView(new $ArrayBuffer(2)); + var $setInt8 = $DataView[PROTOTYPE].setInt8; + view.setInt8(0, 2147483648); + view.setInt8(1, 2147483649); + if (view.getInt8(0) || !view.getInt8(1)) redefineAll($DataView[PROTOTYPE], { + setInt8: function setInt8(byteOffset, value) { + $setInt8.call(this, byteOffset, value << 24 >> 24); + }, + setUint8: function setUint8(byteOffset, value) { + $setInt8.call(this, byteOffset, value << 24 >> 24); + } + }, true); +} +setToStringTag($ArrayBuffer, ARRAY_BUFFER); +setToStringTag($DataView, DATA_VIEW); +hide($DataView[PROTOTYPE], $typed.VIEW, true); +exports[ARRAY_BUFFER] = $ArrayBuffer; +exports[DATA_VIEW] = $DataView; + +},{"100":100,"114":114,"115":115,"117":117,"122":122,"15":15,"18":18,"36":36,"42":42,"46":46,"48":48,"65":65,"75":75,"79":79,"93":93}],122:[function(_dereq_,module,exports){ +var global = _dereq_(46); +var hide = _dereq_(48); +var uid = _dereq_(123); +var TYPED = uid('typed_array'); +var VIEW = uid('view'); +var ABV = !!(global.ArrayBuffer && global.DataView); +var CONSTR = ABV; +var i = 0; +var l = 9; +var Typed; + +var TypedArrayConstructors = ( + 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array' +).split(','); + +while (i < l) { + if (Typed = global[TypedArrayConstructors[i++]]) { + hide(Typed.prototype, TYPED, true); + hide(Typed.prototype, VIEW, true); + } else CONSTR = false; +} + +module.exports = { + ABV: ABV, + CONSTR: CONSTR, + TYPED: TYPED, + VIEW: VIEW +}; + +},{"123":123,"46":46,"48":48}],123:[function(_dereq_,module,exports){ +var id = 0; +var px = Math.random(); +module.exports = function (key) { + return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36)); +}; + +},{}],124:[function(_dereq_,module,exports){ +var global = _dereq_(46); +var navigator = global.navigator; + +module.exports = navigator && navigator.userAgent || ''; + +},{"46":46}],125:[function(_dereq_,module,exports){ +var isObject = _dereq_(57); +module.exports = function (it, TYPE) { + if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!'); + return it; +}; + +},{"57":57}],126:[function(_dereq_,module,exports){ +var global = _dereq_(46); +var core = _dereq_(30); +var LIBRARY = _dereq_(65); +var wksExt = _dereq_(127); +var defineProperty = _dereq_(75).f; +module.exports = function (name) { + var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {}); + if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) }); +}; + +},{"127":127,"30":30,"46":46,"65":65,"75":75}],127:[function(_dereq_,module,exports){ +exports.f = _dereq_(128); + +},{"128":128}],128:[function(_dereq_,module,exports){ +var store = _dereq_(102)('wks'); +var uid = _dereq_(123); +var Symbol = _dereq_(46).Symbol; +var USE_SYMBOL = typeof Symbol == 'function'; + +var $exports = module.exports = function (name) { + return store[name] || (store[name] = + USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name)); +}; + +$exports.store = store; + +},{"102":102,"123":123,"46":46}],129:[function(_dereq_,module,exports){ +var classof = _dereq_(25); +var ITERATOR = _dereq_(128)('iterator'); +var Iterators = _dereq_(64); +module.exports = _dereq_(30).getIteratorMethod = function (it) { + if (it != undefined) return it[ITERATOR] + || it['@@iterator'] + || Iterators[classof(it)]; +}; + +},{"128":128,"25":25,"30":30,"64":64}],130:[function(_dereq_,module,exports){ +// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length) +var $export = _dereq_(40); + +$export($export.P, 'Array', { copyWithin: _dereq_(17) }); + +_dereq_(13)('copyWithin'); + +},{"13":13,"17":17,"40":40}],131:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(40); +var $every = _dereq_(20)(4); + +$export($export.P + $export.F * !_dereq_(104)([].every, true), 'Array', { + // 22.1.3.5 / 15.4.4.16 Array.prototype.every(callbackfn [, thisArg]) + every: function every(callbackfn /* , thisArg */) { + return $every(this, callbackfn, arguments[1]); + } +}); + +},{"104":104,"20":20,"40":40}],132:[function(_dereq_,module,exports){ +// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length) +var $export = _dereq_(40); + +$export($export.P, 'Array', { fill: _dereq_(18) }); + +_dereq_(13)('fill'); + +},{"13":13,"18":18,"40":40}],133:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(40); +var $filter = _dereq_(20)(2); + +$export($export.P + $export.F * !_dereq_(104)([].filter, true), 'Array', { + // 22.1.3.7 / 15.4.4.20 Array.prototype.filter(callbackfn [, thisArg]) + filter: function filter(callbackfn /* , thisArg */) { + return $filter(this, callbackfn, arguments[1]); + } +}); + +},{"104":104,"20":20,"40":40}],134:[function(_dereq_,module,exports){ +'use strict'; +// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined) +var $export = _dereq_(40); +var $find = _dereq_(20)(6); +var KEY = 'findIndex'; +var forced = true; +// Shouldn't skip holes +if (KEY in []) Array(1)[KEY](function () { forced = false; }); +$export($export.P + $export.F * forced, 'Array', { + findIndex: function findIndex(callbackfn /* , that = undefined */) { + return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); +_dereq_(13)(KEY); + +},{"13":13,"20":20,"40":40}],135:[function(_dereq_,module,exports){ +'use strict'; +// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined) +var $export = _dereq_(40); +var $find = _dereq_(20)(5); +var KEY = 'find'; +var forced = true; +// Shouldn't skip holes +if (KEY in []) Array(1)[KEY](function () { forced = false; }); +$export($export.P + $export.F * forced, 'Array', { + find: function find(callbackfn /* , that = undefined */) { + return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined); + } +}); +_dereq_(13)(KEY); + +},{"13":13,"20":20,"40":40}],136:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(40); +var $forEach = _dereq_(20)(0); +var STRICT = _dereq_(104)([].forEach, true); + +$export($export.P + $export.F * !STRICT, 'Array', { + // 22.1.3.10 / 15.4.4.18 Array.prototype.forEach(callbackfn [, thisArg]) + forEach: function forEach(callbackfn /* , thisArg */) { + return $forEach(this, callbackfn, arguments[1]); + } +}); + +},{"104":104,"20":20,"40":40}],137:[function(_dereq_,module,exports){ +'use strict'; +var ctx = _dereq_(32); +var $export = _dereq_(40); +var toObject = _dereq_(118); +var call = _dereq_(59); +var isArrayIter = _dereq_(54); +var toLength = _dereq_(117); +var createProperty = _dereq_(31); +var getIterFn = _dereq_(129); + +$export($export.S + $export.F * !_dereq_(62)(function (iter) { Array.from(iter); }), 'Array', { + // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined) + from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) { + var O = toObject(arrayLike); + var C = typeof this == 'function' ? this : Array; + var aLen = arguments.length; + var mapfn = aLen > 1 ? arguments[1] : undefined; + var mapping = mapfn !== undefined; + var index = 0; + var iterFn = getIterFn(O); + var length, result, step, iterator; + if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2); + // if object isn't iterable or it's array with default iterator - use simple case + if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) { + for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) { + createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value); + } + } else { + length = toLength(O.length); + for (result = new C(length); length > index; index++) { + createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]); + } + } + result.length = index; + return result; + } +}); + +},{"117":117,"118":118,"129":129,"31":31,"32":32,"40":40,"54":54,"59":59,"62":62}],138:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(40); +var $indexOf = _dereq_(19)(false); +var $native = [].indexOf; +var NEGATIVE_ZERO = !!$native && 1 / [1].indexOf(1, -0) < 0; + +$export($export.P + $export.F * (NEGATIVE_ZERO || !_dereq_(104)($native)), 'Array', { + // 22.1.3.11 / 15.4.4.14 Array.prototype.indexOf(searchElement [, fromIndex]) + indexOf: function indexOf(searchElement /* , fromIndex = 0 */) { + return NEGATIVE_ZERO + // convert -0 to +0 + ? $native.apply(this, arguments) || 0 + : $indexOf(this, searchElement, arguments[1]); + } +}); + +},{"104":104,"19":19,"40":40}],139:[function(_dereq_,module,exports){ +// 22.1.2.2 / 15.4.3.2 Array.isArray(arg) +var $export = _dereq_(40); + +$export($export.S, 'Array', { isArray: _dereq_(55) }); + +},{"40":40,"55":55}],140:[function(_dereq_,module,exports){ +'use strict'; +var addToUnscopables = _dereq_(13); +var step = _dereq_(63); +var Iterators = _dereq_(64); +var toIObject = _dereq_(116); + +// 22.1.3.4 Array.prototype.entries() +// 22.1.3.13 Array.prototype.keys() +// 22.1.3.29 Array.prototype.values() +// 22.1.3.30 Array.prototype[@@iterator]() +module.exports = _dereq_(61)(Array, 'Array', function (iterated, kind) { + this._t = toIObject(iterated); // target + this._i = 0; // next index + this._k = kind; // kind +// 22.1.5.2.1 %ArrayIteratorPrototype%.next() +}, function () { + var O = this._t; + var kind = this._k; + var index = this._i++; + if (!O || index >= O.length) { + this._t = undefined; + return step(1); + } + if (kind == 'keys') return step(0, index); + if (kind == 'values') return step(0, O[index]); + return step(0, [index, O[index]]); +}, 'values'); + +// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7) +Iterators.Arguments = Iterators.Array; + +addToUnscopables('keys'); +addToUnscopables('values'); +addToUnscopables('entries'); + +},{"116":116,"13":13,"61":61,"63":63,"64":64}],141:[function(_dereq_,module,exports){ +'use strict'; +// 22.1.3.13 Array.prototype.join(separator) +var $export = _dereq_(40); +var toIObject = _dereq_(116); +var arrayJoin = [].join; + +// fallback for not array-like strings +$export($export.P + $export.F * (_dereq_(53) != Object || !_dereq_(104)(arrayJoin)), 'Array', { + join: function join(separator) { + return arrayJoin.call(toIObject(this), separator === undefined ? ',' : separator); + } +}); + +},{"104":104,"116":116,"40":40,"53":53}],142:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(40); +var toIObject = _dereq_(116); +var toInteger = _dereq_(115); +var toLength = _dereq_(117); +var $native = [].lastIndexOf; +var NEGATIVE_ZERO = !!$native && 1 / [1].lastIndexOf(1, -0) < 0; + +$export($export.P + $export.F * (NEGATIVE_ZERO || !_dereq_(104)($native)), 'Array', { + // 22.1.3.14 / 15.4.4.15 Array.prototype.lastIndexOf(searchElement [, fromIndex]) + lastIndexOf: function lastIndexOf(searchElement /* , fromIndex = @[*-1] */) { + // convert -0 to +0 + if (NEGATIVE_ZERO) return $native.apply(this, arguments) || 0; + var O = toIObject(this); + var length = toLength(O.length); + var index = length - 1; + if (arguments.length > 1) index = Math.min(index, toInteger(arguments[1])); + if (index < 0) index = length + index; + for (;index >= 0; index--) if (index in O) if (O[index] === searchElement) return index || 0; + return -1; + } +}); + +},{"104":104,"115":115,"116":116,"117":117,"40":40}],143:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(40); +var $map = _dereq_(20)(1); + +$export($export.P + $export.F * !_dereq_(104)([].map, true), 'Array', { + // 22.1.3.15 / 15.4.4.19 Array.prototype.map(callbackfn [, thisArg]) + map: function map(callbackfn /* , thisArg */) { + return $map(this, callbackfn, arguments[1]); + } +}); + +},{"104":104,"20":20,"40":40}],144:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(40); +var createProperty = _dereq_(31); + +// WebKit Array.of isn't generic +$export($export.S + $export.F * _dereq_(42)(function () { + function F() { /* empty */ } + return !(Array.of.call(F) instanceof F); +}), 'Array', { + // 22.1.2.3 Array.of( ...items) + of: function of(/* ...args */) { + var index = 0; + var aLen = arguments.length; + var result = new (typeof this == 'function' ? this : Array)(aLen); + while (aLen > index) createProperty(result, index, arguments[index++]); + result.length = aLen; + return result; + } +}); + +},{"31":31,"40":40,"42":42}],145:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(40); +var $reduce = _dereq_(21); + +$export($export.P + $export.F * !_dereq_(104)([].reduceRight, true), 'Array', { + // 22.1.3.19 / 15.4.4.22 Array.prototype.reduceRight(callbackfn [, initialValue]) + reduceRight: function reduceRight(callbackfn /* , initialValue */) { + return $reduce(this, callbackfn, arguments.length, arguments[1], true); + } +}); + +},{"104":104,"21":21,"40":40}],146:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(40); +var $reduce = _dereq_(21); + +$export($export.P + $export.F * !_dereq_(104)([].reduce, true), 'Array', { + // 22.1.3.18 / 15.4.4.21 Array.prototype.reduce(callbackfn [, initialValue]) + reduce: function reduce(callbackfn /* , initialValue */) { + return $reduce(this, callbackfn, arguments.length, arguments[1], false); + } +}); + +},{"104":104,"21":21,"40":40}],147:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(40); +var html = _dereq_(49); +var cof = _dereq_(26); +var toAbsoluteIndex = _dereq_(113); +var toLength = _dereq_(117); +var arraySlice = [].slice; + +// fallback for not array-like ES3 strings and DOM objects +$export($export.P + $export.F * _dereq_(42)(function () { + if (html) arraySlice.call(html); +}), 'Array', { + slice: function slice(begin, end) { + var len = toLength(this.length); + var klass = cof(this); + end = end === undefined ? len : end; + if (klass == 'Array') return arraySlice.call(this, begin, end); + var start = toAbsoluteIndex(begin, len); + var upTo = toAbsoluteIndex(end, len); + var size = toLength(upTo - start); + var cloned = new Array(size); + var i = 0; + for (; i < size; i++) cloned[i] = klass == 'String' + ? this.charAt(start + i) + : this[start + i]; + return cloned; + } +}); + +},{"113":113,"117":117,"26":26,"40":40,"42":42,"49":49}],148:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(40); +var $some = _dereq_(20)(3); + +$export($export.P + $export.F * !_dereq_(104)([].some, true), 'Array', { + // 22.1.3.23 / 15.4.4.17 Array.prototype.some(callbackfn [, thisArg]) + some: function some(callbackfn /* , thisArg */) { + return $some(this, callbackfn, arguments[1]); + } +}); + +},{"104":104,"20":20,"40":40}],149:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(40); +var aFunction = _dereq_(11); +var toObject = _dereq_(118); +var fails = _dereq_(42); +var $sort = [].sort; +var test = [1, 2, 3]; + +$export($export.P + $export.F * (fails(function () { + // IE8- + test.sort(undefined); +}) || !fails(function () { + // V8 bug + test.sort(null); + // Old WebKit +}) || !_dereq_(104)($sort)), 'Array', { + // 22.1.3.25 Array.prototype.sort(comparefn) + sort: function sort(comparefn) { + return comparefn === undefined + ? $sort.call(toObject(this)) + : $sort.call(toObject(this), aFunction(comparefn)); + } +}); + +},{"104":104,"11":11,"118":118,"40":40,"42":42}],150:[function(_dereq_,module,exports){ +_dereq_(99)('Array'); + +},{"99":99}],151:[function(_dereq_,module,exports){ +// 20.3.3.1 / 15.9.4.4 Date.now() +var $export = _dereq_(40); + +$export($export.S, 'Date', { now: function () { return new Date().getTime(); } }); + +},{"40":40}],152:[function(_dereq_,module,exports){ +// 20.3.4.36 / 15.9.5.43 Date.prototype.toISOString() +var $export = _dereq_(40); +var toISOString = _dereq_(33); + +// PhantomJS / old WebKit has a broken implementations +$export($export.P + $export.F * (Date.prototype.toISOString !== toISOString), 'Date', { + toISOString: toISOString +}); + +},{"33":33,"40":40}],153:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(40); +var toObject = _dereq_(118); +var toPrimitive = _dereq_(119); + +$export($export.P + $export.F * _dereq_(42)(function () { + return new Date(NaN).toJSON() !== null + || Date.prototype.toJSON.call({ toISOString: function () { return 1; } }) !== 1; +}), 'Date', { + // eslint-disable-next-line no-unused-vars + toJSON: function toJSON(key) { + var O = toObject(this); + var pv = toPrimitive(O); + return typeof pv == 'number' && !isFinite(pv) ? null : O.toISOString(); + } +}); + +},{"118":118,"119":119,"40":40,"42":42}],154:[function(_dereq_,module,exports){ +var TO_PRIMITIVE = _dereq_(128)('toPrimitive'); +var proto = Date.prototype; + +if (!(TO_PRIMITIVE in proto)) _dereq_(48)(proto, TO_PRIMITIVE, _dereq_(34)); + +},{"128":128,"34":34,"48":48}],155:[function(_dereq_,module,exports){ +var DateProto = Date.prototype; +var INVALID_DATE = 'Invalid Date'; +var TO_STRING = 'toString'; +var $toString = DateProto[TO_STRING]; +var getTime = DateProto.getTime; +if (new Date(NaN) + '' != INVALID_DATE) { + _dereq_(94)(DateProto, TO_STRING, function toString() { + var value = getTime.call(this); + // eslint-disable-next-line no-self-compare + return value === value ? $toString.call(this) : INVALID_DATE; + }); +} + +},{"94":94}],156:[function(_dereq_,module,exports){ +// 19.2.3.2 / 15.3.4.5 Function.prototype.bind(thisArg, args...) +var $export = _dereq_(40); + +$export($export.P, 'Function', { bind: _dereq_(24) }); + +},{"24":24,"40":40}],157:[function(_dereq_,module,exports){ +'use strict'; +var isObject = _dereq_(57); +var getPrototypeOf = _dereq_(81); +var HAS_INSTANCE = _dereq_(128)('hasInstance'); +var FunctionProto = Function.prototype; +// 19.2.3.6 Function.prototype[@@hasInstance](V) +if (!(HAS_INSTANCE in FunctionProto)) _dereq_(75).f(FunctionProto, HAS_INSTANCE, { value: function (O) { + if (typeof this != 'function' || !isObject(O)) return false; + if (!isObject(this.prototype)) return O instanceof this; + // for environment w/o native `@@hasInstance` logic enough `instanceof`, but add this: + while (O = getPrototypeOf(O)) if (this.prototype === O) return true; + return false; +} }); + +},{"128":128,"57":57,"75":75,"81":81}],158:[function(_dereq_,module,exports){ +var dP = _dereq_(75).f; +var FProto = Function.prototype; +var nameRE = /^\s*function ([^ (]*)/; +var NAME = 'name'; + +// 19.2.4.2 name +NAME in FProto || _dereq_(36) && dP(FProto, NAME, { + configurable: true, + get: function () { + try { + return ('' + this).match(nameRE)[1]; + } catch (e) { + return ''; + } + } +}); + +},{"36":36,"75":75}],159:[function(_dereq_,module,exports){ +'use strict'; +var strong = _dereq_(27); +var validate = _dereq_(125); +var MAP = 'Map'; + +// 23.1 Map Objects +module.exports = _dereq_(29)(MAP, function (get) { + return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); }; +}, { + // 23.1.3.6 Map.prototype.get(key) + get: function get(key) { + var entry = strong.getEntry(validate(this, MAP), key); + return entry && entry.v; + }, + // 23.1.3.9 Map.prototype.set(key, value) + set: function set(key, value) { + return strong.def(validate(this, MAP), key === 0 ? 0 : key, value); + } +}, strong, true); + +},{"125":125,"27":27,"29":29}],160:[function(_dereq_,module,exports){ +// 20.2.2.3 Math.acosh(x) +var $export = _dereq_(40); +var log1p = _dereq_(68); +var sqrt = Math.sqrt; +var $acosh = Math.acosh; + +$export($export.S + $export.F * !($acosh + // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509 + && Math.floor($acosh(Number.MAX_VALUE)) == 710 + // Tor Browser bug: Math.acosh(Infinity) -> NaN + && $acosh(Infinity) == Infinity +), 'Math', { + acosh: function acosh(x) { + return (x = +x) < 1 ? NaN : x > 94906265.62425156 + ? Math.log(x) + Math.LN2 + : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1)); + } +}); + +},{"40":40,"68":68}],161:[function(_dereq_,module,exports){ +// 20.2.2.5 Math.asinh(x) +var $export = _dereq_(40); +var $asinh = Math.asinh; + +function asinh(x) { + return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1)); +} + +// Tor Browser bug: Math.asinh(0) -> -0 +$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', { asinh: asinh }); + +},{"40":40}],162:[function(_dereq_,module,exports){ +// 20.2.2.7 Math.atanh(x) +var $export = _dereq_(40); +var $atanh = Math.atanh; + +// Tor Browser bug: Math.atanh(-0) -> 0 +$export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', { + atanh: function atanh(x) { + return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2; + } +}); + +},{"40":40}],163:[function(_dereq_,module,exports){ +// 20.2.2.9 Math.cbrt(x) +var $export = _dereq_(40); +var sign = _dereq_(69); + +$export($export.S, 'Math', { + cbrt: function cbrt(x) { + return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3); + } +}); + +},{"40":40,"69":69}],164:[function(_dereq_,module,exports){ +// 20.2.2.11 Math.clz32(x) +var $export = _dereq_(40); + +$export($export.S, 'Math', { + clz32: function clz32(x) { + return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32; + } +}); + +},{"40":40}],165:[function(_dereq_,module,exports){ +// 20.2.2.12 Math.cosh(x) +var $export = _dereq_(40); +var exp = Math.exp; + +$export($export.S, 'Math', { + cosh: function cosh(x) { + return (exp(x = +x) + exp(-x)) / 2; + } +}); + +},{"40":40}],166:[function(_dereq_,module,exports){ +// 20.2.2.14 Math.expm1(x) +var $export = _dereq_(40); +var $expm1 = _dereq_(66); + +$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', { expm1: $expm1 }); + +},{"40":40,"66":66}],167:[function(_dereq_,module,exports){ +// 20.2.2.16 Math.fround(x) +var $export = _dereq_(40); + +$export($export.S, 'Math', { fround: _dereq_(67) }); + +},{"40":40,"67":67}],168:[function(_dereq_,module,exports){ +// 20.2.2.17 Math.hypot([value1[, value2[, … ]]]) +var $export = _dereq_(40); +var abs = Math.abs; + +$export($export.S, 'Math', { + hypot: function hypot(value1, value2) { // eslint-disable-line no-unused-vars + var sum = 0; + var i = 0; + var aLen = arguments.length; + var larg = 0; + var arg, div; + while (i < aLen) { + arg = abs(arguments[i++]); + if (larg < arg) { + div = larg / arg; + sum = sum * div * div + 1; + larg = arg; + } else if (arg > 0) { + div = arg / larg; + sum += div * div; + } else sum += arg; + } + return larg === Infinity ? Infinity : larg * Math.sqrt(sum); + } +}); + +},{"40":40}],169:[function(_dereq_,module,exports){ +// 20.2.2.18 Math.imul(x, y) +var $export = _dereq_(40); +var $imul = Math.imul; + +// some WebKit versions fails with big numbers, some has wrong arity +$export($export.S + $export.F * _dereq_(42)(function () { + return $imul(0xffffffff, 5) != -5 || $imul.length != 2; +}), 'Math', { + imul: function imul(x, y) { + var UINT16 = 0xffff; + var xn = +x; + var yn = +y; + var xl = UINT16 & xn; + var yl = UINT16 & yn; + return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0); + } +}); + +},{"40":40,"42":42}],170:[function(_dereq_,module,exports){ +// 20.2.2.21 Math.log10(x) +var $export = _dereq_(40); + +$export($export.S, 'Math', { + log10: function log10(x) { + return Math.log(x) * Math.LOG10E; + } +}); + +},{"40":40}],171:[function(_dereq_,module,exports){ +// 20.2.2.20 Math.log1p(x) +var $export = _dereq_(40); + +$export($export.S, 'Math', { log1p: _dereq_(68) }); + +},{"40":40,"68":68}],172:[function(_dereq_,module,exports){ +// 20.2.2.22 Math.log2(x) +var $export = _dereq_(40); + +$export($export.S, 'Math', { + log2: function log2(x) { + return Math.log(x) / Math.LN2; + } +}); + +},{"40":40}],173:[function(_dereq_,module,exports){ +// 20.2.2.28 Math.sign(x) +var $export = _dereq_(40); + +$export($export.S, 'Math', { sign: _dereq_(69) }); + +},{"40":40,"69":69}],174:[function(_dereq_,module,exports){ +// 20.2.2.30 Math.sinh(x) +var $export = _dereq_(40); +var expm1 = _dereq_(66); +var exp = Math.exp; + +// V8 near Chromium 38 has a problem with very small numbers +$export($export.S + $export.F * _dereq_(42)(function () { + return !Math.sinh(-2e-17) != -2e-17; +}), 'Math', { + sinh: function sinh(x) { + return Math.abs(x = +x) < 1 + ? (expm1(x) - expm1(-x)) / 2 + : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2); + } +}); + +},{"40":40,"42":42,"66":66}],175:[function(_dereq_,module,exports){ +// 20.2.2.33 Math.tanh(x) +var $export = _dereq_(40); +var expm1 = _dereq_(66); +var exp = Math.exp; + +$export($export.S, 'Math', { + tanh: function tanh(x) { + var a = expm1(x = +x); + var b = expm1(-x); + return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x)); + } +}); + +},{"40":40,"66":66}],176:[function(_dereq_,module,exports){ +// 20.2.2.34 Math.trunc(x) +var $export = _dereq_(40); + +$export($export.S, 'Math', { + trunc: function trunc(it) { + return (it > 0 ? Math.floor : Math.ceil)(it); + } +}); + +},{"40":40}],177:[function(_dereq_,module,exports){ +'use strict'; +var global = _dereq_(46); +var has = _dereq_(47); +var cof = _dereq_(26); +var inheritIfRequired = _dereq_(51); +var toPrimitive = _dereq_(119); +var fails = _dereq_(42); +var gOPN = _dereq_(79).f; +var gOPD = _dereq_(77).f; +var dP = _dereq_(75).f; +var $trim = _dereq_(110).trim; +var NUMBER = 'Number'; +var $Number = global[NUMBER]; +var Base = $Number; +var proto = $Number.prototype; +// Opera ~12 has broken Object#toString +var BROKEN_COF = cof(_dereq_(74)(proto)) == NUMBER; +var TRIM = 'trim' in String.prototype; + +// 7.1.3 ToNumber(argument) +var toNumber = function (argument) { + var it = toPrimitive(argument, false); + if (typeof it == 'string' && it.length > 2) { + it = TRIM ? it.trim() : $trim(it, 3); + var first = it.charCodeAt(0); + var third, radix, maxCode; + if (first === 43 || first === 45) { + third = it.charCodeAt(2); + if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix + } else if (first === 48) { + switch (it.charCodeAt(1)) { + case 66: case 98: radix = 2; maxCode = 49; break; // fast equal /^0b[01]+$/i + case 79: case 111: radix = 8; maxCode = 55; break; // fast equal /^0o[0-7]+$/i + default: return +it; + } + for (var digits = it.slice(2), i = 0, l = digits.length, code; i < l; i++) { + code = digits.charCodeAt(i); + // parseInt parses a string to a first unavailable symbol + // but ToNumber should return NaN if a string contains unavailable symbols + if (code < 48 || code > maxCode) return NaN; + } return parseInt(digits, radix); + } + } return +it; +}; + +if (!$Number(' 0o1') || !$Number('0b1') || $Number('+0x1')) { + $Number = function Number(value) { + var it = arguments.length < 1 ? 0 : value; + var that = this; + return that instanceof $Number + // check on 1..constructor(foo) case + && (BROKEN_COF ? fails(function () { proto.valueOf.call(that); }) : cof(that) != NUMBER) + ? inheritIfRequired(new Base(toNumber(it)), that, $Number) : toNumber(it); + }; + for (var keys = _dereq_(36) ? gOPN(Base) : ( + // ES3: + 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' + + // ES6 (in case, if modules with ES6 Number statics required before): + 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' + + 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger' + ).split(','), j = 0, key; keys.length > j; j++) { + if (has(Base, key = keys[j]) && !has($Number, key)) { + dP($Number, key, gOPD(Base, key)); + } + } + $Number.prototype = proto; + proto.constructor = $Number; + _dereq_(94)(global, NUMBER, $Number); +} + +},{"110":110,"119":119,"26":26,"36":36,"42":42,"46":46,"47":47,"51":51,"74":74,"75":75,"77":77,"79":79,"94":94}],178:[function(_dereq_,module,exports){ +// 20.1.2.1 Number.EPSILON +var $export = _dereq_(40); + +$export($export.S, 'Number', { EPSILON: Math.pow(2, -52) }); + +},{"40":40}],179:[function(_dereq_,module,exports){ +// 20.1.2.2 Number.isFinite(number) +var $export = _dereq_(40); +var _isFinite = _dereq_(46).isFinite; + +$export($export.S, 'Number', { + isFinite: function isFinite(it) { + return typeof it == 'number' && _isFinite(it); + } +}); + +},{"40":40,"46":46}],180:[function(_dereq_,module,exports){ +// 20.1.2.3 Number.isInteger(number) +var $export = _dereq_(40); + +$export($export.S, 'Number', { isInteger: _dereq_(56) }); + +},{"40":40,"56":56}],181:[function(_dereq_,module,exports){ +// 20.1.2.4 Number.isNaN(number) +var $export = _dereq_(40); + +$export($export.S, 'Number', { + isNaN: function isNaN(number) { + // eslint-disable-next-line no-self-compare + return number != number; + } +}); + +},{"40":40}],182:[function(_dereq_,module,exports){ +// 20.1.2.5 Number.isSafeInteger(number) +var $export = _dereq_(40); +var isInteger = _dereq_(56); +var abs = Math.abs; + +$export($export.S, 'Number', { + isSafeInteger: function isSafeInteger(number) { + return isInteger(number) && abs(number) <= 0x1fffffffffffff; + } +}); + +},{"40":40,"56":56}],183:[function(_dereq_,module,exports){ +// 20.1.2.6 Number.MAX_SAFE_INTEGER +var $export = _dereq_(40); + +$export($export.S, 'Number', { MAX_SAFE_INTEGER: 0x1fffffffffffff }); + +},{"40":40}],184:[function(_dereq_,module,exports){ +// 20.1.2.10 Number.MIN_SAFE_INTEGER +var $export = _dereq_(40); + +$export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff }); + +},{"40":40}],185:[function(_dereq_,module,exports){ +var $export = _dereq_(40); +var $parseFloat = _dereq_(88); +// 20.1.2.12 Number.parseFloat(string) +$export($export.S + $export.F * (Number.parseFloat != $parseFloat), 'Number', { parseFloat: $parseFloat }); + +},{"40":40,"88":88}],186:[function(_dereq_,module,exports){ +var $export = _dereq_(40); +var $parseInt = _dereq_(89); +// 20.1.2.13 Number.parseInt(string, radix) +$export($export.S + $export.F * (Number.parseInt != $parseInt), 'Number', { parseInt: $parseInt }); + +},{"40":40,"89":89}],187:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(40); +var toInteger = _dereq_(115); +var aNumberValue = _dereq_(12); +var repeat = _dereq_(109); +var $toFixed = 1.0.toFixed; +var floor = Math.floor; +var data = [0, 0, 0, 0, 0, 0]; +var ERROR = 'Number.toFixed: incorrect invocation!'; +var ZERO = '0'; + +var multiply = function (n, c) { + var i = -1; + var c2 = c; + while (++i < 6) { + c2 += n * data[i]; + data[i] = c2 % 1e7; + c2 = floor(c2 / 1e7); + } +}; +var divide = function (n) { + var i = 6; + var c = 0; + while (--i >= 0) { + c += data[i]; + data[i] = floor(c / n); + c = (c % n) * 1e7; + } +}; +var numToString = function () { + var i = 6; + var s = ''; + while (--i >= 0) { + if (s !== '' || i === 0 || data[i] !== 0) { + var t = String(data[i]); + s = s === '' ? t : s + repeat.call(ZERO, 7 - t.length) + t; + } + } return s; +}; +var pow = function (x, n, acc) { + return n === 0 ? acc : n % 2 === 1 ? pow(x, n - 1, acc * x) : pow(x * x, n / 2, acc); +}; +var log = function (x) { + var n = 0; + var x2 = x; + while (x2 >= 4096) { + n += 12; + x2 /= 4096; + } + while (x2 >= 2) { + n += 1; + x2 /= 2; + } return n; +}; + +$export($export.P + $export.F * (!!$toFixed && ( + 0.00008.toFixed(3) !== '0.000' || + 0.9.toFixed(0) !== '1' || + 1.255.toFixed(2) !== '1.25' || + 1000000000000000128.0.toFixed(0) !== '1000000000000000128' +) || !_dereq_(42)(function () { + // V8 ~ Android 4.3- + $toFixed.call({}); +})), 'Number', { + toFixed: function toFixed(fractionDigits) { + var x = aNumberValue(this, ERROR); + var f = toInteger(fractionDigits); + var s = ''; + var m = ZERO; + var e, z, j, k; + if (f < 0 || f > 20) throw RangeError(ERROR); + // eslint-disable-next-line no-self-compare + if (x != x) return 'NaN'; + if (x <= -1e21 || x >= 1e21) return String(x); + if (x < 0) { + s = '-'; + x = -x; + } + if (x > 1e-21) { + e = log(x * pow(2, 69, 1)) - 69; + z = e < 0 ? x * pow(2, -e, 1) : x / pow(2, e, 1); + z *= 0x10000000000000; + e = 52 - e; + if (e > 0) { + multiply(0, z); + j = f; + while (j >= 7) { + multiply(1e7, 0); + j -= 7; + } + multiply(pow(10, j, 1), 0); + j = e - 1; + while (j >= 23) { + divide(1 << 23); + j -= 23; + } + divide(1 << j); + multiply(1, 1); + divide(2); + m = numToString(); + } else { + multiply(0, z); + multiply(1 << -e, 0); + m = numToString() + repeat.call(ZERO, f); + } + } + if (f > 0) { + k = m.length; + m = s + (k <= f ? '0.' + repeat.call(ZERO, f - k) + m : m.slice(0, k - f) + '.' + m.slice(k - f)); + } else { + m = s + m; + } return m; + } +}); + +},{"109":109,"115":115,"12":12,"40":40,"42":42}],188:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(40); +var $fails = _dereq_(42); +var aNumberValue = _dereq_(12); +var $toPrecision = 1.0.toPrecision; + +$export($export.P + $export.F * ($fails(function () { + // IE7- + return $toPrecision.call(1, undefined) !== '1'; +}) || !$fails(function () { + // V8 ~ Android 4.3- + $toPrecision.call({}); +})), 'Number', { + toPrecision: function toPrecision(precision) { + var that = aNumberValue(this, 'Number#toPrecision: incorrect invocation!'); + return precision === undefined ? $toPrecision.call(that) : $toPrecision.call(that, precision); + } +}); + +},{"12":12,"40":40,"42":42}],189:[function(_dereq_,module,exports){ +// 19.1.3.1 Object.assign(target, source) +var $export = _dereq_(40); + +$export($export.S + $export.F, 'Object', { assign: _dereq_(73) }); + +},{"40":40,"73":73}],190:[function(_dereq_,module,exports){ +var $export = _dereq_(40); +// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties]) +$export($export.S, 'Object', { create: _dereq_(74) }); + +},{"40":40,"74":74}],191:[function(_dereq_,module,exports){ +var $export = _dereq_(40); +// 19.1.2.3 / 15.2.3.7 Object.defineProperties(O, Properties) +$export($export.S + $export.F * !_dereq_(36), 'Object', { defineProperties: _dereq_(76) }); + +},{"36":36,"40":40,"76":76}],192:[function(_dereq_,module,exports){ +var $export = _dereq_(40); +// 19.1.2.4 / 15.2.3.6 Object.defineProperty(O, P, Attributes) +$export($export.S + $export.F * !_dereq_(36), 'Object', { defineProperty: _dereq_(75).f }); + +},{"36":36,"40":40,"75":75}],193:[function(_dereq_,module,exports){ +// 19.1.2.5 Object.freeze(O) +var isObject = _dereq_(57); +var meta = _dereq_(70).onFreeze; + +_dereq_(85)('freeze', function ($freeze) { + return function freeze(it) { + return $freeze && isObject(it) ? $freeze(meta(it)) : it; + }; +}); + +},{"57":57,"70":70,"85":85}],194:[function(_dereq_,module,exports){ +// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P) +var toIObject = _dereq_(116); +var $getOwnPropertyDescriptor = _dereq_(77).f; + +_dereq_(85)('getOwnPropertyDescriptor', function () { + return function getOwnPropertyDescriptor(it, key) { + return $getOwnPropertyDescriptor(toIObject(it), key); + }; +}); + +},{"116":116,"77":77,"85":85}],195:[function(_dereq_,module,exports){ +// 19.1.2.7 Object.getOwnPropertyNames(O) +_dereq_(85)('getOwnPropertyNames', function () { + return _dereq_(78).f; +}); + +},{"78":78,"85":85}],196:[function(_dereq_,module,exports){ +// 19.1.2.9 Object.getPrototypeOf(O) +var toObject = _dereq_(118); +var $getPrototypeOf = _dereq_(81); + +_dereq_(85)('getPrototypeOf', function () { + return function getPrototypeOf(it) { + return $getPrototypeOf(toObject(it)); + }; +}); + +},{"118":118,"81":81,"85":85}],197:[function(_dereq_,module,exports){ +// 19.1.2.11 Object.isExtensible(O) +var isObject = _dereq_(57); + +_dereq_(85)('isExtensible', function ($isExtensible) { + return function isExtensible(it) { + return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false; + }; +}); + +},{"57":57,"85":85}],198:[function(_dereq_,module,exports){ +// 19.1.2.12 Object.isFrozen(O) +var isObject = _dereq_(57); + +_dereq_(85)('isFrozen', function ($isFrozen) { + return function isFrozen(it) { + return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true; + }; +}); + +},{"57":57,"85":85}],199:[function(_dereq_,module,exports){ +// 19.1.2.13 Object.isSealed(O) +var isObject = _dereq_(57); + +_dereq_(85)('isSealed', function ($isSealed) { + return function isSealed(it) { + return isObject(it) ? $isSealed ? $isSealed(it) : false : true; + }; +}); + +},{"57":57,"85":85}],200:[function(_dereq_,module,exports){ +// 19.1.3.10 Object.is(value1, value2) +var $export = _dereq_(40); +$export($export.S, 'Object', { is: _dereq_(97) }); + +},{"40":40,"97":97}],201:[function(_dereq_,module,exports){ +// 19.1.2.14 Object.keys(O) +var toObject = _dereq_(118); +var $keys = _dereq_(83); + +_dereq_(85)('keys', function () { + return function keys(it) { + return $keys(toObject(it)); + }; +}); + +},{"118":118,"83":83,"85":85}],202:[function(_dereq_,module,exports){ +// 19.1.2.15 Object.preventExtensions(O) +var isObject = _dereq_(57); +var meta = _dereq_(70).onFreeze; + +_dereq_(85)('preventExtensions', function ($preventExtensions) { + return function preventExtensions(it) { + return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it; + }; +}); + +},{"57":57,"70":70,"85":85}],203:[function(_dereq_,module,exports){ +// 19.1.2.17 Object.seal(O) +var isObject = _dereq_(57); +var meta = _dereq_(70).onFreeze; + +_dereq_(85)('seal', function ($seal) { + return function seal(it) { + return $seal && isObject(it) ? $seal(meta(it)) : it; + }; +}); + +},{"57":57,"70":70,"85":85}],204:[function(_dereq_,module,exports){ +// 19.1.3.19 Object.setPrototypeOf(O, proto) +var $export = _dereq_(40); +$export($export.S, 'Object', { setPrototypeOf: _dereq_(98).set }); + +},{"40":40,"98":98}],205:[function(_dereq_,module,exports){ +'use strict'; +// 19.1.3.6 Object.prototype.toString() +var classof = _dereq_(25); +var test = {}; +test[_dereq_(128)('toStringTag')] = 'z'; +if (test + '' != '[object z]') { + _dereq_(94)(Object.prototype, 'toString', function toString() { + return '[object ' + classof(this) + ']'; + }, true); +} + +},{"128":128,"25":25,"94":94}],206:[function(_dereq_,module,exports){ +var $export = _dereq_(40); +var $parseFloat = _dereq_(88); +// 18.2.4 parseFloat(string) +$export($export.G + $export.F * (parseFloat != $parseFloat), { parseFloat: $parseFloat }); + +},{"40":40,"88":88}],207:[function(_dereq_,module,exports){ +var $export = _dereq_(40); +var $parseInt = _dereq_(89); +// 18.2.5 parseInt(string, radix) +$export($export.G + $export.F * (parseInt != $parseInt), { parseInt: $parseInt }); + +},{"40":40,"89":89}],208:[function(_dereq_,module,exports){ +'use strict'; +var LIBRARY = _dereq_(65); +var global = _dereq_(46); +var ctx = _dereq_(32); +var classof = _dereq_(25); +var $export = _dereq_(40); +var isObject = _dereq_(57); +var aFunction = _dereq_(11); +var anInstance = _dereq_(15); +var forOf = _dereq_(45); +var speciesConstructor = _dereq_(103); +var task = _dereq_(112).set; +var microtask = _dereq_(71)(); +var newPromiseCapabilityModule = _dereq_(72); +var perform = _dereq_(90); +var userAgent = _dereq_(124); +var promiseResolve = _dereq_(91); +var PROMISE = 'Promise'; +var TypeError = global.TypeError; +var process = global.process; +var versions = process && process.versions; +var v8 = versions && versions.v8 || ''; +var $Promise = global[PROMISE]; +var isNode = classof(process) == 'process'; +var empty = function () { /* empty */ }; +var Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper; +var newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f; + +var USE_NATIVE = !!function () { + try { + // correct subclassing with @@species support + var promise = $Promise.resolve(1); + var FakePromise = (promise.constructor = {})[_dereq_(128)('species')] = function (exec) { + exec(empty, empty); + }; + // unhandled rejections tracking support, NodeJS Promise without it fails @@species test + return (isNode || typeof PromiseRejectionEvent == 'function') + && promise.then(empty) instanceof FakePromise + // v8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables + // https://bugs.chromium.org/p/chromium/issues/detail?id=830565 + // we can't detect it synchronously, so just check versions + && v8.indexOf('6.6') !== 0 + && userAgent.indexOf('Chrome/66') === -1; + } catch (e) { /* empty */ } +}(); + +// helpers +var isThenable = function (it) { + var then; + return isObject(it) && typeof (then = it.then) == 'function' ? then : false; +}; +var notify = function (promise, isReject) { + if (promise._n) return; + promise._n = true; + var chain = promise._c; + microtask(function () { + var value = promise._v; + var ok = promise._s == 1; + var i = 0; + var run = function (reaction) { + var handler = ok ? reaction.ok : reaction.fail; + var resolve = reaction.resolve; + var reject = reaction.reject; + var domain = reaction.domain; + var result, then, exited; + try { + if (handler) { + if (!ok) { + if (promise._h == 2) onHandleUnhandled(promise); + promise._h = 1; + } + if (handler === true) result = value; + else { + if (domain) domain.enter(); + result = handler(value); // may throw + if (domain) { + domain.exit(); + exited = true; + } + } + if (result === reaction.promise) { + reject(TypeError('Promise-chain cycle')); + } else if (then = isThenable(result)) { + then.call(result, resolve, reject); + } else resolve(result); + } else reject(value); + } catch (e) { + if (domain && !exited) domain.exit(); + reject(e); + } + }; + while (chain.length > i) run(chain[i++]); // variable length - can't use forEach + promise._c = []; + promise._n = false; + if (isReject && !promise._h) onUnhandled(promise); + }); +}; +var onUnhandled = function (promise) { + task.call(global, function () { + var value = promise._v; + var unhandled = isUnhandled(promise); + var result, handler, console; + if (unhandled) { + result = perform(function () { + if (isNode) { + process.emit('unhandledRejection', value, promise); + } else if (handler = global.onunhandledrejection) { + handler({ promise: promise, reason: value }); + } else if ((console = global.console) && console.error) { + console.error('Unhandled promise rejection', value); + } + }); + // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should + promise._h = isNode || isUnhandled(promise) ? 2 : 1; + } promise._a = undefined; + if (unhandled && result.e) throw result.v; + }); +}; +var isUnhandled = function (promise) { + return promise._h !== 1 && (promise._a || promise._c).length === 0; +}; +var onHandleUnhandled = function (promise) { + task.call(global, function () { + var handler; + if (isNode) { + process.emit('rejectionHandled', promise); + } else if (handler = global.onrejectionhandled) { + handler({ promise: promise, reason: promise._v }); + } + }); +}; +var $reject = function (value) { + var promise = this; + if (promise._d) return; + promise._d = true; + promise = promise._w || promise; // unwrap + promise._v = value; + promise._s = 2; + if (!promise._a) promise._a = promise._c.slice(); + notify(promise, true); +}; +var $resolve = function (value) { + var promise = this; + var then; + if (promise._d) return; + promise._d = true; + promise = promise._w || promise; // unwrap + try { + if (promise === value) throw TypeError("Promise can't be resolved itself"); + if (then = isThenable(value)) { + microtask(function () { + var wrapper = { _w: promise, _d: false }; // wrap + try { + then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1)); + } catch (e) { + $reject.call(wrapper, e); + } + }); + } else { + promise._v = value; + promise._s = 1; + notify(promise, false); + } + } catch (e) { + $reject.call({ _w: promise, _d: false }, e); // wrap + } +}; + +// constructor polyfill +if (!USE_NATIVE) { + // 25.4.3.1 Promise(executor) + $Promise = function Promise(executor) { + anInstance(this, $Promise, PROMISE, '_h'); + aFunction(executor); + Internal.call(this); + try { + executor(ctx($resolve, this, 1), ctx($reject, this, 1)); + } catch (err) { + $reject.call(this, err); + } + }; + // eslint-disable-next-line no-unused-vars + Internal = function Promise(executor) { + this._c = []; // <- awaiting reactions + this._a = undefined; // <- checked in isUnhandled reactions + this._s = 0; // <- state + this._d = false; // <- done + this._v = undefined; // <- value + this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled + this._n = false; // <- notify + }; + Internal.prototype = _dereq_(93)($Promise.prototype, { + // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected) + then: function then(onFulfilled, onRejected) { + var reaction = newPromiseCapability(speciesConstructor(this, $Promise)); + reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true; + reaction.fail = typeof onRejected == 'function' && onRejected; + reaction.domain = isNode ? process.domain : undefined; + this._c.push(reaction); + if (this._a) this._a.push(reaction); + if (this._s) notify(this, false); + return reaction.promise; + }, + // 25.4.5.1 Promise.prototype.catch(onRejected) + 'catch': function (onRejected) { + return this.then(undefined, onRejected); + } + }); + OwnPromiseCapability = function () { + var promise = new Internal(); + this.promise = promise; + this.resolve = ctx($resolve, promise, 1); + this.reject = ctx($reject, promise, 1); + }; + newPromiseCapabilityModule.f = newPromiseCapability = function (C) { + return C === $Promise || C === Wrapper + ? new OwnPromiseCapability(C) + : newGenericPromiseCapability(C); + }; +} + +$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise }); +_dereq_(100)($Promise, PROMISE); +_dereq_(99)(PROMISE); +Wrapper = _dereq_(30)[PROMISE]; + +// statics +$export($export.S + $export.F * !USE_NATIVE, PROMISE, { + // 25.4.4.5 Promise.reject(r) + reject: function reject(r) { + var capability = newPromiseCapability(this); + var $$reject = capability.reject; + $$reject(r); + return capability.promise; + } +}); +$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, { + // 25.4.4.6 Promise.resolve(x) + resolve: function resolve(x) { + return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x); + } +}); +$export($export.S + $export.F * !(USE_NATIVE && _dereq_(62)(function (iter) { + $Promise.all(iter)['catch'](empty); +})), PROMISE, { + // 25.4.4.1 Promise.all(iterable) + all: function all(iterable) { + var C = this; + var capability = newPromiseCapability(C); + var resolve = capability.resolve; + var reject = capability.reject; + var result = perform(function () { + var values = []; + var index = 0; + var remaining = 1; + forOf(iterable, false, function (promise) { + var $index = index++; + var alreadyCalled = false; + values.push(undefined); + remaining++; + C.resolve(promise).then(function (value) { + if (alreadyCalled) return; + alreadyCalled = true; + values[$index] = value; + --remaining || resolve(values); + }, reject); + }); + --remaining || resolve(values); + }); + if (result.e) reject(result.v); + return capability.promise; + }, + // 25.4.4.4 Promise.race(iterable) + race: function race(iterable) { + var C = this; + var capability = newPromiseCapability(C); + var reject = capability.reject; + var result = perform(function () { + forOf(iterable, false, function (promise) { + C.resolve(promise).then(capability.resolve, reject); + }); + }); + if (result.e) reject(result.v); + return capability.promise; + } +}); + +},{"100":100,"103":103,"11":11,"112":112,"124":124,"128":128,"15":15,"25":25,"30":30,"32":32,"40":40,"45":45,"46":46,"57":57,"62":62,"65":65,"71":71,"72":72,"90":90,"91":91,"93":93,"99":99}],209:[function(_dereq_,module,exports){ +// 26.1.1 Reflect.apply(target, thisArgument, argumentsList) +var $export = _dereq_(40); +var aFunction = _dereq_(11); +var anObject = _dereq_(16); +var rApply = (_dereq_(46).Reflect || {}).apply; +var fApply = Function.apply; +// MS Edge argumentsList argument is optional +$export($export.S + $export.F * !_dereq_(42)(function () { + rApply(function () { /* empty */ }); +}), 'Reflect', { + apply: function apply(target, thisArgument, argumentsList) { + var T = aFunction(target); + var L = anObject(argumentsList); + return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L); + } +}); + +},{"11":11,"16":16,"40":40,"42":42,"46":46}],210:[function(_dereq_,module,exports){ +// 26.1.2 Reflect.construct(target, argumentsList [, newTarget]) +var $export = _dereq_(40); +var create = _dereq_(74); +var aFunction = _dereq_(11); +var anObject = _dereq_(16); +var isObject = _dereq_(57); +var fails = _dereq_(42); +var bind = _dereq_(24); +var rConstruct = (_dereq_(46).Reflect || {}).construct; + +// MS Edge supports only 2 arguments and argumentsList argument is optional +// FF Nightly sets third argument as `new.target`, but does not create `this` from it +var NEW_TARGET_BUG = fails(function () { + function F() { /* empty */ } + return !(rConstruct(function () { /* empty */ }, [], F) instanceof F); +}); +var ARGS_BUG = !fails(function () { + rConstruct(function () { /* empty */ }); +}); + +$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', { + construct: function construct(Target, args /* , newTarget */) { + aFunction(Target); + anObject(args); + var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]); + if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(Target, args, newTarget); + if (Target == newTarget) { + // w/o altered newTarget, optimization for 0-4 arguments + switch (args.length) { + case 0: return new Target(); + case 1: return new Target(args[0]); + case 2: return new Target(args[0], args[1]); + case 3: return new Target(args[0], args[1], args[2]); + case 4: return new Target(args[0], args[1], args[2], args[3]); + } + // w/o altered newTarget, lot of arguments case + var $args = [null]; + $args.push.apply($args, args); + return new (bind.apply(Target, $args))(); + } + // with altered newTarget, not support built-in constructors + var proto = newTarget.prototype; + var instance = create(isObject(proto) ? proto : Object.prototype); + var result = Function.apply.call(Target, instance, args); + return isObject(result) ? result : instance; + } +}); + +},{"11":11,"16":16,"24":24,"40":40,"42":42,"46":46,"57":57,"74":74}],211:[function(_dereq_,module,exports){ +// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes) +var dP = _dereq_(75); +var $export = _dereq_(40); +var anObject = _dereq_(16); +var toPrimitive = _dereq_(119); + +// MS Edge has broken Reflect.defineProperty - throwing instead of returning false +$export($export.S + $export.F * _dereq_(42)(function () { + // eslint-disable-next-line no-undef + Reflect.defineProperty(dP.f({}, 1, { value: 1 }), 1, { value: 2 }); +}), 'Reflect', { + defineProperty: function defineProperty(target, propertyKey, attributes) { + anObject(target); + propertyKey = toPrimitive(propertyKey, true); + anObject(attributes); + try { + dP.f(target, propertyKey, attributes); + return true; + } catch (e) { + return false; + } + } +}); + +},{"119":119,"16":16,"40":40,"42":42,"75":75}],212:[function(_dereq_,module,exports){ +// 26.1.4 Reflect.deleteProperty(target, propertyKey) +var $export = _dereq_(40); +var gOPD = _dereq_(77).f; +var anObject = _dereq_(16); + +$export($export.S, 'Reflect', { + deleteProperty: function deleteProperty(target, propertyKey) { + var desc = gOPD(anObject(target), propertyKey); + return desc && !desc.configurable ? false : delete target[propertyKey]; + } +}); + +},{"16":16,"40":40,"77":77}],213:[function(_dereq_,module,exports){ +'use strict'; +// 26.1.5 Reflect.enumerate(target) +var $export = _dereq_(40); +var anObject = _dereq_(16); +var Enumerate = function (iterated) { + this._t = anObject(iterated); // target + this._i = 0; // next index + var keys = this._k = []; // keys + var key; + for (key in iterated) keys.push(key); +}; +_dereq_(60)(Enumerate, 'Object', function () { + var that = this; + var keys = that._k; + var key; + do { + if (that._i >= keys.length) return { value: undefined, done: true }; + } while (!((key = keys[that._i++]) in that._t)); + return { value: key, done: false }; +}); + +$export($export.S, 'Reflect', { + enumerate: function enumerate(target) { + return new Enumerate(target); + } +}); + +},{"16":16,"40":40,"60":60}],214:[function(_dereq_,module,exports){ +// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey) +var gOPD = _dereq_(77); +var $export = _dereq_(40); +var anObject = _dereq_(16); + +$export($export.S, 'Reflect', { + getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) { + return gOPD.f(anObject(target), propertyKey); + } +}); + +},{"16":16,"40":40,"77":77}],215:[function(_dereq_,module,exports){ +// 26.1.8 Reflect.getPrototypeOf(target) +var $export = _dereq_(40); +var getProto = _dereq_(81); +var anObject = _dereq_(16); + +$export($export.S, 'Reflect', { + getPrototypeOf: function getPrototypeOf(target) { + return getProto(anObject(target)); + } +}); + +},{"16":16,"40":40,"81":81}],216:[function(_dereq_,module,exports){ +// 26.1.6 Reflect.get(target, propertyKey [, receiver]) +var gOPD = _dereq_(77); +var getPrototypeOf = _dereq_(81); +var has = _dereq_(47); +var $export = _dereq_(40); +var isObject = _dereq_(57); +var anObject = _dereq_(16); + +function get(target, propertyKey /* , receiver */) { + var receiver = arguments.length < 3 ? target : arguments[2]; + var desc, proto; + if (anObject(target) === receiver) return target[propertyKey]; + if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value') + ? desc.value + : desc.get !== undefined + ? desc.get.call(receiver) + : undefined; + if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver); +} + +$export($export.S, 'Reflect', { get: get }); + +},{"16":16,"40":40,"47":47,"57":57,"77":77,"81":81}],217:[function(_dereq_,module,exports){ +// 26.1.9 Reflect.has(target, propertyKey) +var $export = _dereq_(40); + +$export($export.S, 'Reflect', { + has: function has(target, propertyKey) { + return propertyKey in target; + } +}); + +},{"40":40}],218:[function(_dereq_,module,exports){ +// 26.1.10 Reflect.isExtensible(target) +var $export = _dereq_(40); +var anObject = _dereq_(16); +var $isExtensible = Object.isExtensible; + +$export($export.S, 'Reflect', { + isExtensible: function isExtensible(target) { + anObject(target); + return $isExtensible ? $isExtensible(target) : true; + } +}); + +},{"16":16,"40":40}],219:[function(_dereq_,module,exports){ +// 26.1.11 Reflect.ownKeys(target) +var $export = _dereq_(40); + +$export($export.S, 'Reflect', { ownKeys: _dereq_(87) }); + +},{"40":40,"87":87}],220:[function(_dereq_,module,exports){ +// 26.1.12 Reflect.preventExtensions(target) +var $export = _dereq_(40); +var anObject = _dereq_(16); +var $preventExtensions = Object.preventExtensions; + +$export($export.S, 'Reflect', { + preventExtensions: function preventExtensions(target) { + anObject(target); + try { + if ($preventExtensions) $preventExtensions(target); + return true; + } catch (e) { + return false; + } + } +}); + +},{"16":16,"40":40}],221:[function(_dereq_,module,exports){ +// 26.1.14 Reflect.setPrototypeOf(target, proto) +var $export = _dereq_(40); +var setProto = _dereq_(98); + +if (setProto) $export($export.S, 'Reflect', { + setPrototypeOf: function setPrototypeOf(target, proto) { + setProto.check(target, proto); + try { + setProto.set(target, proto); + return true; + } catch (e) { + return false; + } + } +}); + +},{"40":40,"98":98}],222:[function(_dereq_,module,exports){ +// 26.1.13 Reflect.set(target, propertyKey, V [, receiver]) +var dP = _dereq_(75); +var gOPD = _dereq_(77); +var getPrototypeOf = _dereq_(81); +var has = _dereq_(47); +var $export = _dereq_(40); +var createDesc = _dereq_(92); +var anObject = _dereq_(16); +var isObject = _dereq_(57); + +function set(target, propertyKey, V /* , receiver */) { + var receiver = arguments.length < 4 ? target : arguments[3]; + var ownDesc = gOPD.f(anObject(target), propertyKey); + var existingDescriptor, proto; + if (!ownDesc) { + if (isObject(proto = getPrototypeOf(target))) { + return set(proto, propertyKey, V, receiver); + } + ownDesc = createDesc(0); + } + if (has(ownDesc, 'value')) { + if (ownDesc.writable === false || !isObject(receiver)) return false; + if (existingDescriptor = gOPD.f(receiver, propertyKey)) { + if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false; + existingDescriptor.value = V; + dP.f(receiver, propertyKey, existingDescriptor); + } else dP.f(receiver, propertyKey, createDesc(0, V)); + return true; + } + return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true); +} + +$export($export.S, 'Reflect', { set: set }); + +},{"16":16,"40":40,"47":47,"57":57,"75":75,"77":77,"81":81,"92":92}],223:[function(_dereq_,module,exports){ +var global = _dereq_(46); +var inheritIfRequired = _dereq_(51); +var dP = _dereq_(75).f; +var gOPN = _dereq_(79).f; +var isRegExp = _dereq_(58); +var $flags = _dereq_(44); +var $RegExp = global.RegExp; +var Base = $RegExp; +var proto = $RegExp.prototype; +var re1 = /a/g; +var re2 = /a/g; +// "new" creates a new object, old webkit buggy here +var CORRECT_NEW = new $RegExp(re1) !== re1; + +if (_dereq_(36) && (!CORRECT_NEW || _dereq_(42)(function () { + re2[_dereq_(128)('match')] = false; + // RegExp constructor can alter flags and IsRegExp works correct with @@match + return $RegExp(re1) != re1 || $RegExp(re2) == re2 || $RegExp(re1, 'i') != '/a/i'; +}))) { + $RegExp = function RegExp(p, f) { + var tiRE = this instanceof $RegExp; + var piRE = isRegExp(p); + var fiU = f === undefined; + return !tiRE && piRE && p.constructor === $RegExp && fiU ? p + : inheritIfRequired(CORRECT_NEW + ? new Base(piRE && !fiU ? p.source : p, f) + : Base((piRE = p instanceof $RegExp) ? p.source : p, piRE && fiU ? $flags.call(p) : f) + , tiRE ? this : proto, $RegExp); + }; + var proxy = function (key) { + key in $RegExp || dP($RegExp, key, { + configurable: true, + get: function () { return Base[key]; }, + set: function (it) { Base[key] = it; } + }); + }; + for (var keys = gOPN(Base), i = 0; keys.length > i;) proxy(keys[i++]); + proto.constructor = $RegExp; + $RegExp.prototype = proto; + _dereq_(94)(global, 'RegExp', $RegExp); +} + +_dereq_(99)('RegExp'); + +},{"128":128,"36":36,"42":42,"44":44,"46":46,"51":51,"58":58,"75":75,"79":79,"94":94,"99":99}],224:[function(_dereq_,module,exports){ +'use strict'; +var regexpExec = _dereq_(96); +_dereq_(40)({ + target: 'RegExp', + proto: true, + forced: regexpExec !== /./.exec +}, { + exec: regexpExec +}); + +},{"40":40,"96":96}],225:[function(_dereq_,module,exports){ +// 21.2.5.3 get RegExp.prototype.flags() +if (_dereq_(36) && /./g.flags != 'g') _dereq_(75).f(RegExp.prototype, 'flags', { + configurable: true, + get: _dereq_(44) +}); + +},{"36":36,"44":44,"75":75}],226:[function(_dereq_,module,exports){ +'use strict'; + +var anObject = _dereq_(16); +var toLength = _dereq_(117); +var advanceStringIndex = _dereq_(14); +var regExpExec = _dereq_(95); + +// @@match logic +_dereq_(43)('match', 1, function (defined, MATCH, $match, maybeCallNative) { + return [ + // `String.prototype.match` method + // https://tc39.github.io/ecma262/#sec-string.prototype.match + function match(regexp) { + var O = defined(this); + var fn = regexp == undefined ? undefined : regexp[MATCH]; + return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O)); + }, + // `RegExp.prototype[@@match]` method + // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@match + function (regexp) { + var res = maybeCallNative($match, regexp, this); + if (res.done) return res.value; + var rx = anObject(regexp); + var S = String(this); + if (!rx.global) return regExpExec(rx, S); + var fullUnicode = rx.unicode; + rx.lastIndex = 0; + var A = []; + var n = 0; + var result; + while ((result = regExpExec(rx, S)) !== null) { + var matchStr = String(result[0]); + A[n] = matchStr; + if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); + n++; + } + return n === 0 ? null : A; + } + ]; +}); + +},{"117":117,"14":14,"16":16,"43":43,"95":95}],227:[function(_dereq_,module,exports){ +'use strict'; + +var anObject = _dereq_(16); +var toObject = _dereq_(118); +var toLength = _dereq_(117); +var toInteger = _dereq_(115); +var advanceStringIndex = _dereq_(14); +var regExpExec = _dereq_(95); +var max = Math.max; +var min = Math.min; +var floor = Math.floor; +var SUBSTITUTION_SYMBOLS = /\$([$&`']|\d\d?|<[^>]*>)/g; +var SUBSTITUTION_SYMBOLS_NO_NAMED = /\$([$&`']|\d\d?)/g; + +var maybeToString = function (it) { + return it === undefined ? it : String(it); +}; + +// @@replace logic +_dereq_(43)('replace', 2, function (defined, REPLACE, $replace, maybeCallNative) { + return [ + // `String.prototype.replace` method + // https://tc39.github.io/ecma262/#sec-string.prototype.replace + function replace(searchValue, replaceValue) { + var O = defined(this); + var fn = searchValue == undefined ? undefined : searchValue[REPLACE]; + return fn !== undefined + ? fn.call(searchValue, O, replaceValue) + : $replace.call(String(O), searchValue, replaceValue); + }, + // `RegExp.prototype[@@replace]` method + // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@replace + function (regexp, replaceValue) { + var res = maybeCallNative($replace, regexp, this, replaceValue); + if (res.done) return res.value; + + var rx = anObject(regexp); + var S = String(this); + var functionalReplace = typeof replaceValue === 'function'; + if (!functionalReplace) replaceValue = String(replaceValue); + var global = rx.global; + if (global) { + var fullUnicode = rx.unicode; + rx.lastIndex = 0; + } + var results = []; + while (true) { + var result = regExpExec(rx, S); + if (result === null) break; + results.push(result); + if (!global) break; + var matchStr = String(result[0]); + if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode); + } + var accumulatedResult = ''; + var nextSourcePosition = 0; + for (var i = 0; i < results.length; i++) { + result = results[i]; + var matched = String(result[0]); + var position = max(min(toInteger(result.index), S.length), 0); + var captures = []; + // NOTE: This is equivalent to + // captures = result.slice(1).map(maybeToString) + // but for some reason `nativeSlice.call(result, 1, result.length)` (called in + // the slice polyfill when slicing native arrays) "doesn't work" in safari 9 and + // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it. + for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j])); + var namedCaptures = result.groups; + if (functionalReplace) { + var replacerArgs = [matched].concat(captures, position, S); + if (namedCaptures !== undefined) replacerArgs.push(namedCaptures); + var replacement = String(replaceValue.apply(undefined, replacerArgs)); + } else { + replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue); + } + if (position >= nextSourcePosition) { + accumulatedResult += S.slice(nextSourcePosition, position) + replacement; + nextSourcePosition = position + matched.length; + } + } + return accumulatedResult + S.slice(nextSourcePosition); + } + ]; + + // https://tc39.github.io/ecma262/#sec-getsubstitution + function getSubstitution(matched, str, position, captures, namedCaptures, replacement) { + var tailPos = position + matched.length; + var m = captures.length; + var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED; + if (namedCaptures !== undefined) { + namedCaptures = toObject(namedCaptures); + symbols = SUBSTITUTION_SYMBOLS; + } + return $replace.call(replacement, symbols, function (match, ch) { + var capture; + switch (ch.charAt(0)) { + case '$': return '$'; + case '&': return matched; + case '`': return str.slice(0, position); + case "'": return str.slice(tailPos); + case '<': + capture = namedCaptures[ch.slice(1, -1)]; + break; + default: // \d\d? + var n = +ch; + if (n === 0) return ch; + if (n > m) { + var f = floor(n / 10); + if (f === 0) return ch; + if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1); + return ch; + } + capture = captures[n - 1]; + } + return capture === undefined ? '' : capture; + }); + } +}); + +},{"115":115,"117":117,"118":118,"14":14,"16":16,"43":43,"95":95}],228:[function(_dereq_,module,exports){ +'use strict'; + +var anObject = _dereq_(16); +var sameValue = _dereq_(97); +var regExpExec = _dereq_(95); + +// @@search logic +_dereq_(43)('search', 1, function (defined, SEARCH, $search, maybeCallNative) { + return [ + // `String.prototype.search` method + // https://tc39.github.io/ecma262/#sec-string.prototype.search + function search(regexp) { + var O = defined(this); + var fn = regexp == undefined ? undefined : regexp[SEARCH]; + return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O)); + }, + // `RegExp.prototype[@@search]` method + // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@search + function (regexp) { + var res = maybeCallNative($search, regexp, this); + if (res.done) return res.value; + var rx = anObject(regexp); + var S = String(this); + var previousLastIndex = rx.lastIndex; + if (!sameValue(previousLastIndex, 0)) rx.lastIndex = 0; + var result = regExpExec(rx, S); + if (!sameValue(rx.lastIndex, previousLastIndex)) rx.lastIndex = previousLastIndex; + return result === null ? -1 : result.index; + } + ]; +}); + +},{"16":16,"43":43,"95":95,"97":97}],229:[function(_dereq_,module,exports){ +'use strict'; + +var isRegExp = _dereq_(58); +var anObject = _dereq_(16); +var speciesConstructor = _dereq_(103); +var advanceStringIndex = _dereq_(14); +var toLength = _dereq_(117); +var callRegExpExec = _dereq_(95); +var regexpExec = _dereq_(96); +var $min = Math.min; +var $push = [].push; +var $SPLIT = 'split'; +var LENGTH = 'length'; +var LAST_INDEX = 'lastIndex'; + +// eslint-disable-next-line no-empty +var SUPPORTS_Y = !!(function () { try { return new RegExp('x', 'y'); } catch (e) {} })(); + +// @@split logic +_dereq_(43)('split', 2, function (defined, SPLIT, $split, maybeCallNative) { + var internalSplit; + if ( + 'abbc'[$SPLIT](/(b)*/)[1] == 'c' || + 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 || + 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 || + '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 || + '.'[$SPLIT](/()()/)[LENGTH] > 1 || + ''[$SPLIT](/.?/)[LENGTH] + ) { + // based on es5-shim implementation, need to rework it + internalSplit = function (separator, limit) { + var string = String(this); + if (separator === undefined && limit === 0) return []; + // If `separator` is not a regex, use native split + if (!isRegExp(separator)) return $split.call(string, separator, limit); + var output = []; + var flags = (separator.ignoreCase ? 'i' : '') + + (separator.multiline ? 'm' : '') + + (separator.unicode ? 'u' : '') + + (separator.sticky ? 'y' : ''); + var lastLastIndex = 0; + var splitLimit = limit === undefined ? 4294967295 : limit >>> 0; + // Make `global` and avoid `lastIndex` issues by working with a copy + var separatorCopy = new RegExp(separator.source, flags + 'g'); + var match, lastIndex, lastLength; + while (match = regexpExec.call(separatorCopy, string)) { + lastIndex = separatorCopy[LAST_INDEX]; + if (lastIndex > lastLastIndex) { + output.push(string.slice(lastLastIndex, match.index)); + if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1)); + lastLength = match[0][LENGTH]; + lastLastIndex = lastIndex; + if (output[LENGTH] >= splitLimit) break; + } + if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop + } + if (lastLastIndex === string[LENGTH]) { + if (lastLength || !separatorCopy.test('')) output.push(''); + } else output.push(string.slice(lastLastIndex)); + return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output; + }; + // Chakra, V8 + } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) { + internalSplit = function (separator, limit) { + return separator === undefined && limit === 0 ? [] : $split.call(this, separator, limit); + }; + } else { + internalSplit = $split; + } + + return [ + // `String.prototype.split` method + // https://tc39.github.io/ecma262/#sec-string.prototype.split + function split(separator, limit) { + var O = defined(this); + var splitter = separator == undefined ? undefined : separator[SPLIT]; + return splitter !== undefined + ? splitter.call(separator, O, limit) + : internalSplit.call(String(O), separator, limit); + }, + // `RegExp.prototype[@@split]` method + // https://tc39.github.io/ecma262/#sec-regexp.prototype-@@split + // + // NOTE: This cannot be properly polyfilled in engines that don't support + // the 'y' flag. + function (regexp, limit) { + var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== $split); + if (res.done) return res.value; + + var rx = anObject(regexp); + var S = String(this); + var C = speciesConstructor(rx, RegExp); + + var unicodeMatching = rx.unicode; + var flags = (rx.ignoreCase ? 'i' : '') + + (rx.multiline ? 'm' : '') + + (rx.unicode ? 'u' : '') + + (SUPPORTS_Y ? 'y' : 'g'); + + // ^(? + rx + ) is needed, in combination with some S slicing, to + // simulate the 'y' flag. + var splitter = new C(SUPPORTS_Y ? rx : '^(?:' + rx.source + ')', flags); + var lim = limit === undefined ? 0xffffffff : limit >>> 0; + if (lim === 0) return []; + if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : []; + var p = 0; + var q = 0; + var A = []; + while (q < S.length) { + splitter.lastIndex = SUPPORTS_Y ? q : 0; + var z = callRegExpExec(splitter, SUPPORTS_Y ? S : S.slice(q)); + var e; + if ( + z === null || + (e = $min(toLength(splitter.lastIndex + (SUPPORTS_Y ? 0 : q)), S.length)) === p + ) { + q = advanceStringIndex(S, q, unicodeMatching); + } else { + A.push(S.slice(p, q)); + if (A.length === lim) return A; + for (var i = 1; i <= z.length - 1; i++) { + A.push(z[i]); + if (A.length === lim) return A; + } + q = p = e; + } + } + A.push(S.slice(p)); + return A; + } + ]; +}); + +},{"103":103,"117":117,"14":14,"16":16,"43":43,"58":58,"95":95,"96":96}],230:[function(_dereq_,module,exports){ +'use strict'; +_dereq_(225); +var anObject = _dereq_(16); +var $flags = _dereq_(44); +var DESCRIPTORS = _dereq_(36); +var TO_STRING = 'toString'; +var $toString = /./[TO_STRING]; + +var define = function (fn) { + _dereq_(94)(RegExp.prototype, TO_STRING, fn, true); +}; + +// 21.2.5.14 RegExp.prototype.toString() +if (_dereq_(42)(function () { return $toString.call({ source: 'a', flags: 'b' }) != '/a/b'; })) { + define(function toString() { + var R = anObject(this); + return '/'.concat(R.source, '/', + 'flags' in R ? R.flags : !DESCRIPTORS && R instanceof RegExp ? $flags.call(R) : undefined); + }); +// FF44- RegExp#toString has a wrong name +} else if ($toString.name != TO_STRING) { + define(function toString() { + return $toString.call(this); + }); +} + +},{"16":16,"225":225,"36":36,"42":42,"44":44,"94":94}],231:[function(_dereq_,module,exports){ +'use strict'; +var strong = _dereq_(27); +var validate = _dereq_(125); +var SET = 'Set'; + +// 23.2 Set Objects +module.exports = _dereq_(29)(SET, function (get) { + return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); }; +}, { + // 23.2.3.1 Set.prototype.add(value) + add: function add(value) { + return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value); + } +}, strong); + +},{"125":125,"27":27,"29":29}],232:[function(_dereq_,module,exports){ +'use strict'; +// B.2.3.2 String.prototype.anchor(name) +_dereq_(107)('anchor', function (createHTML) { + return function anchor(name) { + return createHTML(this, 'a', 'name', name); + }; +}); + +},{"107":107}],233:[function(_dereq_,module,exports){ +'use strict'; +// B.2.3.3 String.prototype.big() +_dereq_(107)('big', function (createHTML) { + return function big() { + return createHTML(this, 'big', '', ''); + }; +}); + +},{"107":107}],234:[function(_dereq_,module,exports){ +'use strict'; +// B.2.3.4 String.prototype.blink() +_dereq_(107)('blink', function (createHTML) { + return function blink() { + return createHTML(this, 'blink', '', ''); + }; +}); + +},{"107":107}],235:[function(_dereq_,module,exports){ +'use strict'; +// B.2.3.5 String.prototype.bold() +_dereq_(107)('bold', function (createHTML) { + return function bold() { + return createHTML(this, 'b', '', ''); + }; +}); + +},{"107":107}],236:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(40); +var $at = _dereq_(105)(false); +$export($export.P, 'String', { + // 21.1.3.3 String.prototype.codePointAt(pos) + codePointAt: function codePointAt(pos) { + return $at(this, pos); + } +}); + +},{"105":105,"40":40}],237:[function(_dereq_,module,exports){ +// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition]) +'use strict'; +var $export = _dereq_(40); +var toLength = _dereq_(117); +var context = _dereq_(106); +var ENDS_WITH = 'endsWith'; +var $endsWith = ''[ENDS_WITH]; + +$export($export.P + $export.F * _dereq_(41)(ENDS_WITH), 'String', { + endsWith: function endsWith(searchString /* , endPosition = @length */) { + var that = context(this, searchString, ENDS_WITH); + var endPosition = arguments.length > 1 ? arguments[1] : undefined; + var len = toLength(that.length); + var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len); + var search = String(searchString); + return $endsWith + ? $endsWith.call(that, search, end) + : that.slice(end - search.length, end) === search; + } +}); + +},{"106":106,"117":117,"40":40,"41":41}],238:[function(_dereq_,module,exports){ +'use strict'; +// B.2.3.6 String.prototype.fixed() +_dereq_(107)('fixed', function (createHTML) { + return function fixed() { + return createHTML(this, 'tt', '', ''); + }; +}); + +},{"107":107}],239:[function(_dereq_,module,exports){ +'use strict'; +// B.2.3.7 String.prototype.fontcolor(color) +_dereq_(107)('fontcolor', function (createHTML) { + return function fontcolor(color) { + return createHTML(this, 'font', 'color', color); + }; +}); + +},{"107":107}],240:[function(_dereq_,module,exports){ +'use strict'; +// B.2.3.8 String.prototype.fontsize(size) +_dereq_(107)('fontsize', function (createHTML) { + return function fontsize(size) { + return createHTML(this, 'font', 'size', size); + }; +}); + +},{"107":107}],241:[function(_dereq_,module,exports){ +var $export = _dereq_(40); +var toAbsoluteIndex = _dereq_(113); +var fromCharCode = String.fromCharCode; +var $fromCodePoint = String.fromCodePoint; + +// length should be 1, old FF problem +$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', { + // 21.1.2.2 String.fromCodePoint(...codePoints) + fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars + var res = []; + var aLen = arguments.length; + var i = 0; + var code; + while (aLen > i) { + code = +arguments[i++]; + if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point'); + res.push(code < 0x10000 + ? fromCharCode(code) + : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00) + ); + } return res.join(''); + } +}); + +},{"113":113,"40":40}],242:[function(_dereq_,module,exports){ +// 21.1.3.7 String.prototype.includes(searchString, position = 0) +'use strict'; +var $export = _dereq_(40); +var context = _dereq_(106); +var INCLUDES = 'includes'; + +$export($export.P + $export.F * _dereq_(41)(INCLUDES), 'String', { + includes: function includes(searchString /* , position = 0 */) { + return !!~context(this, searchString, INCLUDES) + .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +},{"106":106,"40":40,"41":41}],243:[function(_dereq_,module,exports){ +'use strict'; +// B.2.3.9 String.prototype.italics() +_dereq_(107)('italics', function (createHTML) { + return function italics() { + return createHTML(this, 'i', '', ''); + }; +}); + +},{"107":107}],244:[function(_dereq_,module,exports){ +'use strict'; +var $at = _dereq_(105)(true); + +// 21.1.3.27 String.prototype[@@iterator]() +_dereq_(61)(String, 'String', function (iterated) { + this._t = String(iterated); // target + this._i = 0; // next index +// 21.1.5.2.1 %StringIteratorPrototype%.next() +}, function () { + var O = this._t; + var index = this._i; + var point; + if (index >= O.length) return { value: undefined, done: true }; + point = $at(O, index); + this._i += point.length; + return { value: point, done: false }; +}); + +},{"105":105,"61":61}],245:[function(_dereq_,module,exports){ +'use strict'; +// B.2.3.10 String.prototype.link(url) +_dereq_(107)('link', function (createHTML) { + return function link(url) { + return createHTML(this, 'a', 'href', url); + }; +}); + +},{"107":107}],246:[function(_dereq_,module,exports){ +var $export = _dereq_(40); +var toIObject = _dereq_(116); +var toLength = _dereq_(117); + +$export($export.S, 'String', { + // 21.1.2.4 String.raw(callSite, ...substitutions) + raw: function raw(callSite) { + var tpl = toIObject(callSite.raw); + var len = toLength(tpl.length); + var aLen = arguments.length; + var res = []; + var i = 0; + while (len > i) { + res.push(String(tpl[i++])); + if (i < aLen) res.push(String(arguments[i])); + } return res.join(''); + } +}); + +},{"116":116,"117":117,"40":40}],247:[function(_dereq_,module,exports){ +var $export = _dereq_(40); + +$export($export.P, 'String', { + // 21.1.3.13 String.prototype.repeat(count) + repeat: _dereq_(109) +}); + +},{"109":109,"40":40}],248:[function(_dereq_,module,exports){ +'use strict'; +// B.2.3.11 String.prototype.small() +_dereq_(107)('small', function (createHTML) { + return function small() { + return createHTML(this, 'small', '', ''); + }; +}); + +},{"107":107}],249:[function(_dereq_,module,exports){ +// 21.1.3.18 String.prototype.startsWith(searchString [, position ]) +'use strict'; +var $export = _dereq_(40); +var toLength = _dereq_(117); +var context = _dereq_(106); +var STARTS_WITH = 'startsWith'; +var $startsWith = ''[STARTS_WITH]; + +$export($export.P + $export.F * _dereq_(41)(STARTS_WITH), 'String', { + startsWith: function startsWith(searchString /* , position = 0 */) { + var that = context(this, searchString, STARTS_WITH); + var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length)); + var search = String(searchString); + return $startsWith + ? $startsWith.call(that, search, index) + : that.slice(index, index + search.length) === search; + } +}); + +},{"106":106,"117":117,"40":40,"41":41}],250:[function(_dereq_,module,exports){ +'use strict'; +// B.2.3.12 String.prototype.strike() +_dereq_(107)('strike', function (createHTML) { + return function strike() { + return createHTML(this, 'strike', '', ''); + }; +}); + +},{"107":107}],251:[function(_dereq_,module,exports){ +'use strict'; +// B.2.3.13 String.prototype.sub() +_dereq_(107)('sub', function (createHTML) { + return function sub() { + return createHTML(this, 'sub', '', ''); + }; +}); + +},{"107":107}],252:[function(_dereq_,module,exports){ +'use strict'; +// B.2.3.14 String.prototype.sup() +_dereq_(107)('sup', function (createHTML) { + return function sup() { + return createHTML(this, 'sup', '', ''); + }; +}); + +},{"107":107}],253:[function(_dereq_,module,exports){ +'use strict'; +// 21.1.3.25 String.prototype.trim() +_dereq_(110)('trim', function ($trim) { + return function trim() { + return $trim(this, 3); + }; +}); + +},{"110":110}],254:[function(_dereq_,module,exports){ +'use strict'; +// ECMAScript 6 symbols shim +var global = _dereq_(46); +var has = _dereq_(47); +var DESCRIPTORS = _dereq_(36); +var $export = _dereq_(40); +var redefine = _dereq_(94); +var META = _dereq_(70).KEY; +var $fails = _dereq_(42); +var shared = _dereq_(102); +var setToStringTag = _dereq_(100); +var uid = _dereq_(123); +var wks = _dereq_(128); +var wksExt = _dereq_(127); +var wksDefine = _dereq_(126); +var enumKeys = _dereq_(39); +var isArray = _dereq_(55); +var anObject = _dereq_(16); +var isObject = _dereq_(57); +var toIObject = _dereq_(116); +var toPrimitive = _dereq_(119); +var createDesc = _dereq_(92); +var _create = _dereq_(74); +var gOPNExt = _dereq_(78); +var $GOPD = _dereq_(77); +var $DP = _dereq_(75); +var $keys = _dereq_(83); +var gOPD = $GOPD.f; +var dP = $DP.f; +var gOPN = gOPNExt.f; +var $Symbol = global.Symbol; +var $JSON = global.JSON; +var _stringify = $JSON && $JSON.stringify; +var PROTOTYPE = 'prototype'; +var HIDDEN = wks('_hidden'); +var TO_PRIMITIVE = wks('toPrimitive'); +var isEnum = {}.propertyIsEnumerable; +var SymbolRegistry = shared('symbol-registry'); +var AllSymbols = shared('symbols'); +var OPSymbols = shared('op-symbols'); +var ObjectProto = Object[PROTOTYPE]; +var USE_NATIVE = typeof $Symbol == 'function'; +var QObject = global.QObject; +// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173 +var setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild; + +// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687 +var setSymbolDesc = DESCRIPTORS && $fails(function () { + return _create(dP({}, 'a', { + get: function () { return dP(this, 'a', { value: 7 }).a; } + })).a != 7; +}) ? function (it, key, D) { + var protoDesc = gOPD(ObjectProto, key); + if (protoDesc) delete ObjectProto[key]; + dP(it, key, D); + if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc); +} : dP; + +var wrap = function (tag) { + var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]); + sym._k = tag; + return sym; +}; + +var isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) { + return typeof it == 'symbol'; +} : function (it) { + return it instanceof $Symbol; +}; + +var $defineProperty = function defineProperty(it, key, D) { + if (it === ObjectProto) $defineProperty(OPSymbols, key, D); + anObject(it); + key = toPrimitive(key, true); + anObject(D); + if (has(AllSymbols, key)) { + if (!D.enumerable) { + if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {})); + it[HIDDEN][key] = true; + } else { + if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false; + D = _create(D, { enumerable: createDesc(0, false) }); + } return setSymbolDesc(it, key, D); + } return dP(it, key, D); +}; +var $defineProperties = function defineProperties(it, P) { + anObject(it); + var keys = enumKeys(P = toIObject(P)); + var i = 0; + var l = keys.length; + var key; + while (l > i) $defineProperty(it, key = keys[i++], P[key]); + return it; +}; +var $create = function create(it, P) { + return P === undefined ? _create(it) : $defineProperties(_create(it), P); +}; +var $propertyIsEnumerable = function propertyIsEnumerable(key) { + var E = isEnum.call(this, key = toPrimitive(key, true)); + if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false; + return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true; +}; +var $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) { + it = toIObject(it); + key = toPrimitive(key, true); + if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return; + var D = gOPD(it, key); + if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true; + return D; +}; +var $getOwnPropertyNames = function getOwnPropertyNames(it) { + var names = gOPN(toIObject(it)); + var result = []; + var i = 0; + var key; + while (names.length > i) { + if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key); + } return result; +}; +var $getOwnPropertySymbols = function getOwnPropertySymbols(it) { + var IS_OP = it === ObjectProto; + var names = gOPN(IS_OP ? OPSymbols : toIObject(it)); + var result = []; + var i = 0; + var key; + while (names.length > i) { + if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]); + } return result; +}; + +// 19.4.1.1 Symbol([description]) +if (!USE_NATIVE) { + $Symbol = function Symbol() { + if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!'); + var tag = uid(arguments.length > 0 ? arguments[0] : undefined); + var $set = function (value) { + if (this === ObjectProto) $set.call(OPSymbols, value); + if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false; + setSymbolDesc(this, tag, createDesc(1, value)); + }; + if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set }); + return wrap(tag); + }; + redefine($Symbol[PROTOTYPE], 'toString', function toString() { + return this._k; + }); + + $GOPD.f = $getOwnPropertyDescriptor; + $DP.f = $defineProperty; + _dereq_(79).f = gOPNExt.f = $getOwnPropertyNames; + _dereq_(84).f = $propertyIsEnumerable; + _dereq_(80).f = $getOwnPropertySymbols; + + if (DESCRIPTORS && !_dereq_(65)) { + redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true); + } + + wksExt.f = function (name) { + return wrap(wks(name)); + }; +} + +$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol }); + +for (var es6Symbols = ( + // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14 + 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables' +).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]); + +for (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]); + +$export($export.S + $export.F * !USE_NATIVE, 'Symbol', { + // 19.4.2.1 Symbol.for(key) + 'for': function (key) { + return has(SymbolRegistry, key += '') + ? SymbolRegistry[key] + : SymbolRegistry[key] = $Symbol(key); + }, + // 19.4.2.5 Symbol.keyFor(sym) + keyFor: function keyFor(sym) { + if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!'); + for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key; + }, + useSetter: function () { setter = true; }, + useSimple: function () { setter = false; } +}); + +$export($export.S + $export.F * !USE_NATIVE, 'Object', { + // 19.1.2.2 Object.create(O [, Properties]) + create: $create, + // 19.1.2.4 Object.defineProperty(O, P, Attributes) + defineProperty: $defineProperty, + // 19.1.2.3 Object.defineProperties(O, Properties) + defineProperties: $defineProperties, + // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P) + getOwnPropertyDescriptor: $getOwnPropertyDescriptor, + // 19.1.2.7 Object.getOwnPropertyNames(O) + getOwnPropertyNames: $getOwnPropertyNames, + // 19.1.2.8 Object.getOwnPropertySymbols(O) + getOwnPropertySymbols: $getOwnPropertySymbols +}); + +// 24.3.2 JSON.stringify(value [, replacer [, space]]) +$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () { + var S = $Symbol(); + // MS Edge converts symbol values to JSON as {} + // WebKit converts symbol values to JSON as null + // V8 throws on boxed symbols + return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}'; +})), 'JSON', { + stringify: function stringify(it) { + var args = [it]; + var i = 1; + var replacer, $replacer; + while (arguments.length > i) args.push(arguments[i++]); + $replacer = replacer = args[1]; + if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined + if (!isArray(replacer)) replacer = function (key, value) { + if (typeof $replacer == 'function') value = $replacer.call(this, key, value); + if (!isSymbol(value)) return value; + }; + args[1] = replacer; + return _stringify.apply($JSON, args); + } +}); + +// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint) +$Symbol[PROTOTYPE][TO_PRIMITIVE] || _dereq_(48)($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf); +// 19.4.3.5 Symbol.prototype[@@toStringTag] +setToStringTag($Symbol, 'Symbol'); +// 20.2.1.9 Math[@@toStringTag] +setToStringTag(Math, 'Math', true); +// 24.3.3 JSON[@@toStringTag] +setToStringTag(global.JSON, 'JSON', true); + +},{"100":100,"102":102,"116":116,"119":119,"123":123,"126":126,"127":127,"128":128,"16":16,"36":36,"39":39,"40":40,"42":42,"46":46,"47":47,"48":48,"55":55,"57":57,"65":65,"70":70,"74":74,"75":75,"77":77,"78":78,"79":79,"80":80,"83":83,"84":84,"92":92,"94":94}],255:[function(_dereq_,module,exports){ +'use strict'; +var $export = _dereq_(40); +var $typed = _dereq_(122); +var buffer = _dereq_(121); +var anObject = _dereq_(16); +var toAbsoluteIndex = _dereq_(113); +var toLength = _dereq_(117); +var isObject = _dereq_(57); +var ArrayBuffer = _dereq_(46).ArrayBuffer; +var speciesConstructor = _dereq_(103); +var $ArrayBuffer = buffer.ArrayBuffer; +var $DataView = buffer.DataView; +var $isView = $typed.ABV && ArrayBuffer.isView; +var $slice = $ArrayBuffer.prototype.slice; +var VIEW = $typed.VIEW; +var ARRAY_BUFFER = 'ArrayBuffer'; + +$export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), { ArrayBuffer: $ArrayBuffer }); + +$export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, { + // 24.1.3.1 ArrayBuffer.isView(arg) + isView: function isView(it) { + return $isView && $isView(it) || isObject(it) && VIEW in it; + } +}); + +$export($export.P + $export.U + $export.F * _dereq_(42)(function () { + return !new $ArrayBuffer(2).slice(1, undefined).byteLength; +}), ARRAY_BUFFER, { + // 24.1.4.3 ArrayBuffer.prototype.slice(start, end) + slice: function slice(start, end) { + if ($slice !== undefined && end === undefined) return $slice.call(anObject(this), start); // FF fix + var len = anObject(this).byteLength; + var first = toAbsoluteIndex(start, len); + var fin = toAbsoluteIndex(end === undefined ? len : end, len); + var result = new (speciesConstructor(this, $ArrayBuffer))(toLength(fin - first)); + var viewS = new $DataView(this); + var viewT = new $DataView(result); + var index = 0; + while (first < fin) { + viewT.setUint8(index++, viewS.getUint8(first++)); + } return result; + } +}); + +_dereq_(99)(ARRAY_BUFFER); + +},{"103":103,"113":113,"117":117,"121":121,"122":122,"16":16,"40":40,"42":42,"46":46,"57":57,"99":99}],256:[function(_dereq_,module,exports){ +var $export = _dereq_(40); +$export($export.G + $export.W + $export.F * !_dereq_(122).ABV, { + DataView: _dereq_(121).DataView +}); + +},{"121":121,"122":122,"40":40}],257:[function(_dereq_,module,exports){ +_dereq_(120)('Float32', 4, function (init) { + return function Float32Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + +},{"120":120}],258:[function(_dereq_,module,exports){ +_dereq_(120)('Float64', 8, function (init) { + return function Float64Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + +},{"120":120}],259:[function(_dereq_,module,exports){ +_dereq_(120)('Int16', 2, function (init) { + return function Int16Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + +},{"120":120}],260:[function(_dereq_,module,exports){ +_dereq_(120)('Int32', 4, function (init) { + return function Int32Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + +},{"120":120}],261:[function(_dereq_,module,exports){ +_dereq_(120)('Int8', 1, function (init) { + return function Int8Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + +},{"120":120}],262:[function(_dereq_,module,exports){ +_dereq_(120)('Uint16', 2, function (init) { + return function Uint16Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + +},{"120":120}],263:[function(_dereq_,module,exports){ +_dereq_(120)('Uint32', 4, function (init) { + return function Uint32Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + +},{"120":120}],264:[function(_dereq_,module,exports){ +_dereq_(120)('Uint8', 1, function (init) { + return function Uint8Array(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}); + +},{"120":120}],265:[function(_dereq_,module,exports){ +_dereq_(120)('Uint8', 1, function (init) { + return function Uint8ClampedArray(data, byteOffset, length) { + return init(this, data, byteOffset, length); + }; +}, true); + +},{"120":120}],266:[function(_dereq_,module,exports){ +'use strict'; +var each = _dereq_(20)(0); +var redefine = _dereq_(94); +var meta = _dereq_(70); +var assign = _dereq_(73); +var weak = _dereq_(28); +var isObject = _dereq_(57); +var fails = _dereq_(42); +var validate = _dereq_(125); +var WEAK_MAP = 'WeakMap'; +var getWeak = meta.getWeak; +var isExtensible = Object.isExtensible; +var uncaughtFrozenStore = weak.ufstore; +var tmp = {}; +var InternalMap; + +var wrapper = function (get) { + return function WeakMap() { + return get(this, arguments.length > 0 ? arguments[0] : undefined); + }; +}; + +var methods = { + // 23.3.3.3 WeakMap.prototype.get(key) + get: function get(key) { + if (isObject(key)) { + var data = getWeak(key); + if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key); + return data ? data[this._i] : undefined; + } + }, + // 23.3.3.5 WeakMap.prototype.set(key, value) + set: function set(key, value) { + return weak.def(validate(this, WEAK_MAP), key, value); + } +}; + +// 23.3 WeakMap Objects +var $WeakMap = module.exports = _dereq_(29)(WEAK_MAP, wrapper, methods, weak, true, true); + +// IE11 WeakMap frozen keys fix +if (fails(function () { return new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7; })) { + InternalMap = weak.getConstructor(wrapper, WEAK_MAP); + assign(InternalMap.prototype, methods); + meta.NEED = true; + each(['delete', 'has', 'get', 'set'], function (key) { + var proto = $WeakMap.prototype; + var method = proto[key]; + redefine(proto, key, function (a, b) { + // store frozen objects on internal weakmap shim + if (isObject(a) && !isExtensible(a)) { + if (!this._f) this._f = new InternalMap(); + var result = this._f[key](a, b); + return key == 'set' ? this : result; + // store all the rest on native weakmap + } return method.call(this, a, b); + }); + }); +} + +},{"125":125,"20":20,"28":28,"29":29,"42":42,"57":57,"70":70,"73":73,"94":94}],267:[function(_dereq_,module,exports){ +'use strict'; +var weak = _dereq_(28); +var validate = _dereq_(125); +var WEAK_SET = 'WeakSet'; + +// 23.4 WeakSet Objects +_dereq_(29)(WEAK_SET, function (get) { + return function WeakSet() { return get(this, arguments.length > 0 ? arguments[0] : undefined); }; +}, { + // 23.4.3.1 WeakSet.prototype.add(value) + add: function add(value) { + return weak.def(validate(this, WEAK_SET), value, true); + } +}, weak, false, true); + +},{"125":125,"28":28,"29":29}],268:[function(_dereq_,module,exports){ +'use strict'; +// https://github.com/tc39/Array.prototype.includes +var $export = _dereq_(40); +var $includes = _dereq_(19)(true); + +$export($export.P, 'Array', { + includes: function includes(el /* , fromIndex = 0 */) { + return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined); + } +}); + +_dereq_(13)('includes'); + +},{"13":13,"19":19,"40":40}],269:[function(_dereq_,module,exports){ +// https://github.com/tc39/proposal-object-values-entries +var $export = _dereq_(40); +var $entries = _dereq_(86)(true); + +$export($export.S, 'Object', { + entries: function entries(it) { + return $entries(it); + } +}); + +},{"40":40,"86":86}],270:[function(_dereq_,module,exports){ +// https://github.com/tc39/proposal-object-getownpropertydescriptors +var $export = _dereq_(40); +var ownKeys = _dereq_(87); +var toIObject = _dereq_(116); +var gOPD = _dereq_(77); +var createProperty = _dereq_(31); + +$export($export.S, 'Object', { + getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) { + var O = toIObject(object); + var getDesc = gOPD.f; + var keys = ownKeys(O); + var result = {}; + var i = 0; + var key, desc; + while (keys.length > i) { + desc = getDesc(O, key = keys[i++]); + if (desc !== undefined) createProperty(result, key, desc); + } + return result; + } +}); + +},{"116":116,"31":31,"40":40,"77":77,"87":87}],271:[function(_dereq_,module,exports){ +// https://github.com/tc39/proposal-object-values-entries +var $export = _dereq_(40); +var $values = _dereq_(86)(false); + +$export($export.S, 'Object', { + values: function values(it) { + return $values(it); + } +}); + +},{"40":40,"86":86}],272:[function(_dereq_,module,exports){ +// https://github.com/tc39/proposal-promise-finally +'use strict'; +var $export = _dereq_(40); +var core = _dereq_(30); +var global = _dereq_(46); +var speciesConstructor = _dereq_(103); +var promiseResolve = _dereq_(91); + +$export($export.P + $export.R, 'Promise', { 'finally': function (onFinally) { + var C = speciesConstructor(this, core.Promise || global.Promise); + var isFunction = typeof onFinally == 'function'; + return this.then( + isFunction ? function (x) { + return promiseResolve(C, onFinally()).then(function () { return x; }); + } : onFinally, + isFunction ? function (e) { + return promiseResolve(C, onFinally()).then(function () { throw e; }); + } : onFinally + ); +} }); + +},{"103":103,"30":30,"40":40,"46":46,"91":91}],273:[function(_dereq_,module,exports){ +'use strict'; +// https://github.com/tc39/proposal-string-pad-start-end +var $export = _dereq_(40); +var $pad = _dereq_(108); +var userAgent = _dereq_(124); + +// https://github.com/zloirock/core-js/issues/280 +$export($export.P + $export.F * /Version\/10\.\d+(\.\d+)? Safari\//.test(userAgent), 'String', { + padEnd: function padEnd(maxLength /* , fillString = ' ' */) { + return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false); + } +}); + +},{"108":108,"124":124,"40":40}],274:[function(_dereq_,module,exports){ +'use strict'; +// https://github.com/tc39/proposal-string-pad-start-end +var $export = _dereq_(40); +var $pad = _dereq_(108); +var userAgent = _dereq_(124); + +// https://github.com/zloirock/core-js/issues/280 +$export($export.P + $export.F * /Version\/10\.\d+(\.\d+)? Safari\//.test(userAgent), 'String', { + padStart: function padStart(maxLength /* , fillString = ' ' */) { + return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true); + } +}); + +},{"108":108,"124":124,"40":40}],275:[function(_dereq_,module,exports){ +_dereq_(126)('asyncIterator'); + +},{"126":126}],276:[function(_dereq_,module,exports){ +var $iterators = _dereq_(140); +var getKeys = _dereq_(83); +var redefine = _dereq_(94); +var global = _dereq_(46); +var hide = _dereq_(48); +var Iterators = _dereq_(64); +var wks = _dereq_(128); +var ITERATOR = wks('iterator'); +var TO_STRING_TAG = wks('toStringTag'); +var ArrayValues = Iterators.Array; + +var DOMIterables = { + CSSRuleList: true, // TODO: Not spec compliant, should be false. + CSSStyleDeclaration: false, + CSSValueList: false, + ClientRectList: false, + DOMRectList: false, + DOMStringList: false, + DOMTokenList: true, + DataTransferItemList: false, + FileList: false, + HTMLAllCollection: false, + HTMLCollection: false, + HTMLFormElement: false, + HTMLSelectElement: false, + MediaList: true, // TODO: Not spec compliant, should be false. + MimeTypeArray: false, + NamedNodeMap: false, + NodeList: true, + PaintRequestList: false, + Plugin: false, + PluginArray: false, + SVGLengthList: false, + SVGNumberList: false, + SVGPathSegList: false, + SVGPointList: false, + SVGStringList: false, + SVGTransformList: false, + SourceBufferList: false, + StyleSheetList: true, // TODO: Not spec compliant, should be false. + TextTrackCueList: false, + TextTrackList: false, + TouchList: false +}; + +for (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) { + var NAME = collections[i]; + var explicit = DOMIterables[NAME]; + var Collection = global[NAME]; + var proto = Collection && Collection.prototype; + var key; + if (proto) { + if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues); + if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME); + Iterators[NAME] = ArrayValues; + if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true); + } +} + +},{"128":128,"140":140,"46":46,"48":48,"64":64,"83":83,"94":94}],277:[function(_dereq_,module,exports){ +var $export = _dereq_(40); +var $task = _dereq_(112); +$export($export.G + $export.B, { + setImmediate: $task.set, + clearImmediate: $task.clear +}); + +},{"112":112,"40":40}],278:[function(_dereq_,module,exports){ +// ie9- setTimeout & setInterval additional parameters fix +var global = _dereq_(46); +var $export = _dereq_(40); +var userAgent = _dereq_(124); +var slice = [].slice; +var MSIE = /MSIE .\./.test(userAgent); // <- dirty ie9- check +var wrap = function (set) { + return function (fn, time /* , ...args */) { + var boundArgs = arguments.length > 2; + var args = boundArgs ? slice.call(arguments, 2) : false; + return set(boundArgs ? function () { + // eslint-disable-next-line no-new-func + (typeof fn == 'function' ? fn : Function(fn)).apply(this, args); + } : fn, time); + }; +}; +$export($export.G + $export.B + $export.F * MSIE, { + setTimeout: wrap(global.setTimeout), + setInterval: wrap(global.setInterval) +}); + +},{"124":124,"40":40,"46":46}],279:[function(_dereq_,module,exports){ +_dereq_(278); +_dereq_(277); +_dereq_(276); +module.exports = _dereq_(30); + +},{"276":276,"277":277,"278":278,"30":30}],280:[function(_dereq_,module,exports){ +/** + * Copyright (c) 2014-present, Facebook, Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */ + +!(function(global) { + "use strict"; + + var Op = Object.prototype; + var hasOwn = Op.hasOwnProperty; + var undefined; // More compressible than void 0. + var $Symbol = typeof Symbol === "function" ? Symbol : {}; + var iteratorSymbol = $Symbol.iterator || "@@iterator"; + var asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator"; + var toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; + + var inModule = typeof module === "object"; + var runtime = global.regeneratorRuntime; + if (runtime) { + if (inModule) { + // If regeneratorRuntime is defined globally and we're in a module, + // make the exports object identical to regeneratorRuntime. + module.exports = runtime; + } + // Don't bother evaluating the rest of this file if the runtime was + // already defined globally. + return; + } + + // Define the runtime globally (as expected by generated code) as either + // module.exports (if we're in a module) or a new, empty object. + runtime = global.regeneratorRuntime = inModule ? module.exports : {}; + + function wrap(innerFn, outerFn, self, tryLocsList) { + // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator. + var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator; + var generator = Object.create(protoGenerator.prototype); + var context = new Context(tryLocsList || []); + + // The ._invoke method unifies the implementations of the .next, + // .throw, and .return methods. + generator._invoke = makeInvokeMethod(innerFn, self, context); + + return generator; + } + runtime.wrap = wrap; + + // Try/catch helper to minimize deoptimizations. Returns a completion + // record like context.tryEntries[i].completion. This interface could + // have been (and was previously) designed to take a closure to be + // invoked without arguments, but in all the cases we care about we + // already have an existing method we want to call, so there's no need + // to create a new function object. We can even get away with assuming + // the method takes exactly one argument, since that happens to be true + // in every case, so we don't have to touch the arguments object. The + // only additional allocation required is the completion record, which + // has a stable shape and so hopefully should be cheap to allocate. + function tryCatch(fn, obj, arg) { + try { + return { type: "normal", arg: fn.call(obj, arg) }; + } catch (err) { + return { type: "throw", arg: err }; + } + } + + var GenStateSuspendedStart = "suspendedStart"; + var GenStateSuspendedYield = "suspendedYield"; + var GenStateExecuting = "executing"; + var GenStateCompleted = "completed"; + + // Returning this object from the innerFn has the same effect as + // breaking out of the dispatch switch statement. + var ContinueSentinel = {}; + + // Dummy constructor functions that we use as the .constructor and + // .constructor.prototype properties for functions that return Generator + // objects. For full spec compliance, you may wish to configure your + // minifier not to mangle the names of these two functions. + function Generator() {} + function GeneratorFunction() {} + function GeneratorFunctionPrototype() {} + + // This is a polyfill for %IteratorPrototype% for environments that + // don't natively support it. + var IteratorPrototype = {}; + IteratorPrototype[iteratorSymbol] = function () { + return this; + }; + + var getProto = Object.getPrototypeOf; + var NativeIteratorPrototype = getProto && getProto(getProto(values([]))); + if (NativeIteratorPrototype && + NativeIteratorPrototype !== Op && + hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) { + // This environment has a native %IteratorPrototype%; use it instead + // of the polyfill. + IteratorPrototype = NativeIteratorPrototype; + } + + var Gp = GeneratorFunctionPrototype.prototype = + Generator.prototype = Object.create(IteratorPrototype); + GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype; + GeneratorFunctionPrototype.constructor = GeneratorFunction; + GeneratorFunctionPrototype[toStringTagSymbol] = + GeneratorFunction.displayName = "GeneratorFunction"; + + // Helper for defining the .next, .throw, and .return methods of the + // Iterator interface in terms of a single ._invoke method. + function defineIteratorMethods(prototype) { + ["next", "throw", "return"].forEach(function(method) { + prototype[method] = function(arg) { + return this._invoke(method, arg); + }; + }); + } + + runtime.isGeneratorFunction = function(genFun) { + var ctor = typeof genFun === "function" && genFun.constructor; + return ctor + ? ctor === GeneratorFunction || + // For the native GeneratorFunction constructor, the best we can + // do is to check its .name property. + (ctor.displayName || ctor.name) === "GeneratorFunction" + : false; + }; + + runtime.mark = function(genFun) { + if (Object.setPrototypeOf) { + Object.setPrototypeOf(genFun, GeneratorFunctionPrototype); + } else { + genFun.__proto__ = GeneratorFunctionPrototype; + if (!(toStringTagSymbol in genFun)) { + genFun[toStringTagSymbol] = "GeneratorFunction"; + } + } + genFun.prototype = Object.create(Gp); + return genFun; + }; + + // Within the body of any async function, `await x` is transformed to + // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test + // `hasOwn.call(value, "__await")` to determine if the yielded value is + // meant to be awaited. + runtime.awrap = function(arg) { + return { __await: arg }; + }; + + function AsyncIterator(generator) { + function invoke(method, arg, resolve, reject) { + var record = tryCatch(generator[method], generator, arg); + if (record.type === "throw") { + reject(record.arg); + } else { + var result = record.arg; + var value = result.value; + if (value && + typeof value === "object" && + hasOwn.call(value, "__await")) { + return Promise.resolve(value.__await).then(function(value) { + invoke("next", value, resolve, reject); + }, function(err) { + invoke("throw", err, resolve, reject); + }); + } + + return Promise.resolve(value).then(function(unwrapped) { + // When a yielded Promise is resolved, its final value becomes + // the .value of the Promise<{value,done}> result for the + // current iteration. + result.value = unwrapped; + resolve(result); + }, function(error) { + // If a rejected Promise was yielded, throw the rejection back + // into the async generator function so it can be handled there. + return invoke("throw", error, resolve, reject); + }); + } + } + + var previousPromise; + + function enqueue(method, arg) { + function callInvokeWithMethodAndArg() { + return new Promise(function(resolve, reject) { + invoke(method, arg, resolve, reject); + }); + } + + return previousPromise = + // If enqueue has been called before, then we want to wait until + // all previous Promises have been resolved before calling invoke, + // so that results are always delivered in the correct order. If + // enqueue has not been called before, then it is important to + // call invoke immediately, without waiting on a callback to fire, + // so that the async generator function has the opportunity to do + // any necessary setup in a predictable way. This predictability + // is why the Promise constructor synchronously invokes its + // executor callback, and why async functions synchronously + // execute code before the first await. Since we implement simple + // async functions in terms of async generators, it is especially + // important to get this right, even though it requires care. + previousPromise ? previousPromise.then( + callInvokeWithMethodAndArg, + // Avoid propagating failures to Promises returned by later + // invocations of the iterator. + callInvokeWithMethodAndArg + ) : callInvokeWithMethodAndArg(); + } + + // Define the unified helper method that is used to implement .next, + // .throw, and .return (see defineIteratorMethods). + this._invoke = enqueue; + } + + defineIteratorMethods(AsyncIterator.prototype); + AsyncIterator.prototype[asyncIteratorSymbol] = function () { + return this; + }; + runtime.AsyncIterator = AsyncIterator; + + // Note that simple async functions are implemented on top of + // AsyncIterator objects; they just return a Promise for the value of + // the final result produced by the iterator. + runtime.async = function(innerFn, outerFn, self, tryLocsList) { + var iter = new AsyncIterator( + wrap(innerFn, outerFn, self, tryLocsList) + ); + + return runtime.isGeneratorFunction(outerFn) + ? iter // If outerFn is a generator, return the full iterator. + : iter.next().then(function(result) { + return result.done ? result.value : iter.next(); + }); + }; + + function makeInvokeMethod(innerFn, self, context) { + var state = GenStateSuspendedStart; + + return function invoke(method, arg) { + if (state === GenStateExecuting) { + throw new Error("Generator is already running"); + } + + if (state === GenStateCompleted) { + if (method === "throw") { + throw arg; + } + + // Be forgiving, per 25.3.3.3.3 of the spec: + // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume + return doneResult(); + } + + context.method = method; + context.arg = arg; + + while (true) { + var delegate = context.delegate; + if (delegate) { + var delegateResult = maybeInvokeDelegate(delegate, context); + if (delegateResult) { + if (delegateResult === ContinueSentinel) continue; + return delegateResult; + } + } + + if (context.method === "next") { + // Setting context._sent for legacy support of Babel's + // function.sent implementation. + context.sent = context._sent = context.arg; + + } else if (context.method === "throw") { + if (state === GenStateSuspendedStart) { + state = GenStateCompleted; + throw context.arg; + } + + context.dispatchException(context.arg); + + } else if (context.method === "return") { + context.abrupt("return", context.arg); + } + + state = GenStateExecuting; + + var record = tryCatch(innerFn, self, context); + if (record.type === "normal") { + // If an exception is thrown from innerFn, we leave state === + // GenStateExecuting and loop back for another invocation. + state = context.done + ? GenStateCompleted + : GenStateSuspendedYield; + + if (record.arg === ContinueSentinel) { + continue; + } + + return { + value: record.arg, + done: context.done + }; + + } else if (record.type === "throw") { + state = GenStateCompleted; + // Dispatch the exception by looping back around to the + // context.dispatchException(context.arg) call above. + context.method = "throw"; + context.arg = record.arg; + } + } + }; + } + + // Call delegate.iterator[context.method](context.arg) and handle the + // result, either by returning a { value, done } result from the + // delegate iterator, or by modifying context.method and context.arg, + // setting context.delegate to null, and returning the ContinueSentinel. + function maybeInvokeDelegate(delegate, context) { + var method = delegate.iterator[context.method]; + if (method === undefined) { + // A .throw or .return when the delegate iterator has no .throw + // method always terminates the yield* loop. + context.delegate = null; + + if (context.method === "throw") { + if (delegate.iterator.return) { + // If the delegate iterator has a return method, give it a + // chance to clean up. + context.method = "return"; + context.arg = undefined; + maybeInvokeDelegate(delegate, context); + + if (context.method === "throw") { + // If maybeInvokeDelegate(context) changed context.method from + // "return" to "throw", let that override the TypeError below. + return ContinueSentinel; + } + } + + context.method = "throw"; + context.arg = new TypeError( + "The iterator does not provide a 'throw' method"); + } + + return ContinueSentinel; + } + + var record = tryCatch(method, delegate.iterator, context.arg); + + if (record.type === "throw") { + context.method = "throw"; + context.arg = record.arg; + context.delegate = null; + return ContinueSentinel; + } + + var info = record.arg; + + if (! info) { + context.method = "throw"; + context.arg = new TypeError("iterator result is not an object"); + context.delegate = null; + return ContinueSentinel; + } + + if (info.done) { + // Assign the result of the finished delegate to the temporary + // variable specified by delegate.resultName (see delegateYield). + context[delegate.resultName] = info.value; + + // Resume execution at the desired location (see delegateYield). + context.next = delegate.nextLoc; + + // If context.method was "throw" but the delegate handled the + // exception, let the outer generator proceed normally. If + // context.method was "next", forget context.arg since it has been + // "consumed" by the delegate iterator. If context.method was + // "return", allow the original .return call to continue in the + // outer generator. + if (context.method !== "return") { + context.method = "next"; + context.arg = undefined; + } + + } else { + // Re-yield the result returned by the delegate method. + return info; + } + + // The delegate iterator is finished, so forget it and continue with + // the outer generator. + context.delegate = null; + return ContinueSentinel; + } + + // Define Generator.prototype.{next,throw,return} in terms of the + // unified ._invoke helper method. + defineIteratorMethods(Gp); + + Gp[toStringTagSymbol] = "Generator"; + + // A Generator should always return itself as the iterator object when the + // @@iterator function is called on it. Some browsers' implementations of the + // iterator prototype chain incorrectly implement this, causing the Generator + // object to not be returned from this call. This ensures that doesn't happen. + // See https://github.com/facebook/regenerator/issues/274 for more details. + Gp[iteratorSymbol] = function() { + return this; + }; + + Gp.toString = function() { + return "[object Generator]"; + }; + + function pushTryEntry(locs) { + var entry = { tryLoc: locs[0] }; + + if (1 in locs) { + entry.catchLoc = locs[1]; + } + + if (2 in locs) { + entry.finallyLoc = locs[2]; + entry.afterLoc = locs[3]; + } + + this.tryEntries.push(entry); + } + + function resetTryEntry(entry) { + var record = entry.completion || {}; + record.type = "normal"; + delete record.arg; + entry.completion = record; + } + + function Context(tryLocsList) { + // The root entry object (effectively a try statement without a catch + // or a finally block) gives us a place to store values thrown from + // locations where there is no enclosing try statement. + this.tryEntries = [{ tryLoc: "root" }]; + tryLocsList.forEach(pushTryEntry, this); + this.reset(true); + } + + runtime.keys = function(object) { + var keys = []; + for (var key in object) { + keys.push(key); + } + keys.reverse(); + + // Rather than returning an object with a next method, we keep + // things simple and return the next function itself. + return function next() { + while (keys.length) { + var key = keys.pop(); + if (key in object) { + next.value = key; + next.done = false; + return next; + } + } + + // To avoid creating an additional object, we just hang the .value + // and .done properties off the next function object itself. This + // also ensures that the minifier will not anonymize the function. + next.done = true; + return next; + }; + }; + + function values(iterable) { + if (iterable) { + var iteratorMethod = iterable[iteratorSymbol]; + if (iteratorMethod) { + return iteratorMethod.call(iterable); + } + + if (typeof iterable.next === "function") { + return iterable; + } + + if (!isNaN(iterable.length)) { + var i = -1, next = function next() { + while (++i < iterable.length) { + if (hasOwn.call(iterable, i)) { + next.value = iterable[i]; + next.done = false; + return next; + } + } + + next.value = undefined; + next.done = true; + + return next; + }; + + return next.next = next; + } + } + + // Return an iterator with no values. + return { next: doneResult }; + } + runtime.values = values; + + function doneResult() { + return { value: undefined, done: true }; + } + + Context.prototype = { + constructor: Context, + + reset: function(skipTempReset) { + this.prev = 0; + this.next = 0; + // Resetting context._sent for legacy support of Babel's + // function.sent implementation. + this.sent = this._sent = undefined; + this.done = false; + this.delegate = null; + + this.method = "next"; + this.arg = undefined; + + this.tryEntries.forEach(resetTryEntry); + + if (!skipTempReset) { + for (var name in this) { + // Not sure about the optimal order of these conditions: + if (name.charAt(0) === "t" && + hasOwn.call(this, name) && + !isNaN(+name.slice(1))) { + this[name] = undefined; + } + } + } + }, + + stop: function() { + this.done = true; + + var rootEntry = this.tryEntries[0]; + var rootRecord = rootEntry.completion; + if (rootRecord.type === "throw") { + throw rootRecord.arg; + } + + return this.rval; + }, + + dispatchException: function(exception) { + if (this.done) { + throw exception; + } + + var context = this; + function handle(loc, caught) { + record.type = "throw"; + record.arg = exception; + context.next = loc; + + if (caught) { + // If the dispatched exception was caught by a catch block, + // then let that catch block handle the exception normally. + context.method = "next"; + context.arg = undefined; + } + + return !! caught; + } + + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + var record = entry.completion; + + if (entry.tryLoc === "root") { + // Exception thrown outside of any try block that could handle + // it, so set the completion value of the entire function to + // throw the exception. + return handle("end"); + } + + if (entry.tryLoc <= this.prev) { + var hasCatch = hasOwn.call(entry, "catchLoc"); + var hasFinally = hasOwn.call(entry, "finallyLoc"); + + if (hasCatch && hasFinally) { + if (this.prev < entry.catchLoc) { + return handle(entry.catchLoc, true); + } else if (this.prev < entry.finallyLoc) { + return handle(entry.finallyLoc); + } + + } else if (hasCatch) { + if (this.prev < entry.catchLoc) { + return handle(entry.catchLoc, true); + } + + } else if (hasFinally) { + if (this.prev < entry.finallyLoc) { + return handle(entry.finallyLoc); + } + + } else { + throw new Error("try statement without catch or finally"); + } + } + } + }, + + abrupt: function(type, arg) { + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + if (entry.tryLoc <= this.prev && + hasOwn.call(entry, "finallyLoc") && + this.prev < entry.finallyLoc) { + var finallyEntry = entry; + break; + } + } + + if (finallyEntry && + (type === "break" || + type === "continue") && + finallyEntry.tryLoc <= arg && + arg <= finallyEntry.finallyLoc) { + // Ignore the finally entry if control is not jumping to a + // location outside the try/catch block. + finallyEntry = null; + } + + var record = finallyEntry ? finallyEntry.completion : {}; + record.type = type; + record.arg = arg; + + if (finallyEntry) { + this.method = "next"; + this.next = finallyEntry.finallyLoc; + return ContinueSentinel; + } + + return this.complete(record); + }, + + complete: function(record, afterLoc) { + if (record.type === "throw") { + throw record.arg; + } + + if (record.type === "break" || + record.type === "continue") { + this.next = record.arg; + } else if (record.type === "return") { + this.rval = this.arg = record.arg; + this.method = "return"; + this.next = "end"; + } else if (record.type === "normal" && afterLoc) { + this.next = afterLoc; + } + + return ContinueSentinel; + }, + + finish: function(finallyLoc) { + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + if (entry.finallyLoc === finallyLoc) { + this.complete(entry.completion, entry.afterLoc); + resetTryEntry(entry); + return ContinueSentinel; + } + } + }, + + "catch": function(tryLoc) { + for (var i = this.tryEntries.length - 1; i >= 0; --i) { + var entry = this.tryEntries[i]; + if (entry.tryLoc === tryLoc) { + var record = entry.completion; + if (record.type === "throw") { + var thrown = record.arg; + resetTryEntry(entry); + } + return thrown; + } + } + + // The context.catch method must only be called with a location + // argument that corresponds to a known catch block. + throw new Error("illegal catch attempt"); + }, + + delegateYield: function(iterable, resultName, nextLoc) { + this.delegate = { + iterator: values(iterable), + resultName: resultName, + nextLoc: nextLoc + }; + + if (this.method === "next") { + // Deliberately forget the last sent value so that we don't + // accidentally pass it on to the delegate. + this.arg = undefined; + } + + return ContinueSentinel; + } + }; +})( + // In sloppy mode, unbound `this` refers to the global object, fallback to + // Function constructor if we're in global strict mode. That is sadly a form + // of indirect eval which violates Content Security Policy. + (function() { + return this || (typeof self === "object" && self); + })() || Function("return this")() +); + +},{}]},{},[1]); diff --git a/public/cdn/font-icon/font_2316098_umqusozousr.js b/public/cdn/font-icon/font_2316098_umqusozousr.js new file mode 100644 index 0000000..b098acf --- /dev/null +++ b/public/cdn/font-icon/font_2316098_umqusozousr.js @@ -0,0 +1 @@ +!function(c){var a,t,e,i,l,n,o='',d=(d=document.getElementsByTagName("script"))[d.length-1].getAttribute("data-injectcss");if(d&&!c.__iconfont__svg__cssinject__){c.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(c){console&&console.log(c)}}function h(){l||(l=!0,e())}a=function(){var c,a,t,e;(e=document.createElement("div")).innerHTML=o,o=null,(t=e.getElementsByTagName("svg")[0])&&(t.setAttribute("aria-hidden","true"),t.style.position="absolute",t.style.width=0,t.style.height=0,t.style.overflow="hidden",c=t,(a=document.body).firstChild?(e=c,(t=a.firstChild).parentNode.insertBefore(e,t)):a.appendChild(c))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(a,0):(t=function(){document.removeEventListener("DOMContentLoaded",t,!1),a()},document.addEventListener("DOMContentLoaded",t,!1)):document.attachEvent&&(e=a,i=c.document,l=!1,(n=function(){try{i.documentElement.doScroll("left")}catch(c){return void setTimeout(n,50)}h()})(),i.onreadystatechange=function(){"complete"==i.readyState&&(i.onreadystatechange=null,h())})}(window); \ No newline at end of file diff --git a/public/color.less b/public/color.less new file mode 100644 index 0000000..0f799c1 --- /dev/null +++ b/public/color.less @@ -0,0 +1,7720 @@ +@primary-color: #1890ff; +/* stylelint-disable at-rule-empty-line-before,at-rule-name-space-after,at-rule-no-unknown */ +/* stylelint-disable no-duplicate-selectors */ +/* stylelint-disable */ +.bezierEasingMixin() { + @functions: ~`(function() { + var NEWTON_ITERATIONS = 4; + var NEWTON_MIN_SLOPE = 0.001; + var SUBDIVISION_PRECISION = 0.0000001; + var SUBDIVISION_MAX_ITERATIONS = 10; + + var kSplineTableSize = 11; + var kSampleStepSize = 1.0 / (kSplineTableSize - 1.0); + + var float32ArraySupported = typeof Float32Array === 'function'; + + function A (aA1, aA2) { return 1.0 - 3.0 * aA2 + 3.0 * aA1; } + function B (aA1, aA2) { return 3.0 * aA2 - 6.0 * aA1; } + function C (aA1) { return 3.0 * aA1; } + + // Returns x(t) given t, x1, and x2, or y(t) given t, y1, and y2. + function calcBezier (aT, aA1, aA2) { return ((A(aA1, aA2) * aT + B(aA1, aA2)) * aT + C(aA1)) * aT; } + + // Returns dx/dt given t, x1, and x2, or dy/dt given t, y1, and y2. + function getSlope (aT, aA1, aA2) { return 3.0 * A(aA1, aA2) * aT * aT + 2.0 * B(aA1, aA2) * aT + C(aA1); } + + function binarySubdivide (aX, aA, aB, mX1, mX2) { + var currentX, currentT, i = 0; + do { + currentT = aA + (aB - aA) / 2.0; + currentX = calcBezier(currentT, mX1, mX2) - aX; + if (currentX > 0.0) { + aB = currentT; + } else { + aA = currentT; + } + } while (Math.abs(currentX) > SUBDIVISION_PRECISION && ++i < SUBDIVISION_MAX_ITERATIONS); + return currentT; + } + + function newtonRaphsonIterate (aX, aGuessT, mX1, mX2) { + for (var i = 0; i < NEWTON_ITERATIONS; ++i) { + var currentSlope = getSlope(aGuessT, mX1, mX2); + if (currentSlope === 0.0) { + return aGuessT; + } + var currentX = calcBezier(aGuessT, mX1, mX2) - aX; + aGuessT -= currentX / currentSlope; + } + return aGuessT; + } + + var BezierEasing = function (mX1, mY1, mX2, mY2) { + if (!(0 <= mX1 && mX1 <= 1 && 0 <= mX2 && mX2 <= 1)) { + throw new Error('bezier x values must be in [0, 1] range'); + } + + // Precompute samples table + var sampleValues = float32ArraySupported ? new Float32Array(kSplineTableSize) : new Array(kSplineTableSize); + if (mX1 !== mY1 || mX2 !== mY2) { + for (var i = 0; i < kSplineTableSize; ++i) { + sampleValues[i] = calcBezier(i * kSampleStepSize, mX1, mX2); + } + } + + function getTForX (aX) { + var intervalStart = 0.0; + var currentSample = 1; + var lastSample = kSplineTableSize - 1; + + for (; currentSample !== lastSample && sampleValues[currentSample] <= aX; ++currentSample) { + intervalStart += kSampleStepSize; + } + --currentSample; + + // Interpolate to provide an initial guess for t + var dist = (aX - sampleValues[currentSample]) / (sampleValues[currentSample + 1] - sampleValues[currentSample]); + var guessForT = intervalStart + dist * kSampleStepSize; + + var initialSlope = getSlope(guessForT, mX1, mX2); + if (initialSlope >= NEWTON_MIN_SLOPE) { + return newtonRaphsonIterate(aX, guessForT, mX1, mX2); + } else if (initialSlope === 0.0) { + return guessForT; + } else { + return binarySubdivide(aX, intervalStart, intervalStart + kSampleStepSize, mX1, mX2); + } + } + + return function BezierEasing (x) { + if (mX1 === mY1 && mX2 === mY2) { + return x; // linear + } + // Because JavaScript number are imprecise, we should guarantee the extremes are right. + if (x === 0) { + return 0; + } + if (x === 1) { + return 1; + } + return calcBezier(getTForX(x), mY1, mY2); + }; + }; + + this.colorEasing = BezierEasing(0.26, 0.09, 0.37, 0.18); + // less 3 requires a return + return ''; +})()`; +} +// It is hacky way to make this function will be compiled preferentially by less +// resolve error: `ReferenceError: colorPalette is not defined` +// https://github.com/ant-design/ant-motion/issues/44 +.bezierEasingMixin(); + +/* stylelint-disable declaration-bang-space-before,no-duplicate-selectors,string-no-newline */ +.tinyColorMixin() { + @functions: ~`(function() { +// TinyColor v1.4.1 +// https://github.com/bgrins/TinyColor +// 2016-07-07, Brian Grinstead, MIT License +var trimLeft = /^\s+/, + trimRight = /\s+$/, + tinyCounter = 0, + mathRound = Math.round, + mathMin = Math.min, + mathMax = Math.max, + mathRandom = Math.random; + +function tinycolor (color, opts) { + + color = (color) ? color : ''; + opts = opts || { }; + + // If input is already a tinycolor, return itself + if (color instanceof tinycolor) { + return color; + } + // If we are called as a function, call using new instead + if (!(this instanceof tinycolor)) { + return new tinycolor(color, opts); + } + + var rgb = inputToRGB(color); + this._originalInput = color, + this._r = rgb.r, + this._g = rgb.g, + this._b = rgb.b, + this._a = rgb.a, + this._roundA = mathRound(100*this._a) / 100, + this._format = opts.format || rgb.format; + this._gradientType = opts.gradientType; + + // Don't let the range of [0,255] come back in [0,1]. + // Potentially lose a little bit of precision here, but will fix issues where + // .5 gets interpreted as half of the total, instead of half of 1 + // If it was supposed to be 128, this was already taken care of by inputToRgb + if (this._r < 1) { this._r = mathRound(this._r); } + if (this._g < 1) { this._g = mathRound(this._g); } + if (this._b < 1) { this._b = mathRound(this._b); } + + this._ok = rgb.ok; + this._tc_id = tinyCounter++; +} + +tinycolor.prototype = { + isDark: function() { + return this.getBrightness() < 128; + }, + isLight: function() { + return !this.isDark(); + }, + isValid: function() { + return this._ok; + }, + getOriginalInput: function() { + return this._originalInput; + }, + getFormat: function() { + return this._format; + }, + getAlpha: function() { + return this._a; + }, + getBrightness: function() { + //http://www.w3.org/TR/AERT#color-contrast + var rgb = this.toRgb(); + return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000; + }, + getLuminance: function() { + //http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef + var rgb = this.toRgb(); + var RsRGB, GsRGB, BsRGB, R, G, B; + RsRGB = rgb.r/255; + GsRGB = rgb.g/255; + BsRGB = rgb.b/255; + + if (RsRGB <= 0.03928) {R = RsRGB / 12.92;} else {R = Math.pow(((RsRGB + 0.055) / 1.055), 2.4);} + if (GsRGB <= 0.03928) {G = GsRGB / 12.92;} else {G = Math.pow(((GsRGB + 0.055) / 1.055), 2.4);} + if (BsRGB <= 0.03928) {B = BsRGB / 12.92;} else {B = Math.pow(((BsRGB + 0.055) / 1.055), 2.4);} + return (0.2126 * R) + (0.7152 * G) + (0.0722 * B); + }, + setAlpha: function(value) { + this._a = boundAlpha(value); + this._roundA = mathRound(100*this._a) / 100; + return this; + }, + toHsv: function() { + var hsv = rgbToHsv(this._r, this._g, this._b); + return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this._a }; + }, + toHsvString: function() { + var hsv = rgbToHsv(this._r, this._g, this._b); + var h = mathRound(hsv.h * 360), s = mathRound(hsv.s * 100), v = mathRound(hsv.v * 100); + return (this._a == 1) ? + "hsv(" + h + ", " + s + "%, " + v + "%)" : + "hsva(" + h + ", " + s + "%, " + v + "%, "+ this._roundA + ")"; + }, + toHsl: function() { + var hsl = rgbToHsl(this._r, this._g, this._b); + return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this._a }; + }, + toHslString: function() { + var hsl = rgbToHsl(this._r, this._g, this._b); + var h = mathRound(hsl.h * 360), s = mathRound(hsl.s * 100), l = mathRound(hsl.l * 100); + return (this._a == 1) ? + "hsl(" + h + ", " + s + "%, " + l + "%)" : + "hsla(" + h + ", " + s + "%, " + l + "%, "+ this._roundA + ")"; + }, + toHex: function(allow3Char) { + return rgbToHex(this._r, this._g, this._b, allow3Char); + }, + toHexString: function(allow3Char) { + return '#' + this.toHex(allow3Char); + }, + toHex8: function(allow4Char) { + return rgbaToHex(this._r, this._g, this._b, this._a, allow4Char); + }, + toHex8String: function(allow4Char) { + return '#' + this.toHex8(allow4Char); + }, + toRgb: function() { + return { r: mathRound(this._r), g: mathRound(this._g), b: mathRound(this._b), a: this._a }; + }, + toRgbString: function() { + return (this._a == 1) ? + "rgb(" + mathRound(this._r) + ", " + mathRound(this._g) + ", " + mathRound(this._b) + ")" : + "rgba(" + mathRound(this._r) + ", " + mathRound(this._g) + ", " + mathRound(this._b) + ", " + this._roundA + ")"; + }, + toPercentageRgb: function() { + return { r: mathRound(bound01(this._r, 255) * 100) + "%", g: mathRound(bound01(this._g, 255) * 100) + "%", b: mathRound(bound01(this._b, 255) * 100) + "%", a: this._a }; + }, + toPercentageRgbString: function() { + return (this._a == 1) ? + "rgb(" + mathRound(bound01(this._r, 255) * 100) + "%, " + mathRound(bound01(this._g, 255) * 100) + "%, " + mathRound(bound01(this._b, 255) * 100) + "%)" : + "rgba(" + mathRound(bound01(this._r, 255) * 100) + "%, " + mathRound(bound01(this._g, 255) * 100) + "%, " + mathRound(bound01(this._b, 255) * 100) + "%, " + this._roundA + ")"; + }, + toName: function() { + if (this._a === 0) { + return "transparent"; + } + + if (this._a < 1) { + return false; + } + + return hexNames[rgbToHex(this._r, this._g, this._b, true)] || false; + }, + toFilter: function(secondColor) { + var hex8String = '#' + rgbaToArgbHex(this._r, this._g, this._b, this._a); + var secondHex8String = hex8String; + var gradientType = this._gradientType ? "GradientType = 1, " : ""; + + if (secondColor) { + var s = tinycolor(secondColor); + secondHex8String = '#' + rgbaToArgbHex(s._r, s._g, s._b, s._a); + } + + return "progid:DXImageTransform.Microsoft.gradient("+gradientType+"startColorstr="+hex8String+",endColorstr="+secondHex8String+")"; + }, + toString: function(format) { + var formatSet = !!format; + format = format || this._format; + + var formattedString = false; + var hasAlpha = this._a < 1 && this._a >= 0; + var needsAlphaFormat = !formatSet && hasAlpha && (format === "hex" || format === "hex6" || format === "hex3" || format === "hex4" || format === "hex8" || format === "name"); + + if (needsAlphaFormat) { + // Special case for "transparent", all other non-alpha formats + // will return rgba when there is transparency. + if (format === "name" && this._a === 0) { + return this.toName(); + } + return this.toRgbString(); + } + if (format === "rgb") { + formattedString = this.toRgbString(); + } + if (format === "prgb") { + formattedString = this.toPercentageRgbString(); + } + if (format === "hex" || format === "hex6") { + formattedString = this.toHexString(); + } + if (format === "hex3") { + formattedString = this.toHexString(true); + } + if (format === "hex4") { + formattedString = this.toHex8String(true); + } + if (format === "hex8") { + formattedString = this.toHex8String(); + } + if (format === "name") { + formattedString = this.toName(); + } + if (format === "hsl") { + formattedString = this.toHslString(); + } + if (format === "hsv") { + formattedString = this.toHsvString(); + } + + return formattedString || this.toHexString(); + }, + clone: function() { + return tinycolor(this.toString()); + }, + + _applyModification: function(fn, args) { + var color = fn.apply(null, [this].concat([].slice.call(args))); + this._r = color._r; + this._g = color._g; + this._b = color._b; + this.setAlpha(color._a); + return this; + }, + lighten: function() { + return this._applyModification(lighten, arguments); + }, + brighten: function() { + return this._applyModification(brighten, arguments); + }, + darken: function() { + return this._applyModification(darken, arguments); + }, + desaturate: function() { + return this._applyModification(desaturate, arguments); + }, + saturate: function() { + return this._applyModification(saturate, arguments); + }, + greyscale: function() { + return this._applyModification(greyscale, arguments); + }, + spin: function() { + return this._applyModification(spin, arguments); + }, + + _applyCombination: function(fn, args) { + return fn.apply(null, [this].concat([].slice.call(args))); + }, + analogous: function() { + return this._applyCombination(analogous, arguments); + }, + complement: function() { + return this._applyCombination(complement, arguments); + }, + monochromatic: function() { + return this._applyCombination(monochromatic, arguments); + }, + splitcomplement: function() { + return this._applyCombination(splitcomplement, arguments); + }, + triad: function() { + return this._applyCombination(triad, arguments); + }, + tetrad: function() { + return this._applyCombination(tetrad, arguments); + } +}; + +// If input is an object, force 1 into "1.0" to handle ratios properly +// String input requires "1.0" as input, so 1 will be treated as 1 +tinycolor.fromRatio = function(color, opts) { + if (typeof color == "object") { + var newColor = {}; + for (var i in color) { + if (color.hasOwnProperty(i)) { + if (i === "a") { + newColor[i] = color[i]; + } + else { + newColor[i] = convertToPercentage(color[i]); + } + } + } + color = newColor; + } + + return tinycolor(color, opts); +}; + +// Given a string or object, convert that input to RGB +// Possible string inputs: +// +// "red" +// "#f00" or "f00" +// "#ff0000" or "ff0000" +// "#ff000000" or "ff000000" +// "rgb 255 0 0" or "rgb (255, 0, 0)" +// "rgb 1.0 0 0" or "rgb (1, 0, 0)" +// "rgba (255, 0, 0, 1)" or "rgba 255, 0, 0, 1" +// "rgba (1.0, 0, 0, 1)" or "rgba 1.0, 0, 0, 1" +// "hsl(0, 100%, 50%)" or "hsl 0 100% 50%" +// "hsla(0, 100%, 50%, 1)" or "hsla 0 100% 50%, 1" +// "hsv(0, 100%, 100%)" or "hsv 0 100% 100%" +// +function inputToRGB(color) { + + var rgb = { r: 0, g: 0, b: 0 }; + var a = 1; + var s = null; + var v = null; + var l = null; + var ok = false; + var format = false; + + if (typeof color == "string") { + color = stringInputToObject(color); + } + + if (typeof color == "object") { + if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) { + rgb = rgbToRgb(color.r, color.g, color.b); + ok = true; + format = String(color.r).substr(-1) === "%" ? "prgb" : "rgb"; + } + else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) { + s = convertToPercentage(color.s); + v = convertToPercentage(color.v); + rgb = hsvToRgb(color.h, s, v); + ok = true; + format = "hsv"; + } + else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) { + s = convertToPercentage(color.s); + l = convertToPercentage(color.l); + rgb = hslToRgb(color.h, s, l); + ok = true; + format = "hsl"; + } + + if (color.hasOwnProperty("a")) { + a = color.a; + } + } + + a = boundAlpha(a); + + return { + ok: ok, + format: color.format || format, + r: mathMin(255, mathMax(rgb.r, 0)), + g: mathMin(255, mathMax(rgb.g, 0)), + b: mathMin(255, mathMax(rgb.b, 0)), + a: a + }; +} + +// Conversion Functions +// -------------------- + +// rgbToHsl, rgbToHsv, hslToRgb, hsvToRgb modified from: +// + +// rgbToRgb +// Handle bounds / percentage checking to conform to CSS color spec +// +// *Assumes:* r, g, b in [0, 255] or [0, 1] +// *Returns:* { r, g, b } in [0, 255] +function rgbToRgb(r, g, b){ + return { + r: bound01(r, 255) * 255, + g: bound01(g, 255) * 255, + b: bound01(b, 255) * 255 + }; +} + +// rgbToHsl +// Converts an RGB color value to HSL. +// *Assumes:* r, g, and b are contained in [0, 255] or [0, 1] +// *Returns:* { h, s, l } in [0,1] +function rgbToHsl(r, g, b) { + + r = bound01(r, 255); + g = bound01(g, 255); + b = bound01(b, 255); + + var max = mathMax(r, g, b), min = mathMin(r, g, b); + var h, s, l = (max + min) / 2; + + if(max == min) { + h = s = 0; // achromatic + } + else { + var d = max - min; + s = l > 0.5 ? d / (2 - max - min) : d / (max + min); + switch(max) { + case r: h = (g - b) / d + (g < b ? 6 : 0); break; + case g: h = (b - r) / d + 2; break; + case b: h = (r - g) / d + 4; break; + } + + h /= 6; + } + + return { h: h, s: s, l: l }; +} + +// hslToRgb +// Converts an HSL color value to RGB. +// *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100] +// *Returns:* { r, g, b } in the set [0, 255] +function hslToRgb(h, s, l) { + var r, g, b; + + h = bound01(h, 360); + s = bound01(s, 100); + l = bound01(l, 100); + + function hue2rgb(p, q, t) { + if(t < 0) t += 1; + if(t > 1) t -= 1; + if(t < 1/6) return p + (q - p) * 6 * t; + if(t < 1/2) return q; + if(t < 2/3) return p + (q - p) * (2/3 - t) * 6; + return p; + } + + if(s === 0) { + r = g = b = l; // achromatic + } + else { + var q = l < 0.5 ? l * (1 + s) : l + s - l * s; + var p = 2 * l - q; + r = hue2rgb(p, q, h + 1/3); + g = hue2rgb(p, q, h); + b = hue2rgb(p, q, h - 1/3); + } + + return { r: r * 255, g: g * 255, b: b * 255 }; +} + +// rgbToHsv +// Converts an RGB color value to HSV +// *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1] +// *Returns:* { h, s, v } in [0,1] +function rgbToHsv(r, g, b) { + + r = bound01(r, 255); + g = bound01(g, 255); + b = bound01(b, 255); + + var max = mathMax(r, g, b), min = mathMin(r, g, b); + var h, s, v = max; + + var d = max - min; + s = max === 0 ? 0 : d / max; + + if(max == min) { + h = 0; // achromatic + } + else { + switch(max) { + case r: h = (g - b) / d + (g < b ? 6 : 0); break; + case g: h = (b - r) / d + 2; break; + case b: h = (r - g) / d + 4; break; + } + h /= 6; + } + return { h: h, s: s, v: v }; +} + +// hsvToRgb +// Converts an HSV color value to RGB. +// *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100] +// *Returns:* { r, g, b } in the set [0, 255] + function hsvToRgb(h, s, v) { + + h = bound01(h, 360) * 6; + s = bound01(s, 100); + v = bound01(v, 100); + + var i = Math.floor(h), + f = h - i, + p = v * (1 - s), + q = v * (1 - f * s), + t = v * (1 - (1 - f) * s), + mod = i % 6, + r = [v, q, p, p, t, v][mod], + g = [t, v, v, q, p, p][mod], + b = [p, p, t, v, v, q][mod]; + + return { r: r * 255, g: g * 255, b: b * 255 }; +} + +// rgbToHex +// Converts an RGB color to hex +// Assumes r, g, and b are contained in the set [0, 255] +// Returns a 3 or 6 character hex +function rgbToHex(r, g, b, allow3Char) { + + var hex = [ + pad2(mathRound(r).toString(16)), + pad2(mathRound(g).toString(16)), + pad2(mathRound(b).toString(16)) + ]; + + // Return a 3 character hex if possible + if (allow3Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1)) { + return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0); + } + + return hex.join(""); +} + +// rgbaToHex +// Converts an RGBA color plus alpha transparency to hex +// Assumes r, g, b are contained in the set [0, 255] and +// a in [0, 1]. Returns a 4 or 8 character rgba hex +function rgbaToHex(r, g, b, a, allow4Char) { + + var hex = [ + pad2(mathRound(r).toString(16)), + pad2(mathRound(g).toString(16)), + pad2(mathRound(b).toString(16)), + pad2(convertDecimalToHex(a)) + ]; + + // Return a 4 character hex if possible + if (allow4Char && hex[0].charAt(0) == hex[0].charAt(1) && hex[1].charAt(0) == hex[1].charAt(1) && hex[2].charAt(0) == hex[2].charAt(1) && hex[3].charAt(0) == hex[3].charAt(1)) { + return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0); + } + + return hex.join(""); +} + +// rgbaToArgbHex +// Converts an RGBA color to an ARGB Hex8 string +// Rarely used, but required for "toFilter()" +function rgbaToArgbHex(r, g, b, a) { + + var hex = [ + pad2(convertDecimalToHex(a)), + pad2(mathRound(r).toString(16)), + pad2(mathRound(g).toString(16)), + pad2(mathRound(b).toString(16)) + ]; + + return hex.join(""); +} + +// equals +// Can be called with any tinycolor input +tinycolor.equals = function (color1, color2) { + if (!color1 || !color2) { return false; } + return tinycolor(color1).toRgbString() == tinycolor(color2).toRgbString(); +}; + +tinycolor.random = function() { + return tinycolor.fromRatio({ + r: mathRandom(), + g: mathRandom(), + b: mathRandom() + }); +}; + +// Modification Functions +// ---------------------- +// Thanks to less.js for some of the basics here +// + +function desaturate(color, amount) { + amount = (amount === 0) ? 0 : (amount || 10); + var hsl = tinycolor(color).toHsl(); + hsl.s -= amount / 100; + hsl.s = clamp01(hsl.s); + return tinycolor(hsl); +} + +function saturate(color, amount) { + amount = (amount === 0) ? 0 : (amount || 10); + var hsl = tinycolor(color).toHsl(); + hsl.s += amount / 100; + hsl.s = clamp01(hsl.s); + return tinycolor(hsl); +} + +function greyscale(color) { + return tinycolor(color).desaturate(100); +} + +function lighten (color, amount) { + amount = (amount === 0) ? 0 : (amount || 10); + var hsl = tinycolor(color).toHsl(); + hsl.l += amount / 100; + hsl.l = clamp01(hsl.l); + return tinycolor(hsl); +} + +function brighten(color, amount) { + amount = (amount === 0) ? 0 : (amount || 10); + var rgb = tinycolor(color).toRgb(); + rgb.r = mathMax(0, mathMin(255, rgb.r - mathRound(255 * - (amount / 100)))); + rgb.g = mathMax(0, mathMin(255, rgb.g - mathRound(255 * - (amount / 100)))); + rgb.b = mathMax(0, mathMin(255, rgb.b - mathRound(255 * - (amount / 100)))); + return tinycolor(rgb); +} + +function darken (color, amount) { + amount = (amount === 0) ? 0 : (amount || 10); + var hsl = tinycolor(color).toHsl(); + hsl.l -= amount / 100; + hsl.l = clamp01(hsl.l); + return tinycolor(hsl); +} + +// Spin takes a positive or negative amount within [-360, 360] indicating the change of hue. +// Values outside of this range will be wrapped into this range. +function spin(color, amount) { + var hsl = tinycolor(color).toHsl(); + var hue = (hsl.h + amount) % 360; + hsl.h = hue < 0 ? 360 + hue : hue; + return tinycolor(hsl); +} + +// Combination Functions +// --------------------- +// Thanks to jQuery xColor for some of the ideas behind these +// + +function complement(color) { + var hsl = tinycolor(color).toHsl(); + hsl.h = (hsl.h + 180) % 360; + return tinycolor(hsl); +} + +function triad(color) { + var hsl = tinycolor(color).toHsl(); + var h = hsl.h; + return [ + tinycolor(color), + tinycolor({ h: (h + 120) % 360, s: hsl.s, l: hsl.l }), + tinycolor({ h: (h + 240) % 360, s: hsl.s, l: hsl.l }) + ]; +} + +function tetrad(color) { + var hsl = tinycolor(color).toHsl(); + var h = hsl.h; + return [ + tinycolor(color), + tinycolor({ h: (h + 90) % 360, s: hsl.s, l: hsl.l }), + tinycolor({ h: (h + 180) % 360, s: hsl.s, l: hsl.l }), + tinycolor({ h: (h + 270) % 360, s: hsl.s, l: hsl.l }) + ]; +} + +function splitcomplement(color) { + var hsl = tinycolor(color).toHsl(); + var h = hsl.h; + return [ + tinycolor(color), + tinycolor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l}), + tinycolor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l}) + ]; +} + +function analogous(color, results, slices) { + results = results || 6; + slices = slices || 30; + + var hsl = tinycolor(color).toHsl(); + var part = 360 / slices; + var ret = [tinycolor(color)]; + + for (hsl.h = ((hsl.h - (part * results >> 1)) + 720) % 360; --results; ) { + hsl.h = (hsl.h + part) % 360; + ret.push(tinycolor(hsl)); + } + return ret; +} + +function monochromatic(color, results) { + results = results || 6; + var hsv = tinycolor(color).toHsv(); + var h = hsv.h, s = hsv.s, v = hsv.v; + var ret = []; + var modification = 1 / results; + + while (results--) { + ret.push(tinycolor({ h: h, s: s, v: v})); + v = (v + modification) % 1; + } + + return ret; +} + +// Utility Functions +// --------------------- + +tinycolor.mix = function(color1, color2, amount) { + amount = (amount === 0) ? 0 : (amount || 50); + + var rgb1 = tinycolor(color1).toRgb(); + var rgb2 = tinycolor(color2).toRgb(); + + var p = amount / 100; + + var rgba = { + r: ((rgb2.r - rgb1.r) * p) + rgb1.r, + g: ((rgb2.g - rgb1.g) * p) + rgb1.g, + b: ((rgb2.b - rgb1.b) * p) + rgb1.b, + a: ((rgb2.a - rgb1.a) * p) + rgb1.a + }; + + return tinycolor(rgba); +}; + +// Readability Functions +// --------------------- +// false +// tinycolor.isReadable("#000", "#111",{level:"AA",size:"large"}) => false +tinycolor.isReadable = function(color1, color2, wcag2) { + var readability = tinycolor.readability(color1, color2); + var wcag2Parms, out; + + out = false; + + wcag2Parms = validateWCAG2Parms(wcag2); + switch (wcag2Parms.level + wcag2Parms.size) { + case "AAsmall": + case "AAAlarge": + out = readability >= 4.5; + break; + case "AAlarge": + out = readability >= 3; + break; + case "AAAsmall": + out = readability >= 7; + break; + } + return out; + +}; + +// mostReadable +// Given a base color and a list of possible foreground or background +// colors for that base, returns the most readable color. +// Optionally returns Black or White if the most readable color is unreadable. +// *Example* +// tinycolor.mostReadable(tinycolor.mostReadable("#123", ["#124", "#125"],{includeFallbackColors:false}).toHexString(); // "#112255" +// tinycolor.mostReadable(tinycolor.mostReadable("#123", ["#124", "#125"],{includeFallbackColors:true}).toHexString(); // "#ffffff" +// tinycolor.mostReadable("#a8015a", ["#faf3f3"],{includeFallbackColors:true,level:"AAA",size:"large"}).toHexString(); // "#faf3f3" +// tinycolor.mostReadable("#a8015a", ["#faf3f3"],{includeFallbackColors:true,level:"AAA",size:"small"}).toHexString(); // "#ffffff" +tinycolor.mostReadable = function(baseColor, colorList, args) { + var bestColor = null; + var bestScore = 0; + var readability; + var includeFallbackColors, level, size ; + args = args || {}; + includeFallbackColors = args.includeFallbackColors ; + level = args.level; + size = args.size; + + for (var i= 0; i < colorList.length ; i++) { + readability = tinycolor.readability(baseColor, colorList[i]); + if (readability > bestScore) { + bestScore = readability; + bestColor = tinycolor(colorList[i]); + } + } + + if (tinycolor.isReadable(baseColor, bestColor, {"level":level,"size":size}) || !includeFallbackColors) { + return bestColor; + } + else { + args.includeFallbackColors=false; + return tinycolor.mostReadable(baseColor,["#fff", "#000"],args); + } +}; + +// Big List of Colors +// ------------------ +// +var names = tinycolor.names = { + aliceblue: "f0f8ff", + antiquewhite: "faebd7", + aqua: "0ff", + aquamarine: "7fffd4", + azure: "f0ffff", + beige: "f5f5dc", + bisque: "ffe4c4", + black: "000", + blanchedalmond: "ffebcd", + blue: "00f", + blueviolet: "8a2be2", + brown: "a52a2a", + burlywood: "deb887", + burntsienna: "ea7e5d", + cadetblue: "5f9ea0", + chartreuse: "7fff00", + chocolate: "d2691e", + coral: "ff7f50", + cornflowerblue: "6495ed", + cornsilk: "fff8dc", + crimson: "dc143c", + cyan: "0ff", + darkblue: "00008b", + darkcyan: "008b8b", + darkgoldenrod: "b8860b", + darkgray: "a9a9a9", + darkgreen: "006400", + darkgrey: "a9a9a9", + darkkhaki: "bdb76b", + darkmagenta: "8b008b", + darkolivegreen: "556b2f", + darkorange: "ff8c00", + darkorchid: "9932cc", + darkred: "8b0000", + darksalmon: "e9967a", + darkseagreen: "8fbc8f", + darkslateblue: "483d8b", + darkslategray: "2f4f4f", + darkslategrey: "2f4f4f", + darkturquoise: "00ced1", + darkviolet: "9400d3", + deeppink: "ff1493", + deepskyblue: "00bfff", + dimgray: "696969", + dimgrey: "696969", + dodgerblue: "1e90ff", + firebrick: "b22222", + floralwhite: "fffaf0", + forestgreen: "228b22", + fuchsia: "f0f", + gainsboro: "dcdcdc", + ghostwhite: "f8f8ff", + gold: "ffd700", + goldenrod: "daa520", + gray: "808080", + green: "008000", + greenyellow: "adff2f", + grey: "808080", + honeydew: "f0fff0", + hotpink: "ff69b4", + indianred: "cd5c5c", + indigo: "4b0082", + ivory: "fffff0", + khaki: "f0e68c", + lavender: "e6e6fa", + lavenderblush: "fff0f5", + lawngreen: "7cfc00", + lemonchiffon: "fffacd", + lightblue: "add8e6", + lightcoral: "f08080", + lightcyan: "e0ffff", + lightgoldenrodyellow: "fafad2", + lightgray: "d3d3d3", + lightgreen: "90ee90", + lightgrey: "d3d3d3", + lightpink: "ffb6c1", + lightsalmon: "ffa07a", + lightseagreen: "20b2aa", + lightskyblue: "87cefa", + lightslategray: "789", + lightslategrey: "789", + lightsteelblue: "b0c4de", + lightyellow: "ffffe0", + lime: "0f0", + limegreen: "32cd32", + linen: "faf0e6", + magenta: "f0f", + maroon: "800000", + mediumaquamarine: "66cdaa", + mediumblue: "0000cd", + mediumorchid: "ba55d3", + mediumpurple: "9370db", + mediumseagreen: "3cb371", + mediumslateblue: "7b68ee", + mediumspringgreen: "00fa9a", + mediumturquoise: "48d1cc", + mediumvioletred: "c71585", + midnightblue: "191970", + mintcream: "f5fffa", + mistyrose: "ffe4e1", + moccasin: "ffe4b5", + navajowhite: "ffdead", + navy: "000080", + oldlace: "fdf5e6", + olive: "808000", + olivedrab: "6b8e23", + orange: "ffa500", + orangered: "ff4500", + orchid: "da70d6", + palegoldenrod: "eee8aa", + palegreen: "98fb98", + paleturquoise: "afeeee", + palevioletred: "db7093", + papayawhip: "ffefd5", + peachpuff: "ffdab9", + peru: "cd853f", + pink: "ffc0cb", + plum: "dda0dd", + powderblue: "b0e0e6", + purple: "800080", + rebeccapurple: "663399", + red: "f00", + rosybrown: "bc8f8f", + royalblue: "4169e1", + saddlebrown: "8b4513", + salmon: "fa8072", + sandybrown: "f4a460", + seagreen: "2e8b57", + seashell: "fff5ee", + sienna: "a0522d", + silver: "c0c0c0", + skyblue: "87ceeb", + slateblue: "6a5acd", + slategray: "708090", + slategrey: "708090", + snow: "fffafa", + springgreen: "00ff7f", + steelblue: "4682b4", + tan: "d2b48c", + teal: "008080", + thistle: "d8bfd8", + tomato: "ff6347", + turquoise: "40e0d0", + violet: "ee82ee", + wheat: "f5deb3", + white: "fff", + whitesmoke: "f5f5f5", + yellow: "ff0", + yellowgreen: "9acd32" +}; + +// Make it easy to access colors via hexNames[hex] +var hexNames = tinycolor.hexNames = flip(names); + +// Utilities +// --------- + +// { 'name1': 'val1' } becomes { 'val1': 'name1' } +function flip(o) { + var flipped = { }; + for (var i in o) { + if (o.hasOwnProperty(i)) { + flipped[o[i]] = i; + } + } + return flipped; +} + +// Return a valid alpha value [0,1] with all invalid values being set to 1 +function boundAlpha(a) { + a = parseFloat(a); + + if (isNaN(a) || a < 0 || a > 1) { + a = 1; + } + + return a; +} + +// Take input from [0, n] and return it as [0, 1] +function bound01(n, max) { + if (isOnePointZero(n)) { n = "100%"; } + + var processPercent = isPercentage(n); + n = mathMin(max, mathMax(0, parseFloat(n))); + + // Automatically convert percentage into number + if (processPercent) { + n = parseInt(n * max, 10) / 100; + } + + // Handle floating point rounding errors + if ((Math.abs(n - max) < 0.000001)) { + return 1; + } + + // Convert into [0, 1] range if it isn't already + return (n % max) / parseFloat(max); +} + +// Force a number between 0 and 1 +function clamp01(val) { + return mathMin(1, mathMax(0, val)); +} + +// Parse a base-16 hex value into a base-10 integer +function parseIntFromHex(val) { + return parseInt(val, 16); +} + +// Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1 +// +function isOnePointZero(n) { + return typeof n == "string" && n.indexOf('.') != -1 && parseFloat(n) === 1; +} + +// Check to see if string passed in is a percentage +function isPercentage(n) { + return typeof n === "string" && n.indexOf('%') != -1; +} + +// Force a hex value to have 2 characters +function pad2(c) { + return c.length == 1 ? '0' + c : '' + c; +} + +// Replace a decimal with it's percentage value +function convertToPercentage(n) { + if (n <= 1) { + n = (n * 100) + "%"; + } + + return n; +} + +// Converts a decimal to a hex value +function convertDecimalToHex(d) { + return Math.round(parseFloat(d) * 255).toString(16); +} +// Converts a hex value to a decimal +function convertHexToDecimal(h) { + return (parseIntFromHex(h) / 255); +} + +var matchers = (function() { + + // + var CSS_INTEGER = "[-\\+]?\\d+%?"; + + // + var CSS_NUMBER = "[-\\+]?\\d*\\.\\d+%?"; + + // Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome. + var CSS_UNIT = "(?:" + CSS_NUMBER + ")|(?:" + CSS_INTEGER + ")"; + + // Actual matching. + // Parentheses and commas are optional, but not required. + // Whitespace can take the place of commas or opening paren + var PERMISSIVE_MATCH3 = "[\\s|\\(]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")\\s*\\)?"; + var PERMISSIVE_MATCH4 = "[\\s|\\(]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")[,|\\s]+(" + CSS_UNIT + ")\\s*\\)?"; + + return { + CSS_UNIT: new RegExp(CSS_UNIT), + rgb: new RegExp("rgb" + PERMISSIVE_MATCH3), + rgba: new RegExp("rgba" + PERMISSIVE_MATCH4), + hsl: new RegExp("hsl" + PERMISSIVE_MATCH3), + hsla: new RegExp("hsla" + PERMISSIVE_MATCH4), + hsv: new RegExp("hsv" + PERMISSIVE_MATCH3), + hsva: new RegExp("hsva" + PERMISSIVE_MATCH4), + hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, + hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/, + hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/, + hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/ + }; +})(); + +// isValidCSSUnit +// Take in a single string / number and check to see if it looks like a CSS unit +// (see matchers above for definition). +function isValidCSSUnit(color) { + return !!matchers.CSS_UNIT.exec(color); +} + +// stringInputToObject +// Permissive string parsing. Take in a number of formats, and output an object +// based on detected format. Returns { r, g, b } or { h, s, l } or { h, s, v} +function stringInputToObject(color) { + + color = color.replace(trimLeft, '').replace(trimRight, '').toLowerCase(); + var named = false; + if (names[color]) { + color = names[color]; + named = true; + } + else if (color == 'transparent') { + return { r: 0, g: 0, b: 0, a: 0, format: "name" }; + } + + // Try to match string input using regular expressions. + // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360] + // Just return an object and let the conversion functions handle that. + // This way the result will be the same whether the tinycolor is initialized with string or object. + var match; + if ((match = matchers.rgb.exec(color))) { + return { r: match[1], g: match[2], b: match[3] }; + } + if ((match = matchers.rgba.exec(color))) { + return { r: match[1], g: match[2], b: match[3], a: match[4] }; + } + if ((match = matchers.hsl.exec(color))) { + return { h: match[1], s: match[2], l: match[3] }; + } + if ((match = matchers.hsla.exec(color))) { + return { h: match[1], s: match[2], l: match[3], a: match[4] }; + } + if ((match = matchers.hsv.exec(color))) { + return { h: match[1], s: match[2], v: match[3] }; + } + if ((match = matchers.hsva.exec(color))) { + return { h: match[1], s: match[2], v: match[3], a: match[4] }; + } + if ((match = matchers.hex8.exec(color))) { + return { + r: parseIntFromHex(match[1]), + g: parseIntFromHex(match[2]), + b: parseIntFromHex(match[3]), + a: convertHexToDecimal(match[4]), + format: named ? "name" : "hex8" + }; + } + if ((match = matchers.hex6.exec(color))) { + return { + r: parseIntFromHex(match[1]), + g: parseIntFromHex(match[2]), + b: parseIntFromHex(match[3]), + format: named ? "name" : "hex" + }; + } + if ((match = matchers.hex4.exec(color))) { + return { + r: parseIntFromHex(match[1] + '' + match[1]), + g: parseIntFromHex(match[2] + '' + match[2]), + b: parseIntFromHex(match[3] + '' + match[3]), + a: convertHexToDecimal(match[4] + '' + match[4]), + format: named ? "name" : "hex8" + }; + } + if ((match = matchers.hex3.exec(color))) { + return { + r: parseIntFromHex(match[1] + '' + match[1]), + g: parseIntFromHex(match[2] + '' + match[2]), + b: parseIntFromHex(match[3] + '' + match[3]), + format: named ? "name" : "hex" + }; + } + + return false; +} + +function validateWCAG2Parms(parms) { + // return valid WCAG2 parms for isReadable. + // If input parms are invalid, return {"level":"AA", "size":"small"} + var level, size; + parms = parms || {"level":"AA", "size":"small"}; + level = (parms.level || "AA").toUpperCase(); + size = (parms.size || "small").toLowerCase(); + if (level !== "AA" && level !== "AAA") { + level = "AA"; + } + if (size !== "small" && size !== "large") { + size = "small"; + } + return {"level":level, "size":size}; +} + +this.tinycolor = tinycolor; + +})()`; +} +// It is hacky way to make this function will be compiled preferentially by less +// resolve error: `ReferenceError: colorPalette is not defined` +// https://github.com/ant-design/ant-motion/issues/44 +.tinyColorMixin(); + +// We create a very complex algorithm which take the place of original tint/shade color system +// to make sure no one can understand it 👻 +// and create an entire color palette magicly by inputing just a single primary color. +// We are using bezier-curve easing function and some color manipulations like tint/shade/darken/spin +.colorPaletteMixin() { + @functions: ~`(function() { + var hueStep = 2; + var saturationStep = 16; + var saturationStep2 = 5; + var brightnessStep1 = 5; + var brightnessStep2 = 15; + var lightColorCount = 5; + var darkColorCount = 4; + + var getHue = function(hsv, i, isLight) { + var hue; + if (hsv.h >= 60 && hsv.h <= 240) { + hue = isLight ? hsv.h - hueStep * i : hsv.h + hueStep * i; + } else { + hue = isLight ? hsv.h + hueStep * i : hsv.h - hueStep * i; + } + if (hue < 0) { + hue += 360; + } else if (hue >= 360) { + hue -= 360; + } + return Math.round(hue); + }; + var getSaturation = function(hsv, i, isLight) { + var saturation; + if (isLight) { + saturation = Math.round(hsv.s * 100) - saturationStep * i; + } else if (i == darkColorCount) { + saturation = Math.round(hsv.s * 100) + saturationStep; + } else { + saturation = Math.round(hsv.s * 100) + saturationStep2 * i; + } + if (saturation > 100) { + saturation = 100; + } + if (isLight && i === lightColorCount && saturation > 10) { + saturation = 10; + } + if (saturation < 6) { + saturation = 6; + } + return Math.round(saturation); + }; + var getValue = function(hsv, i, isLight) { + if (isLight) { + return Math.round(hsv.v * 100) + brightnessStep1 * i; + } + return Math.round(hsv.v * 100) - brightnessStep2 * i; + }; + + this.colorPalette = function(color, index) { + var isLight = index <= 6; + var hsv = tinycolor(color).toHsv(); + var i = isLight ? lightColorCount + 1 - index : index - lightColorCount - 1; + return tinycolor({ + h: getHue(hsv, i, isLight), + s: getSaturation(hsv, i, isLight), + v: getValue(hsv, i, isLight), + }).toHexString(); + }; +})()`; +} +// It is hacky way to make this function will be compiled preferentially by less +// resolve error: `ReferenceError: colorPalette is not defined` +// https://github.com/ant-design/ant-motion/issues/44 +.colorPaletteMixin(); + +// color palettes +@blue-1: color(~`colorPalette("@{blue-6}", 1)`); +@blue-2: color(~`colorPalette("@{blue-6}", 2)`); +@blue-3: color(~`colorPalette("@{blue-6}", 3)`); +@blue-4: color(~`colorPalette("@{blue-6}", 4)`); +@blue-5: color(~`colorPalette("@{blue-6}", 5)`); +@blue-6: #1890ff; +@blue-7: color(~`colorPalette("@{blue-6}", 7)`); +@blue-8: color(~`colorPalette("@{blue-6}", 8)`); +@blue-9: color(~`colorPalette("@{blue-6}", 9)`); +@blue-10: color(~`colorPalette("@{blue-6}", 10)`); + +@purple-1: color(~`colorPalette("@{purple-6}", 1)`); +@purple-2: color(~`colorPalette("@{purple-6}", 2)`); +@purple-3: color(~`colorPalette("@{purple-6}", 3)`); +@purple-4: color(~`colorPalette("@{purple-6}", 4)`); +@purple-5: color(~`colorPalette("@{purple-6}", 5)`); +@purple-6: #722ed1; +@purple-7: color(~`colorPalette("@{purple-6}", 7)`); +@purple-8: color(~`colorPalette("@{purple-6}", 8)`); +@purple-9: color(~`colorPalette("@{purple-6}", 9)`); +@purple-10: color(~`colorPalette("@{purple-6}", 10)`); + +@cyan-1: color(~`colorPalette("@{cyan-6}", 1)`); +@cyan-2: color(~`colorPalette("@{cyan-6}", 2)`); +@cyan-3: color(~`colorPalette("@{cyan-6}", 3)`); +@cyan-4: color(~`colorPalette("@{cyan-6}", 4)`); +@cyan-5: color(~`colorPalette("@{cyan-6}", 5)`); +@cyan-6: #13c2c2; +@cyan-7: color(~`colorPalette("@{cyan-6}", 7)`); +@cyan-8: color(~`colorPalette("@{cyan-6}", 8)`); +@cyan-9: color(~`colorPalette("@{cyan-6}", 9)`); +@cyan-10: color(~`colorPalette("@{cyan-6}", 10)`); + +@green-1: color(~`colorPalette("@{green-6}", 1)`); +@green-2: color(~`colorPalette("@{green-6}", 2)`); +@green-3: color(~`colorPalette("@{green-6}", 3)`); +@green-4: color(~`colorPalette("@{green-6}", 4)`); +@green-5: color(~`colorPalette("@{green-6}", 5)`); +@green-6: #52c41a; +@green-7: color(~`colorPalette("@{green-6}", 7)`); +@green-8: color(~`colorPalette("@{green-6}", 8)`); +@green-9: color(~`colorPalette("@{green-6}", 9)`); +@green-10: color(~`colorPalette("@{green-6}", 10)`); + +@magenta-1: color(~`colorPalette("@{magenta-6}", 1)`); +@magenta-2: color(~`colorPalette("@{magenta-6}", 2)`); +@magenta-3: color(~`colorPalette("@{magenta-6}", 3)`); +@magenta-4: color(~`colorPalette("@{magenta-6}", 4)`); +@magenta-5: color(~`colorPalette("@{magenta-6}", 5)`); +@magenta-6: #eb2f96; +@magenta-7: color(~`colorPalette("@{magenta-6}", 7)`); +@magenta-8: color(~`colorPalette("@{magenta-6}", 8)`); +@magenta-9: color(~`colorPalette("@{magenta-6}", 9)`); +@magenta-10: color(~`colorPalette("@{magenta-6}", 10)`); + +// alias of magenta +@pink-1: color(~`colorPalette("@{pink-6}", 1)`); +@pink-2: color(~`colorPalette("@{pink-6}", 2)`); +@pink-3: color(~`colorPalette("@{pink-6}", 3)`); +@pink-4: color(~`colorPalette("@{pink-6}", 4)`); +@pink-5: color(~`colorPalette("@{pink-6}", 5)`); +@pink-6: #eb2f96; +@pink-7: color(~`colorPalette("@{pink-6}", 7)`); +@pink-8: color(~`colorPalette("@{pink-6}", 8)`); +@pink-9: color(~`colorPalette("@{pink-6}", 9)`); +@pink-10: color(~`colorPalette("@{pink-6}", 10)`); + +@red-1: color(~`colorPalette("@{red-6}", 1)`); +@red-2: color(~`colorPalette("@{red-6}", 2)`); +@red-3: color(~`colorPalette("@{red-6}", 3)`); +@red-4: color(~`colorPalette("@{red-6}", 4)`); +@red-5: color(~`colorPalette("@{red-6}", 5)`); +@red-6: #f5222d; +@red-7: color(~`colorPalette("@{red-6}", 7)`); +@red-8: color(~`colorPalette("@{red-6}", 8)`); +@red-9: color(~`colorPalette("@{red-6}", 9)`); +@red-10: color(~`colorPalette("@{red-6}", 10)`); + +@orange-1: color(~`colorPalette("@{orange-6}", 1)`); +@orange-2: color(~`colorPalette("@{orange-6}", 2)`); +@orange-3: color(~`colorPalette("@{orange-6}", 3)`); +@orange-4: color(~`colorPalette("@{orange-6}", 4)`); +@orange-5: color(~`colorPalette("@{orange-6}", 5)`); +@orange-6: #fa8c16; +@orange-7: color(~`colorPalette("@{orange-6}", 7)`); +@orange-8: color(~`colorPalette("@{orange-6}", 8)`); +@orange-9: color(~`colorPalette("@{orange-6}", 9)`); +@orange-10: color(~`colorPalette("@{orange-6}", 10)`); + +@yellow-1: color(~`colorPalette("@{yellow-6}", 1)`); +@yellow-2: color(~`colorPalette("@{yellow-6}", 2)`); +@yellow-3: color(~`colorPalette("@{yellow-6}", 3)`); +@yellow-4: color(~`colorPalette("@{yellow-6}", 4)`); +@yellow-5: color(~`colorPalette("@{yellow-6}", 5)`); +@yellow-6: #fadb14; +@yellow-7: color(~`colorPalette("@{yellow-6}", 7)`); +@yellow-8: color(~`colorPalette("@{yellow-6}", 8)`); +@yellow-9: color(~`colorPalette("@{yellow-6}", 9)`); +@yellow-10: color(~`colorPalette("@{yellow-6}", 10)`); + +@volcano-1: color(~`colorPalette("@{volcano-6}", 1)`); +@volcano-2: color(~`colorPalette("@{volcano-6}", 2)`); +@volcano-3: color(~`colorPalette("@{volcano-6}", 3)`); +@volcano-4: color(~`colorPalette("@{volcano-6}", 4)`); +@volcano-5: color(~`colorPalette("@{volcano-6}", 5)`); +@volcano-6: #fa541c; +@volcano-7: color(~`colorPalette("@{volcano-6}", 7)`); +@volcano-8: color(~`colorPalette("@{volcano-6}", 8)`); +@volcano-9: color(~`colorPalette("@{volcano-6}", 9)`); +@volcano-10: color(~`colorPalette("@{volcano-6}", 10)`); + +@geekblue-1: color(~`colorPalette("@{geekblue-6}", 1)`); +@geekblue-2: color(~`colorPalette("@{geekblue-6}", 2)`); +@geekblue-3: color(~`colorPalette("@{geekblue-6}", 3)`); +@geekblue-4: color(~`colorPalette("@{geekblue-6}", 4)`); +@geekblue-5: color(~`colorPalette("@{geekblue-6}", 5)`); +@geekblue-6: #2f54eb; +@geekblue-7: color(~`colorPalette("@{geekblue-6}", 7)`); +@geekblue-8: color(~`colorPalette("@{geekblue-6}", 8)`); +@geekblue-9: color(~`colorPalette("@{geekblue-6}", 9)`); +@geekblue-10: color(~`colorPalette("@{geekblue-6}", 10)`); + +@lime-1: color(~`colorPalette("@{lime-6}", 1)`); +@lime-2: color(~`colorPalette("@{lime-6}", 2)`); +@lime-3: color(~`colorPalette("@{lime-6}", 3)`); +@lime-4: color(~`colorPalette("@{lime-6}", 4)`); +@lime-5: color(~`colorPalette("@{lime-6}", 5)`); +@lime-6: #a0d911; +@lime-7: color(~`colorPalette("@{lime-6}", 7)`); +@lime-8: color(~`colorPalette("@{lime-6}", 8)`); +@lime-9: color(~`colorPalette("@{lime-6}", 9)`); +@lime-10: color(~`colorPalette("@{lime-6}", 10)`); + +@gold-1: color(~`colorPalette("@{gold-6}", 1)`); +@gold-2: color(~`colorPalette("@{gold-6}", 2)`); +@gold-3: color(~`colorPalette("@{gold-6}", 3)`); +@gold-4: color(~`colorPalette("@{gold-6}", 4)`); +@gold-5: color(~`colorPalette("@{gold-6}", 5)`); +@gold-6: #faad14; +@gold-7: color(~`colorPalette("@{gold-6}", 7)`); +@gold-8: color(~`colorPalette("@{gold-6}", 8)`); +@gold-9: color(~`colorPalette("@{gold-6}", 9)`); +@gold-10: color(~`colorPalette("@{gold-6}", 10)`); + +// The prefix to use on all css classes from ant. +@ant-prefix : ant; + +// -------- Colors ----------- + +@info-color : @blue-6; +@success-color : @green-6; +@processing-color : @blue-6; +@error-color : @red-6; +@highlight-color : @red-6; +@warning-color : @gold-6; +@normal-color : #d9d9d9; + +// Color used by default to control hover and active backgrounds and for +// alert info backgrounds. +@primary-1: color(~`colorPalette("@{primary-color}", 1)`); // replace tint(@primary-color, 90%) +@primary-2: color(~`colorPalette("@{primary-color}", 2)`); // replace tint(@primary-color, 80%) +@primary-3: color(~`colorPalette("@{primary-color}", 3)`); // unused +@primary-4: color(~`colorPalette("@{primary-color}", 4)`); // unused +@primary-5: color(~`colorPalette("@{primary-color}", 5)`); // color used to control the text color in many active and hover states, replace tint(@primary-color, 20%) +@primary-6: @primary-color; // color used to control the text color of active buttons, don't use, use @primary-color +@primary-7: color(~`colorPalette("@{primary-color}", 7)`); // replace shade(@primary-color, 5%) +@primary-8: color(~`colorPalette("@{primary-color}", 8)`); // unused +@primary-9: color(~`colorPalette("@{primary-color}", 9)`); // unused +@primary-10: color(~`colorPalette("@{primary-color}", 10)`); // unused + +// Base Scaffolding Variables +// --- + +// Background color for `` +@body-background : #fff; +// Base background color for most components +@component-background : #fff; +@font-family : "Chinese Quote", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Helvetica, Arial, sans-serif, +"Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol"; +@code-family : "SFMono-Regular", Consolas, "Liberation Mono", Menlo, Courier, monospace; +@heading-color : fade(#000, 85%); +@text-color : fade(#000, 65%); +@text-color-secondary : fade(#000, 45%); +@heading-color-dark : fade(#fff, 100%); +@text-color-dark : fade(#fff, 85%); +@text-color-secondary-dark: fade(#fff, 65%); +@font-size-base : 14px; +@font-size-lg : @font-size-base + 2px; +@font-size-sm : 12px; +@line-height-base : 1.5; +@border-radius-base : 4px; +@border-radius-sm : 2px; + +// vertical paddings +@padding-lg : 24px; // containers +@padding-md : 16px; // small containers and buttons +@padding-sm : 12px; // Form controls and items +@padding-xs : 8px; // small items + +// vertical padding for all form controls +@control-padding-horizontal: @padding-sm; +@control-padding-horizontal-sm: @padding-xs; + +// The background colors for active and hover states for things like +// list items or table cells. +@item-active-bg : @primary-1; +@item-hover-bg : @primary-1; + +// ICONFONT +@iconfont-css-prefix : anticon; + +// LINK +@link-color : @primary-color; +@link-hover-color : color(~`colorPalette("@{link-color}", 5)`); +@link-active-color : color(~`colorPalette("@{link-color}", 7)`); +@link-decoration : none; +@link-hover-decoration : none; + +// Animation +@ease-base-out : cubic-bezier(0.7, 0.3, 0.1, 1); +@ease-base-in : cubic-bezier(0.9, 0, 0.3, 0.7); +@ease-out : cubic-bezier(0.215, 0.61, 0.355, 1); +@ease-in : cubic-bezier(0.55, 0.055, 0.675, 0.19); +@ease-in-out : cubic-bezier(0.645, 0.045, 0.355, 1); +@ease-out-back : cubic-bezier(0.12, 0.4, 0.29, 1.46); +@ease-in-back : cubic-bezier(0.71, -0.46, 0.88, 0.6); +@ease-in-out-back : cubic-bezier(0.71, -0.46, 0.29, 1.46); +@ease-out-circ : cubic-bezier(0.08, 0.82, 0.17, 1); +@ease-in-circ : cubic-bezier(0.6, 0.04, 0.98, 0.34); +@ease-in-out-circ : cubic-bezier(0.78, 0.14, 0.15, 0.86); +@ease-out-quint : cubic-bezier(0.23, 1, 0.32, 1); +@ease-in-quint : cubic-bezier(0.755, 0.05, 0.855, 0.06); +@ease-in-out-quint : cubic-bezier(0.86, 0, 0.07, 1); + +// Border color +@border-color-base : hsv(0, 0, 85%); // base border outline a component +@border-color-split : hsv(0, 0, 91%); // split border inside a component +@border-width-base : 1px; // width of the border for a component +@border-style-base : solid; // style of a components border + +// Outline +@outline-blur-size : 0; +@outline-width : 2px; +@outline-color : @primary-color; + +@background-color-light : hsv(0, 0, 98%); // background of header and selected item +@background-color-base : hsv(0, 0, 96%); // Default grey background color + +// Disabled states +@disabled-color : fade(#000, 25%); +@disabled-bg : @background-color-base; +@disabled-color-dark : fade(#fff, 35%); + +// Shadow +@shadow-color : rgba(0, 0, 0, .15); +@box-shadow-base : @shadow-1-down; +@shadow-1-up : 0 -2px 8px @shadow-color; +@shadow-1-down : 0 2px 8px @shadow-color; +@shadow-1-left : -2px 0 8px @shadow-color; +@shadow-1-right : 2px 0 8px @shadow-color; +@shadow-2 : 0 4px 12px @shadow-color; + +// Buttons +@btn-font-weight : 400; +@btn-border-radius-base : @border-radius-base; +@btn-border-radius-sm : @border-radius-base; + +@btn-primary-color : #fff; +@btn-primary-bg : @primary-color; + +@btn-default-color : @text-color; +@btn-default-bg : #fff; +@btn-default-border : @border-color-base; + +@btn-danger-color : @error-color; +@btn-danger-bg : @background-color-base; +@btn-danger-border : @border-color-base; + +@btn-disable-color : @disabled-color; +@btn-disable-bg : @disabled-bg; +@btn-disable-border : @border-color-base; + +@btn-padding-base : 0 @padding-md - 1px; +@btn-font-size-lg : @font-size-lg; +@btn-font-size-sm : @font-size-base; +@btn-padding-lg : @btn-padding-base; +@btn-padding-sm : 0 @padding-xs - 1px; + +@btn-height-base : 32px; +@btn-height-lg : 40px; +@btn-height-sm : 24px; + +@btn-circle-size : @btn-height-base; +@btn-circle-size-lg : @btn-height-lg; +@btn-circle-size-sm : @btn-height-sm; + +@btn-group-border : @primary-5; + +// Checkbox +@checkbox-size : 16px; +@checkbox-color : @primary-color; +@checkbox-check-color : #fff; + +// Radio +@radio-size : 16px; +@radio-dot-color : @primary-color; + +// Radio buttons +@radio-button-bg : @btn-default-bg; +@radio-button-color : @btn-default-color; +@radio-button-hover-color : @primary-5; +@radio-button-active-color : @primary-7; + +// Media queries breakpoints +// Extra small screen / phone +@screen-xs : 480px; +@screen-xs-min : @screen-xs; + +// Small screen / tablet +@screen-sm : 576px; +@screen-sm-min : @screen-sm; + +// Medium screen / desktop +@screen-md : 768px; +@screen-md-min : @screen-md; + +// Large screen / wide desktop +@screen-lg : 992px; +@screen-lg-min : @screen-lg; + +// Extra large screen / full hd +@screen-xl : 1200px; +@screen-xl-min : @screen-xl; + +// Extra extra large screen / large descktop +@screen-xxl : 1600px; +@screen-xxl-min : @screen-xxl; + +// provide a maximum +@screen-xs-max : (@screen-sm-min - 1px); +@screen-sm-max : (@screen-md-min - 1px); +@screen-md-max : (@screen-lg-min - 1px); +@screen-lg-max : (@screen-xl-min - 1px); +@screen-xl-max : (@screen-xxl-min - 1px); + +// Grid system +@grid-columns : 24; +@grid-gutter-width : 0; + +// Layout +@layout-body-background : #f0f2f5; +@layout-header-background : #001529; +@layout-footer-background : @layout-body-background; +@layout-header-height : 64px; +@layout-header-padding : 0 50px; +@layout-footer-padding : 24px 50px; +@layout-sider-background : @layout-header-background; +@layout-trigger-height : 48px; +@layout-trigger-background : #002140; +@layout-trigger-color : #fff; +@layout-zero-trigger-width : 36px; +@layout-zero-trigger-height : 42px; +// Layout light theme +@layout-sider-background-light : #fff; +@layout-trigger-background-light: #fff; +@layout-trigger-color-light : @text-color; + +// z-index list +@zindex-affix : 10; +@zindex-back-top : 10; +@zindex-modal-mask : 1000; +@zindex-modal : 1000; +@zindex-notification : 1010; +@zindex-message : 1010; +@zindex-popover : 1030; +@zindex-picker : 1050; +@zindex-dropdown : 1050; +@zindex-tooltip : 1060; + +// Animation +@animation-duration-slow: .3s; // Modal +@animation-duration-base: .2s; +@animation-duration-fast: .1s; // Tooltip + +// Form +// --- +@label-required-color : @highlight-color; +@label-color : @heading-color; +@form-item-margin-bottom : 24px; +@form-item-trailing-colon : true; +@form-vertical-label-padding : 0 0 8px; +@form-vertical-label-margin : 0; + +// Input +// --- +@input-height-base : 32px; +@input-height-lg : 40px; +@input-height-sm : 24px; +@input-padding-horizontal : @control-padding-horizontal - 1px; +@input-padding-horizontal-base: @input-padding-horizontal; +@input-padding-horizontal-sm : @control-padding-horizontal-sm - 1px; +@input-padding-horizontal-lg : @input-padding-horizontal; +@input-padding-vertical-base : 4px; +@input-padding-vertical-sm : 1px; +@input-padding-vertical-lg : 6px; +@input-placeholder-color : hsv(0, 0, 75%); +@input-color : @text-color; +@input-border-color : @border-color-base; +@input-bg : #fff; +@input-addon-bg : @background-color-light; +@input-hover-border-color : @primary-color; +@input-disabled-bg : @disabled-bg; +@input-outline-offset : 0 0; + +// Tooltip +// --- +//* Tooltip max width +@tooltip-max-width: 250px; +//** Tooltip text color +@tooltip-color: #fff; +//** Tooltip background color +@tooltip-bg: rgba(0, 0, 0, .75); +//** Tooltip arrow width +@tooltip-arrow-width: 5px; +//** Tooltip distance with trigger +@tooltip-distance: @tooltip-arrow-width - 1px + 4px; +//** Tooltip arrow color +@tooltip-arrow-color: @tooltip-bg; + +// Popover +// --- +//** Popover body background color +@popover-bg: #fff; +//** Popover text color +@popover-color: @text-color; +//** Popover maximum width +@popover-min-width: 177px; +//** Popover arrow width +@popover-arrow-width: 6px; +//** Popover arrow color +@popover-arrow-color: @popover-bg; +//** Popover outer arrow width +//** Popover outer arrow color +@popover-arrow-outer-color: @popover-bg; +//** Popover distance with trigger +@popover-distance: @popover-arrow-width + 4px; + +// Modal +// -- +@modal-mask-bg: rgba(0, 0, 0, 0.65); + +// Progress +// -- +@progress-default-color: @processing-color; +@progress-remaining-color: @background-color-base; +@progress-text-color: @text-color; + +// Menu +// --- +@menu-inline-toplevel-item-height: 40px; +@menu-item-height: 40px; +@menu-collapsed-width: 80px; +@menu-bg: @component-background; +@menu-item-color: @text-color; +@menu-highlight-color: @primary-color; +@menu-item-active-bg: @item-active-bg; +@menu-item-active-border-width: 3px; +@menu-item-group-title-color: @text-color-secondary; +// dark theme +@menu-dark-color: @text-color-secondary-dark; +@menu-dark-bg: @layout-header-background; +@menu-dark-arrow-color: #fff; +@menu-dark-submenu-bg: #000c17; +@menu-dark-highlight-color: #fff; +@menu-dark-item-active-bg: @primary-color; + +// Spin +// --- +@spin-dot-size-sm: 14px; +@spin-dot-size: 20px; +@spin-dot-size-lg: 32px; + +// Table +// -- +@table-header-bg: @background-color-light; +@table-header-color: @heading-color; +@table-header-sort-bg: @background-color-base; +@table-body-sort-bg: rgba(0, 0, 0, .01); +@table-row-hover-bg: @primary-1; +@table-selected-row-bg: #fafafa; +@table-expanded-row-bg: #fbfbfb; +@table-padding-vertical: 16px; +@table-padding-horizontal: 16px; + +// Tag +// -- +@tag-default-bg: @background-color-light; +@tag-default-color: @text-color; +@tag-font-size: @font-size-sm; + +// TimePicker +// --- +@time-picker-panel-column-width: 56px; +@time-picker-panel-width: @time-picker-panel-column-width * 3; +@time-picker-selected-bg: @background-color-base; + +// Carousel +// --- +@carousel-dot-width: 16px; +@carousel-dot-height: 3px; +@carousel-dot-active-width: 24px; + +// Badge +// --- +@badge-height: 20px; +@badge-dot-size: 6px; +@badge-font-size: @font-size-sm; +@badge-font-weight: normal; +@badge-status-size: 6px; + +// Rate +// --- +@rate-star-color: @yellow-6; +@rate-star-bg: @border-color-split; + +// Card +// --- +@card-head-color: @heading-color; +@card-head-background: transparent; +@card-head-padding: 16px; +@card-inner-head-padding: 12px; +@card-padding-base: 24px; +@card-padding-wider: 32px; +@card-actions-background: @background-color-light; +@card-shadow: 0 2px 8px rgba(0, 0, 0, .09); + +// Tabs +// --- +@tabs-card-head-background: @background-color-light; +@tabs-card-height: 40px; +@tabs-card-active-color: @primary-color; +@tabs-title-font-size: @font-size-base; +@tabs-title-font-size-lg: @font-size-lg; +@tabs-title-font-size-sm: @font-size-base; +@tabs-ink-bar-color: @primary-color; +@tabs-bar-margin: 0 0 16px 0; +@tabs-horizontal-margin: 0 32px 0 0; +@tabs-horizontal-padding: 12px 16px; +@tabs-vertical-padding: 8px 24px; +@tabs-vertical-margin: 0 0 16px 0; +@tabs-scrolling-size: 32px; +@tabs-highlight-color: @primary-color; +@tabs-hover-color: @primary-5; +@tabs-active-color: @primary-7; + +// BackTop +// --- +@back-top-color: #fff; +@back-top-bg: @text-color-secondary; +@back-top-hover-bg: @text-color; + +// Avatar +// --- +@avatar-size-base: 32px; +@avatar-size-lg: 40px; +@avatar-size-sm: 24px; +@avatar-font-size-base: 18px; +@avatar-font-size-lg: 24px; +@avatar-font-size-sm: 14px; +@avatar-bg: #ccc; +@avatar-color: #fff; +@avatar-border-radius: @border-radius-base; + +// Switch +// --- +@switch-height: 22px; +@switch-sm-height: 16px; +@switch-sm-checked-margin-left: -(@switch-sm-height - 3px); +@switch-disabled-opacity: 0.4; +@switch-color: @primary-color; + +// Pagination +// --- +@pagination-item-size: 32px; +@pagination-item-size-sm: 24px; +@pagination-font-family: Arial; +@pagination-font-weight-active: 500; + +// Breadcrumb +// --- +@breadcrumb-base-color: @text-color-secondary; +@breadcrumb-last-item-color: @text-color; +@breadcrumb-font-size: @font-size-base; +@breadcrumb-icon-font-size: @font-size-base; +@breadcrumb-link-color: @text-color-secondary; +@breadcrumb-link-color-hover: @primary-5; +@breadcrumb-separator-color: @text-color-secondary; +@breadcrumb-separator-margin: 0 @padding-xs; + +// Slider +// --- +@slider-margin: 14px 6px 10px; +@slider-rail-background-color: @background-color-base; +@slider-rail-background-color-hover: #e1e1e1; +@slider-track-background-color: @primary-3; +@slider-track-background-color-hover: @primary-4; +@slider-handle-color: @primary-3; +@slider-handle-color-hover: @primary-4; +@slider-handle-color-focus: tint(@primary-color, 20%); +@slider-handle-color-focus-shadow: tint(@primary-color, 50%); +@slider-handle-color-tooltip-open: @primary-color; +@slider-dot-border-color: @border-color-split; +@slider-dot-border-color-active: tint(@primary-color, 50%); +@slider-disabled-color: @disabled-color; +@slider-disabled-background-color: @component-background; + +// Tree +// --- +@tree-title-height: 24px; +@tree-child-padding: 18px; +@tree-directory-selected-color: #fff; +@tree-directory-selected-bg: @primary-color; + +// Collapse +// --- +@collapse-header-padding: 12px 0 12px 40px; +@collapse-header-bg: @background-color-light; +@collapse-content-padding: @padding-md; +@collapse-content-bg: @component-background; + +// Skeleton +// --- +@skeleton-color: #f2f2f2; + +// Transfer +// --- +@transfer-disabled-bg: @disabled-bg; + +// Message +// --- +@message-notice-content-padding: 10px 16px; + +// Motion +// --- +@wave-animation-width: 6px; + +// Alert +// --- +@alert-success-border-color: ~`colorPalette("@{success-color}", 3)`; +@alert-success-bg-color: ~`colorPalette("@{success-color}", 1)`; +@alert-success-icon-color: @success-color; +@alert-info-border-color: ~`colorPalette("@{info-color}", 3)`; +@alert-info-bg-color: ~`colorPalette("@{info-color}", 1)`; +@alert-info-icon-color: @info-color; +@alert-warning-border-color: ~`colorPalette("@{warning-color}", 3)`; +@alert-warning-bg-color: ~`colorPalette("@{warning-color}", 1)`; +@alert-warning-icon-color: @warning-color; +@alert-error-border-color: ~`colorPalette("@{error-color}", 3)`; +@alert-error-bg-color: ~`colorPalette("@{error-color}", 1)`; +@alert-error-icon-color: @error-color; + +// List +// --- +@list-empty-text-padding: @padding-md; +@list-item-padding: @padding-sm 0; +@list-item-content-margin: 0 0 @padding-md 0; +@list-item-meta-margin-bottom: @padding-md; +@list-item-meta-avatar-margin-right: @padding-md; +@list-item-meta-title-margin-bottom: @padding-sm; + +// Menu +@menu-dark-item-selected-bg: @menu-dark-item-active-bg; + +// Tabs +@tab-bar-margin: @tabs-bar-margin; +@tab-horizontal-margin: @tabs-horizontal-margin; +@tab-vertical-margin: @tabs-vertical-margin; +@tab-horizontal-padding: @tabs-horizontal-padding; +@tab-vertical-padding: @tabs-vertical-padding; +@tab-scrolling-size: @tabs-scrolling-size; +@tab-highlight-color: @tabs-highlight-color; +@tab-hover-color: @tabs-hover-color; +@tab-active-color: @tabs-active-color; +@tabs-ink-bar-bg-color: @tabs-ink-bar-color; + +.listContent .extra { + color: rgba(0, 0, 0, 0.45); +} +.listContent .extra > em { + color: rgba(0, 0, 0, 0.25); +} +.avatarItem :global .ant-avatar { + border: 1px solid #fff; +} +.chartCard .avatar img { + border-radius: 100%; +} +.chartCard .meta { + color: rgba(0, 0, 0, 0.45); +} +.chartCard .total { + color: rgba(0, 0, 0, 0.85); +} +.chartCard .footer { + border-top: 1px solid #e8e8e8; +} +.field span:last-child { + color: rgba(0, 0, 0, 0.85); +} +.miniProgress .progressWrap { + background-color: #f5f5f5; +} +.miniProgress .progress { + border-radius: 1px 0 0 1px; + background-color: @primary-color; +} +.miniProgress .target span { + border-radius: 100px; +} +.pie .dot { + border-radius: 8px; +} +.pie .line { + background-color: #e8e8e8; +} +.pie .legendTitle { + color: rgba(0, 0, 0, 0.65); +} +.pie .percent { + color: rgba(0, 0, 0, 0.45); +} +.pie .total > h4 { + color: rgba(0, 0, 0, 0.45); +} +.pie .total > p { + color: rgba(0, 0, 0, 0.85); +} +.radar .legend .legendItem { + color: rgba(0, 0, 0, 0.45); +} +.radar .legend .legendItem h6 { + color: rgba(0, 0, 0, 0.85); +} +.radar .legend .legendItem:after { + background-color: #e8e8e8; +} +.radar .legend .dot { + border-radius: 6px; +} + +.timelineChart { + background: #fff; +} +.waterWave .text span { + color: rgba(0, 0, 0, 0.45); +} +.waterWave .text h4 { + color: rgba(0, 0, 0, 0.85); +} +.descriptionList .title { + color: rgba(0, 0, 0, 0.85); +} +.descriptionList .term { + color: rgba(0, 0, 0, 0.85); +} +.descriptionList .detail { + color: rgba(0, 0, 0, 0.65); +} +.descriptionList.small .title { + color: rgba(0, 0, 0, 0.65); +} +.linkGroup > a { + color: rgba(0, 0, 0, 0.65); +} +.linkGroup > a:hover { + color: @primary-color; +} +.lines .shadow { + color: transparent; +} +.exception .imgEle { + background-repeat: no-repeat; + background-position: 50% 50%; + background-size: contain; +} +.exception .content h1 { + color: #434e59; +} +.exception .content .desc { + color: rgba(0, 0, 0, 0.45); +} +.toolbar { + box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.03); + background: #fff; + border-top: 1px solid #e8e8e8; +} +.globalFooter .links a { + color: rgba(0, 0, 0, 0.45); +} +.globalFooter .links a:hover { + color: rgba(0, 0, 0, 0.65); +} +.globalFooter .copyright { + color: rgba(0, 0, 0, 0.45); +} +.layout .header { + background-color: @primary-color !important; +} +i.trigger:hover { + background: rgba(0, 0, 0, 0.025); +} +.right .action > i { + color: rgba(0, 0, 0, 0.65); +} +.right .action:hover { + background: rgba(0, 0, 0, 0.025); +} +:global(.right .action.ant-popover-open) { + background: rgba(0, 0, 0, 0.025); +} +.right .search:hover { + background: transparent; +} +.right .account .avatar { + color: @primary-color; + background: rgba(255, 255, 255, 0.85); +} +.dark .action { + color: rgba(255, 255, 255, 0.85); +} +.dark .action > i { + color: rgba(255, 255, 255, 0.85); +} +.dark .action:hover, +.dark .action:global(.ant-popover-open) { + background: @primary-color; +} +.dark .action :global(.ant-badge) { + color: rgba(255, 255, 255, 0.85); +} +.headerSearch .input { + background: transparent; + border-radius: 0; +} +.headerSearch .input :global(.ant-select-selection) { + background: transparent; +} +.headerSearch .input input { + border: 0; + box-shadow: none !important; +} +.headerSearch .input, +.headerSearch .input:hover, +.headerSearch .input:focus { + border-bottom: 1px solid #d9d9d9; +} +.login :global .ant-tabs .ant-tabs-bar { + border-bottom: 0; +} +.login .icon { + color: rgba(0, 0, 0, 0.2); +} +.login .icon:hover { + color: @primary-color; +} +.login .prefixIcon { + color: rgba(0, 0, 0, 0.25); +} +.list .item .avatar { + background: #fff; +} +.list .item:last-child { + border-bottom: 0; +} +.list .item:hover { + background: color(~`colorPalette("@{primary-color}", 1)`); +} +.list .item .extra { + color: rgba(0, 0, 0, 0.45); +} +.notFound { + color: rgba(0, 0, 0, 0.45); +} +.clear { + color: rgba(0, 0, 0, 0.65); + border-radius: 0 0 4px 4px; + border-top: 1px solid #e8e8e8; +} +.clear:hover { + color: rgba(0, 0, 0, 0.85); +} +.numberInfo .suffix { + color: rgba(0, 0, 0, 0.65); +} +.numberInfo .numberInfoTitle { + color: rgba(0, 0, 0, 0.65); +} +.numberInfo .numberInfoSubTitle { + color: rgba(0, 0, 0, 0.45); +} +.numberInfo .numberInfoValue > span { + color: rgba(0, 0, 0, 0.85); +} +.numberInfo .numberInfoValue .subTotal { + color: rgba(0, 0, 0, 0.45); +} +.numberInfo .numberInfoValue .subTotal :global .anticon-caret-up { + color: #f5222d; +} +.numberInfo .numberInfoValue .subTotal :global .anticon-caret-down { + color: #52c41a; +} +.numberInfolight .numberInfoValue > span { + color: rgba(0, 0, 0, 0.65); +} +.pageHeader { + background: #fff; + border-bottom: 1px solid #e8e8e8; +} +.pageHeader .tabs :global .ant-tabs-bar { + border-bottom: 1px solid #e8e8e8; +} +.pageHeader .logo > img { + border-radius: 4px; +} +.pageHeader .title { + color: rgba(0, 0, 0, 0.85); +} +.result .icon > .success { + color: #52c41a; +} +.result .icon > .error { + color: #f5222d; +} +.result .title { + color: rgba(0, 0, 0, 0.85); +} +.result .description { + color: rgba(0, 0, 0, 0.45); +} +.result .extra { + background: #fafafa; + border-radius: 2px; +} +.blockChecbox .item { + border-radius: 4px; +} +.blockChecbox .selectIcon { + color: @primary-color; +} +.color_block { + border-radius: 4px; +} +.title { + color: rgba(0, 0, 0, 0.85); +} +.handle { + background: @primary-color; + border-radius: 4px 0 0 4px; +} +.setting-drawer-index-handle { + /* 暂时不知道放哪解决 */ + background: @primary-color !important; +} +.themeColor .title { + color: rgba(0, 0, 0, 0.65); +} +.themeColor .colorBlock { + border-radius: 2px; + color: #fff; +} +.logo h1 { + color: white; +} +.sider { + box-shadow: 2px 116px 6px rgba(0, 21, 41, 0.35); +} +.sider.light { + box-shadow: 2px 116px 8px 0 rgba(29, 35, 41, 0.05); + background-color: white; +} +.sider.light .logo { + background-color: @primary-color !important; + box-shadow: 1px 1px 0 0 #e8e8e8; +} +.sider.light .logo h1 { + color: white; +} +.sider.light :global(.ant-menu-light) { + border-right-color: transparent; +} +:global .drawer .drawer-content { + background: #001529; +} +.standardFormRow { + border-bottom: 1px dashed #e8e8e8; +} +.standardFormRow :global .ant-form-item-label label { + color: rgba(0, 0, 0, 0.65); +} +.standardFormRow .label { + color: rgba(0, 0, 0, 0.85); +} +.standardFormRowLast { + border: none; +} + +.head { + box-shadow: 0 1px 4px rgba(0, 21, 41, 0.08); +} +.head.light { + background-color: #fff; +} +.logo h1 { + color: #fff; +} +.light h1 { + color: #002140; +} +.trendItem .up { + color: #f5222d; +} +.trendItem .down { + color: #52c41a; +} +.trendItem.trendItemGrey .up, +.trendItem.trendItemGrey .down { + color: rgba(0, 0, 0, 0.65); +} +.trendItem.reverseColor .up { + color: #52c41a; +} +.trendItem.reverseColor .down { + color: #f5222d; +} +.container { + background: #f0f2f5; +} +.title { + color: rgba(0, 0, 0, 0.85); +} +.desc { + color: rgba(0, 0, 0, 0.45); +} +a.listItemMetaTitle { + color: rgba(0, 0, 0, 0.85); +} +.baseView .right .avatar_title { + color: rgba(0, 0, 0, 0.85); +} +.main { + //update-begin---author:liusq Date:20210108 for:[JT-409]编译主题色,然后退出登录后的首页是这样子------------ + //background-color: #fff; + //update-end---author:liusq Date:20210108 for:[JT-409]编译主题色,然后退出登录后的首页是这样子------------ +} +.main .leftmenu { + border-right: 1px solid #e8e8e8; +} +.main .leftmenu :global .ant-menu-inline { + border: none; +} +.main .right .title { + color: rgba(0, 0, 0, 0.85); +} +.main :global .ant-list-split .ant-list-item:last-child { + border-bottom: 1px solid #e8e8e8; +} +:global .ant-list-item-meta .taobao { + color: #ff4000; + border-radius: 4px; +} +:global .ant-list-item-meta .dingding { + background-color: #2eabff; + color: #fff; + border-radius: 4px; +} +:global .ant-list-item-meta .alipay { + color: #2eabff; + border-radius: 4px; +} +:global font.strong { + color: #52c41a; +} +:global font.medium { + color: #faad14; +} +:global font.weak { + color: #f5222d; +} + + + + +.trigger { + background: 'red'; +} +.desc { + color: rgba(0, 0, 0, 0.45); +} +.desc h3 { + color: rgba(0, 0, 0, 0.45); +} +.desc h4 { + color: rgba(0, 0, 0, 0.45); +} +.information .label { + color: rgba(0, 0, 0, 0.85); +} +.errorIcon { + color: #f5222d; +} +.errorListItem { + border-bottom: 1px solid #e8e8e8; +} +.errorListItem:hover { + background: color(~`colorPalette("@{primary-color}", 1)`); +} +.errorListItem:last-child { + border: 0; +} +.errorListItem .errorIcon { + color: #f5222d; +} +.errorListItem .errorField { + color: rgba(0, 0, 0, 0.45); +} +.optional { + color: rgba(0, 0, 0, 0.45); +} +a.listItemMetaTitle { + color: rgba(0, 0, 0, 0.85); +} +.noData { + color: rgba(0, 0, 0, 0.25); +} +.heading { + color: rgba(0, 0, 0, 0.85); +} +.textSecondary { + color: rgba(0, 0, 0, 0.45); +} +.title { + color: rgba(0, 0, 0, 0.85); +} +.main .icon { + color: rgba(0, 0, 0, 0.2); +} +.main .icon:hover { + color: @primary-color; +} +.success { + color: #52c41a; +} +.warning { + color: #faad14; +} +.error { + color: #f5222d; +} +.progress-pass > .progress :global .ant-progress-bg { + background-color: #faad14; +} +html { + -webkit-tap-highlight-color: rgba(0, 0, 0, 0); +} +body { + color: rgba(0, 0, 0, 0.65); + background-color: #fff; +} +h1, +h2, +h3, +h4, +h5, +h6 { + color: rgba(0, 0, 0, 0.85); +} +abbr[title], +abbr[data-original-title] { + border-bottom: 0; +} +a { + color: @primary-color; + background-color: transparent; +} +a:hover { + color: color(~`colorPalette("@{primary-color}", 5)`); +} +a:active { + color: color(~`colorPalette("@{primary-color}", 7)`); +} +a[disabled] { + color: rgba(0, 0, 0, 0.25); +} +img { + border-style: none; +} +table { + border-collapse: collapse; +} +caption { + color: rgba(0, 0, 0, 0.45); +} +input, +button, +select, +optgroup, +textarea { + color: inherit; +} +button::-moz-focus-inner, +[type="button"]::-moz-focus-inner, +[type="reset"]::-moz-focus-inner, +[type="submit"]::-moz-focus-inner { + border-style: none; +} +fieldset { + border: 0; +} +legend { + color: inherit; +} +mark { + background-color: #feffe6; +} +::selection { + background: @primary-color; + color: #fff; +} +[ant-click-animating-without-extra-node]:after, +.ant-click-animating-node { + border-radius: inherit; + border: 0 solid @primary-color; +} +.ant-alert { + color: rgba(0, 0, 0, 0.65); + border-radius: 4px; +} +.ant-alert-success { + border: 1px solid #b7eb8f; + background-color: #f6ffed; +} +.ant-alert-success .ant-alert-icon { + color: #52c41a; +} +.ant-alert-info { + border: 1px solid color(~`colorPalette("@{primary-color}", 3)`); + background-color: color(~`colorPalette("@{primary-color}", 1)`); +} +.ant-alert-info .ant-alert-icon { + color: @primary-color; +} +.ant-alert-warning { + border: 1px solid #ffe58f; + background-color: #fffbe6; +} +.ant-alert-warning .ant-alert-icon { + color: #faad14; +} +.ant-alert-error { + border: 1px solid #ffa39e; + background-color: #fff1f0; +} +.ant-alert-error .ant-alert-icon { + color: #f5222d; +} +.ant-alert-close-icon .anticon-close { + color: rgba(0, 0, 0, 0.45); +} +.ant-alert-close-icon .anticon-close:hover { + color: #404040; +} +.ant-alert-with-description { + border-radius: 4px; + color: rgba(0, 0, 0, 0.65); +} +.ant-alert-with-description .ant-alert-message { + color: rgba(0, 0, 0, 0.85); +} +.ant-alert-banner { + border-radius: 0; + border: 0; +} +.ant-anchor { + color: rgba(0, 0, 0, 0.65); +} +.ant-anchor-wrapper { + background-color: #fff; +} +.ant-anchor-ink:before { + background-color: #e8e8e8; +} +.ant-anchor-ink-ball { + border-radius: 8px; + border: 2px solid @primary-color; + background-color: #fff; +} +.ant-anchor-link-title { + color: rgba(0, 0, 0, 0.65); +} +.ant-anchor-link-active > .ant-anchor-link-title { + color: @primary-color; +} +.ant-select-auto-complete { + color: rgba(0, 0, 0, 0.65); +} +.ant-select-auto-complete.ant-select .ant-select-selection { + border: 0; + box-shadow: none; +} +.ant-select-auto-complete.ant-select .ant-input { + background: transparent; + border-width: 1px; +} +.ant-select-auto-complete.ant-select .ant-input:focus, +.ant-select-auto-complete.ant-select .ant-input:hover { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + border-right-width: 1px !important; +} +.ant-avatar { + color: rgba(0, 0, 0, 0.65); + background: #ccc; + color: #fff; + border-radius: 50%; +} +.ant-avatar-image { + background: transparent; +} +.ant-avatar-lg { + border-radius: 50%; +} +.ant-avatar-sm { + border-radius: 50%; +} +.ant-avatar-square { + border-radius: 4px; +} +.ant-back-top { + color: rgba(0, 0, 0, 0.65); +} +.ant-back-top-content { + border-radius: 20px; + background-color: rgba(0, 0, 0, 0.45); + color: #fff; +} +.ant-back-top-content:hover { + background-color: rgba(0, 0, 0, 0.65); +} +.ant-back-top-icon { + background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAoCAYAAACWwljjAAAABGdBTUEAALGPC/xhBQAAAbtJREFUWAntmMtKw0AUhhMvS5cuxILgQlRUpIggIoKIIoigG1eC+AA+jo+i6FIXBfeuXIgoeKVeitVWJX5HWhhDksnUpp3FDPyZk3Nm5nycmZKkXhAEOXSA3lG7muTeRzmfy6HneUvIhnYkQK+Q9NhAA0Opg0vBEhjBKHiyb8iGMyQMOYuK41BcBSypAL+MYXSKjtFAW7EAGEO3qN4uMQbbAkXiSfRQJ1H6a+yhlkKRcAoVFYiweYNjtCVQJJpBz2GCiPt7fBOZQpFgDpUikse5HgnkM4Fi4QX0Fpc5wf9EbLqpUCy4jMoJSXWhFwbMNgWKhVbRhy5jirhs9fy/oFhgHVVTJEs7RLZ8sSEoJm6iz7SZDMbJ+/OKERQTttCXQRLToRUmrKWCYuA2+jbN0MB4OQobYShfdTCgn/sL1K36M7TLrN3n+758aPy2rrpR6+/od5E8tf/A1uLS9aId5T7J3CNYihkQ4D9PiMdMC7mp4rjB9kjFjZp8BlnVHJBuO1yFXIV0FdDF3RlyFdJVQBdv5AxVdIsq8apiZ2PyYO1EVykesGfZEESsCkweyR8MUW+V8uJ1gkYipmpdP1pm2aJVPEGzAAAAAElFTkSuQmCC) 100%/100% no-repeat; +} +.ant-badge { + color: rgba(0, 0, 0, 0.65); + color: unset; +} +.ant-badge-count { + border-radius: 10px; + background: #f5222d; + color: #fff; + box-shadow: 0 0 0 1px #fff; +} +.ant-badge-count a, +.ant-badge-count a:hover { + color: #fff; +} +.ant-badge-dot { + border-radius: 100%; + background: #f5222d; + box-shadow: 0 0 0 1px #fff; +} +.ant-badge-status-dot { + border-radius: 50%; +} +.ant-badge-status-success { + background-color: #52c41a; +} +.ant-badge-status-processing { + background-color: @primary-color; +} +.ant-badge-status-processing:after { + border-radius: 50%; + border: 1px solid @primary-color; +} +.ant-badge-status-default { + background-color: #d9d9d9; +} +.ant-badge-status-error { + background-color: #f5222d; +} +.ant-badge-status-warning { + background-color: #faad14; +} +.ant-badge-status-text { + color: rgba(0, 0, 0, 0.65); +} +.ant-breadcrumb { + color: rgba(0, 0, 0, 0.65); + color: rgba(0, 0, 0, 0.45); +} +.ant-breadcrumb a { + color: rgba(0, 0, 0, 0.45); +} +.ant-breadcrumb a:hover { + color: color(~`colorPalette("@{primary-color}", 5)`); +} +.ant-breadcrumb > span:last-child { + color: rgba(0, 0, 0, 0.65); +} +.ant-breadcrumb-separator { + color: rgba(0, 0, 0, 0.45); +} +.ant-btn { + background-image: none; + border: 1px solid transparent; + border-radius: 4px; + box-shadow: 0 2px 0 rgba(0, 0, 0, 0.015); + color: rgba(0, 0, 0, 0.65); + background-color: #fff; + border-color: #d9d9d9; +} +.ant-btn:not([disabled]):active { + box-shadow: none; +} +.ant-btn-lg { + border-radius: 4px; +} +.ant-btn-sm { + border-radius: 4px; +} +.ant-btn > a:only-child { + color: currentColor; +} +.ant-btn > a:only-child:after { + background: transparent; +} +.ant-btn:hover, +.ant-btn:focus { + color: color(~`colorPalette("@{primary-color}", 5)`); + background-color: #fff; + border-color: color(~`colorPalette("@{primary-color}", 5)`); +} +.ant-btn:hover > a:only-child, +.ant-btn:focus > a:only-child { + color: currentColor; +} +.ant-btn:hover > a:only-child:after, +.ant-btn:focus > a:only-child:after { + background: transparent; +} +.ant-btn:active, +.ant-btn.active { + color: color(~`colorPalette("@{primary-color}", 7)`); + background-color: #fff; + border-color: color(~`colorPalette("@{primary-color}", 7)`); +} +.ant-btn:active > a:only-child, +.ant-btn.active > a:only-child { + color: currentColor; +} +.ant-btn:active > a:only-child:after, +.ant-btn.active > a:only-child:after { + background: transparent; +} +.ant-btn.disabled, +.ant-btn[disabled], +.ant-btn.disabled:hover, +.ant-btn[disabled]:hover, +.ant-btn.disabled:focus, +.ant-btn[disabled]:focus, +.ant-btn.disabled:active, +.ant-btn[disabled]:active, +.ant-btn.disabled.active, +.ant-btn[disabled].active { + color: rgba(0, 0, 0, 0.25); + background-color: #f5f5f5; + border-color: #d9d9d9; + box-shadow: none; +} +.ant-btn.disabled > a:only-child, +.ant-btn[disabled] > a:only-child, +.ant-btn.disabled:hover > a:only-child, +.ant-btn[disabled]:hover > a:only-child, +.ant-btn.disabled:focus > a:only-child, +.ant-btn[disabled]:focus > a:only-child, +.ant-btn.disabled:active > a:only-child, +.ant-btn[disabled]:active > a:only-child, +.ant-btn.disabled.active > a:only-child, +.ant-btn[disabled].active > a:only-child { + color: currentColor; +} +.ant-btn.disabled > a:only-child:after, +.ant-btn[disabled] > a:only-child:after, +.ant-btn.disabled:hover > a:only-child:after, +.ant-btn[disabled]:hover > a:only-child:after, +.ant-btn.disabled:focus > a:only-child:after, +.ant-btn[disabled]:focus > a:only-child:after, +.ant-btn.disabled:active > a:only-child:after, +.ant-btn[disabled]:active > a:only-child:after, +.ant-btn.disabled.active > a:only-child:after, +.ant-btn[disabled].active > a:only-child:after { + background: transparent; +} +.ant-btn:hover, +.ant-btn:focus, +.ant-btn:active, +.ant-btn.active { + background: #fff; +} +.ant-btn-primary { + color: #fff; + background-color: @primary-color; + border-color: @primary-color; + box-shadow: 0 2px 0 rgba(0, 0, 0, 0.035); +} +.ant-btn-primary > a:only-child { + color: currentColor; +} +.ant-btn-primary > a:only-child:after { + background: transparent; +} +.ant-btn-primary:hover, +.ant-btn-primary:focus { + color: #fff; + background-color: color(~`colorPalette("@{primary-color}", 5)`); + border-color: color(~`colorPalette("@{primary-color}", 5)`); +} +.ant-btn-primary:hover > a:only-child, +.ant-btn-primary:focus > a:only-child { + color: currentColor; +} +.ant-btn-primary:hover > a:only-child:after, +.ant-btn-primary:focus > a:only-child:after { + background: transparent; +} +.ant-btn-primary:active, +.ant-btn-primary.active { + color: #fff; + background-color: color(~`colorPalette("@{primary-color}", 7)`); + border-color: color(~`colorPalette("@{primary-color}", 7)`); +} +.ant-btn-primary:active > a:only-child, +.ant-btn-primary.active > a:only-child { + color: currentColor; +} +.ant-btn-primary:active > a:only-child:after, +.ant-btn-primary.active > a:only-child:after { + background: transparent; +} +.ant-btn-primary.disabled, +.ant-btn-primary[disabled], +.ant-btn-primary.disabled:hover, +.ant-btn-primary[disabled]:hover, +.ant-btn-primary.disabled:focus, +.ant-btn-primary[disabled]:focus, +.ant-btn-primary.disabled:active, +.ant-btn-primary[disabled]:active, +.ant-btn-primary.disabled.active, +.ant-btn-primary[disabled].active { + color: rgba(0, 0, 0, 0.25); + background-color: #f5f5f5; + border-color: #d9d9d9; + box-shadow: none; +} +.ant-btn-primary.disabled > a:only-child, +.ant-btn-primary[disabled] > a:only-child, +.ant-btn-primary.disabled:hover > a:only-child, +.ant-btn-primary[disabled]:hover > a:only-child, +.ant-btn-primary.disabled:focus > a:only-child, +.ant-btn-primary[disabled]:focus > a:only-child, +.ant-btn-primary.disabled:active > a:only-child, +.ant-btn-primary[disabled]:active > a:only-child, +.ant-btn-primary.disabled.active > a:only-child, +.ant-btn-primary[disabled].active > a:only-child { + color: currentColor; +} +.ant-btn-primary.disabled > a:only-child:after, +.ant-btn-primary[disabled] > a:only-child:after, +.ant-btn-primary.disabled:hover > a:only-child:after, +.ant-btn-primary[disabled]:hover > a:only-child:after, +.ant-btn-primary.disabled:focus > a:only-child:after, +.ant-btn-primary[disabled]:focus > a:only-child:after, +.ant-btn-primary.disabled:active > a:only-child:after, +.ant-btn-primary[disabled]:active > a:only-child:after, +.ant-btn-primary.disabled.active > a:only-child:after, +.ant-btn-primary[disabled].active > a:only-child:after { + background: transparent; +} +.ant-btn-group .ant-btn-primary:not(:first-child):not(:last-child) { + border-right-color: color(~`colorPalette("@{primary-color}", 5)`); + border-left-color: color(~`colorPalette("@{primary-color}", 5)`); +} +.ant-btn-group .ant-btn-primary:not(:first-child):not(:last-child):disabled { + border-color: #d9d9d9; +} +.ant-btn-group .ant-btn-primary:first-child:not(:last-child) { + border-right-color: color(~`colorPalette("@{primary-color}", 5)`); +} +.ant-btn-group .ant-btn-primary:first-child:not(:last-child)[disabled] { + border-right-color: #d9d9d9; +} +.ant-btn-group .ant-btn-primary:last-child:not(:first-child), +.ant-btn-group .ant-btn-primary + .ant-btn-primary { + border-left-color: color(~`colorPalette("@{primary-color}", 5)`); +} +.ant-btn-group .ant-btn-primary:last-child:not(:first-child)[disabled], +.ant-btn-group .ant-btn-primary + .ant-btn-primary[disabled] { + border-left-color: #d9d9d9; +} +.ant-btn-ghost { + color: rgba(0, 0, 0, 0.65); + background-color: transparent; + border-color: #d9d9d9; +} +.ant-btn-ghost > a:only-child { + color: currentColor; +} +.ant-btn-ghost > a:only-child:after { + background: transparent; +} +.ant-btn-ghost:hover, +.ant-btn-ghost:focus { + color: color(~`colorPalette("@{primary-color}", 5)`); + background-color: transparent; + border-color: color(~`colorPalette("@{primary-color}", 5)`); +} +.ant-btn-ghost:hover > a:only-child, +.ant-btn-ghost:focus > a:only-child { + color: currentColor; +} +.ant-btn-ghost:hover > a:only-child:after, +.ant-btn-ghost:focus > a:only-child:after { + background: transparent; +} +.ant-btn-ghost:active, +.ant-btn-ghost.active { + color: color(~`colorPalette("@{primary-color}", 7)`); + background-color: transparent; + border-color: color(~`colorPalette("@{primary-color}", 7)`); +} +.ant-btn-ghost:active > a:only-child, +.ant-btn-ghost.active > a:only-child { + color: currentColor; +} +.ant-btn-ghost:active > a:only-child:after, +.ant-btn-ghost.active > a:only-child:after { + background: transparent; +} +.ant-btn-ghost.disabled, +.ant-btn-ghost[disabled], +.ant-btn-ghost.disabled:hover, +.ant-btn-ghost[disabled]:hover, +.ant-btn-ghost.disabled:focus, +.ant-btn-ghost[disabled]:focus, +.ant-btn-ghost.disabled:active, +.ant-btn-ghost[disabled]:active, +.ant-btn-ghost.disabled.active, +.ant-btn-ghost[disabled].active { + color: rgba(0, 0, 0, 0.25); + background-color: #f5f5f5; + border-color: #d9d9d9; + box-shadow: none; +} +.ant-btn-ghost.disabled > a:only-child, +.ant-btn-ghost[disabled] > a:only-child, +.ant-btn-ghost.disabled:hover > a:only-child, +.ant-btn-ghost[disabled]:hover > a:only-child, +.ant-btn-ghost.disabled:focus > a:only-child, +.ant-btn-ghost[disabled]:focus > a:only-child, +.ant-btn-ghost.disabled:active > a:only-child, +.ant-btn-ghost[disabled]:active > a:only-child, +.ant-btn-ghost.disabled.active > a:only-child, +.ant-btn-ghost[disabled].active > a:only-child { + color: currentColor; +} +.ant-btn-ghost.disabled > a:only-child:after, +.ant-btn-ghost[disabled] > a:only-child:after, +.ant-btn-ghost.disabled:hover > a:only-child:after, +.ant-btn-ghost[disabled]:hover > a:only-child:after, +.ant-btn-ghost.disabled:focus > a:only-child:after, +.ant-btn-ghost[disabled]:focus > a:only-child:after, +.ant-btn-ghost.disabled:active > a:only-child:after, +.ant-btn-ghost[disabled]:active > a:only-child:after, +.ant-btn-ghost.disabled.active > a:only-child:after, +.ant-btn-ghost[disabled].active > a:only-child:after { + background: transparent; +} +.ant-btn-dashed { + color: rgba(0, 0, 0, 0.65); + background-color: #fff; + border-color: #d9d9d9; + border-style: dashed; +} +.ant-btn-dashed > a:only-child { + color: currentColor; +} +.ant-btn-dashed > a:only-child:after { + background: transparent; +} +.ant-btn-dashed:hover, +.ant-btn-dashed:focus { + color: color(~`colorPalette("@{primary-color}", 5)`); + background-color: #fff; + border-color: color(~`colorPalette("@{primary-color}", 5)`); +} +.ant-btn-dashed:hover > a:only-child, +.ant-btn-dashed:focus > a:only-child { + color: currentColor; +} +.ant-btn-dashed:hover > a:only-child:after, +.ant-btn-dashed:focus > a:only-child:after { + background: transparent; +} +.ant-btn-dashed:active, +.ant-btn-dashed.active { + color: color(~`colorPalette("@{primary-color}", 7)`); + background-color: #fff; + border-color: color(~`colorPalette("@{primary-color}", 7)`); +} +.ant-btn-dashed:active > a:only-child, +.ant-btn-dashed.active > a:only-child { + color: currentColor; +} +.ant-btn-dashed:active > a:only-child:after, +.ant-btn-dashed.active > a:only-child:after { + background: transparent; +} +.ant-btn-dashed.disabled, +.ant-btn-dashed[disabled], +.ant-btn-dashed.disabled:hover, +.ant-btn-dashed[disabled]:hover, +.ant-btn-dashed.disabled:focus, +.ant-btn-dashed[disabled]:focus, +.ant-btn-dashed.disabled:active, +.ant-btn-dashed[disabled]:active, +.ant-btn-dashed.disabled.active, +.ant-btn-dashed[disabled].active { + color: rgba(0, 0, 0, 0.25); + background-color: #f5f5f5; + border-color: #d9d9d9; + box-shadow: none; +} +.ant-btn-dashed.disabled > a:only-child, +.ant-btn-dashed[disabled] > a:only-child, +.ant-btn-dashed.disabled:hover > a:only-child, +.ant-btn-dashed[disabled]:hover > a:only-child, +.ant-btn-dashed.disabled:focus > a:only-child, +.ant-btn-dashed[disabled]:focus > a:only-child, +.ant-btn-dashed.disabled:active > a:only-child, +.ant-btn-dashed[disabled]:active > a:only-child, +.ant-btn-dashed.disabled.active > a:only-child, +.ant-btn-dashed[disabled].active > a:only-child { + color: currentColor; +} +.ant-btn-dashed.disabled > a:only-child:after, +.ant-btn-dashed[disabled] > a:only-child:after, +.ant-btn-dashed.disabled:hover > a:only-child:after, +.ant-btn-dashed[disabled]:hover > a:only-child:after, +.ant-btn-dashed.disabled:focus > a:only-child:after, +.ant-btn-dashed[disabled]:focus > a:only-child:after, +.ant-btn-dashed.disabled:active > a:only-child:after, +.ant-btn-dashed[disabled]:active > a:only-child:after, +.ant-btn-dashed.disabled.active > a:only-child:after, +.ant-btn-dashed[disabled].active > a:only-child:after { + background: transparent; +} +.ant-btn-danger { + color: #f5222d; + background-color: #f5f5f5; + border-color: #d9d9d9; +} +.ant-btn-danger > a:only-child { + color: currentColor; +} +.ant-btn-danger > a:only-child:after { + background: transparent; +} +.ant-btn-danger:hover { + color: #fff; + background-color: #ff4d4f; + border-color: #ff4d4f; +} +.ant-btn-danger:hover > a:only-child { + color: currentColor; +} +.ant-btn-danger:hover > a:only-child:after { + background: transparent; +} +.ant-btn-danger:focus { + color: #ff4d4f; + background-color: #fff; + border-color: #ff4d4f; +} +.ant-btn-danger:focus > a:only-child { + color: currentColor; +} +.ant-btn-danger:focus > a:only-child:after { + background: transparent; +} +.ant-btn-danger:active, +.ant-btn-danger.active { + color: #fff; + background-color: #cf1322; + border-color: #cf1322; +} +.ant-btn-danger:active > a:only-child, +.ant-btn-danger.active > a:only-child { + color: currentColor; +} +.ant-btn-danger:active > a:only-child:after, +.ant-btn-danger.active > a:only-child:after { + background: transparent; +} +.ant-btn-danger.disabled, +.ant-btn-danger[disabled], +.ant-btn-danger.disabled:hover, +.ant-btn-danger[disabled]:hover, +.ant-btn-danger.disabled:focus, +.ant-btn-danger[disabled]:focus, +.ant-btn-danger.disabled:active, +.ant-btn-danger[disabled]:active, +.ant-btn-danger.disabled.active, +.ant-btn-danger[disabled].active { + color: rgba(0, 0, 0, 0.25); + background-color: #f5f5f5; + border-color: #d9d9d9; + box-shadow: none; +} +.ant-btn-danger.disabled > a:only-child, +.ant-btn-danger[disabled] > a:only-child, +.ant-btn-danger.disabled:hover > a:only-child, +.ant-btn-danger[disabled]:hover > a:only-child, +.ant-btn-danger.disabled:focus > a:only-child, +.ant-btn-danger[disabled]:focus > a:only-child, +.ant-btn-danger.disabled:active > a:only-child, +.ant-btn-danger[disabled]:active > a:only-child, +.ant-btn-danger.disabled.active > a:only-child, +.ant-btn-danger[disabled].active > a:only-child { + color: currentColor; +} +.ant-btn-danger.disabled > a:only-child:after, +.ant-btn-danger[disabled] > a:only-child:after, +.ant-btn-danger.disabled:hover > a:only-child:after, +.ant-btn-danger[disabled]:hover > a:only-child:after, +.ant-btn-danger.disabled:focus > a:only-child:after, +.ant-btn-danger[disabled]:focus > a:only-child:after, +.ant-btn-danger.disabled:active > a:only-child:after, +.ant-btn-danger[disabled]:active > a:only-child:after, +.ant-btn-danger.disabled.active > a:only-child:after, +.ant-btn-danger[disabled].active > a:only-child:after { + background: transparent; +} +.ant-btn-circle, +.ant-btn-circle-outline { + border-radius: 50%; +} +.ant-btn-circle.ant-btn-lg, +.ant-btn-circle-outline.ant-btn-lg { + border-radius: 50%; +} +.ant-btn-circle.ant-btn-sm, +.ant-btn-circle-outline.ant-btn-sm { + border-radius: 50%; +} +.ant-btn:before { + background: #fff; + border-radius: inherit; +} +.ant-btn-group-lg > .ant-btn, +.ant-btn-group-lg > span > .ant-btn { + border-radius: 0; +} +.ant-btn-group-sm > .ant-btn, +.ant-btn-group-sm > span > .ant-btn { + border-radius: 0; +} +.ant-btn-group .ant-btn-primary + .ant-btn:not(.ant-btn-primary):not([disabled]) { + border-left-color: transparent; +} +.ant-btn-group .ant-btn { + border-radius: 0; +} +.ant-btn-group > .ant-btn:only-child { + border-radius: 4px; +} +.ant-btn-group > span:only-child > .ant-btn { + border-radius: 4px; +} +.ant-btn-group > .ant-btn:first-child:not(:last-child), +.ant-btn-group > span:first-child:not(:last-child) > .ant-btn { + border-bottom-left-radius: 4px; + border-top-left-radius: 4px; +} +.ant-btn-group > .ant-btn:last-child:not(:first-child), +.ant-btn-group > span:last-child:not(:first-child) > .ant-btn { + border-bottom-right-radius: 4px; + border-top-right-radius: 4px; +} +.ant-btn-group-sm > .ant-btn:only-child { + border-radius: 4px; +} +.ant-btn-group-sm > span:only-child > .ant-btn { + border-radius: 4px; +} +.ant-btn-group-sm > .ant-btn:first-child:not(:last-child), +.ant-btn-group-sm > span:first-child:not(:last-child) > .ant-btn { + border-bottom-left-radius: 4px; + border-top-left-radius: 4px; +} +.ant-btn-group-sm > .ant-btn:last-child:not(:first-child), +.ant-btn-group-sm > span:last-child:not(:first-child) > .ant-btn { + border-bottom-right-radius: 4px; + border-top-right-radius: 4px; +} +.ant-btn-group > .ant-btn-group:not(:first-child):not(:last-child) > .ant-btn { + border-radius: 0; +} +.ant-btn-group > .ant-btn-group:first-child:not(:last-child) > .ant-btn:last-child { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.ant-btn-group > .ant-btn-group:last-child:not(:first-child) > .ant-btn:first-child { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.ant-btn-background-ghost { + background: transparent !important; + border-color: #fff; + color: #fff; +} +.ant-btn-background-ghost.ant-btn-primary { + color: @primary-color; + background-color: transparent; + border-color: @primary-color; +} +.ant-btn-background-ghost.ant-btn-primary > a:only-child { + color: currentColor; +} +.ant-btn-background-ghost.ant-btn-primary > a:only-child:after { + background: transparent; +} +.ant-btn-background-ghost.ant-btn-primary:hover, +.ant-btn-background-ghost.ant-btn-primary:focus { + color: color(~`colorPalette("@{primary-color}", 5)`); + background-color: transparent; + border-color: color(~`colorPalette("@{primary-color}", 5)`); +} +.ant-btn-background-ghost.ant-btn-primary:hover > a:only-child, +.ant-btn-background-ghost.ant-btn-primary:focus > a:only-child { + color: currentColor; +} +.ant-btn-background-ghost.ant-btn-primary:hover > a:only-child:after, +.ant-btn-background-ghost.ant-btn-primary:focus > a:only-child:after { + background: transparent; +} +.ant-btn-background-ghost.ant-btn-primary:active, +.ant-btn-background-ghost.ant-btn-primary.active { + color: color(~`colorPalette("@{primary-color}", 7)`); + background-color: transparent; + border-color: color(~`colorPalette("@{primary-color}", 7)`); +} +.ant-btn-background-ghost.ant-btn-primary:active > a:only-child, +.ant-btn-background-ghost.ant-btn-primary.active > a:only-child { + color: currentColor; +} +.ant-btn-background-ghost.ant-btn-primary:active > a:only-child:after, +.ant-btn-background-ghost.ant-btn-primary.active > a:only-child:after { + background: transparent; +} +.ant-btn-background-ghost.ant-btn-primary.disabled, +.ant-btn-background-ghost.ant-btn-primary[disabled], +.ant-btn-background-ghost.ant-btn-primary.disabled:hover, +.ant-btn-background-ghost.ant-btn-primary[disabled]:hover, +.ant-btn-background-ghost.ant-btn-primary.disabled:focus, +.ant-btn-background-ghost.ant-btn-primary[disabled]:focus, +.ant-btn-background-ghost.ant-btn-primary.disabled:active, +.ant-btn-background-ghost.ant-btn-primary[disabled]:active, +.ant-btn-background-ghost.ant-btn-primary.disabled.active, +.ant-btn-background-ghost.ant-btn-primary[disabled].active { + color: rgba(0, 0, 0, 0.25); + background-color: #f5f5f5; + border-color: #d9d9d9; + box-shadow: none; +} +.ant-btn-background-ghost.ant-btn-primary.disabled > a:only-child, +.ant-btn-background-ghost.ant-btn-primary[disabled] > a:only-child, +.ant-btn-background-ghost.ant-btn-primary.disabled:hover > a:only-child, +.ant-btn-background-ghost.ant-btn-primary[disabled]:hover > a:only-child, +.ant-btn-background-ghost.ant-btn-primary.disabled:focus > a:only-child, +.ant-btn-background-ghost.ant-btn-primary[disabled]:focus > a:only-child, +.ant-btn-background-ghost.ant-btn-primary.disabled:active > a:only-child, +.ant-btn-background-ghost.ant-btn-primary[disabled]:active > a:only-child, +.ant-btn-background-ghost.ant-btn-primary.disabled.active > a:only-child, +.ant-btn-background-ghost.ant-btn-primary[disabled].active > a:only-child { + color: currentColor; +} +.ant-btn-background-ghost.ant-btn-primary.disabled > a:only-child:after, +.ant-btn-background-ghost.ant-btn-primary[disabled] > a:only-child:after, +.ant-btn-background-ghost.ant-btn-primary.disabled:hover > a:only-child:after, +.ant-btn-background-ghost.ant-btn-primary[disabled]:hover > a:only-child:after, +.ant-btn-background-ghost.ant-btn-primary.disabled:focus > a:only-child:after, +.ant-btn-background-ghost.ant-btn-primary[disabled]:focus > a:only-child:after, +.ant-btn-background-ghost.ant-btn-primary.disabled:active > a:only-child:after, +.ant-btn-background-ghost.ant-btn-primary[disabled]:active > a:only-child:after, +.ant-btn-background-ghost.ant-btn-primary.disabled.active > a:only-child:after, +.ant-btn-background-ghost.ant-btn-primary[disabled].active > a:only-child:after { + background: transparent; +} +.ant-btn-background-ghost.ant-btn-danger { + color: #f5222d; + background-color: transparent; + border-color: #f5222d; +} +.ant-btn-background-ghost.ant-btn-danger > a:only-child { + color: currentColor; +} +.ant-btn-background-ghost.ant-btn-danger > a:only-child:after { + background: transparent; +} +.ant-btn-background-ghost.ant-btn-danger:hover, +.ant-btn-background-ghost.ant-btn-danger:focus { + color: #ff4d4f; + background-color: transparent; + border-color: #ff4d4f; +} +.ant-btn-background-ghost.ant-btn-danger:hover > a:only-child, +.ant-btn-background-ghost.ant-btn-danger:focus > a:only-child { + color: currentColor; +} +.ant-btn-background-ghost.ant-btn-danger:hover > a:only-child:after, +.ant-btn-background-ghost.ant-btn-danger:focus > a:only-child:after { + background: transparent; +} +.ant-btn-background-ghost.ant-btn-danger:active, +.ant-btn-background-ghost.ant-btn-danger.active { + color: #cf1322; + background-color: transparent; + border-color: #cf1322; +} +.ant-btn-background-ghost.ant-btn-danger:active > a:only-child, +.ant-btn-background-ghost.ant-btn-danger.active > a:only-child { + color: currentColor; +} +.ant-btn-background-ghost.ant-btn-danger:active > a:only-child:after, +.ant-btn-background-ghost.ant-btn-danger.active > a:only-child:after { + background: transparent; +} +.ant-btn-background-ghost.ant-btn-danger.disabled, +.ant-btn-background-ghost.ant-btn-danger[disabled], +.ant-btn-background-ghost.ant-btn-danger.disabled:hover, +.ant-btn-background-ghost.ant-btn-danger[disabled]:hover, +.ant-btn-background-ghost.ant-btn-danger.disabled:focus, +.ant-btn-background-ghost.ant-btn-danger[disabled]:focus, +.ant-btn-background-ghost.ant-btn-danger.disabled:active, +.ant-btn-background-ghost.ant-btn-danger[disabled]:active, +.ant-btn-background-ghost.ant-btn-danger.disabled.active, +.ant-btn-background-ghost.ant-btn-danger[disabled].active { + color: rgba(0, 0, 0, 0.25); + background-color: #f5f5f5; + border-color: #d9d9d9; + box-shadow: none; +} +.ant-btn-background-ghost.ant-btn-danger.disabled > a:only-child, +.ant-btn-background-ghost.ant-btn-danger[disabled] > a:only-child, +.ant-btn-background-ghost.ant-btn-danger.disabled:hover > a:only-child, +.ant-btn-background-ghost.ant-btn-danger[disabled]:hover > a:only-child, +.ant-btn-background-ghost.ant-btn-danger.disabled:focus > a:only-child, +.ant-btn-background-ghost.ant-btn-danger[disabled]:focus > a:only-child, +.ant-btn-background-ghost.ant-btn-danger.disabled:active > a:only-child, +.ant-btn-background-ghost.ant-btn-danger[disabled]:active > a:only-child, +.ant-btn-background-ghost.ant-btn-danger.disabled.active > a:only-child, +.ant-btn-background-ghost.ant-btn-danger[disabled].active > a:only-child { + color: currentColor; +} +.ant-btn-background-ghost.ant-btn-danger.disabled > a:only-child:after, +.ant-btn-background-ghost.ant-btn-danger[disabled] > a:only-child:after, +.ant-btn-background-ghost.ant-btn-danger.disabled:hover > a:only-child:after, +.ant-btn-background-ghost.ant-btn-danger[disabled]:hover > a:only-child:after, +.ant-btn-background-ghost.ant-btn-danger.disabled:focus > a:only-child:after, +.ant-btn-background-ghost.ant-btn-danger[disabled]:focus > a:only-child:after, +.ant-btn-background-ghost.ant-btn-danger.disabled:active > a:only-child:after, +.ant-btn-background-ghost.ant-btn-danger[disabled]:active > a:only-child:after, +.ant-btn-background-ghost.ant-btn-danger.disabled.active > a:only-child:after, +.ant-btn-background-ghost.ant-btn-danger[disabled].active > a:only-child:after { + background: transparent; +} +.christmas.ant-btn-primary:before { + background: url(data:image/png;base64,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) no-repeat 50% 0; + background-size: 64px; +} +.christmas.ant-btn-primary.ant-btn-lg:before { + background-size: 72px; +} +.christmas.ant-btn-primary.ant-btn-sm:before { + background-size: 56px; +} +.ant-fullcalendar { + color: rgba(0, 0, 0, 0.65); + border-top: 1px solid #d9d9d9; +} +.ant-fullcalendar table { + border-collapse: collapse; + background-color: transparent; +} +.ant-fullcalendar table, +.ant-fullcalendar th, +.ant-fullcalendar td { + border: 0; +} +.ant-fullcalendar-calendar-table { + border-spacing: 0; +} +.ant-fullcalendar-value { + color: rgba(0, 0, 0, 0.65); + border-radius: 2px; + background: transparent; +} +.ant-fullcalendar-value:hover { + background: color(~`colorPalette("@{primary-color}", 1)`); +} +.ant-fullcalendar-value:active { + background: @primary-color; + color: #fff; +} +.ant-fullcalendar-today .ant-fullcalendar-value, +.ant-fullcalendar-month-panel-current-cell .ant-fullcalendar-value { + box-shadow: 0 0 0 1px @primary-color inset; +} +.ant-fullcalendar-selected-day .ant-fullcalendar-value, +.ant-fullcalendar-month-panel-selected-cell .ant-fullcalendar-value { + background: @primary-color; + color: #fff; +} +.ant-fullcalendar-disabled-cell-first-of-row .ant-fullcalendar-value { + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; +} +.ant-fullcalendar-disabled-cell-last-of-row .ant-fullcalendar-value { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; +} +.ant-fullcalendar-last-month-cell .ant-fullcalendar-value, +.ant-fullcalendar-next-month-btn-day .ant-fullcalendar-value { + color: rgba(0, 0, 0, 0.25); +} +.ant-fullcalendar-month-panel-table { + border-collapse: separate; +} +.ant-fullcalendar-fullscreen { + border-top: 0; +} +.ant-fullcalendar-fullscreen .ant-fullcalendar-month, +.ant-fullcalendar-fullscreen .ant-fullcalendar-date { + color: rgba(0, 0, 0, 0.65); + border-top: 2px solid #e8e8e8; +} +.ant-fullcalendar-fullscreen .ant-fullcalendar-month:hover, +.ant-fullcalendar-fullscreen .ant-fullcalendar-date:hover { + background: color(~`colorPalette("@{primary-color}", 1)`); +} +.ant-fullcalendar-fullscreen .ant-fullcalendar-month:active, +.ant-fullcalendar-fullscreen .ant-fullcalendar-date:active { + background: color(~`colorPalette("@{primary-color}", 2)`); +} +.ant-fullcalendar-fullscreen .ant-fullcalendar-value { + background: transparent; +} +.ant-fullcalendar-fullscreen .ant-fullcalendar-today .ant-fullcalendar-value { + color: rgba(0, 0, 0, 0.65); +} +.ant-fullcalendar-fullscreen .ant-fullcalendar-month-panel-current-cell .ant-fullcalendar-month, +.ant-fullcalendar-fullscreen .ant-fullcalendar-today .ant-fullcalendar-date { + border-top-color: @primary-color; + background: transparent; +} +.ant-fullcalendar-fullscreen .ant-fullcalendar-month-panel-current-cell .ant-fullcalendar-value, +.ant-fullcalendar-fullscreen .ant-fullcalendar-today .ant-fullcalendar-value { + box-shadow: none; +} +.ant-fullcalendar-fullscreen .ant-fullcalendar-month-panel-selected-cell .ant-fullcalendar-month, +.ant-fullcalendar-fullscreen .ant-fullcalendar-selected-day .ant-fullcalendar-date { + background: color(~`colorPalette("@{primary-color}", 1)`); +} +.ant-fullcalendar-fullscreen .ant-fullcalendar-month-panel-selected-cell .ant-fullcalendar-value, +.ant-fullcalendar-fullscreen .ant-fullcalendar-selected-day .ant-fullcalendar-value { + color: @primary-color; +} +.ant-fullcalendar-fullscreen .ant-fullcalendar-last-month-cell .ant-fullcalendar-date, +.ant-fullcalendar-fullscreen .ant-fullcalendar-next-month-btn-day .ant-fullcalendar-date { + color: rgba(0, 0, 0, 0.25); +} +.ant-fullcalendar-disabled-cell:not(.ant-fullcalendar-today) .ant-fullcalendar-date, +.ant-fullcalendar-disabled-cell:not(.ant-fullcalendar-today) .ant-fullcalendar-date:hover { + background: transparent; +} +.ant-fullcalendar-disabled-cell .ant-fullcalendar-value { + color: rgba(0, 0, 0, 0.25); + border-radius: 0; +} +.ant-card { + color: rgba(0, 0, 0, 0.65); + background: #fff; + border-radius: 2px; +} +.ant-card-hoverable:hover { + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.09); + border-color: rgba(0, 0, 0, 0.09); +} +.ant-card-bordered { + border: 1px solid #e8e8e8; +} +.ant-card-head { + background: transparent; + border-bottom: 1px solid #e8e8e8; + border-radius: 2px 2px 0 0; + color: rgba(0, 0, 0, 0.85); +} +.ant-card-head .ant-tabs { + color: rgba(0, 0, 0, 0.65); +} +.ant-card-head .ant-tabs-bar { + border-bottom: 1px solid #e8e8e8; +} +.ant-card-extra { + color: rgba(0, 0, 0, 0.65); +} +.ant-card-grid { + border-radius: 0; + border: 0; + box-shadow: 1px 0 0 0 #e8e8e8, 0 1px 0 0 #e8e8e8, 1px 1px 0 0 #e8e8e8, 1px 0 0 0 #e8e8e8 inset, 0 1px 0 0 #e8e8e8 inset; +} +.ant-card-grid:hover { + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); +} +.ant-card-cover img { + border-radius: 2px 2px 0 0; +} +.ant-card-actions { + border-top: 1px solid #e8e8e8; + background: #fafafa; +} +.ant-card-actions > li { + color: rgba(0, 0, 0, 0.45); +} +.ant-card-actions > li > span:hover { + color: @primary-color; +} +.ant-card-actions > li > span a { + color: rgba(0, 0, 0, 0.45); +} +.ant-card-actions > li > span a:hover { + color: @primary-color; +} +.ant-card-actions > li:not(:last-child) { + border-right: 1px solid #e8e8e8; +} +.ant-card-type-inner .ant-card-head { + background: #fafafa; +} +.ant-card-meta-title { + color: rgba(0, 0, 0, 0.85); +} +.ant-card-meta-description { + color: rgba(0, 0, 0, 0.45); +} +.ant-card-loading-block { + border-radius: 2px; + background: linear-gradient(90deg, rgba(207, 216, 220, 0.2), rgba(207, 216, 220, 0.4), rgba(207, 216, 220, 0.2)); + background-size: 600% 600%; +} +.ant-carousel { + color: rgba(0, 0, 0, 0.65); +} +.ant-carousel .slick-slider { + -webkit-tap-highlight-color: transparent; +} +.ant-carousel .slick-vertical .slick-slide { + border: 1px solid transparent; +} +.ant-carousel .slick-prev, +.ant-carousel .slick-next { + background: transparent; + color: transparent; + border: 0; +} +.ant-carousel .slick-prev:hover, +.ant-carousel .slick-next:hover, +.ant-carousel .slick-prev:focus, +.ant-carousel .slick-next:focus { + background: transparent; + color: transparent; +} +.ant-carousel .slick-dots li button { + border: 0; + background: #fff; + border-radius: 1px; + color: transparent; +} +.ant-carousel .slick-dots li.slick-active button { + background: #fff; +} +.ant-cascader { + color: rgba(0, 0, 0, 0.65); +} +.ant-cascader-input.ant-input { + background-color: transparent !important; +} +.ant-cascader-picker { + color: rgba(0, 0, 0, 0.65); + background-color: #fff; + border-radius: 4px; +} +.ant-cascader-picker-with-value .ant-cascader-picker-label { + color: transparent; +} +.ant-cascader-picker-disabled { + background: #f5f5f5; + color: rgba(0, 0, 0, 0.25); +} +.ant-cascader-picker:focus .ant-cascader-input { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); + border-right-width: 1px !important; +} +.ant-cascader-picker-show-search.ant-cascader-picker-focused { + color: rgba(0, 0, 0, 0.25); +} +.ant-cascader-picker-clear { + background: #fff; + color: rgba(0, 0, 0, 0.25); +} +.ant-cascader-picker-clear:hover { + color: rgba(0, 0, 0, 0.45); +} +.ant-cascader-picker-arrow { + color: rgba(0, 0, 0, 0.25); +} +.ant-cascader-menus { + background: #fff; + border-radius: 4px; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); +} +.ant-cascader-menu { + border-right: 1px solid #e8e8e8; +} +.ant-cascader-menu:first-child { + border-radius: 4px 0 0 4px; +} +.ant-cascader-menu:last-child { + border-right-color: transparent; + border-radius: 0 4px 4px 0; +} +.ant-cascader-menu:only-child { + border-radius: 4px; +} +.ant-cascader-menu-item:hover { + background: color(~`colorPalette("@{primary-color}", 1)`); +} +.ant-cascader-menu-item-disabled { + color: rgba(0, 0, 0, 0.25); +} +.ant-cascader-menu-item-disabled:hover { + background: transparent; +} +.ant-cascader-menu-item-active:not(.ant-cascader-menu-item-disabled), +.ant-cascader-menu-item-active:not(.ant-cascader-menu-item-disabled):hover { + background: #f5f5f5; +} +.ant-cascader-menu-item-expand .ant-cascader-menu-item-expand-icon, +.ant-cascader-menu-item-expand .ant-cascader-menu-item-loading-icon { + color: rgba(0, 0, 0, 0.45); +} +.ant-cascader-menu-item .ant-cascader-menu-item-keyword { + color: #f5222d; +} +.ant-checkbox { + color: rgba(0, 0, 0, 0.65); +} +.ant-checkbox-wrapper:hover .ant-checkbox-inner, +.ant-checkbox:hover .ant-checkbox-inner, +.ant-checkbox-input:focus + .ant-checkbox-inner { + border-color: @primary-color; +} +.ant-checkbox-checked:after { + border-radius: 2px; + border: 1px solid @primary-color; +} +.ant-checkbox-inner { + border: 1px solid #d9d9d9; + border-radius: 2px; + background-color: #fff; +} +.ant-checkbox-inner:after { + border: 2px solid #fff; + border-top: 0; + border-left: 0; +} +.ant-checkbox-indeterminate .ant-checkbox-inner:after { + border: 0; + background-color: @primary-color; +} +.ant-checkbox-indeterminate.ant-checkbox-disabled .ant-checkbox-inner:after { + border-color: rgba(0, 0, 0, 0.25); +} +.ant-checkbox-checked .ant-checkbox-inner:after { + border: 2px solid #fff; + border-top: 0; + border-left: 0; +} +.ant-checkbox-checked .ant-checkbox-inner { + background-color: @primary-color; + border-color: @primary-color; +} +.ant-checkbox-disabled.ant-checkbox-checked .ant-checkbox-inner:after { + border-color: rgba(0, 0, 0, 0.25); +} +.ant-checkbox-disabled .ant-checkbox-inner { + border-color: #d9d9d9 !important; + background-color: #f5f5f5; +} +.ant-checkbox-disabled .ant-checkbox-inner:after { + border-color: #f5f5f5; +} +.ant-checkbox-disabled + span { + color: rgba(0, 0, 0, 0.25); +} +.ant-checkbox-wrapper { + color: rgba(0, 0, 0, 0.65); +} +.ant-checkbox-group { + color: rgba(0, 0, 0, 0.65); +} +.ant-collapse { + color: rgba(0, 0, 0, 0.65); + background-color: #fafafa; + border-radius: 4px; + border: 1px solid #d9d9d9; + border-bottom: 0; +} +.ant-collapse > .ant-collapse-item { + border-bottom: 1px solid #d9d9d9; +} +.ant-collapse > .ant-collapse-item:last-child, +.ant-collapse > .ant-collapse-item:last-child > .ant-collapse-header { + border-radius: 0 0 4px 4px; +} +.ant-collapse > .ant-collapse-item > .ant-collapse-header { + color: rgba(0, 0, 0, 0.85); +} +.ant-collapse-content { + color: rgba(0, 0, 0, 0.65); + background-color: #fff; + border-top: 1px solid #d9d9d9; +} +.ant-collapse-item:last-child > .ant-collapse-content { + border-radius: 0 0 4px 4px; +} +.ant-collapse-borderless { + background-color: #fff; + border: 0; +} +.ant-collapse-borderless > .ant-collapse-item { + border-bottom: 1px solid #d9d9d9; +} +.ant-collapse-borderless > .ant-collapse-item:last-child, +.ant-collapse-borderless > .ant-collapse-item:last-child .ant-collapse-header { + border-radius: 0; +} +.ant-collapse-borderless > .ant-collapse-item > .ant-collapse-content { + background-color: transparent; + border-top: 0; +} +.ant-collapse .ant-collapse-item-disabled > .ant-collapse-header, +.ant-collapse .ant-collapse-item-disabled > .ant-collapse-header > .arrow { + color: rgba(0, 0, 0, 0.25); +} +.ant-calendar-picker-container { + color: rgba(0, 0, 0, 0.65); +} +.ant-calendar-picker { + color: rgba(0, 0, 0, 0.65); +} +.ant-calendar-picker:hover .ant-calendar-picker-input:not(.ant-input-disabled) { + border-color: @primary-color; +} +.ant-calendar-picker:focus .ant-calendar-picker-input:not(.ant-input-disabled) { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); + border-right-width: 1px !important; +} +.ant-calendar-picker-clear { + color: rgba(0, 0, 0, 0.25); + background: #fff; +} +.ant-calendar-picker-clear:hover { + color: rgba(0, 0, 0, 0.45); +} +.ant-calendar-picker-icon { + color: rgba(0, 0, 0, 0.25); +} +.ant-calendar { + border: 1px solid #fff; + background-color: #fff; + border-radius: 4px; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); + background-clip: padding-box; +} +.ant-calendar-input-wrap { + border-bottom: 1px solid #e8e8e8; +} +.ant-calendar-input { + border: 0; + color: rgba(0, 0, 0, 0.65); + background: #fff; +} +.ant-calendar-input::-moz-placeholder { + color: #bfbfbf; +} +.ant-calendar-input:-ms-input-placeholder { + color: #bfbfbf; +} +.ant-calendar-input::-webkit-input-placeholder { + color: #bfbfbf; +} +.ant-calendar-header { + border-bottom: 1px solid #e8e8e8; +} +.ant-calendar-header a:hover { + color: color(~`colorPalette("@{primary-color}", 5)`); +} +.ant-calendar-header .ant-calendar-century-select, +.ant-calendar-header .ant-calendar-decade-select, +.ant-calendar-header .ant-calendar-year-select, +.ant-calendar-header .ant-calendar-month-select { + color: rgba(0, 0, 0, 0.85); +} +.ant-calendar-header .ant-calendar-prev-century-btn, +.ant-calendar-header .ant-calendar-next-century-btn, +.ant-calendar-header .ant-calendar-prev-decade-btn, +.ant-calendar-header .ant-calendar-next-decade-btn, +.ant-calendar-header .ant-calendar-prev-month-btn, +.ant-calendar-header .ant-calendar-next-month-btn, +.ant-calendar-header .ant-calendar-prev-year-btn, +.ant-calendar-header .ant-calendar-next-year-btn { + color: rgba(0, 0, 0, 0.45); +} +.ant-calendar table { + border-collapse: collapse; + background-color: transparent; +} +.ant-calendar table, +.ant-calendar th, +.ant-calendar td { + border: 0; +} +.ant-calendar-calendar-table { + border-spacing: 0; +} +.ant-calendar-date { + color: rgba(0, 0, 0, 0.65); + border-radius: 2px; + border: 1px solid transparent; + background: transparent; +} +.ant-calendar-date:hover { + background: color(~`colorPalette("@{primary-color}", 1)`); +} +.ant-calendar-date:active { + color: #fff; + background: color(~`colorPalette("@{primary-color}", 5)`); +} +.ant-calendar-today .ant-calendar-date { + border-color: @primary-color; + color: @primary-color; +} +.ant-calendar-last-month-cell .ant-calendar-date, +.ant-calendar-next-month-btn-day .ant-calendar-date { + color: rgba(0, 0, 0, 0.25); +} +.ant-calendar-selected-day .ant-calendar-date { + background: #d1e9ff; +} +.ant-calendar-selected-date .ant-calendar-date, +.ant-calendar-selected-start-date .ant-calendar-date, +.ant-calendar-selected-end-date .ant-calendar-date { + background: @primary-color; + color: #fff; + border: 1px solid transparent; +} +.ant-calendar-selected-date .ant-calendar-date:hover, +.ant-calendar-selected-start-date .ant-calendar-date:hover, +.ant-calendar-selected-end-date .ant-calendar-date:hover { + background: @primary-color; +} +.ant-calendar-disabled-cell .ant-calendar-date { + color: #bcbcbc; + background: #f5f5f5; + border-radius: 0; + border: 1px solid transparent; +} +.ant-calendar-disabled-cell .ant-calendar-date:hover { + background: #f5f5f5; +} +.ant-calendar-disabled-cell.ant-calendar-today .ant-calendar-date:before { + border: 1px solid #bcbcbc; + border-radius: 2px; +} +.ant-calendar-disabled-cell-first-of-row .ant-calendar-date { + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; +} +.ant-calendar-disabled-cell-last-of-row .ant-calendar-date { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; +} +.ant-calendar-footer { + border-top: 1px solid #e8e8e8; +} +.ant-calendar-footer:empty { + border-top: 0; +} +.ant-calendar .ant-calendar-today-btn-disabled, +.ant-calendar .ant-calendar-clear-btn-disabled { + color: rgba(0, 0, 0, 0.25); +} +.ant-calendar .ant-calendar-clear-btn:after { + color: rgba(0, 0, 0, 0.25); +} +.ant-calendar .ant-calendar-clear-btn:hover:after { + color: rgba(0, 0, 0, 0.45); +} +.ant-calendar .ant-calendar-ok-btn { + background-image: none; + border: 1px solid transparent; + box-shadow: 0 2px 0 rgba(0, 0, 0, 0.015); + color: #fff; + background-color: @primary-color; + border-color: @primary-color; + box-shadow: 0 2px 0 rgba(0, 0, 0, 0.035); + border-radius: 4px; +} +.ant-calendar .ant-calendar-ok-btn:not([disabled]):active { + box-shadow: none; +} +.ant-calendar .ant-calendar-ok-btn-lg { + border-radius: 4px; +} +.ant-calendar .ant-calendar-ok-btn-sm { + border-radius: 4px; +} +.ant-calendar .ant-calendar-ok-btn > a:only-child { + color: currentColor; +} +.ant-calendar .ant-calendar-ok-btn > a:only-child:after { + background: transparent; +} +.ant-calendar .ant-calendar-ok-btn:hover, +.ant-calendar .ant-calendar-ok-btn:focus { + color: #fff; + background-color: color(~`colorPalette("@{primary-color}", 5)`); + border-color: color(~`colorPalette("@{primary-color}", 5)`); +} +.ant-calendar .ant-calendar-ok-btn:hover > a:only-child, +.ant-calendar .ant-calendar-ok-btn:focus > a:only-child { + color: currentColor; +} +.ant-calendar .ant-calendar-ok-btn:hover > a:only-child:after, +.ant-calendar .ant-calendar-ok-btn:focus > a:only-child:after { + background: transparent; +} +.ant-calendar .ant-calendar-ok-btn:active, +.ant-calendar .ant-calendar-ok-btn.active { + color: #fff; + background-color: color(~`colorPalette("@{primary-color}", 7)`); + border-color: color(~`colorPalette("@{primary-color}", 7)`); +} +.ant-calendar .ant-calendar-ok-btn:active > a:only-child, +.ant-calendar .ant-calendar-ok-btn.active > a:only-child { + color: currentColor; +} +.ant-calendar .ant-calendar-ok-btn:active > a:only-child:after, +.ant-calendar .ant-calendar-ok-btn.active > a:only-child:after { + background: transparent; +} +.ant-calendar .ant-calendar-ok-btn.disabled, +.ant-calendar .ant-calendar-ok-btn[disabled], +.ant-calendar .ant-calendar-ok-btn.disabled:hover, +.ant-calendar .ant-calendar-ok-btn[disabled]:hover, +.ant-calendar .ant-calendar-ok-btn.disabled:focus, +.ant-calendar .ant-calendar-ok-btn[disabled]:focus, +.ant-calendar .ant-calendar-ok-btn.disabled:active, +.ant-calendar .ant-calendar-ok-btn[disabled]:active, +.ant-calendar .ant-calendar-ok-btn.disabled.active, +.ant-calendar .ant-calendar-ok-btn[disabled].active { + color: rgba(0, 0, 0, 0.25); + background-color: #f5f5f5; + border-color: #d9d9d9; + box-shadow: none; +} +.ant-calendar .ant-calendar-ok-btn.disabled > a:only-child, +.ant-calendar .ant-calendar-ok-btn[disabled] > a:only-child, +.ant-calendar .ant-calendar-ok-btn.disabled:hover > a:only-child, +.ant-calendar .ant-calendar-ok-btn[disabled]:hover > a:only-child, +.ant-calendar .ant-calendar-ok-btn.disabled:focus > a:only-child, +.ant-calendar .ant-calendar-ok-btn[disabled]:focus > a:only-child, +.ant-calendar .ant-calendar-ok-btn.disabled:active > a:only-child, +.ant-calendar .ant-calendar-ok-btn[disabled]:active > a:only-child, +.ant-calendar .ant-calendar-ok-btn.disabled.active > a:only-child, +.ant-calendar .ant-calendar-ok-btn[disabled].active > a:only-child { + color: currentColor; +} +.ant-calendar .ant-calendar-ok-btn.disabled > a:only-child:after, +.ant-calendar .ant-calendar-ok-btn[disabled] > a:only-child:after, +.ant-calendar .ant-calendar-ok-btn.disabled:hover > a:only-child:after, +.ant-calendar .ant-calendar-ok-btn[disabled]:hover > a:only-child:after, +.ant-calendar .ant-calendar-ok-btn.disabled:focus > a:only-child:after, +.ant-calendar .ant-calendar-ok-btn[disabled]:focus > a:only-child:after, +.ant-calendar .ant-calendar-ok-btn.disabled:active > a:only-child:after, +.ant-calendar .ant-calendar-ok-btn[disabled]:active > a:only-child:after, +.ant-calendar .ant-calendar-ok-btn.disabled.active > a:only-child:after, +.ant-calendar .ant-calendar-ok-btn[disabled].active > a:only-child:after { + background: transparent; +} +.ant-calendar .ant-calendar-ok-btn-disabled { + color: rgba(0, 0, 0, 0.25); + background-color: #f5f5f5; + border-color: #d9d9d9; +} +.ant-calendar .ant-calendar-ok-btn-disabled > a:only-child { + color: currentColor; +} +.ant-calendar .ant-calendar-ok-btn-disabled > a:only-child:after { + background: transparent; +} +.ant-calendar .ant-calendar-ok-btn-disabled:hover { + color: rgba(0, 0, 0, 0.25); + background-color: #f5f5f5; + border-color: #d9d9d9; +} +.ant-calendar .ant-calendar-ok-btn-disabled:hover > a:only-child { + color: currentColor; +} +.ant-calendar .ant-calendar-ok-btn-disabled:hover > a:only-child:after { + background: transparent; +} +.ant-calendar-range-picker-input { + background-color: transparent; + border: 0; +} +.ant-calendar-range-picker-input::-moz-placeholder { + color: #bfbfbf; +} +.ant-calendar-range-picker-input:-ms-input-placeholder { + color: #bfbfbf; +} +.ant-calendar-range-picker-input::-webkit-input-placeholder { + color: #bfbfbf; +} +.ant-calendar-range-picker-separator { + color: rgba(0, 0, 0, 0.45); +} +.ant-calendar-range-left .ant-calendar-time-picker-inner { + border-right: 1px solid #e8e8e8; +} +.ant-calendar-range-right .ant-calendar-time-picker-inner { + border-left: 1px solid #e8e8e8; +} +.ant-calendar-range-middle { + color: rgba(0, 0, 0, 0.45); +} +.ant-calendar-range .ant-calendar-input, +.ant-calendar-range .ant-calendar-time-picker-input { + color: rgba(0, 0, 0, 0.65); + background-color: #fff; + background-image: none; + border: 1px solid #d9d9d9; + border-radius: 4px; + border: 0; + box-shadow: none; +} +.ant-calendar-range .ant-calendar-input::-moz-placeholder, +.ant-calendar-range .ant-calendar-time-picker-input::-moz-placeholder { + color: #bfbfbf; +} +.ant-calendar-range .ant-calendar-input:-ms-input-placeholder, +.ant-calendar-range .ant-calendar-time-picker-input:-ms-input-placeholder { + color: #bfbfbf; +} +.ant-calendar-range .ant-calendar-input::-webkit-input-placeholder, +.ant-calendar-range .ant-calendar-time-picker-input::-webkit-input-placeholder { + color: #bfbfbf; +} +.ant-calendar-range .ant-calendar-input:hover, +.ant-calendar-range .ant-calendar-time-picker-input:hover { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + border-right-width: 1px !important; +} +.ant-calendar-range .ant-calendar-input:focus, +.ant-calendar-range .ant-calendar-time-picker-input:focus { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); + border-right-width: 1px !important; +} +.ant-calendar-range .ant-calendar-input-disabled, +.ant-calendar-range .ant-calendar-time-picker-input-disabled { + background-color: #f5f5f5; + color: rgba(0, 0, 0, 0.25); +} +.ant-calendar-range .ant-calendar-input-disabled:hover, +.ant-calendar-range .ant-calendar-time-picker-input-disabled:hover { + border-color: #e6d8d8; + border-right-width: 1px !important; +} +.ant-calendar-range .ant-calendar-input:focus, +.ant-calendar-range .ant-calendar-time-picker-input:focus { + box-shadow: none; +} +.ant-calendar-range .ant-calendar-in-range-cell { + border-radius: 0; +} +.ant-calendar-range .ant-calendar-in-range-cell:before { + background: color(~`colorPalette("@{primary-color}", 1)`); + border-radius: 0; + border: 0; +} +.ant-calendar-range .ant-calendar-header, +.ant-calendar-range .ant-calendar-month-panel-header, +.ant-calendar-range .ant-calendar-year-panel-header { + border-bottom: 0; +} +.ant-calendar-range .ant-calendar-body, +.ant-calendar-range .ant-calendar-month-panel-body, +.ant-calendar-range .ant-calendar-year-panel-body { + border-top: 1px solid #e8e8e8; +} +.ant-calendar-range.ant-calendar-time .ant-calendar-time-picker-inner { + background: none; +} +.ant-calendar-range.ant-calendar-time .ant-calendar-time-picker-combobox { + background-color: #fff; + border-top: 1px solid #e8e8e8; +} +.ant-calendar-range.ant-calendar-show-time-picker .ant-calendar-body { + border-top-color: transparent; +} +.ant-calendar-time-picker { + background-color: #fff; +} +.ant-calendar-time-picker-inner { + background-color: #fff; + background-clip: padding-box; +} +.ant-calendar-time-picker-select { + border-right: 1px solid #e8e8e8; +} +.ant-calendar-time-picker-select:first-child { + border-left: 0; +} +.ant-calendar-time-picker-select:last-child { + border-right: 0; +} +.ant-calendar-time-picker-select li:hover { + background: color(~`colorPalette("@{primary-color}", 1)`); +} +li.ant-calendar-time-picker-select-option-selected { + background: #f5f5f5; +} +li.ant-calendar-time-picker-select-option-disabled { + color: rgba(0, 0, 0, 0.25); +} +li.ant-calendar-time-picker-select-option-disabled:hover { + background: transparent; +} +.ant-calendar-time .ant-calendar-day-select { + color: rgba(0, 0, 0, 0.85); +} +.ant-calendar-time .ant-calendar-footer .ant-calendar-time-picker-btn-disabled { + color: rgba(0, 0, 0, 0.25); +} +.ant-calendar-month-panel { + border-radius: 4px; + background: #fff; +} +.ant-calendar-month-panel-header { + border-bottom: 1px solid #e8e8e8; +} +.ant-calendar-month-panel-header a:hover { + color: color(~`colorPalette("@{primary-color}", 5)`); +} +.ant-calendar-month-panel-header .ant-calendar-month-panel-century-select, +.ant-calendar-month-panel-header .ant-calendar-month-panel-decade-select, +.ant-calendar-month-panel-header .ant-calendar-month-panel-year-select, +.ant-calendar-month-panel-header .ant-calendar-month-panel-month-select { + color: rgba(0, 0, 0, 0.85); +} +.ant-calendar-month-panel-header .ant-calendar-month-panel-prev-century-btn, +.ant-calendar-month-panel-header .ant-calendar-month-panel-next-century-btn, +.ant-calendar-month-panel-header .ant-calendar-month-panel-prev-decade-btn, +.ant-calendar-month-panel-header .ant-calendar-month-panel-next-decade-btn, +.ant-calendar-month-panel-header .ant-calendar-month-panel-prev-month-btn, +.ant-calendar-month-panel-header .ant-calendar-month-panel-next-month-btn, +.ant-calendar-month-panel-header .ant-calendar-month-panel-prev-year-btn, +.ant-calendar-month-panel-header .ant-calendar-month-panel-next-year-btn { + color: rgba(0, 0, 0, 0.45); +} +.ant-calendar-month-panel-table { + border-collapse: separate; +} +.ant-calendar-month-panel-selected-cell .ant-calendar-month-panel-month { + background: @primary-color; + color: #fff; +} +.ant-calendar-month-panel-selected-cell .ant-calendar-month-panel-month:hover { + background: @primary-color; + color: #fff; +} +.ant-calendar-month-panel-cell-disabled .ant-calendar-month-panel-month, +.ant-calendar-month-panel-cell-disabled .ant-calendar-month-panel-month:hover { + color: #bcbcbc; + background: #f5f5f5; +} +.ant-calendar-month-panel-month { + color: rgba(0, 0, 0, 0.65); + background: transparent; + border-radius: 2px; +} +.ant-calendar-month-panel-month:hover { + background: color(~`colorPalette("@{primary-color}", 1)`); +} +.ant-calendar-year-panel { + border-radius: 4px; + background: #fff; +} +.ant-calendar-year-panel-header { + border-bottom: 1px solid #e8e8e8; +} +.ant-calendar-year-panel-header a:hover { + color: color(~`colorPalette("@{primary-color}", 5)`); +} +.ant-calendar-year-panel-header .ant-calendar-year-panel-century-select, +.ant-calendar-year-panel-header .ant-calendar-year-panel-decade-select, +.ant-calendar-year-panel-header .ant-calendar-year-panel-year-select, +.ant-calendar-year-panel-header .ant-calendar-year-panel-month-select { + color: rgba(0, 0, 0, 0.85); +} +.ant-calendar-year-panel-header .ant-calendar-year-panel-prev-century-btn, +.ant-calendar-year-panel-header .ant-calendar-year-panel-next-century-btn, +.ant-calendar-year-panel-header .ant-calendar-year-panel-prev-decade-btn, +.ant-calendar-year-panel-header .ant-calendar-year-panel-next-decade-btn, +.ant-calendar-year-panel-header .ant-calendar-year-panel-prev-month-btn, +.ant-calendar-year-panel-header .ant-calendar-year-panel-next-month-btn, +.ant-calendar-year-panel-header .ant-calendar-year-panel-prev-year-btn, +.ant-calendar-year-panel-header .ant-calendar-year-panel-next-year-btn { + color: rgba(0, 0, 0, 0.45); +} +.ant-calendar-year-panel-table { + border-collapse: separate; +} +.ant-calendar-year-panel-year { + color: rgba(0, 0, 0, 0.65); + background: transparent; + border-radius: 2px; +} +.ant-calendar-year-panel-year:hover { + background: color(~`colorPalette("@{primary-color}", 1)`); +} +.ant-calendar-year-panel-selected-cell .ant-calendar-year-panel-year { + background: @primary-color; + color: #fff; +} +.ant-calendar-year-panel-selected-cell .ant-calendar-year-panel-year:hover { + background: @primary-color; + color: #fff; +} +.ant-calendar-year-panel-last-decade-cell .ant-calendar-year-panel-year, +.ant-calendar-year-panel-next-decade-cell .ant-calendar-year-panel-year { + color: rgba(0, 0, 0, 0.25); +} +.ant-calendar-decade-panel { + background: #fff; + border-radius: 4px; +} +.ant-calendar-decade-panel-header { + border-bottom: 1px solid #e8e8e8; +} +.ant-calendar-decade-panel-header a:hover { + color: color(~`colorPalette("@{primary-color}", 5)`); +} +.ant-calendar-decade-panel-header .ant-calendar-decade-panel-century-select, +.ant-calendar-decade-panel-header .ant-calendar-decade-panel-decade-select, +.ant-calendar-decade-panel-header .ant-calendar-decade-panel-year-select, +.ant-calendar-decade-panel-header .ant-calendar-decade-panel-month-select { + color: rgba(0, 0, 0, 0.85); +} +.ant-calendar-decade-panel-header .ant-calendar-decade-panel-prev-century-btn, +.ant-calendar-decade-panel-header .ant-calendar-decade-panel-next-century-btn, +.ant-calendar-decade-panel-header .ant-calendar-decade-panel-prev-decade-btn, +.ant-calendar-decade-panel-header .ant-calendar-decade-panel-next-decade-btn, +.ant-calendar-decade-panel-header .ant-calendar-decade-panel-prev-month-btn, +.ant-calendar-decade-panel-header .ant-calendar-decade-panel-next-month-btn, +.ant-calendar-decade-panel-header .ant-calendar-decade-panel-prev-year-btn, +.ant-calendar-decade-panel-header .ant-calendar-decade-panel-next-year-btn { + color: rgba(0, 0, 0, 0.45); +} +.ant-calendar-decade-panel-table { + border-collapse: separate; +} +.ant-calendar-decade-panel-decade { + color: rgba(0, 0, 0, 0.65); + background: transparent; + border-radius: 2px; +} +.ant-calendar-decade-panel-decade:hover { + background: color(~`colorPalette("@{primary-color}", 1)`); +} +.ant-calendar-decade-panel-selected-cell .ant-calendar-decade-panel-decade { + background: @primary-color; + color: #fff; +} +.ant-calendar-decade-panel-selected-cell .ant-calendar-decade-panel-decade:hover { + background: @primary-color; + color: #fff; +} +.ant-calendar-decade-panel-last-century-cell .ant-calendar-decade-panel-decade, +.ant-calendar-decade-panel-next-century-cell .ant-calendar-decade-panel-decade { + color: rgba(0, 0, 0, 0.25); +} +.ant-calendar-week-number .ant-calendar-body tr:hover { + background: color(~`colorPalette("@{primary-color}", 1)`); +} +.ant-calendar-week-number .ant-calendar-body tr.ant-calendar-active-week { + background: color(~`colorPalette("@{primary-color}", 2)`); +} +.ant-calendar-week-number .ant-calendar-body tr .ant-calendar-selected-day .ant-calendar-date, +.ant-calendar-week-number .ant-calendar-body tr .ant-calendar-selected-day:hover .ant-calendar-date { + background: transparent; + color: rgba(0, 0, 0, 0.65); +} +.ant-divider { + color: rgba(0, 0, 0, 0.65); + background: #e8e8e8; +} +.ant-divider-horizontal.ant-divider-with-text, +.ant-divider-horizontal.ant-divider-with-text-left, +.ant-divider-horizontal.ant-divider-with-text-right { + background: transparent; + color: rgba(0, 0, 0, 0.85); +} +.ant-divider-horizontal.ant-divider-with-text:before, +.ant-divider-horizontal.ant-divider-with-text-left:before, +.ant-divider-horizontal.ant-divider-with-text-right:before, +.ant-divider-horizontal.ant-divider-with-text:after, +.ant-divider-horizontal.ant-divider-with-text-left:after, +.ant-divider-horizontal.ant-divider-with-text-right:after { + border-top: 1px solid #e8e8e8; +} +.ant-divider-dashed { + background: none; + border-top: 1px dashed #e8e8e8; +} +.ant-divider-horizontal.ant-divider-with-text.ant-divider-dashed, +.ant-divider-horizontal.ant-divider-with-text-left.ant-divider-dashed, +.ant-divider-horizontal.ant-divider-with-text-right.ant-divider-dashed { + border-top: 0; +} +.ant-divider-horizontal.ant-divider-with-text.ant-divider-dashed:before, +.ant-divider-horizontal.ant-divider-with-text-left.ant-divider-dashed:before, +.ant-divider-horizontal.ant-divider-with-text-right.ant-divider-dashed:before, +.ant-divider-horizontal.ant-divider-with-text.ant-divider-dashed:after, +.ant-divider-horizontal.ant-divider-with-text-left.ant-divider-dashed:after, +.ant-divider-horizontal.ant-divider-with-text-right.ant-divider-dashed:after { + border-style: dashed none none; +} +.ant-drawer-left.ant-drawer-open .ant-drawer-content-wrapper { + box-shadow: 2px 0 8px rgba(0, 0, 0, 0.15); +} +.ant-drawer-right.ant-drawer-open .ant-drawer-content-wrapper { + box-shadow: -2px 0 8px rgba(0, 0, 0, 0.15); +} +.ant-drawer-top.ant-drawer-open .ant-drawer-content-wrapper { + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); +} +.ant-drawer-bottom.ant-drawer-open .ant-drawer-content-wrapper { + box-shadow: 0 -2px 8px rgba(0, 0, 0, 0.15); +} +.ant-drawer-title { + color: rgba(0, 0, 0, 0.85); +} +.ant-drawer-content { + background-color: #fff; + border: 0; + background-clip: padding-box; +} +.ant-drawer-close { + border: 0; + background: transparent; + color: rgba(0, 0, 0, 0.45); +} +.ant-drawer-close:focus, +.ant-drawer-close:hover { + color: #444; +} +.ant-drawer-header { + border-radius: 4px 4px 0 0; + background: #fff; + color: rgba(0, 0, 0, 0.65); + border-bottom: 1px solid #e8e8e8; +} +.ant-drawer-mask { + background-color: rgba(0, 0, 0, 0.65); +} +.ant-drawer-open-content { + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); +} +.ant-dropdown { + color: rgba(0, 0, 0, 0.65); +} +.ant-dropdown-menu { + background-color: #fff; + border-radius: 4px; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); + background-clip: padding-box; +} +.ant-dropdown-menu-item-group-title { + color: rgba(0, 0, 0, 0.45); +} +.ant-dropdown-menu-item, +.ant-dropdown-menu-submenu-title { + color: rgba(0, 0, 0, 0.65); +} +.ant-dropdown-menu-item > a, +.ant-dropdown-menu-submenu-title > a { + color: rgba(0, 0, 0, 0.65); +} +.ant-dropdown-menu-item-selected, +.ant-dropdown-menu-submenu-title-selected, +.ant-dropdown-menu-item-selected > a, +.ant-dropdown-menu-submenu-title-selected > a { + color: @primary-color; + background-color: color(~`colorPalette("@{primary-color}", 1)`); +} +.ant-dropdown-menu-item:hover, +.ant-dropdown-menu-submenu-title:hover { + background-color: color(~`colorPalette("@{primary-color}", 1)`); +} +.ant-dropdown-menu-item-disabled, +.ant-dropdown-menu-submenu-title-disabled { + color: rgba(0, 0, 0, 0.25); +} +.ant-dropdown-menu-item-disabled:hover, +.ant-dropdown-menu-submenu-title-disabled:hover { + color: rgba(0, 0, 0, 0.25); + background-color: #fff; +} +.ant-dropdown-menu-item-divider, +.ant-dropdown-menu-submenu-title-divider { + background-color: #e8e8e8; +} +.ant-dropdown-menu-item .ant-dropdown-menu-submenu-arrow-icon, +.ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow-icon { + color: rgba(0, 0, 0, 0.45); +} +.ant-dropdown-menu-submenu.ant-dropdown-menu-submenu-disabled .ant-dropdown-menu-submenu-title, +.ant-dropdown-menu-submenu.ant-dropdown-menu-submenu-disabled .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow-icon { + color: rgba(0, 0, 0, 0.25); +} +.ant-dropdown-menu-dark, +.ant-dropdown-menu-dark .ant-dropdown-menu { + background: #001529; +} +.ant-dropdown-menu-dark .ant-dropdown-menu-item, +.ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title, +.ant-dropdown-menu-dark .ant-dropdown-menu-item > a { + color: rgba(255, 255, 255, 0.65); +} +.ant-dropdown-menu-dark .ant-dropdown-menu-item .ant-dropdown-menu-submenu-arrow:after, +.ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title .ant-dropdown-menu-submenu-arrow:after, +.ant-dropdown-menu-dark .ant-dropdown-menu-item > a .ant-dropdown-menu-submenu-arrow:after { + color: rgba(255, 255, 255, 0.65); +} +.ant-dropdown-menu-dark .ant-dropdown-menu-item:hover, +.ant-dropdown-menu-dark .ant-dropdown-menu-submenu-title:hover, +.ant-dropdown-menu-dark .ant-dropdown-menu-item > a:hover { + color: #fff; + background: transparent; +} +.ant-dropdown-menu-dark .ant-dropdown-menu-item-selected, +.ant-dropdown-menu-dark .ant-dropdown-menu-item-selected:hover, +.ant-dropdown-menu-dark .ant-dropdown-menu-item-selected > a { + background: @primary-color; + color: #fff; +} +.ant-form { + color: rgba(0, 0, 0, 0.65); +} +.ant-form legend { + color: rgba(0, 0, 0, 0.45); + border: 0; + border-bottom: 1px solid #d9d9d9; +} +.ant-form output { + color: rgba(0, 0, 0, 0.65); +} +.ant-form-item-required:before { + color: #f5222d; +} +.ant-form-item { + color: rgba(0, 0, 0, 0.65); +} +.ant-form-item-label label { + color: rgba(0, 0, 0, 0.85); +} +.ant-form-explain, +.ant-form-extra { + color: rgba(0, 0, 0, 0.45); +} +form .ant-upload { + background: transparent; +} +.ant-input-group-wrap .ant-select-selection { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.ant-input-group-wrap .ant-select-selection:hover { + border-color: #d9d9d9; +} +.ant-input-group-wrap .ant-select-selection--single { + background-color: #eee; +} +.ant-input-group-wrap .ant-select-open .ant-select-selection { + border-color: #d9d9d9; + box-shadow: none; +} +.has-success.has-feedback .ant-form-item-children-icon { + color: #52c41a; +} +.has-warning .ant-form-explain, +.has-warning .ant-form-split { + color: #faad14; +} +.has-warning .ant-input, +.has-warning .ant-input:hover { + border-color: #faad14; +} +.has-warning .ant-input:focus { + border-color: #ffc53d; + box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2); + border-right-width: 1px !important; +} +.has-warning .ant-input:not([disabled]):hover { + border-color: #faad14; +} +.has-warning .ant-calendar-picker-open .ant-calendar-picker-input { + border-color: #ffc53d; + box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2); + border-right-width: 1px !important; +} +.has-warning .ant-input-prefix { + color: #faad14; +} +.has-warning .ant-input-group-addon { + color: #faad14; + border-color: #faad14; + background-color: #fff; +} +.has-warning .has-feedback { + color: #faad14; +} +.has-warning.has-feedback .ant-form-item-children-icon { + color: #faad14; +} +.has-warning .ant-select-selection { + border-color: #faad14; +} +.has-warning .ant-select-open .ant-select-selection, +.has-warning .ant-select-focused .ant-select-selection { + border-color: #ffc53d; + box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2); + border-right-width: 1px !important; +} +.has-warning .ant-calendar-picker-icon:after, +.has-warning .ant-time-picker-icon:after, +.has-warning .ant-picker-icon:after, +.has-warning .ant-select-arrow, +.has-warning .ant-cascader-picker-arrow { + color: #faad14; +} +.has-warning .ant-input-number, +.has-warning .ant-time-picker-input { + border-color: #faad14; +} +.has-warning .ant-input-number-focused, +.has-warning .ant-time-picker-input-focused, +.has-warning .ant-input-number:focus, +.has-warning .ant-time-picker-input:focus { + border-color: #ffc53d; + box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2); + border-right-width: 1px !important; +} +.has-warning .ant-input-number:not([disabled]):hover, +.has-warning .ant-time-picker-input:not([disabled]):hover { + border-color: #faad14; +} +.has-warning .ant-cascader-picker:focus .ant-cascader-input { + border-color: #ffc53d; + box-shadow: 0 0 0 2px rgba(250, 173, 20, 0.2); + border-right-width: 1px !important; +} +.has-error .ant-form-explain, +.has-error .ant-form-split { + color: #f5222d; +} +.has-error .ant-input, +.has-error .ant-input:hover { + border-color: #f5222d; +} +.has-error .ant-input:focus { + border-color: #ff4d4f; + box-shadow: 0 0 0 2px rgba(245, 34, 45, 0.2); + border-right-width: 1px !important; +} +.has-error .ant-input:not([disabled]):hover { + border-color: #f5222d; +} +.has-error .ant-calendar-picker-open .ant-calendar-picker-input { + border-color: #ff4d4f; + box-shadow: 0 0 0 2px rgba(245, 34, 45, 0.2); + border-right-width: 1px !important; +} +.has-error .ant-input-prefix { + color: #f5222d; +} +.has-error .ant-input-group-addon { + color: #f5222d; + border-color: #f5222d; + background-color: #fff; +} +.has-error .has-feedback { + color: #f5222d; +} +.has-error.has-feedback .ant-form-item-children-icon { + color: #f5222d; +} +.has-error .ant-select-selection { + border-color: #f5222d; +} +.has-error .ant-select-open .ant-select-selection, +.has-error .ant-select-focused .ant-select-selection { + border-color: #ff4d4f; + box-shadow: 0 0 0 2px rgba(245, 34, 45, 0.2); + border-right-width: 1px !important; +} +.has-error .ant-select.ant-select-auto-complete .ant-input:focus { + border-color: #f5222d; +} +.has-error .ant-input-group-addon .ant-select-selection { + border-color: transparent; + box-shadow: none; +} +.has-error .ant-calendar-picker-icon:after, +.has-error .ant-time-picker-icon:after, +.has-error .ant-picker-icon:after, +.has-error .ant-select-arrow, +.has-error .ant-cascader-picker-arrow { + color: #f5222d; +} +.has-error .ant-input-number, +.has-error .ant-time-picker-input { + border-color: #f5222d; +} +.has-error .ant-input-number-focused, +.has-error .ant-time-picker-input-focused, +.has-error .ant-input-number:focus, +.has-error .ant-time-picker-input:focus { + border-color: #ff4d4f; + box-shadow: 0 0 0 2px rgba(245, 34, 45, 0.2); + border-right-width: 1px !important; +} +.has-error .ant-input-number:not([disabled]):hover, +.has-error .ant-time-picker-input:not([disabled]):hover { + border-color: #f5222d; +} +.has-error .ant-mention-wrapper .ant-mention-editor, +.has-error .ant-mention-wrapper .ant-mention-editor:not([disabled]):hover { + border-color: #f5222d; +} +.has-error .ant-mention-wrapper.ant-mention-active:not([disabled]) .ant-mention-editor, +.has-error .ant-mention-wrapper .ant-mention-editor:not([disabled]):focus { + border-color: #ff4d4f; + box-shadow: 0 0 0 2px rgba(245, 34, 45, 0.2); + border-right-width: 1px !important; +} +.has-error .ant-cascader-picker:focus .ant-cascader-input { + border-color: #ff4d4f; + box-shadow: 0 0 0 2px rgba(245, 34, 45, 0.2); + border-right-width: 1px !important; +} +.is-validating.has-feedback .ant-form-item-children-icon { + color: @primary-color; +} +.ant-input-number { + color: rgba(0, 0, 0, 0.65); + background-color: #fff; + background-image: none; + border: 1px solid #d9d9d9; + border-radius: 4px; +} +.ant-input-number::-moz-placeholder { + color: #bfbfbf; +} +.ant-input-number:-ms-input-placeholder { + color: #bfbfbf; +} +.ant-input-number::-webkit-input-placeholder { + color: #bfbfbf; +} +.ant-input-number:hover { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + border-right-width: 1px !important; +} +.ant-input-number:focus { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); + border-right-width: 1px !important; +} +.ant-input-number-disabled { + background-color: #f5f5f5; + color: rgba(0, 0, 0, 0.25); +} +.ant-input-number-disabled:hover { + border-color: #e6d8d8; + border-right-width: 1px !important; +} +.ant-input-number-handler { + color: rgba(0, 0, 0, 0.45); +} +.ant-input-number-handler:active { + background: #f4f4f4; +} +.ant-input-number-handler:hover .ant-input-number-handler-up-inner, +.ant-input-number-handler:hover .ant-input-number-handler-down-inner { + color: color(~`colorPalette("@{primary-color}", 5)`); +} +.ant-input-number-handler-up-inner, +.ant-input-number-handler-down-inner { + color: rgba(0, 0, 0, 0.45); +} +.ant-input-number:hover { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + border-right-width: 1px !important; +} +.ant-input-number-focused { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); + border-right-width: 1px !important; +} +.ant-input-number-disabled { + background-color: #f5f5f5; + color: rgba(0, 0, 0, 0.25); +} +.ant-input-number-disabled:hover { + border-color: #e6d8d8; + border-right-width: 1px !important; +} +.ant-input-number-input { + background-color: transparent; + border: 0; + border-radius: 4px; +} +.ant-input-number-input::-moz-placeholder { + color: #bfbfbf; +} +.ant-input-number-input:-ms-input-placeholder { + color: #bfbfbf; +} +.ant-input-number-input::-webkit-input-placeholder { + color: #bfbfbf; +} +.ant-input-number-handler-wrap { + border-left: 1px solid #d9d9d9; + background: #fff; + border-radius: 0 4px 4px 0; +} +.ant-input-number-handler-down { + border-top: 1px solid #d9d9d9; +} +.ant-input-number-handler-up-disabled:hover .ant-input-number-handler-up-inner, +.ant-input-number-handler-down-disabled:hover .ant-input-number-handler-down-inner { + color: rgba(0, 0, 0, 0.25); +} +.ant-input { + color: rgba(0, 0, 0, 0.65); + background-color: #fff; + background-image: none; + border: 1px solid #d9d9d9; + border-radius: 4px; +} +.ant-input::-moz-placeholder { + color: #bfbfbf; +} +.ant-input:-ms-input-placeholder { + color: #bfbfbf; +} +.ant-input::-webkit-input-placeholder { + color: #bfbfbf; +} +.ant-input:hover { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + border-right-width: 1px !important; +} +.ant-input:focus { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); + border-right-width: 1px !important; +} +.ant-input-disabled { + background-color: #f5f5f5; + color: rgba(0, 0, 0, 0.25); +} +.ant-input-disabled:hover { + border-color: #e6d8d8; + border-right-width: 1px !important; +} +.ant-input-group { + color: rgba(0, 0, 0, 0.65); + border-collapse: separate; + border-spacing: 0; +} +.ant-input-group-addon:not(:first-child):not(:last-child), +.ant-input-group-wrap:not(:first-child):not(:last-child), +.ant-input-group > .ant-input:not(:first-child):not(:last-child) { + border-radius: 0; +} +.ant-input-group .ant-input:focus { + border-right-width: 1px; +} +.ant-input-group .ant-input:hover { + border-right-width: 1px; +} +.ant-input-group-addon { + color: rgba(0, 0, 0, 0.65); + background-color: #fafafa; + border: 1px solid #d9d9d9; + border-radius: 4px; +} +.ant-input-group-addon .ant-select .ant-select-selection { + background-color: inherit; + border: 1px solid transparent; + box-shadow: none; +} +.ant-input-group-addon .ant-select-open .ant-select-selection, +.ant-input-group-addon .ant-select-focused .ant-select-selection { + color: @primary-color; +} +.ant-input-group > .ant-input:first-child, +.ant-input-group-addon:first-child { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.ant-input-group > .ant-input:first-child .ant-select .ant-select-selection, +.ant-input-group-addon:first-child .ant-select .ant-select-selection { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.ant-input-group > .ant-input-affix-wrapper:not(:first-child) .ant-input { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.ant-input-group > .ant-input-affix-wrapper:not(:last-child) .ant-input { + border-bottom-right-radius: 0; + border-top-right-radius: 0; +} +.ant-input-group-addon:first-child { + border-right: 0; +} +.ant-input-group-addon:last-child { + border-left: 0; +} +.ant-input-group > .ant-input:last-child, +.ant-input-group-addon:last-child { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.ant-input-group > .ant-input:last-child .ant-select .ant-select-selection, +.ant-input-group-addon:last-child .ant-select .ant-select-selection { + border-bottom-left-radius: 0; + border-top-left-radius: 0; +} +.ant-input-group.ant-input-group-compact-addon:not(:first-child):not(:last-child), +.ant-input-group.ant-input-group-compact-wrap:not(:first-child):not(:last-child), +.ant-input-group.ant-input-group-compact > .ant-input:not(:first-child):not(:last-child) { + border-right-width: 1px; + border-right-color: transparent; +} +.ant-input-group.ant-input-group-compact-addon:not(:first-child):not(:last-child):hover, +.ant-input-group.ant-input-group-compact-wrap:not(:first-child):not(:last-child):hover, +.ant-input-group.ant-input-group-compact > .ant-input:not(:first-child):not(:last-child):hover { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + border-right-width: 1px !important; +} +.ant-input-group.ant-input-group-compact-addon:not(:first-child):not(:last-child):focus, +.ant-input-group.ant-input-group-compact-wrap:not(:first-child):not(:last-child):focus, +.ant-input-group.ant-input-group-compact > .ant-input:not(:first-child):not(:last-child):focus { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); + border-right-width: 1px !important; +} +.ant-input-group.ant-input-group-compact > * { + border-radius: 0; + border-right-width: 0; +} +.ant-input-group.ant-input-group-compact > span:not(:last-child) > .ant-input { + border-right-width: 0; +} +.ant-input-group.ant-input-group-compact > .ant-select > .ant-select-selection, +.ant-input-group.ant-input-group-compact > .ant-calendar-picker .ant-input, +.ant-input-group.ant-input-group-compact > .ant-select-auto-complete .ant-input, +.ant-input-group.ant-input-group-compact > .ant-cascader-picker .ant-input, +.ant-input-group.ant-input-group-compact > .ant-mention-wrapper .ant-mention-editor, +.ant-input-group.ant-input-group-compact > .ant-time-picker .ant-time-picker-input { + border-radius: 0; + border-right-width: 1px; + border-right-color: transparent; +} +.ant-input-group.ant-input-group-compact > .ant-select > .ant-select-selection:hover, +.ant-input-group.ant-input-group-compact > .ant-calendar-picker .ant-input:hover, +.ant-input-group.ant-input-group-compact > .ant-select-auto-complete .ant-input:hover, +.ant-input-group.ant-input-group-compact > .ant-cascader-picker .ant-input:hover, +.ant-input-group.ant-input-group-compact > .ant-mention-wrapper .ant-mention-editor:hover, +.ant-input-group.ant-input-group-compact > .ant-time-picker .ant-time-picker-input:hover { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + border-right-width: 1px !important; +} +.ant-input-group.ant-input-group-compact > .ant-select > .ant-select-selection:focus, +.ant-input-group.ant-input-group-compact > .ant-calendar-picker .ant-input:focus, +.ant-input-group.ant-input-group-compact > .ant-select-auto-complete .ant-input:focus, +.ant-input-group.ant-input-group-compact > .ant-cascader-picker .ant-input:focus, +.ant-input-group.ant-input-group-compact > .ant-mention-wrapper .ant-mention-editor:focus, +.ant-input-group.ant-input-group-compact > .ant-time-picker .ant-time-picker-input:focus { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); + border-right-width: 1px !important; +} +.ant-input-group.ant-input-group-compact > *:first-child, +.ant-input-group.ant-input-group-compact > .ant-select:first-child > .ant-select-selection, +.ant-input-group.ant-input-group-compact > .ant-calendar-picker:first-child .ant-input, +.ant-input-group.ant-input-group-compact > .ant-select-auto-complete:first-child .ant-input, +.ant-input-group.ant-input-group-compact > .ant-cascader-picker:first-child .ant-input, +.ant-input-group.ant-input-group-compact > .ant-mention-wrapper:first-child .ant-mention-editor, +.ant-input-group.ant-input-group-compact > .ant-time-picker:first-child .ant-time-picker-input { + border-top-left-radius: 4px; + border-bottom-left-radius: 4px; +} +.ant-input-group.ant-input-group-compact > *:last-child, +.ant-input-group.ant-input-group-compact > .ant-select:last-child > .ant-select-selection, +.ant-input-group.ant-input-group-compact > .ant-calendar-picker:last-child .ant-input, +.ant-input-group.ant-input-group-compact > .ant-select-auto-complete:last-child .ant-input, +.ant-input-group.ant-input-group-compact > .ant-cascader-picker:last-child .ant-input, +.ant-input-group.ant-input-group-compact > .ant-cascader-picker-focused:last-child .ant-input, +.ant-input-group.ant-input-group-compact > .ant-mention-wrapper:last-child .ant-mention-editor, +.ant-input-group.ant-input-group-compact > .ant-time-picker:last-child .ant-time-picker-input { + border-top-right-radius: 4px; + border-bottom-right-radius: 4px; + border-right-width: 1px; + border-right-color: #d9d9d9; +} +.ant-input-group.ant-input-group-compact > *:last-child:hover, +.ant-input-group.ant-input-group-compact > .ant-select:last-child > .ant-select-selection:hover, +.ant-input-group.ant-input-group-compact > .ant-calendar-picker:last-child .ant-input:hover, +.ant-input-group.ant-input-group-compact > .ant-select-auto-complete:last-child .ant-input:hover, +.ant-input-group.ant-input-group-compact > .ant-cascader-picker:last-child .ant-input:hover, +.ant-input-group.ant-input-group-compact > .ant-cascader-picker-focused:last-child .ant-input:hover, +.ant-input-group.ant-input-group-compact > .ant-mention-wrapper:last-child .ant-mention-editor:hover, +.ant-input-group.ant-input-group-compact > .ant-time-picker:last-child .ant-time-picker-input:hover { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + border-right-width: 1px !important; +} +.ant-input-group.ant-input-group-compact > *:last-child:focus, +.ant-input-group.ant-input-group-compact > .ant-select:last-child > .ant-select-selection:focus, +.ant-input-group.ant-input-group-compact > .ant-calendar-picker:last-child .ant-input:focus, +.ant-input-group.ant-input-group-compact > .ant-select-auto-complete:last-child .ant-input:focus, +.ant-input-group.ant-input-group-compact > .ant-cascader-picker:last-child .ant-input:focus, +.ant-input-group.ant-input-group-compact > .ant-cascader-picker-focused:last-child .ant-input:focus, +.ant-input-group.ant-input-group-compact > .ant-mention-wrapper:last-child .ant-mention-editor:focus, +.ant-input-group.ant-input-group-compact > .ant-time-picker:last-child .ant-time-picker-input:focus { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); + border-right-width: 1px !important; +} +.ant-input-group.ant-input-group-compact > *:last-child:focus .ant-cascader-input, +.ant-input-group.ant-input-group-compact > .ant-select:last-child > .ant-select-selection:focus .ant-cascader-input, +.ant-input-group.ant-input-group-compact > .ant-calendar-picker:last-child .ant-input:focus .ant-cascader-input, +.ant-input-group.ant-input-group-compact > .ant-select-auto-complete:last-child .ant-input:focus .ant-cascader-input, +.ant-input-group.ant-input-group-compact > .ant-cascader-picker:last-child .ant-input:focus .ant-cascader-input, +.ant-input-group.ant-input-group-compact > .ant-cascader-picker-focused:last-child .ant-input:focus .ant-cascader-input, +.ant-input-group.ant-input-group-compact > .ant-mention-wrapper:last-child .ant-mention-editor:focus .ant-cascader-input, +.ant-input-group.ant-input-group-compact > .ant-time-picker:last-child .ant-time-picker-input:focus .ant-cascader-input { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); + border-right-width: 1px !important; +} +.ant-input-affix-wrapper { + color: rgba(0, 0, 0, 0.65); +} +.ant-input-affix-wrapper:hover .ant-input:not(.ant-input-disabled) { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + border-right-width: 1px !important; +} +.ant-input-affix-wrapper .ant-input-prefix, +.ant-input-affix-wrapper .ant-input-suffix { + color: rgba(0, 0, 0, 0.65); +} +.ant-input-search-icon { + color: rgba(0, 0, 0, 0.45); +} +.ant-input-search-icon:hover { + color: #333; +} +.ant-input-search > .ant-input-suffix > .ant-input-search-button { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} +.ant-layout { + background: #f0f2f5; +} +.ant-layout-header { + background: #001529; +} +.ant-layout-footer { + background: #f0f2f5; + color: rgba(0, 0, 0, 0.65); +} +.ant-layout-sider { + background: #001529; +} +.ant-layout-sider-trigger { + color: #fff; + background: #002140; +} +.ant-layout-sider-zero-width-trigger { + background: #001529; + color: #fff; + border-radius: 0 4px 4px 0; +} +.ant-layout-sider-zero-width-trigger:hover { + background: #192c3e; +} +.ant-layout-sider-light { + background: #fff; +} +.ant-layout-sider-light .ant-layout-sider-trigger { + color: rgba(0, 0, 0, 0.65); + background: #fff; +} +.ant-layout-sider-light .ant-layout-sider-zero-width-trigger { + color: rgba(0, 0, 0, 0.65); + background: #fff; +} +.ant-list { + color: rgba(0, 0, 0, 0.65); +} +.ant-list-empty-text { + color: rgba(0, 0, 0, 0.45); +} +.ant-list-item-meta-title { + color: rgba(0, 0, 0, 0.65); +} +.ant-list-item-meta-title > a { + color: rgba(0, 0, 0, 0.65); +} +.ant-list-item-meta-title > a:hover { + color: @primary-color; +} +.ant-list-item-meta-description { + color: rgba(0, 0, 0, 0.45); +} +.ant-list-item-action > li { + color: rgba(0, 0, 0, 0.45); +} +.ant-list-item-action-split { + background-color: #e8e8e8; +} +.ant-list-empty { + color: rgba(0, 0, 0, 0.45); +} +.ant-list-split .ant-list-item { + border-bottom: 1px solid #e8e8e8; +} +.ant-list-split .ant-list-item:last-child { + border-bottom: none; +} +.ant-list-split .ant-list-header { + border-bottom: 1px solid #e8e8e8; +} +.ant-list-something-after-last-item .ant-spin-container > .ant-list-item:last-child { + border-bottom: 1px solid #e8e8e8; +} +.ant-list-vertical .ant-list-item-meta-title { + color: rgba(0, 0, 0, 0.85); +} +.ant-list-vertical .ant-list-item-content { + color: rgba(0, 0, 0, 0.65); +} +.ant-list-grid .ant-list-item { + border-bottom: none; +} +.ant-list-bordered { + border-radius: 4px; + border: 1px solid #d9d9d9; +} +.ant-list-bordered .ant-list-item { + border-bottom: 1px solid #e8e8e8; +} +.ant-mention-wrapper { + color: rgba(0, 0, 0, 0.65); +} +.ant-mention-wrapper .ant-mention-editor { + color: rgba(0, 0, 0, 0.65); + background-color: #fff; + background-image: none; + border: 1px solid #d9d9d9; + border-radius: 4px; +} +.ant-mention-wrapper .ant-mention-editor::-moz-placeholder { + color: #bfbfbf; +} +.ant-mention-wrapper .ant-mention-editor:-ms-input-placeholder { + color: #bfbfbf; +} +.ant-mention-wrapper .ant-mention-editor::-webkit-input-placeholder { + color: #bfbfbf; +} +.ant-mention-wrapper .ant-mention-editor:hover { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + border-right-width: 1px !important; +} +.ant-mention-wrapper .ant-mention-editor:focus { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); + border-right-width: 1px !important; +} +.ant-mention-wrapper .ant-mention-editor-disabled { + background-color: #f5f5f5; + color: rgba(0, 0, 0, 0.25); +} +.ant-mention-wrapper .ant-mention-editor-disabled:hover { + border-color: #e6d8d8; + border-right-width: 1px !important; +} +.ant-mention-wrapper.ant-mention-active:not(.disabled) .ant-mention-editor { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); + border-right-width: 1px !important; +} +.ant-mention-wrapper.disabled .ant-mention-editor { + background-color: #f5f5f5; + color: rgba(0, 0, 0, 0.25); +} +.ant-mention-wrapper.disabled .ant-mention-editor:hover { + border-color: #e6d8d8; + border-right-width: 1px !important; +} +.ant-mention-wrapper .public-DraftEditorPlaceholder-root .public-DraftEditorPlaceholder-inner { + color: #bfbfbf; +} +.ant-mention-dropdown { + color: rgba(0, 0, 0, 0.65); + background-color: #fff; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); + border-radius: 4px; +} +.ant-mention-dropdown-notfound.ant-mention-dropdown-item { + color: rgba(0, 0, 0, 0.25); +} +.ant-mention-dropdown-notfound.ant-mention-dropdown-item .anticon-loading { + color: @primary-color; +} +.ant-mention-dropdown-item { + color: rgba(0, 0, 0, 0.65); +} +.ant-mention-dropdown-item:hover { + background-color: color(~`colorPalette("@{primary-color}", 1)`); +} +.ant-mention-dropdown-item.focus, +.ant-mention-dropdown-item-active { + background-color: color(~`colorPalette("@{primary-color}", 1)`); +} +.ant-mention-dropdown-item-disabled { + color: rgba(0, 0, 0, 0.25); +} +.ant-mention-dropdown-item-disabled:hover { + color: rgba(0, 0, 0, 0.25); + background-color: #fff; +} +.ant-mention-dropdown-item-selected, +.ant-mention-dropdown-item-selected:hover { + background-color: #f5f5f5; + color: rgba(0, 0, 0, 0.65); +} +.ant-mention-dropdown-item-divider { + background-color: #e8e8e8; +} +.ant-menu { + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); + color: rgba(0, 0, 0, 0.65); + background: #fff; +} +.ant-menu-item-group-title { + color: rgba(0, 0, 0, 0.45); +} +.ant-menu-item:active, +.ant-menu-submenu-title:active { + background: color(~`colorPalette("@{primary-color}", 1)`); +} +.ant-menu-item > a { + color: rgba(0, 0, 0, 0.65); +} +.ant-menu-item > a:hover { + color: @primary-color; +} +.ant-menu-item > a:before { + background-color: transparent; +} +.ant-menu-item-divider { + background-color: #e8e8e8; +} +.ant-menu-item:hover, +.ant-menu-item-active, +.ant-menu:not(.ant-menu-inline) .ant-menu-submenu-open, +.ant-menu-submenu-active, +.ant-menu-submenu-title:hover { + color: @primary-color; +} +.ant-menu-horizontal > .ant-menu-item:hover, +.ant-menu-horizontal > .ant-menu-item-active, +.ant-menu-horizontal > .ant-menu-submenu .ant-menu-submenu-title:hover { + background-color: transparent; +} +.ant-menu-item-selected { + color: @primary-color; +} +.ant-menu-item-selected > a, +.ant-menu-item-selected > a:hover { + color: @primary-color; +} +.ant-menu:not(.ant-menu-horizontal) .ant-menu-item-selected { + background-color: color(~`colorPalette("@{primary-color}", 1)`); +} +.ant-menu-inline, +.ant-menu-vertical, +.ant-menu-vertical-left { + border-right: 1px solid #e8e8e8; +} +.ant-menu-vertical-right { + border-left: 1px solid #e8e8e8; +} +.ant-menu-vertical.ant-menu-sub, +.ant-menu-vertical-left.ant-menu-sub, +.ant-menu-vertical-right.ant-menu-sub { + border-right: 0; +} +.ant-menu-vertical.ant-menu-sub .ant-menu-item, +.ant-menu-vertical-left.ant-menu-sub .ant-menu-item, +.ant-menu-vertical-right.ant-menu-sub .ant-menu-item { + border-right: 0; +} +.ant-menu-vertical.ant-menu-sub .ant-menu-item:after, +.ant-menu-vertical-left.ant-menu-sub .ant-menu-item:after, +.ant-menu-vertical-right.ant-menu-sub .ant-menu-item:after { + border-right: 0; +} +.ant-menu > .ant-menu-item-divider { + background-color: #e8e8e8; +} +.ant-menu-submenu-popup { + border-radius: 4px; +} +.ant-menu-submenu > .ant-menu { + background-color: #fff; + border-radius: 4px; +} +.ant-menu-submenu-vertical > .ant-menu-submenu-title .ant-menu-submenu-arrow:before, +.ant-menu-submenu-vertical-left > .ant-menu-submenu-title .ant-menu-submenu-arrow:before, +.ant-menu-submenu-vertical-right > .ant-menu-submenu-title .ant-menu-submenu-arrow:before, +.ant-menu-submenu-inline > .ant-menu-submenu-title .ant-menu-submenu-arrow:before, +.ant-menu-submenu-vertical > .ant-menu-submenu-title .ant-menu-submenu-arrow:after, +.ant-menu-submenu-vertical-left > .ant-menu-submenu-title .ant-menu-submenu-arrow:after, +.ant-menu-submenu-vertical-right > .ant-menu-submenu-title .ant-menu-submenu-arrow:after, +.ant-menu-submenu-inline > .ant-menu-submenu-title .ant-menu-submenu-arrow:after { + background: #fff; + background-image: linear-gradient(to right, rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0.65)); + border-radius: 2px; +} +.ant-menu-submenu-vertical > .ant-menu-submenu-title:hover .ant-menu-submenu-arrow:after, +.ant-menu-submenu-vertical-left > .ant-menu-submenu-title:hover .ant-menu-submenu-arrow:after, +.ant-menu-submenu-vertical-right > .ant-menu-submenu-title:hover .ant-menu-submenu-arrow:after, +.ant-menu-submenu-inline > .ant-menu-submenu-title:hover .ant-menu-submenu-arrow:after, +.ant-menu-submenu-vertical > .ant-menu-submenu-title:hover .ant-menu-submenu-arrow:before, +.ant-menu-submenu-vertical-left > .ant-menu-submenu-title:hover .ant-menu-submenu-arrow:before, +.ant-menu-submenu-vertical-right > .ant-menu-submenu-title:hover .ant-menu-submenu-arrow:before, +.ant-menu-submenu-inline > .ant-menu-submenu-title:hover .ant-menu-submenu-arrow:before { + background: linear-gradient(to right, @primary-color, @primary-color); +} +.ant-menu-vertical .ant-menu-submenu-selected, +.ant-menu-vertical-left .ant-menu-submenu-selected, +.ant-menu-vertical-right .ant-menu-submenu-selected { + color: @primary-color; +} +.ant-menu-vertical .ant-menu-submenu-selected > a, +.ant-menu-vertical-left .ant-menu-submenu-selected > a, +.ant-menu-vertical-right .ant-menu-submenu-selected > a { + color: @primary-color; +} +.ant-menu-horizontal { + border: 0; + border-bottom: 1px solid #e8e8e8; + box-shadow: none; +} +.ant-menu-horizontal > .ant-menu-item, +.ant-menu-horizontal > .ant-menu-submenu { + border-bottom: 2px solid transparent; +} +.ant-menu-horizontal > .ant-menu-item:hover, +.ant-menu-horizontal > .ant-menu-submenu:hover, +.ant-menu-horizontal > .ant-menu-item-active, +.ant-menu-horizontal > .ant-menu-submenu-active, +.ant-menu-horizontal > .ant-menu-item-open, +.ant-menu-horizontal > .ant-menu-submenu-open, +.ant-menu-horizontal > .ant-menu-item-selected, +.ant-menu-horizontal > .ant-menu-submenu-selected { + border-bottom: 2px solid @primary-color; + color: @primary-color; +} +.ant-menu-horizontal > .ant-menu-item > a { + color: rgba(0, 0, 0, 0.65); +} +.ant-menu-horizontal > .ant-menu-item > a:hover { + color: @primary-color; +} +.ant-menu-horizontal > .ant-menu-item-selected > a { + color: @primary-color; +} +.ant-menu-vertical .ant-menu-item:after, +.ant-menu-vertical-left .ant-menu-item:after, +.ant-menu-vertical-right .ant-menu-item:after, +.ant-menu-inline .ant-menu-item:after { + border-right: 3px solid @primary-color; +} +.ant-menu-inline-collapsed-tooltip a { + color: rgba(255, 255, 255, 0.85); +} +.ant-menu-root.ant-menu-vertical, +.ant-menu-root.ant-menu-vertical-left, +.ant-menu-root.ant-menu-vertical-right, +.ant-menu-root.ant-menu-inline { + box-shadow: none; +} +.ant-menu-sub.ant-menu-inline { + border: 0; + box-shadow: none; + border-radius: 0; +} +.ant-menu-item-disabled, +.ant-menu-submenu-disabled { + color: rgba(0, 0, 0, 0.25) !important; + background: none; + border-color: transparent !important; +} +.ant-menu-item-disabled > a, +.ant-menu-submenu-disabled > a { + color: rgba(0, 0, 0, 0.25) !important; +} +.ant-menu-item-disabled > .ant-menu-submenu-title, +.ant-menu-submenu-disabled > .ant-menu-submenu-title { + color: rgba(0, 0, 0, 0.25) !important; +} +.ant-menu-item-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow:before, +.ant-menu-submenu-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow:before, +.ant-menu-item-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow:after, +.ant-menu-submenu-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow:after { + background: rgba(0, 0, 0, 0.25) !important; +} +.ant-menu-dark, +.ant-menu-dark .ant-menu-sub { + color: rgba(255, 255, 255, 0.65); + background: #001529; +} +.ant-menu-dark .ant-menu-submenu-title .ant-menu-submenu-arrow:after, +.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow:after, +.ant-menu-dark .ant-menu-submenu-title .ant-menu-submenu-arrow:before, +.ant-menu-dark .ant-menu-sub .ant-menu-submenu-title .ant-menu-submenu-arrow:before { + background: #fff; +} +.ant-menu-dark.ant-menu-submenu-popup { + background: transparent; +} +.ant-menu-dark .ant-menu-inline.ant-menu-sub { + background: #000c17; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.45) inset; +} +.ant-menu-dark.ant-menu-horizontal { + border-bottom: 0; +} +.ant-menu-dark.ant-menu-horizontal > .ant-menu-item, +.ant-menu-dark.ant-menu-horizontal > .ant-menu-submenu { + border-color: #001529; + border-bottom: 0; +} +.ant-menu-dark .ant-menu-item, +.ant-menu-dark .ant-menu-item-group-title, +.ant-menu-dark .ant-menu-item > a { + color: rgba(255, 255, 255, 0.65); +} +.ant-menu-dark.ant-menu-inline, +.ant-menu-dark.ant-menu-vertical, +.ant-menu-dark.ant-menu-vertical-left, +.ant-menu-dark.ant-menu-vertical-right { + border-right: 0; +} +.ant-menu-dark.ant-menu-inline .ant-menu-item, +.ant-menu-dark.ant-menu-vertical .ant-menu-item, +.ant-menu-dark.ant-menu-vertical-left .ant-menu-item, +.ant-menu-dark.ant-menu-vertical-right .ant-menu-item { + border-right: 0; +} +.ant-menu-dark.ant-menu-inline .ant-menu-item:after, +.ant-menu-dark.ant-menu-vertical .ant-menu-item:after, +.ant-menu-dark.ant-menu-vertical-left .ant-menu-item:after, +.ant-menu-dark.ant-menu-vertical-right .ant-menu-item:after { + border-right: 0; +} +.ant-menu-dark .ant-menu-item:hover, +.ant-menu-dark .ant-menu-item-active, +.ant-menu-dark .ant-menu-submenu-active, +.ant-menu-dark .ant-menu-submenu-open, +.ant-menu-dark .ant-menu-submenu-selected, +.ant-menu-dark .ant-menu-submenu-title:hover { + background-color: transparent; + color: #fff; +} +.ant-menu-dark .ant-menu-item:hover > a, +.ant-menu-dark .ant-menu-item-active > a, +.ant-menu-dark .ant-menu-submenu-active > a, +.ant-menu-dark .ant-menu-submenu-open > a, +.ant-menu-dark .ant-menu-submenu-selected > a, +.ant-menu-dark .ant-menu-submenu-title:hover > a { + color: #fff; +} +.ant-menu-dark .ant-menu-item:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow:after, +.ant-menu-dark .ant-menu-item-active > .ant-menu-submenu-title > .ant-menu-submenu-arrow:after, +.ant-menu-dark .ant-menu-submenu-active > .ant-menu-submenu-title > .ant-menu-submenu-arrow:after, +.ant-menu-dark .ant-menu-submenu-open > .ant-menu-submenu-title > .ant-menu-submenu-arrow:after, +.ant-menu-dark .ant-menu-submenu-selected > .ant-menu-submenu-title > .ant-menu-submenu-arrow:after, +.ant-menu-dark .ant-menu-submenu-title:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow:after, +.ant-menu-dark .ant-menu-item:hover > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow:after, +.ant-menu-dark .ant-menu-item-active > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow:after, +.ant-menu-dark .ant-menu-submenu-active > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow:after, +.ant-menu-dark .ant-menu-submenu-open > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow:after, +.ant-menu-dark .ant-menu-submenu-selected > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow:after, +.ant-menu-dark .ant-menu-submenu-title:hover > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow:after, +.ant-menu-dark .ant-menu-item:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow:before, +.ant-menu-dark .ant-menu-item-active > .ant-menu-submenu-title > .ant-menu-submenu-arrow:before, +.ant-menu-dark .ant-menu-submenu-active > .ant-menu-submenu-title > .ant-menu-submenu-arrow:before, +.ant-menu-dark .ant-menu-submenu-open > .ant-menu-submenu-title > .ant-menu-submenu-arrow:before, +.ant-menu-dark .ant-menu-submenu-selected > .ant-menu-submenu-title > .ant-menu-submenu-arrow:before, +.ant-menu-dark .ant-menu-submenu-title:hover > .ant-menu-submenu-title > .ant-menu-submenu-arrow:before, +.ant-menu-dark .ant-menu-item:hover > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow:before, +.ant-menu-dark .ant-menu-item-active > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow:before, +.ant-menu-dark .ant-menu-submenu-active > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow:before, +.ant-menu-dark .ant-menu-submenu-open > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow:before, +.ant-menu-dark .ant-menu-submenu-selected > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow:before, +.ant-menu-dark .ant-menu-submenu-title:hover > .ant-menu-submenu-title:hover > .ant-menu-submenu-arrow:before { + background: #fff; +} +.ant-menu-dark .ant-menu-item-selected { + border-right: 0; + color: #fff; +} +.ant-menu-dark .ant-menu-item-selected:after { + border-right: 0; +} +.ant-menu-dark .ant-menu-item-selected > a, +.ant-menu-dark .ant-menu-item-selected > a:hover { + color: #fff; +} +.ant-menu.ant-menu-dark .ant-menu-item-selected, +.ant-menu-submenu-popup.ant-menu-dark .ant-menu-item-selected { + background-color: @primary-color; +} +.ant-menu-dark .ant-menu-item-disabled, +.ant-menu-dark .ant-menu-submenu-disabled, +.ant-menu-dark .ant-menu-item-disabled > a, +.ant-menu-dark .ant-menu-submenu-disabled > a { + color: rgba(255, 255, 255, 0.35) !important; +} +.ant-menu-dark .ant-menu-item-disabled > .ant-menu-submenu-title, +.ant-menu-dark .ant-menu-submenu-disabled > .ant-menu-submenu-title { + color: rgba(255, 255, 255, 0.35) !important; +} +.ant-menu-dark .ant-menu-item-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow:before, +.ant-menu-dark .ant-menu-submenu-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow:before, +.ant-menu-dark .ant-menu-item-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow:after, +.ant-menu-dark .ant-menu-submenu-disabled > .ant-menu-submenu-title > .ant-menu-submenu-arrow:after { + background: rgba(255, 255, 255, 0.35) !important; +} +.ant-message { + color: rgba(0, 0, 0, 0.65); +} +.ant-message-notice-content { + border-radius: 4px; + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); + background: #fff; +} +.ant-message-success .anticon { + color: #52c41a; +} +.ant-message-error .anticon { + color: #f5222d; +} +.ant-message-warning .anticon { + color: #faad14; +} +.ant-message-info .anticon, +.ant-message-loading .anticon { + color: @primary-color; +} +.ant-modal { + color: rgba(0, 0, 0, 0.65); +} +.ant-modal-title { + color: rgba(0, 0, 0, 0.85); +} +.ant-modal-content { + background-color: #fff; + border: 0; + border-radius: 4px; + background-clip: padding-box; + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); +} +.ant-modal-close { + border: 0; + background: transparent; + color: rgba(0, 0, 0, 0.45); +} +.ant-modal-close:focus, +.ant-modal-close:hover { + color: #444; +} +.ant-modal-header { + border-radius: 4px 4px 0 0; + background: #fff; + color: rgba(0, 0, 0, 0.65); + border-bottom: 1px solid #e8e8e8; +} +.ant-modal-footer { + border-top: 1px solid #e8e8e8; + border-radius: 0 0 4px 4px; +} +.ant-modal-mask { + background-color: rgba(0, 0, 0, 0.65); +} +.ant-confirm-body .ant-confirm-title { + color: rgba(0, 0, 0, 0.85); +} +.ant-confirm-body .ant-confirm-content { + color: rgba(0, 0, 0, 0.65); +} +.ant-confirm-error .ant-confirm-body > .anticon { + color: #f5222d; +} +.ant-confirm-warning .ant-confirm-body > .anticon, +.ant-confirm-confirm .ant-confirm-body > .anticon { + color: #faad14; +} +.ant-confirm-info .ant-confirm-body > .anticon { + color: @primary-color; +} +.ant-confirm-success .ant-confirm-body > .anticon { + color: #52c41a; +} +.ant-notification { + color: rgba(0, 0, 0, 0.65); +} +.ant-notification-notice { + border-radius: 4px; + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); + background: #fff; +} +.ant-notification-notice-message { + color: rgba(0, 0, 0, 0.85); +} +.ant-notification-notice-message-single-line-auto-margin { + background-color: transparent; +} +.ant-notification-notice-icon-success { + color: #52c41a; +} +.ant-notification-notice-icon-info { + color: @primary-color; +} +.ant-notification-notice-icon-warning { + color: #faad14; +} +.ant-notification-notice-icon-error { + color: #f5222d; +} +.ant-notification-notice-close { + color: rgba(0, 0, 0, 0.45); +} +.ant-notification-notice-close:hover { + color: rgba(0, 0, 0, 0.67); +} +.ant-pagination { + color: rgba(0, 0, 0, 0.65); +} +.ant-pagination-item { + border-radius: 4px; + border: 1px solid #d9d9d9; + background-color: #fff; +} +.ant-pagination-item a { + color: rgba(0, 0, 0, 0.65); +} +.ant-pagination-item:focus, +.ant-pagination-item:hover { + border-color: @primary-color; +} +.ant-pagination-item:focus a, +.ant-pagination-item:hover a { + color: @primary-color; +} +.ant-pagination-item-active { + border-color: @primary-color; +} +.ant-pagination-item-active a { + color: @primary-color; +} +.ant-pagination-item-active:focus, +.ant-pagination-item-active:hover { + border-color: color(~`colorPalette("@{primary-color}", 5)`); +} +.ant-pagination-item-active:focus a, +.ant-pagination-item-active:hover a { + color: color(~`colorPalette("@{primary-color}", 5)`); +} +.ant-pagination-jump-prev .ant-pagination-item-container .ant-pagination-item-link-icon, +.ant-pagination-jump-next .ant-pagination-item-container .ant-pagination-item-link-icon { + color: @primary-color; +} +.ant-pagination-jump-prev .ant-pagination-item-container .ant-pagination-item-ellipsis, +.ant-pagination-jump-next .ant-pagination-item-container .ant-pagination-item-ellipsis { + color: rgba(0, 0, 0, 0.25); +} +.ant-pagination-prev, +.ant-pagination-next, +.ant-pagination-jump-prev, +.ant-pagination-jump-next { + color: rgba(0, 0, 0, 0.65); + border-radius: 4px; +} +.ant-pagination-prev a, +.ant-pagination-next a { + color: rgba(0, 0, 0, 0.65); +} +.ant-pagination-prev:hover a, +.ant-pagination-next:hover a { + border-color: color(~`colorPalette("@{primary-color}", 5)`); +} +.ant-pagination-prev .ant-pagination-item-link, +.ant-pagination-next .ant-pagination-item-link { + border: 1px solid #d9d9d9; + background-color: #fff; + border-radius: 4px; +} +.ant-pagination-prev:focus .ant-pagination-item-link, +.ant-pagination-next:focus .ant-pagination-item-link, +.ant-pagination-prev:hover .ant-pagination-item-link, +.ant-pagination-next:hover .ant-pagination-item-link { + border-color: @primary-color; + color: @primary-color; +} +.ant-pagination-disabled a, +.ant-pagination-disabled:hover a, +.ant-pagination-disabled:focus a, +.ant-pagination-disabled .ant-pagination-item-link, +.ant-pagination-disabled:hover .ant-pagination-item-link, +.ant-pagination-disabled:focus .ant-pagination-item-link { + border-color: #d9d9d9; + color: rgba(0, 0, 0, 0.25); +} +.ant-pagination-options-quick-jumper input { + color: rgba(0, 0, 0, 0.65); + background-color: #fff; + background-image: none; + border: 1px solid #d9d9d9; + border-radius: 4px; +} +.ant-pagination-options-quick-jumper input::-moz-placeholder { + color: #bfbfbf; +} +.ant-pagination-options-quick-jumper input:-ms-input-placeholder { + color: #bfbfbf; +} +.ant-pagination-options-quick-jumper input::-webkit-input-placeholder { + color: #bfbfbf; +} +.ant-pagination-options-quick-jumper input:hover { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + border-right-width: 1px !important; +} +.ant-pagination-options-quick-jumper input:focus { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); + border-right-width: 1px !important; +} +.ant-pagination-options-quick-jumper input-disabled { + background-color: #f5f5f5; + color: rgba(0, 0, 0, 0.25); +} +.ant-pagination-options-quick-jumper input-disabled:hover { + border-color: #e6d8d8; + border-right-width: 1px !important; +} +.ant-pagination-simple .ant-pagination-prev .ant-pagination-item-link, +.ant-pagination-simple .ant-pagination-next .ant-pagination-item-link { + border: 0; +} +.ant-pagination-simple .ant-pagination-simple-pager input { + background-color: #fff; + border-radius: 4px; + border: 1px solid #d9d9d9; +} +.ant-pagination-simple .ant-pagination-simple-pager input:hover { + border-color: @primary-color; +} +.ant-pagination.mini .ant-pagination-item:not(.ant-pagination-item-active) { + background: transparent; + border-color: transparent; +} +.ant-pagination.mini .ant-pagination-prev .ant-pagination-item-link, +.ant-pagination.mini .ant-pagination-next .ant-pagination-item-link { + border-color: transparent; + background: transparent; +} +.ant-popover { + color: rgba(0, 0, 0, 0.65); +} +.ant-popover:after { + background: rgba(255, 255, 255, 0.01); +} +.ant-popover-inner { + background-color: #fff; + background-clip: padding-box; + border-radius: 4px; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); +} +.ant-popover-title { + border-bottom: 1px solid #e8e8e8; + color: rgba(0, 0, 0, 0.85); +} +.ant-popover-inner-content { + color: rgba(0, 0, 0, 0.65); +} +.ant-popover-message { + color: rgba(0, 0, 0, 0.65); +} +.ant-popover-message > .anticon { + color: #faad14; +} +.ant-popover-arrow { + background: #fff; + border-color: transparent; + border-style: solid; +} +.ant-popover-placement-top > .ant-popover-content > .ant-popover-arrow, +.ant-popover-placement-topLeft > .ant-popover-content > .ant-popover-arrow, +.ant-popover-placement-topRight > .ant-popover-content > .ant-popover-arrow { + box-shadow: 3px 3px 7px rgba(0, 0, 0, 0.07); +} +.ant-popover-placement-right > .ant-popover-content > .ant-popover-arrow, +.ant-popover-placement-rightTop > .ant-popover-content > .ant-popover-arrow, +.ant-popover-placement-rightBottom > .ant-popover-content > .ant-popover-arrow { + box-shadow: -3px 3px 7px rgba(0, 0, 0, 0.07); +} +.ant-popover-placement-bottom > .ant-popover-content > .ant-popover-arrow, +.ant-popover-placement-bottomLeft > .ant-popover-content > .ant-popover-arrow, +.ant-popover-placement-bottomRight > .ant-popover-content > .ant-popover-arrow { + box-shadow: -2px -2px 5px rgba(0, 0, 0, 0.06); +} +.ant-popover-placement-left > .ant-popover-content > .ant-popover-arrow, +.ant-popover-placement-leftTop > .ant-popover-content > .ant-popover-arrow, +.ant-popover-placement-leftBottom > .ant-popover-content > .ant-popover-arrow { + box-shadow: 3px -3px 7px rgba(0, 0, 0, 0.07); +} +.ant-progress { + color: rgba(0, 0, 0, 0.65); +} +.ant-progress-inner { + background-color: #f5f5f5; + border-radius: 100px; +} +.ant-progress-success-bg, +.ant-progress-bg { + background-color: @primary-color; +} +.ant-progress-success-bg { + background-color: #52c41a; +} +.ant-progress-text { + color: rgba(0, 0, 0, 0.45); +} +.ant-progress-status-active .ant-progress-bg:before { + background: #fff; + border-radius: 10px; +} +.ant-progress-status-exception .ant-progress-bg { + background-color: #f5222d; +} +.ant-progress-status-exception .ant-progress-text { + color: #f5222d; +} +.ant-progress-status-success .ant-progress-bg { + background-color: #52c41a; +} +.ant-progress-status-success .ant-progress-text { + color: #52c41a; +} +.ant-progress-circle .ant-progress-inner { + background-color: transparent; +} +.ant-progress-circle .ant-progress-text { + color: rgba(0, 0, 0, 0.65); +} +.ant-progress-circle.ant-progress-status-exception .ant-progress-text { + color: #f5222d; +} +.ant-progress-circle.ant-progress-status-success .ant-progress-text { + color: #52c41a; +} +.ant-radio-group { + color: rgba(0, 0, 0, 0.65); +} +.ant-radio-wrapper { + color: rgba(0, 0, 0, 0.65); +} +.ant-radio { + color: rgba(0, 0, 0, 0.65); +} +.ant-radio-wrapper:hover .ant-radio .ant-radio-inner, +.ant-radio:hover .ant-radio-inner, +.ant-radio-focused .ant-radio-inner { + border-color: @primary-color; +} +.ant-radio-checked:after { + border-radius: 50%; + border: 1px solid @primary-color; +} +.ant-radio-inner { + border-width: 1px; + border-style: solid; + border-radius: 100px; + border-color: #d9d9d9; + background-color: #fff; +} +.ant-radio-inner:after { + border-radius: 8px; + border-top: 0; + border-left: 0; + background-color: @primary-color; +} +.ant-radio-checked .ant-radio-inner { + border-color: @primary-color; +} +.ant-radio-disabled .ant-radio-inner { + border-color: #d9d9d9 !important; + background-color: #f5f5f5; +} +.ant-radio-disabled .ant-radio-inner:after { + background-color: #ccc; +} +.ant-radio-disabled + span { + color: rgba(0, 0, 0, 0.25); +} +.ant-radio-button-wrapper { + color: rgba(0, 0, 0, 0.65); + border: 1px solid #d9d9d9; + border-left: 0; + border-top-width: 1.02px; + background: #fff; +} +.ant-radio-button-wrapper a { + color: rgba(0, 0, 0, 0.65); +} +.ant-radio-button-wrapper:not(:first-child)::before { + background-color: #d9d9d9; +} +.ant-radio-button-wrapper:first-child { + border-radius: 4px 0 0 4px; + border-left: 1px solid #d9d9d9; +} +.ant-radio-button-wrapper:last-child { + border-radius: 0 4px 4px 0; +} +.ant-radio-button-wrapper:first-child:last-child { + border-radius: 4px; +} +.ant-radio-button-wrapper:hover, +.ant-radio-button-wrapper-focused { + color: @primary-color; +} +.ant-radio-button-wrapper-checked { + background: #fff; + border-color: @primary-color; + color: @primary-color; + box-shadow: -1px 0 0 0 @primary-color; +} +.ant-radio-button-wrapper-checked::before { + background-color: @primary-color !important; +} +.ant-radio-button-wrapper-checked:first-child { + border-color: @primary-color; + box-shadow: none !important; +} +.ant-radio-button-wrapper-checked:hover { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + box-shadow: -1px 0 0 0 color(~`colorPalette("@{primary-color}", 5)`); + color: color(~`colorPalette("@{primary-color}", 5)`); +} +.ant-radio-button-wrapper-checked:active { + border-color: color(~`colorPalette("@{primary-color}", 7)`); + box-shadow: -1px 0 0 0 color(~`colorPalette("@{primary-color}", 7)`); + color: color(~`colorPalette("@{primary-color}", 7)`); +} +.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled) { + background: @primary-color; + border-color: @primary-color; + color: #fff; +} +.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):hover { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + background: color(~`colorPalette("@{primary-color}", 5)`); + color: #fff; +} +.ant-radio-group-solid .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled):active { + border-color: color(~`colorPalette("@{primary-color}", 7)`); + background: color(~`colorPalette("@{primary-color}", 7)`); + color: #fff; +} +.ant-radio-button-wrapper-disabled { + border-color: #d9d9d9; + background-color: #f5f5f5; + color: rgba(0, 0, 0, 0.25); +} +.ant-radio-button-wrapper-disabled:first-child, +.ant-radio-button-wrapper-disabled:hover { + border-color: #d9d9d9; + background-color: #f5f5f5; + color: rgba(0, 0, 0, 0.25); +} +.ant-radio-button-wrapper-disabled:first-child { + border-left-color: #d9d9d9; +} +.ant-radio-button-wrapper-disabled.ant-radio-button-wrapper-checked { + color: #fff; + background-color: #e6e6e6; + border-color: #d9d9d9; + box-shadow: none; +} +.ant-rate { + color: rgba(0, 0, 0, 0.65); + color: #fadb14; +} +.ant-rate-star { + color: inherit; +} +.ant-rate-star-first, +.ant-rate-star-second { + color: #e8e8e8; +} +.ant-rate-star-half .ant-rate-star-first, +.ant-rate-star-full .ant-rate-star-second { + color: inherit; +} +.ant-select { + color: rgba(0, 0, 0, 0.65); +} +.ant-select > ul > li > a { + background-color: #fff; +} +.ant-select-arrow { + color: rgba(0, 0, 0, 0.25); +} +.ant-select-selection { + background-color: #fff; + border-radius: 4px; + border: 1px solid #d9d9d9; + border-top-width: 1.02px; +} +.ant-select-selection:hover { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + border-right-width: 1px !important; +} +.ant-select-focused .ant-select-selection, +.ant-select-selection:focus, +.ant-select-selection:active { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); + border-right-width: 1px !important; +} +.ant-select-selection__clear { + background: #fff; + color: rgba(0, 0, 0, 0.25); +} +.ant-select-selection__clear:hover { + color: rgba(0, 0, 0, 0.45); +} +.ant-select-disabled { + color: rgba(0, 0, 0, 0.25); +} +.ant-select-disabled .ant-select-selection { + background: #f5f5f5; +} +.ant-select-disabled .ant-select-selection:hover, +.ant-select-disabled .ant-select-selection:focus, +.ant-select-disabled .ant-select-selection:active { + border-color: #d9d9d9; + box-shadow: none; +} +.ant-select-disabled .ant-select-selection--multiple .ant-select-selection__choice { + background: #f5f5f5; + color: #aaa; +} +.ant-select-disabled .ant-select-selection__choice__remove { + color: rgba(0, 0, 0, 0.25); +} +.ant-select-disabled .ant-select-selection__choice__remove:hover { + color: rgba(0, 0, 0, 0.25); +} +.ant-select-selection__placeholder, +.ant-select-search__field__placeholder { + color: #bfbfbf; +} +.ant-select-search--inline .ant-select-search__field { + border-width: 0; + background: transparent; + border-radius: 4px; +} +.ant-select-selection--multiple .ant-select-selection__choice { + color: rgba(0, 0, 0, 0.65); + background-color: #fafafa; + border: 1px solid #e8e8e8; + border-radius: 2px; +} +.ant-select-selection--multiple .ant-select-selection__choice__remove { + color: rgba(0, 0, 0, 0.45); +} +.ant-select-selection--multiple .ant-select-selection__choice__remove:hover { + color: #404040; +} +.ant-select-open .ant-select-selection { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); + border-right-width: 1px !important; +} +.ant-select-combobox .ant-select-search__field { + box-shadow: none; +} +.ant-select-dropdown { + color: rgba(0, 0, 0, 0.65); + background-color: #fff; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); + border-radius: 4px; +} +.ant-select-dropdown-menu-item-group-title { + color: rgba(0, 0, 0, 0.45); +} +.ant-select-dropdown-menu-item-group-list .ant-select-dropdown-menu-item:first-child:not(:last-child), +.ant-select-dropdown-menu-item-group:not(:last-child) .ant-select-dropdown-menu-item-group-list .ant-select-dropdown-menu-item:last-child { + border-radius: 0; +} +.ant-select-dropdown-menu-item { + color: rgba(0, 0, 0, 0.65); +} +.ant-select-dropdown-menu-item:hover { + background-color: color(~`colorPalette("@{primary-color}", 1)`); +} +.ant-select-dropdown-menu-item:first-child { + border-radius: 4px 4px 0 0; +} +.ant-select-dropdown-menu-item:last-child { + border-radius: 0 0 4px 4px; +} +.ant-select-dropdown-menu-item-disabled { + color: rgba(0, 0, 0, 0.25); +} +.ant-select-dropdown-menu-item-disabled:hover { + color: rgba(0, 0, 0, 0.25); + background-color: #fff; +} +.ant-select-dropdown-menu-item-selected, +.ant-select-dropdown-menu-item-selected:hover { + background-color: #fafafa; + color: rgba(0, 0, 0, 0.65); +} +.ant-select-dropdown-menu-item-active { + background-color: color(~`colorPalette("@{primary-color}", 1)`); +} +.ant-select-dropdown-menu-item-divider { + background-color: #e8e8e8; +} +.ant-select-dropdown.ant-select-dropdown--multiple .ant-select-dropdown-menu-item .ant-select-selected-icon { + color: transparent; +} +.ant-select-dropdown.ant-select-dropdown--multiple .ant-select-dropdown-menu-item:hover .ant-select-selected-icon { + color: #ddd; +} +.ant-select-dropdown.ant-select-dropdown--multiple .ant-select-dropdown-menu-item-selected .ant-select-selected-icon, +.ant-select-dropdown.ant-select-dropdown--multiple .ant-select-dropdown-menu-item-selected:hover .ant-select-selected-icon { + color: @primary-color; +} +.ant-skeleton-header .ant-skeleton-avatar { + background: #f2f2f2; +} +.ant-skeleton-header .ant-skeleton-avatar.ant-skeleton-avatar-circle { + border-radius: 50%; +} +.ant-skeleton-header .ant-skeleton-avatar-lg.ant-skeleton-avatar-circle { + border-radius: 50%; +} +.ant-skeleton-header .ant-skeleton-avatar-sm.ant-skeleton-avatar-circle { + border-radius: 50%; +} +.ant-skeleton-content .ant-skeleton-title { + background: #f2f2f2; +} +.ant-skeleton-content .ant-skeleton-paragraph > li { + background: #f2f2f2; +} +.ant-skeleton.ant-skeleton-active .ant-skeleton-content .ant-skeleton-title, +.ant-skeleton.ant-skeleton-active .ant-skeleton-content .ant-skeleton-paragraph > li { + background: linear-gradient(90deg, #f2f2f2 25%, #e6e6e6 37%, #f2f2f2 63%); + background-size: 400% 100%; +} +.ant-skeleton.ant-skeleton-active .ant-skeleton-avatar { + background: linear-gradient(90deg, #f2f2f2 25%, #e6e6e6 37%, #f2f2f2 63%); + background-size: 400% 100%; +} +.ant-slider { + color: rgba(0, 0, 0, 0.65); +} +.ant-slider-rail { + border-radius: 2px; + background-color: #f5f5f5; +} +.ant-slider-track { + border-radius: 4px; + background-color: color(~`colorPalette("@{primary-color}", 3)`); +} +.ant-slider-handle { + border-radius: 50%; + border: solid 2px color(~`colorPalette("@{primary-color}", 3)`); + background-color: #fff; +} +.ant-slider-handle:focus { + border-color: #46a6ff; + box-shadow: 0 0 0 5px #8cc8ff; +} +.ant-slider-handle.ant-tooltip-open { + border-color: @primary-color; +} +.ant-slider:hover .ant-slider-rail { + background-color: #e1e1e1; +} +.ant-slider:hover .ant-slider-track { + background-color: color(~`colorPalette("@{primary-color}", 4)`); +} +.ant-slider:hover .ant-slider-handle:not(.ant-tooltip-open) { + border-color: color(~`colorPalette("@{primary-color}", 4)`); +} +.ant-slider-mark-text { + color: rgba(0, 0, 0, 0.45); +} +.ant-slider-mark-text-active { + color: rgba(0, 0, 0, 0.65); +} +.ant-slider-step { + background: transparent; +} +.ant-slider-dot { + border: 2px solid #e8e8e8; + background-color: #fff; + border-radius: 50%; +} +.ant-slider-dot-active { + border-color: #8cc8ff; +} +.ant-slider-disabled .ant-slider-track { + background-color: rgba(0, 0, 0, 0.25) !important; +} +.ant-slider-disabled .ant-slider-handle, +.ant-slider-disabled .ant-slider-dot { + border-color: rgba(0, 0, 0, 0.25) !important; + background-color: #fff; + box-shadow: none; +} +.ant-spin { + color: rgba(0, 0, 0, 0.65); + color: @primary-color; +} +.ant-spin-blur:after { + background: #fff; +} +.ant-spin-tip { + color: rgba(0, 0, 0, 0.45); +} +.ant-spin-dot i { + border-radius: 100%; + background-color: @primary-color; +} +.ant-steps { + color: rgba(0, 0, 0, 0.65); +} +.ant-steps-item-icon { + border: 1px solid rgba(0, 0, 0, 0.25); + border-radius: 32px; +} +.ant-steps-item-icon > .ant-steps-icon { + color: @primary-color; +} +.ant-steps-item-tail:after { + background: #e8e8e8; + border-radius: 1px; +} +.ant-steps-item-title { + color: rgba(0, 0, 0, 0.65); +} +.ant-steps-item-title:after { + background: #e8e8e8; +} +.ant-steps-item-description { + color: rgba(0, 0, 0, 0.45); +} +.ant-steps-item-wait .ant-steps-item-icon { + border-color: rgba(0, 0, 0, 0.25); + background-color: #fff; +} +.ant-steps-item-wait .ant-steps-item-icon > .ant-steps-icon { + color: rgba(0, 0, 0, 0.25); +} +.ant-steps-item-wait .ant-steps-item-icon > .ant-steps-icon .ant-steps-icon-dot { + background: rgba(0, 0, 0, 0.25); +} +.ant-steps-item-wait > .ant-steps-item-content > .ant-steps-item-title { + color: rgba(0, 0, 0, 0.45); +} +.ant-steps-item-wait > .ant-steps-item-content > .ant-steps-item-title:after { + background-color: #e8e8e8; +} +.ant-steps-item-wait > .ant-steps-item-content > .ant-steps-item-description { + color: rgba(0, 0, 0, 0.45); +} +.ant-steps-item-wait > .ant-steps-item-tail:after { + background-color: #e8e8e8; +} +.ant-steps-item-process .ant-steps-item-icon { + border-color: @primary-color; + background-color: #fff; +} +.ant-steps-item-process .ant-steps-item-icon > .ant-steps-icon { + color: @primary-color; +} +.ant-steps-item-process .ant-steps-item-icon > .ant-steps-icon .ant-steps-icon-dot { + background: @primary-color; +} +.ant-steps-item-process > .ant-steps-item-content > .ant-steps-item-title { + color: rgba(0, 0, 0, 0.85); +} +.ant-steps-item-process > .ant-steps-item-content > .ant-steps-item-title:after { + background-color: #e8e8e8; +} +.ant-steps-item-process > .ant-steps-item-content > .ant-steps-item-description { + color: rgba(0, 0, 0, 0.65); +} +.ant-steps-item-process > .ant-steps-item-tail:after { + background-color: #e8e8e8; +} +.ant-steps-item-process .ant-steps-item-icon { + background: @primary-color; +} +.ant-steps-item-process .ant-steps-item-icon > .ant-steps-icon { + color: #fff; +} +.ant-steps-item-finish .ant-steps-item-icon { + border-color: @primary-color; + background-color: #fff; +} +.ant-steps-item-finish .ant-steps-item-icon > .ant-steps-icon { + color: @primary-color; +} +.ant-steps-item-finish .ant-steps-item-icon > .ant-steps-icon .ant-steps-icon-dot { + background: @primary-color; +} +.ant-steps-item-finish > .ant-steps-item-content > .ant-steps-item-title { + color: rgba(0, 0, 0, 0.65); +} +.ant-steps-item-finish > .ant-steps-item-content > .ant-steps-item-title:after { + background-color: @primary-color; +} +.ant-steps-item-finish > .ant-steps-item-content > .ant-steps-item-description { + color: rgba(0, 0, 0, 0.45); +} +.ant-steps-item-finish > .ant-steps-item-tail:after { + background-color: @primary-color; +} +.ant-steps-item-error .ant-steps-item-icon { + border-color: #f5222d; + background-color: #fff; +} +.ant-steps-item-error .ant-steps-item-icon > .ant-steps-icon { + color: #f5222d; +} +.ant-steps-item-error .ant-steps-item-icon > .ant-steps-icon .ant-steps-icon-dot { + background: #f5222d; +} +.ant-steps-item-error > .ant-steps-item-content > .ant-steps-item-title { + color: #f5222d; +} +.ant-steps-item-error > .ant-steps-item-content > .ant-steps-item-title:after { + background-color: #e8e8e8; +} +.ant-steps-item-error > .ant-steps-item-content > .ant-steps-item-description { + color: #f5222d; +} +.ant-steps-item-error > .ant-steps-item-tail:after { + background-color: #e8e8e8; +} +.ant-steps-item.ant-steps-next-error .ant-steps-item-title:after { + background: #f5222d; +} +.ant-steps-item-custom .ant-steps-item-icon { + background: none; + border: 0; +} +.ant-steps-item-custom.ant-steps-item-process .ant-steps-item-icon > .ant-steps-icon { + color: @primary-color; +} +.ant-steps-small .ant-steps-item-icon { + border-radius: 24px; +} +.ant-steps-small .ant-steps-item-description { + color: rgba(0, 0, 0, 0.45); +} +.ant-steps-small .ant-steps-item-custom .ant-steps-item-icon { + border-radius: 0; + border: 0; + background: none; +} +.ant-steps-dot .ant-steps-item-icon { + border: 0; + background: transparent; +} +.ant-steps-dot .ant-steps-item-icon .ant-steps-icon-dot { + border-radius: 100px; +} +.ant-steps-dot .ant-steps-item-icon .ant-steps-icon-dot:after { + background: rgba(0, 0, 0, 0.001); +} +.ant-switch { + color: rgba(0, 0, 0, 0.65); + border-radius: 100px; + border: 1px solid transparent; + background-color: rgba(0, 0, 0, 0.25); +} +.ant-switch-inner { + color: #fff; +} +.ant-switch-loading-icon, +.ant-switch:after { + border-radius: 18px; + background-color: #fff; +} +.ant-switch:after { + box-shadow: 0 2px 4px 0 rgba(0, 35, 11, 0.2); +} +.ant-switch-loading-icon { + background: transparent; +} +.ant-switch-loading .ant-switch-loading-icon { + color: rgba(0, 0, 0, 0.65); +} +.ant-switch-checked.ant-switch-loading .ant-switch-loading-icon { + color: @primary-color; +} +.ant-switch:focus { + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); +} +.ant-switch:focus:hover { + box-shadow: none; +} +.ant-switch-checked { + background-color: @primary-color; +} +.ant-table { + color: rgba(0, 0, 0, 0.65); +} +.ant-table table { + border-collapse: collapse; + border-radius: 4px 4px 0 0; +} +.ant-table-thead > tr > th { + background: #fafafa; + color: rgba(0, 0, 0, 0.85); + border-bottom: 1px solid #e8e8e8; +} +.ant-table-thead > tr > th .anticon-filter, +.ant-table-thead > tr > th .ant-table-filter-icon { + color: #bfbfbf; +} +.ant-table-thead > tr > th .ant-table-filter-selected.anticon-filter { + color: @primary-color; +} +.ant-table-thead > tr > th .ant-table-column-sorter { + color: #bfbfbf; +} +.ant-table-thead > tr > th .ant-table-column-sorter-up.on, +.ant-table-thead > tr > th .ant-table-column-sorter-down.on { + color: @primary-color; +} +.ant-table-thead > tr > th.ant-table-column-has-actions:hover { + background: #f5f5f5; +} +.ant-table-thead > tr > th.ant-table-column-has-actions:hover .anticon-filter, +.ant-table-thead > tr > th.ant-table-column-has-actions:hover .ant-table-filter-icon { + background: #f5f5f5; +} +.ant-table-thead > tr > th.ant-table-column-has-actions:hover .anticon-filter:hover, +.ant-table-thead > tr > th.ant-table-column-has-actions:hover .ant-table-filter-icon:hover { + color: rgba(0, 0, 0, 0.45); + background: #ebebeb; +} +.ant-table-thead > tr > th.ant-table-column-has-actions:hover .anticon-filter:active, +.ant-table-thead > tr > th.ant-table-column-has-actions:hover .ant-table-filter-icon:active { + color: rgba(0, 0, 0, 0.65); +} +.ant-table-thead > tr > th.ant-table-column-has-actions .anticon-filter.ant-table-filter-open, +.ant-table-thead > tr > th.ant-table-column-has-actions .ant-table-filter-icon.ant-table-filter-open { + color: rgba(0, 0, 0, 0.45); + background: #ebebeb; +} +.ant-table-thead > tr > th.ant-table-column-has-actions:active .ant-table-column-sorter-up:not(.on), +.ant-table-thead > tr > th.ant-table-column-has-actions:active .ant-table-column-sorter-down:not(.on) { + color: rgba(0, 0, 0, 0.45); +} +.ant-table-thead > tr > th .ant-table-column-sorters:before { + background: transparent; +} +.ant-table-thead > tr > th .ant-table-column-sorters:hover:before { + background: rgba(0, 0, 0, 0.04); +} +.ant-table-thead > tr:first-child > th:first-child { + border-top-left-radius: 4px; +} +.ant-table-thead > tr:first-child > th:last-child { + border-top-right-radius: 4px; +} +.ant-table-thead > tr:not(:last-child) > th[colspan] { + border-bottom: 0; +} +.ant-table-tbody > tr > td { + border-bottom: 1px solid #e8e8e8; +} +.ant-table-thead > tr.ant-table-row-hover > td, +.ant-table-tbody > tr.ant-table-row-hover > td, +.ant-table-thead > tr:hover > td, +.ant-table-tbody > tr:hover > td { + background: color(~`colorPalette("@{primary-color}", 1)`); +} +.ant-table-thead > tr:hover { + background: none; +} +.ant-table-footer { + background: #fafafa; + border-radius: 0 0 4px 4px; + border-top: 1px solid #e8e8e8; +} +.ant-table-footer:before { + background: #fafafa; +} +.ant-table.ant-table-bordered .ant-table-footer { + border: 1px solid #e8e8e8; +} +.ant-table-title { + border-radius: 4px 4px 0 0; +} +.ant-table.ant-table-bordered .ant-table-title { + border: 1px solid #e8e8e8; +} +.ant-table-title + .ant-table-content { + border-radius: 4px 4px 0 0; +} +.ant-table-bordered .ant-table-title + .ant-table-content, +.ant-table-bordered .ant-table-title + .ant-table-content table, +.ant-table-bordered .ant-table-title + .ant-table-content .ant-table-thead > tr:first-child > th { + border-radius: 0; +} +.ant-table-without-column-header .ant-table-title + .ant-table-content, +.ant-table-without-column-header table { + border-radius: 0; +} +.ant-table-tbody > tr.ant-table-row-selected td { + background: #fafafa; +} +.ant-table-thead > tr > th.ant-table-column-sort { + background: #f5f5f5; +} +.ant-table-tbody > tr > td.ant-table-column-sort { + background: rgba(0, 0, 0, 0.01); +} +.ant-table-header { + background: #fafafa; +} +.ant-table-header table { + border-radius: 4px 4px 0 0; +} +.ant-table-loading .ant-table-body { + background: #fff; +} +.ant-table-bordered .ant-table-header > table, +.ant-table-bordered .ant-table-body > table, +.ant-table-bordered .ant-table-fixed-left table, +.ant-table-bordered .ant-table-fixed-right table { + border: 1px solid #e8e8e8; + border-right: 0; + border-bottom: 0; +} +.ant-table-bordered.ant-table-empty .ant-table-placeholder { + border-left: 1px solid #e8e8e8; + border-right: 1px solid #e8e8e8; +} +.ant-table-bordered.ant-table-fixed-header .ant-table-header > table { + border-bottom: 0; +} +.ant-table-bordered.ant-table-fixed-header .ant-table-body > table { + border-top: 0; + border-top-left-radius: 0; + border-top-right-radius: 0; +} +.ant-table-bordered.ant-table-fixed-header .ant-table-body-inner > table { + border-top: 0; +} +.ant-table-bordered.ant-table-fixed-header .ant-table-placeholder { + border: 0; +} +.ant-table-bordered .ant-table-thead > tr:not(:last-child) > th { + border-bottom: 1px solid #e8e8e8; +} +.ant-table-bordered .ant-table-thead > tr > th, +.ant-table-bordered .ant-table-tbody > tr > td { + border-right: 1px solid #e8e8e8; +} +.ant-table-placeholder { + background: #fff; + border-bottom: 1px solid #e8e8e8; + color: rgba(0, 0, 0, 0.45); +} +.ant-table-filter-dropdown { + background: #fff; + border-radius: 4px; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); +} +.ant-table-filter-dropdown .ant-dropdown-menu { + border: 0; + box-shadow: none; + border-radius: 4px 4px 0 0; +} +.ant-table-filter-dropdown .ant-dropdown-menu-sub { + border-radius: 4px; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); +} +.ant-table-filter-dropdown .ant-dropdown-menu .ant-dropdown-submenu-contain-selected .ant-dropdown-menu-submenu-title:after { + color: @primary-color; +} +.ant-table-filter-dropdown > .ant-dropdown-menu > .ant-dropdown-menu-item:last-child, +.ant-table-filter-dropdown > .ant-dropdown-menu > .ant-dropdown-menu-submenu:last-child .ant-dropdown-menu-submenu-title { + border-radius: 0; +} +.ant-table-filter-dropdown-btns { + border-top: 1px solid #e8e8e8; +} +.ant-table-filter-dropdown-link { + color: @primary-color; +} +.ant-table-filter-dropdown-link:hover { + color: color(~`colorPalette("@{primary-color}", 5)`); +} +.ant-table-filter-dropdown-link:active { + color: color(~`colorPalette("@{primary-color}", 7)`); +} +.ant-table-selection .anticon-down { + color: #bfbfbf; +} +.ant-table-selection-menu { + background: #fff; + border-radius: 4px; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); +} +.ant-table-selection-menu .ant-action-down { + color: #bfbfbf; +} +.ant-table-selection-down:hover .anticon-down { + color: #666; +} +.ant-table-row-expand-icon { + border: 1px solid #e8e8e8; + background: #fff; +} +tr.ant-table-expanded-row, +tr.ant-table-expanded-row:hover { + background: #fbfbfb; +} +.ant-table-fixed-header > .ant-table-content > .ant-table-scroll > .ant-table-body { + background: #fff; +} +.ant-table-fixed-left, +.ant-table-fixed-right { + border-radius: 0; +} +.ant-table-fixed-left table, +.ant-table-fixed-right table { + background: #fff; +} +.ant-table-fixed-header .ant-table-fixed-left .ant-table-body-outer .ant-table-fixed, +.ant-table-fixed-header .ant-table-fixed-right .ant-table-body-outer .ant-table-fixed { + border-radius: 0; +} +.ant-table-fixed-left { + box-shadow: 6px 0 6px -4px rgba(0, 0, 0, 0.15); +} +.ant-table-fixed-left, +.ant-table-fixed-left table { + border-radius: 4px 0 0 0; +} +.ant-table-fixed-left .ant-table-thead > tr > th:last-child { + border-top-right-radius: 0; +} +.ant-table-fixed-right { + box-shadow: -6px 0 6px -4px rgba(0, 0, 0, 0.15); +} +.ant-table-fixed-right, +.ant-table-fixed-right table { + border-radius: 0 4px 0 0; +} +.ant-table-fixed-right .ant-table-expanded-row { + color: transparent; +} +.ant-table-fixed-right .ant-table-thead > tr > th:first-child { + border-top-left-radius: 0; +} +.ant-table.ant-table-scroll-position-left .ant-table-fixed-left { + box-shadow: none; +} +.ant-table.ant-table-scroll-position-right .ant-table-fixed-right { + box-shadow: none; +} +.ant-table-small { + border: 1px solid #e8e8e8; + border-radius: 4px; +} +.ant-table-small > .ant-table-title { + border-bottom: 1px solid #e8e8e8; +} +.ant-table-small > .ant-table-content > .ant-table-header > table, +.ant-table-small > .ant-table-content > .ant-table-body > table, +.ant-table-small > .ant-table-content > .ant-table-scroll > .ant-table-header > table, +.ant-table-small > .ant-table-content > .ant-table-scroll > .ant-table-body > table, +.ant-table-small > .ant-table-content > .ant-table-fixed-left > .ant-table-header > table, +.ant-table-small > .ant-table-content > .ant-table-fixed-right > .ant-table-header > table, +.ant-table-small > .ant-table-content > .ant-table-fixed-left > .ant-table-body-outer > .ant-table-body-inner > table, +.ant-table-small > .ant-table-content > .ant-table-fixed-right > .ant-table-body-outer > .ant-table-body-inner > table { + border: 0; +} +.ant-table-small > .ant-table-content > .ant-table-header > table > .ant-table-thead > tr > th, +.ant-table-small > .ant-table-content > .ant-table-body > table > .ant-table-thead > tr > th, +.ant-table-small > .ant-table-content > .ant-table-scroll > .ant-table-header > table > .ant-table-thead > tr > th, +.ant-table-small > .ant-table-content > .ant-table-scroll > .ant-table-body > table > .ant-table-thead > tr > th, +.ant-table-small > .ant-table-content > .ant-table-fixed-left > .ant-table-header > table > .ant-table-thead > tr > th, +.ant-table-small > .ant-table-content > .ant-table-fixed-right > .ant-table-header > table > .ant-table-thead > tr > th, +.ant-table-small > .ant-table-content > .ant-table-fixed-left > .ant-table-body-outer > .ant-table-body-inner > table > .ant-table-thead > tr > th, +.ant-table-small > .ant-table-content > .ant-table-fixed-right > .ant-table-body-outer > .ant-table-body-inner > table > .ant-table-thead > tr > th { + background: #fff; + border-bottom: 1px solid #e8e8e8; +} +.ant-table-small > .ant-table-content .ant-table-header { + background: #fff; +} +.ant-table-small > .ant-table-content .ant-table-placeholder, +.ant-table-small > .ant-table-content .ant-table-row:last-child td { + border-bottom: 0; +} +.ant-table-small.ant-table-bordered { + border-right: 0; +} +.ant-table-small.ant-table-bordered .ant-table-title { + border: 0; + border-bottom: 1px solid #e8e8e8; + border-right: 1px solid #e8e8e8; +} +.ant-table-small.ant-table-bordered .ant-table-content { + border-right: 1px solid #e8e8e8; +} +.ant-table-small.ant-table-bordered .ant-table-footer { + border: 0; + border-top: 1px solid #e8e8e8; + border-right: 1px solid #e8e8e8; +} +.ant-table-small.ant-table-bordered .ant-table-placeholder { + border-left: 0; + border-bottom: 0; +} +.ant-table-small.ant-table-bordered .ant-table-thead > tr > th:last-child, +.ant-table-small.ant-table-bordered .ant-table-tbody > tr > td:last-child { + border-right: none; +} +.ant-table-small.ant-table-bordered .ant-table-fixed-left .ant-table-thead > tr > th:last-child, +.ant-table-small.ant-table-bordered .ant-table-fixed-left .ant-table-tbody > tr > td:last-child { + border-right: 1px solid #e8e8e8; +} +.ant-table-small.ant-table-bordered .ant-table-fixed-right { + border-right: 1px solid #e8e8e8; +} +.ant-tabs.ant-tabs-card > .ant-tabs-bar .ant-tabs-tab { + border: 1px solid #e8e8e8; + border-bottom: 0; + border-radius: 4px 4px 0 0; + background: #fafafa; +} +.ant-tabs.ant-tabs-card > .ant-tabs-bar .ant-tabs-tab-active { + background: #fff; + border-color: @primary-color !important; + color: @primary-color; +} +.ant-tabs.ant-tabs-card > .ant-tabs-bar .ant-tabs-tab .ant-tabs-close-x { + color: rgba(0, 0, 0, 0.45); +} +.ant-tabs.ant-tabs-card > .ant-tabs-bar .ant-tabs-tab .ant-tabs-close-x:hover { + color: rgba(0, 0, 0, 0.85); +} +.ant-tabs-extra-content .ant-tabs-new-tab { + border-radius: 2px; + border: 1px solid #e8e8e8; + color: rgba(0, 0, 0, 0.65); +} +.ant-tabs-extra-content .ant-tabs-new-tab:hover { + color: @primary-color; + border-color: @primary-color; +} +.ant-tabs-vertical.ant-tabs-card > .ant-tabs-bar .ant-tabs-tab { + border-bottom: 1px solid #e8e8e8; +} +.ant-tabs-vertical.ant-tabs-card.ant-tabs-left > .ant-tabs-bar .ant-tabs-tab { + border-right: 0; + border-radius: 4px 0 0 4px; +} +.ant-tabs-vertical.ant-tabs-card.ant-tabs-right > .ant-tabs-bar .ant-tabs-tab { + border-left: 0; + border-radius: 0 4px 4px 0; +} +.ant-tabs.ant-tabs-card.ant-tabs-bottom > .ant-tabs-bar .ant-tabs-tab { + border-bottom: 1px solid #e8e8e8; + border-top: 0; + border-radius: 0 0 4px 4px; +} +.ant-tabs.ant-tabs-card.ant-tabs-bottom > .ant-tabs-bar .ant-tabs-tab-active { + color: @primary-color; +} +.ant-tabs { + color: rgba(0, 0, 0, 0.65); +} +.ant-tabs-ink-bar { + background-color: @primary-color; +} +.ant-tabs-bar { + border-bottom: 1px solid #e8e8e8; +} +.ant-tabs-bottom .ant-tabs-bar { + border-bottom: none; + border-top: 1px solid #e8e8e8; +} +.ant-tabs-tab-prev, +.ant-tabs-tab-next { + border: 0; + background-color: transparent; + color: rgba(0, 0, 0, 0.45); +} +.ant-tabs-tab-prev:hover, +.ant-tabs-tab-next:hover { + color: rgba(0, 0, 0, 0.65); +} +.ant-tabs-tab-btn-disabled, +.ant-tabs-tab-btn-disabled:hover { + color: rgba(0, 0, 0, 0.25); +} +.ant-tabs-nav .ant-tabs-tab-disabled { + color: rgba(0, 0, 0, 0.25); +} +.ant-tabs-nav .ant-tabs-tab:hover { + color: color(~`colorPalette("@{primary-color}", 5)`); +} +.ant-tabs-nav .ant-tabs-tab:active { + color: color(~`colorPalette("@{primary-color}", 7)`); +} +.ant-tabs-nav .ant-tabs-tab-active { + color: @primary-color; +} +.ant-tabs-vertical > .ant-tabs-bar { + border-bottom: 0; +} +.ant-tabs-vertical.ant-tabs-left > .ant-tabs-bar { + border-right: 1px solid #e8e8e8; +} +.ant-tabs-vertical.ant-tabs-left > .ant-tabs-content { + border-left: 1px solid #e8e8e8; +} +.ant-tabs-vertical.ant-tabs-right > .ant-tabs-bar { + border-left: 1px solid #e8e8e8; +} +.ant-tabs-vertical.ant-tabs-right > .ant-tabs-content { + border-right: 1px solid #e8e8e8; +} +.ant-tag { + color: rgba(0, 0, 0, 0.65); + border-radius: 4px; + border: 1px solid #d9d9d9; + background: #fafafa; +} +.ant-tag, +.ant-tag a, +.ant-tag a:hover { + color: rgba(0, 0, 0, 0.65); +} +.ant-tag .anticon-close { + color: rgba(0, 0, 0, 0.45); +} +.ant-tag .anticon-close:hover { + color: rgba(0, 0, 0, 0.85); +} +.ant-tag-has-color { + border-color: transparent; +} +.ant-tag-has-color, +.ant-tag-has-color a, +.ant-tag-has-color a:hover, +.ant-tag-has-color .anticon-close, +.ant-tag-has-color .anticon-close:hover { + color: #fff; +} +.ant-tag-checkable { + background-color: transparent; + border-color: transparent; +} +.ant-tag-checkable:not(.ant-tag-checkable-checked):hover { + color: @primary-color; +} +.ant-tag-checkable:active, +.ant-tag-checkable-checked { + color: #fff; +} +.ant-tag-checkable-checked { + background-color: @primary-color; +} +.ant-tag-checkable:active { + background-color: color(~`colorPalette("@{primary-color}", 7)`); +} +.ant-tag-pink { + color: #eb2f96; + background: #fff0f6; + border-color: #ffadd2; +} +.ant-tag-pink-inverse { + background: #eb2f96; + border-color: #eb2f96; + color: #fff; +} +.ant-tag-magenta { + color: #eb2f96; + background: #fff0f6; + border-color: #ffadd2; +} +.ant-tag-magenta-inverse { + background: #eb2f96; + border-color: #eb2f96; + color: #fff; +} +.ant-tag-red { + color: #f5222d; + background: #fff1f0; + border-color: #ffa39e; +} +.ant-tag-red-inverse { + background: #f5222d; + border-color: #f5222d; + color: #fff; +} +.ant-tag-volcano { + color: #fa541c; + background: #fff2e8; + border-color: #ffbb96; +} +.ant-tag-volcano-inverse { + background: #fa541c; + border-color: #fa541c; + color: #fff; +} +.ant-tag-orange { + color: #fa8c16; + background: #fff7e6; + border-color: #ffd591; +} +.ant-tag-orange-inverse { + background: #fa8c16; + border-color: #fa8c16; + color: #fff; +} +.ant-tag-yellow { + color: #fadb14; + background: #feffe6; + border-color: #fffb8f; +} +.ant-tag-yellow-inverse { + background: #fadb14; + border-color: #fadb14; + color: #fff; +} +.ant-tag-gold { + color: #faad14; + background: #fffbe6; + border-color: #ffe58f; +} +.ant-tag-gold-inverse { + background: #faad14; + border-color: #faad14; + color: #fff; +} +.ant-tag-cyan { + color: #13c2c2; + background: #e6fffb; + border-color: #87e8de; +} +.ant-tag-cyan-inverse { + background: #13c2c2; + border-color: #13c2c2; + color: #fff; +} +.ant-tag-lime { + color: #a0d911; + background: #fcffe6; + border-color: #eaff8f; +} +.ant-tag-lime-inverse { + background: #a0d911; + border-color: #a0d911; + color: #fff; +} +.ant-tag-green { + color: #52c41a; + background: #f6ffed; + border-color: #b7eb8f; +} +.ant-tag-green-inverse { + background: #52c41a; + border-color: #52c41a; + color: #fff; +} +.ant-tag-blue { + color: @primary-color; + background: color(~`colorPalette("@{primary-color}", 1)`); + border-color: color(~`colorPalette("@{primary-color}", 3)`); +} +.ant-tag-blue-inverse { + background: @primary-color; + border-color: @primary-color; + color: #fff; +} +.ant-tag-geekblue { + color: #2f54eb; + background: #f0f5ff; + border-color: #adc6ff; +} +.ant-tag-geekblue-inverse { + background: #2f54eb; + border-color: #2f54eb; + color: #fff; +} +.ant-tag-purple { + color: #722ed1; + background: #f9f0ff; + border-color: #d3adf7; +} +.ant-tag-purple-inverse { + background: #722ed1; + border-color: #722ed1; + color: #fff; +} +.ant-time-picker-panel { + color: rgba(0, 0, 0, 0.65); +} +.ant-time-picker-panel-inner { + background-color: #fff; + border-radius: 4px; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); + background-clip: padding-box; +} +.ant-time-picker-panel-input { + border: 0; +} +.ant-time-picker-panel-input::-moz-placeholder { + color: #bfbfbf; +} +.ant-time-picker-panel-input:-ms-input-placeholder { + color: #bfbfbf; +} +.ant-time-picker-panel-input::-webkit-input-placeholder { + color: #bfbfbf; +} +.ant-time-picker-panel-input-wrap { + border-bottom: 1px solid #e8e8e8; +} +.ant-time-picker-panel-input-invalid { + border-color: red; +} +.ant-time-picker-panel-clear-btn-icon svg { + color: rgba(0, 0, 0, 0.25); +} +.ant-time-picker-panel-clear-btn-icon svg:hover { + color: rgba(0, 0, 0, 0.45); +} +.ant-time-picker-panel-select { + border-left: 1px solid #e8e8e8; +} +.ant-time-picker-panel-select:first-child { + border-left: 0; +} +.ant-time-picker-panel-select:last-child { + border-right: 0; +} +.ant-time-picker-panel-select li:hover { + background: color(~`colorPalette("@{primary-color}", 1)`); +} +li.ant-time-picker-panel-select-option-selected { + background: #f5f5f5; +} +li.ant-time-picker-panel-select-option-selected:hover { + background: #f5f5f5; +} +li.ant-time-picker-panel-select-option-disabled { + color: rgba(0, 0, 0, 0.25); +} +li.ant-time-picker-panel-select-option-disabled:hover { + background: transparent; +} +.ant-time-picker-panel-addon { + border-top: 1px solid #e8e8e8; +} +.ant-time-picker { + color: rgba(0, 0, 0, 0.65); +} +.ant-time-picker-input { + color: rgba(0, 0, 0, 0.65); + background-color: #fff; + background-image: none; + border: 1px solid #d9d9d9; + border-radius: 4px; +} +.ant-time-picker-input::-moz-placeholder { + color: #bfbfbf; +} +.ant-time-picker-input:-ms-input-placeholder { + color: #bfbfbf; +} +.ant-time-picker-input::-webkit-input-placeholder { + color: #bfbfbf; +} +.ant-time-picker-input:hover { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + border-right-width: 1px !important; +} +.ant-time-picker-input:focus { + border-color: color(~`colorPalette("@{primary-color}", 5)`); + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); + border-right-width: 1px !important; +} +.ant-time-picker-input-disabled { + background-color: #f5f5f5; + color: rgba(0, 0, 0, 0.25); +} +.ant-time-picker-input-disabled:hover { + border-color: #e6d8d8; + border-right-width: 1px !important; +} +.ant-time-picker-input[disabled] { + background-color: #f5f5f5; + color: rgba(0, 0, 0, 0.25); +} +.ant-time-picker-input[disabled]:hover { + border-color: #e6d8d8; + border-right-width: 1px !important; +} +.ant-time-picker-icon { + color: rgba(0, 0, 0, 0.25); +} +.ant-time-picker-icon .ant-time-picker-clock-icon { + color: rgba(0, 0, 0, 0.25); +} +.ant-timeline { + color: rgba(0, 0, 0, 0.65); +} +.ant-timeline-item-tail { + border-left: 2px solid #e8e8e8; +} +.ant-timeline-item-head { + background-color: #fff; + border-radius: 100px; + border: 2px solid transparent; +} +.ant-timeline-item-head-blue { + border-color: @primary-color; + color: @primary-color; +} +.ant-timeline-item-head-red { + border-color: #f5222d; + color: #f5222d; +} +.ant-timeline-item-head-green { + border-color: #52c41a; + color: #52c41a; +} +.ant-timeline-item-head-custom { + border: 0; + border-radius: 0; +} +.ant-timeline.ant-timeline-pending .ant-timeline-item-last .ant-timeline-item-tail { + border-left: 2px dotted #e8e8e8; +} +.ant-timeline.ant-timeline-reverse .ant-timeline-item-pending .ant-timeline-item-tail { + border-left: 2px dotted #e8e8e8; +} +.ant-tooltip { + color: rgba(0, 0, 0, 0.65); +} +.ant-tooltip-inner { + color: #fff; + background-color: rgba(0, 0, 0, 0.75); + border-radius: 4px; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); +} +.ant-tooltip-arrow { + border-color: transparent; + border-style: solid; +} +.ant-tooltip-placement-top .ant-tooltip-arrow, +.ant-tooltip-placement-topLeft .ant-tooltip-arrow, +.ant-tooltip-placement-topRight .ant-tooltip-arrow { + border-width: 5px 5px 0; + border-top-color: rgba(0, 0, 0, 0.75); +} +.ant-tooltip-placement-right .ant-tooltip-arrow, +.ant-tooltip-placement-rightTop .ant-tooltip-arrow, +.ant-tooltip-placement-rightBottom .ant-tooltip-arrow { + border-width: 5px 5px 5px 0; + border-right-color: rgba(0, 0, 0, 0.75); +} +.ant-tooltip-placement-left .ant-tooltip-arrow, +.ant-tooltip-placement-leftTop .ant-tooltip-arrow, +.ant-tooltip-placement-leftBottom .ant-tooltip-arrow { + border-width: 5px 0 5px 5px; + border-left-color: rgba(0, 0, 0, 0.75); +} +.ant-tooltip-placement-bottom .ant-tooltip-arrow, +.ant-tooltip-placement-bottomLeft .ant-tooltip-arrow, +.ant-tooltip-placement-bottomRight .ant-tooltip-arrow { + border-width: 0 5px 5px; + border-bottom-color: rgba(0, 0, 0, 0.75); +} +.ant-transfer { + color: rgba(0, 0, 0, 0.65); +} +.ant-transfer-disabled .ant-transfer-list { + background: #f5f5f5; +} +.ant-transfer-list { + border: 1px solid #d9d9d9; + border-radius: 4px; +} +.ant-transfer-list-search-action { + color: rgba(0, 0, 0, 0.25); +} +.ant-transfer-list-search-action .anticon { + color: rgba(0, 0, 0, 0.25); +} +.ant-transfer-list-search-action .anticon:hover { + color: rgba(0, 0, 0, 0.45); +} +.ant-transfer-list-header { + border-radius: 4px 4px 0 0; + background: #fff; + color: rgba(0, 0, 0, 0.65); + border-bottom: 1px solid #e8e8e8; +} +.ant-transfer-list-content-item:not(.ant-transfer-list-content-item-disabled):hover { + background-color: color(~`colorPalette("@{primary-color}", 1)`); +} +.ant-transfer-list-content-item-disabled { + color: rgba(0, 0, 0, 0.25); +} +.ant-transfer-list-body-not-found { + color: rgba(0, 0, 0, 0.25); +} +.ant-transfer-list-footer { + border-top: 1px solid #e8e8e8; + border-radius: 0 0 4px 4px; +} +.ant-select-tree-checkbox { + color: rgba(0, 0, 0, 0.65); +} +.ant-select-tree-checkbox-wrapper:hover .ant-select-tree-checkbox-inner, +.ant-select-tree-checkbox:hover .ant-select-tree-checkbox-inner, +.ant-select-tree-checkbox-input:focus + .ant-select-tree-checkbox-inner { + border-color: @primary-color; +} +.ant-select-tree-checkbox-checked:after { + border-radius: 2px; + border: 1px solid @primary-color; +} +.ant-select-tree-checkbox-inner { + border: 1px solid #d9d9d9; + border-radius: 2px; + background-color: #fff; +} +.ant-select-tree-checkbox-inner:after { + border: 2px solid #fff; + border-top: 0; + border-left: 0; +} +.ant-select-tree-checkbox-indeterminate .ant-select-tree-checkbox-inner:after { + border: 0; + background-color: @primary-color; +} +.ant-select-tree-checkbox-indeterminate.ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-inner:after { + border-color: rgba(0, 0, 0, 0.25); +} +.ant-select-tree-checkbox-checked .ant-select-tree-checkbox-inner:after { + border: 2px solid #fff; + border-top: 0; + border-left: 0; +} +.ant-select-tree-checkbox-checked .ant-select-tree-checkbox-inner { + background-color: @primary-color; + border-color: @primary-color; +} +.ant-select-tree-checkbox-disabled.ant-select-tree-checkbox-checked .ant-select-tree-checkbox-inner:after { + border-color: rgba(0, 0, 0, 0.25); +} +.ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-inner { + border-color: #d9d9d9 !important; + background-color: #f5f5f5; +} +.ant-select-tree-checkbox-disabled .ant-select-tree-checkbox-inner:after { + border-color: #f5f5f5; +} +.ant-select-tree-checkbox-disabled + span { + color: rgba(0, 0, 0, 0.25); +} +.ant-select-tree-checkbox-wrapper { + color: rgba(0, 0, 0, 0.65); +} +.ant-select-tree-checkbox-group { + color: rgba(0, 0, 0, 0.65); +} +.ant-select-tree { + color: rgba(0, 0, 0, 0.65); +} +.ant-select-tree li .ant-select-tree-node-content-wrapper { + border-radius: 2px; + color: rgba(0, 0, 0, 0.65); +} +.ant-select-tree li .ant-select-tree-node-content-wrapper:hover { + background-color: color(~`colorPalette("@{primary-color}", 1)`); +} +.ant-select-tree li .ant-select-tree-node-content-wrapper.ant-select-tree-node-selected { + background-color: color(~`colorPalette("@{primary-color}", 2)`); +} +.ant-select-tree li span.ant-select-tree-switcher, +.ant-select-tree li span.ant-select-tree-iconEle { + border: 0 none; +} +.ant-select-tree li span.ant-select-icon_loading .ant-select-switcher-loading-icon { + color: @primary-color; +} +.ant-select-tree li span.ant-select-tree-switcher.ant-select-tree-switcher_open .ant-select-switcher-loading-icon, +.ant-select-tree li span.ant-select-tree-switcher.ant-select-tree-switcher_close .ant-select-switcher-loading-icon { + color: @primary-color; +} +li.ant-select-tree-treenode-disabled > span:not(.ant-select-tree-switcher), +li.ant-select-tree-treenode-disabled > .ant-select-tree-node-content-wrapper, +li.ant-select-tree-treenode-disabled > .ant-select-tree-node-content-wrapper span { + color: rgba(0, 0, 0, 0.25); +} +li.ant-select-tree-treenode-disabled > .ant-select-tree-node-content-wrapper:hover { + background: transparent; +} +.ant-select-tree-dropdown { + color: rgba(0, 0, 0, 0.65); +} +.ant-select-tree-dropdown .ant-select-dropdown-search .ant-select-search__field { + border: 1px solid #d9d9d9; + border-radius: 4px; +} +.ant-select-tree-dropdown .ant-select-not-found { + color: rgba(0, 0, 0, 0.25); +} +.ant-tree.ant-tree-directory > li span.ant-tree-node-content-wrapper, +.ant-tree.ant-tree-directory .ant-tree-child-tree > li span.ant-tree-node-content-wrapper { + border-radius: 0; +} +.ant-tree.ant-tree-directory > li span.ant-tree-node-content-wrapper:hover, +.ant-tree.ant-tree-directory .ant-tree-child-tree > li span.ant-tree-node-content-wrapper:hover { + background: transparent; +} +.ant-tree.ant-tree-directory > li span.ant-tree-node-content-wrapper:hover:before, +.ant-tree.ant-tree-directory .ant-tree-child-tree > li span.ant-tree-node-content-wrapper:hover:before { + background: color(~`colorPalette("@{primary-color}", 1)`); +} +.ant-tree.ant-tree-directory > li span.ant-tree-node-content-wrapper.ant-tree-node-selected, +.ant-tree.ant-tree-directory .ant-tree-child-tree > li span.ant-tree-node-content-wrapper.ant-tree-node-selected { + color: #fff; + background: transparent; +} +.ant-tree.ant-tree-directory > li.ant-tree-treenode-selected > span.ant-tree-switcher, +.ant-tree.ant-tree-directory .ant-tree-child-tree > li.ant-tree-treenode-selected > span.ant-tree-switcher { + color: #fff; +} +.ant-tree.ant-tree-directory > li.ant-tree-treenode-selected > span.ant-tree-checkbox .ant-tree-checkbox-inner, +.ant-tree.ant-tree-directory .ant-tree-child-tree > li.ant-tree-treenode-selected > span.ant-tree-checkbox .ant-tree-checkbox-inner { + border-color: @primary-color; +} +.ant-tree.ant-tree-directory > li.ant-tree-treenode-selected > span.ant-tree-checkbox.ant-tree-checkbox-checked:after, +.ant-tree.ant-tree-directory .ant-tree-child-tree > li.ant-tree-treenode-selected > span.ant-tree-checkbox.ant-tree-checkbox-checked:after { + border-color: #fff; +} +.ant-tree.ant-tree-directory > li.ant-tree-treenode-selected > span.ant-tree-checkbox.ant-tree-checkbox-checked .ant-tree-checkbox-inner, +.ant-tree.ant-tree-directory .ant-tree-child-tree > li.ant-tree-treenode-selected > span.ant-tree-checkbox.ant-tree-checkbox-checked .ant-tree-checkbox-inner { + background: #fff; +} +.ant-tree.ant-tree-directory > li.ant-tree-treenode-selected > span.ant-tree-checkbox.ant-tree-checkbox-checked .ant-tree-checkbox-inner:after, +.ant-tree.ant-tree-directory .ant-tree-child-tree > li.ant-tree-treenode-selected > span.ant-tree-checkbox.ant-tree-checkbox-checked .ant-tree-checkbox-inner:after { + border-color: @primary-color; +} +.ant-tree.ant-tree-directory > li.ant-tree-treenode-selected > span.ant-tree-node-content-wrapper:before, +.ant-tree.ant-tree-directory .ant-tree-child-tree > li.ant-tree-treenode-selected > span.ant-tree-node-content-wrapper:before { + background: @primary-color; +} +.ant-tree-checkbox { + color: rgba(0, 0, 0, 0.65); +} +.ant-tree-checkbox-wrapper:hover .ant-tree-checkbox-inner, +.ant-tree-checkbox:hover .ant-tree-checkbox-inner, +.ant-tree-checkbox-input:focus + .ant-tree-checkbox-inner { + border-color: @primary-color; +} +.ant-tree-checkbox-checked:after { + border-radius: 2px; + border: 1px solid @primary-color; +} +.ant-tree-checkbox-inner { + border: 1px solid #d9d9d9; + border-radius: 2px; + background-color: #fff; +} +.ant-tree-checkbox-inner:after { + border: 2px solid #fff; + border-top: 0; + border-left: 0; +} +.ant-tree-checkbox-indeterminate .ant-tree-checkbox-inner:after { + border: 0; + background-color: @primary-color; +} +.ant-tree-checkbox-indeterminate.ant-tree-checkbox-disabled .ant-tree-checkbox-inner:after { + border-color: rgba(0, 0, 0, 0.25); +} +.ant-tree-checkbox-checked .ant-tree-checkbox-inner:after { + border: 2px solid #fff; + border-top: 0; + border-left: 0; +} +.ant-tree-checkbox-checked .ant-tree-checkbox-inner { + background-color: @primary-color; + border-color: @primary-color; +} +.ant-tree-checkbox-disabled.ant-tree-checkbox-checked .ant-tree-checkbox-inner:after { + border-color: rgba(0, 0, 0, 0.25); +} +.ant-tree-checkbox-disabled .ant-tree-checkbox-inner { + border-color: #d9d9d9 !important; + background-color: #f5f5f5; +} +.ant-tree-checkbox-disabled .ant-tree-checkbox-inner:after { + border-color: #f5f5f5; +} +.ant-tree-checkbox-disabled + span { + color: rgba(0, 0, 0, 0.25); +} +.ant-tree-checkbox-wrapper { + color: rgba(0, 0, 0, 0.65); +} +.ant-tree-checkbox-group { + color: rgba(0, 0, 0, 0.65); +} +.ant-tree { + color: rgba(0, 0, 0, 0.65); +} +.ant-tree li span[draggable], +.ant-tree li span[draggable="true"] { + border-top: 2px transparent solid; + border-bottom: 2px transparent solid; +} +.ant-tree li.drag-over > span[draggable] { + background-color: @primary-color; + color: white; +} +.ant-tree li.drag-over-gap-top > span[draggable] { + border-top-color: @primary-color; +} +.ant-tree li.drag-over-gap-bottom > span[draggable] { + border-bottom-color: @primary-color; +} +.ant-tree li.filter-node > span { + color: #f5222d !important; +} +.ant-tree li.ant-tree-treenode-loading span.ant-tree-switcher.ant-tree-switcher_open .ant-tree-switcher-loading-icon, +.ant-tree li.ant-tree-treenode-loading span.ant-tree-switcher.ant-tree-switcher_close .ant-tree-switcher-loading-icon { + color: @primary-color; +} +.ant-tree li .ant-tree-node-content-wrapper { + border-radius: 2px; + color: rgba(0, 0, 0, 0.65); +} +.ant-tree li .ant-tree-node-content-wrapper:hover { + background-color: color(~`colorPalette("@{primary-color}", 1)`); +} +.ant-tree li .ant-tree-node-content-wrapper.ant-tree-node-selected { + background-color: color(~`colorPalette("@{primary-color}", 2)`); +} +.ant-tree li span.ant-tree-switcher, +.ant-tree li span.ant-tree-iconEle { + border: 0 none; +} +li.ant-tree-treenode-disabled > span:not(.ant-tree-switcher), +li.ant-tree-treenode-disabled > .ant-tree-node-content-wrapper, +li.ant-tree-treenode-disabled > .ant-tree-node-content-wrapper span { + color: rgba(0, 0, 0, 0.25); +} +li.ant-tree-treenode-disabled > .ant-tree-node-content-wrapper:hover { + background: transparent; +} +.ant-tree.ant-tree-show-line li span.ant-tree-switcher { + background: #fff; + color: rgba(0, 0, 0, 0.45); +} +.ant-tree.ant-tree-show-line li:not(:last-child):before { + border-left: 1px solid #d9d9d9; +} +.ant-upload { + color: rgba(0, 0, 0, 0.65); +} +.ant-upload.ant-upload-select-picture-card { + border: 1px dashed #d9d9d9; + border-radius: 4px; + background-color: #fafafa; +} +.ant-upload.ant-upload-select-picture-card:hover { + border-color: @primary-color; +} +.ant-upload.ant-upload-drag { + border: 1px dashed #d9d9d9; + border-radius: 4px; + background: #fafafa; +} +.ant-upload.ant-upload-drag.ant-upload-drag-hover:not(.ant-upload-disabled) { + border: 2px dashed color(~`colorPalette("@{primary-color}", 5)`); +} +.ant-upload.ant-upload-drag:not(.ant-upload-disabled):hover { + border-color: color(~`colorPalette("@{primary-color}", 5)`); +} +.ant-upload.ant-upload-drag p.ant-upload-drag-icon .anticon { + color: color(~`colorPalette("@{primary-color}", 5)`); +} +.ant-upload.ant-upload-drag p.ant-upload-text { + color: rgba(0, 0, 0, 0.85); +} +.ant-upload.ant-upload-drag p.ant-upload-hint { + color: rgba(0, 0, 0, 0.45); +} +.ant-upload.ant-upload-drag .anticon-plus { + color: rgba(0, 0, 0, 0.25); +} +.ant-upload.ant-upload-drag .anticon-plus:hover { + color: rgba(0, 0, 0, 0.45); +} +.ant-upload.ant-upload-drag:hover .anticon-plus { + color: rgba(0, 0, 0, 0.45); +} +.ant-upload-list { + color: rgba(0, 0, 0, 0.65); +} +.ant-upload-list-item-info .anticon-loading, +.ant-upload-list-item-info .anticon-paper-clip { + color: rgba(0, 0, 0, 0.45); +} +.ant-upload-list-item .anticon-close { + color: rgba(0, 0, 0, 0.45); +} +.ant-upload-list-item .anticon-close:hover { + color: rgba(0, 0, 0, 0.65); +} +.ant-upload-list-item:hover .ant-upload-list-item-info { + background-color: color(~`colorPalette("@{primary-color}", 1)`); +} +.ant-upload-list-item-error, +.ant-upload-list-item-error .anticon-paper-clip, +.ant-upload-list-item-error .ant-upload-list-item-name { + color: #f5222d; +} +.ant-upload-list-item-error .anticon-close { + color: #f5222d !important; +} +.ant-upload-list-picture .ant-upload-list-item, +.ant-upload-list-picture-card .ant-upload-list-item { + border-radius: 4px; + border: 1px solid #d9d9d9; +} +.ant-upload-list-picture .ant-upload-list-item:hover, +.ant-upload-list-picture-card .ant-upload-list-item:hover { + background: transparent; +} +.ant-upload-list-picture .ant-upload-list-item-error, +.ant-upload-list-picture-card .ant-upload-list-item-error { + border-color: #f5222d; +} +.ant-upload-list-picture .ant-upload-list-item:hover .ant-upload-list-item-info, +.ant-upload-list-picture-card .ant-upload-list-item:hover .ant-upload-list-item-info { + background: transparent; +} +.ant-upload-list-picture .ant-upload-list-item-uploading, +.ant-upload-list-picture-card .ant-upload-list-item-uploading { + border-style: dashed; +} +.ant-upload-list-picture .ant-upload-list-item-icon, +.ant-upload-list-picture-card .ant-upload-list-item-icon { + color: rgba(0, 0, 0, 0.25); +} +.ant-upload-list-picture .ant-upload-list-item-thumbnail.anticon:before, +.ant-upload-list-picture-card .ant-upload-list-item-thumbnail.anticon:before { + color: rgba(0, 0, 0, 0.45); +} +.ant-upload-list-picture-card .ant-upload-list-item-info:before { + background-color: rgba(0, 0, 0, 0.5); +} +.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-eye-o, +.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-delete { + color: rgba(255, 255, 255, 0.85); +} +.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-eye-o:hover, +.ant-upload-list-picture-card .ant-upload-list-item-actions .anticon-delete:hover { + color: #fff; +} +.ant-upload-list-picture-card .ant-upload-list-item-uploading.ant-upload-list-item { + background-color: #fafafa; +} +.ant-upload-list-picture-card .ant-upload-list-item-uploading-text { + color: rgba(0, 0, 0, 0.45); +} +.ant-upload-list .ant-upload-success-icon { + color: #52c41a; +} + +.drawer .drawer-content { + background: #001529; +} + +.ant-list-item-meta .taobao { + color: #ff4000; + border-radius: 4px; +} +.ant-list-item-meta .dingding { + background-color: #2eabff; + color: #fff; + border-radius: 4px; +} +.ant-list-item-meta .alipay { + color: #2eabff; + border-radius: 4px; +} +font.strong { + color: #52c41a; +} +font.medium { + color: #faad14; +} +font.weak { + color: #f5222d; +} + +// 侧边导航栏首页颜色跟随主题变化 +.ant-menu.ant-menu-root > .ant-menu-item:first-child.ant-menu-item-selected { + & > a, + & > a:hover { + color: @primary-color; + } +} + +// begin -------- JAreaLinkage 三级联动样式 -------------- +.cascader-menu-list .cascader-menu-option.hover, +.cascader-menu-list .cascader-menu-option:hover { + background-color: color(~`colorPalette("@{primary-color}", 1)`); +} + +.area-selectable-list .area-select-option.hover { + background-color: color(~`colorPalette("@{primary-color}", 1)`); +} + +.area-select:hover { + border-color: @primary-color; +} + +.area-select:active { + box-shadow: 0 0 0 2px color(~`colorPalette("@{primary-color}", 1)`); +} +// end -------- JAreaLinkage 三级联动样式 -------------- + +// TESTA-521 +.ant-menu-submenu-selected { + color: @primary-color; +} + +// TESTA-521 +.tab-layout-tabs.ant-tabs.ant-tabs-card > .ant-tabs-bar .ant-tabs-tab-active { + border-color: @primary-color !important; +} \ No newline at end of file diff --git a/public/goright.png b/public/goright.png new file mode 100644 index 0000000000000000000000000000000000000000..13c4b54fd48a01288e9e23084b1adda9a6ffca1e GIT binary patch literal 1105 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!63?wyl`GbKJOS+@4BLl<6e(pbstU$g(vPY0F z14ES>14Ba#1H&(%P{RubhEf9thF1v;3|2E37{m+a>Z9h3PvC*V+MOep* z;I?H!$xWsW3%%1lTven((2w{X;JhR(}8@Fnhv>$?dV(<)7XF6)`4xySp%S zu*!M>IqW5#zOL-ISfqgLt)VTKfYek^7sn8Z%duyV3LOd%aJkqxorU9F-od+f?|%Jn z-{!g3Gw5jKmq&S059WI&2eUWNJW(kr&aC{+>Eb~Nwnhu@r(NC$9()Vg8MXJ~m!uC{ zZ^bOX{hI#|L*qja^Laka0<+HYc0c7h^tv~3ceg`H{RLTn!-k4SXJXfFuNI1TnN(#H zpDEbvV)WiWY?47l$EVN&!w6H$Qii%Y+R_iRckE3DI#9L5HKHUXu_VKdAd7@Arc8Ce+{Xd75q85mfL?Kecxkei>9nN|tXV4!PYqHAOpVqgGN2SgAJ z3qq}9ff{^4HWcTlm6RtIr80QtCZ?zQCZ=a5XDgWN8R!}6nkfVtnkiIRn8ll!C?ITC z$S5f(u+rBrFE7{21Ze_dpeDWiqV&5rm-+z>mH-(Xl2MwQWM$=&pIn-onpa|F6#!IP z%wV|u|89Mt8gV2wV5_aHJW?~$GfEf?&1Bcd z%-qzH%7Rn|u$%M?^3v@$g@IgyY?E&YP!)rrk-3qPp`nq10jDPKd!P~lBy)l@t5O+E zEX|$L%HlYIa?wa~p+TMuX_+~xK;P?U!k{QWzeK+{vjoi1OHC}U%uLSD)5}XO v(N9jv)6L9HM+he8=@%Cz>l>PyfUtq39?+GM7mPmxtzqzV^>bP0l+XkKoCT9z literal 0 HcmV?d00001 diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..d12a0d4 --- /dev/null +++ b/public/index.html @@ -0,0 +1,261 @@ + + + + + + + + JeroBoot平台 + + + + + + + + +
    +
    +
    +
    +
    +
    正在加载,请耐心等待 + +
    +
    +
    + + + + \ No newline at end of file diff --git a/public/logo.png b/public/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..1c356e3a678070b440e6cffc22455b35358543ad GIT binary patch literal 8929 zcmV<7A|Bm|P)z@;j(q!3lK=n!AY({UO#lFTB>(_`g8%^e{{R4h=>PzA zFaQARU;qF*m;eA5Z<1fdMgRaJS4l)cRCwC#oqK#!<^9K>Tu+m1k5W<(=>IeZJ54`+Y=SfP}<_#OM|v zA(W61N=S()5%QIgkX1rLRtX7NB_t$dm5`8C;z>pwx(5(gC4*jX2z9)*sJR3H0JNqh zdtkp2Hs!wSOj-Z{z;L~xv?(-h4dul3T(?hYgZ+w{N)37(0{{S>ao!P)nRk?4dHCQ$ zb|1YsaU_{|C2>!Kvif{k- ze{@FVD92=;m+v)^M~LfTb4_*y;Ymh}(hvUITmnE-=}>Axd#I7ocb?XfZ&8Q( zjn;J8_spN=TLyi1&gAn&t<3LfDWqTc45a%a$r>eMI@wkT0FK!eOgFHomG~Ea8T3u1IA+o^pRe8!`f3}>!+ojv zmRZwYVAKIHnpECE|1OQWtTCx55_oy)0m4}&<#T3Bp3jfi-{y)l#q}RN=OJLB!m(YLJ0{8p@f7`LP97Z zA+bZrrbM>{i4&9#T!n545+^8G)XeEkNJuPE!ZCyr5=SU8<;fu-MKFUyC?TO>01`YX zHI6)MGjhM-P-B@OQBvCGA0{iJ$ZB(>_^LBcC}$c_aiTMlD7mCICH&nw z;-mVCudj~XU$-mFn&A|3RG4{^UDXd{D48`Hv&>1(k@LK&)Qd=x)gc5sY_5SwKrQF1Qzg)^uSK@#@qJVfd_mzEW{Z zUMKaFP-YH7mr?iqWlRHGe}*u8RzItxH)Qs~-(xY+q%$)2M-ht88n6b(zPTk5UkcS3 zNdPEO@^=D}_?1EL5!^yM?Fkd@1CipRmSQRhDiog;StTe%B}NM;u7vWHkPu3VEUMq0 zaN>M^D76-$hX{vCo5UWWowHwD>HK7&G$>6Z)m8xjfZDQXKNUaH8-y2>@k1%68$DQV zrt*LNh5wP7YU00C4wzZ<$KL<|z@-W2rVuXnhf6d2$P}MD-=()o)inSBkUmgZ2UqAa zAli*E;6g7w`qsU^KVS0|@n55^y&!3H$~nEks4Hx*+J+Q-*y(0)W^J;PiC($~FRrSA-HTAW<4jd**3+kW|*Aa|4gf zJ}!(>0W`qz1d_%)>x9}enD)%m^vkm<>(

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

    + +
    + + + + \ No newline at end of file diff --git a/src/api/GroupRequest.js b/src/api/GroupRequest.js new file mode 100644 index 0000000..2688138 --- /dev/null +++ b/src/api/GroupRequest.js @@ -0,0 +1,30 @@ +import Vue from 'vue' + +/** + * 将一个请求分组 + * + * @param getPromise 传入一个可以获取到Promise对象的方法 + * @param groupId 分组ID,如果不传或者为空则不分组 + * @param expire 过期时间,默认 半分钟 + */ +export function httpGroupRequest(getPromise, groupId, expire = 1000 * 30) { + if (groupId == null || groupId === '') { + console.log("--------popup----------getFrom DB-------with---no--groupId ") + return getPromise() + } + + if (Vue.ls.get(groupId)) { + console.log("---------popup--------getFrom Cache--------groupId = " + groupId) + return Promise.resolve(Vue.ls.get(groupId)); + } else { + console.log("--------popup----------getFrom DB---------groupId = " + groupId) + } + + // 还没有发出请求,就发出第一次的请求 + return getPromise().then(res => { + Vue.ls.set(groupId, res, expire); + return Promise.resolve(res); + }) +} + + diff --git a/src/api/api.js b/src/api/api.js new file mode 100644 index 0000000..cd96141 --- /dev/null +++ b/src/api/api.js @@ -0,0 +1,160 @@ +import { getAction, deleteAction, putAction, postAction, httpAction } from '@/api/manage' +import Vue from 'vue' +import {UI_CACHE_DB_DICT_DATA } from "@/store/mutation-types" + +//角色管理 +const addRole = (params)=>postAction("/sys/role/add",params); +const editRole = (params)=>putAction("/sys/role/edit",params); +const checkRoleCode = (params)=>getAction("/sys/role/checkRoleCode",params); +const queryall = (params)=>getAction("/sys/role/queryall",params); + +//用户管理 +const addUser = (params)=>postAction("/sys/user/add",params); +const editUser = (params)=>putAction("/sys/user/edit",params); +const queryUserRole = (params)=>getAction("/sys/user/queryUserRole",params); +const getUserList = (params)=>getAction("/sys/user/page",params); +const frozenBatch = (params)=>putAction("/sys/user/frozenBatch",params); +//验证用户是否存在 +const checkOnlyUser = (params)=>getAction("/sys/user/checkOnlyUser",params); +//改变密码 +const changePassword = (params)=>putAction("/sys/user/changePassword",params); + +//权限管理 +const addPermission= (params)=>postAction("/sys/permission/add",params); +const editPermission= (params)=>putAction("/sys/permission/edit",params); +const getPermissionList = (params)=>getAction("/sys/permission/page",params); +const getSystemMenuList = (params)=>getAction("/sys/permission/getSystemMenuList",params); +const getSystemSubmenu = (params)=>getAction("/sys/permission/getSystemSubmenu",params); +const getSystemSubmenuBatch = (params) => getAction('/sys/permission/getSystemSubmenuBatch', params) +const queryTreeList = (params)=>getAction("/sys/permission/queryTreeList",params); +const queryTreeListForRole = (params)=>getAction("/sys/role/queryTreeList",params); +const queryListAsync = (params)=>getAction("/sys/permission/queryListAsync",params); +const queryRolePermission = (params)=>getAction("/sys/permission/queryRolePermission",params); +const saveRolePermission = (params)=>postAction("/sys/permission/saveRolePermission",params); +const queryPermissionsByUser = ()=>getAction("/sys/permission/getUserPermissionByToken"); +const loadAllRoleIds = (params)=>getAction("/sys/permission/loadAllRoleIds",params); +const getPermissionRuleList = (params)=>getAction("/sys/permission/getPermRuleListByPermId",params); +const queryPermissionRule = (params)=>getAction("/sys/permission/queryPermissionRule",params); + +// 部门管理 +const queryDepartTreeList = (params)=>getAction("/sys/sysDepart/queryTreeList",params); +const queryIdTree = (params)=>getAction("/sys/sysDepart/queryIdTree",params); +const queryParentName = (params)=>getAction("/sys/sysDepart/queryParentName",params); +const searchByKeywords = (params)=>getAction("/sys/sysDepart/searchBy",params); +const deleteByDepartId = (params)=>deleteAction("/sys/sysDepart/delete",params); + +//二级部门管理 +const queryDepartPermission = (params)=>getAction("/sys/permission/queryDepartPermission",params); +const saveDepartPermission = (params)=>postAction("/sys/permission/saveDepartPermission",params); +const queryTreeListForDeptRole = (params)=>getAction("/sys/sysDepartPermission/queryTreeListForDeptRole",params); +const queryDeptRolePermission = (params)=>getAction("/sys/sysDepartPermission/queryDeptRolePermission",params); +const saveDeptRolePermission = (params)=>postAction("/sys/sysDepartPermission/saveDeptRolePermission",params); +const queryMyDepartTreeList = (params)=>getAction("/sys/sysDepart/queryMyDeptTreeList",params); + +//日志管理 +//const getLogList = (params)=>getAction("/sys/log/page",params); +const deleteLog = (params)=>deleteAction("/sys/log/delete",params); +const deleteLogList = (params)=>deleteAction("/sys/log/deleteBatch",params); + +//数据字典 +const addDict = (params)=>postAction("/sys/dict/add",params); +const editDict = (params)=>putAction("/sys/dict/edit",params); +const treeList = (params)=>getAction("/sys/dict/treeList",params); +const addDictItem = (params)=>postAction("/sys/dictItem/add",params); +const editDictItem = (params)=>putAction("/sys/dictItem/edit",params); + +//字典标签专用(通过code获取字典数组) +export const ajaxGetDictItems = (code, params)=>getAction(`/sys/dict/getDictItems/${code}`,params); +//从缓存中获取字典配置 +function getDictItemsFromCache(dictCode) { + if (Vue.ls.get(UI_CACHE_DB_DICT_DATA) && Vue.ls.get(UI_CACHE_DB_DICT_DATA)[dictCode]) { + let dictItems = Vue.ls.get(UI_CACHE_DB_DICT_DATA)[dictCode]; + return dictItems; + } +} + +//系统通告 +const doReleaseData = (params)=>getAction("/sys/annountCement/doReleaseData",params); +const doReovkeData = (params)=>getAction("/sys/annountCement/doReovkeData",params); +//获取系统访问量 +const getLoginfo = (params)=>getAction("/sys/loginfo",params); +const getVisitInfo = (params)=>getAction("/sys/visitInfo",params); + +// 根据部门主键查询用户信息 +const queryUserByDepId = (params)=>getAction("/sys/user/queryUserByDepId",params); + +// 重复校验 +const duplicateCheck = (params)=>getAction("/sys/duplicate/check",params); +// 加载分类字典 +const loadCategoryData = (params)=>getAction("/sys/category/loadAllData",params); +const checkRuleByCode = (params) => getAction('/sys/checkRule/checkByCode', params) +//加载我的通告信息 +const getUserNoticeInfo= (params)=>getAction("/sys/sysAnnouncementSend/getMyAnnouncementSend",params); +const getTransitURL = url => `/sys/common/transitRESTful?url=${encodeURIComponent(url)}` +// 中转HTTP请求 +export const transitRESTful = { + get: (url, parameter) => getAction(getTransitURL(url), parameter), + post: (url, parameter) => postAction(getTransitURL(url), parameter), + put: (url, parameter) => putAction(getTransitURL(url), parameter), + http: (url, parameter) => httpAction(getTransitURL(url), parameter), +} + +export { + addRole, + editRole, + checkRoleCode, + addUser, + editUser, + queryUserRole, + getUserList, + queryall, + frozenBatch, + checkOnlyUser, + changePassword, + getPermissionList, + addPermission, + editPermission, + queryTreeList, + queryListAsync, + queryRolePermission, + saveRolePermission, + queryPermissionsByUser, + loadAllRoleIds, + getPermissionRuleList, + queryPermissionRule, + queryDepartTreeList, + queryIdTree, + queryParentName, + searchByKeywords, + deleteByDepartId, + deleteLog, + deleteLogList, + addDict, + editDict, + treeList, + addDictItem, + editDictItem, + doReleaseData, + doReovkeData, + getLoginfo, + getVisitInfo, + queryUserByDepId, + duplicateCheck, + queryTreeListForRole, + getSystemMenuList, + getSystemSubmenu, + getSystemSubmenuBatch, + loadCategoryData, + checkRuleByCode, + queryDepartPermission, + saveDepartPermission, + queryTreeListForDeptRole, + queryDeptRolePermission, + saveDeptRolePermission, + queryMyDepartTreeList, + getUserNoticeInfo, + getDictItemsFromCache +} + + + diff --git a/src/api/index.js b/src/api/index.js new file mode 100644 index 0000000..35367e2 --- /dev/null +++ b/src/api/index.js @@ -0,0 +1,10 @@ +const api = { + Login: '/sys/login', + Logout: '/sys/logout', + ForgePassword: '/auth/forge-password', + Register: '/auth/register', + SendSms: '/account/sms', + // get my info + UserInfo: '/user/info' +} +export default api \ No newline at end of file diff --git a/src/api/login.js b/src/api/login.js new file mode 100644 index 0000000..1d565f5 --- /dev/null +++ b/src/api/login.js @@ -0,0 +1,89 @@ +import api from './index' +import { axios } from '@/utils/request' + +/** + * login func + * parameter: { + * username: '', + * password: '', + * remember_me: true, + * captcha: '12345' + * } + * @param parameter + * @returns {*} + */ +export function login(parameter) { + return axios({ + url: '/sys/login', + method: 'post', + data: parameter + }) +} + +export function phoneLogin(parameter) { + return axios({ + url: '/sys/phoneLogin', + method: 'post', + data: parameter + }) +} + +export function getSmsCaptcha(parameter) { + return axios({ + url: api.SendSms, + method: 'post', + data: parameter + }) +} + +// export function getInfo() { +// return axios({ +// url: '/api/user/info', +// method: 'get', +// headers: { +// 'Content-Type': 'application/json;charset=UTF-8' +// } +// }) +// } + +export function logout(logoutToken) { + return axios({ + url: '/sys/logout', + method: 'post', + headers: { + 'Content-Type': 'application/json;charset=UTF-8', + 'X-Access-Token': logoutToken + } + }) +} + +/** + * 第三方登录 + * @param token + * @param thirdType + * @returns {*} + */ +export function thirdLogin(token,thirdType) { + return axios({ + url: `/sys/thirdLogin/getLoginUser/${token}/${thirdType}`, + method: 'get', + headers: { + 'Content-Type': 'application/json;charset=UTF-8' + } + }) +} + +/** + * 获取RSA公钥 + * @returns {*} + */ +export function getRSAPublicKey() { + return axios({ + url: `/sys/getRSAPublicKey`, + method: 'get', + timeout: 5000, + headers: { + 'Content-Type': 'application/json;charset=UTF-8' + } + }) +} \ No newline at end of file diff --git a/src/api/manage.js b/src/api/manage.js new file mode 100644 index 0000000..ea0fd7f --- /dev/null +++ b/src/api/manage.js @@ -0,0 +1,225 @@ +import Vue from 'vue' +import { axios } from '@/utils/request' + +const api = { + user: '/mock/api/user', + role: '/mock/api/role', + service: '/mock/api/service', + permission: '/mock/api/permission', + permissionNoPager: '/mock/api/permission/no-pager' +} + +export default api + +//post +export function postAction(url,parameter) { + return axios({ + url: url, + method:'post' , + data: parameter + }) +} + +//post method= {post | put} +export function httpAction(url,parameter,method) { + return axios({ + url: url, + method:method , + data: parameter + }) +} + +//put +export function putAction(url,parameter) { + return axios({ + url: url, + method:'put', + data: parameter + }) +} + +//get +export function getAction(url,parameter) { + return axios({ + url: url, + method: 'get', + params: parameter + }) +} + +//deleteAction +export function deleteAction(url,parameter) { + return axios({ + url: url, + method: 'delete', + params: parameter + }) +} + +export function getUserList(parameter) { + return axios({ + url: api.user, + method: 'get', + params: parameter + }) +} + +export function getRoleList(parameter) { + return axios({ + url: api.role, + method: 'get', + params: parameter + }) +} + +export function getServiceList(parameter) { + return axios({ + url: api.service, + method: 'get', + params: parameter + }) +} + +export function getPermissions(parameter) { + return axios({ + url: api.permissionNoPager, + method: 'get', + params: parameter + }) +} + +// id == 0 add post +// id != 0 update put +export function saveService(parameter) { + return axios({ + url: api.service, + method: parameter.id == 0 ? 'post' : 'put', + data: parameter + }) +} + +/** + * 下载文件 用于excel导出,get请求 + * @param url + * @param parameter + * @returns {*} + */ +export function downFile(url,parameter){ + return axios({ + url: url, + params: parameter, + method:'get' , + responseType: 'blob' + }) +} + +/** + * 通过A标签下载文件的通用方法 + * @param data--接口返回的数据 + * @param fileName --下载文件的名称 + */ +export function downloadFileByA(data, fileName) { + // 当没有返回数据或者返回错误信息的时候,对数据进行解析后提示 + if (!data || data.type === 'application/json') { + const reader = new FileReader() + reader.readAsText(data) + // 处理load事件。该事件在读取操作完成时触发 + reader.onload = e => { + // 解析返回的值 + const res = JSON.parse(e.target.result) + // 异常信息抛出 + if (!res.success) { + this.$message.warning(res.message || '文件下载失败') + } + } + return + } + // if (!data || data.size === 0) { + // Vue.prototype['$message'].warning('文件下载失败') + // return + // } + if (typeof window.navigator.msSaveBlob !== 'undefined') { + window.navigator.msSaveBlob(new Blob([data]), fileName) + } else { + let url = window.URL.createObjectURL(new Blob([data])) + let link = document.createElement('a') + link.style.display = 'none' + link.href = url + link.setAttribute('download', fileName) + document.body.appendChild(link) + link.click() + document.body.removeChild(link) //下载完成移除元素 + window.URL.revokeObjectURL(url) //释放掉blob对象 + } +} + +/** + * get请求下载文件 + * @param url 文件路径 + * @param fileName 文件名 + * @param parameter + * @returns {*} + */ +export function downloadFile(url, fileName, parameter) { + return downFile(url, parameter).then((data) => { + // 调用a标签下载文件的方法 + downloadFileByA(data, fileName) + }) +} + +/** + * post下载文件 + * @param url 文件路径 + * @param fileName 文件名 + * @param parameter + * @returns {*} + */ +export function downloadPostFile(url, fileName, parameter) { + return axios({ + url: url, + data: parameter, + method: 'post', + responseType: 'blob' + }).then((data) => { + // 调用a标签下载文件的方法 + downloadFileByA(data, fileName) + }) +} + +/** + * 文件上传 用于富文本上传图片 + * @param url + * @param parameter + * @returns {*} + */ +export function uploadAction(url,parameter){ + return axios({ + url: url, + data: parameter, + method:'post' , + headers: { + 'Content-Type': 'multipart/form-data', // 文件上传 + }, + }) +} + +/** + * 获取文件服务访问路径 + * @param avatar + * @param subStr + * @returns {*} + */ +export function getFileAccessHttpUrl(avatar,subStr) { + if(!subStr) subStr = 'http' + try { + if(avatar && avatar.startsWith(subStr)){ + return avatar; + }else{ + if(avatar && avatar.length>0 && avatar.indexOf('[')==-1){ + return window._CONFIG['staticDomainURL'] + "/" + avatar; + } + } + }catch(err){ + return; + } +} diff --git a/src/assets/background.svg b/src/assets/background.svg new file mode 100644 index 0000000..89c2597 --- /dev/null +++ b/src/assets/background.svg @@ -0,0 +1,69 @@ + + + + Group 21 + Created with Sketch. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/src/assets/checkcode.png b/src/assets/checkcode.png new file mode 100644 index 0000000000000000000000000000000000000000..844fa70c56861efed68553088cfa059cd2a3a612 GIT binary patch literal 2236 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
    ^vqb!!kKGX(sK#D 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 N002ovPDHLkV1l?AYCr%0 literal 0 HcmV?d00001 diff --git a/src/assets/home.png b/src/assets/home.png new file mode 100644 index 0000000000000000000000000000000000000000..fce9a27c1c1244b4675787d8658d01715c446133 GIT binary patch literal 944298 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åKa7`?sq>Kx_(5ZG*z4= zD(MgjQLtLoL}W>^9n0cG3)S5-l2;06huk=a6fH(v@=b+4EKAw!H2n_$GGdHjlKEvM z3trDyswk2#Wu7M%VbKoCT@ORs!+=;I6$s*dR7j})P5p3bgldfk)T*UMBx>9O#gqJE zw>ltpIBer{lyJEmYvcylIkdCBH3xS1rIOxB2nXT}j?2R!@F@TS|8FXn9J9BiM{-~AYA&gMGI zQ~CJ)_x+l<&dYl|o*#O1QO)nSU%75ZF%$!Az+^+=K^S}OMYW{3{DqG^SR8p72qoDX#_0!K4$t4SUZ8`k9Yq+XNgidMEgFTK`0yxik@Xw@$il zW*2};oW>mLB!Q>;)UMT#T_+j%A&g3NxSoPgIERjE4azji)a5wjd-*zsgv|{ul5x-J zK|gC2QtIM7Zm_`OI%bV`(4Tew3OO$PEG?@C39lH6F zeywyQ6cgT-ON3QRW1N1QfGa%4)vaYGdB0x`>$_e^d|KEU_DW;?X7bbJ3`u==@=KZR zpF&ZFLPpOQ-|PK*1StF+tCdnjc0!#raq2@qf<3JqPl_q!`OpZ9mR6pD3N|lw& z`eTQMTVKf(T*>6<|L&5>6kgk*Rd0l5 zxEOb%9rl9{AlW1KBHp9kqs?#$5)Wt}!XVyjSF&GCN>Rih*q3^_o{%Xq;XHYk+KbcA z6hAd{HB97#k{w~!-6HTJ!huS{$SbTBRg;tvhGaicO_Tw6#T`nqi8fZh zhh}nu+XL}=pNO4oSzI%BQcj_-6&qru+dCCg$F7r|9txPap)y;&vmm<5ELz* zMO+!wQqgi|BdH<&O+nU+VC{JA@4LQUQ$AwSFRy_2K`%0d(c~rXoWlH|#Qho2s*H-aZNR|H9ivVWT z^ZHG^tZ7WQ!0TfE9c2qaUqeHPIr@FlD`Ff>3`6pgbD0OAMs}ZW6k?;YBv2Df9{x(X z6lV5BHj|9FNYe$5Do>XkmY%vrO>iM4tf~Spn=EChyn}-hXTb7U=kKgusRXF%7HsZB zcK@J}ey?fw(=C=%3V^QHB0w`3u!7V=S9fM2v&P3w)L(OZ2RQ=+8?_RgC10czFJ%>= zTw5+uek@&`KIgJZP=Ok75YE9Wk&q(UDR~udA7-udJVl2sDXjV^H~iy`Cf!U<1+)nD zWB%FOiyUfd*zLr^#J3<7&-OTIF%#trN*EhL&Ub{~%GnRJTC-fn0g`pRSjHoxcRaEf%X-scfF$FNZ@7!YgGBz5-8%xu zHq!;ClIKd`YRdnAt2worYu6uz`foK+fpChTLPf>`M5sjCmjo=S3N3Q{Ty=sr5~Kwa!mF^Lne! z72f{uy!|W1c8Wp2rL^^jCls&!;cMtAuxh>b(eI~dL~+5J^+r48GVsy2T%sy|SXky5 zGu67sb%ubDxsI@cfYjwtC+89`agqu%>Q|-YUG!e$mOgjK8VK_@mjx#1)k0q7-|2C6 zBPEEpCdwxFPJfqCMp011{jJVs>_p3P>esyPe_Y$Odel1c@k@~I@$Af7_DDkm;wLhA zwPd9a4twEZDtfW~CYP}N3)~pUl&07u8%Xwads|CK&P(-XotJe)O7wK%fbs7*!+|X7v6Zg#1Z~DW z9n5=7RoQs69hICRELiPI0k`vqh&g8-&6HBzYA^BujZ<;#ht1V&r$HaI7m8d*3qZ59lC_7_fC7427TK3)$$;p`vZJk{7Pe{ePe?& zGxF&y$z=MXQrFfnOsNd#k8?otrIq<>-FX!E`UuRf$NFU7akXW9jXB(2P=Km?s_rK#oF?~^Iz=Dk#c1~Kt{ALF2sZ=3k= zx|BSQ(#JQjok*xRR9YO$&liy}Uz*x05pSObL&iy<%<9rYYMWHF9XJ3b@os>tB90MP zO^jqp%7Qtt8qzVeY_5q!=^1Q^R<>+ruFU9M(@uA&g)bFt9(NydLy=t2E~S~ZLHfUa z*PV#r7*3G3!SBp)2diukt1}@6IxQj-*H*eILn3&kt^+1*f;^npzqSRS#)FPiQfW`) z`M{4d!qnSgHBtZum|nWVM<??7zV?Yx?Ui^K=o57Oy>6J;4B&|FvR0X)f`+ZB5 zosSucrl1H~AD?Qq)OI5m)egyFO?!B1%D3m8@~8u}q8Yk-fK7e+!I!4_nhMpU-JX*_ z?|NCC8iMidZcf`rn5s|Ww}J+sO6$s@un}zV?BTASzyw6eN14p#*=2E);W4B?ZanuS zw;8espeR>BMuH5~oi#$zQsRA0!G;yf~xKZzIIxXO^p5V0}3LCsGmP`03?xm zjGLrFla+6~>#_ZK??d_i3@N$_-WQbZUW8}U!YnI_ibvOdzdX&pZfZZCz5w7oRNP9^ zMqEDT*oT~(t3)g=E!CW25e{+#rc|-aFqXqEFT-!S-ZJT(cGtY92v%)()nD=My`>F! zS@auUGS^ZNwK?N1JlZyT(T-J;D*U`5d>@Jw15heXSVSuoRiPY-MA>pu6~~bNL+Zzv zv*hyTa_@&WFXoPEGT=FkDK)m*fz8aN#e-BA>B&L&YR$$~KLstz8V6w`v^|UK`}J_@ zbF@opJ4X!f#-0^Xxiw=1u-) z%3w&_jSSqt1#D>r79oAlRB~xZ)`8Pu2nlce70i_F+>=-e_o0PM$FYUushyslZt0mG zxfj8=;OWu0qP4C5T=g=#|Gtykr3WX6pNmG80o;Id=mecQ%P-V<$S;9;C!^wTM^QH!5% ztuf@8-~QFmwy*>c2)D-HW^`^oP5(slUXZ+aYgHBJIucXorlFM2T%(pnC8idYWg&gd zjFBEq@yT7?5~HY)}5?AsJXf%YQ~09Bv# z_LI8d0ME17)4K=1{k~9SJ~PbR>D0T;{n^ZIqP#54G@UU63~PWPW3`FmUDY0M_&DzA z9;;HMv#6Kbi@a3pyal@pZE3}J`!u2QgM_N$58{+{;DGs*b7)h#@s4L zGcn3%YUZ%g?AxuMD;dwCgEy`n6U)mgZ(UBemeJ_ZEln;Cajd42 zRb$&R#lExGJ@lpGDF_`OJuJTF8*QsZKYP^Pj>vfQIEVE_mA*%p?4~+*{p5$#WY#-9 z_v0^bB_=E^*V%2?)n@$iaE8aAlN=NAi3hkKaC&EcRTK96MsYeJoRbDph<@|jmIU9f zR|4UWA3ED@r+k6%>HrnhLthU~-FIJUF1#{j(4LrH_f;)n|M*FoQUgVK^Hyihpo)+) z&nfh{@aIYGmC*WU{yx6$U;M?TRQcU!hQ;HFZI9!z$d79x1%0OZ-%Rycydk2So@S09 z+O!>19>8vR>v*iEDD8gsZH=L%`z-aUon9W%A|E%rR8~4RtgfCn4)X>WL6MdRwGxX! zYz^BXm)i9V>;jifwa!}a)$81J7>UxwtQOir=w~X?^Z^G^5o!#LIG3dq>6<4yqG`LL zwdDLi^2qz6|;P0G;dv4|m`>{-zB)fGj|3XD^`@^d^4xbGO+a z8u6fedNDM_EESRUEaMc3FY0&ft^@BaVJOiw)?V4`&gx(#Nu~kMqc3bfnW?GtIiC)g zv#mhpz(e<=p=@|9_;(zIkQMxbIFqR~RfjJuEzI&8T*+o;O80RI>_r+66e$NqNDl_# z9&qU^UtVT`Aj!jf-3M{EjAsFBA05v-OYdVmqSrpZ!S=?62?(Pl>7$D!8TgoAn!2tM z%g608LgN7{&Rgz2wGu7wyRi`DwJv$(XX8*t& z_C481x7!1sn%M$Ll(dFI#&9S$+{KhjgU#0fMTz<5Z{-FqN75P+db4$aivG72CbJtNH)7F#qn?3L^e9$~3*+{MF~?EQ&6i_f;r^z;Rhv|h_6*lyS-o&;W#|J*e7fJWLuA$H_QLXPoQC#EqG`QlE zXucw%9kX99FxXG-EU**{{b$Oh_%Xsj>i6td()rdq9Cyj&q)qv24g*1y?wytT#H;BR zSSI%=<;`DSV!0_WWJ~kF#Ehm@0;ttzMoBpkTj6>j@_d=(;!Gy!e&%L?DpBTJl0(;H!Jf)Cov6FBEjW9{%a!(l ztoeBL#4mi<*HUY=^6kCld&|qbeWd@880u$iJu3fRoY?+^Qen7f)cd>IueWx0A5@;w zbusVJ>`_@_s4w(1Lb$oxD%qYxDK^=HO6^INz&Y||Zw@(X{aM2_+mvWc)_Wdy8OOF9 z4E15HTks3OdbhgjnbiXaYMlCmq}Xi@ILaRG>ZaE@_wWrr2y>ft1pPQ?am2%7@keuv z8g!Iiy2}*>HGTleH`3#reGbSqe}=^iAQKBOg0W!e#36os$$!PgymFsv6#i$Hyu)cD z1r}d)8@C}q!`2{d3TVj@FqTa@hEf}ve#`{y^PbIQOa06b+Hk?qkDeZ7n$4mF!>?8@ zRbxKi*4P`3j|+htNpsCf$ZPR@1Okb6I*3HYvv1_bM3bmMe-=Fv_*Bd5q>V2kcwyc} zcpf~6T>&~59v&+GBX)E~K};!Yk`f=^LAUd|fY02BY3E-kyI6mEe+W}@w9bb9ExUG0 zcpq-cmq`_dGd8}Cx&1>OMaLxyAbJlz@ncQ?e9hq7X86xL&i<(0!@W<5_l}9tcuN61- zz>IWLjO{l*?>szdwH<)U;4qkT56Q)}Wev4xUy=Fx)+e*|a;j*l&n|2+jH$t)zdWty zRdIKI*Qm%mVILM+Kj6KTpF%rJuM#-=vl0HNsgb z-ey%fD%dK+361lTZ+gcPl>Fd0qiQntslB$edro z@Qa0B^;>3E7)jojSl@@=5(D_X?7F1H_(f}X*~^P9Ueoh`Fm{fv*nRjRk@%Gyq0pkl zuWYVM2)~;+er}|@x`Jk$DwyEDaO2#2Q^nRGD+Y7vd*xnH5%k{U1eRdst@1>L0J6^+EAO-3tqR-ee zW{nvqn{DL?=hy`Rhshlye@V!7Xul13pe6f$kYW&`t%5Ko(`}qweQ@iha%arNHV2+d%=BsWeg|nj0OC>t)SuK z(z&Ut33`8R7N#fYVI){v+IJ+l2G(1k{S)LZosLz-9~nO`6{2YXm7)SCGS7x-9o zew1tfqu&DU`;xe*l8@$POf*wZ;J)%ZKew~G=KcrdkkM2QJx*rb5$VQcQ`!7Z;fU`2 z7`KZKQ)f=GeG$f4Q1mRE_a$7Iw&2Pl>VumA6x71em#jsczN(C)ABuR!?Q;*lAxZn* zA)#!*aJec=x8}U7qe=J3u_%%1+3gsR|30qIRedIz^f8`zFYjufqEO$%a9%B8wL4;0 zs#X`gH{R|Rr-|$hIg=FxL1muzgdH0a7K1sAbVW~|C%|s5?|%>xtJpis{3AEX#Prn} zw}uz#7EvA3BPjZ3U2?pkW6X6$a%9DGx?||RpH&@MA0>fl8EO`3J`jO z0*dHgoey``L~G%RGYk7Nm?*vqgR)Dp_zW{PS8CsWit0Fil)kggS}O4|f#i7_p!HjX zWC|(0%f-CDh4}3XFkqO5LaY=AYIH%nm(Axv^W1G52DBC&cFs@P1Jn|3JWx=7YB3~F zwe@Yu<9}bhpM;*@wD;PbZ|XImV{5r@BM*bbko!1{#6jd10@Il+M@Q8p;m00?zx|%) z39?Xd)->BH$&8kNvXErRaN}P1JSNJ5{?~(6BV(J%FooE-y2`nsu+`b(Mk3~Wd-f9y z&xHs+Pw)ZbRbu`A$Fl+d_BPP}&N=%YA+MfnzEA#$DW$l|td$PoC91zFc=S5L;Eaaf zyi}z2imz!_$5ZmJpYj&y*OXO0bO((8x#EwTv>JmVD^cRfpEnfBk}JL9!2SjudZ?Y; zQ(8Vld9yW`iJH#aHc8ZhyMTMsu6s0B5r+vGzHLT|!x8~SsrQT`Ut&qVzQD6Ru{a6> zMn;(HweQM%Ll5Eh;{X-sO0%uvdT?i^u=%9+Z1!_0mBzVa#Z;>)Nt^d&t+aHu*-V{G zdftPLb1mM;>7I@g;H=%bA=j?8?fBdqg>;ImQr$n+$774ax3%*Jy|Rav7oGVp6mnKC z6kOh4*hr=w4QqrPt%wQiC5Jx*VfTwN+JkFsr-`*El2fUz^9AeFV9mF@15M?Te_-^qM-M0purTHJdH32 zgCd`-jM1r(S#+wA%WxWm-}?8N>=WP8!s6Bb?`79?3^vOmWYS(r5`Vo)B#S_avxod8 zL1NN(asIyZv~fN0K>(Y7LuT|DYJ`f;d%P#C3d74Jw(~b?1y6whNb;T86gQP*5{S`= z$FD`mq;ggr7yx2SY>)Ob&E${UC9|J=ANaMoyjk#h(&ra!LauCo9V}6I-uU^{DEhh-)7oiY z{|@YHyaXm!;(m2dQ^S-v3iNezCs)P2z;(ufHWGO$G-L~&p$(O`Lg{&<(9nH*H|t)p zlc1mA3nn4EimQXgx3WJ^JIsO{ko+k&xJqwz?!Zj$b(p*YhIj{{ez0&t@aVD2Jz2O3 zw)LIO{GJ+@n}n7|5RFJqk%VxOnm*j0s?(M1^lg2pz80EJzgq)CW;S=c~z1!MsNyd%GIG868E<|6tJl zNJdugZ1u1<@UN)0hUdc=MfQG^nWwbksBGRH?PP~ekQm*l{bIY3wzAgN_sCu2-&*Q& zo*G}M1k2Y=0rdb+h2$TV$#?GeksO9!uZH2?*H$tfwE909mn;tz_qL-Z$1s@yM@;U1 zz7lRfMrv(p-TcvXWOa17sHQ*92;7I&D)i2P537vt5eGY-4p# zQ_z9f=sF9;6&V>qI3h#$s#BCVgu9ZejA)K|JP2W}*RT_Q{hJF-{vUs3)Td1siE$Ir z=G%YIo17t*%v7(8%nB@RnGIN4^S|Dcdv|cIg8O*jml^u8F+Y65{I3M@__4xzgZ?w? zx?}32DzY3M#qT*~16Nfw&+eJ2A3g9ne|Wz_gwo`uMZb@6|4LWG(D3m1de?oaCbqSd zCjEqV{|x@oHYroQ!{t zz)S)vavs2YNU4s3WhW?+|0U8iEyN684ujWp^yfA{M~O3lb^-J;ISv5AQZ@U`iL5Z@ zv}lOlv$HMxQJtad#2Tc|BL@%us`@W+Z4u+hy_{C@$C6ML4VYEz*kz~&Cv6+7k@|m$ z63#S&0F;)NqDb3!JsnfMVM)%*&AOq)07Rv2OVe-%aG$hS9(}lVjZgcpgRZYirG~TU zj(P6vt=QP_ujpM=zmd2?l?=DQ&6DxaD-|IL=xs~^V(nF0fQ@o$S9^f< z$jd)xPZ*;|ui`pCrC)H0qX+@iC*h-pLk7f>%FJM_QZb9MB-1^~+uFCjV#IF>%}q~i z9Ij02oFmQM92f^`gCsg2T$2LKl|HCj%6oM8 zb3d8fi`@8RO9LjDL#Z2g+fvGB0bEIaM2+v;7BQ`mb`Q>=r?;5PhyE1n|M|{4`5?vK zHzfKfn&M-(mt@|X@uneFhQ5oOdncwt0;)TdgpuBy$C)FdJ$4+2U9CG65vMmNLFU{- zQ@Rdx-+$Ph-2fb(XiP637p*07DQCD>R@2aEd2HvA5?XrC!P6 ztJ|O;Db4`zlzB%I+h7cW1qcO=!K1)&Wu$HHHbfI&S-lUVy2oaANqw7KYQq7HYR&WF z+g62cPz_ht!>#Bmsd}4RfPZ1ik_-1=(F>=BSi8mpZBk*Gz zn>%IY7?0RVks%@O%3%^V{3q{%g%`n>8DYWE7(OLlnNVKtP$vqwY&N$w_OUi2krkXY zF3`#* zJ#AJ?l9j)ag~BdSGBHp((MK||-9zxZ73VvhuNbT3)n(!?mOz=<+I@}@Yb7W0Nq;z} z1q}8|G#1C$^D5jPhKb^GjVg`^d<1aK?5O=fGBq=7A-m?_{$F_ym_kfu6phr=S!{Rg9M?qP%U}Y&A4x1!W_cybdZ~4m3JNiAiX!j zo0UA#G}!QXG(-vDHar$sv#l63H(zUzNx`h(tHEM05N#0>-6-LNB=>&0x;;=5j6xpc zl=8Pvl=9E3D5vN@TZGtOFzHGmFWx=jVL7J?r0;51E+#o}qy3vGs-Np}dCs4~$-2W~ zNcs!yTY_S0qdwG_-_f*~5e-L+&Uf6S+;_OGxi_rm*B>OiRy{iMFKj@25ebLc_NQ?F z8wy-XP44&ZS&1j{VSo^!?Dve{FX!>PK#^UeBK+j75O#$a#~#-AX5Jg8Oh_=p-~|Nv z?KK^a&&Vq|O50ul#=LZnW;~(ZDA5_Bz!=(P+z5NOl=5S470eP;0J8)+ySbU@_Pv#* zRtG6#sq~xRD29aU^2NFckEYe6&Cx}ftte2_)NlkFKmbIa9{^+`WKFh7-e>m)G_p%` zpj6t+@A`!9yg-@cskmpfl5&pOY>-R%jnysgSx&tp5unhBA7HHJeJ3g zA%@D#P9A3#(C1+o`IXvsn=jnX&tc|A{=t~6DT{6Co7&smDL((sB>VSc&ej*-%V!OF z-Ix8PCFLk?D--G;!QrKfjdG2RQVA=}vp9kM1i?HoN^Igfs2TD( z?tjX&i!p@#iU&vl#B#pY8?8)08Bm-;lH)E~OU9n49)NpjAxab4b?oUDH|Su>fA`wYp&v*cXK{8OB6>kH)}@6vG^-*cv2TRj z>Mj0sM>1K;7R>QWbwfzvlfo3xa0*21Th(_D#SpZMvsQge@FSbeqGmd9V3)9;JqEJG2C1xMZs240qN|3_Nm(^g#rdCl|zXR_k_Yi^~nj z3%wQwvPOZ)_r(o3mG2Kak_BibF<|K5MlV1pT-TEA2Gcz%CH|KO+`GyH2SPLfk2`>M7SORtY~;%=W-_IMEmF^u`XwtnIx$-{6M zwJ_>1SyY%F$bB0(unBDi@zRLhGQ(6F}ZQcxp|+;5Pz~g3*y=H+@qQoe6gNB z`PY+wDe!zaI9t@oHn9AbU>R#CouzfXe814?z1rr|Nb&QdcILN-U;aa40gZiA=X{d&@+UI$~a;_*JgeH zp%~ZM<@k1W+(|l7=La%;VhA`?*C`M6=dd&QG_B&0wI~2?i|%n#dvVS(!{N9#=#xg6 zzu?EL00&3IM5(ZIbd++J+n-R-?O_~VFW|JCPsOBdqckYDlu7V5428kijoI8;%YTa? z&=Jg*tp4)1HAEro-%<+iIPn2ow@EB_BTT0h!}U!m)sr+G(m;Zjz-+9|EHLCD*L5~c zQ7o%~Jr6qO6A}_$7YA#nRKCvB>uEo_8X6VazQA}?Sqzpxx!I=HEQ&VG^i`7LtyLc! z^d7R{I+H9$R=l0i9FlU^b}jRtOH7iAa}kz5QA*B(qULFI<{N^3ke8 zLC?5W@BAHNFzzh^!XnO*ox__#?$J5^hjnsVJ@YXbH~>b`0w~lO^$S1){+AuZ>GJ4! z1psPZQT_Sl`Lld|5(W%W6UTZB<_~%i3WHLE2?W1M6nMzU$Nt#db$pbp(e8^UBH)5E z;whPss^oa|g7&asWJIj)J9~SS<3%_*qMH;7RBFMfPtoL)eXh8BEi)7sFOJGmDX4 z%HOZWMl}!JP!rha1~77W-LW@9oMQ0m(~DB;Ik>dp&Jp z;1E~MmRRoP#HZRKZ&>fq^3tCfRI{1#l?qVF;a5h&ZkFGh_+X@`sPsqAcg6PYn|7t9 z^uDq_#s@Z8!GUuWs;vXB`>QBQ?=nxs1?s-OSn zfajGJp^#j)-?T++c)+#2#61W8sn!rHwxBXyI{gd#hOmfjS;5uiIYMbGYC@0%k2#~A zwh>M6gY9X%CY&hj>AA543#YWN&If`|Pk9F=GD_+za96I7h@{N9olrmCzvQkotoA|e z=*CM0Djr`ToUcRWpEGoQ%1A)oZ7klw&!x(me6oAoBE3tq!skp=a3 z30zCzv!ykz+D|973D;UKlNn`Lub8=ZwN}suc1R@%jAY8EQ6`!1aawh6wPqoa0rrd=?&4W z>lSS6TJxtjqudSxX-dJl%cIf#54p-yQ$4HiK|+48|8{GY$8-7@Od1(DJMpI|HD^nw z>ZK1(&rIWvKo zdZ+TBeT?S!l%@t=kjLsPY{0$ku~>e%^b~|1P#Pih%w*W3SHCRhU`WN8gXRVudT%;S z*j#p${lPq$rAzx5P42kxyz6ABm7CEiFG<*};DNG@N;sx&u1h51*-MPy^~@oj=-AC$ z3Qy@y_-Gl?B+2YzmGY+$1wl?Y8W2ln=FL1-2D)z14-z3s;vobGvtS*Pu)CR>eAn=Z zzH4e*;ue5kaOQWvpVlHpeUfi`JtW31f@GvMZbAvy$$WFIV>t~<6Y&ItXu@q&9^Lq3 z)U36q#to92+JbL-{D$S(nxFgnwy)D2&G8d|l%XhMs!kb|5(3fV+B$$}p=Y`$<-0bU5 z^DXu40zLW04aBm4opBdf=-EksC<$9J%+{PgvItq(2?m3PTZFmY5AV-CS#h}+gsB?T z<(t`ZD7_}MUU*cNal70Civ&Y?z3wm7fSVrx<+@8B0V`ZCD-hOL_knE07SRB#1BE!H zOnHTUtJUe{&jaD#F+W##T@x5LI}5GmVy{Bt!T^?mf=+3L$VVE54xo{t$bnIWN)`l; z9eE7J$#Oq$L>m1b*M0>Z$6*mu$O=~N8%ulKR8Y<~_%Z$;(#KH_7-iToGOKm+4Qccm z%J z@l0~uJjb%g&WiIhoO;0LxyZca0b=f@1w($Y-gY(~&{Dj}z50%~9(Zy`YsaGEZ7ls6 zN^tf2yEMz{$*W7~g6oHnKe1X*7N|$SISzv~23_i}fKubx;m?zP9Ed-|82QI|N>A5d zHjR=rXLM9h4SbCISY~HcRwk}mGcrx`1uBm}ASivgRy52G>s{ecco?!+CkVa{S zp`}x)0fv+o5s-F}4(SGQh!3H3H>jX=gNno;-3`(pAtBvT_u>2dKfM=^X0c$woOz$K z_qDJ6xC3@jh}E$Ch{Y=DKVUI#TTLt9$Yq)RNc1S0VOg` zsbTPkys{E@nr|j7XC6yIe9|JR>hlQ%l(D*z^*5&tjjybGnbHsiOnja&paLjtI^o8d8dTgxiruvVLvn z29eUE3QNqM?LOZI#4Ky1ZoFi6#GdYw#wzbL{YAzK#ZVn5w&bUcm)`gETs&>jN6co6RJSC{jj0XzNh>*PSw%7A#W(<=b{dL+l`$kZ-WGA+W2^R#X zk1SF6OcL>AFi8`ogkQ2)3a+%(XBrj7(z!<8iFh5VDRZfBe-nBO#Zmt`4)fuz>z#cq zJ0Xr3HNVFi`U?S=wO!WoAc3@rR37^Wx+Iuc8WOLq1fnQ&RCd(N-ssAhnwB}a`NJkQ zXa>9Iec{h1;wb4Gj5|pMx*0=^v|AHmhiC_#Kzo zEZ`yV>Hj8yb5Exm1QWfK*vBwX%8GpH+#}itv)X4|Q)QZ7>3@qDsF=s6nYv?r{CW!Y zdlWSHG~!jo|Au7%Z?qEO>)ThD$)9;lZ^1vTDfdd@r#zV01*a0c1Sa6X;0K1`Y%M{y zae$utm=nw#;7@|uKSOgf{KiIDjQ)?fQB+X(1Xl?)mEQ$zeQ$QZtS)g{5?i;?GIJ=m zrD7lXo4*-v%rJ-kT4$Akc(hLIutTBN>2~rmC{-oow#@~RI2JGZMS+&+AW+3EBf%@n z^`8uv$&TaMx6?T`+R9eRe+T?&<8})jL(65mqzgGo)bHYrKKj3;CHoJ2qMRUU{0@k7 z=Q-Bxd!%zwmJW#UgTR%<`?()Lfe>ETmm5*d0~GzY80|;YD$*| zul)U|h<3nWQopw4OUtuYHq$QT>!4TeX;HK>^R22hq;u4}hrx38o1=|(y3NkG%99x( z(lh{agI|UU=!bc!!4_8{x5_s(MeG`dEtV7-vee{efK2thN2G4K!|83WlZ#z}?Jr~g z^(uYEC9=EyQ)aVd@y~ZH(gLu_3h8|Q)=F4yJO(XwRWA4rj~9dcp;|emU;G?J5$gM3 z2}o2>i2*SiP^Ul`X&i^9NgWrjnQ$=Q&eS>x0fIizA1RsM>(fW)c+dKEUH$v92@L2n z^jSxQI>!(tn*!C^HeXcVr&Qc29q5P}vR0>k5(ZzIJU;x*BKtjSwWh(2J=rO7?v)h(*EUa# z&?6yPiomD+$_fx-=gfi=VjmR%Loq3mI>~)MO5{@O!bf+A>PUG>Dj=e-0SiIpiAdI8 zM7ORm|2IC$Op*<}+t?9BfW!Y9Fn%^tff)qT);stpUZ%fHpMo4Y*gVNo!`gu0w%nHd zLr596lo)Hv_DEzc;AY<+F89fDR$Nj6EM%l?LT|ZP-a1C%4aTwkH%Jgbch%8y(RA68 zFboom!*30AVYN?SoJ#UIg_IH`z^|Bo!Qo^eiowDN#SN9tiK;AR;9|Y(QPN8zb}*%f zkQ(9F@j40jxdjHn-%iS}+p--_b0$;0q3$?x-oj43vP~d52YtqYyb@2MC5jmP5GC{h zPO^3&*b~{q|4iNsPw}jEVU(&*>#f)`WwQvDfb3{+)$isv4E=S5S?m@FXor{NZJoue zM#_shCC-u``LSM8kjEO;CR$*6y5tx3a%sxaLTb~3kABvz)e8;zf+cOe#bii0KX#5p z$qv5F+n7)Alwh4p%Aky0x@kIx43?s6j@^C^!1N3S^~d3v>M@r1(=g( zr>7EvUGplFVKr6TH>^KssnvJ>6TU(Z#k8*PAi6S_@=)db>GbvXk;`0rfr*D_a&IW@am|VTU z?)N=X!g*d;@Fvw@tUKe=Y7isY@zyOJmP#p+t~K_l!A|?t*jl~2 zm4B2N3Rty^n!%AoFZ+zD@g2Yd5^+SPFf|@@D4x0Ag&&|4^NxTOF)z@6vZ70^esXPl*S29%6xroX#u-?9=a-F6KJr(&W7I5JTT*Z?hSN99GkGm zv$)c@T97P zllycVHc$UZ6#os;Qk}$uZv-oAMY22)mRPZy{8&IYjc^xne4j!h8I_DXf)u#k+uYxI_Cw2fYH)Ow*K>Y#(~>)pI#u}MxUneb<=T^#qNpt+ow0oG z_gIf_4=R@bZKoDGSp-TrB}P86QSAaRYFaTA{ngQTH>b)U6=av8t!t*4YM}MQN9ytj z!^K~w8cH(q!jOWYq_1D~9qiA)0MzFpVqPjMskAHF#pk;_+jIW<*E6fYCK4xC$gSLY{qt+*Hd4YHuRgU$e zts0sfQU{aJa}`DOQ*!azE61ni5%YJ{k~e^lgw_j3hSWm^HRMr`V@e4mCzz(k{_X>9 zpkCkx5@SdQ^<7ROXNrw*6R*gf){l8o5bci|Np~n5%6%}(B1`90CZI2#QUFAC#no&= z_e~J|)Q!<;-Y$WZt3L&*W&F9{;aeWS+dmwA)S8$(}U9>AENy8o7@``iQZ!qLW{ zXT_YoZ5icOTq~4$Sr*dl*!)7`vzh=HsbT6>c;>;wCj7`fibX)%0$%Dod@+VnBY-pvFD}@AEK>5d1z8Ih+|&{aAxr zP1B94*&UOE$qsn=;JDqu57syhypsW4k@I&$)g$~gf=5KK^(8_0O?xBa8~x3U0jX@2 zZ$OdTW^~Y`AZ0N`s1yiup$Rh6BqSBWxN6)T*}%I{Aa@*XkP9dbM+0{?^*ntsvE8NO zsGQI;9vJ5!@{(E8p&)SF(m*kYs96&WqapJ!t&F7zz?#rCsiKH6FbdYF!s&HAZMie4 z$MC}i>Y#8ml3~&ob5O|zfPCJ`uf2aiITa*d-#cf^={fpQ*byH?AXcGNy;}2h;IdWz z)eXtf?p23MdNOoEXE(OiYwA<+$y;&S-oM9+)}KC14(EPm<2=+^Y)&P@zweweW9b_4 zA?We_$HukRbychS3-FNdx`BNBL>;9W;Mw(br;y{Xgb1sUv0q(JBJruH172rLYjnP_xH#?rHgjLD4w=Mk zj~QlX7-pAnP_K`OF%)?h`!D}$VnAo?ztJly7#F4k*_}&SxtcA*e8QfvP58mE*)9_caRAfp`y%+)+Ao$E>U|Gu%y!1CtX2;%XXGd3;k~ zhc{wVXr%TVh1o2UEx(k4QT~7W%8|3whw4{vBnMu5|H#OypSeuCF77AEuG8d6cek+d zB=7WXVl+%s`}|3bKOB;t6=UfooS@4tK|kCsE$I1S685oS!1gSzB90ouMKN|z-VfeZ z^dk7I7u(X#V{&Gy`6Zg*!<4fo#6DH;qmQ9`zo!0os=dnaWx+C97{{&0Vyi$uNv*Bg z*>^MaGu46`axBC#yxwP_%_>lJ{P~aggVK0w$!|3osq}RbrY`Rb zy@xrUIL6Do@$W72sI9$NNu5Hyp1W`Z$#B_@Rin{gvR>9<$y}wSg?hO2Q+mPU&zC-s z`;LX5zgg)3ONCKYJ-gulTJYFc@E6$Pi2u8@|K-i)RRAxjY+7M<_xBlnQ@d1FI&8mk z?-}{!UGt8_d7R4WY`Lq|wwM}qfYR^FVhq{LoenT&s(Ae5PxgPxC}*~;f~2ems@9LU*B}@l#$Bg*crub?sCDqH~ci#1fcaR(YlLes= zoNYgf_h{VF>CgT$jxtc9dOE(HxPTnB$L2rpxl0n4?EdxUC*IdfR<$Z%oy~o7_?k1|9umt^M2Zlp@qvZOI@&zV;q=43_gJX zDt5jkV>g1GRv&`PTx-}2ittbMr=YwNzVBn3&HFMgW4BzKyBa^tdUTa-7e_BXZa=VhfDp++{>K4vno&+l8w(c2S&_CcBD z)i|SSjW0D>oFb|#ks5&Y`S*nt1hMad9JKLdF7hz`%W%H3VJ@)m9Pr{Bp1|M;1Euf3 z{N#Kb-6cuN=gn_#PaB`P`-rV{?zL(zPhh@*M9d?$GG2IFV6EaQSjf-l5dY;L0e3N1lUiX{8yMe4LXO3-?EP{BI0vFy8Fa{seR8vw)= zc1jEwg<%V23u$kkCdAys5Ru5E=0kD8J|JVcAFjluAn~Od51qJQ=l5pT+Y`7>TWzuy z2=ZDV`#v*()ZWbk+lKBWVN;6}Czd>HTXG|N+oXvk65bH$U}J0u^HC}Le*9ZVJ0erl zI5Ooxyo4=|N?r)`nAle%I{Z_Deu;jRKS1cxO+{#`rk2;w9<^uL-`6jsz#xJ~U$()v;Ik+YJtv>vQyxe{zHW z^j*sGQpeHBke73=qku(O4x2xI%ebz|7rtM4kF2*#Key$SJKnTW%3l+? zP5$Q8h-B6gI@6tux0MejINB^uIOstQ#+%U*uO1X8ETa*=7(XJsaX#&BpywUYZ(|bp zk18T>xMIC>a{DU@{xZiR_iIZcd=Tp+rh00y!&-pR5W#BheV^eMecgF9gU_E%Q>gPt zx?=kmP8I%0V`04EPr5PTxpOsa4hsi` z8&nBxgrdrONU<)eo!XJe<;%ymLDJ1Hc}-XihsK%FzX0Blo zM_M&8e$u#u%2jQdtqCgPjcXbA#ion;Jm|j5cpJMGKTGArov0Tb&>x=uG%+a2>>d&< zhJ!GBb7Nh1Q}rfLPtoT(@_P5{`qy)d=gc7Jvi@eN@eb|z?X>?_4%LKhBWHg_YyFcZ z7y^cfR6t`}!B{XVLy^|V?>Ju_NdB0S3a>c^A(OEdp6JtR$qr)^TFIy5F4E0My^9?Xt&_mxQ* z1YQYhzx8I+Mhla340XdbpQ}ah(LbQohypPbCgu61-?-o`54Cy?-z7 zoiTfwS3(s6Pmo)6i@LtFTD=#8U2IV64cy>lwexx+oEue8%S-c=_M?zrs?|3Blki%D`VkjNXn}?eVt14 zSAhtQ>)Lr45`J21)A63-P0R1HJNlPL+&cpe{(Z`wrkq84?#W79GPzMxwr2@>x6b^&gMckwh=>xy1cS@( z{{0UAUVv4Q3IBe4iX?Vg*RWuCXz(|jXj1chBvOOq{rVh-bm8Td(TH`X!$Tc2l9eIy=oi=&|ANc9Sitnfk+u)wjNTzLiCQ)Y@0n zcs=~JH$JAx@oFS>PNAQWC|^VXwws);&Nu(#dAgh^Iz9xi?{Ocszu`=$M*hTHHUVBB zZN6L@FR#WaFII7;+}~4n^k}K7oiLq!^097}9eAL}ETsXdj5|Ng5S~ zv5*8UJn)ZkIHc}hcypkQe*ag#?SR4PJ*Gj{B=UD`hYk|+vYa)srAgGkesK*+p6z z8jt*=ujK3|EgjQPE-}=Dj`;Dz!RUz1XjaByRF86;f9<~Vco*LEQBk)*0ozVD648(y zDeB!hI?hU~H%(&^vbr@npcw-G@Og~p*^lWOH73)ax68iH;ic#>KX;=3vL1t%P#|uj zh+>+SzAZ>m?3%7x%O;*-rjfqy@T}NxLVdBeI!(ap7Cl)Y@cCjnfIYE(;LVi!mLF}d zQoNd6n6hQPD3k#8ls$O^hMRWv<(_050?z;|n(=h$$IoWRE#gswLmFiYp;+w+9P~1}OL76%=NI;axAd3xbBo3e11xL43=}#wMAv+8&UqcVqyUDOe;HCM z0Z#gJ04?#5^s20)&G2bBx#+g*6$u!Two)A!^Rux8#FW-it#3m@0BZG=Q;Q~lC6J|# z&Hcu|zhvGfwHJ(4kcR`-rsSu9Z8**NHzgAu4bhob>F*3S&W78|=OT<8cA6iLM&{K9 z97g1SyJINX$_f{(pQon^w(F^;<@Zcn2wyRO%+9YC6u^at&Bw97P@QQ==qOB?$c`-S ztfTT?ENWG=KY0skTr+&bA+V~sy#_+uzwgEr24cD&*$lc2Y8Q>%n53M4ojH~8;?L`t z`f+SVuic4j<*HcnzbHnEEaL{dht=l7CH3)v6DmffZX%g|9?qZfMq^);=__t|QH4eS z6FByA{yWs~$Vlmhr9*0eWW+>rS&w83DUA=ATM}5*Z?sJG&Zy}nNd4e&u)3uE21A{9 zG^>g%pJ0&B!SH$yMYC4Ba5*H1dFaH{W*kaMuq2mmkK6{c&g@_*?ggxo{#_$0+(n}dEOG}V2edmi%*bp9+ zJWU%!0U*8(&^kXup@^VpRlFNwjd$HJ+=p^H!9DjVDN*>AS!uNa94xv|?=LN9{HqrA zueW@`@1?I;3 zK4hir#CWP$r*hwVj{xV z`tX?c^V+V#8w7~SM}P0*YHgVtFStGQN)<%L+~#4nFGtG{Spw_7Q?n;746tF$1(9$c zt=s_jDoLltcmH^M&THV?cxNIh3Mq45)s8cb-h!z&o1%-^e3p&&ew|*?t{#iBHuiyk zxs-3o?mZ%ZNxShln>C2-kY>qzXAQlCgK7P9*;E@n|MF86Uqu8DmW2K<+X-md%!AeW z)zEe48!0+=ur82>)-)h=?zr>jc<$S@PN%})AtOrZ#YICab9GbrZ;9Zu-Zz-=s-Q5} z+^w2)AwrkZA%B?IP=tzge5}ra&##5nXM>H3Xb521gmau4O4Y%v7_EqC*vpK zo47*>_gx0S`~#_XubhEf1dWo&2-suk0SY|vK*KRDKpRXRg-2nGA<^(b3p@nH>&QP0 z`ipysV-4NMDu$^NPy%pO8ShQP=}x1|GJ!2Mu6#Pr^*}D6MitoYM${$6 zf=DxHlt#ZuAA4y}XD=Y}j`yA=^nPG#Q)=QG$DROk>sD$V=h(!N9{aA9~{kFn$m7$IRmVZ$tN z_x<^2Ui^3GodYMtQ``||R{E9el-`dc?3Q`k2@9LtC@nLW1)i;l_GB9EOW^)pt3YX= zM%vHEr2z$K14$Iym;ZlP`$-esdA2H1BJDAo;SVqe_SN}kbuJ;=4~M@KhqE=fZGLGk0Xyg0%n0UIjBXAyZeXv@p`RQ(g z8p1Xft@1Z5DM5~w67^4PCY2ill$k%f&XUd9m8 zXTyDtM4zT8-#s3B`ae*3Orp^{_ZOs~M`fNp z`Fi>_8*wi`N@lim=HXZ^X3%u-Qe*QTJ%%WMb4FqIWtm6u9|&zp`$x zWYrDp94MR4wKpzqUG!-WTo?L~ARPEHU_GDjKLSto_t{m*Sz1+i>}n3x+7#0H5q011 zM;n(FrQ7`O=xEx6hl6Sam_Jq)=MtTeD1wCdK?V$MKEsxEA%qyBZYv=?6{ABDikZ~! zF)xk{$8Z#sh(b29X7mzgJGjeE|Clc1uG!c3C+e|!|1;|pun>nL+C2qj2Kri~W^x$~ zv=@CqWHz5(@r27tL@ zFb@+ij2DVo(`H&n$x)2}12 z^$=2S(j-NWWZK1IMY0|$4IGntJcSn%Uw6Nf1&G7;hkuMGSYF7y|89;W`wKC^-M7#` z4J%_W1kV4v;y(}>Fk4ws3@+OSZ*#`n@v10+_KXMthlOSw+1LCMc0<)19GyyL0SGqe znDmXDaPrEV&3L;dh~oZ*ibvOhmM%9E;)G~wgzH+*n;=wRS6G63BIZ3&?36xj~C>A_7@EH zAGI1#%%y^KDz$ePh2r9lbb6{+oYMGk;q3(}^%E^?dh_(msh=^wL2;unYowG}Cq{C) zJ>+2c#bFLmTIqQ@OE^VhC!e4zoz`7(zky0XSipRD!M^(bLU!AAa!n2Aghh@mw(S-y z2;zWZv2F%rJ|hTXLV|efu>V>mTyj>yfvGz319^^j*M5p2sLZ(5)E%jIbocTrFOJMI z8t1-_`r9=<8XsAJx;An6Ja^R={t9*PzenVqFKqNWzFCp;rq)E?g&DK^>b#C0Pp}{P zlwJOB6HoFlqLuQH!n{^JnX|{K0`X##F5$btSkq#D43c$!|28nIMWTH5iQ%g1;KijL zyE9AA#~#k701PyrA~W=1^%D#shp%oA$qv9US30%uo0tHJ1u71+eim0~ z^od7i9Sr})X&~eJOfufvE6&eRSG6EHf>u`5$GIqfR8seifa%nq&)YguFV~`KM?DrQ zNY;HtO;^KTb4uBOby;@VuHyAx{gA>l5VWw_Wdwo$VGZ!tr?B5}H53|%Hiftce3|y~ z^Md{Ve8|)aCrMgJB_7qxYV^1NCJQ|y+H*&ysm*0J?l1eedfRKOjl9kxtc}*&<|EVAg940^+DznpZP@OpOQIZc2L2)wgso! zV!7?vTPB~Hv?c@zOj2LYY{aM?%1MTFwcTF4zZz)XemnObxp{dtSg7T!L;e~qH>$`^ zulg1Rvl0cD0b_x_nG=Ts%k z<5#Xx@ab+j{qC!PVuFeMYdLu;Drk=zC|^JtIo>Zz9Du)Bkd$A-W4EO?qsl&S$vZ!2 zF!Sv7J)^rns$6DsHHW@yc}Pg`1IcX|8X0$N1|bbm{_dT`xSF6wIR2gC9!4jv+Sw`& zYgk>YnMvKpv9qW7pC?2Dl|GfoVBt$W#RRbkyu+ z-i*8kC4@=__X@xKFMmvFs3@RZamn)?D*e1ktI4#yPI2iGkj^V13OAQQd~I(JDJCTP z9B1^Zx~)B;m*@)dD_8A(-dh~`(q8D=BeUEKwR4n^->usVo4iXXB^SPQY zdowWcoZ-hhGE(!zjYfqDyk96MIx3I@Qrd-a(LO3X-Ev-d>ml0{Q_b*~hRs-^Ek}WM z6Y3*3n!JJ&i1k7SJX=YETYsMo)?bRR{>3P8UKhtV8mwE_$8Fwx ztT_FAy`opLIPs<2y#Gh*F6pbEl_3)lm9Jl&%g0C$9;eg1kC1y{MzY)rG60=}9%7%S zkp{#a3>btLVZ+W;H}+z=f5?81J+UV{{XfOecW=&In+Axq3Sr2G?y>Q z2taw91SFe$*1KCbGUd`yPbILpaE!z{&<3%t51ex@<>LF0jjCR)(o-ly=(p|jW6(08 z$2#Y-+8Pw@;xdrgWp`j^qy~1soX4V(OLv6~k|Bl6FEC2dI_6rHeNEGme zO;!eue0O_zFHx~z+8p#7wmrfUPmgBtI9Jyd>w}6Ra0%`iYSi#5uXRwfm?8`Mg9)!q zkAjsEYH<|g`yKDDpmemZL9fDocgtNh<56gIJQ33rO!($`3VCprar`;KM`SHkMukOI zlVxv>@&DAkH37$#w+-i+YMru9Qohyphf+rz*B7n*<tymL`MT-3sNINRx%wtaVHdj{U%bOJ{zD4AyG7FN}n-H z8Q^|OnldUY9Va#B3m4NI@+qG+>wF_KZ;3>~I{7j)q^54NY@>>>G9ce5(^DYtGZbU$ zCMZVcBwFt(ooV&vRtPnx<<`TqEsAQ|oZDrJX?qh1gPtKM3>#ye)gZQ0mbgM18C*16 zo%Q&Fo4V75fS!9af9@yx5)(f4DYs8A1>fWalpz45ah{@1SL0-DdMzdJx2+;*@xsYw zQnl#bwhM}o@cL&c-D5=`0o!Oy2vHjjiiWK5A+$Zz;9dK8x#K3o)J;-mM9J3Pf{7bdgG*nS?PZR zuq+bRzNLhy^6l)Zbbg9|MR!s-8G8JSmP~TaO!Lfaw@@f18N7T$dTv)(Rr_MEq!z$J zV`Pnai}K;$i}6zm95UuAj0^{;u79IB?3^=p2UF*ra;?TQvws#Dr}?z0p^??|&uct; z*`hu3`g3H|V=roKuG`+Xqkbs3dt!r|Anv7s$CWzMY|-A;RRgZgzxsN2 zZ0aWA^UnsY0i~YU{U8yIMduBTUh}(Otp;^M;6Us*DswW52`Kah;lPa@xdf4WghxrQ zQ7B6lzxWSYtc`TetLSCshX-lm!pFtwDnE2Oo>%J7W0!#^z9jkUUJjcXc`;cwyYa@l zlT=QZp{ymDF>-;%v2;v$?AzQH33yLzv0Bb}azM-IpXd78Rt;q7{PEFMP%c$H5H7_P zoAyMaT*abDgKhU0HjAkbFgER?v`&xho{dqlN*a)`U@oBbawII6O>3?_zSO?Z)Y0QP z&|`VnXU}ECHHb$U;y&$a_fRr^C;=aD15u@JB~GDXWF>>H%%akB>mn1<9%4R_qAh}s z-Q=f;()B
    @hRC)USy2VPH{sOb8lalYNlbDEV4mnm^Qc5Lq5sj#{k8w`Zw%OpLz7(3&US=CVn~c)`bKLr?x*lvpRTjtT-ErNnp!?BGiUM}l*> zqKx|sC4AD##_+IAATku)sAgpl%^u>uilETrz4;HOvrmFPEflONcOFaJi#z=Jz*%S? zWY$oIS=wZE-adV(qi#H9wHB%leawUN1OuBKz~Es3@C@^dD0>hF?1+mYXx5sJ{Z986 zkbJSQcem#~djXlkJ96=upN38fpt-|R^$WuD$!N%VC}D&xMp47WI~aJ`3b#gG#h!6n3gdR+O}CI%rv5|M&tw>a-LrkQ%)Hkpt{ECb4o`T*X5Qu^h9aS;aCpcq;8IBO1RvC&*?>JNA6TbUZ%j??hjc8 z-3RS&syY&V+I0Lj|7qQc0KSQto5(Z&8WT-w-)f_t?5w7(19obIoW7Gh9T!-=Qk2@v90Hcwvx8$%IL^)5(dMuB3WjFa zIZG>p>o=p890>^ux8Wd!ep3+Hw(wylahx#lv;HUQNC46or_^EcOi+m{m3zTW|F#K@$_f1*O&KZtzo9W z?o%d)e_)ab!=X9akL&(-2IFRixGZs|v4S0AT0sEwlg)pmfwUfo|E%OxnZwCJoP^5l z*%3X!h9@P1M+$F4gb*3o@fs7M4GCfiLWp`lDf@)x4$AX=A2WV>!$B(F?_$7W@1k+3 z^-nXx(pPP0`-6JmFUj`pIqQk37(3D&&L6_#Bc%v6ozSH-~LwsqENJA%1Tuk$u<483VaNBD{DHb2NO? z6c41(5K49=yl`R3S>s)t#jD_U#fW$BmlX+DN~mhkHWCpSCe#bE^lM1co-Zws@}%A4Ni2DGG>7+{E?&U*=cLDRS=j}5Uk${cq4@wi zWANe)1Rb|;`pYxUmgB?azLU;(P7r0;v8<*jm%3Kk)At@LM(a|n5_vzH%Gb-Tf;{-Z5)%9EM`q-_I3QDFJ*uSdOP5jyB+ z(|Crb)?qBdF|;KZ!sBl-Heyd;4=n^h!U1&hT2YUG#R|2^KC=GV251rm7&0O{6!gRm zr9+TQnQHy}2C%nP4qyqQ=Hi`&^+SatZM&qI%Pn;(0h0#RMa-hV)%ADqnE;%WtLKMK zkAHPiZqtdiJW0X-lo@s$8=(85eHjKKMDs$8!DK-fQ~`!L7a*L{FJM9gft6|O-ji#l zSBx@AW`z69GxzGigts7I5O45h?D1=U9ktSd|0#x*%;XO#TZlI!-2PYE{fWiY01qIO z9-|zQZV8d}pbl&(0Vr6N*R9%ua2eW@(CsUfaTie^0Qb zm^DmnJHyeIB}dB-sc;=_jwZ`LpAs~qFZ4ps6m&m1{3m{>F0g00n(UUGU&3vtoLsvS z?~!QKkX=>#$tZV+RAE{Jz4GJ`4#H{AN8gl1%8(CZqYpHN=UM&0LgyHqB?U=k85C z9@%!{OAubzWIq6JC2a%|8;I3(PI47}?Xm$g+Pc%Welexp(6xA0={^;UF8DNVa3P^l?G(h-$Z0BNbk?x~|>+$Jg&Z z*kwjruyln65CidT3XNxxE&HLUv1*>goEM@fv!k|~tFivHE2na2JRj|^+NpXtXarcZ zPSA|x>b7(VTRF?p>O*l()`h$mcVO}(r&9N#K;LqCeGEh)$f6<%gnGJ~FPZ!BZKtsc zhzfy%3$oRI_M^#Z9D-;P(CnMV!Y`8jAA$^gc4Yf;C~oa<8uRUEL6|Pvm8ZP?2OqB$ z?C90|t6R&pC!w89_Zm5gu;}NpvGMfh#gP?NJi|Z3X@kB%-)Q|#^@7Wy6c+Pc3RRx) z7neu1${BxgGK~Hb|I#SR!Ei_GekkH)z?b4$yUP1U@9Z0&XYxvAN#KMX8IrWTo|*fa z?Qv8fI;PZuMf$zvCw=jH!L@#bocZIYbmA6)dC`oac5$?$pgw8R0VXs-)n_ve3}WPz z25{>J_#kkUXQR3glbxW(DEafBZD2v-N_Fp$HHKxEfC~^@*@z0U?7#OG^MqX#}qr-(DM(M zs>fE0frBJ`KT`2cp5Kj!HG}vDQvPo|jJE`$jB7dV#b1p{`-V1q)Y5Nh0dgdwWXT^+ zg9`Z)E;0Al`jBG5`^y%xu+|U&vUrgiwF(K4^_|Ek&UDVzy~hUz>1?(Lnczw zbJuh)$FVu3*0VEW2{%G6;k=K{+MCq>{VCcyplZs2+2+dODPw~sqPeG~wA5G^SPUZjq@%uP9_OasF>)7j<83!jT zdxgk4c1C4pbBvO`XEH)rMJOucpzM`ONJe&K%jS3ce6Qc-Z_ah`_P+1e^Ywf_p3y3d zh)b<#$disE`<6;S>w9fHo}fk3)I=OMIR5J=5}}>L#^izT>^b!9Y60Lmln;(u!0KJN zGcxn)FD6F-9p##O5`~$71H?xvF;29!dH``v$+3>(FA6INK=2Og5r8218j3XouMMafhS^~U5rD7ruhSjwNq=j|4nhxEB^ra5hw!X zN&DvzV7tlSGb{7$8}AdV;&dT^n)b^`dOA7*0FHp$9rPLN1uFYI(-tU2n&+atUrT(6 za=9}>&A4&8`{pYTi1n*l()QOk(KWuuvHV4-+Vp7=lyqII;NFQk4@HHxp3wGaK4C^Z zMLxb~MToya_py-k#q$DR#y^S%B}t7?Wm(^}d@!wLZN7M~;8gInYd!=^2uv6NFsh1LL-CfG%+DM-C%V zXCNjU(M@nQY^*ydOJ!ooR5b7~TY9>B+sEgarx5q;pz(`FSasCDW0oGmx}#T5&ib8m z#NJ-Cw<_I!U86p?%u}~^jC-1*CGT*hEt#uh@qt*$(y0~Y$dX`gKOP7{ZVb3ZI6EKv zIoE9ef@pQyzxESwgt4NH=O@0c7gg~I8};epjOtn@={3Kx-w^LLc0o#3#>jO-_Q8@L z=|5XcP5P?8eSd(@c<@uYWAqcBFw0>C;0IzEyK|{~QF;D0G!aKsZoyzO= ztuNviN<+G2hET<}Q-(r)5KgS9(d4T+sE-u%z2Jn%>MGAGLL<=O9zEZoB=i}6up7s< zK{gn4jJBmhhQ~3HT27Fiu`v+F{X*?8hb4Qsv}b?f%_F}>U`{CSeDL}%g&xyXGmOIevIU*jQPaKnX8O?+Yo}C=-Xj0Lp1zQAlPJq(pRM&1VZk`8 z5X`yoeRG9Rco`})6fIpQ*e;S|Iz@aKUl;~19kr%5Q3s~p2~Usj>H19ED-)(ORG#o{ zOh%(g+KSujBM-^~-Y{H_fCEu)Ma3szIHJLqSh<)7+;}J!lCBL9ORPLMg5x5iZYaZ7 z@e0AM$%luriDVOWD51Ms;$hE*R*nb7L4+;Y!u-ROE+7A&bdlr+X-z8x19?}Em+4^= zin3I#v&&~v@Z7Uh7g>Mcm!Nl6z#Jr&5HJz~eph%se>i=H}1)@f0}`CK(09$Gp{gE57!& zY%_GrMCtosWnR6o+4qjxHtBdFw}z+m$o!JY*`E_UC5cUhaq~I%?(E;c^key6pPRU} z)|`!I>N}U1fm?@^2hCM<3;Qn7Mg0jn6w6rODzlP#ZzCNfW3?Fmps;#U^+xQk*CPv& z1!HkLru~Equlj_7x^D}3GE2p11`iu+63rnfOKoE9 zL?)MninK}Wn@4et^^XuDs3HX^E7&NWlaS8spFEkQ^``-@!b-9lNWVXKh<~FggtXQr=iuM8YS?d7%qdsXm4qH7VZ~_lSx!Dtxej6IdHS|zG zuAq3Gxj%b%Nhd7$3}P(+xfWjTi1|h%JRHpl@P`+fL_v(-(MAd<;f?3!P1xaLuB9)& zxR3vN@deqCw&oqjQU9&U*@Omw_T8rqGu6x>d327ygz$+q%wd{5dfxqO`vw2s#_p`7#!9`~ZC>cEi_;fi8K@F1Q+V<27-QvokCrU9-q z^-SYPk=&# zT>QZXVzhdr`ko6qx3opN@&5n{Ktxq6t_Xn5&s|#&1P30{#?Q=!j5y+-UTo~U z`e&l!^EgHg_ezR!+DOVcyzEGhEYisj_3i(?05MC_|0!b5pzBf3yiJrlVkuLXPpXh% zRLXITfEwt+#gVJzHKMrYmH2oWb$F;O7$uHLIbi7$PWpk}4&eva#d_2=h~402x!aLP za^-|9rQqCtn>n(YfZY!pvU}$SY_POcVFnVLV0vP^_SyE9V_KcL%@LTNvZkSUGH|3a zO}LGs&_x)dQOt41v49QI3@w)=d$S6ajD+__6}Cz`;MAR`0S_ttunR}-_y3-* zzt>Y||D~UgUPgT2KG;+KavJ$e1{e=Ny3(!iAy*M+aEsdI+7A_h|L@~k5_!| zR~gFgA-9Kr7e@WZ7MAKf%WvFqizxgV9mGDwa2)1_wII z@BsVKxiUrcn>V(45Br?nVOxMG!6!y}ebSD)J+jXxSvVi7)3#FNb|apLO&L>jCrGjb zEJtWZm?lwC#HuZ~f>tVf7t5oX-d>7P@p>GyBx|#0Ax~g`Xj|1{lW*GLVaD0OS7iIs zE}YhGQi$cn*V`e-GYhse)4#&!AStnppYdv_zTXci-0FtjD~$y3ffgsbmj0Qm+e2KF zb0x80JD?Rvm62axw^LZh5hxOo5o>;Pw_2Qoeh%VlmEMma>CqTvVoGoPg^Et6ooc zEqJ~4?40@=$j;P4oqsgED<;w^ovXE$|4oq>M-iT)llnmJnhXwxkA;ISiek`3;Z;r( zNEKMI$T89tNWuY49}1M)XttM*bIRJ_D%tqn)^yDe@lX?)QxU&RL=t%{O+kVoL7He` z3td$~At}2EG>KIQEEdg%r&jz9wm)5Mps@OL)1)us)=;@2(+x7^W|#0ll|ZqGXJwyb zn1QHI%0H@XsRHz#KmH{CRHyZ*DorjG;CoN*7%|gn?b-K)2aa{J zVGXZ?We0LKQ}Sh3USw6RJ8$URgrLy@Q?V{z5K2!crNUkVa6mQ5FDDYNC6u=MG61WJ zvPDI^v~L3v*)b5Tme|_Sly@c4SqlL`K6WI2*B9EjU}I6ys)EQ>yiuSiey=UW#Y_Cv zrS-Te7#FzmHvwR4UXgQk$_j6%K3=lr-QqwV-_2fZ$m?ZHDC0X!oNVH7Ieyu`x^&t^ z5}0}q%6>*JQTQyB|M8YyD8GPK>mx%VTx=DJeK{=Rrs(GzN1In2RL% zI2*Jx`z3dc=lfC)RvXn$5QsmGlu^1|*_vm$q1evgNM0T5Ku<}9hn?piK;Qg3>`YI% z#+YqzrN1;!k$BEauen2w?p(S3CpN+KPF^!+=o2=c6b=yfg@?xuGtp{USLj5amVvx= zCyuyFtV%J_n*Ya~gaIr!Jv;meefCz|uyPs`K?@o`DnL=++Kq4+il#7@v>}ztxKSPT z3(fr3_Z99o<;APPH`WSmYEXCDJX4_sNXZ4fg%vl4aqU$LO9j}2gK8PTwS9Z=IbMyB z^CTrytk1TEO`0ij-$b~c5knA)Vt=lPA}wgeZ9(-2YLD(i2&Vl&wYqpt7p}hxw$T&% zXsyH?c9n)?@%icBoIT?L=o!d$shi}<7m^4i|4v5#oIoI-rdjAn?&qQmNs-Sga1rkw zoO17d3i7%zZ7BNi>KO;}rB1$a`e!F(^|Lpixclcr`Y$p#$>MnuM8awO+0%0t)lXfytd>4evt9doH>3T}}!+Ey0C$P*?NJKtiSi?oURKiQKkx%Gu`boU9>w)4-HIR3`jtZn7cfDw_^K5V2c{yy zn#+)CgYbXDPuCh)6#V4%uBIu`s}ii@Iq(N@3RA3e;5eNg8MBd$-=%+02Vehd;oFdW zQ_QV785W9%MuiE|f8y8)%Q4tYz9o#Hhr0WTSKal}{qVwCGY+qLB^I!JXIpZ*dK3<` zMDlz{tK+E1C)pE1P>;%WHR~+(!!}^6MaYZ1QKK6r;8sE@Hsjx+uNn_4^`fw{-~#JT z9C2}LBVa*@L(;$T9+m~A*6&3VAX#w; z&H84llOcCAiZm?fx>I=GCwO9P!P3k3IfoDLBLeIEYIx71kE!EiE?&d?hS3O+rTq%; z@2%7;P*QF_Mk2*`QV|7o3H=l`raX=Gwb5M!8Vitht`tvf z(;MGv*_oyH@VN2u5OMDgYw=|Tscb8dm%SM>&37Wfb9nwiY^~XWl>jkn2M}@P(UXR0 za@UY9c1~={XWZzaaKyDSLghN2a?jD$d^P zkv{1Xq=03Zo%}^t#_eAS2|}Y>Nl$n3ev+Xvcc&OO?wm%t=0mB3IC}bc$d|EFo}vgL zbjYg8+bVhJZs^p+`?y0j_eubMo#wAkB5mZ)E4VZc;$aPvRo8Zh;!?OU5D}uXbb!_2 z-tZ|sq@LJSDN!g=?1pu?;P?(bEqCdlb%HFQ31JstB?N7WuYWTA@G%4T$)W_cz87=v z4xHZ?(nkIeBe*HVqWVW5u^P(^=7zlIFYVFS%&JT+r41lNfmrUYgnkP5usjl*UlYcZx{2dX z3BDj%RA|r&%~pRREA8~+W)=ad{e|Znlo7<&PUnw|eT_?-xlLk_3=_Jn2y5=;>G0~s zx2#@ht$vfvE?;X%VASR zOV5sl42f}Fx=d8TY=6?`W>_vbOGZ`)>@PDWoT1bh2W=(w?cMFR1T4g4{uFOWREOn! z1+?qkkE2YDJWM;69FK;OpK=f}bXe@cO_IsIix1r~wYtcv4mS6{p(EDE{U z-ndQu5Ff5c`m<%fYd)SCw2NLNs+YdSz0C}^aIzK?coOBF*L0Ouz~hi)C#nogoRR*h zbx#beh4Hv=%a*vj=;j+-=ZzK`2)6)pnLeIkeB`tAi442%(pZxexb&VF4i|O>jcHRi zv3Ng(a!==Io*(TsTD|*N7R(Rz@VI!2aCjB}oZ69!`V!G#Y$`VYMJ7Nh)I+r@6jZ8``p_EB#@^_@b~n+SMUhi0c`hOnA8?{#k*epkC8Ue7aQ zo}DrZNV*XgyHmEQ(!RG-U;+WJ%`qeu;_6tVlxL*l@U`b&=3am_j_jB$&ff_+^=Ok64q6Ph# z)1albz6nJwb+=rPeNhRLc46*$G4x&))ot3mcict8!pEzaMaENYo)=$VA&R;*W|Wr)#gs=LX4PA&Xo6xV@EjNls$g(BRYi z0?_B+9VOS+UjkZ_Kzl3E!#B$=VuY!``P>qhh~v7Kx`PxXP$|V{^-(=4w&mOtalbI^aipVydZJPkSd*&k5XR$UAUkKLSTgNFWHR!D95yi0F8xN~eC;^Lo1(_Bw^yjJ(myBYiYZ@jppaDGBd9iNJgPxL3nKA);* zr3C-9E&?5Ku_U`Cen|ouH!|)a-+f^jbIOmT8hK%v(bAuaU^$KSjuuJRVX{9OyhzG3 z6~En@sLAIBH3Q;UoO!8*r4MrMQ-#HTc-JXF9t#ln7vQiKn$@tGU1|GU_CUdnVW1^n+_y<3$Ninw z!sn`wUk@Y+?iz8xRz9?NazUsc6)?;Zm}s3P3(AR42;lg^H5W8}J5geSJTd3yVQQ}e zA$fC3CYLvkEIUZPVv#Y<{&O)EZw|r^naEU%lhQGcWP?O4&hX%D6LUfiJt^#5ZhUf; z2mjrnfiX+lu^PM_2Kwe}E2rAw*A2-uw?px_G@h-kBmi=|XSC1ur!GQpDdqkd> z-P)mQ9c$(Rj2gZQrLMi;xUgB9(TwDxFvRRw9zMh-5}-%hPc{OGWBSF9)%SD^FVd61 ztR2`^!yyj7Z5In5Ckp4^Bdo^+HW$Lirx7+-wF#$MR!#Ez}A>cDsiBIgtPr_o%F3CTr zc$FAI3Gl#GSQ+>vBr{q|*>KDKKX9u2azq+}dMxM}rKUdJ0 z^ggXF!@@SUSOt=N^w50UeQ_|hJSb}P9 zWZIdt$2XCw#T=B3Ybb%ygxtH~8z#wn&8yuL%cgQFn};JgS!WOVb_c@FSV7UMaB((= zdxT+m0q=E-f&S7`LasFcGVo+T6w2-b?&lrFZ2GR&^YvWp@T#@>4f-q-pKQ_v1N|O0 z&nH%Ykk|*S*VGJmJsmP09OQds(=YNUnLq%}A-`u&iLR3k*M6$-OKg4RhhJURz|0hhb!c4u+Z=0y zmaAJ#Rvil_{%-6fKfya;X-j8Fhpp!V@Prc-dZxW_3=vTc;0MA-Q9IYm^0LY>nJa74NNG+4qEVf1vzuV=(tbf8bmg{(Mn(ZH+{A``SN`mrwlPOExbEqtFZq{?v>qn*g#s;rC<6_7#yiaVxWCk4GRomlE9yIVZrvhati+7b+GAW6btx?(NS61Z)Cwyq1!D(>xkK-9*)1 z4bpSm2H9eBG0YNAEv4re&R^NG_gTEI0k)?J_P*hc0|yKb{B^)mZ*S zWI<(kn^@s$cCoD;^iffc_;`S*}mW{(QvDeKe`% zTA)jJfg{oMzCS9 ze}|Z#`YW(gAECjt=yfg=U5?WPnSeT0BdNJdvab!B27>-w4|Ts?NgMBk304Z+AN=^7 z)gXGMPPAT0{d%@qy*nA&ItWcDJ(eNK6|A2DNYQ%^1cVb9XCY2PfRK)Rg4(po{r)|C zI07W&sgJ&v6e2tF3h9}UwVQnKZ#U-_&urnrZrR$B%I&OB@?!fRmQ+cWsr@FaOP+YjnN2*^cd+=&*hK3g8t?-2G1F5iDlBw#bJ)+ zfGR*DF~dG~DOOo_dzSy;!sx4;1$m-2#_W)o)GIOVll%~4>!$DJedjjLFSQ2J%>t_! zjh0|jKkjzB__II7>F~phP)Rit?Zv%Ey%+s0{LTFJP=u zuQvev<>QKt|B|eIB+X8=HL&qtHE%6zOHF}heE!KTn&Z(dqFiCF6bc@KI_~lPjqBnb zo4OA*j|1cI!io4i22AbtS%1mZnFL)>NqAgTAK~&=!3WZ;j1}fY!m>22We6?Gem>x0 z7^!LbPpl(mQW_7XAmLNj3%tuutFggy0f)F4J)>xF7^*0yE%h^t!@p3+MyRw;#)Uo@ z@5^u&zpT{R9SWiQ`bt*mqDyF2lBT)MHevDB-S&*YN02Y?cD=t2T#ozgMwq@mQ<)7_ z3lAu;oZ$oDg|SjlJbwIo$j#~=Bgy(L4$@i_|Y zr_0z=7GwLIGrpE6u#xi9PLzzKe4{ek%y0S}`u_Uzr*p;L9V8K5=jhYL^RJb>b?s*r z=~#L7UCY@3khw;35Z=5n123#JEyCqE6T#0pg6UsqE?^KQ)tx{7+L8-Uu< z{Q7>{vN34PRXeO!k5VdG+2_T&&fn4dzDA^c1Ys$e*}?J~`4BnpBuzgKkeOSRs`X+0 zG_ZZ0@xE|A@W zjbjq3c}nIZMxUH{TlUqua$lZ^R5p&ef{Ix-vHQV34Ry-6SAOCcb71j2R(bmpOuo!U zPjv99)_{y?)^6g>n8^Ln1wI3(C*;rkx`-cA1Ao6H7|EvUq9m5D1+wQF!k`W$iPj#R z#7R)}qRz~tpr${Iu3Ig6Sn`}JzbyC&?dL{W)b0%pp5(ukt$~r98_^bHwwqoHP!B$- zJq|9oDY70g<4XCuFo6iyT)!zunME>fL8#L<->qsxWqM_q`wmVL6!~c?)M=M<8T5Rz zA_r*}stly>2sj~h47ew##AH9<8l$QG+yNNUh!FrAn^^u59RZ`j*GO%nBbDtvH?aNZ zDoII0lRLEg<4@dK-P&SbRmSBTon4u9k+c@HpmseCf5d=+!>h2Z`b{DD*MWA|w99eV z<8~+H<>|tkmaXsBg~3gn0D50bG!CtOFr*{O_V;ngco1^?H~#|ZFLs%%?#sw{|Eg9c ziNq}^X;}K`7>E0YF9j~{g;XD(&@zNCQzFteW`M)(RB0}z_v^W>@Q~T_IGsSBckZdL zZ3%_Gs7JwZNumgZ>2L;qxnMA&^9-hy-tdL^+7Ys1vZ9&at#|8B#I7Vju-!qsQ^#?q zh2xKokBzP(s^(>|im^T*(dxs61)e z;15S?&yADi!FC4^2UWQ$c;fTYcn#h!1{P*2FwChhYy@UIy?`!7yog+~`7BdZo`gm3 zb8j7hTPxk(e&wsJ72^{;*eSn^p+A=3DZ86;Ahqs(F%nY8);90qJwD$8-^N5zJ&LGV zPxy@|Iw=V)Q=c=_1O?q%$&;mttMAW=#~C`M>U7rp5&u=og(q;QFq`iX7D}}u2*jOJ z&qW8z9C7E8QfDCol?kB)YrIoDmh@{;saVwn$qD+KOxHlQ1@g1}^_$RU^*IqRk8qQh zhLahX`f+M|acZ!5%A{tPrjqb!QbRa=#E0FvDCZ{ToTG-|Vf)Cg8|`rr@2=hYo$$30 zI-DK@R#@nRENLLZ))Kfqe~IbL`6S2EH#a#ZG!Eg^s;DeEp3r+Vq&9!t?<<6>+)i)dh=4tL5Fcydy);4s z|A*K}S?z3Jy$OWj;UMDap#w@>by^vD+m?H@m{}JM!0&!EpVG+qd0hYC zg|D$&`DYi0ftxx4?sy!QR$cNsMa3k?C;_+}R_U+E zEzc~hwr(r&%Is=+0Ukvu+sn@C7=Ssq@zQ^I_q*r9k%7IuXZM^}C37MCmiBJY=2AnI zi7$xlv{eb9=8iZEIo1^4RdE!1mVSmw$8S$P!Lyp(|9>w)5@}gIB{69m7Q@-DPMb}r zT(2O7pw_K+>Y1=^rROt!Z8dz2L2LCgqvD0+FN$*gb&fT*f4pf)taMrZaBWP+;AgH$ z;qC8+rEfhIS^6}k=-;VdpCvX0c{b3~D~hpIB4_VLI7- zl`#-G*XT=P39^5rp2RqUT=;&wj!;s@0i!3eP@CDI;99r`aQ6o?tJBD;m8*9^{MDr> zA%ov*yQQX7gDR>H*va%15{mq;nrABk~pJY=$==vRxk!9AN$<-R=dldQO(w#S1> z$Ui$^?{2H0b*UZ`*qDn{58uCBD0`9SEj{X)xQ32C_D5$5dNt-I4j4iUSaQe2Br;1Ds)w zt-=5)#U$Ctul0-hc?U75>P#vV{tRRSVCBdC*@2KSAroC!Cb)Ca zRVZda0}GBK%97D&27K3SGmVU|?F$O9R4GHn%k4$!=dec*@AvlwK?i*EKav9HWWT@s z##C1?tKhT#3rVxvwKx_WF>MVF&XuKpaNR^F?VJ5`+Drpn?5rY5WGF2s0hVAu>0j(Q z06@0!pIlcjsk4|H8584Cz0dWlBmjCIc%vgyS@b#E@>mVuT~T`)-r^BHJN) zerp;!%~9L=ad%8fHnTZU?2YRqw{v5X$Sk)?RuZy zgb4cII=-f)gU^4PpAT!`g*9fe^~9dLD7%Qx`(y8Q5c`sYyI zUl%pCFB8y~uXhb#1NMO2>R-P>yyWBLYAukbV{PE!Rzob6`tIU)=o3;2f))sp40;!> z(riIgwLiUP$HHRGQbQR`c?qAo;hvxj!vot`j_^zxRQyX%r>s&|+qe0|1Zwf`rp9|#z#l!Rm>;OHqDDLZ(Beauk6gt`s|B558r0{9{Oo% z$BY`S$CS@Sh$O6ArDcr$0Cvcj&07%+Mp?N8|uw3x9Igc-s;Fh^#C zKt}M@jmG0(fu0nrMbG)0_@svQx%wQMrumQjU{JEnzpEh}9K-zxiL>a+M00VecZpEg z-vqZHc%ToNOM~94C;+gybJTtWAcs+iYj1dTEL~LEiZvT$uZd6fbJ*=d#>RIU!oYzRJvjKP0D|&nLwEcj8-&Aw<3vVsfqngFcVMcA16lyTatQS#mPvYSyjUwE zx59JIJ6!Zy&oR?EBQJt_n_DXHXRqXY62`$_MDu~*>#9DcAFEML1SG4 z-ps&Gc4Mr6?aB)^{f~qK6KgMX-3`Ey(AMf{sfNcPMKkiWK0PL+^NdBsyO^l$rjR-1 zQUGM0YMMmFU8AAQ*r>z2ZEWZP%gbn!v@Z;`u|Ji`9xR^_)9s?1$@!?#b!HjUnuyb} zFY|xQ3|iW42z2QfWjO7)KgdyqOZ|NNW~ca0NCLmi4%)%{QN$pBnD}Ljr&HVAC658~ zwl|(jf0cz(KYZ~_kpU#Mi1T65k?ncNO}#93`O?svV*SCw0&gs=)p!q zFWIm51j88K5^eK_>BX>I8rBucvJBi(y4#03h``2Bu>S8IOJoL$)BNjQnb&-2_g#iz z4I-douw9sEb*rOR`!Fq%HzIV(V@U~kazeX-hNBBI5q_gJwdsD9jOX%IWs`Zm4wBhu zo%&nyP}TaxX{c&fpG=K&XrW>8oxd$h>%Kph-~Am6ZR`IvQ&anIC8))s&)_E?{_(fN z))ToF&T8pqGdJ5wA^?`uX98hO`c#NL9~mP#!c5y{Ar|^Z zk|Q?dpT-5HTe(~M$Zc)joXoJ284BCv*HXz~J3Ih)$IMg4D*9`QYP3Wj&o4VYh#z-t_70WWD_C>Mg_#ib5yj4sGcsZvk5mLsAq#$I98u?9pKdSjleC7y z%d*w~M>e5!J`TMin?UTI*3_QYe||W_KATx_4NwmKo^TmRD0RKti8;=Zy|o1lxwYi_ z!`Fkx=jds6BMx*zL=|6H`^DjjHRr09by))4mNNglRDB7P5vCA6)O$dL?LC0Bb#P{cLagXBHq$ZZ5P!K$uga3QlMq6`W{IA(}vYSYmmzmlmFzW6S9Nk6?g zKV)MyeCIakOfw;c!w^(j!X1HFhv8-_>W#a>>&piF={MuawpIYx{rfPs=Rrf=RE-~E zH)2JfO{g1-<`{feAg`JA*lbEW-7{wwWezHJTcV1qH1aa0aDa--3HcTY6Q}h1<$UI1 zq6E2e_TTr+%_53ob|=aLO&>eikUkJ0s+!l1-x|_$=qt+?kubb=-l{0}^_!Jy0b|~A zmxKcVnUUFax=_2C6b!6762bzmwm82FfGt!+I>a+myih2mSzM7F> zj`PTBSvh?_qrtx$Ti$yL>-IWwx}UBSp=w^Kt)ToJoliv=m@B_sxA2%?D)-Q+*|;?8 z+WomVv#666L#vJGZ|T_@%{^V}i$CGh3-e$8g`lmkE!g*Zg1%i0b6F);0q=zkB?dl3 zru5LY^B$1??uvZVz4yf16(~9{`eC%YCOL8?Gx>CyDBE6n8|DzT#7}3fB_~xZW_$9j zbhSg1My7M+C1>9Wu+&j?&L+z!N5FE6Nm3b4C3ghpx;)SZ1LY442;aFWzmqo>cD*7j zZueg;0!flWvNurI0wD~kc$R)%W2PHp4Be_YcnM`+8IqzjuL3{=tlMA$|DUPU7{4Ny zFWm-=wp}j@5C%9<_}`ZRyx`^}$N-@S{W@4EmT@6R`=4Dx@1gqQz1n?yipMEk1GJfp z3K#mJcYD2_5MaM^a(5^LtjP*}8pFo^m#y_O7w;;4)K{MHkCe(EjNKDIsLI-L=glzV zf6G@!>}@%)RZzO~bjp7yoWziD(B`ck)4j8e3wSpU6CPL2J3|SOAmP_c5q~c0be}aU zTudq#T^|7<+cZuK<}7cwcwb>_&yRGKQ*nSV<)eX6D66UY+7s|!AdZS-HRYe5CHv7FmlQJ{KaI@9XGGUF2O~_e@6-r<`||vD5)B(Ak2<(lNbFD@X_g zGauQ_go^99|K@Rtq~kt6^!c|Zp-$-*_N)fD;irB!QmkjhoLh!w$KgD?FP(YY3**jy z+M3MGH@xp{Ff$=0lfyk zTgo~PfISM*v89(UZG+m5z@1}QwD`W*YN3dVX-Msr4R;w)Q6qay$fx^9M1g^?V%N&W zl~)Fj9{<9VU$p>pz`9u%;0>8Yw z;rgSq%D?4*?o{U6rki&JA5`mjeKKJ2eAi0MIgL|rs$bQun$zCQ$Ss6HJF8c;+kSUo zySv7pe%SqVYJWeGxEoHo@$n-cgdP(qNpFs#7l}Myign>0x|ETyecCdzG7^06X7wKr z-OLQr_6EnSV`N7fOTJi=dwl~GH-GBJtL*a4@?w7wpg@9m4{xK%tn>M=+~eH(kBN}C zW=q9CBYk4e&^C=>vZObE)k}@Z!}ndouXH?1M4UC!4Jn>f)JN?A_XLvPPqDCo|{2#QARB~8`A@J{3DNQ7xX5Pm^=X(F_dGs2wGUG-p zun>J-j4jqhb%c-hGq?&pJ8g{rHuhf4T=~Cg7y+?MXrQ_fwu{~4BO_?%sEM|dO;V94 z=s^kj^{>uy40>DiK+*VMAaw2{Xixs#ZWp|RrN1QdGHziU0K~5H<;|474Y%n(_)J_4 z=C_$5!Dz&6=j?|zCA##N%4?j*?c;%dmCPoB_6%&y$7je$#mu+GY!*~nsE**Hw}#K} zhTQo4shBo;M1vqVj_5(57Fd#=!8-xJ##T202$gibB!B+g}bwc`jHJwPWKFaGHX8K;W)+wJ_ zR%T@#?otT*!~!vVm#r2BZ!j|Gdfij0#%Sy8Smc5n2C`>`xlfwMu8-v@{bt3hoUW9} zg$A^S(=tER1S&KT9_FMPH`wr*o~uOFt|us*ss9uUszDD~Ifad~5G_Omjuaw=vLEfgFIZ>x8Etiz!04y&B_- zem+?tI;3N#f+*J{m0maX+5FZK)Xf$JDH*v0*i%(~7uEtVICz%}#?gtfrf7Bp@>@Yy zfuXq=lA}8Xsud586$<=iJsyDhu*)NkdiEEnZJqRs=mQlT?2!eIir(3{_{JMfWjNR~ zF>b~+z^d^Wm5@Mxi|N;YI^{i^*jb~%|6#FYWeA{@TB}(q+wSCiY$&?$C503{Oz!q4 z1@j-Z_feEs+-{P}U=>#1Vvt)sPR#mf6s|!nAp>J56lP81<~id|OWx&s^jB z82w8|qgc}|C9hu*nA*5c`(x$l%jCk|2~KkLiU5F| z%M`s~j~0@BYc}(gFypo=R8=q#B%vio5^g~0I%)s%y(#M+Zzl79f)1c7fSX+)|Mnm_)>k&xqehILy;`1h-}OSK-HRoqey$emmRZK} zeL{25#dIKiR`;X36WZ=y#(7Zw;O+Bfx3c?+m8S*k3r<;$`t3d6)|(slkPMz=%=lpZ zg#6Q+kD^qwF8$(xL}G{7IO%iytYxt{jRSd3_3nX=T6w2})CbHg4Uuwm*H3QCtV5)j zp?;|K$AYRY*Pd|SUtH+ve%Rd0P>&8RTn7{9q~(S#+*@0>cl$*8UhW}_pmR0p$t{V!rggxDm856g8(8160mUUj}w~YpAorh7Q zgxpurjHS|o#b46{A%cA)GeJ^Z*Y1ER!>cbT&>VZVVhd=M(0kl%o3u!{RnwzTz^D<5 zqh`#uji+NqaTzgV*;0ORuOr6|Llu3|Eeywf@9Sn(SSNGP5J{sFy*iP8Lf6ed^^S4) za&E5|L4D=PM#|Rz6C^2V5PIke;8L;nA=U(f+9v-INHMOqX#4miql`QkhcbqQlC%?F z7`~OKyEb#vhjb1yq=kp^-5PffnxoN?80pxr4WJeQJhn&4(jhzIC5S)`6kDxIGIo4 zpe{ii*U4{e_V?-hGKIOm3E|V&g+LNj0cg|~BF(@oT*NKhsQm2X>%Tb-<+oQ$oQ=mBL4>F%vW-Le9JmHn5lWTdxhi3%svu3oOacyOyB2X|$oBla-?uQJFl zW!2ei*dW|yx69Mn0txqm5xK#|K zf;>Wr=jP>IGF8aGp_xZ-Y=wlZ?fqsrk}LS9^lY5BdaWc8`wUaf?M~mc1F6p;I4Uknik#FR<@6BZ&$0i<)mKGD`G;G-!vI4MA<{6w z(A^;&!q6Rxbca$BQbS0Iba$7O2nbR`NSC0}C8Y>RBmIs4v(CBruIBn(^IK2sy`Q~n z3NQjKr6=E8nMJe-CupodGI0(=H%e^f;@3>oaAC#&>l%&TlDv@W|CvV5Qh*Bll*+J% zpWIDiV#IE#JU<=7jEKQWAtU|BeR4_jV6^B`*b=SX){*YP=MTHhECgf@i^DdsSi=iO zudLsMemgt6c5{~4p(TH0fETm~f}pT}_92ONi-c??T%X}&UaF9~vsaadbeF#~1rwuR z+Uwzuj812{cVY;$!Uf5Kx}??V8@yZ+DGxWa&v8vuggo_V8CyOnQ7D2Kl{YoFT6m6?mpi6&s{ z3xHy)y>+n+4HwuzwI6)E)b4^(C>Wm%l>v273X%f$t>#xmRdDM*8MKHUiF^LW3(UBl zndy0=8A#!E`2O=nv5knqTZ}0TcfU`9h%yU01I~)m#kL`ahln6rdri^@dBxE0Et$42 z^E`@H@Sm4<9x%v6I7x)s+7}5Tz)%RaEd!6d?_;GVAv1ptPSSl$eycHBR3kbDAcfc?*GTt=n}v8STsdO0ko7a7D9$J7^^lTzx4R&tO>|%@IVsy7IlwqjF}62 zP6~GDYv}URkii`vvAu5s4%=)f*47)J>B?CA6a2$=#$IKe;d`po^l_Ai`2!J?1Ti9F zr2RDoAVz>$^)DDO^LvCL<37ed@nh}*qi0~35j#6vh4?q;G4OzNm#eJ5?LYUkwd{XR znJz@`PF??Ifh(r9lz0`HA{+^7)&~G)_sca9j47^gJ|h>CjFeST<5gy1gJ{X~B!qgV za?0sz%^ok(7?x_b%u-r>w9LdXJ^h6~CN|j?+TBVBRuWN4O0IZgyC~HDZA$|-x zARmPmJZmIPaPoug(LSy#EAGUfVAr*vAFAyi+E~;Xmc?NGwk6!5M2Cl;L;Ym|HOfQF zny8{#g$A$q4@-uHB^k0j>9>5_CsKK6TCIHC;^2b}+W}ohX@bno&0A?pIlvPEzxp;R zui3PJWhv^&C_4+*@9Crk;Nli%CR3p{mH4=t$hbs%JX1b7y1JBQw40H4k`TvVVQzAp za7yL~9I#e{EDYzCe$l^!7Q?+zo)rLi{PaWKR~tO}RRT^5S=2tJ38b|&twH~z`rM1s zUrRiNQ}1@9>vk$r;;GSQjzA&6T@yaLh?|XNhi?XFM=K^2%}ZN0rhZdr@^ieuFX$8t zcn%-_eiILdfr!mKtHx@iUG{em7K5I8wU57|7uKE@sS**L4$nU=zPz`c4w?zquop@m zgP+ZP%cC0q>GN_n-LUOzK23^=D)D;b>X8>y9=km&ZWtWpo!Qe0BVPCD?d!V@+_{!P zLMWjje$C0h=c(cH10(Lkq%+EqG0wXvk3vKLNqf8$@sB-%k#({uhVm;tH8%EFS4zAq zfo~H(jS=Y8sLgLuq`SU^J^NrBh3w@|N8e= zLT9OQfoFFk^)uWTh1ajA9KBTL1b#Z4uiffDS%2< zMi}ahk7qMD{mVLU;vga!KIq^t*yBga<0C7a?;@fUM+ugeC2i6tJW}O%FkHPdZ;~5x z{T9WmHgmXZ9W<)>%KW6vkn}oQMM`ToOqOGA-^Xe!OvJ8f21J#O)H<4)MfV`zR}b#d z%rs1ZfU!Ze;8z-g{yHV>%fu)i+BMLolbPvH79Pg-ELwgZMQpN|Vf^pbltZOZV?#>< zWq0v!cBr5U~c^F=uVdT)U44 zAt7RM_Kp2r=%b%c8E3uw(gQzhXvBmaNN>1)r!>4QBaO&SL<2iKpME!cg@js^^rapC1t{=(Bqgxy2b+Ew}ax&5PN0+yQ+EfI%s;V{kXQ742XDN%6`W4t*twnobm_VFz^qNUA}54jZh|#ub-G zruswhF@S*-L5j7($>s2mzz9TK0wyQG``7>Lw8mTSx(4h>fS4aX7EMFu^rQDp%M|u` zXqMRfrJvYNA5;8AE-WW*)*h)Gc~(*p`Pd*qQwvunjc2aMJpQ*JNDJ>9+C0d~M<@SlIVo#3wJO{$9CHZp>J&+t=O2-!m zqil=I zF1g9Tkm_)iZpr=QuZ-5U?T}x3F8wQsZA!3|Ix9UzPq7N0;y;z=iL5zF&1f8gAC|cp z`1}~55txa&bxH3`Ybe*ls=isKYRn#VQc70bmK!)fJgo#97*fi`<$J;Tyzm-BMtn`K z!0ZVFMBC3##w}ll2!h0DN2JNi>v;{(A8On~CK-8;_J-!6uXq5OF{A<6ut5NNt+rs! z7|s$%t+*0-kwY`WsapC|Ur@oP8#D*)>oh2u^sO8j1cza^3Sx7A(dy01FiNe*w3Cop zVf;d0W+!=vBtueUd?zcETT;!RSv5Fz;$uw*$5@u;?@@AoNo838J+hQM{e%ccAI>Xr z-P(My(&K8Qb3{$qBp$`Wmh_hw+h+=7;=zQHT&b)RHL_knt zIX%)17ZWBV0}|fcpLE7>UXiTUze3teDd+N(#j!xIWM5!W8OsR>Ub+CCgDpuGk36$j zIO`nR#yxd71z3xvs3DimDx2@*k3Cw2aE|xoPVYzJJcgf@1^a@g=ROL5d+T~n4boc95NAo(x)bbH%P zCxJH=IYQfC?w2p*LmdY=21JliuzN{#aHQ53zIF~0ze}dX+CEc0eIK;87K~92azSg8 zS03OrzWwe`IfYtSyk#(}Lf+>M1uoQwHNRZ~*1&E^Q!OoI1>ayhxdITu{=dzZ+v`sM zx!!yby7-~X-w`vv@`ux2M^-TnPt{!vam(P>=*5_klS_syX^{zIixd`?@tt+ykA_BW z-EjAGvMg;Pn@q6Hs2Fb`x=)vGRaRStjoQ-e>m%!-gnpLCqy4#)8UJ{*9YdpGxX0<^ z_YsQ-6i8d^lbB)<+0}b3KZ5Rcku0Z11_-BHhSX)*llydsZk?JfV|_Rn7#bKlLZbzb}um9-KN{J^SL5rWc!EsZqYngV_H} zqp0ah79AEra;>ip7FyV5+rgYs`15h#h_Li*SJRZ;efho09DR=esgL6Gv+yN)%*$ZR zYsSh+gxXh!=5$+|XAZHE+w??4QaaXhG2)PeVvsPFlshlKcy!+Nqs{GUNTo_7eVdTy zcx?1^G&?`mFX7@-Bc-~RC1FHjVoEFf%Ko+b!)4$4vE8jd>w%yjf0VT{i7j#+2gDq& z3Wwbk&!;v_rvg8xoLCM+?+i8s-v|QFkfyO$vVZ?3+&tO7FVqXveXg7oB2u-Pz;w(I z9K?(Qc>jAGq@m2pu%`h#2g+Rs_WOOWXnwJjCSK;scE=^=ptjvNLRImR7C zTpqL@V}PwO49NA{r3Nj37U&{m1iVxKuc!X`zni`GTr%)il&#EPZ2yz zg3QhuB_R4G%WMR06?ik-;K}ejF_yP@`|q|fl~@76o|n#iGDQ4zhn@gXf)Tw-b5$nf zoPOY+n?v2+!y@+fx9TLGxTEKED4;G{{oZl=K3j;ZiF(B_Oa568POU zc^%N)=DmHtwt|C%-e}P`Yn}43&;1ZneJ;1(t$$`7K(xnpAGM?i8VJ1>`Fmy=!VjfC zBLgENq&$@zf4BRFpSuX@tsJmb6^@%HYOx_C89zi=U|wIYlek5X@UMlyw~lfFgSFQo z5m)$?_ljTd2xyRQW{tnv=%Ff>Qa^)=x+sQ`kEq_VAr;-Qjg-*dmOAqCl@GY&z<1@7 z3;;pmxxm`%^AECf_)Rp!@E=%(y#j_ma9`kb(1x*ZVCuXU|C)A%4Wr%3caK!$jrqPx zarqp+yL#x~T|^KS&3hD^EguT;-4&r?k%K@814A0<4l&jN z)My})&450iH*L$hNo>UYPFpD%_OHz3k0oY*FoX?`eY7{v>W0qZhtj^Oy=nltN=dqN zs`vW+Jq=d6JFbl!`oorX^RYJarg0{DjTL^QX%L7EBYlchA0NmGo~C8)ig6}PWzET0a*IKx;4!rsU<=GKVupNHwG2fgFHm_ zSe4YyIDUC}H;Bqpl9h~u^-%{Mat_Lv3om%pQ~XqGkU7ym994(*{a<|`!Ghw=6m6?P z^RMY5ukwdr`kGpAW7RTbByjN)9r5`RtnFKmTgc3{%Ig9hu|nw432~jQ(_``^BeGy7NRCV${2A>(WIW!{V3gMAtFXPHg<4m|a(z z5fwEA$;U&F-fIK6COA*_Yu)hhUTx7c&%{Bb=pP4oxZD#bK)Tszqx*pD6Hf#SifBR> zp~LcBe)CG3R3Cf}zG%AE1@r)Z^ppi|6%>uc6xft<>JATctt|h(ZHkO|fW(V?bCVnY zV}0$*Snuct40|)kC`%6&(W=?F5&PB^b?zu=fbNRP zyUpF|p({1PedVGUrnsa2!7n44TNQ}WR}lSrPBTs82xnD@k&SHVDw?A-80#4 z*V(Gv7ytSoE>ohD)Tj4+=pZmjO9>srqY_O=Rkk7!A~_S6B!!ecb852clb;?Zvz9v} z@1gOyRQ4TK35d)K_$QbN=n1scJ3uO$+q4_#di;u{cIA%@-?`LEKAp_M&Nc~_Z(Jqg z!1J*c)P~bLxIrj306<_ocqq^|W4G7T=GlFYpOZk#ub_8X4VSX0uu8%Z9Ztz zK=Qr8HarNip69BCn${G=qn6ocu2HrmayYQ)SL!JGhJ8T%&>Lmk+bK$&ECtJkUkiQ5 zmH3Tdxq#U7N)t-4BT>!5A-M3j!o1tH$V*YTvb+vU7|O4Z5YI27|H;&E=t+;~)^6Gt zwLPK(m9$;K$9=(RH_W*#$+o$U7xH|N3`5C-&g2iYln@>1g%vW9*sgEB43MNhD)RIP ztfplPgN(9s-h;KFSc-ywX&;Bb;o1gMC2LSOXlx8$)MAj_NzD2zfH6M)-lKe6;7nXW zp7f5cgQj@N?9K62_Rza$Nydu^Bi#CMr!eJ}Kh3yrpi-?hpBGbNZhY#KSL4}^7l}7T z=7<1K-hyU!n^BMJpMuW|67H+TjfP8Z)w)QN5}xv0ejG2q@i*LjM~p!}xMlbs+i*CB zV;d9rU99W5y=sLC6ovG_gvtAdP+f;Mldf8I5~7in4|0E9@lhxllaif1Nbo8VBcL#L zI+9AVs~1*m%dgKqnt{I9qYD*WedIGVLh(rvUZhw4I79GgUbWuya$L5c;i$ge_?2!zyE}fE45;Y`mBu7!`c2KhN_#AS?m_Hr^_shTKQY-QBU^ajHOMt!9-#kU`7gOtz|PV=-%qV8^4hI2l0$diUIUWb$ zu8;9Q-Bm75YL&$=`u}>YGG?QaKnj}O(iRhFvpVken`@4J$*MCX@ZJyG?{BY0C5Ryt z7_Skz)Wf`H5g#TPVrs+a13}To>D9r0LP^*|816&Yi+ajCz?@|ae}?A~S=Q@kIsu#} z#hP@>+AychVaE(x4}Ck4_Ixl{!7J9NEPzt3(SSn4#T5<24RoUoC84aJOM^jXzJWe& z{bpZFiyo%sh((WjJH*VQjLA}N7Z6$l z^CcfVAIhZ!RM}X_oW%5uBq|a!v7z+FBdj`>VX;1Q*hq$Pcn>CfuMAp?ERx7xEIp#p z0N=m+fL@fOTR_0PsF&MB#x3AlQwdQN^f7YtHKEQ{h{Ka?m1qGoxe9IG01Varj+vsJ z>6G3fxis~gxJi@`*nZI*tQQhMJ94;^&?whOEAdn1p2&KLd?#K09+sVaYeHYqwAzdq z3q=N~r<3CEGkqA<;TlrGjhC>|`i?-Na{YQ8r8PN}Me;lgLGy$uV?lStl+53YXT)W| z)9*tL5G4XY0AZKMgyN>@ktRRIw>2K11px!y_yTtx+D0$#_y0_MR9N0NR+{O-4x#V8 z3V4)k7K@9NMKG8~c=&ul&Y9X+V_|u7y}C|$tfOySs`4V|e%^t}6Z+U4C$!(n|9^bS zZ{QdLk7MhCIhbBNv0~`McShe1;Q4{68}faKQ+BXio;%0_QsUs=H_d*ZF!)<%4E22ZuT(u0NBb0+ti93C{;$2hA{jzPr@r=o^125zR!MN!hEpID?N2MG z;vm2M!24LgZe~(REv*RO?&P#?o@q~F;3wLAJq}c!=_s^b-k2hzcwZC?nX=+2c<)bY zk%mwW%o;wZ*~9Mknc>D5pVy_6VS{2p)N;$#SL&`p6jkj(YK|d9>EhsGBNGX8j|(R6 zEwGz=;WqMyw7d^n$?uy8bJ>7T=!BSqTq|QMt4GzYFM=X=uC_R&frh6oU!mbsb|!(- zb-x-Aq3h2iWcIvQ$%OF9{=FmH$cp%-{GlF0jJ;qUYZf$f&G6oJmci)Ny*H2itoF&=II@3S>yw0Ew%jX(bT;B#aX)k zlea({@Umr)(4YTd+YH4e+GzM)9&D8`TxyQ|*B^-8*3aL{1W`9XiKM2U|Cth=qau_c z(`gAuusBIz@czh3CB5G`NkVW4;IApzp}^0;9mR{Wc-&?dWS2NjW#*}~?P(p;59fRR zax*2mmgj1EK9cbj?Z)$3haJ<0qBGuX_mdtW*yPKuEyP(&D+yxa7!dVvwqp-X`fV zXQ=D7ZOAT%?)PLwhZ9mdi2m5!+~lQBi5ZwW0Jfc0VPEyz)oHGD_YE9y>y#!d#7A*{6) zMIXR2^h&IfM0nLsHkWw}A~vTr7TF|wV3j5&IM0ej8{by!?k{32Vcp>`^{~x_o~VKL zfJpfO{k|5+sqAHl&Tg+eZ0OIkM%lA8GV%l8vfGzWm+}D=b5TM}$G1nOtCa=-MSn}V zYs~2rCNWD%(=VB&*5SisYv8jugMcDq|3Oxrn*_K}BLL-JK*Z&UzeS2BPYu-V0N2q7S%KFi zvG>B}r}C&bC4yHjziM&St9~c1{lJijF~wxKWgCta6qM^gGVp z5j%yva&0&My0K2Y7Ai0-1xx)>g#G0P(@ghq*f2*e=C2y~Id~1f5L`YRkg|D=4Edbx zFX66nx3i{{oUArRoJkqnHR9NSDRXhDdr*?QUdSJ9_!pYC1v?&ZU@Z89*>(mWS`MwO zncnb7TprdR&|CHhT=M(=_lSF~=j^k$iashF8aQGl{6uvk`Y@d9&~j+cS#e4D)7ySS z_06>Sp~c@Z>xbu0%C^5`9Qgt!g8DBowxjfOOVm)Kvwe|)(hn|Q!Ka;KZoWM(Lt(9f z>4`^V98H>sZBtP3P@B34@s3`v0`)R6E>iO*w1V53I>s zn9JJFl;BD0H{cYy!1DW>BEXmlO_75StE72U@yop7(u>z+YA7U$7HFim=Q+);P0BqR z7eWrw0ue$mGap=ROiN6g=nv$n+>XCp&U+SOUy634xf$Id!b%QoOmBA~7bH=<;rDg? z1q-zg<|{bdmmNR1I^DO%{!yDvuM7tp{J(Izg%~_*sPyqty2IA64C@bjgG*=$e&d3~ zMO%2JXYRFTJzR|6{#NH%JIROc>a6WLA&AP>=OVIMw)$^3o|I}dI8MGfZ86 z#Cws!DjCzHH{m{oSxr6hByoaYA|;&j091s4tKW=o(27XxryWhKwE}D5V6kc$8DsR%5Ai3B5 zOaKz*w8WrHl`!KoY|Mz@ue~4*@9p8ug}MB%D=BA~Jti%g1rYrY6Y~5!b4$(}V4S zXScee7Rpq6Y?F}z;hP(WhO$G;R%i-R-p429y>L3g+4~OO#kybm##hWOpL=7<`=~HE1K^worB?6%64kgi(#X-a0B&Ds-eAa7&Np=?;d)-OOv+zRDrcK*6W}<= zRu-UB3X26WEnmXQPHm(6b&`!RaOBLRBOb|t>pjva$wYFB$y2uuQIrJFn=~AHm8fx9 zNzWQ+mPSKcK|~EubbPv04JH=uafYC?rJhvO(c0o8N*y5v112s6-;u&6Tv==pl+g>k zlR(s{LJ)_>F=XbKk+nGco4&?7;2|C@HPXvqtp`16iO+Sa)cCS8$;Rt7(m|u12I-#s zyxxF4+SvS{oAcNUWBaJXUQn5wRNr19$o5r{8c$Xh23_{R*7h{*U?@Zn)&a1VFX3X$ zcE>ixem5jLaZGaQWPfpvrWwtLX zdYJ1_6%cX?^>;7E(!rM5)B|Zm)ST;+O>noE`fWgZY@>%s$*u0nW5K{?=F1{4Je~P* z4RoQ!;1sCZy3+gdiyKlWB&e=Y+;*p4`?MCpe`2CJO{Yx-1d6I-8+Ztxpx!7+2%H+=)Y7SjB2e;nm@3$$3aC zm|oPqIW@AXjFuX}FG^TH^=j%m4zA=pUx}%0A$>t4mVFps*Gp`OM_tg~)+E6Cm7;`d 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
    Gp}<~STahqAN$QHF8+$|3rqRn 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%0DyCK(e14uSol!JBMCL{piV9N>4vRIP zG`Qw|k)^co3Cy7CfyYfTOW3YTQkr9ZOO-TQ(9)TdIJs-5W4JUJC)#p<^ui5H@S&KW z{^cjHg?{m}Txg4WV%9U zdR|+PCY0dHxGQK2cnL&8ltX>#|1h$fH^NM%8yu95AC5VQ8-_a$yxhzvEu{kgmj16Z zgSQErog%s|S149D|K}VQu<=j)ju(+RPy2+9BS*;N5IhqX!$e30hIV`=91aKzelsUm z)Qc)&8TB2jbDTj8Y`aiYt;m590q`gZ13~kL38)tHAAw8BlGq04z+Y(}{n=BT(nWEN|9#vk8TM{&9xjBsul^<-O$~>IpPpP(2_9Dpu+?vi1(SnAOZU^rjw>C+eRt|s2U4M+u7kzBM zer;!XJ^>M@I2o664~1S2$@WRO?p`aIW+En&$*p_kOugQ}KZrgfw24RN#q>$VM4mCv zgh*ig9}5s$gy3ZRspR>D$X#g*IJL-n?wN4wwrVi+f!&xZmaX^MKQwgNq9e=?`3~pT zw|a-Tm9{Ja1TKLSb1;5@Z5Y)%@mOOs>0)v)K7u@-=w5x1$I2)2JM>Dbdr`RAn0vQ= z6B4KbBVO;Gi9(_ryH_9R*;YDd5^>N$fNsY=!=A?1$yDwdxlI@eu)kJ(!|!xh!x5e@ z=D{lMG}jr^nzaS%eU!%6*w!IdvNU&CwK7s=ji%O&gmG@s&j`it7!k(4sU2^hIK^n$ zwR*}__RF_hwfM7sHY`f1S1IGz_XZ~%tUdClDvD9}?a@&rH#%!Gv4o%*l*jml?Dh0S zR|pq}K^z{4PU+g)qef=7nq&VBqaHPMVR4DRiIq8vz?Xpyh3_J9nc+M_m7Rmen@7+Z$yq^65-RW8^+qo<*&dJj1h1>+aH1M0y_yZGjYvih6|&$RpYK1Z4HM4J$0BVxsh15FDtXD z2OEwpk~>B8Svlcf0Rl|q4<*UL_;R7;aY%IE%J5N`JyZ_R{kuVQVOXt992OlHO)DtO zj=*XP%dWq3^1)c{Uu=*F=c{IIvFcZdt@-x#cqcPTYsVx-KD6y}6hIJNKooQrF(`7a zZ(i0b|90*VqN(^_87Af~+NvgQmuO0>!4huf%v6y_5kMMAs+Tx@HwPiXpXC5}i%=!4wezIJxiRx?JdTXLP zC^RU>6XKy^CmKB3l@)kNzCJ|!@74`5>j_gmww?d&G9ui}?)9?gb2Qo{(-(F>u<-qx z5O(Px4*hA(L=Ts~ibxLg*G2X(mFCKAN8l}E>ULhiK=E%#C09Q86KEYCgmVI|-{P z&qj-MqX&8~fzG*+Zk~pgU*S=M+bbRHPhrTRZ;Z#a|%lc~h0}CJV z)9SQ{M1uyF-%!eKNo1}(c~FOgyBg2oP1FS{4V>v_+xYL* z!B=c`eySR?Nr^QO1|1>qKY5yye2X|mE<~h81=cuc;HUGq;b9(4kbC#X0R}}dQ5$|v zC+SE8>e*jpxkL~Qe{-7t28Rm#7Skdy9{Lsjqa!>Upt@HO?Fb_#jSho~T)YoJ)X@5c z)E!Z_i?(d9;*uDVsyzM_Kz7q}w9ZAhGKW@1KfZZdVOkxry-|UE-s=QF!-B2F0cXT~+=zH|77wvwmpP2&a&c-hB@26a3fj&P|&Uah;7B`IoG^rrNr9jud!bB95dD z@XqFX4#07nhSgYA?EIdz?qId)&WolW^WF--t|Pho#~9j1QdivM}%?I;QZL!A2-ueV>feI3HD zZGh5eHuN8x&x7r&b$E}p=qRN4z3|4k#` zVk#7Ni%&xP;D&n6ZT7hACQ7{3)nS^>r#RjKWHlwbz?|QIvrW;>*;vjf9huHE8^5ge z-ruRK!{cFuLK>`K{X8bdNWryD%@VfVUXr_bBI_11B`-Af&Ov^?jp2EFqPcHs&#nEp zC?(qOCGek)p#EG>5HTaEHOtG!ocMqlE)`p&9^eP5~vkj6-yWcXF?nDq+kv zOdw|Sd`!g<5_BB0ni0hbdud>yc-i(!qN4yn*f52%Lo-ab{KIdAo!>u5x;;*nEl+)f zXZHBYKRjf}RUOMdN)dQv8AXySfI(p#Uzd6={i;8sFN6CF{i{{&u;AFJ#aaM=y;Ixu zc1xdrq*j=C+u?L-f35dQ0QUKee)faXw{rtj&Yxo|Lr*aMU)yVgD1#?q8k?EW2GXjL zQA%;ImVv+Dl{e->*j%P{uCgay%a*SEP%{l|Z`5yWPG%T4zz(RFa|F0rBp6v6X?0&B zaU3epk{fGb8~EV%5#M^3P+w8~s(D?uIb8*d;74QP*liAWp@@W#Jssv9VQLM(Cs8rq zqX+`A>|0}Fa_aqsNOLjZ9U~V}v!Rnb6;Xz-ohhTU-{-yo?Yxhv0abf4nc~$b{|P|NgdKVdHu>8T_x1)%B=YlRi&EW|8!82|u!$#eA!c@pqSzrzezbqnPcfq6s<_V;J%-P1>nJ zX~pi9$jslg19lU^5`)CGkpcAEk3P7NIG_ZGS&npx(pTYHJ1jbc z2m#|1_ZIfEAy$*YXnFvD6~DU|(-(&;Vian4YpQSA6TAT$sC_}*KpH$*8>n=JW<%~{ zbP#^DWm$F-Y)-?y(+Iii(|E6E#>!)^hO^lY+fi6j!!;9aw*a)YM05Q7m56lAj;iGc zeh%g36%6?}4D}A751(hs=TgU#1O?N}zwe-aqj z>QfxUg0)B_ZqFCGl$b8@M_ZSmatst)f2U+hs^w~rMr(9^w-}B7bpi+eLX!*PUe{;d zuvBFue^V%9D@`1u3EK`<7H~9t=rhdDpb+|S4;BwZLwQ*=uJ{+ehb zSma;h%p+{iJ?*|r(W9Om`G*S*uM+U6CFoX;Pq4L1U?=p1rn2G5(h7TG^p-enNM64Q4$sl z>`=|?n65aZ@OCE`xIZjiiJA&6)18zO-4)|2a1Lm5Uf%I@BS3zcawuPcH4S5?M_FP} zM<+$bzwAKcu!Gaq^U}`?<4Bzm&gaVQx+_B-rSU8*;OUoG4Is1MJ2=6?xLHZ)&2@t) z*yAe`cHvnD6$v}9*Y!&j#WjG#;Zi-lnK`u|2_DD#H#~+$r4@usLp79^AFp{tUzsRb zkmN^p&u@51z zfQ0LaMz_$hA?U={zx6AT8@$1Se>;qX)|(u}zx}eGsNie(>5COQ+VS$O4_n9>el$2~ zB&LV_;{2DFiCZ)2GJ=>0gx>r8?ZoH>E_P>Bw+Ot^))7Ci6nIbs1Uv$ReGx_Se4#;5 z=-^u%HyfFdQNL^zTnu{OI`)qeLqENnYrYf-T__u4=$o@#Guc+2vbg=HLn%7=YwiZN zSoUtcU#X08H+pm3P;DBJZ8UjxMMbGC6ZJcId|)1<691wa_?JtC%X@#3zs>_`5csVS zfv~|p_%0QJ#(M(!1MI?tlcNjhn~5 zLwdNta*~R@h|d#=x=I#f3*`y)JGb5%jkJtcHNJl}Pu824f-}?+YLJ71PE(-vm6aTII?>k~HZ+;MCCrPm{Qa-Avag}w{ff?x9x3r612fCbwcpLr{w zUr8CoL=aV!(|qE>L*o_Wp`6>$TNLkI614{G&9LudJmog!2=C74!LL5xl(ScJ%~iN~ ztI2CfBHU~J_4AQ~#KpOk-UWn;Qw7Fl3PiGEyW zKU)T?NSN=m#hP`oq>PbLxgyeJ%{8d-$Gl$j=UfNg>E8n`AYnI@@EKPj`=+rT#7NmS zz3BFZ*HLoIU*sKdqS&TcB&I@JKF8VJT>fFnep1UdqT~1U{`-#jShfZYsk9SP=Emm4 zYyU>P5RX^tXCq%sTMKN|Eb~_j?}0})A+y6$p3`?^@A`;c!b@ZWs5pYVXVgxHd>4w7 zx>*sRH=C-acVX!^R=n+F=vk=e4GZj>2TXwMaV$qu;#;N^3EIx^r zH!P4?^X`|-V;}|T9JKzUnKx4A!1&JIZjI6Vylk;ITU!3khPSRoGhU~TNKu1)Z1~nB zXS1{fx!`MY1pnPy>h{#Bk91C_3OhXhYGs&FoaW5`PFz3c6_!bQNqt3W+lu!IG$#*d zXxL+sy4F@~GXxm|_G+}guOE2W`j6Q9XAZdTcc}e$yYiNUpP#Yph@}>~L*N%E3PLeM ztSx_LOqm}a_280{gLZ->na#8_IrYW0Q0yC=hL?JR=O4_gY6axS4wVuWbmW8K^?A&9 z3(j3{5dovNKhg5d^RTS?qBY7sH)K)_WnV{_m; zyE&jyG{oA2rfmqA2h6a#Dtz0mi~!;wg+;hDx1VV$$%a7RTnR|4p)HRrP(u1wWYQ3EA^11-Vsa4QGko83ml74jb>9v&FAI)GuE zslANFnM~70m`rhgEKhZjbb=>4e8Ia+e$^p0q;%Y6{u5gDpUSTq;(Ez(bX>xCe*jS8 zqS~%Ntp*I^7-CHQ397g$SElyOu_i%?W^1M^S>?UczD2;|HP%RA^`UZSh%Xt6bQOB_ zpUnGqU|7w7hvny^DB1%C=>%Wl%27GXfZ;CjPkOz9i;F6Rlzj5qOSoh)?|UGI(8c82 zD`+x@umX#IYGkOE=u2eil|^kiY+@Z*e3^7b90P_)6L4-!8W_ZrrjZ!0qFnCFF9sgf z-JJSs{nVxiCev_bW36i4>zXudrS(bsv;QvL-Q8ne0~;4ln=E7gpe2(JIc21p18q4@ z{TZ-z@eD*BDy?yH$5t77zvoQJRuJm)gTr}53g8d>0RL`bcRK!RG^Mv^ySrd{SLExN zIr(xOtHBbpr=9e}97Sh@NJMwex^^LA4Q*k^!93sm0$JuF7AN1RbY>+fI?n^}#4Nvi z^etATB21&-JfyA2CsxC~>dT^;T$8bRP_!P$TLv7}5AXoB(g>>7=_UFEo6)qwdZTgr ziT8s_YJ$l~@rKISgL{BpE<;H6uO$t=Aib;QGs=YO^KI=ycbnipq81?8pf~7Y-zkyE z(8F@zF2_|2&*!Bw1KOb9%Ml{a1=C-pSIh*;duz+uFsgw?{*-+Uxad2F_ZhBXqn! zm{s9akwTb^@t>3>f>4})lvA%=32KKK#9-s%!Z%d$^N*TAiKE}TyV1Dv$i*}I0&yeW z?F?oW$^Y?5ft6sbbGfFYn-VU`tO=7zX)j0(`@ zm82R`O9H-o>WCbvy{MDDO7u$DMX1vKovqVT?D3gD63@ z!!yOcNZ*{Ht0Nm@wCRVAKP46%-ETn17aY~>sF-|b7NS9RpK%FnH#`8SYinhz%HVR3 z;-8Wy02RO+N6XGebX^!X-}%+-#g%vFGP!#J+n!zKseVx6?6g3}q)eEBa-Ep6bWcZW zMTaYm_e}WDvSGe=kws(Qc_R`D@1b0IcGHkYGd=iu*5yP=b%oipMK`Hdw=9#rA({Of zKRlFYvbcr!i?vs~CS^j8=`TFWTC)wWt7o8bG=0<}_>Zea89ofz2M9Zd;$ED`@nbD;T947be&QMM{K63f1qZ9`U;$s@Nf_%9WOYpaB%EF zUaDYyiLIQ~dA8Rs0!fkEX=jW-{~V7uxDlZ`xH=7OT8Ruy->C7nID0|ip`9WzFWWtE zJ5;q<*{C%6)MkSoJUKvi-9zkQ8xDHhu9#+c?9t$;NdXDP@jm^tc}!RAN0cSe;eC1( zUuO~lS0sRL2~%U31!=^A zDj3N>1A)*~v9m&7=UD#|j%GtJ*tz>VzCPJKamMhYi`;vO)F!rmCjJ($jkHMh{ms(2iVdgg??L^l+@4Y>3 zvWItHb$bYq8+Ko9+#EUw`CEWh7mvny77d?y4HI{4b2#sM^56jxAL<*lHS~_Y2a;T@ zAZZ3XEdVZ!MC74akK}}2ZT;%T0((fCskhSCHX{kS%1zx_U+mo#M3Tp{qYQU>DM>YB zjOP@L$q9pruU-1zp_88u$a2*`mapPub@#!&#YKO@R;e@7;9iDmhe9KqEnu3742Ys! zf0~);2f_^cUtY)gT@M#)Ocu@Zq|d;vP62E>UeUIY`CMm+n3xD{qkIhRUs=aC%Lnq`POl-r@njRYR4f_#L+#`|Rgol+M z8&QAP)_5C{dwTIpccTy&r;+#PVP`p1QOFAe(?AR&v)!WgyRNQiX@&p;{(=)v{pKXB z*{+EdB_R*}fbC`PV|+_gv)RO90zwJ2U2u*7shJ}FLF2%3hX*EGgubCzQ{T`X%+nEU zVdv_V9F{BY=amoog40z)@Da2I7C$rR`qE(~e z!nNW1594X$zEjr^lpz@WAD0F?)(_s!T_Il#w3SnkCu~|3u6Y<0W&ct#}g_Rh>{ z?Pj!i3akw<`KveYjj`&9L!-mHdyxv|VW&*fRn#ylN+Nu_+R1*?3&>#>ncVBC+mvAk z`|~v{fuD41Gutr(1M6f6BmP#p0Ja@!vD`oIQr0D*I!Y?Gx+s@QsT`OM z!0aRwZ;@s+3YW-C6k>fvf{NB;GLpTjG8xQi^@sqVTqv7oCt9sfOldNhDA14Hf4`7g?HoAkPfK_0d0r z!~X*fDtAvsCGeT{FE>Q6+QIkz42Dj4H}jhS|5hGE;3r@Z@Dm~;g5REI*U_ThHW-S8 z|7atF85UM=RLeyFb09s$Gr$Cf!^B)#DmOi$JZ-+;VFSGq6f~mrZfUt3EuZBj}R%sqoTdRaT_RcgG&@VuQCLhY~q5 zLe8o*qGpW>O!D}aHMtmqq|IwC;T{G0Yx%yus}VXW-_!v(w%o?F8teBOVdZ(^2k6?4 zFM6j*|EpZ~NJb(k`!+%=voTnOX5^uH;1FO$>P-F<4HL==xG7g4vllSxN6wl+R@mTA zk1!Y2-*A?I;7U$b@sQ?1iHb3;S5NQ8@F=0-YV={(vOq?bKMuwF`eizmBhDRGh4Cq= z((%?DDV0sTEOt50&BZ44?fC-$RvA0i`o)T>e=jit>OQ)tZvR%&-bMhcD>XNGcNv37 z-aoyzgy1Tn(TL}slWo?J27dwseN92UH=1`p%~`q*ZoIph9(2w=OD(|gnT1EOU_|&@ z(zNrIUgzb>!37!P0%LSc7WwFi%!0oyvkE5E&(3k~|6*9*BVH38^lMB+ggJ>8MaK<@QHPk2<8`TPwpVC4r9xW1afL zxWQzSYyJc#=}Cra%fwA;s)jZjD#9Sl$F`1!Wv{KnD4ex*Tq&JPIl9Q+*isJpL7wF` zbQEdV7Wz7hVX}62Ki_`pu?Ev5FpBLIqX(^%m$B3-TJH!Zf1m2DqjYD_uGE_ra2j#i zPqKInVFoGt>=v=rQtC1{SD$kuMZ?q9&P@VAoGZTW!4J}uxRg?m8Qoi(F%%!grU&L8 z|5b71_RLn@FU~K1`gafY!e{mNHIK$Rl@0o=!{6HeJUGr=OHbGG>REZM5^y&ORXHue zeAe)(k^1XKo%tK%TxRp*k+1JYQ*#}bf4{FyEvUQu@uaos#wHmh;ckuu$b?$HR`ZdzVj(QRyLc z=nIrrA7v2b&%!_|nXdJEMsYPtx&x`q%1sJam~ zh`1|YUtTrJ|G|H6{Rf1NSwI_8hp@MxL;sH6#y{;7xSm~Ss~lMhIoWKs%9y&>f)s;Z z2DPpOwQ9S5dkE_Tv_Xd>g`qa^SEEPK-_TJM*5vL+mMNLNrs3DCe~nDC)3CrUlS;rXJiIo2MXC{Mi$Y&D_q5uuxH6m&sA~ ze=I=mlaiQ*5OKVSO}YHcql!=rN9sP+%z#mP%ZIvL8^PeW>Dl2x0B>yOWloF00(83vc|x zqhf@#h0voo3E%t7>9O~PLZu0dI_r-XbdFliCt>EURBxG8TUbV!vV+%R1!XD|w|X@LuO|aUEROwbuL|^tBrH%z|kV7EG6!|F6=$pU3wy z!%P=TEk?7l9*vv&XjaHI>MvI6uhvyBa*fU<_?-;&i$-7LT3dj0s1caDH(QgAN4@gcE&GE7q_J-V#d2H;#;+}Zb zi<)F>Mi4<>wn$bR7LtBYO7(BYP5%ee?`i&Ts_Fy{ch$4#-ru#r^>2Z&DrU`|`(}uT zmqWFXYK2_Mr22s(KGX`RANYYZfG}VT@!C{BKwx0IM2-aeZb%6B+-*e#>IZJq9FP4s zB*eQ_RdKxT(X~L=0@tJkI^yA)T!`*8x)$hK;K^DbNQYdUu-IV(WjPCxwQ!{kKoAgF zslfsVJcz}O;YG0s`ii74#A1lgB?p2$2!8OfY&zoM$*$|kSKn0P!8Xx>w`Tr>g&T$~ z5f%f7W6yw~>W|LF#+(XR6c7MJX}__I3VU|{Zs$=M5kaLYN{00IrwSDy6Cfao3jioU zE_TTqWdmx3UZwr0pfz9SASEoMbVZT9+&v>b@KUu%y791HD*VqQs{!Q$ z1V)CtqL$#n-_7seuC?2#Sl&ZaGV^~;E~H;fWeEApdzD_@ zt@QdW>4mU7dfd=61zhxlRKlQgVV*shpn!0-0iS91cwyCMeSz^!KZtt<{fVmX2ZsQ^ z4)QY(ZSrN1lQG-~<_#+xTdefmnveTWhSGEYu<&ZEoD$_R>)y}2@~!gXJnk!1Hy(0`=$Ayry2KvuwL5l_3RdiMPIJ*o>T#M`Hpup z-vf~`dd)pii^+VwJ{qeT&8q%*w%%Q=H7sVWv~eOj^V=GM)wp`W?u*eU$P|JY zG%K{YXOd%+*)>sYW@p+E^&V&1I2A^|Gj?GxHY!M5RKE8jlRzh*f znBe){t>Z#~6K;%`x{BF|keR5c_<6LbO)>R_-9~pJU!_w#T&j7yH$CSq5CjDKW5@<9 zl2AZELZn)O^?0fu*rP)}pn6CJ1jGS<%lwD5U}`HWI3`2{e`{OxS*<{j4io{th5Dh} zgFok;uKRj7ss$dmX1-BhraRfL1-cga^t3<_4=iBPTapC`ixz$W{gGKdt^oVY25S); zh8+YcXb4)+cW=@sQsGo1KAKJOwKN zV2<(vfWTB5RK!y8nw7VfbKsvdojI6`oaCb z`&tfaEr&e|p{}uDiVcRv4!0g=C9zs*He2clo1%m9`qp$-hVxa0)e`E4KK#geISzR| zzJFRrSXi}{p0_|Zs(RC6CcwNce53(?xduTFnHA2`LEqi&+AJTef|*cD^ZfVr=9&R6 zLMrU?8Z+K^B4Y|*v+#dIP*^_zGz@!`jrB!N!I9*HcPNg@FYQ0Ht^r*7` zA1*3;4x1apm)f(SF*WhYMh(G;wO#{~nm@@#p?H9JI7vEWNht>VX8hrOn7(xriHE!% zng5V&Z7LRnPaTY-dYo~8I0@^W>ey}3h6dn4fKizqgd>1mhDSdS z3;Yb3f4Fdk!(V9tp_@9kg#=OkxZ>KM>FZ=4u6HJ4k?+5Bi$I7OpzD7E;kfpq6qs46a?fV1%F zcK$<8t3gleVNdI=fmVaQ(UE{wPpW{s%(Qru-(xO$t46cwyiBkdJe;hzCo>J^^U_20 z*Oa=qZkn8>&-|{b_~X8omP*Vw-1i}`=$rW(?q}ThA+pF+z=Di^)FvP3L-aRtPFV9m zSXoGW6i7fyKvGx+)tWVglV7}!-}!J-?buR@&q?d1r*Yx&-drj&kk$7HJ09) zR(fGe`sXhdedSi;x4PPH`JLk7X*7IyjOV5WT3LzA+t@6jOn`()%cQhm;(04QiDE&l zmdJl#-<%=T?ByXKY-ws^S~5xS`qs(gE2fix?ImYz|m>e8j=x5+6&6by_j8 z;2}&4#RFkl%%{jZS@8TKsyMP9lTCA~CRk|At4@-Aq2_NB4^^#u#ihJA^4{fk1s?8d zUd2(Bj0FpuZYp5SdIKMAyyDrMhf2c8f&j2tuCw9KYFP_i1XPO(K_d!cgN{uT6}7zo z)}C7@*=C+&@ESrH@ty}b2*7K9&n=h?TV{6+0AUtPRP|Q|ESa}=AmCUqP!W4HcHeOW zxd6Ki5PiJ;5*@+dXh5i1i+-)iR!__Af$Bj|y}D=l4}IK547Q~}a;;{uF4cUd%Bz)4ffBDtzz2{y35*L3o|C|8{6BLX zsOmgeO241hrfm4xA=XNj-Wf@U^I%Hs;28zsXDgKV>6I)!-P zL}+JIM0js_9*Bo*ezQOe>m|#58Ti-z|Ji%fAIr}B&hPh}yVYLR-CRUcTttbKL~5aI zjwEN2*a8NM;dnBR2PXU?m>vVN>cU5(DcUASdK%vR1d(S=RInQ~P@Avope#6QOtFD1po@+(0 z+iR(M#%)8a+}o5lC4>}eqxSA|M*mSR@sz6^_V(*|ma&vV^?=pVf4X9d2m0y91CeW} zw7iYsuGX7b9_xrax0Lng`NdL+0)nMO^;P{Io(H(EZppC<`FJF9acG$tmj)uAjgy9R z|L_r!@17U=+Ny<7AC!2Q_XD>w((zxPdp{o(7NacJuwEJ(DG7+nSgZLz5KM)Uy*d^- z=|Gh@{mRB-5wae_ZU$0CN;`TW2!bc%2V(=CI?cP*HvjY8EAqfSdEt)@1^5()_TNY_;D zr+_=kka!k8qn1C@nan0L$-{A;_6Fr(XOL5WC`-dpUMMr9gMxB5T{lI(3Jt#L z&w(uzKskyCDl#A<$bLXp$~hfbk#T2Nae6)t@gRl#tCZ#Y5D$`M@gNoKC;18k$2H&Y zUEg4K?tnRv4}jO*q1g^JTV|7ir?L7OtKH77El*f51puxVOn57MLs1P)B{Tq4fIk3E zYViRo;X81vpcPqK*-etepG4 z-t?=Yc;70HEwexsCq4Vi+KPoggLrX?Tn|;|o0{by(h3!WTH_dbKpO&>C@_Luk^_2b zzvQ-AkQE9LLi9MgVir&Kc|e`8ThVrPMFID`>Wh7pzO5x=j`>s7trg_`Lf-D;m!IT= zev+-RNOy!WxQ9mrCaKYh6ASL8y-PequmqvBAVn3_I}qb)GG`U_4b?-aBKRJN2|vlx zY_)W=`=fm+et7oh0uiei*XMqe^&UWE0p9V<0`_X2N0BXz+JWl`r{`bV>j2hfN9j8E z{WEHR{dRNIIyNB87; zz*6arK_PGUle{%Z@)1PvEJ+`GxtYk*OCmpf^v;NfXh?k)E7=b`UN(~2_|F*A9hwqG z$pvyK0Q@11-JV9XFx+~N`wys#BB$AJI7=5Y#G<_dtR$zM^7)lxVqi z+$;#~>=u5efKUrRCBK~|MpZ$!P{o3YD+r|?*B9d;V}p(57NUMrOPosn1L`-;e}H^w z$fVtr3<=#V)H*K$M(=yyyx%8~vka#*+3FATY_ppedZV&67)ddnNHHyQGi;T1DfAo9 zSV;%wa3==1-`X3s@WAeKSOl7-lFf|}0=ys$)KUqeiO%OFtCHzXqVh{EU~qzgf(G=0 z5Mrx~wyx22hFU{fKjoP8BP=1?S}NQjk*d?(quI4|mKW3i}$-q7t#RGfg*vE6+DCUd&2XYwsUXJy+@3Z-CKJ$hX50m36 zJUjtSUY|nU0;jqKjyPqX>T9k~zHWiK1>(b$<>~{-0B{P_4){ifWD`Pwg$$$w z3!6I*ea<;Y05ugHPk2=a3noa954>`NmJTZ@JSlVn0OPd30t{Bm9X7M{sB9bW{?J04u_@q}Z1f581egZMt^$ow zxyQzx4f~E;aqvk1BR1|FTdU<2xHpgi>m)v_mIhQOIyl`TeAKIOAs>`DAlPwcK>NyK zQt+J@zyzcOe=`qo22Bg^e&^EYHL#_axkhj4XL#hChQ7x=ei5JBl1=^$y+-~u8aVF#6qLv%|Sds2xytMBcy6_<-r(LVnIvFD=F7| z$p_DGnBVsh+Vg!uaJZ9u_~M^ttEHRuZxz3|>dEq44CF&~Lm%Y1r=QVp6mVAZfoCe~ zd+D3}8=%`!!MD>kekwr91fDJ5;oTimKK%5m$dv(Tbe1o)vwVFq%M)#p)kdi*hyCij z;k&4C-kKEh*%Uh^kze993PlB4uGS+2tmzi>Rn!@S-7abfJ8kN=F%KK_#h z68S$$V7i@_Wyv@x>ZE66hoDm6v7&!4PBRX3{fsxNU_b%KD#(=(VZj8L%;)HXTisIU z5#GZXi4ub2Xt=P3+Z$2FxW)e~5bfkB^Ar7(M;bK*@8$br9*PR}TUK0{{Sx^OB?`D! zL;CHeOgjxJ+D&PsLfQpWR#HH#sNxwo6WGIeE%D zK<&G9jI&H6))Wv`C=A0gDKaHk1JQpt&aOq|uHr99x1%&5pJ85(`A}6(0~=464`1I& z^63z=#TtP1%8MIW{@X8>^3u6d^K)wA;ixTNf9@=`KxH2efdKH&9-KWk`&{<8?7R7Y zrzBP7z@9j)k{}_1dP&~ZkmPaf=ShTQhW^uv~Bm`9xC?Fsr`2Raz zh`8kvo8IuT)Vf0dZitQuqGn- zg#*HlgQ#FQXMj8`l>i<9<}{1KLAM}J07qyiE#k-LgNjTtEdW-OFfg?UsuT#Y2)PV} zM1aUBBp_}e9n>4!ubcK$3oCs7wOVvn@etL=cM2v)MQ5~YZz}TXu#iiAtLVJc<^Pjx zqH>rfwVF{dknJIf#Tp9jgaGB@K`I1l13}?g19P>5S}A!)RECR^Sw9Y)h>VAM=k_yG z5+l4d{PXl5SCf2WEz2K0S<1IJO08NCpZv~3A?vG!_NO~-tNSr-xbxOrQKQ#IKdc1# zhNXzA9$fXLiWndFPUCgoXQkA_c%cO|o>#tO>gCWYOJhP_l35`P`gh zr&OrA;a9z+!~?%WQ9+e6WU649rc7j#XE&1k@Udei9>Sf>&$Ft4v-7kHaPl7jYf-~+ z?qthgW2Zs)O&gy9ei^eNQF)vg(|8YKKA)#;ltA{p7PIPdi#Nt4wbwC47j{onrt{+X z%S)ANbDuvTFEndJvgT0m95TK~Rl3d}Jy&30JJ(KfVcpa_ffz+!*iQkG>{7Y5nIxHF zZ3D(l1`r|CotC6#AIIkDijd)-lT4n83D<1CfZqy$?D=pxAarU;)d7w1P2KKe=b5R~_rIdyhl7d|V z<2LW3AP@CJgixbuc3q$Dp>-y9^#jM^hYW|a+Z(FnfzV1U&>Cud}%t%5RSJb9Ju}p z-l)JDZL_&;#KWpuDp}QLs4yS`2&yKF0jMLwvm;cK<3)8SmR9PehDyN|4Hh75wk8k{ z+QtCpZmpu0C8$q43|5s7Zp*}Xa8C=jc)F=2$t^~UARGW6`2k?rrm7oznm#HAtLXfw zhx#EIz!>h|d{_e@APf9o{uYXdSTSn3s1p<+q(|{lRXjvVDFjA*$1-d}CF4OmNhPG3 zdN)Vp=@aznZ?0u|khxsVZSKZ@~yolrXAfo0#2Qgo&#PVm^M_xK?IULon_H@e6^h zM7{Sf#vwpsv)*GYHkA#8XohLYuF11T!qN%inu>Sc!&u8a zL1jB62Nr#h6wFcFw*Z;dGUrwW1Rg+L6iPshnoa3-%zA05SxBo0xx2Imv8l9_ayrX-TFQ7jOTGRumz%xZ?)J;hc#=Di4i)nKrh9u;#LdH?MM3w_e1hYyqrHd*8$?}+58_>6O{eg|3ufLSkf;iFcjeit4|=*=Am@zL(F^W8z@8UdBr+BtA3m)X*i{G! zo-&9ATm$&w7}flT$nxQdMCm|o0~v~!oQP28g33M|0)o#3altB8HM~dNK3S5;1Dg4b4KOBLWe~Qc?&FH@R6kQfiVs!A*v==3<304!>jmR zdDMkTWzkbLb*LJUa6Umi5JVlsgOU#^B}kF_b(0qOa5KMLi2Tp9S^oZbA`87?ZsL8- z1{aW9ts*?cI3~1P+Blrxme%u+>eo;~xF@_;qY~!nR!V>b>i=CNSzfdXMSQw>Y1ONP z3(+Qg7C;@+06+k+fQm&8f%K3EJ_p%AWi2n-SFIEvFu;`~#B}IZFj{GAU=#!g$_c} z9|N!`_~2GlRO0fY-NN3AbJGll(y|^jcfl=ilq0v~otFQt-ZHh9@9I^Uwk(FI?@wh{xZTcQYI;C&CE~PL}UM z(xBEbW^+Ybd~@R##KW2?9!~p$4?_LM*J|)?WOu0FzA3hL`XW8Iw`0s$QhPQVN5f7}AKQjm+idM*8MrNy zCN=B0Zy>J{&3Ni7QBdk5$+*PvtfJk3SS2v}S;iv+iXl59M3}K(^8lR84gfncAvj0I z`>^nX7}9EYwd2{%wz&@2-`iNb_DeG-AZCq*72dGifkV-%RzVeZn(AAP`hJ zqn1h)(!dJ^m=hqkc)x=F+#e<9ckL7*A2k2T33Jw99E-W1&ca;BF(BsWwo6zlF@Ltq za!JXKvGq^-9(|R+GoH_h3}49k^nK`iI_D4Qzl6t6L_Qi6^2Sb5o59Pyq=Y=SY6Grk z?DHXTsQ!4Gc}+YVy6x)^JXkGIAs$foQw&I99~ldf1mqs>RQK3>$O882?BgLJ*vmiS z|3)DpD@zm(ABo6iFWjSma84-f*@uVvP5H*7?(H9}J6Keo$LU~`;*vnb_%n$6_<<4IoX z4WvaSIh$3L=%ad2|Lfh#IIZG5<+EGhz3TJcG7yRv!~oVtC?M3&I~ySYSftg7fFN3R zZ@@u#a`Rq3r}ix#0;)uTgHKweIyOru6c%j$&!GtDkb+<@>J@n(1cs3w_8t7oeE@(6 zYX+@Arh;a(;Xc(CijrkwHBCjVc}nShx?NqEO-jWeC8g zduVff6ewzy1@PlGPe=8v4uykNIvc=3Rrj@VAs-GzE_Ra=52zikj*<)}PV87Gs3<4qq=K9BE3)p&i9nHbOX$P{WvE=pBFMX)6X5%5 zE6camv;6+!SzcHxE#unh-A=nOAd5h5C$5ePP~FeL*9*?)73x$GbM5>)kHqk??352_ zcfFYdTvfmMDM9JxC%-+)THXAsog}~Liv0a{lJ|xpJ>Ex}K)jT(42v))An3QPB+stj z8{)wST74Y&2{I}?_W^acdZvH?xSeHFn}s?d0>}A(o(C+JP)cA8rv!3SWJxWWY&?W4 zfDmQuXRKp5P%FO{RytPgu6YgPEISYno=8O>W&Qwg<`v^D_Dh_XX5To$%6CE}M!+yi z2qnPPM#roGA#6jTcH54UB_kLsl1y6-8MfQf?=&SflB^a?X$`<8OO3fx3#L%kXue1` zm4}{quwE77;h2a)`^s$2ezR$wPG&M0j%B*tEz908H~OQzG?__zmZea#!KSAhUOK${ z5U<3L7B1L*w0SoO@LlCgRoTFSnU~duv1O_Qau0ZqhLmeIktwm5V43gtOZo_-bhdW6w?U>ad z;qgi~()qmLLX~?upVh>}ZJ)*Z4Rs6HfE89tDElc2VuXLki3j$(SRAXfnvcsorK(2o zAKjMtz8&HL@`7Wsf5t)y^#Xf#6b~F12Lp(QDDs=%hw47OzBzRZ)GctbTA<#?oUHp% zpH1BYbqgG_1@`zxLNrh{!D0oa0Yn7<&F@+8uv20I1IYl{z+$KxUbUT4;%~?D@^hmC zk8|K$s0QI&@Sda!q$VD2)6ySY%ik#q`5zidzE_B>r7WH4EGGcpu2$z80K;Z80A0Xe z1$~d@F5bU`1ZY6fsaB0f^(%qMZpG5m3P=Nwc#$U%3W#brB%l&NyjJJCwE-2Y99OLm zsLofvXVFSU0Ibzz^KnL1p@GSz*(+%!qX(}7Osr~%sa3`Tgh5L19x83QFXypfqB6bW zWlnhHwe2jE(kgbjcZ)3}PxiTQ2PPg2e6(xb+%EN4t1E?m2iL(X!ZaZiP%~H%rkw-8 zh=Me3ffSh;8gjX8*BPLm24~}Cj-}FM*9ylfMeSI8F4Q0TT~35VA60Vb4!W3D%4@ru ztTg*^OPr1_(b%^%o$MRpL@Q;g9l+Zfl0eMX(e z`~Ydd{9(2^rs`7f{-}gURYA55?}G$kZXin_tgxo$-%s`f1R~$1=K}D2yX+>nUuqOG zg@9-jGHW%ZY&T@qY00G3)b(B{UyuA~%$0LGRPHKDs)IJ~3DV&ho>`^7rlpKVqulEa zrQ9CO76(IVjV8Gm&r(s&a+7Q$9cK3-9YWy%QDS|_=5N#mD1jh;IRAwOyFXU6Veex; z3uUBo(yTioY#Jcm?+bI9DdtQ)0i+lO2&$5COC{z!2nOa;URFq9#Ui2j(*SbTF3nxb z!=v7?Pz-TMz8i(#+dGB4-AfuA{gEpElJqD*aMhw!XRsp(0^Dr_DYdArmX3NW>d!qu zEs%4D9Ds13z>a+`;}awS3I%>B_@h9O_mS%W3Bm99!A6OFdD!K#XXbtEn;{^c@XxYe zXW#smlMwq74-ZhY*Oywiz^QA2ns_*Mx2!(lx&`VMh!%*-hDwV>)daFlR1cwmKn=m~ zSonk?2-|2#21o!xr>UU0>SP2mQ5HgX><#IP3@SNTY?1K*@c>MK(&EFE5{s$&b(0pj z_-THr(U5=LXvp{4NzOGJvVf;&-j^H2m$c0p$24%+ynJ)_9{UG0mx)E8o z3KL*Cf!d;F772j*8XDt zxGu{6bJWeFE;p4SGBs3$+xQ-s{208#IC>t&$^ zF{>)uPN_wQ=Vhq1RK-^5usC@YyQe)-Ic$#$xiYdGhc~v9yxmRm{vgSghKzgf4^kn5 zqxpXjGjchCG?-^RxYdk~s9`=|NplaorK+hM1Vw~P^OaF992pPu68;Lf>)(fU%fbTH z*rMT`Pb_Bn>ROiPRz$wMTFQC)grJEp8O~Aw zaQ-h~uK|E|zfR=&pOS$zx*nEdn-h`Ow?+QHPep!lP2{~Dk&nAsJ|ASo8Z-7U*QHRq z@*zUc3nw1FaBqo+YExJ99~hrhDTNYYlx4GLsw~D{I**S1p#*gMr2xbgh%RjWy|%;H zX5$v)8pNySh@b)kizU+mRft>f=(DBsYpClCc;*-ougonnoO7!I;c=YJj&Bysik_x7$HJm|zVBgyuiA8ZusJ%edXtk!?8@($*$OIx*A|6IwRUGhMRp|NqbuPzhkWh2af>Oer zx!iM;Ol@h(2iA z1qBvNG^SSmQ~9Z3y#{8S=0@II{TfxU*7?o4f;K>D&{ZoT&l|upgK%jSAb>qlgszQY zz&n`+fJ?K|fG0wv0S4xPksdn>*$9AEYs-cHJ&M=?TsRJY2Ur5ch^ot|NDtd0^M^K7 z0tZk;h<(0iP8^5gA*wq8epN`2RnajJ4t$c&J7AV?vlZe&K^;F1 z$KnPA!BGW%{QR(0dTd4H>E$fXuV(q;qR2y?QqDnaVdD{DpU#zZI)!WiSQbgi#|S;u z`{I@zZqt3=N4=^SKvb?P;ozhL&t}ylzFwFg&n=^CsWNOPvN^@yUF6*zkvBH8{KID= zKm8=j<$=f)0#-}b1CaFoJ@Ag&N%HK*-4B<(-Bs_+e+aHn$A1NYT>&vLP?&xNxXbvD ziXno@xm4y!G8+Jm8H#oMg(&rE^#HCdqlfoo9qUjz@IKxj*$>?=_DZIBVBSR;2Dl7S zp|(4&w!@N+@p##-do%+A>m5{gGqbEyB3J{fO-WZJqW81jQI5p&BCuD&eu)eS)DM$Z zLw_K)875eNh4S@wO|5^Q_a7ZZ-AX7-JN*bs=ueG|*NXkQD)B&HF@F>M&8(Eo{y5Jz zyRt-%!+2cg(L{>rEVocN5R-H>g+m-jEuoy)=l*ivmKKV6rVw46zpE7zWR(XvGf!i| zrHVgQD_9>|o*NPCgu}Jg z?z>|R!f%*vwx=TR_X<_}{c4;4PI7GsF)z}mFRMCZ&j_owf<7;DARVNAt`5b+MwUN# zq7Iin>V2v|ceY!gQeX!`K%pNa0Q+h(6d@IO${2syhhxXYzbG5{JGR3p89q-b^(%XO zo%8K)%1a=x6(|A z2jQL_<55;s?f36Xt}3zu^T99A*KfKFE82q)B;5B=S?lL z4sNx?In9HujR?{F1C$t^+ptKuHDQ^q@}RF!mATWk$8ZIUDF;SCtip~8WeGqWx2?6c2IU^H6AKvFLxAK3*Xnf^<+TB_Cy%oxtFJvy&vC zwvlDEDe~~5$kQuXo>k(Zlt(u6~Ft zlKc4#2Ot?L2l^k+80Q$xdf0w(KdGO9tT>2pG8U%z|bg5dwJ_Y$n_5<@^STBY8003W~hfu&_ zhX<$(QO~&OBn8I~@BOgI2`eFd{29|j6+zfCpNEhIsMhLwvL9A&3=!r%jE$NxuNHnb z-m~;E(qvb;NUQT*=Q&Q>z-xXte@^y*|MNE64WKSlA>&p<`kj_cJ56ac3u!hR<}a@L zEmJ@!pMSG9SK`5Q5i}pe)krZODafyR21Ybv6&Ut<2e^+~d{UN@C(~R^rZOH)%kAz! z@>Vae3`ST=rp9bmLO9GXeZS*Y6$3#$sMTSw)O)KIl%D6n{nvX;SU6c(70X1;9rCpT z&BC0>wJAB}D#)1A8NVnR&=6^eUsb!XJ}|OKGn;g5V{WvuS&0XfZ5|*UW8z`69I7`= z1#>YUP7C>%T%#ScReFOQhk+GEl;I{%12R`tGmUgHR8iqYxU?4uaBp8+uZf2P^yxGB zmYiOFRnl+&Hsi&+%`2Uc(#qz;<>kv;1EjcRNfiVS8zz8aKn(!*PFn=PIjZ$; z|IH`+9Ra|q^1<67Ix&C{KoC|`*d{<4@S;K=FZ`%RRV#lFK31{@P#iFe3SdHtwZcE^ z!x1?Jd>0k1TJf5bZu%i6cpsa41wkmH$Ery)B$DO|sKt{KLETe)9&`|AJR*!B4d{xbmJgC@1r)jTw*tK1sV)AY=LB0jYp>IVX zG?ly{SoAAx53zRRy{3wA@TCGSAGTLj?=$~RR>LR5LN4`06%Oz9lY%V-M|a(~I>6TX zckNy2X<&x~Eg_-Ui{=EH6|#Z7e^+9{zd52T~PLkJlME-G8 z_)##wZK2Tt{OXwOB&8ms zVSqFQEJQMYhtybHDAW#bm*6lkm-o!Al^kehd~K?QpN;jVq_Z(0ES*pxhSEW+?@>!Q zxxl}wOlycLnotoi&hk9~|3;?oD(d#OQL?x4K9mm=ln~8^hDwlzqt{-A7NmpB~f z#$=jWlWA_EZlDM5r*hEQ#`A;bR#>i9vCIuSZ_c-ByBI{&e13Q0LFY_Y|Itq@%slCw zU6yXqG%*rC=6BRD6n8)@FfT&5LsW2Vb@1z00R!_Oub5JlkT~L;SXDUi-{cy7HY((O z!sEA-yxU9iN#EwfZRSJz4&)loGCyH0=$TY{VnM{ySlW5w$MS}1;^BdtGUgZj>Z`eU z;e}r|AAh{j*_zCjd*!6D(pnx%S4NjFZw>zBPhO_1;)YiRh}RzWAnf%j*BpfId^PA} zEyM%%#}E(LF|q%y5)UXJ=EMVSw$Cx+iPdTSL1@=jEm7n|$pqownwe3>+W8X*Oc^#Gi{I_o?4+s(* z%eCB%gTzLB-Ue=|0T9qfg)l&gU{!%y1&)`qRwSC0l3u@OI{;5v^5%)Es6h>H)ObhvRC`vjI zkc-0Mg8?DyNk*Qzv2P!%*2_kQLtN)xtEJf1>A%$rskC+#sNsDYK;mG{9LRB?CkQQw z94c?yN!A)!&b37zUCi>#QkJi;mujs9;eg5^TyNsE_Ywu#=8J_~*eKMFB@{mZZiKCG zqDd6!}I&R$M)vxZn9Sn}}XbtVw~0*ODYedYi1mw(y#&h}%Ad7-&cv_@+wH_KoIrB1LnCF1{!v<<_h*8x)gS>TNHJ^xEyKqaXa>2X|!Id-7ZE z#xtxcKHQ3l90>N_PkCT8Sr4p8AsqO5*NKP7<6%#(bx&c7oKl)SNJ^5^c;D-Du3O+% zEpV5&UUlQwEl{^W-2!)~1u8O37BAlv5&l(7&^;wlD-c@6zf@6BVaAw;43q^B1O#~x z$UPx1$bsPh`5UhYpN4Fx=06aa#ZSMkwzxa@wtCcC5f8jC0NSYf+^zf!dB53CQ1!n( zG(d(*JggoJEZ+ULdsPX2+^x1>8w5B)^{ZARy8k!-s*iSqECcuAjtmUU+^Q)U6mTu;Ivhg8juAr zq#of^vR4`k{3&Jm91!Z-*6hM?oKY&xU*TH~n1a_iU2ZR^2Ljkflpj1xB>1 zg)DWm2^;`BG;`!=u-e?SVmD1tRCO)YaS4oup*L*H_I_39{jlPAMBLk!5ULT)9(yuK90H z=eoXtcw(WDbL)lXIm9!sZSRVc@F=Ih03!2wvm7ztQbWJ}pvU#x$34)da4R?^9h?A( zfOyR|x$TXr-*C5DKuJo+8c`5k9f^E068TV7L?VClxyb9ABA2^a!`XQ@o?VseiHDAR zG@gJP8ReyO<%2&*`Y0ke0v#KRlF$I?kS;tc3Je1oK6hrkIWSMG0#g_FadP) z`3RCGELbg=+;Wa{;QO@V-tz%?KYz!<51^XH2j_(-WDI3I=C$I_CjrG_3&_|_R>6e( z04Ux`vaa*PjpM>T&#}?yNpg{8hW%2rkg_PG=rm>0X-dCC2z62`P81L~ymTnUau9-K zYLO)?xJ$3aKbU3;bZVWQAN z=OMqZmTgt)eTIx(Y}-73jAu9CD)51bT=cy85BPANUm?fAfUp!&kkObeWVCG(kS%lbm<7N}d`9=1S5g2@8r+g?F|l#>?=708B9 z-6{$40UIXN3Yyj6Bn2b`L0AwER8T`gKt4nWA!B3&K|?-3IE3{QiVD7mEinPnH}(3w zhs|>4zUp?w0~cJahzsi>Hp9(^RRRKjQ~kNwv;S7*1C~3UkDwm#?&W`)5kcLYJ3bs< z@@$%U0qU#z0qc#SJpfc90xkd`pcqjL3%6AQEJDc;Rgt`p%mVi7*p={m!2ZaH0Mxhu z@z61lN|gs5a)~m4|Hj@3pbLNoFcy#)PzN%ADq6gv0V+^J@Sf|y<}9;DAtTP|^R2Qo z7?#&nsG_JCjf`~Q{J4HVX#f_s36vb?aC z1PL)qq z9ZnUtW}Y0R-EK3o>LDtYH}r3PwsahF&gK}t=Y9?F^fjJUa$)#aZP}DywDwd^>J(mI zM3D@qBHgLTyIql=UlaLo}7Ya600T==6ss_euU}&w>AP;9|VZ@AiJX=bRlJ`&vNM|f$+-I)Q(*DTS z(d>sLD@*pwF?K33I5nF-9cz_LG-8nV>UnjN1xx?{AOJ~3K~(q{tHIUSLb<9A3noBq z?9@Ufr^=0Lg4T@>O6K%Z)*SH?1w^MM-F8z_0})n3`46sI&kP5o4v3U*RW@{%xyR(f)y8f~Iu2zVgAc{ZQ7-b^Uf{u@Nzj%L;7-~1A zc@8#JXtWOn9P~54Z+Z;1TReK$b`T9ZCHZ^^$xcW-R)bh7{dz0Or5%wg1Cbs2g7;aS zEaDZC!63*vv1%4km3SEWeO2PY2K4K!mi8eYQj(uaO8;wKYyRxY&t&q-D+#Kjex0@! z$T__#lD_lrUSBTP@`XlOd|jmYFSFzqlB9=4@^WSbnZGhhDq`26O}8Xv0P#%xoaDTi zle}M+(UzKl-&k2g)3jc;3$Z^$)q{0p>k_mcAnbn1 z+a(Q{;wVMrp4|U}A*dVhe4QM&96U~F2D&%uLaP3IO}5xhVt~`^?|}d>{yoZUOhp!} z^N?t;4Hys1Qm;&BOrDcx(m-U>#pfoKSH+@`h-%X1hI9^!r(jM2;%PU!aKEWJUG`;0 zM^Z!N(rR`#VK*HjL23ih00!>Ts_g_i7C3j3Y2Vp_<^P>F$XMZusIR zT%02b4_acFp;vw9)TC#UDq78nPWTni7ku6t1G{H@dzle7~ocFFN}ms&5FlhGN&9vvIXvMmK0eXcu4 z+PJTa!$V+`PZst)A#8M%JO`ij7=5lEyIRGGOPP~xZ~v~ozk`oA>!lioz}THf_c;l* zLe3bsS6Ds_xk;8WdC-XI?4Jjs9?f<)>pq6F$MReB)g*?uKZL|{IJd=!@0i}re5*9y zX&|6{VFRoj-Aeg+{sc6m`*6yj?&DO&bR(3$drM(uI~=v)HFXREvb4keLZuK9d)Xfx zxE+zG4%uN!)KQOMWsXYLiaglk%7xCoZsX|0u=p@qw6uf-tv=0 zyHpCquTbq2zEs&o{fX}B?X8F;tZjFppJYrIAe((6fJwO$0?)rox} z+`%2M{4P3Fj{T;N&fNgEz7nVM$Ff~)ePp%4g4wmM((wqf|9yv zj(ktntpHv1nkPPm2Z7<*z44bVPP3cCQg?(YjLdEaFTKh=gN)Zn{qkSrJ@N&U_cn1m z4EXou8M{jH=G?@^c~Sh2f(jUUF7d9^Z%HDY12_^j+I9A>UWe>%F6YcH#!g>f8W$MF z&nh!&f9D8qb_!zQ=h|?sYuC=p`Th~7ltuQ6ETUg9lKu!5H!d6zZyodW-0;?11^g=i zkC?1mt$y%1f)kU*YlzCCs$}OGp`s^d2=s_p>2KCm>A~VvXJ5MVWF#3XB^y~e4t8pb zs6o^^cVL;b7Mm9&r#BJw=-8oXEbj&1t>+%1@n_T{Zg~nHnuNkw&hnsPXq>h$(hQH# zlGhjDMhl-3l{VPQFF@N5kpuR6ZOs76qZ44c?a>MkmnkuBY z9IO>r(|t?%9X}b8G=dB$4M8b&K=y$E#)IT(N$#GO)N?`T#vNLr-)31!K543aU0K2A zQk0g}zOC1bx8QNvtYrsG9HGcz{%ArI*ta#@x$)Ie1w?{bi~7Q~J+(>&h$j$bT>Y<9 z34`Ag_8WX=HnZ*;TL;vv4xRQa?H{A$&yMBSZRmINtRF?_DqL0RDk2WJWQNG(d_?ma zDPe5`=;k46uDY=nE|;8!t6DL>lR5|XV{8Rrs){bwsK^6b)Rd%GP@jvKv|A zxzdtlhu?aFVBmFwRHbS34UHYbu2!Dh_Gy{rZxbW@Rw~|GpIKFM7vx6jyC!xUV%e9d zgnEUDDy<{+5%CUDQGIZ%_6r$FR<^662Wg}c&>INM#;JMwroY3O&FIU~(aLmjTr-f8 zEHlPD=~Ba9n>gZ%D9+Ylx?*a#qE6Q}Xz3|^?B4o~>Ke(_c!bvTNkg|XVCn~{*&-gq zUCK-%hkDbyXDRZwz|4$en>kzrU>7Sq@bZ3qKn=7S6e%RZmg?zOJ<^k>U|u5Xh*LVn zC=&WIn9;Rro~O+1&fE(uf!oNdQ!za z&RrQXk8zXuX=*SA+I=l`@#jw8{NqO-gMrg~7pIm8r+M+1+P%yE4o_>>^Pgtksr-nZLlWMt}hAjnk80zUAw7>k0^xyYz zd-f+!iE8wB8T%{JZE9U!edRVeus&M*R1@kW@A54&WP6m!y-$u~?>eyAd9eF$%r{Qz!DDHM=%U|fF}ry%co4fmhmN$!AgtJ)672#) zRJhp)yF?#1T0R7&0Er&C-yEN4mdpSTs`9U*IV-C1X5sz-YZIgsd=~z5W4E8 zP%(D^y&5q)Ad$`xt@;x6Zs~VzZB}3Edz=6OD5i15X)BcUH4x#oRTIKh4b&jQ1f*(C zApW%4EeK+n{n{Yahj|W=`s`Jl(yT8Fpmq@hy!ScDK$;0hVFG0Ycd7#5&g)L%wt1WK zod*0nXHR!7-{5Vl4y#jCBGyiVH+{6)8nYjeE0C26Z&d{WRc;Bb>nbkhR`<9;*6Lh* zPKif~4*8O|{BwSpno8%C!5BI3SVXtG7W8S!*FKwkQ7^~EnHJ_i?S!qwMh|?!(#_Hv zx=4c5YJF=$Qq?ahCy)sYbk9|EIir3mk|4ZyLf=#$@J5Pb&8Iig0p452#A2A-ilC>X z5aE^16XMP8i-R|-GOL%rZ2YoFFm4WUkJQFQ`eDNG6O@sF>djueCpLDUs>(l7ZbL-0 zic)}w)tXu0EX%8*No7Vx7Rw)tm#;zMsAy#J$aLc*}Ue<0zQoDLQj# z$Kqnob}{*(0Bzv#=5!x3PMP8D4*mK*i;xxs=|B}Ah5P1TGwy0Gq|LU_d-*h9KX)|j zGn;*HU{R4O^bbb<;KTt}xS-NtA zi>BXaZI&%ESNGj{U}#td`CF}o67m_kSid2Iy+hXe424>rUBXkybmui%l46ijs;X5bDV5vOOM{mKGrek7o@!ecH3pF_^mq7T{pCQwi zTZ+>1?8cu#w-ix*r5z7Rk$z`ESDhgkH0N{Kp)t?t9WO_7&9?i=BvV)Sa+7zNH6tBq z3=%1_W9!QOmMTL}#hD6P!pBkc2kS~4esel@?az;|ebe<@o4>Dr$K!bqi*7OFZf&xj zn02;iF_LX<#)r0UFGg(+9c=r4y2%WM6^n=cMsb)#l>hv8CQ9$WT^`(77)ny~LEvp9 zW;~RpEMBTywY&tq9#Jtw6}-VZcuLEpBg67%qaWG}MnJ&m@~C23DlLLHpcmxClCkm7 z(j1oj5;3(3unF2(mh*5B( zW3k$n;irSg1Q|tpF6uDSHN?x{xjR+7K7(*}oZR3cXfj z9nO!SQz_T+ywcW^q5c=j#;?RciFg-jyQvCfL8@VU7vdvK;MK@^QOX{7i>AY%bpJ=s`kn!oX)W9{RpQp02t$o_l$fp>F+7GJh4} zq7HMR*7UFRq@xNC(6^MMwEdsWudRZfg_3+)>Nhlhrd`D4Trxm0Zes3%*oD0u2+6vs79^!u?lgM%e5R8r}>vN-0GfeO5sN4Y1;I1-mv?-5k@?RF& zDEPxZ1Njn+cu!uT1_+f$_3}Chj&Yfi$rvOb0W(pnc2wd>3Th11BY}fuw{8{JLq6@( zWfyiMIQnm2qU#BI5jOQSo6&(w@~@hDmI3~o=>t(@R6IJ#dRI>0Mxf5>)Nf1pH|%H>dfZy9kv!Um+p)~w&1Q;0M#iZhMg zzEeEOdAN+krs}D#&0j!7v^u1nBzkwJ1D=HHu}D%sKHdp0`9pgxz6u767iq>2E)*jUNv2#>a>^l z-9sE>d5_Xa=N-{g#xU|q;>4G9*k2s%3q9N7EK)QUo9GmNXG;Cv{&_|5_Q0r>DJaFL z0xJ%e>*H!;sesl_1YZbsF)`MAdhsWq!pS^RDa-Tit}yx&}Q z0p3f?x;L)(+Jk#K$p9ItXd%j?YL z^#5NLC{>I!i)sQJlo<>*0}$wr^g58@_sAuUszlCLa4r;^AC5t`orJBLVjv=-$P}@t zf}K8oh=LyJ96M#;J)_YmzH}rT&}-?PR$_kP&s)evkUyhkM7jO7L)8A#-2YwAv+ zmayfFK4DrB0%HDEgs8DrPx1kopqLC^iFQ>iHqoWD(@@q7c@xQbfZ=1cI~px@o+R6BxFh6hwp=nduW?Xd@iBLWh-Xo+RTuu=(xUC-_Sb3>lWqhKh4>stZ##Y zLp?Y<1!r;>#;W#DMf6dTXgE3O+4&#_?EKsd@3w^9bB4Ieihp~8qBG3qnJY1hW0J9` z0T=-&zT(~D`LP}k3Tr2X1)owK+fYI@%!8En>KA(&|$1^<8Eh7t732A@Tea@(IRbvjn?SS>+-*ly(skBZIj;U9eaUBq~O;=R&6;%yVk&saxM<60!UdTIsi%;v1bE|3}@ z1NvsZtfAe8fn6+8bsW+4(ts26^-D_$Kl{Sef_^>OZGniy7q782>%*u)iSb^;;q9a>uRr_$(O|&8jyXM?;WI_3Ae9w2>JY>;v^gN5Ob>Doedf zAw9)l3=&4#0@xdN6gmWWFCxNY1vvFvUMl_r#Rca`iehoOlg}MB!C-!P9VnAzJ$M&0 zf=nQ0vRk}iu80^!U8Mkz0U`;rV_Ix*`Y4Wc4>$nMDdiSHCvwo^QSgGL2PB2wK}ccj zk>Ydw!vD}jIJR<^aF-M)KcMmB-@!4d*kN&K}=sFyka zO~6d_Dl5oSfOwCM+ier-7Ocw>2egShl5U!HKsw4({L2>{g^#81TquMKLIr608v|zH z^@ZwOy=y0od zS+_HB2ySQ%T8sBQJNpZw<|CN3XEsLlj5{7df8$F-(nwn~H{eq7_TtPm*)kbpb@XD# zl$m11o3Z{ztEF^YWCO&{KP|OJ6WZD=oh%!#q$r$&>@0CBwWALwR?A!7Zf}xkDLqDc zA^bk9tqez{K=Qhm;8BiT7(wZ9dW-D;*cQhEoFvhstLgi{;@C0MG{i@qX zjdh>5@45pI3&znd`{E^3a-rL4#<*r|jA$sVJOjkwXLzs3YrfXPs4{oF)Uxq!TgX5) zpo{F1mNBvE$0Be3bATxA2g~jl;thWFAJuPoVqa>i4;R5jV}i++XztY$N*1|j%VuIM5{#g$13WNABNGyGDw5{ZG0asZ-?Nih{#U{=DTG z4th}?vK47wrAaEEl+oK|d;imXu~V6uE$Jqja580YAK_eJ$Yr!PCV5pojNkDN2FVnx zYS<{eHK*RN_egF~e=G~wC6DczIe((dJW}YrmO?m5C#cb5Gqyz-<-(K~XPmq94@c)4 zSl$oFXYvhn3cUwzMSDe3!fw4|C+HmQ(q}j3CN$;JgyQgeyBSa&{7K3Y=}7RsQBy$g zG#7IMI+GFb8KlpRZC&(%cr98VZR+dr&Y^*vjDt#8viB2m+`2Zum`7O@9^&i&{@qT5 ze+U;2iWettY}&#Kzx%un973;bSm%O9ls#U>s$ox;G;QuCx$o~?(!x*q)wewu_V=AL zTQWzd)_BbXSzQL7pAQPyUjONpUS6_l`|*42CTZs>@1GdWh`pdXO3!`j=efQ=&pV3= zlpw-8?$FJ=u&eI>J`f~lMib2vC?@{sbaPomx8PsPm`yqFwYqIl-cjKY!27?^f9GiH zs|LU6Ka-sGDImYfUZ;s%A2kHZqCbbXKXjx`D z_ik6}5umEtTz$%9Q8U#1jigC6OZScl7vV2-8L7%Hx-9Q?l**1i-r$50B6jxp;wB*a z4fg|to?)LhcqtXbO|X+K>>r~#DiezqTV zzS5FD(m8%jFrcO{cU#S%hXfeg5`qYQ|56<38hYg=rp%3292E6R*9*;v_xRIk>tir| zh+{Tp{>rZP85;<{v3y0C`!ZMA<8V|Ju;sypy_OVHvO1r5K01T*H0)`q#lO3v{Ey3s z8aYo-_5G*kP920rG{8tIpp)#&zDcxi$GV6-Bm;_3(^Y26R-jwHs3}|T-N2ZZy0tQ6 zJr*YAOFbh#G+_F{N-84_=}nJkHp_+&#|{ewf4iB+`87@YK!uy}%_dfyad5?+xF8u0 z*x|AipPcWr&KmdMU`(lg>-u(H$SO}btN}k{DMhX7)91du643`5Ozc0GpRw{+!4K(I z%4v(7p)s9_VTa`B^e0-4S@_y};k6xK6VK zSLfQTE+<&#Tnx)<>U4Hsa}h4qw9F=jmWk#W35YrA3OhEa$fJQcN6Y2Ot?WuJ=LU+w z+jEtVD~LMRFMrD$;gq#yOv?0?`p|`n%#=jo&`VVTl0Zk&@TR)1q3zz2w(iclU+Z&> z|Es+JmAoZCaOZ_zVW6xGAhuuq#Fdl0 z{({Q+8GhgBU{N*DGiR^|ctP<5=h0)|h>!mWK={*rm{nrbXr~sN`@t3KT_+AyKN?H5 zP>UQOg@Y7aREFBB-f3+zzx7V}`fG2{cO_e=ssI(6e(3>v6V{&9FVc!uR@REtdcUy@ z&IS6YK$-@#E(^X3E_7oK)X z2C(qLe6BMFYAF`D!=84&#C1ID>}YGti03yP{YNYGoap#J4VN&_>+R{$QUiPh@gbq~ zx^m8wLp8ra7dz_7q*}DpGVN8y4T?*o03KG>;j=;b>OGw;g0?}CNi4p#K4FKjM6W(? zamsN2cDb}H$J8|Zii|JRR0L+O(vzEBS3J zjD;phGpYnaW+TP-fwfs^J(uFz;EXEQiY#S!>WpQ)2YC0clgYLOCL*LW(hk1>a_TUi z&;R8lWPG9GFQF@=N&gQrGmsE+fZjsAT?JPJZ{y8j`V=;n=l~jux36J9=LDv|b{VtU zR>|8nTQ5|87}#yXgRFyig)@pi_-yOdyXcK;AIoUirB%Z7o+CtpKCKx=11{ECR;Nj1 zCG#vEBvGv9mf=2ld5J2q|BR_&i%=C>33m#or2B4CZ|}+@_m4Vr*(Buj|FQr@+JR%* zzjEz13}D>Z3~xpS7?Ugn_pQ5sL z{!Pb~Zcaf=yVwb(+XVbcN=`RZy5y$oOTu9+=Nm%gvDTz>SXA>YA(%ppF>PbNJ>Gms zR*4@-Z;ln9A52#tl5eJ6w$}ZI7lEx&(o=NWuX=wN7lmxTG=rJzx4~&}PfG{^@`pa;)qSx`DbJ+E449%YqS{R+bD%)dy85(0=4 z=RmoisJP0@10qnN$jRPI=%HTjzk;9wT0t$dAuKd(q2%D8qh1baR^DRKq|bZu%MMWF})1EdUN*{)`5*)jqO)B-tK z2OTNrir}~lG5kMd$tvS+Zc1*|7(WLSvG9I-U>nZa}1eb;uD2_6f z*yH52WV3X6yEmJ0;w-h`)GX=~>3t641r2A!)79HJBR>}Mc55N*Mz4)45f)m8-(S`= zXvuqJ76j@OGW3Bsk$x6%DW3H|DW1091PO7Fz3Fbx3JG@@?}S*ppDqQB&e4s1c&lf# z!b5=grZx<+`{SaUJ#(dDAAV1oB~g!^9+XE>%XCtQuCYRAX{cHf#7JyC1nX8)VvrCo zv5U0*b_72baWriF-NseY+EwcF!vGWZE$~Q0Qs`u5T3iIQypfzfksjB{$3)lUt?*M- z|AV%a@caC?18(HUbo527WqOKN+8i}x=TD-fEAp90V#cd8Xg>?mfNO?cH2mWDc6M4H z=V-hd0FL=KG^RRXW~1(0#*}%8yWJ1!@n8Gdg4jCx_X z0Bd7umcneQTawsY$G^S$f6@{G$)z&sjqHgI$|sxH8e4X!gVfr&(uvE{N+=bHIfLuf zDH}0oC_){B*DV@nobh&1?=fSAuA;*B$AYhk`c1N;KGNg7zXdqdCfD%Jv7s@B@cF;f zooEPAP9IVk+?4B6AKaIZ?r$^ZDgXoW(wa5yvE(mtmmR;@U}Qn>qeoCP@v6y=?|lYz zcKCyYRW38h7e8af>=`SHYVNU+2fBXe+I-ftsDpW?()8=bsGb#X+U#y^`SO_o?;My5 zH>YfMUpkXKN<5q1pLf20)0h1j#iW5#TWLAnCqrg!RM#(xDxqvpKBl18FW+x18y>ofC|5d#~KR<75NNSc(`ofh1CKMO}aRQ;F208bg))XR|)&EfZ)?DEgy z(ZpoJ)!8WR&!^FyhgJBYA2E=m!~$dSfEd-g=veP|rebkD72!txS%qfxumF3){)h?5 z646*SSjSEri2=+us`l~3TT&GHohC#=CYCMToh27xm(2|_lZ?z25-#IM2Z-<78ej^Y z%9!@FB!XVRtDcIC(Kd21De*kJJ!fAjhIbkeh&9cpQ1$MIveur*X^8+)f*g<%025^j zz_B)nEBzgS2s!}cFAF@Y>J38Bv^XkQM**E|X8fQe-)#0RJvPwi$zcWT=C72NbO(4> zprjTK;I_{uNO2G*H=7qA3E|GmY5JH-LevDCuK55sCL^}?aq=lLSxdnCA+I<`G5U)_ zNE|F#CYdbv%x;0;9`6)>kR!#-<0^^<=XIGew+!Y$-{(GVZL~%f$SsT=9}{bj z9bGO8eFM(=Ed3fy@*F5*{k2>9(39cuaBrJ$?I*~3U`!YEY$T5K3UO5 za_=%W9*>F4!lKyhMwQ>_j~-GVMu#*G!8k9Y#bqWd?_g2aVQjNimB{Obg5NK#P=`?& z?_eodhbwL_qU&aFK+A?ZCTzg{=3{ng*7n&$^ni%S&xg0uut&l4bbSb2Qx8EbMG=9b zwup=f8oU;=8#;!wFE)GsF<~XcZ9{Nny${62(u=fSD1t)r)sJ$HXN}QNXZ!+&rY*WM zVJOW0j?5diH=5o{!rY6U!HYM=rPyka(VBia+xJ~irH?FD@}X}}fcNU;I{LYjEVZr< zxkuLE=+kq?<*?AO5;Mchd803}IvsXGpDy!JZE@N7yM+3Kvh~5*Y{oc=&twDRh4Yl~ z_AjBE+(xlIYww`bKIV4sHC|$`A<$Hnh^d75Szg<@vk*Y@=JmJ@j@Q!$|Cq#2Lh`;5 zVC_YsNAY%(Lq~jf?i^QNA`*`f`EiuQ$8fOAR44GWKk^bg1TJ zhL7Do(9z%}>Er5} z;@MOVUo>5(o8((TEgIm4qys~Dvh0s6kw+*FItrWknv9$z)$LfMV<@>Tk}m9Eva%_Y^+QrYU;3ld~s z^Cz!i4mA?n9(Bf?HdBh*it8f-5nkjc=#}R3rO)3lTD0cME7z##Mzq8p>@$%Iv+&7g z)xjm$Zu-4aSIxkS7*OI)b>vfz+=;UZz#kQ)PWFb|^373;&9g0)B5RJX>>Xs)a$SRA z%+goW(LfBQl`?jF?10!D74Gq~KAX3EHJ3qeHpMdhN9KzV1xcePr50t9I*`U5S4f*u zR4zXn9^oi19wu`t|GJM$kHfvX1@AXH_}6I%_efVb+1t?UhvP<*Hov)&AYxkKMJIuz8W+#hm?A(j?-QL;_kS-bt5pF* zNEeRcY~70W2lT~h{Dir>1CH7DOhajQsjhm6w@i%Ovs7?jut#~RO*y7J)ML7Tf(Uqv3~w9tmQLfe@G~L)M{CBvMqC&e z?~6WMv?pGC<=CyamR>vcr4tz!OIeVfsccz6^uMueu5P-!R9-ajs<9dzE{r{&xMNh< z3DftjC$Qs+jxS75(#;&(>2{+ltzE238diI|Z$zZ~GM;GR-!^e#pz!)+jyXAY%(@@> z?+mLQ&l2yG(Jw%Zn4tIHJ2FbxtePx_WEW@$X&vvrGb_tiL~HQ$t|J!v_?E^+7Ig=n z651F1gVfm|cp$B<>pEnX-RUDcJl3#(CidFoe?a|O1K4~MzZYp1mrb~+&NDyn8@Rqx z$(iT%6ljrf4*g6JEUm*SDO2T?Cme`^sXpnk${Rny5*j6xt11-Jww(F)QEzQIS#)vz zE8L2^FfM0_VJyUkS%;){FHwJtRw7WH1V}^nbdSKA*HDP(mRy*R|#3yM~$wU2GnetKaCNzaoa#BPC}Z$!?4 zAW6}QSSiEjp-NR9JCD^ssh$9wNOf>;99Io`#ew0uAt75Z*E6EK{V@y*9E^M}HKp zqRP)C#r#)F6wa{`wl;FXC4@^(&3=)z%NE0yXmj3sZzE~F+hC){Y_Iym<2I?<+vAkJ zc}B@4B!g%vhk%`XJk2-)J*+n>6-iux0PoVtx=}jM#?PL(^P)kr`VrU3b*h&b7ZANy ze=??#w0~n36DyFFNoP>u1US=5Z&I6!b!SVKdo%MTX%9*LeY#19?P~fe@G#~s>kQiQ zdEqM)D6n7(>Ty9s!X_=v?u|~v@lniO5AseJra6NL9mf|R?TCAJA(+K;KKX5YVQH-V zruiXv5=zY_h2;ci!w>_Hro0cgn~M#wXQHcJuuUYmwgQ~7^=XJOMf;bOcQCDQf~ZoO zEk1`~BwEjza8FqJ!0upxU)9A^uvUPK_N2OwI|AT#~OsZS%SMgCfj zld(VI$1vDpolp7vJn*k0Saih(*Ccx7;9PV`w7>O_Xt16ngeD7sdN;;9ELeHtk5e&9 zObfSZEL@eXrl=iG{zVL3^FtePxpD4Vn=E%8Jc<>CTI z%YUAja6sKa{RsMnjcJ75{1P|s6e93>3S5hb`Q%6%nr#Yqunp@+AsvE=m#%KUpHs=A2x&a$|$9iEXle?vnfZiVgc;!xySXtdOLl`x)3<>Iw=y z>v!$k5q6Am<2-&>g-^aVL(2*~(;@WQDJjH6A<&{*cqbacoYMi#b5WAWxQ|J4`uaz@ zb#_@l5ruCLT1E<4NWnc)#m%@i{OLn~+}>gB+9lJ+Bor7ajQPh6Us!&z?(ld?N?8=h zT1+9t6T}le;6N;6Qxl$m(Na0#qGOpo@C|nzWHNcP^udm|t3A7)0dTn(70tL~?Dn$Y z(qo_ij=58J4;qUU{`f0Wn_1glML7GP#+K(G@5}SQsI*i#9*-6gNB|Ct`q6Ckb zV2-T^p6s*C+$ds`$jqKue?Ub?Ct-{QYN`Zd2FeojcejVpln7R6@Z5R*H59|vjLt9F z=CXIzTKAR+g?Z@+D$~zXhZU+| z&q5KlFSCcz(c{Rb9b=D89^EdE7MOK_Fv~`|y=buBo z(q}cLLe@Jim3RWp@bVE!TpBOIlw@=M)+XAEC!sh?ewi!-!uzfG0WYWyI5)fo>WX8$ z4=>vbANVy^bpcID9MMyFJ4JUqV@3?SCZfQ@FX%**YG3XohV{jV6MAUXf-O z3nP^{#TQ1%KwtZStP5o;&ey8s?(9r&X<66nCpsm%M3Nk#iua`~)Gv1!SSis`kcxAz z-X4R2fa&i@ayG>~H{vBOPTi7^J!Bv%)z=&cKt|tOh&Nypuu#f^*1zE}yT4ETwB}*` zHjy?KMRdH@x)^K;9fRaNd>xNhPOh-Aevefjh9HQVQD{m%{^;d-CW-qMah)(Yaw$e= z6CPTqDtYIN4!Ej5_v?13mo#Jm~;MAer$=w4?pag*_EE`KJO4^;xn88E7056tf zS`0v^*MVR_A%S98+C90X)Fe&n+cO?atY6J2(=&S}p(T*9*f*TSL#Vf^69UZ0ZZf!Va& zoE+br)n=m~YP(u-KyDKT4;{LXDe_~)y%_^OxAz}*p4*w%K?4jvdJ7_v3M>-nCW|{1CA?H!G24@QV1JFt zLr@xMD1J%BgSSpp8xE0@WVoHZpQI(i^QO_JBGDxK1aPOFryrJ&-+j*5QGYv}K9y|b z=c6X>yBQ*aWOceL=)BY((YBoZ+DtTh-N^Yt=-#C^tv#jiu2Mr0o)(_0^U8n@%P=?R zPnccQ)EY|DV?S@P7~}Pnk|{Qie`Qp9A$y#xmw2KkzO%eZaz&kZ{c+kuM!2ZKnz`@o z6bkqNAOhB*JpRp0R7aMjDYn0f#UsL&lH%$vDH(V**UZTQss~eIvL$=nfT-{8L501| zvz7m8>rKP|o%J5g0Y^RmnPodyZ4r#zs&ek)huLUpb)3LNRXLsHVIg=C_#_OP(p9_A z$c=CZ!jOIW4RsnK z;)d+)sP_9~pV0T)Sfo16|4%gPKY&m0=@pPux?rFrcMnwg^C9 zM+^T@A6QS)W$v zJ$z}@6J|Njk-y#NC`+m{`u5ius19+Tl6>q_@XBVPTtT!q3=`k*+7aRkkw%uM(cA>u z%eAOVu3D!t;1)n1x@}eKi)P6;XS`$lc@cj-d<-tcx|RO-M>qr@&j*k8N;8y~BV)_> zw4_ER42GV)m(@f(oslZaOjY7St;R%65?lgxT?RcmzNPV8J8&dtp)&ciDc7G%bwBqc$pe;UW?JhL>Uw84Ox*~ITK1*1>}30d;Agt zwPhAt&J%`L>hGSR^??3K+BJy(2n>i*M7g%0a3RS#IEz6qdOMp)x}@jxAuMFTGUuGN z-8XI&AlW6;qeP6Kl!4|)#jh}#YbCQrYEk?^%}8zV*%a9~WMiTa`XNt+n2yyx&K><0 zCGJ;p?SKBoG=?~NQbk=Y#D2rN#i6e9WCtPE9?7r|Dm6Y?@X^1pVA&zv)m*b>AF$v~ z&cqXsU5nscBUAN8grz+CDIUM|zshgavW&Vo=ON})ihGrfzd{rn9BsB6IWxy5Q3B#n z)TWieTMM(t3N*%67}!RK5*gL^Jm?EMG`DC+4fUUU{KLz~(|mU`76mk(U?ouQI6Cnt zr`wcSHwxu<6eb z?Zb*3)7!iPK>9;^nWDol&rt98j5I_Oyq!`QF=97hn3p=hv1z>s51=z(duIjBjEA@x z9)4ktGn=+gVw#BL(rr^MKW>b}P%4D)$g@^~_ZLEOoaGUs|AKq;`q5z}%gFm=I-h2@ z_R8(!UXS7jRK$tyVKJZFot?J2d^^+S_(eOy3)PbulZ(%Yyqe4#6m8ClzOvSJ8B8Ua z+Xj|M?o8#xHvXnN#i>eCtP$cbL^Is_=5LLSbKSb8sIcsBc&S@#HOt8jK2{DxYkQ8C zoO~^sn~$9XeCp9sP%H4gujp}0cziH~Dvdf$V561UMLOmD7ApCN=MrerXgWKBYG_^hZ$x3>N?EF&;2|^jQnn zMU3%4EEhTv?#D=3Lh|w95mU`8_G=5xJn3znP1i41@|cI$@wN2656QdxzU$4^W^!^n zdfx63k8A$6(JIRYF*6Nh27)cqskvzCH#{E#t7L}p{LT_+bp3A9*Z)AXuqoz%sP++t zOk^PTu)3mLQR$nHoYRocw)5?~?J~V$e@^|!BrYtzYC$a67t?0(!FkD%P0pvy`&qk> zFYC8)0Wu4hdNtRk9A+HQ4_tH@#H5%_*lynK=%W}!Hr{u+_MD{l8 zIN>lfe7qMSu;0L&mtakSHB$BO_f1uuFJq$~{n=ycxN|Affe8&rB| z@Y&>;AOTADrch(>kaKBo!fK{;o2M^(mzI?)2QFmwcvcxC(`>V%mrC%J=epb1FD z`AvWz7c>^!KE_`#{_`gy@pjKVp+mr_@2R@2nT@mX_a%XFpuaS2Yq=GQ)iKIH2t-uy zoNM*e=J))x6&r6H`GA6ap9=@m%h8*yTgbGL`^%X3@%!vW?a0Z9n*~^{;~v^PAp98w z@{|;BLJWKs@OHd8)Zt1i*Fg_xyMNop($L?&b*2{ZYb^|IATH&iotpKhYrHrHZB-*p z`*(IOyMSLSh|3GOqPx6rsQnfYdr00ibbhG=N8%TS!#Nz80h9(JHU};m6Yid^AYZ!6iR0XuqIV^A?dOSPTS78VAajr!z!1P_ zObR%fPfl>WW^|3k%`$tAGRK^0;xkt(eY?wYQaK0Z`a!j$RWEI!^3CAt}0_NQrbb!_mG2a{i%QOk1*)_2W1i_jsfRX(8zD9Pn+Q6p6W?;4V{%8 zN?3_NOCtjRf@Y-}WUFl5j|fW<8^9`cO2qT6Vi6Y#1fx!^n={POK4FDG}{bS+p!s?nd&-^Lx{6{-YRDkd3AG_nlS} z==!-<36W#WJ1Iaq`3WP4@p+P$UR9XA+)U|Lcz1Wlr6j=eT6b6I1F{UJV<93{3$;dU z8jq=%fHC9vm7!N9A&?q8%G=XsI>Lw2s|EUJDC9NvRs|5L1i221GFsFC8fUZvKD0Oe zAi_1nXey-sl4gElhS+@(s6|kPtM*;pDe&WWy&AF_fccT_f$vB*^CRu(FKTjo`0|fK z)Q;R-*Q6ldWTMVdYk8F20_$g3B5lC?_+syir`C`Q2l-y4+r>Yhj`P{}-SY_1%&j+oSaw-16=4-Hher7M1LGum5n`7d^!MEsQPj3Ti%rdn>)iCUu86jM7-AZp(yYFWdZyTxS>mJd<8y> z`xmRHFS1|0>3u0jO5jZ4evt~@%w%fI1>*fwGkKP6mu5}=ad3lt9$QOwwjMIWN=uE{ z^@saOBE0RiU+-yyHOKSJS8xmwp07+*#b>I5dk^5={HDFGqS1?X4kZtkxEEm6~c8J6sKvwoQn0ltI2NPy!B7gGyWjzlXP-(rUzp`!)^fgZO5_0I2~3t zf-tcfKy2Tm6~D2+h9M%VZ`tAIa! z!Bjp7pf?Mf*enu-3{SHy!4~hJ)S%8FuJS3KQ~q1R`zo?nCyJ7inoe+vL7_D~;;u#& zB}P`}EdnPr3<%7McIn_>z&Jl^YMWL-Bf$WQ-<+e|Q`wC+W;hmq{M+Etl&0Nrx{71q%a^jN8B@gx0g%8B~|@ zIFHxz%h$fNUI9IB{6f_};l^^$k2Ml(M}g)&=% zY>cuamnvrC6U5;egp_aWy>Ou((9EQf$mdpoGQT`?0jY7y;e|Po-0Boq8LGGBbtbwh zKgq2sDEQTKPEf%fP$Z{3%5<1wm$H4s7A>K_hkhf8Jiq5d$}*TTr&y}|E0BWz&+lx@ zGP}t$iq47SCes_+CqArFA4X0<1kWFwlD*s7_sOfIcnIUcNS(r+JjlVjL^~to*%~+M z{^cBr855UF&^jrR?74I@Igiv8;(l;Mh%#~xPVRL&lkSh8Y!3c@Jm-SREdc^kJ>l8iHbiE1M)hr+}*0r!=>%_nZU3x zsyxpyv1bB&vMIeV7Il*OupM>0#e68uG)l8PgoM9en>|UzL#1uJ+3d{Omqh7ylx`G3 zpO-=B3h9%wp$lufse0$o=Z8zJz8+)w?S4Q0O{anXZo_1S2OUK{K#KQ&!gsUF%pQ&0r0V1jLA7CWeAOI); z-~ke_nFsu^_vfCwp9u&9eRKYUdsbr+K_%zBWnciTMFqU68wo&6);Br-;XbR9MfN{c<|&T3)y5g*T`41=p=7;sN}!9c=wbT?;F5Pn>fChF3mG3msV z^y;+q)&c3%gmkbaP2@^SZzCryGQgEU)qDXKsG2>rZ!Afl&PgBKlK%X2c&D-j<3$$awh zhKL}`!oWhnNWbY&4Ot$3gQ}DB%Wogw_JIH!3pCdVEjBQI?Tn}X>K**fw1OAFan(U2V#d~ zBqc&37bbW=c?&rN9J?lSh8s=Rh?UnviHE^+3K2)pGvhASKjaaaH%g@ zj>EEq-5>KIDu>&U&sgkj1ru)mUYlSmgh16M$?cYWj<9(oGx|m>Y&tO~AN(d|^@|rW z48AAlJXn8#OwIX4ghjuU6%MD`r4BaJTxo7hm0TzPnhkya$z?p;_wmlu44S~jAl-}7 zz)IVGDd&Esz&LgRiex zC$ZpQ;q!71mx6?#M))&H=X1yu3lOi?fT&=r!eR)O!=P?>XtA`rcXuxn51U)UD+3*T zx6sIYR3`G-%~nCX+v1P+Z4Ovi{zE1pQX3>+>IAAq ztK0{K0su;&Vn{%bTTi%pAfL{o5Dz=K63=mPhH-vPMmAhn!d5ByR$o~TR_W;gi#b8~ z$iSbybU#O1$wKMP>13xwfb?_Y(y_6mIDnLJ$DysjHnRrer=E&5XIGQT;gfsPr}w0v z+>_4F$%3rOn}FQ%JOevk1s#D@INXYQt|cQIsO&sOkaRQoR(puG*=1$!0_?|0muoB1 z87f54LQD+8r5{2(5CUsn z?%C=K5Yy~9(rH%N_ze@YZ-g~ zl9dwAAY=pT0t@%eb~sfcY^&$W0oOz_tXH{no(n69fPi%La9ls$=JWf)`SWEt|0RLQ zoNMyFw{smyHcSAs`}O7O2P^Kz3MeZc_%ngf*>z?cWYU-22Aju!Bee4PZ{g=CA8Z~> zN;0mEXOxTrGDKXh;6N`b2&|J#DbY_#34nU~WtWg@1Lu>PZf?n~lTyD(N{lq80?=cv z#8^pxf_$((js;QnxJzmSS=cju?Z9N3lPbgMLx~3?iMxp?;hZeX0n4aHP#^oV%owl^ zm|aML))V6pe2^-+q?$!1LEX#DnUEmKLJ87gP^f_VfHj3>NMzz+G=*Y&rqSc{1shK* z)_)5t>GV$!5M)ol9`@B-;VptoP z2D!o>dxnD-0C4O)Ck$5Yp0N~TQXq~oKS#YpQ9vt^@#HvQGuW!7Q}GNd|C6t0F6NZ{ z^^_D3n{S)(x>@}|Yt4nI>m^`mvWYoc*7Q-g)RnmjExZ+m;nR=a?_>DmKUVFgJ{&#R zXg$~Mmfs3xd{<@pUa5G3F2*C;>6aQW`=)ppD@$R$nM`EBfz_u8m9|eSGK)3}HzvrpqNrz}~i)7Rfc*gs%gusN`z$ZvYNd4iF0v z44=+QKe{cQxhGwkmu};qZoc6gi3SU(!Op8DwQEs_Mx_(&s8b#3gnFvRVyVA5A}*x`@%ea3@TbHejFa0 z;#Ny29^7haqBPqJuc96qDKvvOd$v*Gd9xgc{4>aL*kPsb?v8E`{x(+)n=1puSSvLNoQ6%G$N>nZ^OXbRb| zxKd`n{{%Mo%hD`pc5==}K3GtE0*x6n+at*eiXYB7Wyd6-c_-D~d+nZ^eH9>QFFoH> z=~GE=q{JpdcCVegk7Z86JNb+XuE^s**OXK-DX)g>;=V#Y1JL_?!3{TM07@DHm{BMY zQk|c9ti~X*t-Y`^TubwaXFt#hI5y7@^GvdNO7Dlj!s-bE144xVw|u6xXc-C+Acv+? z|Jn)h!1t|Tfd=`omMoB*P$|3g(O zhFOa?!D@+@+o5@OhWCx_W;*yBm$Y#hH4t9Yd!G%?sAcF{u$H3B$_pB4##&_pD=}seRW<)y9eAte9 zwL`8E*-PbMZm#kkR!hL)bN+_$;<<60U?YR(z+~ztyD{zw4?w$~)%-vGr&>LI+RTAA+?u^KUhJuJIeof#=h%N#JN%;?Hhuo>UwUrx_j1&D{*^Fg3gs_CTIZ=UOB`D683V&JD!v8YXnEFt^ z{tEAT`~~ZtYOr)NmHjnfK6`8j^C4P1tAV!y_*2k_+W?{66aqp%kiAgNe_&VSd5RDZ zSXA+YVuU?7zklR?c;$RuKV?h*XZ8N{;&nU3N4Tq8!T>E zzUP*DUm#9Z?a@GU)mWRsHx@1GM8|E!|uRmY-lMhib)RRyde-Pa|0> zy)h}hg2ExI98Pv*z&~Em5DuHGy9Zct##=_*L%S#4T9!VWPYMT=4xi0Qmlvfw%hDot zRa6T*=U_Gx=|1y4osnoh)esG2IXq`M4$@4sR40d6dl0PkOAmO(Mx!fTqz#s&^W-=z z2cdcxcy|MIWA(w8L;mo+9KfnkD;W+B26?0L9uM^#s6;a8 zUv5cfKL18QB;the0@8#kc7R)czh7U~_5)Z3%r*id{}@o7`v=#!S4kEFXR|Yo+3!`x zK(ZT*D$PHji&I?5c1Pg=<*Uq`~{Ge>$UXK&1Z9(hlX<LWJ7VOUEZ0Uq8@k|Lk<@jpv%-*J@GU=#}w+Vt=e&Mlv1x^|I{N zW4v20ipwE{yJaj%Te;UO`&VKa&V)wygR#H;^Vgo`Ou&kg07Aj{%`_p(1+o*dOsXm% zARk=)z-L?m0cn9Uf)UzQm-!g%zfnJU{sYH*EQP`*YbYCfhfW4h`iUAIZ`cA`x4?Fm z3d6P=w!p9jhApt~TcG0cNVpXQ1W=jFJ0T$0;;<;98snAxCqx9^j~67dfW&`tdALZ~ zz3wm|9)jLeFj8pG6AzW*W7{Kp__S5zT2*5TorHj}3g)F$0ojWQ7%>3QLLzy8usnp# zd-mPC1CRbq254kZW6%bbqDDfdX#=XD$-uzk0wAc_%o!Mf0)U`d0bz=VwMSPxSQ}P+ zn*oKuEKoUMp@gjxVE>tgLRXf^H9-A9#bdDhRegbfj1?&yy3>+QPD*bdkY1aXo}ZA8 zw4_PwVCw793r-+a+r`c)1OI?lRF~dbNmfcfz9W5dH<1okmy+cYZB;!N2SEVkJM}2S zG7k}!IVOE=JnH#YvQ-*nN>spIbF-iy;y-TT(S$WKwOclZ;r|m;xf_-gJBAAp60uhx6R(wV~fTScq~bTSWl^ zrt3+4!h*0L0f>E4*Z#Q2sS*&LlVK#zKFELI+C2lwf|_$R|G<9FfZ>#5fb9|i=_nvl z218Q5K|rK{<*d9ZlER9t2gX5&2S9#^2R=i#1IhvF5+Eu#Hp+_m#c2Its*@~@n0E|l zFM@sk-a?v(ATXVnKvB@a`l+$Oxo+KRX}Q$=V)<6L8xL1ucPqe0onck-NwL6r@@%4f zfP8>3;QRf#;QGmxpuL#$JtW%N&;q2BHRHl!dYC&953CWgHDh(Xu~V|uZH0*FF`_W5 z96Z+umBX2ZpwE|rZmk9*4n6pM(7#dg zsw1$I%7)@XP2om8=#q+XrdEqL;ZloG+*|8+uZI4}wb5pIGyJW0bMnly+wvL6N5Swl zNsNb(H_&xtCt{Vv9@_I77_Ll&RB;#JGkhK*g8jLz0`uyH{_Xh>C?CvvDU%ZBLXbnK zhsvI3w~Gz0>=|l-A@T4G-OS;o3|nB>0{3r$N|ghP8b}A<;;?XG0b?~)l@MwynII^r z+&HV`rwaMNB5GJ6u}hr|;-OyGZ$|08n5tv;Jn^tq(+t3uylM4~>j0F?`40dL01>RB z**pVOn1^{K3Cv!%iUGV!gxMux$PG{2UDG67<2N8_M-mR|tyzc7*V8(y5sKjYHTb|M_G zGOAYiy4{8Ejx5I^SC(_^xi#tXd{Q}}a5yt7otu@eEu}n#W!j`_Pm|Bbq7@p_fzha! z$CAPU(g6#JL!+gp09djbfXlGTWB!tXCe$2PR|;LSb_lw#n6fMgj$T|#0AH_&3BRtU zpAUkgJ=A(rz5}~=dr!qmgGyABS2&`Uk*;MtzB4hA{kh$Cph5^mveHUQmNa*m{SEJ1OBo0rB8^gz1Jbtu>&=P?;C~HbqGG|6hb0S` z?xxUZo-OM~jF2b?CO0!bddqi4sFU@fTH1CRyd$~BgcXH zaDllX_cb5BjeNFA#VZVUpnR|aD%&Jg!=nv&Bao;ROoUntyqeE%Q>Q|UYrh8j1OPA1%Cba{*Q^3a_MBF-h5tBFG}%n z5ktFF+4Se59zr}hTJOBkX+C#+q<(Oss7*{aiuz2wSR1bwmzstCeJJ%|8OpP(L3d)K z5xcA9+Dxl9KMq*F{LX6l&f|q5@0S}EqYB z#@?91GWK}Dw*eCYhT#KSMRd4sXUo-VX5~>9<1A zd!eRj3|nH}qwkjz7vIQO2<~R<2?P8RK!UY`g)&GM9jcn*@{^@smggd*ucOD8j~woQCnHbgU!2IwO5;D%mTY=%gG6erG^uC6V5} z>>VgIyPymtVrfB;HHwCh368#-h=&XF$!=+Z;Aqd4@Mk593lI>Xau^?#j*msXJ`T_# z9dDJI&Ow>r_zo%?j+1R#P<3$k+0~$B$S?fU`A+&=RwAUd^sEo_ zl5CgtR9BSMdtminmos3m-6CO>52f!*|Y`-*cb*IldO~M$`C<;>%(RP5AV>vjQD)B*< z$}Y8^VU0ZJ1~8-eidtCqpzNIgP>KE6?rh>#c8P#U;nRd=k7hLoRp$GdfUu#+dAv+O znB7_?BrX4;(r&wSJGXm#219980q5htf$L@)mXtB{2~)cNx?^d}Sq4$3p`F;0wSb(B^1lji{8(A!9IK{znBKtOEq+M0OSY&0|=tCOA5 z{9+;vdG@$gvtFtt@{bqRV>}a_uPH!Q({RZ+XSPvANNNPwftZvIZiiMSMz%8}8b?qS zrsWI+=DlmHg)S~gKbcFJK9KUB>0|R@WdQQ|(B?8zZ{*0I!D8nDUBl-PSHn3B>BO}E z-pT$ z{n!GTe6Ul8EXY<&Y;CBvVDZEc354mNoM}7E5?l+TJmHQW8@26wc2mjYT>=nW|%4pD_FDFeysdY9d6xI*(%m^@TP@iWMN{_+i7q!v)Ta=(!jC0^zDODzx#63 z&mDwdNnoAZi~!n4qEPJMu2sTOu9j+5e|%<6l5c9KvlO}O1Vvx5r+@jt>ovz`+^0H zV<(lX*DV9Wa%0wss=e43wsTHf*)RE=VHprx%?!rc%g((DVzN z1Nvzkgq)-AqIO~~Z~)mzx!ebMZm?D|>mo%9n;sh}D(ZoB9Qqkb1YV|`vgF_tPHyvS zo-;NfSlc5WTuzHRgMjtbr1VKa@M(VIIv^Gx5g4sBdY_|kpe%lojH6&AIP)QMl+DE+XkM8UQBF;drJ?|4Vu_m7u)8|5AI zYre)WTk%k7W$HF;W)4ZHxe%q>LAn})E`^|TkPwZ!F0Hh5>o|ePU!m9O)3NyT+y7@H z9#}ml6+cx5y%tKn6cwJ6;vogKG3LwK%gnLGScDKpLa4QhQ0o+-Hc>0$c&+G-){1LU z<%i3PA6!{o`^z6Mch66DI(Prt;;$}$6+^vajO?3V&HLsfd2dXAgj}Gn;T!T5RAtXHifv4Wp4-gO>5AuOyLT>Oq{b2#%SLop$Uh2MTfg$m* zuWr}yWQQ#bm5>HeQ$1?H2qKL{0{3;y zCv>BJcz*3$wNU$=5W;)4LX$-ei}EjqDDI~cmjQn4wo4g!uh)_nG}WAJhyfr0NZ8b~ zH^+k=(7?iU4LD5Un>LZ>D*7kX>`(PD)qCX@R8Bx7Od(ae0(y7_IN%Im5TFzl;SVAn zyrPqfFdOK8$}qUQnkj2fP>%e)nU7u=aeZmJH0Phw&8?E1&rBZ&@x%Y%e4{{tTp!)qz#h<5vqK4q* z47^jlZQk+_V|eFh`N4dqZ^=FSX68@UXLl|!eoJ2J2TvBKufK_ENNoB{mNhAXmSAm(iLtylqW zL3nMOc(8fE^Ke)YW+exfO57j9qfznkJl1ojO$>>In_El>^2Aso3{9DoiIAP%qpHHe z=BND3*?hQG=yNiC=4A6B1T?BYYz7DOVg5oNTgcg&Y>*=)9iL2V5$3F$OVX9uWEnWH zUfO)JjyUkAhekW`Y_9KB`D0eZanB(rc!Bn_@}@ly$AL!HqsAJt`R^rDI7GdW=fe(` zYm9|i<>2?kIFCFJ-(5@AN)YfrnNOs{?QSp?B8nmtW7MTLC!_ws@lxNMEREPlIYD39 zL&U>?e9P;QUIzke+=)x z|NF(lo1M1$tB1;Z@hY~hQg~f49wRp{C}7{ZLF42CpEO^WDneoRd?YB27Dd@8!fXh- z(l6s@bG`D%i~aI^r)XSn)atXfW>{_Z7gl4Vz0#UEuy*|FANEh5KD{s7H-7JXwX1hq zBgdwXH5RnQ3|b2eURqMQSnK!tYiswUl~aHB7e_U=c3jQoQArRFkOf#5v*M!}d6MaC zu2z5~U|-F@2U!jI{d^AlCAVF|d4S_l=;!yT8bA&C0FmK}3ciOu`EVcpr9Xee6BxF@ z#ugY755pcYY=L153|k<#Kqenp*s#E1p~HfQe^y|$IP61H?3*CCjt6)KT0L_yXO=^eP1wuu) z-p38HH1ci--|8!5I8f2KkSrts+wZId%T2J#@{E5c&*;>d093|WDYL=tl%AiIg;Zjz zG(EbWo!|>8f7k~gse8{un8ajTadk1N8_wL5KAla9himiF-IYX0aIJ&B?5cqvwEa1s7KIxII9E2U~htD#_Q4>MC!51JYyHzVlfDd~+F>FWoi zcW08KgKFgcu5vK)$udlmXS-GSXWOA}H-$$#s9YU2wjv6u)$b`RH>sfj!>Hf}*kqg} zCuWd?k*lTm$}m~Anqq82Z9{t`yB+>s8W`(DoRf;1+heOS&&C4AQ!1Wwpf+tnwRUQo z)Gqt=HBeRMqH$DW42!0K$kpm8 z3T~45EpAT&q;MMSkN(Pet~#M@8KCf(2Qm=_yS7AR@Ctpb7ZNRoUvrjf5qC8 zL(>nI%4Dl}A+HNiKaypE>Tf<5A(%QPpBLBu#$?prKbDAxiTy!5810|KcUKiOt7z(n z&tqwMb)VI1`lQy^wW((~eER+OzgJtCZjG!Q)^qi`-tNcp?GVB@qI4p}*is1WtZwF%(lFu!@Uym9Z?>`YXL|?{1?pa;5$4SC@5cq@{Ly zT;1-B8VyJT4~#~wV2@uW1W+ZoS^=d3KkS()>Z6@#YU34ifggKu_S@{oQ9^kBgDWaf zK)9uo=SkQxLkR5Ghp%A^3|nB2w7`&f*dsS$cpAeN7`DL9TObn!zDQv_V_Rq2nMVcv zv*nW2?^YH#tUJEqse$RsbN+uv!2n|E1cYa$peB#2D_)b}rzq{7c zd-E$A>-E(D450d-YDUx#=3&oI#k=@1zjjwXzM=BptL(E~k1GJ!{SrVq@P1!QRnlyM zARX|oCZy8rnzH&~GZ4Nj7xNfjQU&Tcckl-T4D)>j1xeoU$q)PP9HF}#i3bO+TvcG6 z&Hchamb3HZ7zABh2$t(`rCv_qMdA&-aa6`GASLyR%uigP>FSe zy)sBM;0SUbG|(*n4sZt2;mV?Pc2@e)?L<0Yt3;(JY6HlnD#B$JTwwl$YuBR=jwBn2 z7dljRmO9pw*@C97B|2~6%gA9m)Dk2*gv@@&bjRi2+i)!|xWoJxw3LT%4UY`ki ztOn&Yj1f*Aq2qWXN{Sp>Ew2@_9 zSQ{lm%dN=vGC2RBA=bwlvn0xPee@}a2y;ZMC?FoD9(jzR{E+R1ATuGUUh?O2jsnDk^}Cf6M(yGC zJ0Tuy*tDSRq+;SauvFsvAW!%m*T}tDSmMY*oldYU63eeJa6Ek@g~etIw8NeHW|afO zFhliXKZi%pXPZ5r54%B&WcpMrtLy}F~t+ zzastBb?N#}h=*#m2-j%U2DuAa5kMxU2^nV!%AwkwM%01Pl;gmB_;Oo1&iU0#n92s+=7y47FO?CPo(PMvy&3Z`NVf9t>g!&WcWX3GBB>#7yMprD_U z^g@)Tvbgr4PuF0XmcX5$5X(bM+8s3x!)ThU-$iS}I;%3Gr5`Vj+b3 zN?pCOQ?GYb)Yec$ERP;tx;ghRx_|O}zt^`+i9Pg+fAJR$U8=QL`>Tg~rA{e?W2(oQ zprV61q>Ql){r*xv#;f&S`O(;D>xy2OUee1mK~q!gham`X4uF7wIKV;)GQssu?h*ju zKrn92qCT8 zJIkm0E^C8o2zRd122jF=<@Q_@psl~0bih&pFdguN3^M11ZBNNeGi~YZj`Ugvzfm0^xA(ASK3>go@OuXlzzed7O49T5(r4Hz z%_d7F{!MW7QqJ&zP#IL1=03}{v`3(G|SN(Lo@Rou#s|8zJph@`uk`T zx6G_Uyq@8R%M%_MYAFfy(P)FflmP(KgSjRvh zS~zgBRdTgb^~u_*s(+w{$m0UQ`RGVt`30r|BgeslcsB+|?}w(_m|u{TUR19GHq&N= zZ8P?H_QimRs&qYXzs(8=Z%Y7WvtMeY42aZjDKnr+b-4qdPj`rWDo3x{F9Fn>@*(Ht zFn6FD%lX9i{Z&i4r*cA%cu*V9^Z6M;ko!82l?Ri%GKOc!NLx^?-1m6~P_iWTK?2mt zPC)TM|KWx8(%4uIdv@|TrstCE2i6fsW(o_W-Y)ULIn&;dB9=|GhLuwatENc8te3JX z4Ps)}ER{kcI0&BJf@IhU>0sisJa3vBBqS9bxklIul5GUgJ_wG^^P#)y*>&dm(BQ$k zG=rtzWKuVr;%6d}!AHlWi4pQ4qmMrM`1#%qPX+Asz0pCbYOg;_S`l-lYQ%ZNc(#7RMm+bmws>iD< ziEuzk(?v~6wvly?ES10lt3o^wF1=r@mNqwio~?TbNQs-C5 zGat5f`xhUhaO)8t`6vIe7{mL&|NF(AAC4R>YI-F~->Mbi7Zf6UHdcAfwdr9 zjX&;>k6s-Adp|RmM*!3ckOdGB{J3qBs}(pIMq>|)uI4{r!$jep6A-p~%!Pm)6ZHc> z?ECq5HU9w&0OEl?IGKzPZRL=B*#5mAzH`_DPqPJfJm@~nlNla+*aE{A7`DK6TObnz z?DbgGypR_rEIRmM(ZYhpydxiH(NQ5Hd^==$wYmD@rEIrE9t3-q&vOn0)kG|w+`XKt z4aQrC+=hh2HgELJ#rV^q)IU$2Dw#23W80QoPbEQ0oA}}71U1zOtNN3m7>@-uxYMN^81B{@oKU`8&oP^ zsYcyQJOC^Ks8P{)d$lm2{rrOT*+TNLzPXwzI?dyIQzMucJm6MKYEDSSloY0=*T$v) za7_C4sC3e*Dc9R_;QyPmmj?h|RylyDU~hDX@aTEz!@JU__fn<vMgq? zkzhmwX)=4G9O_9n17M4fa1IJNv0&-c6{OM|fD849%mY9Dfpe=R54@nEo5VLJP!ZRq ziF(wbhIFD;>a~MG-+V6Um6@QUIXeUIZU~tD`0|XBem@%E3rPrB2JwZ;0rJ!`3^w)0 zt$;?a@b`9bbxs}opsa8h%b+Vt9IC({$DU;`w0ElDPu4VMHJ1aZv0tJOuMxam4ZVGU zLd3dtCSeEmOO_{67+GV1k?gAi5wRJgj_=UYz03d0eT^ ze{LBB0nIffRZN-(`L`<=tOxB2~Zt%!%EAaHqVR0#CIY4e;2gUoi z-oe0L;dUSNOxh)G5(`*95_7?7%JE@N{A@mjN8eaUnLcLg=VN^C3rqtbd}B?iO|H?n z^o@hkYg37EIM$J7MibD_wLql*Ul*i*b6NV~)g2HI14To=NLy7q!<4PT@_)7K(nKR_ zn)B&Iy>7$<>cdh~kcX`Ms`Ftca+%^NM3}Si=t7?^2Ay9Dy0j?WT9Ib^!TL~iOD8@+ zJ1`%bUDUHfJXHG+k3T?olmgWn-I+4#qZ-|1RrBpa3+K*h`Q3NJzO)GX#nXRW zKct(ZbN$g5%9_5d7~TmXeoKnSlhR=)l-~L>$4JqEon=VtaWjO=ghUkTh1ICIQYtLO z7*`lp0?G)*mAZ<#TA^Dp>dI;?&#m@~8zZ&27-L*&jntP{Yu%N(<%#7#IsHpdi--uP zPoEAy)|>QjlC+vqzuBsnwWEz%c%jn{-<+x!Z;jLsjns-aRK_<-#n%;dGy?EPHKJlt z83gr0885`O^52%d-Vd4w#(zBe=Ja))Iz^wMsTfL7KX_ilp-dR??`r-7t5PQ*APUHS z;Lqwlo}0iv+6f4V2ae~83cd#g1WF1N6!hs&^RXV;0bwt!g@)%aY=LK~1@`E&^I2-* z;k67~VAujrqXjB9ODsO#$O{k_Yt&r1Y!mRGe?Qj3BY&45FtQaB3oj}yj^_Yshz}M; zEO;(UI-7|HwpaW=3oRCUEXYh^8p8fu&_9iP`JiLoScuh|oq)smAAw^sq$lZC{^Md|8NFmPeMmx3~_($@huD}_yG zG=h!Kj8vbJ)+VL?xD>~wua8RquqnM)lMdo3os~3Ig@b`jImaOpLn&Mna^d`(bT;QW zkm+!BNt(w;8z41%b%il%EoHQ< z_1A5cwmP+~R1Qu~(1gjeJ^|(imIIoTt%Vh z%=R_w83y;e_6-V%>bP1<7FCRwo*RS$!UN|(x9{KdP{XyTPdgjlD3?w7r6A=Z_Z`M+-gv{9qrvAyfGAZ{W**4j@T@Uto6b_dC z04b2akUlX!ma-!rL_BnR@i1_;^P{MjuvFuCW_M?bon#f%ZY6??@3rir4CyvA>EKGg z?KTcWbyXPxNz0H;t`YWnmryt?1ta0fFyQ~@a&Yv9Odl_gDUzk#@s4y7Wy6&8(p0h; za-QU_SiZl#f^q23;c8XeC&|isdO~3o=*V*}Q0QX_ijp zf(N%+`Ul5K{nQ=|m)0-co2^*%KE;OY}2Mz>&x9?u> z|CiruEswQk`t|r$U-}h=__ks=7DDVi3hCet;KYOdnfDev=XB>p0PueYTYZ#wc6GH?Z5gv6wp2K*Xh%z3rL5# zS#?GxM`lJ;%&1n(v}u@>#AH=S%s z-Hy7dGX9{bg}>Cn&Ie;}9J;8rwK<(Q!9Ler11QwPnZUCeAPXQ4C>pHhKVVnPew{vt z0>bkj_>+F>{En?!^YN-`3ha+rA@g~P06)%w(-a@BOQfH8s}2u1Y=L15Y_|o5#KU%5 zYWTik3k+LePqjcr@qpUkZAtveqJsqw3l&HJDkoULu%O}psXXy*)+1d{MFGLWhsD#8 zta_jlg9?os*>VZ1B`avlUYGpI;)lu(h!G3Y8ZL+)d>gLcjc@m*-wr|V)e21)g+@ae zgI5#-M&bEv!OLt|0Tde9-#pvmR22~1k^NNpZ+n?+rDGM5m1_4`=E~0u$l)ms@WRW& zF^zag)z6;);1ZDi&<53WqzxJn4{K3(Dj5%6*?DfU(4XB5`e?3_VbBd`eNlY@U;$Q; zDPVrk6H@Jnv@#>zZA;5-DK@2VHl*LF!FEYAB${Vu2;2Eo$Po8d$N33W1>w;j-;;iF zFA)zY9v~ecBnT88fCRa+6}1J`|6{eNcJ{4)eLU*LG3l7wDse9}sLcHvC>-Dr`j9IL zXga@?)gDWQuB=G6*Mb&%*}K~t!F;pxk1=&QJlaZa^9beM8&&~|3?mZ{m0XL#F{-Kv z-si~OK--nw_X7w}D)p(-XI%2| zX#S0@68&{hegB{w2iw@^mdMT8s1=q;FgAj{QUWmnNU7dl_ru?v)}tG7O)i|VZbV+f zQ&Om;Q0{6*26k&vON@Euou7QStIyZ{HaJxUNm7p#Ie`oz+P(A=fh+*hyw67%16fMekPOryu1Nn zB6vCRkjLjOi3jtv!m6#%fyu(gj4w-N_9(=I-@mLk>4vl)xs$`E&&EP$qI9O&(6yzm z7B#2k6DP=tc)b17vB1qG|v-_B9)_a0le zC<(-ij)<(m~ z%Iwn0^2pfg>RbA-clz|{?E&bgPZ#f8IaWJ<{CHzjjnRHXBP+4rRBv@e{gIKf=ug%Z z57(r_^;&VT8A4~gQLDW?TCe}iZJPnS)V=d8VzYjJHFn zk2F$zR6jQL(a5QTm(&=&r|A~`iG4REESxh>439QNc_`Z2S03YH&P0uQWV|001BWNkl4%>kw!jl? zfxWiAe1exYJk+oShAr?cx4S7J4rPP1g#w zYC*v(?vTlw7dRjoRk1m^wO^*(1AscLG^k)57X@f4^Gj!+Xg-!Mx3@*O;sH zsgj&&r(jG#@5Yq$`HXbABVBArb9jT-q;Cc3cM9pRg^drlSz2U!CIBsnuj|WHmnPc@ z)D4gh1V`UO<$#BD4n`f|Jv4sakz%QIVl?W+Sk!TH9LA)RtVjpzL4X5bU z&0c+NAgE=rl*!&E6N2~49`J)za}M}BRlH3sl?HhPC>B2TpT#&v⪙t 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
    (1M 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

    wsTxoH)c-mSYk{fa&=1%8E{(I;DU0ul}`Odg*0d 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 literal 0 HcmV?d00001 diff --git a/src/assets/less/JAreaLinkage.less b/src/assets/less/JAreaLinkage.less new file mode 100644 index 0000000..d367073 --- /dev/null +++ b/src/assets/less/JAreaLinkage.less @@ -0,0 +1,259 @@ +.area-zoom-in-top-enter-active, +.area-zoom-in-top-leave-active { + opacity: 1; + transform: scaleY(1); +} + +.area-zoom-in-top-enter, +.area-zoom-in-top-leave-active { + opacity: 0; + transform: scaleY(0); +} + +.area-select { + box-sizing: border-box; + margin: 0; + padding: 0; + color: rgba(0, 0, 0, 0.65); + font-size: 14px; + font-variant: tabular-nums; + line-height: 1.5; + list-style: none; + font-feature-settings: 'tnum'; + position: relative; + outline: 0; + display: block; + background-color: #fff; + border: 1px solid #d9d9d9; + border-top-width: 1.02px; + border-radius: 4px; + outline: none; + transition: all 0.3s cubic-bezier(0.645, 0.045, 0.355, 1); + -webkit-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.area-select-wrap .area-select { + display: inline-block; +} + +.area-select * { + box-sizing: border-box; +} + +.area-select:hover { + border-color: #40a9ff; + border-right-width: 1px !important; + outline: 0; +} + + +.area-select:active { + box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.2); +} + +.area-select.small { + width: 126px; +} + +.area-select.medium { + width: 160px; +} + +.area-select.large { + width: 194px; +} + +.area-select.is-disabled { + background: #eceff5; + cursor: not-allowed; +} + +.area-select.is-disabled:hover { + border-color: #e1e2e6; +} + +.area-select.is-disabled .area-selected-trigger { + cursor: not-allowed; +} + +.area-select .area-selected-trigger { + position: relative; + display: block; + font-size: 14px; + cursor: pointer; + margin: 0; + overflow: hidden; + white-space: nowrap; + text-overflow: ellipsis; + height: 100%; + padding: 8px 20px 7px 12px; +} + +.area-select .area-select-icon { + position: absolute; + top: 50%; + margin-top: -2px; + right: 6px; + content: ""; + width: 0; + height: 0; + border: 6px solid transparent; + border-top-color: rgba(0, 0, 0, 0.25); + transition: all .3s linear; + transform-origin: center; +} + +.area-select .area-select-icon.active { + margin-top: -8px; + transform: rotate(180deg); +} + +.area-selectable-list-wrap { + position: absolute; + width: 100%; + max-height: 275px; + z-index: 15000; + background-color: #fff; + box-sizing: border-box; + overflow-x: auto; + margin: 2px 0; + border-radius: 4px; + outline: none; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); + + transition: opacity 0.15s, transform 0.3s !important; + transform-origin: center top !important; +} + +.area-selectable-list { + position: relative; + margin: 0; + padding: 6px 0; + width: 100%; + font-size: 14px; + color: #565656; + list-style: none; +} + +.area-selectable-list .area-select-option { + position: relative; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + cursor: pointer; + padding: 0 15px 0 10px; + height: 32px; + line-height: 32px; +} + +.area-selectable-list .area-select-option.hover { + background-color: #e6f7ff; +} + +.area-selectable-list .area-select-option.selected { + color: rgba(0, 0, 0, 0.65); + font-weight: 600; + background-color: #efefef; +} + +.cascader-menu-list-wrap { + position: absolute; + white-space: nowrap; + z-index: 15000; + background-color: #fff; + box-sizing: border-box; + overflow: hidden; + font-size: 0; + margin: 2px 0; + border-radius: 4px; + outline: none; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15); + + transition: opacity 0.15s, transform 0.3s !important; + transform-origin: center top !important; +} + +.cascader-menu-list { + position: relative; + margin: 0; + font-size: 14px; + color: #565656; + padding: 6px 0; + list-style: none; + display: inline-block; + height: 204px; + overflow-x: hidden; + overflow-y: auto; + min-width: 160px; + vertical-align: top; + background-color: #fff; + border-right: 1px solid #e4e7ed; +} + +.cascader-menu-list:last-child { + border-right: none; +} + +.cascader-menu-list .cascader-menu-option { + position: relative; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; + cursor: pointer; + padding: 0 15px 0 10px; + height: 32px; + line-height: 32px; +} + +.cascader-menu-list .cascader-menu-option.hover, +.cascader-menu-list .cascader-menu-option:hover { + background-color: #e6f7ff; +} + +.cascader-menu-list .cascader-menu-option.selected { + color: rgba(0, 0, 0, 0.65); + font-weight: 600; + background-color: #efefef; +} + +.cascader-menu-list .cascader-menu-option.cascader-menu-extensible:after { + position: absolute; + top: 50%; + margin-top: -4px; + right: 5px; + content: ""; + width: 0; + height: 0; + border: 4px solid transparent; + border-left-color: #a1a4ad; +} + +.cascader-menu-list::-webkit-scrollbar, +.area-selectable-list-wrap::-webkit-scrollbar { + width: 8px; + background: transparent; +} + +.area-selectable-list-wrap::-webkit-scrollbar-button:vertical:decremen, +.area-selectable-list-wrap::-webkit-scrollbar-button:vertical:end:decrement, +.area-selectable-list-wrap::-webkit-scrollbar-button:vertical:increment, +.area-selectable-list-wrap::-webkit-scrollbar-button:vertical:start:increment, +.cascader-menu-list::-webkit-scrollbar-button:vertical:decremen, +.cascader-menu-list::-webkit-scrollbar-button:vertical:end:decrement, +.cascader-menu-list::-webkit-scrollbar-button:vertical:increment, +.cascader-menu-list::-webkit-scrollbar-button:vertical:start:increment { + display: none; +} + +.cascader-menu-list::-webkit-scrollbar-thumb:vertical, +.area-selectable-list-wrap::-webkit-scrollbar-thumb:vertical { + background-color: #b8b8b8; + border-radius: 4px; +} + +.cascader-menu-list::-webkit-scrollbar-thumb:vertical:hover, +.area-selectable-list-wrap::-webkit-scrollbar-thumb:vertical:hover { + background-color: #777; +} \ No newline at end of file diff --git a/src/assets/less/TableExpand.less b/src/assets/less/TableExpand.less new file mode 100644 index 0000000..5616c98 --- /dev/null +++ b/src/assets/less/TableExpand.less @@ -0,0 +1,15 @@ +/** [表格主题样式一] 表格强制列不换行 */ +.j-table-force-nowrap { + td, th { + white-space: nowrap; + } + + .ant-table-selection-column { + padding: 12px 22px !important; + } + + /** 列自适应,弊端会导致列宽失效 */ + &.ant-table-wrapper .ant-table-content { + overflow-x: auto; + } +} diff --git a/src/assets/less/codemirror_idea.css b/src/assets/less/codemirror_idea.css new file mode 100644 index 0000000..a089815 --- /dev/null +++ b/src/assets/less/codemirror_idea.css @@ -0,0 +1 @@ +.cm-s-idea span.cm-meta{color:olive}.cm-s-idea span.cm-number{color:#00f}.cm-s-idea span.cm-keyword{line-height:1em;font-weight:700;color:navy}.cm-s-idea span.cm-atom{font-weight:700;color:navy}.cm-s-idea span.cm-def{color:#000}.cm-s-idea span.cm-variable{color:#000}.cm-s-idea span.cm-variable-2{color:#000}.cm-s-idea span.cm-type,.cm-s-idea span.cm-variable-3{color:#000}.cm-s-idea span.cm-property{color:#000}.cm-s-idea span.cm-operator{color:#000}.cm-s-idea span.cm-comment{color:grey}.cm-s-idea span.cm-string{color:green}.cm-s-idea span.cm-string-2{color:green}.cm-s-idea span.cm-qualifier{color:#555}.cm-s-idea span.cm-error{color:red}.cm-s-idea span.cm-attribute{color:#00f}.cm-s-idea span.cm-tag{color:navy}.cm-s-idea span.cm-link{color:#00f}.cm-s-idea .CodeMirror-activeline-background{background:#fffae3}.cm-s-idea span.cm-builtin{color:#30a}.cm-s-idea span.cm-bracket{color:#cc7}.cm-s-idea{font-family:Consolas,Menlo,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace,serif}.cm-s-idea .CodeMirror-matchingbracket{outline:1px solid grey;color:#000!important}.CodeMirror-hints.idea{font-family:Menlo,Monaco,Consolas,'Courier New',monospace;color:#616569;background-color:#ebf3fd!important}.CodeMirror-hints.idea .CodeMirror-hint-active{background-color:#a2b8c9!important;color:#5c6065!important} \ No newline at end of file diff --git a/src/assets/less/common.less b/src/assets/less/common.less new file mode 100644 index 0000000..b27871b --- /dev/null +++ b/src/assets/less/common.less @@ -0,0 +1,61 @@ + +/*列表上方操作按钮区域*/ +.ant-card-body .table-operator { + margin-bottom: 8px; +} +/** Button按钮间距 */ +.table-operator .ant-btn { + margin: 0 8px 8px 0; +} +.table-operator .ant-btn-group .ant-btn { + margin: 0; +} + +.table-operator .ant-btn-group .ant-btn:last-child { + margin: 0 8px 8px 0; +} +/*列表td的padding设置 可以控制列表大小*/ +.ant-table-tbody .ant-table-row td { + padding-top: 15px; + padding-bottom: 15px; +} + +/*列表页面弹出modal*/ +.ant-modal-cust-warp { + height: 100% +} + +/*弹出modal Y轴滚动条*/ +.ant-modal-cust-warp .ant-modal-body { + height: calc(100% - 110px) !important; + overflow-y: auto +} + +/*弹出modal 先有content后有body 故滚动条控制在body上*/ +.ant-modal-cust-warp .ant-modal-content { + height: 90% !important; + overflow-y: hidden +} +/*列表中有图片的加这个样式 参考用户管理*/ +.anty-img-wrap { + height: 25px; + position: relative; +} +.anty-img-wrap > img { + max-height: 100%; +} +/*列表中范围查询样式*/ +.query-group-cust{width: calc(50% - 10px)} +.query-group-split-cust:before{content:"~";width: 20px;display: inline-block;text-align: center} + + +/*erp风格子表外框padding设置*/ +.ant-card-wider-padding.cust-erp-sub-tab>.ant-card-body{padding:5px 12px} + +/* 内嵌子表背景颜色 */ +.j-inner-table-wrapper /deep/ .ant-table-expanded-row .ant-table-wrapper .ant-table-tbody .ant-table-row { + background-color: #FFFFFF; +} + +/**隐藏样式-modal确定按钮 */ +.jee-hidden{display: none} \ No newline at end of file diff --git a/src/assets/less/index.less b/src/assets/less/index.less new file mode 100644 index 0000000..f086f5f --- /dev/null +++ b/src/assets/less/index.less @@ -0,0 +1,28 @@ +/** + * 列表查询通用样式,移动端自适应 + */ +.search{ + margin-bottom: 54px; +} +.fold{ + width: calc(100% - 216px); + display: inline-block +} +.operator{ + margin-bottom: 18px; +} +@media screen and (max-width: 900px) { + .fold { + width: 100%; + } +} +.operator button { + margin-right: 5px; +} +i { + cursor: pointer; +} +.trcolor{ + background-color: rgba(255, 192, 203, 0.31); + color:red; +} diff --git a/src/assets/logo.png b/src/assets/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..4c98ab5b12b91ee1caaa74ca0638f404d3d25935 GIT binary patch literal 4478 zcmV-^5rOWBP)ZF#w;4X)Qv}GtHjf6|05!h?2f!u<&JWr14Tx5z zdA(Z(8>B%8s4+A1YG~SK00rF^i|8nT`_jGMrw4Np2NfWL$mxkivx=m_1ZhwJsMO zy|(r2y06S4$!fJ)GCiInrjaJ)4kEe%%o>2>5Mo(+P0iMU0%^bis?W=tC<1})0P-V@ zXAu33nP+GCeE;Z+Q|hcr0JcYf(>0vv7>Mo}D3AsOpoY<-|AlmY8-OteASjSNX68BZ zf>c*fFj8x6Ed$Z7Ly^-{?QsT{ru%%`3E;i}A4|610cy<3x(Y(5b0IQvdfP$t5u}`J zc5sIWr~^3wY$l=`!7QRUbV366X83$%{h2TID?lm%Y|P1diJK2n7!C20A(x zW;8Z_9nIKpY__3+_V#rEZU=LcnJfWbCMrqudSC6&ZPxDqDF^CvbH{7C{zoSIQ7?zO zBInOqTidME=H~i%RTkZnHOjl%T6#~cFLhp zFS|RLxS}l~GssdSCR#D|^NOF`(6FW)|q0)|lh- zDRQgVuP!TVoF>FG0DhuAGSTazt!+-)ks}T98W<_Z6DL|4J)Vt3GzZMdYFkMu?=%Ca zsjzT}Y-!08Lx&zdQ>x^Q0jeK0>N-KBXwtoj7R&F>J$(2(Bd3GgjrlnV9M$~(8GVhM zo;rELgoMVXrp*Lg&A{ReulH4>d4mym?AT%rSisDinuiVBTv$=j(bt7JBY+xmbN^K^ zZ)WBTLKCjHBqgmK;qkN>8PJrSJys6{I{WK(3D$19ett%6?MFuQ1qr#1jyc5q5SY&b zk+N%f^U$F?`U+B?0a6??SuC3(zzN&9A;D^0JN(e0V|`tv{*+hX4E6i(gb-`gHjL1H zToNtMNK4yB`}TFlJ7=E&G9}nUvq_?j)X`Cz(b#x0UIY45jselwl{cx#i3F!>8da76 z%hSBxZSf|PaRKDb&Q7)x{hOMYfpO8CQXnNTZyM?I)%K_Jv2>|zXC;~?bY0Q7XPe3s z9c7}`?Z9*KP`Ggc)R>z)2F&GPzBHDhq3^e)`Fy*-&z@Gps8N@b5bwt*M?!%_-?9+D zO0TZ|AeKLI0i-Hv3ou&{EeG?k7!mZACd9p|)zzPUp8y4GHX%w$%2`pJCej%w3rP7$ zc5SV%UjR}{LW$aJ0jvY_P$R`bf?bG`^qQJOu_hjf??=asIj5teV>JPH8R{p}!TkHa zTqbcvPl7iSaes{qP4J)Yl_f@dFc78^!zw0T0{Ji*LA4$BeIw+yTZ zKbQyt)Rde1Gf25T;(bn}UJo-b&Zw>ZQ@l=P+g-`Y#AVEw0#HKaI0CnTu(8Tjv^rjW zO3r3?-45`Y?%;H35a4$@^}vj;U!GbWuTDkmX;PLM=5|Eif#|oY5kMh=UA0Z3ameas zx;x$HdnJ|u!80Po|1=~Q_XOwEDg{9j8>(FPHL>&s!6|ajf|RR`zzL0Kfd3nUXL_8) zF>ld^?Ci?~k&2vXtY?ermQYi6b`1kLaTt0~0wvK{yNMIuvG~%Dya35Jn}HJn(n%t0 ztaKHXMw>go$URL+`4EFtLowQq!T3;@ol~MkQYdns>PF<5Ydt{?+1alX@T*t=G4Qqk z=Eb_o3mnc;$ygBwK+R0rVvlRm3sC`bIIj?l9SjOT&odEc9fVz4Thf99uibduOsDG1 zw(I&vV!l0=&qTD38q?C!k(js{%#+M|^$h&GE@eqpU7ar$AwFTwmV{&94O>EtQU)24 z>;%-apoJdEFT?GK{-mX}RM@^8cPS)o1?VDUr#Qfb9mD)7OZL5feQPYogG}SGV`~Xe z$z-=P^3+(Ok0sH};32INL*e&7Nx-CT#a9%GQWfrVIn&^gHo zP~1(v0=w%{33bcT`0fC3CkfigEkjB?d#`Pe1y1;TFiim-BBHrqj%)-3yT8P&3ht`Y z*L*?2NNR1}BDxxMTBvWeH^4mCtf(uryQ~$3Uj&R2HD$zDM55CnBUQW*=CV*-p#v4 zCnO}yWytrdq}Xe=RmM7;%OvALQV$KHfTO@}7c`9+!;>r>+y1e8s^N3He7kD`fz^YE zu^>Eujz49Q*|r*6Tz(m|=77YD9=GE|qeb~TFE1%s*EbO`4Zvr*uFr@}e0!A|4LLa% zf~bUucBWTX8!8?5>z79atbxZMaT~y1L6}=P{>wj`MN+=qwSa-6hun_cMn)=dIt0yt zl#ep#EFxYr)SvQ@nd1e;xys7CzQXM=eAsC#F8?P4w5=dq0`Pk*_|AjQV#6mj zwV9c@nx-ukLby|FYTl1LXZuvmE9VL(?;a_2?NKl(#KXU84S~4_+>_tx%ekTkD{$I? z=>oi-L1Bh~g}~~wTazD&=g{p5x~l(lN!ti?Dnkb213e)y@9Xj@pT~Pn_1a>w2AY5q z97f>7OqlC&6}=TpPxyO8i2n;ri>loA&*F*pxB#-*U8x{`3`|pFMF)Xvi7>s=<#^l7 z0F^7X92-6pQa*P2hBMbJh#yQ!Y~K(ql5CTA7b2kT0_fscHmdC=H8~@m0yjQ@iuUA_ z6sn6FGvg-kQ6_DkhviFVH`@GOQfWi z0E(k*;{8JK%t~kRC$Yec3m~N=@0Q);5;Sc+GhJ_{R7HsoA%Q_RbC2M-={_-h}(Vbx`DBklk8PLi=C^VI2dSV-iKeAB-X?49+3fBtsU`&|teu8w)Hq0ZB6PwiHX?-dN{Pr0#r&^9oYu5a_~Q zb22^^ggYzUj=#lak9ppEmiKxZy3o0vuI!mz@-2sLZB>B z;(jx5g4s0j<>w6hZmU^YGS=a|k{M4ZkQn?4K=Tf|9s7*tzi7&?bN!tOGlYgFWv9XEk|c0jh~tjyZ_mQ| z6>pwIybi25A?p6_k?{c%0&^5dbp8#mo~K zxxlz3*c>qZ1taMto#}U9yB$HE#O$XyAZA_)AT5UTRSc{==yo`x$=U3#UjY0tK$l08 zBk&0pv{mybmPVsoLnTuwSkW6jBB$2`{1Msg&Z7XG8*3#MO)80}njLn*@uj6=>=)x- zW5#u{^r`QH=#fg7eR))X952oU>ng7?rbfFB=6xxF_G`@!cqMwC-F3bOR%~YMk_3=s zD{|XO$}$Fxh+?R^QI@47wY?mxvJNJblu*WmtE1>+Cf;&ZXZr)uoKfS|`FPUWaThc0 z2S~AgCO`hW+7elf>HiZgiw~w0n*LJ+v?row+~7_kEF+bu)ucDxAS7)!iKHe5N^*{* zz7(r`2wOhJ?#dN}EnuksFreozm?2X_=RIb(OV0sa2P!R6^sNy{#P~dr5V$RVu7@eV zc+XEr7s}`GL)6G=nTQv4rnGJi-eL-*`qYM-B*gaaybL!mXi;Cli4GF$Bxr|KVyPJu zXcixN(|0CWTT_-u#sl3!;{6PoZk7Z_i8#u4xPIEZEa3nNvBWQVyU*?LpGp*ik(AbS zqhM_7iX?6TX$zxO<+0A03yaHh+Eh|UxCT%Y(=&dFMQY+$V~xItGj0Mu&~^LperR%< zXHW6ptwRo-Iqi8Oej<-1A~^d0ndhQ?3PI@ki4l!Zc%j+3Gw@?3o4#7OTglF zP=VAgwK4|Rw=tERDLCQzLbclpfUkol=bkw@VU0nMt^{Kp33mFKwnf_bziCSaqxWF0 Qod5s;07*qoM6N<$g6}PD^#A|> literal 0 HcmV?d00001 diff --git a/src/assets/mobileBg.png b/src/assets/mobileBg.png new file mode 100644 index 0000000000000000000000000000000000000000..13b0579aabce5079a0643c3b16542f0d7025e80f GIT binary patch literal 17926 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 literal 0 HcmV?d00001 diff --git a/src/assets/mobileHome.png b/src/assets/mobileHome.png new file mode 100644 index 0000000000000000000000000000000000000000..703b66bd8c18365dd51057aac3d233a9b23af13f GIT binary patch literal 289240 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

    3%uwgZuE&(XYQzbmHHCu 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 ~P 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 literal 0 HcmV?d00001 diff --git a/src/assets/nodata.png b/src/assets/nodata.png new file mode 100644 index 0000000000000000000000000000000000000000..2cebdb380f5c1aba7e0acab147563d2352e0917c GIT binary patch literal 101556 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 z�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 literal 0 HcmV?d00001 diff --git a/src/assets/pdf4.jpg b/src/assets/pdf4.jpg new file mode 100644 index 0000000000000000000000000000000000000000..10166e09eb8fd10c134e9d708fb91017baf0d406 GIT binary patch literal 50960 zcmXtg1z6MX_x1-AQBY92L1_V{l@bhMbO}{=AF>r3S{H zd#0uS03wop=Cl?kfPcB*sbS^=LDcl5Ut~~P1`C)D!5-W-4xHJ-2c%d|`K^Z#4`501 zlw28`|4Odj^WIR%B?b-@x)PB7Uh5E&sAI>FZG$6ajAC86Ec)K8d*QIko1nW zg?Ss}rxWsw8C1=L`&FZA4H)WSn{VIS9rBu(!b15I0G5YD$^ZphLCYJv;QGE z`N8h{$5H}IeRLnYO?R{%V|3!J?!;(`HVFag_?!8EFxiiP_26*=U*9T(m)f}6tgo4y zIG1WW$JETB<7<{Y<{9qE5txvM-!0U0JxfMRlE5VJXJv zI?|u4qsgt-dy0M8O}5+Y2J6l352VS^U&-#<4GC#>3Z-UQ^3@1?#J8MUrHh)e6sx%* z`5zV80;2avyeYza1Kr}BLX2!P6!=0C_)Lz-NOPCPv+P1l%^Ly=m+Rrzqy7`j|9CR? zQSrn^wea5D=)~4T*|Ce^v|(Y{Hnxhah3{81HMQadh3V4{#ByP+rnMe%otny|br!vo z@_XAY?*7FX6cVr4RK!bMXG@KW?pG`NSFd;TW)J5|p>rB}2c>fRa9pB{p_-bTngD%Y z7FXIqfO>amyX{&xCogH8oQJCF42bsY@IUDSWf=()LA*vEMmMIy^5vo+9RuiJ#{#x4 z+918apVv*tA~;_T_eizQ5;c>KKl8WR}p6a~qdzlA3@^LnO7Mph)*JT;r4kaHPr;%&a*i(D~OJV6Hx7*{#=>sfD8$p&Gtf~Zf{YxKfaVoWTRCq-AYhma!#^)0!tC`wPw84;f zQTvxiKe=J{c5^kSkK^f-$0=}~n9G^*$-+=B{yFTIDLgcYCBU|Z8T$Em+DcajeJe{l zv9?0H8tY4-WIYazuV`A}Io(Y_DDl7QnJ<61g|BBM86%9N`G_tOOytkRpwD)q2m_31~Q=#z*yMQ$ISfkkNaix?icv|rJ?!qdQb&`2E4 zL=+$yR-;#kybVL)¬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 u+I65RmF~U(2CCoxh`{0bz9yu)>;C~>1+!{RRN { + if (process.env.VUE_APP_SSO == 'true') { + console.log("-------单点登录开始-------"); + let token = Vue.ls.get(ACCESS_TOKEN); + let st = getUrlParam("ticket"); + let sevice = "http://" + window.location.host + "/"; + if (token) { + loginSuccess(callback); + } else { + if (st) { + validateSt(st, sevice, callback); + } else { + let serviceUrl = encodeURIComponent(sevice); + window.location.href = window._CONFIG['casPrefixUrl'] + "/login?service=" + serviceUrl; + } + } + console.log("-------单点登录结束-------"); + }else{ + callback && callback() + } +}; +const SSO = { + init: init +}; + +function getUrlParam(paraName) { + let url = document.location.toString(); + let arrObj = url.split("?"); + + if (arrObj.length > 1) { + let arrPara = arrObj[1].split("&"); + let arr; + + for (let i = 0; i < arrPara.length; i++) { + arr = arrPara[i].split("="); + + if (arr != null && arr[0] == paraName) { + return arr[1]; + } + } + return ""; + } + else { + return ""; + } +} + +function validateSt(ticket,service,callback){ + let params = { + ticket: ticket, + service:service + }; + store.dispatch('ValidateLogin',params).then(res => { + //this.departConfirm(res) + if(res.success){ + loginSuccess(callback); + }else{ + let sevice = "http://"+window.location.host+"/"; + let serviceUrl = encodeURIComponent(sevice); + window.location.href = window._CONFIG['casPrefixUrl']+"/login?service="+serviceUrl; + } + }).catch((err) => { + console.log(err); + //that.requestFailed(err); + }); +} + +function loginSuccess (callback) { + callback(); +} +export default SSO; \ No newline at end of file diff --git a/src/components/ChartCard.vue b/src/components/ChartCard.vue new file mode 100644 index 0000000..a03b31d --- /dev/null +++ b/src/components/ChartCard.vue @@ -0,0 +1,111 @@ + + + + + \ No newline at end of file diff --git a/src/components/Ellipsis/Ellipsis.vue b/src/components/Ellipsis/Ellipsis.vue new file mode 100644 index 0000000..e69de29 diff --git a/src/components/Ellipsis/index.js b/src/components/Ellipsis/index.js new file mode 100644 index 0000000..e69de29 diff --git a/src/components/README.md b/src/components/README.md new file mode 100644 index 0000000..aea9f1c --- /dev/null +++ b/src/components/README.md @@ -0,0 +1,43 @@ +####1._util包:存放自定义函数 详细见代码注释 +####2.AvatarList:显示头像群并支持tip,用法参考src\views\Home.vue(如下图) +![输入图片说明](https://static.oschina.net/uploads/img/201904/12181253_O0Xi.png "在这里输入图片标题") +####3.chart包:存放各种图表相关的组件,条形图柱形图折线图等等 具体用法参考首页 +####4.countDown包:一个倒计时组件,用法参考home页,简单描述,该组件有3个属性, +target(时间/毫秒数)必填, +format(function,该方法接收一个毫秒数的参数,用于格式化显示当前倒计时时间)非必填, +onEnd倒计时结束触发函数 +![输入图片说明](https://static.oschina.net/uploads/img/201904/12182046_mwqJ.png "在这里输入图片标题") +####5.dict包:数据字典专用,用法参考文件夹下readme文件 +####6.Ellipsis包:字符串截取组件,可以指定字符串的显示长度,并将全部内容显示到tip中,简单使用参考src\views\system\PermissionList.vue +####7.jero包:该包下自定义了很多列表/表单中用到的组件 参考包下readme文件 +####8.jerobiz包:该包下定义了一些业务相关的组件,比如选择用户弹框,根据部门选择用户等等 +####9.layouts+page包:系统页面布局相关组件,比如登陆进去之后页面顶部显示什么,底部显示什么,菜单点击触发多个tab的布局等等 一般情况不需要修改 +####10.menun包:菜单组件,俩个,一个折叠菜单一个正常显示的菜单 +####11.NumberInfo:数字信息显示组件 如下图 +![输入图片说明](https://static.oschina.net/uploads/img/201904/12185858_uvJ5.png "在这里输入图片标题") +####12.online包:该包下封装了online表单的相关组件,用于展示表单各种控件,验证表单等等,相关用法参考readme +####13.setting包:该包下封装了首页风格切换等功能如下图 +![输入图片说明](https://static.oschina.net/uploads/img/201904/12190520_jySG.png "在这里输入图片标题") +####14.table包:一个二次封装的table组件,用于展示列表,参考readme +####15.tools包: +Breadcrumb.vue:面包屑二次封装,支持路由跳转 +DetailList.vue:详情展示用法参考src\views\profile\advanced\Advanced.vue(效果如下图) +![输入图片说明](https://static.oschina.net/uploads/img/201904/12193954_Uar6.png "在这里输入图片标题") +```` +个人认为该页面代码有两点值得学习: +1.vue provide/inject的使用 +2.该页面css定义方式,只定义一个顶层class,其余样式都定义在其下,这样只要顶层class不和别的页面冲突,整个页面的样式都是唯一生效的 +```` +FooterToolBar.vue:fixed定位的底部,通过是否定义内部控件的属性slot="extra"决定是左浮动或是右浮动 +HeaderNotice.vue:首页通知(如下图) +![输入图片说明](https://static.oschina.net/uploads/img/201904/12195340_fPe0.png "在这里输入图片标题") +HeaderInfo.vue:上下文字布局(如下图) +![输入图片说明](https://static.oschina.net/uploads/img/201904/12195638_dG5o.png "在这里输入图片标题") +Logo.vue:首页左上侧的log图 +![输入图片说明](https://static.oschina.net/uploads/img/201904/12200908_ihv3.png "在这里输入图片标题") +UserMenu.vue:首页右上侧的内容 +![输入图片说明](https://static.oschina.net/uploads/img/201904/12201226_laQK.png "在这里输入图片标题") +####16.trend包 趋势显示组件(如下图) +![输入图片说明](https://static.oschina.net/uploads/img/201904/12201600_Wo8K.png "在这里输入图片标题") +![corn表达式](https://oscimg.oschina.net/oscnet/661f9ac09016395f9f49286143af3241623.jpg) +![corn控件添加清除按钮](https://oscimg.oschina.net/oscnet/15096e49f2e29bd829e304d56770025d03c.jpg) \ No newline at end of file diff --git a/src/components/_util/Area.js b/src/components/_util/Area.js new file mode 100644 index 0000000..89cba1f --- /dev/null +++ b/src/components/_util/Area.js @@ -0,0 +1,79 @@ +import { pcaa } from 'area-data' + +/** + * 省市区 + */ +export default class Area { + /** + * 构造器 + * @param express + */ + constructor() { + let arr = [] + const province = pcaa['86'] + Object.keys(province).map(key=>{ + arr.push({id:key, text:province[key], pid:'86'}); + const city = pcaa[key]; + Object.keys(city).map(key2=>{ + arr.push({id:key2, text:city[key2], pid:key}); + const qu = pcaa[key2]; + Object.keys(qu).map(key3=>{ + arr.push({id:key3, text:qu[key3], pid:key2}); + }) + }) + }) + this.all = arr; + } + + get pca(){ + return this.all; + } + + getCode(text){ + if(!text || text.length==0){ + return '' + } + for(let item of this.all){ + if(item.text === text){ + return item.id; + } + } + } + + getText(code){ + if(!code || code.length==0){ + return '' + } + let arr = [] + this.getAreaBycode(code,arr); + return arr.join('/') + } + + getRealCode(code){ + let arr = [] + this.getPcode(code, arr) + return arr; + } + + getPcode(id, arr){ + for(let item of this.all){ + if(item.id === id){ + arr.unshift(id) + if(item.pid != '86'){ + this.getPcode(item.pid,arr) + } + } + } + } + + getAreaBycode(code,arr){ + //console.log("this.all.length",this.all) + for(let item of this.all){ + if(item.id === code){ + arr.unshift(item.text); + this.getAreaBycode(item.pid,arr) + } + } + } + +} \ No newline at end of file diff --git a/src/components/_util/StringUtil.js b/src/components/_util/StringUtil.js new file mode 100644 index 0000000..3f52598 --- /dev/null +++ b/src/components/_util/StringUtil.js @@ -0,0 +1,35 @@ +/** + * 获取字符串的长度ascii长度为1 中文长度为2 + * @param str + * @returns {number} + */ +export const getStrFullLength = (str = '') => + str.split('').reduce((pre, cur) => { + const charCode = cur.charCodeAt(0) + if (charCode >= 0 && charCode <= 128) { + return pre + 1 + } + return pre + 2 + }, 0) + +/** + * 给定一个字符串和一个长度,将此字符串按指定长度截取 + * @param str + * @param maxLength + * @returns {string} + */ +export const cutStrByFullLength = (str = '', maxLength) => { + let showLength = 0 + return str.split('').reduce((pre, cur) => { + const charCode = cur.charCodeAt(0) + if (charCode >= 0 && charCode <= 128) { + showLength += 1 + } else { + showLength += 2 + } + if (showLength <= maxLength) { + return pre + cur + } + return pre + }, '') +} \ No newline at end of file diff --git a/src/components/_util/util.js b/src/components/_util/util.js new file mode 100644 index 0000000..98752a9 --- /dev/null +++ b/src/components/_util/util.js @@ -0,0 +1,12 @@ +/** + * components util + */ + +/** + * 清理空值,对象 + * @param children + * @returns {*[]} + */ +export function filterEmpty (children = []) { + return children.filter(c => c.tag || (c.text && c.text.trim() !== '')) +} \ No newline at end of file diff --git a/src/components/chart/AreaChartTy.vue b/src/components/chart/AreaChartTy.vue new file mode 100644 index 0000000..3d201e7 --- /dev/null +++ b/src/components/chart/AreaChartTy.vue @@ -0,0 +1,88 @@ + + + + + \ No newline at end of file diff --git a/src/components/chart/Bar.vue b/src/components/chart/Bar.vue new file mode 100644 index 0000000..52832d4 --- /dev/null +++ b/src/components/chart/Bar.vue @@ -0,0 +1,50 @@ + + + \ No newline at end of file diff --git a/src/components/chart/BarAndLine.vue b/src/components/chart/BarAndLine.vue new file mode 100644 index 0000000..549a31c --- /dev/null +++ b/src/components/chart/BarAndLine.vue @@ -0,0 +1,60 @@ + + + \ No newline at end of file diff --git a/src/components/chart/BarMultid.vue b/src/components/chart/BarMultid.vue new file mode 100644 index 0000000..029a5d2 --- /dev/null +++ b/src/components/chart/BarMultid.vue @@ -0,0 +1,96 @@ + + + + + \ No newline at end of file diff --git a/src/components/chart/DashChartDemo.vue b/src/components/chart/DashChartDemo.vue new file mode 100644 index 0000000..c2ebf08 --- /dev/null +++ b/src/components/chart/DashChartDemo.vue @@ -0,0 +1,187 @@ + + + diff --git a/src/components/chart/IndexBar.vue b/src/components/chart/IndexBar.vue new file mode 100644 index 0000000..2e44d96 --- /dev/null +++ b/src/components/chart/IndexBar.vue @@ -0,0 +1,61 @@ + + + \ No newline at end of file diff --git a/src/components/chart/LineChartMultid.vue b/src/components/chart/LineChartMultid.vue new file mode 100644 index 0000000..90698f4 --- /dev/null +++ b/src/components/chart/LineChartMultid.vue @@ -0,0 +1,95 @@ + + + + + \ No newline at end of file diff --git a/src/components/chart/Liquid.vue b/src/components/chart/Liquid.vue new file mode 100644 index 0000000..85e5b61 --- /dev/null +++ b/src/components/chart/Liquid.vue @@ -0,0 +1,80 @@ + + + + + \ No newline at end of file diff --git a/src/components/chart/MiniArea.vue b/src/components/chart/MiniArea.vue new file mode 100644 index 0000000..97c8ff7 --- /dev/null +++ b/src/components/chart/MiniArea.vue @@ -0,0 +1,69 @@ + + + + + \ No newline at end of file diff --git a/src/components/chart/MiniBar.vue b/src/components/chart/MiniBar.vue new file mode 100644 index 0000000..9dd6bca --- /dev/null +++ b/src/components/chart/MiniBar.vue @@ -0,0 +1,76 @@ + + + + + \ No newline at end of file diff --git a/src/components/chart/MiniProgress.vue b/src/components/chart/MiniProgress.vue new file mode 100644 index 0000000..e666828 --- /dev/null +++ b/src/components/chart/MiniProgress.vue @@ -0,0 +1,75 @@ + + + + + \ No newline at end of file diff --git a/src/components/chart/Pie.vue b/src/components/chart/Pie.vue new file mode 100644 index 0000000..750e203 --- /dev/null +++ b/src/components/chart/Pie.vue @@ -0,0 +1,70 @@ + + + \ No newline at end of file diff --git a/src/components/chart/README.md b/src/components/chart/README.md new file mode 100644 index 0000000..9aacf09 --- /dev/null +++ b/src/components/chart/README.md @@ -0,0 +1,367 @@ +# 报表组件文档 + +## 柱状图 + +##### 引用方式 + +```js +import Bar from '@/components/chart/Bar' +``` + +##### 参数列表 + +| 参数名 | 类型 | 必填 | 说明 | +|------------|--------|----|------------| +| title | string | | 报表标题 | +| dataSource | array | ✔️ | 报表数据源 | +| height | number | | 报表高度,默认254 | + +##### dataSource 示例 + +```json +[ + { + "x": "1月", + "y": 320 + }, + { + "x": "2月", + "y": 457 + }, + { + "x": "3月", + "y": 182 + } +] +``` + +##### 代码示例 + +```html + + + + + +``` + +## 多列柱状图 + +##### 引用方式 + +```js +import BarMultid from '@/components/chart/BarMultid' +``` + +##### 参数列表 + +| 参数名 | 类型 | 必填 | 说明 | +|------------|--------|----|------------| +| title | string | | 报表标题 | +| fields | array | | 主列字段列表 | +| dataSource | array | | 报表数据源 | +| height | number | | 报表高度,默认254 | + +##### fields 示例 + +```json +["Jan.", "Feb.", "Mar.", "Apr.", "May", "Jun.", "Jul.", "Aug."] +``` + +##### dataSource 示例 + +```json +[ + { + "type": "jero", // 列名 + "Jan.": 18.9, + "Feb.": 28.8, + "Mar.": 39.3, + "Apr.": 81.4, + "May": 47, + "Jun.": 20.3, + "Jul.": 24, + "Aug.": 35.6 + }, + { + "type": "jeroTwo", + "Jan.": 12.4, + "Feb.": 23.2, + "Mar.": 34.5, + "Apr.": 99.7, + "May": 52.6, + "Jun.": 35.5, + "Jul.": 37.4, + "Aug.": 42.4 + } +] +``` + +## 迷你柱状图 + +不带标题和数据轴的柱状图 + +##### 引用方式 + +```js +import MiniBar from '@/components/chart/MiniBar' +``` + +##### 参数列表 + +| 参数名 | 类型 | 必填 | 说明 | +|------------|--------|----|---------------| +| width | number | | 报表宽度度,默认自适应宽度 | +| height | number | | 报表高度,默认200 | +| dataSource | array | | 报表数据源 | + +##### dataSource 示例 + +```json +[ + { + "x": "1月", + "y": 320 + }, + { + "x": "2月", + "y": 457 + }, + { + "x": "3月", + "y": 182 + } +] +``` + +## 面积图 + +##### 引用方式 + +```js +import AreaChartTy from '@/components/chart/AreaChartTy' +``` + +##### 参数列表 + +| 参数名 | 类型 | 必填 | 说明 | +|------------|--------|----|------------| +| title | string | | 报表标题 | +| dataSource | array | ✔️ | 报表数据源 | +| height | number | | 报表高度,默认254 | +| lineSize | number | | 线的粗细,默认2 | + +##### dataSource 示例 + +```json +[ + { + "x": "1月", + "y": 320 + }, + { + "x": "2月", + "y": 457 + }, + { + "x": "3月", + "y": 182 + } +] +``` + +## 多行折线图 + +##### 引用方式 + +```js +import LineChartMultid from '@/components/chart/LineChartMultid' +``` + +##### 参数列表 + +| 参数名 | 类型 | 必填 | 说明 | +|------------|--------|----|------------| +| title | string | | 报表标题 | +| fields | array | | 主列字段列表 | +| dataSource | array | | 报表数据源 | +| height | number | | 报表高度,默认254 | + +##### fields 示例 + +```json +["jero", "jeroTwo"] +``` + +##### dataSource 示例 + +```json +[ + { + "type": "Jan", // 列名 + "jero": 7, + "jeroTwo": 3.9 + }, + { "type": "Feb", "jero": 6.9, "jeroTwo": 4.2 }, + { "type": "Mar", "jero": 9.5, "jeroTwo": 5.7 }, + { "type": "Apr", "jero": 14.5, "jeroTwo": 8.5 }, + { "type": "May", "jero": 18.4, "jeroTwo": 11.9 }, + { "type": "Jun", "jero": 21.5, "jeroTwo": 15.2 }, + { "type": "Jul", "jero": 25.2, "jeroTwo": 17 }, + { "type": "Aug", "jero": 26.5, "jeroTwo": 16.6 }, + { "type": "Sep", "jero": 23.3, "jeroTwo": 14.2 }, + { "type": "Oct", "jero": 18.3, "jeroTwo": 10.3 }, + { "type": "Nov", "jero": 13.9, "jeroTwo": 6.6 }, + { "type": "Dec", "jero": 9.6, "jeroTwo": 4.8 } +] +``` + +## 饼状图 + +##### 引用方式 + +```js +import Pie from '@/components/chart/Pie' +``` + +##### 参数列表 + +| 参数名 | 类型 | 必填 | 说明 | +|------------|--------|----|------------| +| dataSource | array | | 报表数据源 | +| height | number | | 报表高度,默认254 | + +##### dataSource 示例 + +```json +[ + // 所有的 percent 相加等于 100 + { "item": "一月", "percent": 40 }, + { "item": "二月", "percent": 21 }, + { "item": "三月", "percent": 17 }, + { "item": "四月", "percent": 13 }, + { "item": "五月", "percent": 9 } +] +``` + +## 雷达图 + +##### 引用方式 + +```js +import Radar from '@/components/chart/Radar' +``` + +##### 参数列表 + +| 参数名 | 类型 | 必填 | 说明 | +|------------|--------|----|------------| +| dataSource | array | | 报表数据源 | +| height | number | | 报表高度,默认254 | + +##### dataSource 示例 + +```json +[ + // score 最小值为 0,最大值为 100 + { "item": "一月", "score": 40 }, + { "item": "二月", "score": 20 }, + { "item": "三月", "score": 67 }, + { "item": "四月", "score": 43 }, + { "item": "五月", "score": 90 } +] +``` + +## 进度条 + +##### 引用方式 + +```js +import MiniProgress from '@/components/chart/MiniProgress' +``` + +##### 参数列表 + +| 参数名 | 类型 | 必填 | 说明 | +|------------|--------|----|-------------------| +| percentage | number | | 当前进度百分比,默认0,最高100 | +| target | number | | 目标值,默认10 | +| height | number | | 进度条高度,默认10 | +| color | string | | 进度条颜色,默认 #13C2C2 | + +## 仪表盘 + +##### 引用方式 + +```js +import DashChartDemo from '@/components/chart/DashChartDemo' +``` + +##### 参数列表 + +| 参数名 | 类型 | 必填 | 说明 | +|--------|--------|----|----------------| +| title | string | | 报表标题 | +| value | number | | 当前值,默认6.7,最大为9 | +| height | number | | 报表高度,默认254 | + +## 排名列表 + +##### 引用方式 + +```js +import RankList from '@/components/chart/RankList' +``` + +##### 参数列表 + +| 参数名 | 类型 | 必填 | 说明 | +|--------|--------|----|--------------| +| title | string | | 报表标题 | +| list | array | | 排名列表数据 | +| height | number | | 报表高度,默认自适应高度 | + +##### list 示例 + +```json +[ + { + "name": "北京朝阳 1 号店", + "total": 1981 + }, + { "name": "北京朝阳 2 号店", "total": 1359 }, + { "name": "北京朝阳 3 号店", "total": 1354 }, + { "name": "北京朝阳 4 号店", "total": 263 }, + { "name": "北京朝阳 5 号店", "total": 446 }, + { "name": "北京朝阳 6 号店", "total": 796 } +] +``` \ No newline at end of file diff --git a/src/components/chart/Radar.vue b/src/components/chart/Radar.vue new file mode 100644 index 0000000..b7b30b0 --- /dev/null +++ b/src/components/chart/Radar.vue @@ -0,0 +1,90 @@ + + + + + \ No newline at end of file diff --git a/src/components/chart/RankList.vue b/src/components/chart/RankList.vue new file mode 100644 index 0000000..f5d68fe --- /dev/null +++ b/src/components/chart/RankList.vue @@ -0,0 +1,81 @@ + + + + + \ No newline at end of file diff --git a/src/components/chart/StackBar.vue b/src/components/chart/StackBar.vue new file mode 100644 index 0000000..01b566f --- /dev/null +++ b/src/components/chart/StackBar.vue @@ -0,0 +1,54 @@ + + + \ No newline at end of file diff --git a/src/components/chart/TransferBar.vue b/src/components/chart/TransferBar.vue new file mode 100644 index 0000000..bb953e9 --- /dev/null +++ b/src/components/chart/TransferBar.vue @@ -0,0 +1,66 @@ + + + \ No newline at end of file diff --git a/src/components/chart/Trend.vue b/src/components/chart/Trend.vue new file mode 100644 index 0000000..1ca1deb --- /dev/null +++ b/src/components/chart/Trend.vue @@ -0,0 +1,84 @@ + + + + + \ No newline at end of file diff --git a/src/components/chart/chart.less b/src/components/chart/chart.less new file mode 100644 index 0000000..e04fa09 --- /dev/null +++ b/src/components/chart/chart.less @@ -0,0 +1,13 @@ +.antv-chart-mini { + position: relative; + width: 100%; + + .chart-wrapper { + position: absolute; + bottom: -28px; + width: 100%; + +/* margin: 0 -5px; + overflow: hidden;*/ + } +} \ No newline at end of file diff --git a/src/components/chart/mixins/ChartMixins.js b/src/components/chart/mixins/ChartMixins.js new file mode 100644 index 0000000..f99c0bd --- /dev/null +++ b/src/components/chart/mixins/ChartMixins.js @@ -0,0 +1,10 @@ +export const ChartEventMixins = { + methods: { + handleClick(event, chart) { + this.handleEvent('click', event, chart) + }, + handleEvent(eventName, event, chart) { + this.$emit(eventName, event, chart) + }, + } +} \ No newline at end of file diff --git a/src/components/dict/JDictSelectTag.vue b/src/components/dict/JDictSelectTag.vue new file mode 100644 index 0000000..78a01d3 --- /dev/null +++ b/src/components/dict/JDictSelectTag.vue @@ -0,0 +1,110 @@ + + + + + \ No newline at end of file diff --git a/src/components/dict/JDictSelectUtil.js b/src/components/dict/JDictSelectUtil.js new file mode 100644 index 0000000..a735f3f --- /dev/null +++ b/src/components/dict/JDictSelectUtil.js @@ -0,0 +1,147 @@ +/** + * 字典 util + * author: scott + * date: 20190109 + */ + +import {ajaxGetDictItems,getDictItemsFromCache} from '@/api/api' +import {getAction} from '@/api/manage' + +/** + * 获取字典数组 + * @param dictCode 字典Code + * @return List + */ +export async function initDictOptions(dictCode) { + if (!dictCode) { + return '字典Code不能为空!'; + } + //优先从缓存中读取字典配置 + if(getDictItemsFromCache(dictCode)){ + let res = {} + res.result = getDictItemsFromCache(dictCode); + res.success = true; + return res; + } + //获取字典数组 + let res = await ajaxGetDictItems(dictCode); + return res; +} + +/** + * 字典值替换文本通用方法 + * @param dictOptions 字典数组 + * @param text 字典值 + * @return String + */ +export function filterDictText(dictOptions, text) { + // --update-begin----author:sunjianlei---date:20200323------for: 字典翻译 text 允许逗号分隔 --- + if (text != null && Array.isArray(dictOptions)) { + let result = [] + // 允许多个逗号分隔,允许传数组对象 + let splitText + if (Array.isArray(text)) { + splitText = text + } else { + splitText = text.toString().trim().split(',') + } + for (let txt of splitText) { + let dictText = txt + for (let dictItem of dictOptions) { + if (txt.toString() === dictItem.value.toString()) { + dictText = (dictItem.text || dictItem.title || dictItem.label) + break + } + } + result.push(dictText) + } + return result.join(',') + } + return text + // --update-end----author:sunjianlei---date:20200323------for: 字典翻译 text 允许逗号分隔 --- +} + +/** + * 字典值替换文本通用方法(多选) + * @param dictOptions 字典数组 + * @param text 字典值 + * @return String + */ +export function filterMultiDictText(dictOptions, text) { + //js “!text” 认为0为空,所以做提前处理 + if(text === 0 || text === '0'){ + if(dictOptions){ + for (let dictItem of dictOptions) { + if (text == dictItem.value) { + return dictItem.text + } + } + } + } + + if(!text || text=='null' || !dictOptions || dictOptions.length==0){ + return "" + } + let re = ""; + text = text.toString() + let arr = text.split(",") + dictOptions.forEach(function (option) { + if(option){ + for(let i=0;i t["value"] == key) + if(item && item.length>0){ + return item[0]["text"] + } + } +} + +/** 通过code获取字典数组 */ +export async function getDictItems(dictCode, params) { + //优先从缓存中读取字典配置 + if(getDictItemsFromCache(dictCode)){ + let desformDictItems = getDictItemsFromCache(dictCode).map(item => ({...item, label: item.text})) + return desformDictItems; + } + + //缓存中没有,就请求后台 + return await ajaxGetDictItems(dictCode, params).then(({success, result}) => { + if (success) { + let res = result.map(item => ({...item, label: item.text})) + console.log('------- 从DB中获取到了字典-------dictCode : ', dictCode, res) + return Promise.resolve(res) + } else { + console.error('getDictItems error: : ', res) + return Promise.resolve([]) + } + }).catch((res) => { + console.error('getDictItems error: ', res) + return Promise.resolve([]) + }) +} \ No newline at end of file diff --git a/src/components/dict/JMultiSelectTag.vue b/src/components/dict/JMultiSelectTag.vue new file mode 100644 index 0000000..66f9ba9 --- /dev/null +++ b/src/components/dict/JMultiSelectTag.vue @@ -0,0 +1,132 @@ + + + diff --git a/src/components/dict/JSearchSelectTag.vue b/src/components/dict/JSearchSelectTag.vue new file mode 100644 index 0000000..077530b --- /dev/null +++ b/src/components/dict/JSearchSelectTag.vue @@ -0,0 +1,246 @@ + + + + + \ No newline at end of file diff --git a/src/components/dict/README.md b/src/components/dict/README.md new file mode 100644 index 0000000..4106df0 --- /dev/null +++ b/src/components/dict/README.md @@ -0,0 +1,181 @@ +# JDictSelectTag 组件用法 +---- +- 从字典表获取数据,dictCode格式说明: 字典code +```html + +``` + +v-decorator用法: +```html + +``` + +- 从数据库表获取字典数据,dictCode格式说明: 表名,文本字段,取值字段 +```html + +``` + + + +# JDictSelectUtil.js 列表字典函数用法 +---- + +- 第一步: 引入依赖方法 +```html + import {initDictOptions, filterDictText} from '@/components/dict/JDictSelectUtil' +``` + +- 第二步: 在created()初始化方法执行字典配置方法 +```html + //初始化字典配置 + this.initDictConfig(); +``` + +- 第三步: 实现initDictConfig方法,加载列表所需要的字典(列表上有多个字典项,就执行多次initDictOptions方法) + +```html + initDictConfig() { + //初始化字典 - 性别 + initDictOptions('sex').then((res) => { + if (res.success) { + this.sexDictOptions = res.result; + } + }); + }, +``` + +- 第四步: 实现字段的customRender方法 +```html + customRender: (text, record, index) => { + //字典值替换通用方法 + return filterDictText(this.sexDictOptions, text); + } +``` + + +# JMultiSelectTag 多选组件 +下拉/checkbox + +## 参数配置 +| 参数 | 类型 | 必填 |说明| +|--------------|---------|----|---------| +| placeholder |string | | placeholder | +| disabled |Boolean | | 是否禁用 | +| type |string | | 多选类型 select/checkbox 默认是select | +| dictCode |string | | 数据字典编码或者表名,显示字段名,存储字段名拼接而成的字符串,如果提供了options参数 则此参数可不填| +| options |Array | | 多选项,如果dictCode参数未提供,可以设置此参数加载多选项 | + +使用示例 +---- +```vue + + + +``` + +# JSearchSelectTag 字典表的搜索组件 +下拉搜索组件,支持异步加载,异步加载用于大数据量的字典表 + +## 参数配置 +| 参数 | 类型 | 必填 |说明| +|--------------|---------|----|---------| +| placeholder |string | | placeholder | +| disabled |Boolean | | 是否禁用 | +| dict |string | | 表名,显示字段名,存储字段名拼接而成的字符串,如果提供了dictOptions参数 则此参数可不填| +| dictOptions |Array | | 多选项,如果dict参数未提供,可以设置此参数加载多选项 | +| async |Boolean | | 是否支持异步加载,设置成true,则通过输入的内容加载远程数据,否则在本地过滤数据,默认false| + +使用示例 +---- +```vue + + + +``` + diff --git a/src/components/dict/index.js b/src/components/dict/index.js new file mode 100644 index 0000000..23400a7 --- /dev/null +++ b/src/components/dict/index.js @@ -0,0 +1,16 @@ +import JDictSelectTag from './JDictSelectTag.vue' +import JMultiSelectTag from './JMultiSelectTag.vue' +import JSearchSelectTag from './JSearchSelectTag.vue' +import { filterMultiDictText,filterDictText,initDictOptions,filterDictTextByCache } from './JDictSelectUtil' + +export default { + install: function (Vue) { + Vue.component('JDictSelectTag',JDictSelectTag); + Vue.component('JMultiSelectTag',JMultiSelectTag); + Vue.component('JSearchSelectTag',JSearchSelectTag); + Vue.prototype.$initDictOptions = (dictCode) => initDictOptions(dictCode) + Vue.prototype.$filterMultiDictText = (dictOptions, text) => filterMultiDictText(dictOptions, text) + Vue.prototype.$filterDictText = (dictOptions, text) => filterDictText(dictOptions, text) + Vue.prototype.$filterDictTextByCache = (...param) => filterDictTextByCache(...param) + } +} \ No newline at end of file diff --git a/src/components/index.less b/src/components/index.less new file mode 100644 index 0000000..d8c97bb --- /dev/null +++ b/src/components/index.less @@ -0,0 +1,4 @@ +@import "~ant-design-vue/lib/style/index"; + +// The prefix to use on all css classes from ant-pro. +@ant-pro-prefix : ant-pro; \ No newline at end of file diff --git a/src/components/jero/JAreaLinkage.vue b/src/components/jero/JAreaLinkage.vue new file mode 100644 index 0000000..b46e3ce --- /dev/null +++ b/src/components/jero/JAreaLinkage.vue @@ -0,0 +1,163 @@ + + + + + \ No newline at end of file diff --git a/src/components/jero/JCategorySelect.vue b/src/components/jero/JCategorySelect.vue new file mode 100644 index 0000000..cab251f --- /dev/null +++ b/src/components/jero/JCategorySelect.vue @@ -0,0 +1,269 @@ + + diff --git a/src/components/jero/JCheckbox.vue b/src/components/jero/JCheckbox.vue new file mode 100644 index 0000000..e87f5b5 --- /dev/null +++ b/src/components/jero/JCheckbox.vue @@ -0,0 +1,46 @@ + + + diff --git a/src/components/jero/JCodeEditor.vue b/src/components/jero/JCodeEditor.vue new file mode 100644 index 0000000..ffdc79f --- /dev/null +++ b/src/components/jero/JCodeEditor.vue @@ -0,0 +1,479 @@ + + + + + \ No newline at end of file diff --git a/src/components/jero/JCron.vue b/src/components/jero/JCron.vue new file mode 100644 index 0000000..39c279e --- /dev/null +++ b/src/components/jero/JCron.vue @@ -0,0 +1,65 @@ + + + diff --git a/src/components/jero/JDate.vue b/src/components/jero/JDate.vue new file mode 100644 index 0000000..e1bb728 --- /dev/null +++ b/src/components/jero/JDate.vue @@ -0,0 +1,160 @@ + + diff --git a/src/components/jero/JEditableTable.vue b/src/components/jero/JEditableTable.vue new file mode 100644 index 0000000..4e0550b --- /dev/null +++ b/src/components/jero/JEditableTable.vue @@ -0,0 +1,3222 @@ + + + + + + + + diff --git a/src/components/jero/JEditor.vue b/src/components/jero/JEditor.vue new file mode 100644 index 0000000..7055907 --- /dev/null +++ b/src/components/jero/JEditor.vue @@ -0,0 +1,158 @@ + + + + \ No newline at end of file diff --git a/src/components/jero/JEllipsis.vue b/src/components/jero/JEllipsis.vue new file mode 100644 index 0000000..2a7404c --- /dev/null +++ b/src/components/jero/JEllipsis.vue @@ -0,0 +1,32 @@ + + + + + diff --git a/src/components/jero/JFormContainer.vue b/src/components/jero/JFormContainer.vue new file mode 100644 index 0000000..8daf9b2 --- /dev/null +++ b/src/components/jero/JFormContainer.vue @@ -0,0 +1,61 @@ + + + + \ No newline at end of file diff --git a/src/components/jero/JImageUpload.vue b/src/components/jero/JImageUpload.vue new file mode 100644 index 0000000..e6e66a5 --- /dev/null +++ b/src/components/jero/JImageUpload.vue @@ -0,0 +1,233 @@ + + + + + diff --git a/src/components/jero/JImportModal.vue b/src/components/jero/JImportModal.vue new file mode 100644 index 0000000..0ed7646 --- /dev/null +++ b/src/components/jero/JImportModal.vue @@ -0,0 +1,129 @@ + + + + + \ No newline at end of file diff --git a/src/components/jero/JInput.vue b/src/components/jero/JInput.vue new file mode 100644 index 0000000..8774ee8 --- /dev/null +++ b/src/components/jero/JInput.vue @@ -0,0 +1,130 @@ + + + + + \ No newline at end of file diff --git a/src/components/jero/JModal/index.vue b/src/components/jero/JModal/index.vue new file mode 100644 index 0000000..7c6322e --- /dev/null +++ b/src/components/jero/JModal/index.vue @@ -0,0 +1,228 @@ + + + + + \ No newline at end of file diff --git a/src/components/jero/JPopup.vue b/src/components/jero/JPopup.vue new file mode 100644 index 0000000..50f0398 --- /dev/null +++ b/src/components/jero/JPopup.vue @@ -0,0 +1,221 @@ + + + + \ No newline at end of file diff --git a/src/components/jero/JSelectMultiple.vue b/src/components/jero/JSelectMultiple.vue new file mode 100644 index 0000000..e47804d --- /dev/null +++ b/src/components/jero/JSelectMultiple.vue @@ -0,0 +1,94 @@ + + + diff --git a/src/components/jero/JSlider.vue b/src/components/jero/JSlider.vue new file mode 100644 index 0000000..18fda68 --- /dev/null +++ b/src/components/jero/JSlider.vue @@ -0,0 +1,116 @@ + + + + + \ No newline at end of file diff --git a/src/components/jero/JSuperQuery.vue b/src/components/jero/JSuperQuery.vue new file mode 100644 index 0000000..c751b14 --- /dev/null +++ b/src/components/jero/JSuperQuery.vue @@ -0,0 +1,677 @@ + + + + + \ No newline at end of file diff --git a/src/components/jero/JSwitch.vue b/src/components/jero/JSwitch.vue new file mode 100644 index 0000000..dd15370 --- /dev/null +++ b/src/components/jero/JSwitch.vue @@ -0,0 +1,102 @@ + + diff --git a/src/components/jero/JTable.vue b/src/components/jero/JTable.vue new file mode 100644 index 0000000..43c2a1d --- /dev/null +++ b/src/components/jero/JTable.vue @@ -0,0 +1,398 @@ + + + + + diff --git a/src/components/jero/JTime.vue b/src/components/jero/JTime.vue new file mode 100644 index 0000000..0615e8a --- /dev/null +++ b/src/components/jero/JTime.vue @@ -0,0 +1,90 @@ + + + + + \ No newline at end of file diff --git a/src/components/jero/JTreeDict.vue b/src/components/jero/JTreeDict.vue new file mode 100644 index 0000000..cec5e63 --- /dev/null +++ b/src/components/jero/JTreeDict.vue @@ -0,0 +1,218 @@ + + + \ No newline at end of file diff --git a/src/components/jero/JTreeSelect.vue b/src/components/jero/JTreeSelect.vue new file mode 100644 index 0000000..f68a467 --- /dev/null +++ b/src/components/jero/JTreeSelect.vue @@ -0,0 +1,338 @@ + + diff --git a/src/components/jero/JTreeTable.vue b/src/components/jero/JTreeTable.vue new file mode 100644 index 0000000..bf14b81 --- /dev/null +++ b/src/components/jero/JTreeTable.vue @@ -0,0 +1,180 @@ + + + + + \ No newline at end of file diff --git a/src/components/jero/JUpload.vue b/src/components/jero/JUpload.vue new file mode 100644 index 0000000..7631f7c --- /dev/null +++ b/src/components/jero/JUpload.vue @@ -0,0 +1,295 @@ + + + + + \ No newline at end of file diff --git a/src/components/jero/README.md b/src/components/jero/README.md new file mode 100644 index 0000000..e0c22c8 --- /dev/null +++ b/src/components/jero/README.md @@ -0,0 +1,512 @@ +# JDate 日期组件 使用文档 + +###### 说明: antd-vue日期组件需要用moment中转一下,用起来不是很方便,特二次封装,使用时只需要传字符串即可 +## 参数配置 +| 参数 | 类型 | 必填 |说明| +|--------------|---------|----|---------| +| placeholder |string | | placeholder | +| readOnly | boolean | | true/false 默认false | +| value | string | | 绑定v-model或是v-decorator后不需要设置 | +| showTime | boolean | | 是否展示时间true/false 默认false | +| dateFormat | string | |日期格式 默认'YYYY-MM-DD' 若showTime设置为true则需要将其设置成对应的时间格式(如:YYYY-MM-DD HH:mm:ss) | +| triggerChange | string | |触发组件值改变的事件是否是change,当使用v-decorator时且没有设置decorator的option.trigger为input需要设置该值为true | +使用示例 +---- +1.组件带有v-model的使用方法 +```vue + +``` + +2.组件带有v-decorator的使用方法 + a).设置trigger-change属性为true + ```vue + + ``` + + b).设置decorator的option.trigger为input + ```vue + + ``` + +3.其他使用 +添加style +```vue + +``` +添加placeholder +```vue + +``` +添加readOnly +```vue + +``` + +备注: +script内需引入jdate +```vue + +``` + + + --- + + +# JSuperQuery 高级查询 使用文档 +## 参数配置 +| 参数 | 类型 | 必填 | 说明 | +|--------------|---------|----|----------------------| +| fieldList | array |✔| 需要查询的列集合示例如下,type类型有:date/datetime/string/int/number | +| callback | array | | 回调函数名称(非必须)默认handleSuperQuery | + +fieldList结构示例: +```vue + const superQueryFieldList=[{ + type:"date", + value:"birthday", + text:"生日" + },{ + type:"string", + value:"name", + text:"用户名" + },{ + type:"int", + value:"age", + text:"年龄" + }] +``` +页面代码概述: +---- +1.import之后再components之内声明 +```vue +import JSuperQuery from '@/components/jeecg/JSuperQuery.vue'; + export default { + name: "JeroDemoList", + components: { + JSuperQuery + }, + +``` +2.页面引用 +```vue + + +``` +3.list页面data中需要定义三个属性: +```vue + fieldList:superQueryFieldList, + superQueryFlag:false, + superQueryParams:"" +``` +4.list页面声明回调事件handleSuperQuery(与组件的callback对应即可) +```vue +//高级查询方法 +handleSuperQuery(arg) { + if(!arg){ + this.superQueryParams='' + this.superQueryFlag = false + }else{ + this.superQueryFlag = true + this.superQueryParams=JSON.stringify(arg) + } + this.loadData() +}, +``` +5.改造list页面方法 +```vue + // 获取查询条件 + getQueryParams() { + let sqp = {} + if(this.superQueryParams){ + sqp['superQueryParams']=encodeURI(this.superQueryParams) + } + var param = Object.assign(sqp, this.queryParam, this.isorter); + param.field = this.getQueryField(); + param.pageNo = this.ipagination.current; + param.pageSize = this.ipagination.pageSize; + return filterObj(param); + }, +``` +6.打开弹框调用show方法: +```vue +this.$refs.superQueryModal.show(); +``` + +# JEllipsis 字符串超长截取省略号显示 + +###### 说明: 遇到超长文本展示,通过此标签可以截取省略号显示,鼠标放置会提示全文本 +## 参数配置 +| 参数 | 类型 | 必填 | 说明 | +|--------|---------|----|----------------| +| value |string | 必填 | 字符串文本| +| length | number | 非必填 | 默认25 | +使用示例 +---- +1.组件带有v-model的使用方法 +```vue + + + +# Modal弹框实现最大化功能 + +1.定义modal的宽度: +```vue + +``` +2.自定义modal的title,居右显示切换图标 +```vue + +``` +3.定义toggleScreen事件,用于切换modal宽度 +```vue + toggleScreen(){ + if(this.modaltoggleFlag){ + this.modalWidth = window.innerWidth; + }else{ + this.modalWidth = 800; + } + this.modaltoggleFlag = !this.modaltoggleFlag; + }, +``` +4.data中声明上述用到的属性 +```vue + data () { + return { + modalWidth:800, + modaltoggleFlag:true, +``` + +# 下拉选项滚动错位的解决方法 + +## 问题描述 + +当使用了 `a-modal` 或其他带有滚动条的组件时,使用`a-select`组件并打开下拉框时滚动滚动条,就会导致错位的问题产生。 + +## 解决方法 + +大多数情况下,在 `a-select` 上添加一个 `getPopupContainer` 属性,值为`node => node.parentNode`即可解决。 +但是如果遇到 `a-select` 标签层级过深的情况,可能仍然会显示异常,只需要多加几个`.parentNode` (例:node => node.parentNode.parentNode.parentNode)多尝试几次直到解决问题即可。 + +### 代码示例 + +```html + +``` + +# JAsyncTreeList 异步数列表组件使用说明 + +## 引入组件 + +```js +import JTreeTable from '@/components/jero/JTreeTable' +export default { + components: { JTreeTable } +} +``` + +## 所需参数 + +| 参数 | 类型 | 必填 | 说明 | +|-------------|--------|--------|--------------------------------------------------------------| +| rowKey | String | 非必填 | 表格行 key 的取值,默认为"id" | +| columns | Array | 必填 | 表格列的配置描述,具体见Antd官方文档 | +| url | String | 必填 | 数据查询url | +| childrenUrl | String | 非必填 | 查询子级时的url,若不填则使用url参数查询子级 | +| queryKey | String | 非必填 | 根据某个字段查询,如果传递 id 就根据 id 查询,默认为parentId | +| queryParams | Object | 非必填 | 查询参数,当查询参数改变的时候会自动重新查询,默认为{} | +| topValue | String | 非必填 | 查询顶级时的值,如果顶级为0,则传0,默认为null | +| tableProps | Object | 非必填 | 自定义给内部table绑定的props | + +## 代码示例 + +```html + + + +``` + +# JCheckbox 使用文档 + +###### 说明: antd-vue checkbox组件处理的是数组,用起来不是很方便,特二次封装,使用时只需处理字符串即可 +## 参数配置 +| 参数 | 类型 | 必填 |说明| +|--------------|---------|----|---------| +| options |array |✔| checkbox需要配置的项,是个数组,数组中每个对象包含两个属性:label(用于显示)和value(用于存储) | + +使用示例 +---- +```vue + + + +``` + +# JCodeEditor 使用文档 + +###### 说明: 一个简易版的代码编辑器,支持语法高亮 +## 参数配置 +| 参数 | 类型 | 必填 |说明| +|--------------|---------|----|---------| +| language |string | | 表示当前编写代码的类型 javascript/html/css/sql | +| placeholder |string | | placeholder | +| lineNumbers |Boolean | | 是否显示行号 | +| fullScreen |Boolean | | 是否显示全屏按钮 | +| zIndex |string | | 全屏以后的z-index | + +使用示例 +---- +```vue + + + +``` + +# JFormContainer 使用文档 + +###### 说明: 暂用于表单禁用 + +使用示例 +---- +```vue + + + + + + +``` + +# JImportModal 使用文档 + +###### 说明: 用于列表页面导入excel功能 + +使用示例 +---- +```vue + + + + +``` + +# JSelectMultiple 多选下拉组件 +online用 实际开发请使用components/dict/JMultiSelectTag + +# JSlider 滑块验证码 + +使用示例 +---- +```vue + + + +``` + + +# JTreeSelect 树形下拉组件 +异步加载的树形下拉组件 + +## 参数配置 +| 参数 | 类型 | 必填 |说明| +|--------------|---------|----|---------| +| placeholder |string | | placeholder | +| dict |string | ✔| 表名,显示字段名,存储字段名拼接的字符串 | +| pidField |string | ✔| 父ID的字段名 | +| pidValue |string | | 根节点父ID的值 默认'0' 不可以设置为空,如果想使用此组件,而数据库根节点父ID为空,请修改之 | +| multiple |boolean | |是否支持多选 | + +使用示例 +---- +```vue + + + +``` + + diff --git a/src/components/jero/README_JEditableTable.md b/src/components/jero/README_JEditableTable.md new file mode 100644 index 0000000..4bfa596 --- /dev/null +++ b/src/components/jero/README_JEditableTable.md @@ -0,0 +1,577 @@ +# JEditableTable 帮助文档 + +## 参数配置 + +| 参数 | 类型 | 必填 | 说明 | +|--------------|---------|------|---------------------------------------------------------------------------------| +| columns | array | ✔️ | 表格列的配置描述,具体项见下表 | +| dataSource | array | ✔️ | 表格数据 | +| loading | boolean | | 是否正在加载,加载中不会显示任何行,默认false | +| actionButton | boolean | | 是否显示操作按钮,包括"新增"、"删除",默认false | +| rowNumber | boolean | | 是否显示行号,默认false | +| rowSelection | boolean | | 是否可选择行,默认false | +| dragSort | boolean | | 是否可拖动排序,默认false | +| dragSortKey | string | | 拖动排序存储的Key,无需定义在columns内也能在getValues()时获取到值,默认orderNum | +| maxHeight | number | | 设定最大高度(px),默认400 | +| disabledRows | object | | 设定禁用的行,被禁用的行无法被选择和编辑,配置方法可以查看示例 | +| disabled | boolean | | 是否禁用所有行,默认false | + +### columns 参数详解 + +| 参数 | 类型 | 必填 | 说明 | +|---------------|---------|------|--------------------------------------------------------------------------------------------------------------------------------------------------------| +| title | string | ✔️ | 表格列头显示的问题 | +| key | string | ✔️ | 列数据在数据项中对应的 key,必须是唯一的 | +| type | string | ✔️ | 表单的类型,可以通过`JEditableTableUtil.FormTypes`赋值 | +| width | string | | 列的宽度,可以是百分比,也可以是`px`或其他单位,建议设置为百分比,且每一列的宽度加起来不应超过100%,否则可能会不能达到预期的效果。留空会自动计算百分比 | +| placeholder | string | | 表单预期值的提示信息,可以使用`${...}`变量替换文本(详见`${...} 变量使用方式`) | +| defaultValue | string | | 默认值,在新增一行时生效 | +| validateRules | array | | 表单验证规则,配置方式见[validateRules 配置规则](#validaterules-配置规则) | +| props | object | | 设置添加给表单元素的自定义属性,例如:`props:{title: 'show title'}` | +| disabled | boolean | | 是否禁用当前列,默认false | + +#### 当 type=checkbox 时所需的参数 + +| 参数 | 类型 | 必填 | 说明 | +|----------------|---------|------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| defaultChecked | boolean | | 默认值是否选中 | +| customValue | array | | 自定义值,checkbox需要的是boolean值,如果数据是其他值(例如`'Y' or 'N'`)时,就会导致错误,所以提供了该属性进行转换,例:`customValue: ['Y','N']`,会将`true`转换为`'Y'`,`false`转换为`'N'`,反之亦然 | + +#### 当 type=select 时所需的参数 + +| 参数 | 类型 | 必填 | 说明 | +|------------|---------|------|----------------------------------------------------| +| options | array | ✔️ | 下拉选项列表,详见下表 | +| allowInput | boolean | | 是否允许用户输入内容,并创建新的内容 | +| dictCode | String | | 数据字典Code,若options也有值,则拼接在options后面 | + +##### options 所需参数 + +| 参数 | 类型 | 必填 | 说明 | +|-----------|------------|------|----------------------------------------------------------------------| +| text | string | ✔️ | 显示标题 | +| value | string | ✔️ | 真实值 | +| ~~title~~ | ~~string~~ | | ~~显示标题(已废弃,若同时填写了 title 和 text 那么优先使用 text)~~ | + +#### 当 type=upload 时所需的参数 + +| 参数 | 类型 | 必填 | 说明 | +|--------------|---------|------|--------------------------------------------------------------------------------------| +| action | string | ✔️ | 上传文件路径 | +| token | boolean | | 上传的时候是否传递token | +| responseName | string | ✔️ | 若要从上传成功后从response中取出返回的文件名,那么这里填后台返回的包含文件名的字段名 | + +#### 当 type=slot 时所需的参数 + +| 参数 | 类型 | 必填 | 说明 | +|----------|--------|------|------------| +| slotName | string | ✔️ | slot的名称 | + +### validateRules 配置规则 + +`validateRules` 需要的是一个数组,数组里每项都是一个规则,规则是object类型,规则的各个参数如下 + +- `required` 是否必填,可选值为`true`or`false` +- `pattern` 正则表达式验证,只有成功匹配该正则的值才能成功通过验证 +- `handler` 自定义函数校验,使用方法请见[示例五](#示例五) +- `message` 当验证未通过时显示的提示文本,可以使用`${...}`变量替换文本(详见`${...} 变量使用方式`) +- 配置示例请看[示例二](#示例二) + +## 事件 + +| 事件名 | 触发时机 | 参数 | +|-----------------|----------------------------------------------------|--------------------------------------------------| +| added | 当添加行操作完成后触发 | | +| deleted | 当删除行操作完成后触发(批量删除操作只会触发一次) | `deleteIds` 被逻辑删除的id | +| selectRowChange | 当行被选中或取消选中时触发 | `selectedRowIds` 被选中行的id | +| valueChange | 当数据发生改变的时候触发的事件 | `{ type, row, column, value, target }` Event对象 | + +## 方法 + +关于方法的如何调用的问题,请在**FAQ**中查看[方法如何调用](#方法如何调用) + +### initialize + +用于初始化表格(清空表格) + +- `参数:` 无 +- `返回值:` 无 + +### resetScrollTop + +重置滚动条Top位置 + +- `参数:` + +| 参数名 | 类型 | 必填 | 说明 | +|--------|--------|------|--------------------------------------------------------------------------------------------------------| +| top | number | | 新top位置,留空则滚动到上次记录的位置,用于解决切换tab选项卡时导致白屏以及自动将滚动条滚动到顶部的问题 | + +- `返回值:` 无 + +### add + +主动添加行,默认情况下,当用户的滚动条已经在底部的时候,会将滚动条固定在底部,即添加后无需用户手动滚动,而会自动滚动到底部 + +- `参数:` + +| 参数名 | 类型 | 必填 | 说明 | +|---------------------|---------|------|---------------------------------------------------------------------| +| num | number | | 添加几行,默认为1 | +| forceScrollToBottom | boolean | | 是否在添加后无论用户的滚动条在什么位置都强制滚动到底部,默认为false | + +- `返回值:` 无 + +### removeRows + +主动删除一行或多行 + +- `参数:` + +| 参数名 | 类型 | 必填 | 说明 | +|--------|-----------------|------|--------------------------------------------------------------------------------------------| +| id | string 或 array | ✔️ | 被删除行的id。如果要删除一个,可以直接传id,如果要删除多个,需要将多个id封装成一个数组传入 | + +- `返回值:` 无 + +### removeSelectedRows + +主动删除被选中的行 + +- `参数:` 无 +- `返回值:` 无 + +### getValues + +用于获取表格里所有表单的值,可进行表单验证 + +- `参数:` + +| 参数名 | 类型 | 必填 | 说明 | +|----------|----------|------|-----------------------------------------------------------------------------------------------------------------------------------------------------------| +| callback | function | ✔️ | 获取值的回调方法,会传入`error`和`values`两个参数。`error`:未通过验证的数量,当等于`0`时代表验证通过;`values`:获取的值(即使未通过验证该字段也有数据) | +| validate | boolean | | 是否进行表单验证,默认为`true`,设为`false`则代表忽略表单验证 | +| rowIds | array | | 默认返回所有行的数据,如果传入了`rowIds`,那么就会只返回与该`rowIds`相匹配的数据,如果没有匹配的数据,就会返回空数组 | + +- `返回值:` 无 + + +### getValuesSync + +`getValues`的同步版,会直接将获取到的数据返回 + +- `参数:` + +| 参数名 | 类型 | 必填 | 说明 | +|---------|--------|------|------------------------| +| options | object | | 选项,详见下方所需参数 | + +- - `options` 所需参数 + +| 参数名 | 类型 | 必填 | 说明 | +|----------|---------|------|----------------------------------------------------------------------------------------------------------------------| +| validate | boolean | | 是否进行表单验证,默认为`true`,设为`false`则代表忽略表单验证 | +| rowIds | array | | 默认返回所有行的数据,如果传入了`rowIds`,那么就会只返回与该`rowIds`相匹配的数据,如果没有匹配的数据,就会返回空数组 | + +- `返回值:` object + - `error` 未通过验证的数量,当等于`0`时代表验证通过 + - `values` 获取的值(即使未通过验证该字段也有数据) + +- `使用示例` + +```js +let { error, values } = this.$refs.editableTable.getValuesSync({ validate: true, rowIds: ['rowId1', 'rowId2'] }) +if (error === 0) { + console.log('表单验证通过,数据:', values); +} else { + console.log('未通过表单验证,数据:', values); +} +``` + +### getValuesPromise + +`getValues`的promise版,会在`resolve`中传入获取到的值,会在`reject`中传入失败原因,例如`VALIDATE_NO_PASSED` + +- `参数:` + +| 参数名 | 类型 | 必填 | 说明 | +|----------|---------|------|----------------------------------------------------------------------------------------------------------------------| +| validate | boolean | | 同`getValues`的`validate`参数 | +| rowIds | array | | 默认返回所有行的数据,如果传入了`rowIds`,那么就会只返回与该`rowIds`相匹配的数据,如果没有匹配的数据,就会返回空数组 | + +- `返回值:` Promise + +### getDeleteIds + +用于获取被逻辑删除的行的id,返回一个数组,用户可将该数组传入后台,并进行批量删除 + +- `参数:` 无 +- `返回值:` array + +### getAll + +获取所有的数据,包括values、deleteIds +会在`resolve`中传入获取到的值:`{values, deleteIds}` +会在`reject`中传入失败原因,例如`VALIDATE_NO_PASSED` + +- `参数:` + +| 参数名 | 类型 | 必填 | 说明 | +|----------|---------|------|-------------------------------| +| validate | boolean | | 同`getValues`的`validate`参数 | + +- `返回值:` Promise + +### setValues + +主动设置表格中某行某列的值 + +- `参数:` + +| 参数名 | 类型 | 必填 | 说明 | +|--------|-------|------|------------------------------------------------------------| +| values | array | | 传入一个数组,数组中的每项都是一行的新值,具体见下面的示例 | + +- `返回值:` 无 +- `示例:` + +```js +setValues([ + { + rowKey: id1, // 行的id + values: { // 在这里 values 中的 name 是你 columns 中配置的 key + 'name': 'zhangsan', + 'age': '20' + } + }, + { + rowKey: id2, + values: { + 'name': 'lisi', + 'age': '23' + } + } +]) +``` +### clearSelection + +主动清空选择的行 + +- `参数:` 无 +- `返回值:` 无 + +## 内置插槽 + +| 插槽名 | 说明 | +|--------------|------------------------------------------------------| +| buttonBefore | 在操作按钮的**前面**插入插槽,不受`actionButton`属性的影响 | +| buttonAfter | 在操作按钮的**后面**插入插槽,不受`actionButton`属性的影响 | + +## ${...} 变量使用方式 + +在`placeholder`和`message`这两个属性中可以使用`${...}`变量来替换文本 +在[示例二](#示例二)中,配置了`title`为`名称`的一列,而`placeholder`配置成了`请输入${title}`,那么最终显示效果为`请输入名称` +这就是`${...}`变量的使用方式,在`${}`中可以使用的变量有`title`、`key`、`defaultValue`这三个属性的值 + +## JEditableTableUtil 使用说明 + +在之前配置`columns`时提到过`JEditableTableUtil`这个工具类,那么如果想要知道详细的使用说明就请看这里 + +### export 的常量 + +#### FormTypes + +这是配置`columns.type`时用到的常量值,其中包括 + +- `normal` 默认,直接显示值,不渲染表单 +- `input` 显示输入框 +- `inputNumber` 显示数字输入框 +- `checkbox` 显示多选框 +- `select` 显示选择器(下拉框) +- `date` 日期选择器 +- `datetime` 日期时间选择器 +- `upload` 上传组件(文件域) +- `slot` 自定义插槽 + +### VALIDATE_NO_PASSED + +在判断表单验证是否通过时使用,如果 reject 的值 === VALIDATE_NO_PASSED 则代表表单验证未通过,你可以做相应的其他处理,反之则可能是发生了报错,可以使用 `console.error` 输出 + +### 封装的方法 + +#### validateTables + +当你的页面中存在多个JEditableTable实例的时候,如果要获取每个实例的值、判断表单验证是否通过,就会让代码变得极其冗余、繁琐,于是我们就将该操作封装成了一个函数供你调用,它可以同时获取并验证多个JEditableTable实例的值,只有当所有实例的表单验证都通过后才会返回值,否则将会告诉你具体哪个实例没有通过验证。具体使用方法请看下面的示例 + +- `参数:` + +| 参数名 | 类型 | 必填 | 说明 | +|--------|-------|------|--------------------------------------------------------| +| cases | array | | 传入一个数组,数组中的每项都是一个JEditableTable的实例 | + +- `返回值:` Promise +- `示例:` + +```js +import { validateTables, VALIDATE_NO_PASSED } from '@/utils/JEditableTableUtil' +// 封装cases +let cases = [] +cases.push(this.$refs.editableTable1) +cases.push(this.$refs.editableTable2) +cases.push(this.$refs.editableTable3) +cases.push(this.$refs.editableTable4) +cases.push(this.$refs.editableTable5) +// 同时验证并获取多个实例的值 +validateTables(cases).then((all) => { + // all 是一个数组,每项都对应传入cases的下标,包含values和deleteIds + console.log('所有实例的值:', all) +}).catch((e = {}) => { + // 判断表单验证是否未通过 + if (e.error === VALIDATE_NO_PASSED) { + console.log('未通过验证的实例下标:', e.index) + } else { + console.error('发生异常:', e) + } +}) +``` + +## FAQ + +### 方法如何调用? + +在[示例一](#示例一)中,设定了一个 `ref="editableTable"` 的属性,那么在vue中就可以使用`this.$refs.editableTable`获取到该表格的实例,并调取其中的方法。 +假如我要调取`initialize`方法,就可以这么写:`this.$refs.editableTable.initialize()` + +### 如何获取表单的值? + +使用`getValue`方法进行获取,详见[示例三](#示例三) + +### 如何进行表单验证? + +在获取值的时候默认会进行表单验证操作,用户在输入的时候也会对正在输入的表单进行验证,只要配置好规则就可以了 + +### 如何添加或删除一行? + +该功能已封装到组件中,你只需要将 `actionButton` 设置为 `true` 即可,当然你也可以在代码中主动调用新增方法或修改,具体见上方的方法介绍。 + +### 为什么使用了ATab组件后,切换选项卡会导致白屏或滚动条位置会归零? + +在ATab组件中确实会导致滚动条位置归零,且不会触发`onscroll`方法,所以无法动态加载行,导致白屏的问题出现。 +解决方法是在ATab组件的`onChange`事件触发时执行实例提供的`resetScrollTop()`方法即可,但是需要注意的是:代码主动改变ATab的`activeKey`不会触发`onChange`事件,还需要你手动调用下。 + +- `示例` + +```html + +``` + +```js +/*--- 忽略部分代码片段 ---*/ +methods: { + + /** 切换tab选项卡的时候重置editableTable的滚动条状态 */ + handleChangeTab(key) { + this.$refs[`editableTable${key}`].resetScrollTop() + } + +} +/*--- 忽略部分代码片段 ---*/ +``` + +### slot(自定义插槽)如何使用? + +代码示例请看:[示例四(slot)](#示例四(slot)) + +---------------------------------------------------------------------------------------- + +## 示例一 + +```html + +``` + +## 示例二 + +```js + +import { FormTypes } from '@/utils/JEditableTableUtil' + +/*--- 忽略部分代码片断 ---*/ +columns: [ + { + title: '名称', + key: 'name', + type: FormTypes.input, + placeholder: '请输入${title}', + defaultValue: '称名', + // 表单验证规则 + validateRules: [ + { + required: true, // 必填 + message: '${title}不能为空' // 提示的文本 + }, + { + pattern: /^[a-z|A-Z][a-z|A-Z\d_-]{0,}$/, // 正则 + message: '${title}必须以字母开头,可包含数字、下划线、横杠' + } + ] + }, + { + title: '年龄', + key: 'age', + type: FormTypes.inputNumber, + placeholder: '请输入${title}', + defaultValue: 18, + validateRules: [{required: true, message: '${title}不能为空'}] + } +] +/*--- 忽略部分代码片断 ---*/ +``` + +## 示例三 + +```js +// 获取被逻辑删除的字段id +let deleteIds = this.$refs.editableTable.getDeleteIds(); +// 获取所有表单的值,并进行验证 +this.$refs.editableTable.getValues((error, values) => { + // 错误数 = 0 则代表验证通过 + if (error === 0) { + this.$message.success('验证通过') + // 将通过后的数组提交到后台或自行进行其他处理 + console.log(deleteIds, values) + } else { + this.$message.error('验证未通过') + } +}) +``` + +## 示例四(slot) + +```html + + +``` + +## 示例五 + +```js +// 该示例是自定义函数校验 +columns: [ + { + title: '字段名称', + key: 'dbFieldName', + type: FormTypes.input, + defaultValue: '', + validateRules: [ + { + // 自定义函数校验 handler + handler(type, value, row, column, callback, target) { + // type 触发校验的类型(input、change、blur) + // value 当前校验的值 + // callback(flag, message) 方法必须执行且只能执行一次 + // flag = 是否通过了校验,不填写或者填写 null 代表不进行任何操作 + // message = 提示的类型,默认使用配置的 message + // target 行编辑的实例对象 + + if (type === 'blur') { + + if (value === 'abc') { + callback(false, '${title}不能是abc') // false = 未通过,可以跟自定义提示 + return + } + + let { values } = target.getValuesSync({ validate: false }) + let count = 0 + for (let val of values) { + if (val['dbFieldName'] === value) { + if (++count >= 2) { + callback(false, '${title}不能重复') + return + } + } + } + callback(true) // true = 通过验证 + } else { + callback() // 不填写或者填写 null 代表不进行任何操作 + } + }, + message: '${title}默认提示' + } + ] + }, +] +``` \ No newline at end of file diff --git a/src/components/jero/README_JPopup.md b/src/components/jero/README_JPopup.md new file mode 100644 index 0000000..0b454a6 --- /dev/null +++ b/src/components/jero/README_JPopup.md @@ -0,0 +1,65 @@ +# JPopup 弹窗选择组件 + +## 参数配置 +| 参数 | 类型 | 必填 |说明| +|--------------|---------|----|---------| +| placeholder |string | | placeholder | +| code |string | | online报表编码 | +| orgFields |string | | online报表中显示的列,多个以逗号隔开 | +| destFields |string | | 回调对象的属性,多个以逗号隔开,其顺序和orgFields一一对应 | +| field |string | | v-model模式专用,表示从destFields中选择一个属性的值返回给当前组件 | +| triggerChange |Boolean | | v-decorator模式下需设置成true | +| callback(事件) |function | | 回调事件,v-decorator模式下用到,用于设置form控件的值 | + +使用示例 +---- +```vue + + + diff --git a/src/components/jero/index.js b/src/components/jero/index.js new file mode 100644 index 0000000..7508509 --- /dev/null +++ b/src/components/jero/index.js @@ -0,0 +1,59 @@ +import JModal from './JModal' +import JFormContainer from './JFormContainer.vue' +import JPopup from './JPopup.vue' +import JCodeEditor from './JCodeEditor.vue' +import JEditor from './JEditor.vue' +import JEditableTable from './JEditableTable.vue' +import JAreaLinkage from './JAreaLinkage.vue' +import JSuperQuery from './JSuperQuery.vue' +import JUpload from './JUpload.vue' +import JTreeSelect from './JTreeSelect.vue' +import JCategorySelect from './JCategorySelect.vue' +import JImageUpload from './JImageUpload.vue' +import JImportModal from './JImportModal.vue' +import JTreeDict from './JTreeDict.vue' +import JCheckbox from './JCheckbox.vue' +import JCron from './JCron.vue' +import JDate from './JDate.vue' +import JEllipsis from './JEllipsis.vue' +import JInput from './JInput.vue' +import JPopupOnlReport from './modal/JPopupOnlReport.vue' +import JFilePop from './minipop/JFilePop.vue' +import JInputPop from './minipop/JInputPop.vue' +import JSelectMultiple from './JSelectMultiple.vue' +import JSlider from './JSlider.vue' +import JSwitch from './JSwitch.vue' +import JTime from './JTime.vue' +import JTreeTable from './JTreeTable.vue' + +export default { + install(Vue) { + Vue.component(JModal.name, JModal) + Vue.component('JPopupOnlReport', JPopupOnlReport) + Vue.component('JFilePop', JFilePop) + Vue.component('JInputPop', JInputPop) + Vue.component('JAreaLinkage', JAreaLinkage) + Vue.component('JCategorySelect', JCategorySelect) + Vue.component('JCheckbox', JCheckbox) + Vue.component('JCodeEditor', JCodeEditor) + Vue.component('JCron', JCron) + Vue.component('JDate', JDate) + Vue.component('JEditableTable', JEditableTable) + Vue.component('JEditor', JEditor) + Vue.component('JEllipsis', JEllipsis) + Vue.component('JFormContainer', JFormContainer) + Vue.component('JImageUpload', JImageUpload) + Vue.component('JImportModal', JImportModal) + Vue.component('JInput', JInput) + Vue.component('JPopup', JPopup) + Vue.component('JSelectMultiple', JSelectMultiple) + Vue.component('JSlider', JSlider) + Vue.component('JSuperQuery', JSuperQuery) + Vue.component('JSwitch', JSwitch) + Vue.component('JTime', JTime) + Vue.component('JTreeDict', JTreeDict) + Vue.component('JTreeSelect', JTreeSelect) + Vue.component('JTreeTable', JTreeTable) + Vue.component('JUpload', JUpload) + } +} \ No newline at end of file diff --git a/src/components/jero/minipop/JFilePop.vue b/src/components/jero/minipop/JFilePop.vue new file mode 100644 index 0000000..0f5350f --- /dev/null +++ b/src/components/jero/minipop/JFilePop.vue @@ -0,0 +1,117 @@ + + + + + \ No newline at end of file diff --git a/src/components/jero/minipop/JInputPop.vue b/src/components/jero/minipop/JInputPop.vue new file mode 100644 index 0000000..1f6a6d7 --- /dev/null +++ b/src/components/jero/minipop/JInputPop.vue @@ -0,0 +1,105 @@ + + + + + \ No newline at end of file diff --git a/src/components/jero/modal/JCronModal.vue b/src/components/jero/modal/JCronModal.vue new file mode 100644 index 0000000..c336189 --- /dev/null +++ b/src/components/jero/modal/JCronModal.vue @@ -0,0 +1,928 @@ + + + + + diff --git a/src/components/jero/modal/JPopupOnlReport.vue b/src/components/jero/modal/JPopupOnlReport.vue new file mode 100644 index 0000000..38e7a00 --- /dev/null +++ b/src/components/jero/modal/JPopupOnlReport.vue @@ -0,0 +1,395 @@ + + + + + \ No newline at end of file diff --git a/src/components/layouts/BasicLayout.vue b/src/components/layouts/BasicLayout.vue new file mode 100644 index 0000000..65b40cd --- /dev/null +++ b/src/components/layouts/BasicLayout.vue @@ -0,0 +1,60 @@ + + + + + \ No newline at end of file diff --git a/src/components/layouts/BlankLayout.vue b/src/components/layouts/BlankLayout.vue new file mode 100644 index 0000000..90c0399 --- /dev/null +++ b/src/components/layouts/BlankLayout.vue @@ -0,0 +1,16 @@ + + + + + \ No newline at end of file diff --git a/src/components/layouts/IframeFReportView.vue b/src/components/layouts/IframeFReportView.vue new file mode 100644 index 0000000..c51e5b1 --- /dev/null +++ b/src/components/layouts/IframeFReportView.vue @@ -0,0 +1,47 @@ + + + + + \ No newline at end of file diff --git a/src/components/layouts/IframePageView.vue b/src/components/layouts/IframePageView.vue new file mode 100644 index 0000000..5043442 --- /dev/null +++ b/src/components/layouts/IframePageView.vue @@ -0,0 +1,62 @@ + + + + + \ No newline at end of file diff --git a/src/components/layouts/PageView.vue b/src/components/layouts/PageView.vue new file mode 100644 index 0000000..fc330a0 --- /dev/null +++ b/src/components/layouts/PageView.vue @@ -0,0 +1,85 @@ + + + + + \ No newline at end of file diff --git a/src/components/layouts/RouteView.vue b/src/components/layouts/RouteView.vue new file mode 100644 index 0000000..73237de --- /dev/null +++ b/src/components/layouts/RouteView.vue @@ -0,0 +1,44 @@ + + + + \ No newline at end of file diff --git a/src/components/layouts/TabLayout.vue b/src/components/layouts/TabLayout.vue new file mode 100644 index 0000000..8b404ff --- /dev/null +++ b/src/components/layouts/TabLayout.vue @@ -0,0 +1,427 @@ + + + + + diff --git a/src/components/layouts/UserLayout.vue b/src/components/layouts/UserLayout.vue new file mode 100644 index 0000000..cdb754a --- /dev/null +++ b/src/components/layouts/UserLayout.vue @@ -0,0 +1,210 @@ + + + + \ No newline at end of file diff --git a/src/components/layouts/index.js b/src/components/layouts/index.js new file mode 100644 index 0000000..7cf0f77 --- /dev/null +++ b/src/components/layouts/index.js @@ -0,0 +1,8 @@ +import UserLayout from '@/components/layouts/UserLayout' +import BlankLayout from '@/components/layouts/BlankLayout' +import BasicLayout from '@/components/layouts/BasicLayout' +import RouteView from '@/components/layouts/RouteView' +import PageView from '@/components/layouts/PageView' +import TabLayout from '@/components/layouts/TabLayout' + +export { UserLayout, BasicLayout, BlankLayout, RouteView, PageView, TabLayout } \ No newline at end of file diff --git a/src/components/lazy_antd.js b/src/components/lazy_antd.js new file mode 100644 index 0000000..f5b338c --- /dev/null +++ b/src/components/lazy_antd.js @@ -0,0 +1,124 @@ +/** + * 按需加载antd组件 + */ +import Vue from 'vue' + +// base library +import { + ConfigProvider, + Layout, + Input, + InputNumber, + Button, + Switch, + Radio, + Checkbox, + Select, + Card, + Form, + Row, + Col, + Modal, + Table, + Tabs, + Icon, + Badge, + Popover, + Dropdown, + List, + Avatar, + Breadcrumb, + Steps, + Spin, + Menu, + Drawer, + Tooltip, + Alert, + Tag, + Divider, + DatePicker, + TimePicker, + Upload, + Progress, + Skeleton, + Popconfirm, + PageHeader, + Result, + Statistic, + Descriptions, + message, + notification, + Empty, + Tree, + TreeSelect, + Carousel, + Pagination, + FormModel, + Cascader, + Slider, + Transfer, + Rate +} from 'ant-design-vue' +import Viser from 'viser-vue' + +Vue.use(ConfigProvider) +Vue.use(Layout) +Vue.use(Input) +Vue.use(InputNumber) +Vue.use(Button) +Vue.use(Switch) +Vue.use(Radio) +Vue.use(Checkbox) +Vue.use(Select) +Vue.use(Card) +Vue.use(Form) +Vue.use(Row) +Vue.use(Col) +Vue.use(Modal) +Vue.use(Table) +Vue.use(Tabs) +Vue.use(Icon) +Vue.use(Badge) +Vue.use(Popover) +Vue.use(Dropdown) +Vue.use(List) +Vue.use(Avatar) +Vue.use(Breadcrumb) +Vue.use(Steps) +Vue.use(Spin) +Vue.use(Menu) +Vue.use(Drawer) +Vue.use(Tooltip) +Vue.use(Alert) +Vue.use(Tag) +Vue.use(Divider) +Vue.use(DatePicker) +Vue.use(TimePicker) +Vue.use(Upload) +Vue.use(Progress) +Vue.use(Skeleton) +Vue.use(Popconfirm) +Vue.use(PageHeader) +Vue.use(Result) +Vue.use(Statistic) +Vue.use(Descriptions) +Vue.use(Empty) +Vue.use(Tree) +Vue.use(TreeSelect) +Vue.use(Carousel) +Vue.use(Pagination) +Vue.use(FormModel) +Vue.use(Cascader) +Vue.use(Slider) +Vue.use(Transfer) +Vue.use(Rate) + +Vue.prototype.$confirm = Modal.confirm +Vue.prototype.$message = message +Vue.prototype.$notification = notification +Vue.prototype.$info = Modal.info +Vue.prototype.$success = Modal.success +Vue.prototype.$error = Modal.error +Vue.prototype.$warning = Modal.warning + +process.env.NODE_ENV !== 'production' && console.warn('[jero-boot-vue] NOTICE: Antd use lazy-load.') \ No newline at end of file diff --git a/src/components/menu/Contextmenu.vue b/src/components/menu/Contextmenu.vue new file mode 100644 index 0000000..f88f7b4 --- /dev/null +++ b/src/components/menu/Contextmenu.vue @@ -0,0 +1,71 @@ + + + + + diff --git a/src/components/menu/SideMenu.vue b/src/components/menu/SideMenu.vue new file mode 100644 index 0000000..acb8ad9 --- /dev/null +++ b/src/components/menu/SideMenu.vue @@ -0,0 +1,176 @@ + + + + + + + + diff --git a/src/components/menu/index.js b/src/components/menu/index.js new file mode 100644 index 0000000..2710d3b --- /dev/null +++ b/src/components/menu/index.js @@ -0,0 +1,188 @@ +import Menu from 'ant-design-vue/es/menu' +import Icon from 'ant-design-vue/es/icon' + +const { Item, SubMenu } = Menu + +export default { + name: 'SMenu', + props: { + menu: { + type: Array, + required: true + }, + theme: { + type: String, + required: false, + default: 'dark' + }, + mode: { + type: String, + required: false, + default: 'inline' + }, + collapsed: { + type: Boolean, + required: false, + default: false + } + }, + data () { + return { + openKeys: [], + selectedKeys: [], + cachedOpenKeys: [] + } + }, + computed: { + rootSubmenuKeys: vm => { + const keys = [] + vm.menu.forEach(item => keys.push(item.path)) + return keys + } + }, + mounted () { + this.updateMenu() + }, + watch: { + collapsed (val) { + if (val) { + this.cachedOpenKeys = this.openKeys.concat() + this.openKeys = [] + } else { + this.openKeys = this.cachedOpenKeys + } + }, + $route: function () { + this.updateMenu() + } + }, + methods: { + // select menu item + onOpenChange (openKeys) { + + // 在水平模式下时执行,并且不再执行后续 + if (this.mode === 'horizontal') { + this.openKeys = openKeys + return + } + // 非水平模式时 + const latestOpenKey = openKeys.find(key => !this.openKeys.includes(key)) + if (!this.rootSubmenuKeys.includes(latestOpenKey)) { + this.openKeys = openKeys + } else { + this.openKeys = latestOpenKey ? [latestOpenKey] : [] + } + }, + updateMenu () { + const routes = this.$route.matched.concat() + const { hidden } = this.$route.meta + if (routes.length >= 3 && hidden) { + routes.pop() + this.selectedKeys = [routes[routes.length - 1].path] + } else { + this.selectedKeys = [routes.pop().path] + } + const openKeys = [] + if (this.mode === 'inline') { + routes.forEach(item => { + openKeys.push(item.path) + }) + } + //update-begin-author:taoyan date:20190510 for:online表单菜单点击展开的一级目录不对 + if(!this.selectedKeys || this.selectedKeys[0].indexOf(":")<0){ + this.collapsed ? (this.cachedOpenKeys = openKeys) : (this.openKeys = openKeys) + } + //update-end-author:taoyan date:20190510 for:online表单菜单点击展开的一级目录不对 + }, + + // render + renderItem (menu) { + if (!menu.hidden) { + return menu.children && !menu.alwaysShow ? this.renderSubMenu(menu) : this.renderMenuItem(menu) + } + return null + }, + renderMenuItem (menu) { + const target = menu.meta.target || null + const tag = target && 'a' || 'router-link' + let props = { to: { name: menu.name } } + if(menu.route && menu.route === '0'){ + props = { to: { path: menu.path } } + } + + const attrs = { href: menu.path, target: menu.meta.target } + + if (menu.children && menu.alwaysShow) { + // 把有子菜单的 并且 父菜单是要隐藏子菜单的 + // 都给子菜单增加一个 hidden 属性 + // 用来给刷新页面时, selectedKeys 做控制用 + menu.children.forEach(item => { + item.meta = Object.assign(item.meta, { hidden: true }) + }) + } + + return ( + + + {this.renderIcon(menu.meta.icon)} + {menu.meta.title} + + + ) + }, + renderSubMenu (menu) { + const itemArr = [] + if (!menu.alwaysShow) { + menu.children.forEach(item => itemArr.push(this.renderItem(item))) + } + return ( + + + {this.renderIcon(menu.meta.icon)} + {menu.meta.title} + + {itemArr} + + ) + }, + renderIcon (icon) { + if (icon === 'none' || icon === undefined) { + return null + } + const props = {} + typeof (icon) === 'object' ? props.component = icon : props.type = icon + return ( + + ) + } + }, + + render () { + const { mode, theme, menu } = this + const props = { + mode: mode, + theme: theme, + openKeys: this.openKeys + } + const on = { + select: obj => { + this.selectedKeys = obj.selectedKeys + this.$emit('select', obj) + }, + openChange: this.onOpenChange + } + + const menuTree = menu.map(item => { + if (item.hidden) { + return null + } + return this.renderItem(item) + }) + // {...{ props, on: on }} + return ( +

    + {menuTree} + + ) + } +} diff --git a/src/components/page/GlobalFooter.vue b/src/components/page/GlobalFooter.vue new file mode 100644 index 0000000..48c88cf --- /dev/null +++ b/src/components/page/GlobalFooter.vue @@ -0,0 +1,14 @@ + + + + + \ No newline at end of file diff --git a/src/components/page/GlobalHeader.vue b/src/components/page/GlobalHeader.vue new file mode 100644 index 0000000..56c629e --- /dev/null +++ b/src/components/page/GlobalHeader.vue @@ -0,0 +1,219 @@ + + + + + \ No newline at end of file diff --git a/src/components/page/GlobalLayout.vue b/src/components/page/GlobalLayout.vue new file mode 100644 index 0000000..0f96ee7 --- /dev/null +++ b/src/components/page/GlobalLayout.vue @@ -0,0 +1,688 @@ + + + + + diff --git a/src/components/page/PageHeader.vue b/src/components/page/PageHeader.vue new file mode 100644 index 0000000..f7e86b5 --- /dev/null +++ b/src/components/page/PageHeader.vue @@ -0,0 +1,238 @@ + + + + + \ No newline at end of file diff --git a/src/components/page/PageLayout.vue b/src/components/page/PageLayout.vue new file mode 100644 index 0000000..191fd8a --- /dev/null +++ b/src/components/page/PageLayout.vue @@ -0,0 +1,127 @@ + + + + + \ No newline at end of file diff --git a/src/components/page/SHeaderNotice.vue b/src/components/page/SHeaderNotice.vue new file mode 100644 index 0000000..5e874e8 --- /dev/null +++ b/src/components/page/SHeaderNotice.vue @@ -0,0 +1,58 @@ + + + + + \ No newline at end of file diff --git a/src/components/setting/SettingDrawer.vue b/src/components/setting/SettingDrawer.vue new file mode 100644 index 0000000..79f5e9e --- /dev/null +++ b/src/components/setting/SettingDrawer.vue @@ -0,0 +1,323 @@ + + + + + diff --git a/src/components/setting/SettingItem.vue b/src/components/setting/SettingItem.vue new file mode 100644 index 0000000..de0cbe0 --- /dev/null +++ b/src/components/setting/SettingItem.vue @@ -0,0 +1,38 @@ + + + + + \ No newline at end of file diff --git a/src/components/tools/Breadcrumb.vue b/src/components/tools/Breadcrumb.vue new file mode 100644 index 0000000..3bd067f --- /dev/null +++ b/src/components/tools/Breadcrumb.vue @@ -0,0 +1,48 @@ + + + + + \ No newline at end of file diff --git a/src/components/tools/DepartSelect.vue b/src/components/tools/DepartSelect.vue new file mode 100644 index 0000000..7a7e15a --- /dev/null +++ b/src/components/tools/DepartSelect.vue @@ -0,0 +1,162 @@ + + + + \ No newline at end of file diff --git a/src/components/tools/DetailList.vue b/src/components/tools/DetailList.vue new file mode 100644 index 0000000..bd74971 --- /dev/null +++ b/src/components/tools/DetailList.vue @@ -0,0 +1,147 @@ + + + + + \ No newline at end of file diff --git a/src/components/tools/DynamicNotice.vue b/src/components/tools/DynamicNotice.vue new file mode 100644 index 0000000..02cb7fc --- /dev/null +++ b/src/components/tools/DynamicNotice.vue @@ -0,0 +1,36 @@ + + \ No newline at end of file diff --git a/src/components/tools/FooterToolBar.vue b/src/components/tools/FooterToolBar.vue new file mode 100644 index 0000000..63b3c1b --- /dev/null +++ b/src/components/tools/FooterToolBar.vue @@ -0,0 +1,32 @@ + + + + + \ No newline at end of file diff --git a/src/components/tools/HeadInfo.vue b/src/components/tools/HeadInfo.vue new file mode 100644 index 0000000..f4f6bbc --- /dev/null +++ b/src/components/tools/HeadInfo.vue @@ -0,0 +1,67 @@ + + + + + \ No newline at end of file diff --git a/src/components/tools/HeaderNotice.vue b/src/components/tools/HeaderNotice.vue new file mode 100644 index 0000000..799069f --- /dev/null +++ b/src/components/tools/HeaderNotice.vue @@ -0,0 +1,337 @@ + + + + + + \ No newline at end of file diff --git a/src/components/tools/Logo.vue b/src/components/tools/Logo.vue new file mode 100644 index 0000000..36d85ed --- /dev/null +++ b/src/components/tools/Logo.vue @@ -0,0 +1,59 @@ + + + + \ No newline at end of file diff --git a/src/components/tools/ShowAnnouncement.vue b/src/components/tools/ShowAnnouncement.vue new file mode 100644 index 0000000..b2c6d88 --- /dev/null +++ b/src/components/tools/ShowAnnouncement.vue @@ -0,0 +1,139 @@ + + + + + + diff --git a/src/components/tools/TwoStepCaptcha.vue b/src/components/tools/TwoStepCaptcha.vue new file mode 100644 index 0000000..8b4c94d --- /dev/null +++ b/src/components/tools/TwoStepCaptcha.vue @@ -0,0 +1,89 @@ + + + + \ No newline at end of file diff --git a/src/components/tools/UserMenu.vue b/src/components/tools/UserMenu.vue new file mode 100644 index 0000000..d92eda9 --- /dev/null +++ b/src/components/tools/UserMenu.vue @@ -0,0 +1,285 @@ + + + + + + + \ No newline at end of file diff --git a/src/components/tools/UserPassword.vue b/src/components/tools/UserPassword.vue new file mode 100644 index 0000000..ff2cc79 --- /dev/null +++ b/src/components/tools/UserPassword.vue @@ -0,0 +1,157 @@ + + + + + + diff --git a/src/components/tools/setting.js b/src/components/tools/setting.js new file mode 100644 index 0000000..fdfc396 --- /dev/null +++ b/src/components/tools/setting.js @@ -0,0 +1,95 @@ +import { message } from 'ant-design-vue/es'; +// import defaultSettings from '../defaultSettings'; + +let lessNodesAppended; + +const colorList = [ + { + key: '薄暮', color: '#F5222D', + }, + { + key: '火山', color: '#FA541C', + }, + { + key: '日暮', color: '#FAAD14', + }, + { + key: '明青', color: '#13C2C2', + }, + { + key: '极光绿', color: '#52C41A', + }, + { + key: '拂晓蓝(默认)', color: '#1890FF', + }, + { + key: '极客蓝', color: '#2F54EB', + }, + { + key: '酱紫', color: '#722ED1', + }, +]; + +const updateTheme = primaryColor => { + // Don't compile less in production! + /* if (process.env.NODE_ENV === 'production') { + return; + } */ + // Determine if the component is remounted + if (!primaryColor) { + return; + } + const hideMessage = message.loading('正在编译主题!', 0); + console.info(`正在编译主题!`) + function buildIt() { + // 正确的判定less是否已经加载less.modifyVars可用 + if (!window.less || !window.less.modifyVars) { + return; + } + // less.modifyVars可用 + window.less.modifyVars({ + '@primary-color': primaryColor, + }) + .then(() => { + hideMessage(); + }) + .catch(() => { + message.error('Failed to update theme'); + hideMessage(); + }); + } + if (!lessNodesAppended) { + // insert less.js and color.less + const lessStyleNode = document.createElement('link'); + const lessConfigNode = document.createElement('script'); + const lessScriptNode = document.createElement('script'); + lessStyleNode.setAttribute('rel', 'stylesheet/less'); + lessStyleNode.setAttribute('href', __webpack_public_path__ + 'color.less') + lessConfigNode.innerHTML = ` + window.less = { + async: true, + env: 'production', + javascriptEnabled: true + }; + `; + lessScriptNode.src = 'https://gw.alipayobjects.com/os/lib/less.js/3.8.1/less.min.js'; + lessScriptNode.async = true; + lessScriptNode.onload = () => { + buildIt(); + lessScriptNode.onload = null; + }; + document.body.appendChild(lessStyleNode); + document.body.appendChild(lessConfigNode); + document.body.appendChild(lessScriptNode); + lessNodesAppended = true; + } else { + buildIt(); + } +}; + +const updateColorWeak = colorWeak => { + // document.body.className = colorWeak ? 'colorWeak' : ''; + colorWeak ? document.body.classList.add('colorWeak') : document.body.classList.remove('colorWeak') +}; + +export { updateTheme, colorList, updateColorWeak } \ No newline at end of file diff --git a/src/config/index.js b/src/config/index.js new file mode 100644 index 0000000..e69de29 diff --git a/src/config/router.config.js b/src/config/router.config.js new file mode 100644 index 0000000..30d3836 --- /dev/null +++ b/src/config/router.config.js @@ -0,0 +1,366 @@ +import { UserLayout, TabLayout, RouteView, BlankLayout, PageView } from '@/components/layouts' + +/** + * 走菜单,走权限控制 + * @type {[null,null]} + */ +export const asyncRouterMap = [ + + { + path: '/', + name: 'dashboard', + component: TabLayout, + meta: { title: '首页' }, + redirect: '/dashboard/analysis', + children: [ + + // // dashboard + // { + // path: '/dashboard', + // name: 'dashboard', + // redirect: '/dashboard/workplace', + // component: RouteView, + // meta: { title: '仪表盘', icon: 'dashboard', permission: [ 'dashboard' ] }, + // children: [ + // { + // path: '/dashboard/analysis', + // name: 'Analysis', + // component: () => import('@/views/dashboard/Analysis'), + // meta: { title: '分析页', permission: [ 'dashboard' ] } + // }, + // { + // path: '/dashboard/monitor', + // name: 'Monitor', + // hidden: true, + // component: () => import('@/views/dashboard/Monitor'), + // meta: { title: '监控页', permission: [ 'dashboard' ] } + // }, + // { + // path: '/dashboard/workplace', + // name: 'Workplace', + // component: () => import('@/views/dashboard/Workplace'), + // meta: { title: '工作台', permission: [ 'dashboard' ] } + // } + // ] + // }, + // + // // forms + // { + // path: '/form', + // redirect: '/form/basic-form', + // component: PageView, + // meta: { title: '表单页', icon: 'form', permission: [ 'form' ] }, + // children: [ + // { + // path: '/form/base-form', + // name: 'BaseForm', + // component: () => import('@/views/form/BasicForm'), + // meta: { title: '基础表单', permission: [ 'form' ] } + // }, + // { + // path: '/form/step-form', + // name: 'StepForm', + // component: () => import('@/views/form/stepForm/StepForm'), + // meta: { title: '分步表单', permission: [ 'form' ] } + // }, + // { + // path: '/form/advanced-form', + // name: 'AdvanceForm', + // component: () => import('@/views/form/advancedForm/AdvancedForm'), + // meta: { title: '高级表单', permission: [ 'form' ] } + // } + // ] + // }, + // + // // list + // { + // path: '/list', + // name: 'list', + // component: PageView, + // redirect: '/list/query-list', + // meta: { title: '列表页', icon: 'table', permission: [ 'table' ] }, + // children: [ + // { + // path: '/list/query-list', + // name: 'QueryList', + // component: () => import('@/views/list/TableList'), + // meta: { title: '查询表格', permission: [ 'table' ] } + // }, + // { + // path: '/list/edit-table', + // name: 'EditList', + // component: () => import('@/views/list/TableInnerEditList'), + // meta: { title: '内联编辑表格', permission: [ 'table' ] } + // }, + // { + // path: '/list/user-list', + // name: 'UserList', + // component: () => import('@/views/list/UserList'), + // meta: { title: '用户列表', permission: [ 'table' ] } + // }, + // { + // path: '/list/role-list', + // name: 'RoleList', + // component: () => import('@/views/list/RoleList'), + // meta: { title: '角色列表', permission: [ 'table' ] } + // }, + // { + // path: '/list/permission-list', + // name: 'PermissionList', + // component: () => import('@/views/list/PermissionList'), + // meta: { title: '权限列表', permission: [ 'table' ] } + // }, + // { + // path: '/list/basic-list', + // name: 'BasicList', + // component: () => import('@/views/list/StandardList'), + // meta: { title: '标准列表', permission: [ 'table' ] } + // }, + // { + // path: '/list/card', + // name: 'CardList', + // component: () => import('@/views/list/CardList'), + // meta: { title: '卡片列表', permission: [ 'table' ] } + // }, + // { + // path: '/list/search', + // name: 'SearchList', + // component: () => import('@/views/list/search/SearchLayout'), + // redirect: '/list/search/article', + // meta: { title: '搜索列表', permission: [ 'table' ] }, + // children: [ + // { + // path: '/list/search/article', + // name: 'SearchArticles', + // component: () => import('../views/list/TableList'), + // meta: { title: '搜索列表(文章)', permission: [ 'table' ] } + // }, + // { + // path: '/list/search/project', + // name: 'SearchProjects', + // component: () => import('../views/list/TableList'), + // meta: { title: '搜索列表(项目)', permission: [ 'table' ] } + // }, + // { + // path: '/list/search/application', + // name: 'SearchApplications', + // component: () => import('../views/list/TableList'), + // meta: { title: '搜索列表(应用)', permission: [ 'table' ] } + // }, + // ] + // }, + // ] + // }, + // + // // profile + // { + // path: '/profile', + // name: 'profile', + // component: RouteView, + // redirect: '/profile/basic', + // meta: { title: '详情页', icon: 'profile', permission: [ 'profile' ] }, + // children: [ + // { + // path: '/profile/basic', + // name: 'ProfileBasic', + // component: () => import('@/views/profile/basic/Index'), + // meta: { title: '基础详情页', permission: [ 'profile' ] } + // }, + // { + // path: '/profile/advanced', + // name: 'ProfileAdvanced', + // component: () => import('@/views/profile/advanced/Advanced'), + // meta: { title: '高级详情页', permission: [ 'profile' ] } + // } + // ] + // }, + // + // // result + // { + // path: '/result', + // name: 'result', + // component: PageView, + // redirect: '/result/success', + // meta: { title: '结果页', icon: 'check-circle-o', permission: [ 'result' ] }, + // children: [ + // { + // path: '/result/success', + // name: 'ResultSuccess', + // component: () => import(/* webpackChunkName: "result" */ '@/views/result/Success'), + // meta: { title: '成功', hiddenHeaderContent: true, permission: [ 'result' ] } + // }, + // { + // path: '/result/fail', + // name: 'ResultFail', + // component: () => import(/* webpackChunkName: "result" */ '@/views/result/Error'), + // meta: { title: '失败', hiddenHeaderContent: true, permission: [ 'result' ] } + // } + // ] + // }, + // + // // Exception + // { + // path: '/exception', + // name: 'exception', + // component: RouteView, + // redirect: '/exception/403', + // meta: { title: '异常页', icon: 'warning', permission: [ 'exception' ] }, + // children: [ + // { + // path: '/exception/403', + // name: 'Exception403', + // component: () => import(/* webpackChunkName: "fail" */ '@/views/exception/403'), + // meta: { title: '403', permission: [ 'exception' ] } + // }, + // { + // path: '/exception/404', + // name: 'Exception404', + // component: () => import(/* webpackChunkName: "fail" */ '@/views/exception/404'), + // meta: { title: '404', permission: [ 'exception' ] } + // }, + // { + // path: '/exception/500', + // name: 'Exception500', + // component: () => import(/* webpackChunkName: "fail" */ '@/views/exception/500'), + // meta: { title: '500', permission: [ 'exception' ] } + // } + // ] + // }, + // + // // account + // { + // path: '/account', + // component: RouteView, + // name: 'account', + // meta: { title: '个人页', icon: 'user', keepAlive: true, permission: [ 'user' ] }, + // children: [ + // { + // path: '/account/center', + // name: 'center', + // component: () => import('@/views/account/center/Index'), + // meta: { title: '个人中心', keepAlive: true, permission: [ 'user' ] } + // }, + // { + // path: '/account/settings', + // name: 'settings', + // component: () => import('@/views/account/settings/Index'), + // meta: { title: '个人设置', hideHeader: true, keepAlive: true, permission: [ 'user' ] }, + // redirect: '/account/settings/base', + // alwaysShow: true, + // children: [ + // { + // path: '/account/settings/base', + // name: 'BaseSettings', + // component: () => import('@/views/account/settings/BaseSetting'), + // meta: { title: '基本设置', hidden: true, keepAlive: true, permission: [ 'user' ] } + // }, + // { + // path: '/account/settings/security', + // name: 'SecuritySettings', + // component: () => import('@/views/account/settings/Security'), + // meta: { title: '安全设置', hidden: true, keepAlive: true, permission: [ 'user' ] } + // }, + // { + // path: '/account/settings/custom', + // name: 'CustomSettings', + // component: () => import('@/views/account/settings/Custom'), + // meta: { title: '个性化设置', hidden: true, keepAlive: true, permission: [ 'user' ] } + // }, + // { + // path: '/account/settings/binding', + // name: 'BindingSettings', + // component: () => import('@/views/account/settings/Binding'), + // meta: { title: '账户绑定', hidden: true, keepAlive: true, permission: [ 'user' ] } + // }, + // { + // path: '/account/settings/notification', + // name: 'NotificationSettings', + // component: () => import('@/views/account/settings/Notification'), + // meta: { title: '新消息通知', hidden: true, keepAlive: true, permission: [ 'user' ] } + // }, + // ] + // }, + // ] + // } + ] + }, + { + path: '*', redirect: '/404', hidden: true + } +] + +/** + * 基础路由 + * @type { *[] } + */ +export const constantRouterMap = [ + { + path: '/user', + component: UserLayout, + redirect: '/user/login', + hidden: true, + children: [ + { + path: 'login', + name: 'login', + component: () => import(/* webpackChunkName: "user" */ '@/views/user/Login') + }, + { + path: 'register', + name: 'register', + component: () => import(/* webpackChunkName: "user" */ '@/views/user/register/Register') + }, + { + path: 'register-result', + name: 'registerResult', + component: () => import(/* webpackChunkName: "user" */ '@/views/user/register/RegisterResult') + }, + { + path: 'alteration', + name: 'alteration', + component: () => import(/* webpackChunkName: "user" */ '@/views/user/alteration/Alteration') + }, + ] + }, + + // { + // path: '/', + // name: 'index', + // component: TabLayout, + // meta: {title: '首页'}, + // redirect: '/dashboard/workplace', + // children: [ + // { + // path: '/online', + // name: 'online', + // redirect: '/online', + // component: RouteView, + // meta: {title: '在线开发', icon: 'dashboard', permission: ['dashboard']}, + // children: [ + // { + // path: '/online/auto/:code', + // name: 'report', + // component: () => import('@/views/modules/online/cgreport/OnlCgreportAutoList') + // }, + // ] + // }, + // ] + // }, + + { + path: '/test', + component: BlankLayout, + redirect: '/test/home', + children: [ + { + path: 'home', + name: 'TestHome', + component: () => import('@/views/Home') + } + ] + }, + { + path: '/404', + component: () => import(/* webpackChunkName: "fail" */ '@/views/exception/404') + }, +] diff --git a/src/defaultSettings.js b/src/defaultSettings.js new file mode 100644 index 0000000..832264f --- /dev/null +++ b/src/defaultSettings.js @@ -0,0 +1,32 @@ +/** + * 项目默认配置项 + * primaryColor - 默认主题色 + * navTheme - sidebar theme ['dark', 'light'] 两种主题 + * colorWeak - 色盲模式 + * layout - 整体布局方式 ['sidemenu', 'topmenu'] 两种布局 + * fixedHeader - 固定 Header : boolean + * fixSiderbar - 固定左侧菜单栏 : boolean + * autoHideHeader - 向下滚动时,隐藏 Header : boolean + * contentWidth - 内容区布局: 流式 | 固定 + * + * storageOptions: {} - Vue-ls 插件配置项 (localStorage/sessionStorage) + * + */ + +export default { + primaryColor: '#1890FF', // primary color of ant design + navTheme: 'light', // theme for nav menu + layout: 'sidemenu', // nav menu position: sidemenu or topmenu + contentWidth: 'Fixed', // layout of content: Fluid or Fixed, only works when layout is topmenu + fixedHeader: false, // sticky header + fixSiderbar: false, // sticky siderbar + autoHideHeader: false, // auto hide header + colorWeak: false, + multipage: true, //默认多页签模式 + // vue-ls options + storageOptions: { + namespace: 'pro__', // key prefix + name: 'ls', // name variable Vue.[ls] or this.[$ls], + storage: 'local', // storage name session, local, memory + } +} \ No newline at end of file diff --git a/src/icons.js b/src/icons.js new file mode 100644 index 0000000..7c62954 --- /dev/null +++ b/src/icons.js @@ -0,0 +1,15 @@ +// src/icons.js + +// export what you need +export { + default as SmileOutline +} from '@ant-design/icons/lib/outline/SmileOutline'; +export { + default as MehOutline +} from '@ant-design/icons/lib/outline/MehOutline'; + +// export what antd other components need +export { + default as CloseOutline +} from '@ant-design/icons/lib/outline/CloseOutline'; +// and other icons... \ No newline at end of file diff --git a/src/main.js b/src/main.js new file mode 100644 index 0000000..5183022 --- /dev/null +++ b/src/main.js @@ -0,0 +1,84 @@ +/** init domain config */ +import './config' + +import Vue from 'vue' +import App from './App.vue' +import Storage from 'vue-ls' +import router from './router' +import store from './store/' +import { + VueAxios +} from "@/utils/request" + +import Antd, { version } from 'ant-design-vue' +console.log('ant-design-vue version:', version) + +import Viser from 'viser-vue' +import 'ant-design-vue/dist/antd.less'; // or 'ant-design-vue/dist/antd.less' + +import '@/permission' // permission control +import '@/utils/filter' // base filtermybatis-plus +import Print from 'vue-print-nb-jeecg' +/*import '@babel/polyfill'*/ +import preview from 'vue-photo-preview' +import 'vue-photo-preview/dist/skin.css' +import SSO from '@/cas/sso.js' +import { + ACCESS_TOKEN, + DEFAULT_COLOR, + DEFAULT_THEME, + DEFAULT_LAYOUT_MODE, + DEFAULT_COLOR_WEAK, + SIDEBAR_TYPE, + DEFAULT_FIXED_HEADER, + DEFAULT_FIXED_HEADER_HIDDEN, + DEFAULT_FIXED_SIDEMENU, + DEFAULT_CONTENT_WIDTH_TYPE, + DEFAULT_MULTI_PAGE +} from "@/store/mutation-types" +import config from '@/defaultSettings' + +import JDictSelectTag from './components/dict/index.js' +import hasPermission from '@/utils/hasPermission' +import vueBus from '@/utils/vueBus'; +import JeroComponents from '@/components/jero/index' +import '@/assets/less/JAreaLinkage.less' +import VueAreaLinkage from 'vue-area-linkage' + +Vue.config.productionTip = false +Vue.use(Storage, config.storageOptions) +Vue.use(Antd) +Vue.use(VueAxios, router) +Vue.use(Viser) +Vue.use(hasPermission) +Vue.use(JDictSelectTag) +Vue.use(Print) +Vue.use(preview) +Vue.use(vueBus); +Vue.use(JeroComponents); +Vue.use(VueAreaLinkage); + +SSO.init(() => { + main() +}) + +function main() { + new Vue({ + router, + store, + mounted() { + store.commit('SET_SIDEBAR_TYPE', Vue.ls.get(SIDEBAR_TYPE, true)) + store.commit('TOGGLE_THEME', Vue.ls.get(DEFAULT_THEME, config.navTheme)) + store.commit('TOGGLE_LAYOUT_MODE', Vue.ls.get(DEFAULT_LAYOUT_MODE, config.layout)) + store.commit('TOGGLE_FIXED_HEADER', Vue.ls.get(DEFAULT_FIXED_HEADER, config.fixedHeader)) + store.commit('TOGGLE_FIXED_SIDERBAR', Vue.ls.get(DEFAULT_FIXED_SIDEMENU, config.fixSiderbar)) + store.commit('TOGGLE_CONTENT_WIDTH', Vue.ls.get(DEFAULT_CONTENT_WIDTH_TYPE, config.contentWidth)) + store.commit('TOGGLE_FIXED_HEADER_HIDDEN', Vue.ls.get(DEFAULT_FIXED_HEADER_HIDDEN, config.autoHideHeader)) + store.commit('TOGGLE_WEAK', Vue.ls.get(DEFAULT_COLOR_WEAK, config.colorWeak)) + store.commit('TOGGLE_COLOR', Vue.ls.get(DEFAULT_COLOR, config.primaryColor)) + store.commit('SET_TOKEN', Vue.ls.get(ACCESS_TOKEN)) + store.commit('SET_MULTI_PAGE', Vue.ls.get(DEFAULT_MULTI_PAGE, config.multipage)) + }, + render: h => h(App) + }).$mount('#app') +} diff --git a/src/mixins/DisabledAuthFilterMixin.js b/src/mixins/DisabledAuthFilterMixin.js new file mode 100644 index 0000000..26aca74 --- /dev/null +++ b/src/mixins/DisabledAuthFilterMixin.js @@ -0,0 +1,19 @@ +/** + * + */ +import { disabledAuthFilter } from "@/utils/authFilter" + +export const DisabledAuthFilterMixin = { + props: ['formData'], + data(){ + return { + + } + }, + methods:{ + isDisabledAuth(code){ + return disabledAuthFilter(code,this.formData); + }, + } + +} \ No newline at end of file diff --git a/src/mixins/JEditableTableMixin.js b/src/mixins/JEditableTableMixin.js new file mode 100644 index 0000000..682e621 --- /dev/null +++ b/src/mixins/JEditableTableMixin.js @@ -0,0 +1,182 @@ +import JEditableTable from '@/components/jero/JEditableTable' +import { VALIDATE_NO_PASSED, getRefPromise, validateFormAndTables } from '@/utils/JEditableTableUtil' +import { httpAction, getAction } from '@/api/manage' + +export const JEditableTableMixin = { + components: { + JEditableTable + }, + data() { + return { + title: '操作', + visible: false, + form: this.$form.createForm(this), + confirmLoading: false, + model: {}, + labelCol: { + xs: { span: 24 }, + sm: { span: 6 } + }, + wrapperCol: { + xs: { span: 24 }, + sm: { span: 18 } + } + } + }, + methods: { + + /** 获取所有的editableTable实例 */ + getAllTable() { + if (!(this.refKeys instanceof Array)) { + throw this.throwNotArray('refKeys') + } + let values = this.refKeys.map(key => getRefPromise(this, key)) + return Promise.all(values) + }, + + /** 遍历所有的JEditableTable实例 */ + eachAllTable(callback) { + // 开始遍历 + this.getAllTable().then(tables => { + tables.forEach((item, index) => { + if (typeof callback === 'function') { + callback(item, index) + } + }) + }) + }, + + /** 当点击新增按钮时调用此方法 */ + add() { + //update-begin-author:lvdandan date:20201113 for:LOWCOD-1049 JEditaTable,子表默认添加一条数据,addDefaultRowNum设置无效 #1930 + return new Promise((resolve) => { + this.tableReset(); + resolve(); + }).then(() => { + // 默认新增空数据 + let rowNum = this.addDefaultRowNum + if (typeof rowNum !== 'number') { + rowNum = 1 + console.warn('由于你没有在 data 中定义 addDefaultRowNum 或 addDefaultRowNum 不是数字,所以默认添加一条空数据,如果不想默认添加空数据,请将定义 addDefaultRowNum 为 0') + } + this.eachAllTable((item) => { + item.add(rowNum) + }) + if (typeof this.addAfter === 'function') this.addAfter(this.model) + this.edit({}) + }) + //update-end-author:lvdandan date:20201113 for:LOWCOD-1049 JEditaTable,子表默认添加一条数据,addDefaultRowNum设置无效 #1930 + }, + /** 当点击了编辑(修改)按钮时调用此方法 */ + edit(record) { + if(record && '{}'!=JSON.stringify(record)){ + this.tableReset(); + } + if (typeof this.editBefore === 'function') this.editBefore(record) + this.visible = true + this.activeKey = this.refKeys[0] + this.form.resetFields() + this.model = Object.assign({}, record) + if (typeof this.editAfter === 'function') this.editAfter(this.model) + }, + /** 关闭弹窗,并将所有JEditableTable实例回归到初始状态 */ + close() { + this.visible = false + this.$emit('close') + }, + //清空子表table的数据 + tableReset(){ + this.eachAllTable((item) => { + item.clearRow() + }) + }, + /** 查询某个tab的数据 */ + requestSubTableData(url, params, tab, success) { + tab.loading = true + getAction(url, params).then(res => { + let { result } = res + let dataSource = [] + if (result) { + if (Array.isArray(result)) { + dataSource = result + } else if (Array.isArray(result.records)) { + dataSource = result.records + } + } + tab.dataSource = dataSource + typeof success === 'function' ? success(res) : '' + }).finally(() => { + tab.loading = false + }) + }, + /** 发起请求,自动判断是执行新增还是修改操作 */ + request(formData) { + let url = this.url.add, method = 'post' + if (this.model.id) { + url = this.url.edit + method = 'put' + } + this.confirmLoading = true + httpAction(url, formData, method).then((res) => { + if (res.success) { + this.$message.success(res.message) + this.$emit('ok') + this.close() + } else { + this.$message.warning(res.message) + } + }).finally(() => { + this.confirmLoading = false + }) + }, + + /* --- handle 事件 --- */ + + /** ATab 选项卡切换事件 */ + handleChangeTabs(key) { + // 自动重置scrollTop状态,防止出现白屏 + getRefPromise(this, key).then(editableTable => { + editableTable.resetScrollTop() + }) + }, + /** 关闭按钮点击事件 */ + handleCancel() { + this.close() + }, + /** 确定按钮点击事件 */ + handleOk() { + /** 触发表单验证 */ + this.getAllTable().then(tables => { + /** 一次性验证主表和所有的次表 */ + return validateFormAndTables(this.form, tables) + }).then(allValues => { + if (typeof this.classifyIntoFormData !== 'function') { + throw this.throwNotFunction('classifyIntoFormData') + } + let formData = this.classifyIntoFormData(allValues) + // 发起请求 + return this.request(formData) + }).catch(e => { + if (e.error === VALIDATE_NO_PASSED) { + // 如果有未通过表单验证的子表,就自动跳转到它所在的tab + this.activeKey = e.index == null ? this.activeKey : this.refKeys[e.index] + } else { + console.error(e) + } + }) + }, + + /* --- throw --- */ + + /** not a function */ + throwNotFunction(name) { + return `${name} 未定义或不是一个函数` + }, + + /** not a array */ + throwNotArray(name) { + return `${name} 未定义或不是一个数组` + } + + } +} \ No newline at end of file diff --git a/src/mixins/JVxeTableMixin.js b/src/mixins/JVxeTableMixin.js new file mode 100644 index 0000000..851d13e --- /dev/null +++ b/src/mixins/JVxeTableMixin.js @@ -0,0 +1,170 @@ +import { VALIDATE_FAILED, getRefPromise, validateFormAndTables} from '@/components/jero/JVxeTable/utils/vxeUtils.js' +import { httpAction, getAction } from '@/api/manage' + +export const JVxeTableMixin = { + data() { + return { + title: '操作', + visible: false, + form: this.$form.createForm(this), + confirmLoading: false, + scrolling: true, + model: {}, + labelCol: { + xs: { span: 24 }, + sm: { span: 6 } + }, + wrapperCol: { + xs: { span: 24 }, + sm: { span: 18 } + } + } + }, + methods: { + + /** 获取所有的JVxeTable实例 */ + getAllTable() { + if (!(this.refKeys instanceof Array)) { + throw this.throwNotArray('refKeys') + } + let values = this.refKeys.map(key => getRefPromise(this, key)) + return Promise.all(values) + }, + + /** 遍历所有的JVxeTable实例 */ + eachAllTable(callback) { + // 开始遍历 + this.getAllTable().then(tables => { + tables.forEach((item, index) => { + if (typeof callback === 'function') { + callback(item, index) + } + }) + }) + }, + + /** 当点击新增按钮时调用此方法 */ + add() { + if (typeof this.addBefore === 'function') this.addBefore() + // 默认新增空数据 + let rowNum = this.addDefaultRowNum + if (typeof rowNum !== 'number') { + rowNum = 1 + console.warn('由于你没有在 data 中定义 addDefaultRowNum 或 addDefaultRowNum 不是数字,所以默认添加一条空数据,如果不想默认添加空数据,请将定义 addDefaultRowNum 为 0') + } + this.eachAllTable((item) => { + item.addRows() + //item.add(rowNum) + }) + if (typeof this.addAfter === 'function') this.addAfter(this.model) + this.edit({}) + }, + /** 当点击了编辑(修改)按钮时调用此方法 */ + edit(record) { + if (typeof this.editBefore === 'function') this.editBefore(record) + this.visible = true + this.activeKey = this.refKeys[0] + this.form.resetFields() + this.model = Object.assign({}, record) + if (typeof this.editAfter === 'function') this.editAfter(this.model) + }, + /** 关闭弹窗,并将所有JVxeTable实例回归到初始状态 */ + close() { + this.visible = false + this.eachAllTable((item) => { + item._remove() + }) + this.$emit('close') + }, + + /** 查询某个tab的数据 */ + requestSubTableData(url, params, tab, success) { + tab.loading = true + getAction(url, params).then(res => { + let { result } = res + let dataSource = [] + if (result) { + if (Array.isArray(result)) { + dataSource = result + } else if (Array.isArray(result.records)) { + dataSource = result.records + } + } + tab.dataSource = dataSource + typeof success === 'function' ? success(res) : '' + }).finally(() => { + tab.loading = false + }) + }, + /** 发起请求,自动判断是执行新增还是修改操作 */ + request(formData) { + let url = this.url.add, method = 'post' + if (this.model.id) { + url = this.url.edit + method = 'put' + } + this.confirmLoading = true + console.log("formData===>",formData); + httpAction(url, formData, method).then((res) => { + if (res.success) { + this.$message.success(res.message) + this.$emit('ok') + this.close() + } else { + this.$message.warning(res.message) + } + }).finally(() => { + this.confirmLoading = false + }) + }, + + /* --- handle 事件 --- */ + + /** ATab 选项卡切换事件 */ + handleChangeTabs(key) { + // 自动重置scrollTop状态,防止出现白屏 + getRefPromise(this, key).then(vxeTable => { + vxeTable.resetScrollTop() + }) + }, + /** 关闭按钮点击事件 */ + handleCancel() { + this.close() + }, + /** 确定按钮点击事件 */ + handleOk() { + /** 触发表单验证 */ + this.getAllTable().then(tables => { + /** 一次性验证主表和所有的次表 */ + return validateFormAndTables(this.form, tables) + }).then(allValues => { + if (typeof this.classifyIntoFormData !== 'function') { + throw this.throwNotFunction('classifyIntoFormData') + } + let formData = this.classifyIntoFormData(allValues) + // 发起请求 + return this.request(formData) + }).catch(e => { + if (e.error === VALIDATE_NO_PASSED) { + // 如果有未通过表单验证的子表,就自动跳转到它所在的tab + this.activeKey = e.index == null ? this.activeKey : this.refKeys[e.index] + } else { + console.error(e) + } + }) + }, + + /* --- throw --- */ + + /** not a function */ + throwNotFunction(name) { + return `${name} 未定义或不是一个函数` + }, + + /** not a array */ + throwNotArray(name) { + return `${name} 未定义或不是一个数组` + } + + } +} \ No newline at end of file diff --git a/src/mixins/JeroListMixin.js b/src/mixins/JeroListMixin.js new file mode 100644 index 0000000..da891cd --- /dev/null +++ b/src/mixins/JeroListMixin.js @@ -0,0 +1,350 @@ +/** + * 新增修改完成调用 modalFormOk方法 编辑弹框组件ref定义为modalForm + * 高级查询按钮调用 superQuery方法 高级查询组件ref定义为superQueryModal + * data中url定义 list为查询列表 delete为删除单条记录 deleteBatch为批量删除 + */ +import { filterObj } from '@/utils/util'; +import { deleteAction, getAction,downloadFile,getFileAccessHttpUrl } from '@/api/manage' +import Vue from 'vue' +import { ACCESS_TOKEN, TENANT_ID } from "@/store/mutation-types" +import store from '@/store' +import {Modal} from 'ant-design-vue' + +export const JeroListMixin = { + data(){ + return { + /* 查询条件-请不要在queryParam中声明非字符串值的属性 */ + queryParam: {}, + // 记录上一次查询的条件,防止查询处输入框的数据发生变化,未点击查询按钮,再点击分页的时候数据发生变化 + lastQueryParam: {}, + /* 数据源 */ + dataSource:[], + /* 分页参数 */ + ipagination:{ + current: 1, + pageSize: 10, + pageSizeOptions: ['2','10', '20', '30'], + showTotal: (total, range) => { + return range[0] + "-" + range[1] + " 共" + total + "条" + }, + showQuickJumper: true, + showSizeChanger: true, + total: 0 + }, + /* 排序参数 */ + isorter:{ + column: 'createTime', + order: 'desc', + }, + /* 筛选参数 */ + filters: {}, + /* table加载状态 */ + loading:false, + /* table选中keys*/ + selectedRowKeys: [], + /* table选中records*/ + selectionRows: [], + /* 查询折叠 */ + toggleSearchStatus:false, + /* 高级查询条件生效状态 */ + superQueryFlag:false, + /* 高级查询条件 */ + superQueryParams: '', + /** 高级查询拼接方式 */ + superQueryMatchType: 'and', + } + }, + created() { + if(!this.disableMixinCreated){ + this.loadData(); + //初始化字典配置 在自己页面定义 + this.initDictConfig(); + } + }, + computed: { + //token header + tokenHeader(){ + let head = {'X-Access-Token': Vue.ls.get(ACCESS_TOKEN)} + let tenantid = Vue.ls.get(TENANT_ID) + if(tenantid){ + head['tenant_id'] = tenantid + } + return head; + } + }, + methods:{ + loadData(arg) { + if(!this.url.list){ + this.$message.error("请设置url.list属性!") + return + } + //加载数据 若传入参数1则加载第一页的内容 + if (arg === 1) { + this.ipagination.current = 1; + } + var params = this.getQueryParams();//查询条件 + this.loading = true; + getAction(this.url.list, params).then((res) => { + if (res.success) { + //update-begin---author:zhangyafei Date:20201118 for:适配不分页的数据列表------------ + this.dataSource = res.result.records||res.result; + if(res.result.total) + { + this.ipagination.total = res.result.total; + //清空列表选中 + this.onClearSelected() + }else{ + this.ipagination.total = 0; + } + //update-end---author:zhangyafei Date:20201118 for:适配不分页的数据列表------------ + } + if(res.code===510){ + this.$message.warning(res.message) + } + this.loading = false; + }) + }, + initDictConfig(){ + + }, + handleSuperQuery(params, matchType) { + //高级查询方法 + if(!params){ + this.superQueryParams='' + this.superQueryFlag = false + }else{ + this.superQueryFlag = true + this.superQueryParams=JSON.stringify(params) + this.superQueryMatchType = matchType + } + this.loadData(1) + }, + getQueryParams() { + //获取查询条件 + let sqp = {} + if(this.superQueryParams){ + sqp['superQueryParams']=encodeURI(this.superQueryParams) + sqp['superQueryMatchType'] = this.superQueryMatchType + } + // var param = Object.assign(sqp, this.queryParam, this.isorter ,this.filters); + var param = Object.assign(sqp, this.lastQueryParam, this.isorter ,this.filters); + param.field = this.getQueryField(); + param.pageNo = this.ipagination.current; + param.pageSize = this.ipagination.pageSize; + return filterObj(param); + }, + getQueryField() { + //TODO 字段权限控制 + var str = "id,"; + this.columns.forEach(function (value) { + str += "," + value.dataIndex; + }); + return str; + }, + + onSelectChange(selectedRowKeys, selectionRows) { + this.selectedRowKeys = selectedRowKeys; + this.selectionRows = selectionRows; + }, + onClearSelected() { + this.selectedRowKeys = []; + this.selectionRows = []; + }, + searchQuery() { + this.lastQueryParam = { ...this.queryParam } + this.loadData(1); + }, + superQuery() { + this.$refs.superQueryModal.show(); + }, + searchReset() { + this.queryParam = {} + this.lastQueryParam = {} + this.loadData(1); + }, + batchDel: function () { + if(!this.url.deleteBatch){ + this.$message.error("请设置url.deleteBatch属性!") + return + } + if (this.selectedRowKeys.length <= 0) { + this.$message.warning('请选择一条记录!'); + return; + } else { + var ids = ""; + for (var a = 0; a < this.selectedRowKeys.length; a++) { + ids += this.selectedRowKeys[a] + ","; + } + var that = this; + this.$confirm({ + title: "确认删除", + content: "是否删除选中数据?", + onOk: function () { + that.loading = true; + deleteAction(that.url.deleteBatch, {ids: ids}).then((res) => { + if (res.success) { + that.$message.success(res.message); + // 判断当前删除的数据是否是最后一页的全部数据,如果是的话页码减一 + if (that.ipagination.current > 1 && (that.ipagination.current === Math.ceil(that.ipagination.total / that.ipagination.pageSize)) && + that.selectedRowKeys.length === that.dataSource.length + ) { + that.ipagination.current -= 1 + } + that.loadData(); + that.onClearSelected(); + } else { + that.$message.warning(res.message); + } + }).finally(() => { + that.loading = false; + }); + } + }); + } + }, + handleDelete: function (id) { + if(!this.url.delete){ + this.$message.error("请设置url.delete属性!") + return + } + var that = this; + deleteAction(that.url.delete, {id: id}).then((res) => { + if (res.success) { + that.$message.success(res.message); + // 判断当前删除的数据是否是最后一页的最后一条数据,如果是的话页码减一 + if (that.ipagination.current > 1 && ((that.ipagination.current - 1) * that.ipagination.pageSize) + 1 === that.ipagination.total) { + that.ipagination.current -= 1 + } + that.loadData(); + } else { + that.$message.warning(res.message); + } + }); + }, + handleEdit: function (record) { + this.$refs.modalForm.edit(record); + this.$refs.modalForm.title = "编辑"; + this.$refs.modalForm.disableSubmit = false; + }, + handleAdd: function () { + this.$refs.modalForm.add(); + this.$refs.modalForm.title = "新增"; + this.$refs.modalForm.disableSubmit = false; + }, + handleTableChange(pagination, filters, sorter) { + //分页、排序、筛选变化时触发 + //TODO 筛选 + if (Object.keys(sorter).length > 0) { + this.isorter.column = sorter.field; + this.isorter.order = "ascend" == sorter.order ? "asc" : "desc" + } + this.ipagination = pagination; + this.loadData(); + }, + handleToggleSearch(){ + this.toggleSearchStatus = !this.toggleSearchStatus; + }, + // 给popup查询使用(查询区域不支持回填多个字段,限制只返回一个字段) + getPopupField(fields){ + return fields.split(',')[0] + }, + modalFormOk() { + // 新增/修改 成功时,重载列表 + this.loadData(); + //清空列表选中 + this.onClearSelected() + }, + handleDetail:function(record){ + this.$refs.modalForm.edit(record); + this.$refs.modalForm.title="详情"; + this.$refs.modalForm.disableSubmit = true; + }, + /* 导出 */ + handleExportXls2(){ + let paramsStr = encodeURI(JSON.stringify(this.getQueryParams())); + let url = `${window._CONFIG['domianURL']}/${this.url.exportXlsUrl}?paramsStr=${paramsStr}`; + window.location.href = url; + }, + handleExportXls(fileName){ + if(!fileName || typeof fileName != "string"){ + fileName = "导出文件" + } + let param = this.getQueryParams(); + if(this.selectedRowKeys && this.selectedRowKeys.length>0){ + param['selections'] = this.selectedRowKeys.join(",") + } + console.log("导出参数",param) + downloadFile(this.url.exportXlsUrl, fileName+'.xls', param) + }, + /* 导入 */ + handleImportExcel(info){ + if (info.file.status !== 'uploading') { + console.log(info.file, info.fileList); + } + if (info.file.status === 'done') { + if (info.file.response.success) { + // this.$message.success(`${info.file.name} 文件上传成功`); + if (info.file.response.code === 201) { + let { message, result: { msg, fileUrl, fileName } } = info.file.response + let href = window._CONFIG['domianURL'] + fileUrl + this.$warning({ + title: message, + content: ( + ) + }) + } else { + this.$message.success(info.file.response.message || `${info.file.name} 文件上传成功`) + } + this.loadData() + } else { + this.$message.error(`${info.file.name} ${info.file.response.message}.`); + } + } else if (info.file.status === 'error') { + if (info.file.response.status === 500) { + let data = info.file.response + const token = Vue.ls.get(ACCESS_TOKEN) + if (token && data.message.includes("Token失效")) { + Modal.error({ + title: '登录已过期', + content: '很抱歉,登录已过期,请重新登录', + okText: '重新登录', + mask: false, + onOk: () => { + store.dispatch('Logout').then(() => { + Vue.ls.remove(ACCESS_TOKEN) + window.location.reload(); + }) + } + }) + } + } else { + this.$message.error(`文件上传失败: ${info.file.msg} `); + } + } + }, + /* 图片预览 */ + getImgView(text){ + if(text && text.indexOf(",")>0){ + text = text.substring(0,text.indexOf(",")) + } + return getFileAccessHttpUrl(text) + }, + /* 文件下载 */ + // update--autor:lvdandan-----date:20200630------for:修改下载文件方法名uploadFile改为downloadFile------ + downloadFile(text){ + if(!text){ + this.$message.warning("未知的文件") + return; + } + if(text.indexOf(",")>0){ + text = text.substring(0,text.indexOf(",")) + } + let url = getFileAccessHttpUrl(text) + window.open(url); + }, + } + +} diff --git a/src/mixins/OnlineCommonUtil.js b/src/mixins/OnlineCommonUtil.js new file mode 100644 index 0000000..7de0b6d --- /dev/null +++ b/src/mixins/OnlineCommonUtil.js @@ -0,0 +1,26 @@ +import { formatDate } from '@/utils/util' +import Area from '@/components/_util/Area' + +const onlUtil = { + data(){ + return { + mixin_pca:'' + } + }, + created(){ + this.mixin_pca = new Area() + }, + methods:{ + simpleDateFormat(millisecond, format){ + return formatDate(millisecond, format) + }, + getPcaText(code){ + return this.mixin_pca.getText(code); + }, + getPcaCode(text){ + return this.mixin_pca.getCode(text) + } + } +} + +export { onlUtil } \ No newline at end of file diff --git a/src/mixins/WebsocketMixin.js b/src/mixins/WebsocketMixin.js new file mode 100644 index 0000000..ee03f8c --- /dev/null +++ b/src/mixins/WebsocketMixin.js @@ -0,0 +1,63 @@ +import store from '@/store/' +import { ACCESS_TOKEN } from '@/store/mutation-types' +import Vue from 'vue' + +export const WebsocketMixin = { + mounted() { + this.initWebSocket(); + }, + destroyed: function () { + // 离开页面生命周期函数 + this.websocketOnclose(); + }, + methods:{ + initWebSocket: function () { + let token = Vue.ls.get(ACCESS_TOKEN) + console.log("------------WebSocket连接成功"); + // WebSocket与普通的请求所用协议有所不同,ws等同于http,wss等同于https + var userId = store.getters.userInfo.id; + if(!this.socketUrl.startsWith('/')){ + this.socketUrl = '/' + this.socketUrl + } + if(!this.socketUrl.endsWith('/')){ + this.socketUrl = this.socketUrl + '/' + } + var url = window._CONFIG['domianURL'].replace("https://","wss://").replace("http://","ws://") + this.socketUrl + userId + "/" + token; + this.websock = new WebSocket(url); + this.websock.onopen = this.websocketOnopen; + this.websock.onerror = this.websocketOnerror; + this.websock.onmessage = this.websocketOnmessage; + this.websock.onclose = this.websocketOnclose; + }, + websocketOnopen: function () { + console.log("WebSocket连接成功"); + }, + websocketOnerror: function (e) { + console.log("WebSocket连接发生错误"); + this.reconnect(); + }, + websocketOnclose: function (e) { + this.reconnect(); + }, + websocketSend(text) { + // 数据发送 + try { + this.websock.send(text); + } catch (err) { + console.log("send failed (" + err.code + ")"); + } + }, + reconnect() { + var that = this; + if(that.lockReconnect) return; + that.lockReconnect = true; + //没连接上会一直重连,设置延迟避免请求过多 + setTimeout(function () { + console.info("尝试重连..."); + that.initWebSocket(); + that.lockReconnect = false; + }, 5000); + }, + } + +} \ No newline at end of file diff --git a/src/permission.js b/src/permission.js new file mode 100644 index 0000000..3e8108e --- /dev/null +++ b/src/permission.js @@ -0,0 +1,76 @@ +import Vue from 'vue' +import router from './router' +import store from './store' +import NProgress from 'nprogress' // progress bar +import 'nprogress/nprogress.css' // progress bar style +import notification from 'ant-design-vue/es/notification' +import { ACCESS_TOKEN,INDEX_MAIN_PAGE_PATH } from '@/store/mutation-types' +import { generateIndexRouter } from "@/utils/util" + +NProgress.configure({ showSpinner: false }) // NProgress Configuration + +const whiteList = ['/user/login', '/user/register', '/user/register-result','/user/alteration'] // no redirect whitelist + +router.beforeEach((to, from, next) => { + NProgress.start() // start progress bar + + if (Vue.ls.get(ACCESS_TOKEN)) { + /* has token */ + + + + + if (to.path === '/user/login') { + next({ path: INDEX_MAIN_PAGE_PATH }) + NProgress.done() + } else { + if (store.getters.permissionList.length === 0) { + store.dispatch('GetPermissionList').then(res => { + const menuData = res.result.menu; + if (menuData === null || menuData === "" || menuData === undefined) { + return; + } + let constRoutes = []; + constRoutes = generateIndexRouter(menuData); + // 添加主界面路由 + store.dispatch('UpdateAppRouter', { constRoutes }).then(() => { + // 根据roles权限生成可访问的路由表 + // 动态添加可访问路由表 + router.addRoutes(store.getters.addRouters) + const redirect = decodeURIComponent(from.query.redirect || to.path) + if (to.path === redirect) { + // hack方法 确保addRoutes已完成 ,set the replace: true so the navigation will not leave a history record + next({ ...to, replace: true }) + } else { + // 跳转到目的路由 + next({ path: redirect }) + } + }) + }) + .catch(() => { + /* notification.error({ + message: '系统提示', + description: '请求用户信息失败,请重试!' + })*/ + store.dispatch('Logout').then(() => { + next({ path: '/user/login', query: { redirect: to.fullPath } }) + }) + }) + } else { + next() + } + } + } else { + if (whiteList.indexOf(to.path) !== -1) { + // 在免登录白名单,直接进入 + next() + } else { + next({ path: '/user/login', query: { redirect: to.fullPath } }) + NProgress.done() // if current page is login will not trigger afterEach hook, so manually handle it + } + } +}) + +router.afterEach(() => { + NProgress.done() // finish progress bar +}) diff --git a/src/router/README.md b/src/router/README.md new file mode 100644 index 0000000..9e82538 --- /dev/null +++ b/src/router/README.md @@ -0,0 +1,139 @@ +路由/菜单说明 +==== + + + +配置文件路径 +---- + +`@/config/router.config.js` + + + +格式和说明 +---- + +```javascript +/** + * 路由配置说明: + * 建议:sider menu 请不要超过三级菜单,若超过三级菜单,则应该设计为顶部主菜单 配合左侧次级菜单 + * + **/ + { + redirect: noredirect, + name: 'router-name', + hidden: true, + meta: { + title: 'title', + icon: 'a-icon', + keepAlive: true, + hiddenHeaderContent: true, + } +} +``` + + + +`{ Route }` 对象 + +| 参数 | 说明 | 类型 | 默认值 | +| -------- | ----------------------------------------- | ------- | ------ | +| hidden | 控制路由是否显示在 sidebar | boolean | falase | +| redirect | 重定向地址, 访问这个路由时,自定进行重定向 | string | - | +| name | 路由名称, 建议设置,且不能重名 | string | - | +| meta | 路由元信息(路由附带扩展信息) | object | {} | + + + +`{ Meta }` 路由元信息对象 + +| 参数 | 说明 | 类型 | 默认值 | +| ------------------- | ------------------------------------------------------------ | ------- | ------ | +| title | 路由标题, 用于显示面包屑, 页面标题 *推荐设置 | string | - | +| icon | 路由在 menu 上显示的图标 | string | - | +| keepAlive | 缓存该路由 | boolean | false | +| hiddenHeaderContent | *特殊 隐藏 [PageHeader](https://github.com/sendya/ant-design-pro-vue/blob/master/src/components/layout/PageHeader.vue#L14) 组件中的页面带的 面包屑和页面标题栏 | boolean | false | +| permission | 与项目提供的权限拦截匹配的权限,如果不匹配,则会被禁止访问该路由页面 | array | [] | + + + +路由例子 +---- + +```ecmascript 6 +const asyncRouterMap = [ + { + path: '/', + name: 'index', + component: BasicLayout, + meta: { title: '首页' }, + redirect: '/dashboard/analysis', + children: [ + { + path: '/dashboard', + component: Layout, + name: 'dashboard', + redirect: '/dashboard/workplace', + meta: {title: '仪表盘', icon: 'dashboard', permission: ['dashboard']}, + children: [ + { + path: '/dashboard/analysis', + name: 'Analysis', + component: () => import('@/views/dashboard/Analysis'), + meta: {title: '分析页', permission: ['dashboard']} + }, + { + path: '/dashboard/monitor', + name: 'Monitor', + hidden: true, + component: () => import('@/views/dashboard/Monitor'), + meta: {title: '监控页', permission: ['dashboard']} + }, + { + path: '/dashboard/workplace', + name: 'Workplace', + component: () => import('@/views/dashboard/Workplace'), + meta: {title: '工作台', permission: ['dashboard']} + } + ] + }, + + // result + { + path: '/result', + name: 'result', + component: PageView, + redirect: '/result/success', + meta: { title: '结果页', icon: 'check-circle-o', permission: [ 'result' ] }, + children: [ + { + path: '/result/success', + name: 'ResultSuccess', + component: () => import(/* webpackChunkName: "result" */ '@/views/result/Success'), + // 该页面隐藏面包屑和页面标题栏 + meta: { title: '成功', hiddenHeaderContent: true, permission: [ 'result' ] } + }, + { + path: '/result/fail', + name: 'ResultFail', + component: () => import(/* webpackChunkName: "result" */ '@/views/result/Error'), + // 该页面隐藏面包屑和页面标题栏 + meta: { title: '失败', hiddenHeaderContent: true, permission: [ 'result' ] } + } + ] + }, + ... + ] + }, +] +``` + +> 1. 请注意 `component: () => import('..') ` 方式引入路由的页面组件为 懒加载模式。具体可以看 [Vue 官方文档](https://router.vuejs.org/zh/guide/advanced/lazy-loading.html) +> 2. 增加新的路由应该增加在 '/' (index) 路由的 `children` 内 +> 3. `permission` 可以进行自定义修改,只需要对这个模块进行自定义修改即可 [src/store/modules/permission.js#L10](https://github.com/sendya/ant-design-pro-vue/blob/master/src/store/modules/permission.js#L10) + + + +附权限路由结构: + +![权限结构](https://static-2.loacg.com/open/static/github/permissions.png) \ No newline at end of file diff --git a/src/router/index.js b/src/router/index.js new file mode 100644 index 0000000..791a550 --- /dev/null +++ b/src/router/index.js @@ -0,0 +1,18 @@ +import Vue from 'vue' +import Router from 'vue-router' +import { constantRouterMap } from '@/config/router.config' + +Vue.use(Router) + +const originalPush = Router.prototype.push +Router.prototype.push = function push(location, onResolve, onReject) { + if (onResolve || onReject) return originalPush.call(this, location, onResolve, onReject) + return originalPush.call(this, location).catch(err => err) +} + +export default new Router({ + mode: 'history', + base: process.env.BASE_URL, + scrollBehavior: () => ({ y: 0 }), + routes: constantRouterMap +}) \ No newline at end of file diff --git a/src/store/getters.js b/src/store/getters.js new file mode 100644 index 0000000..6e295d3 --- /dev/null +++ b/src/store/getters.js @@ -0,0 +1,23 @@ +import Vue from 'vue' +import { USER_INFO, ENHANCE_PRE } from "@/store/mutation-types" +const getters = { + device: state => state.app.device, + theme: state => state.app.theme, + color: state => state.app.color, + token: state => state.user.token, + avatar: state => {state.user.avatar = Vue.ls.get(USER_INFO).avatar; return state.user.avatar}, + username: state => state.user.username, + nickname: state => {state.user.realname = Vue.ls.get(USER_INFO).realname; return state.user.realname}, + welcome: state => state.user.welcome, + permissionList: state => state.user.permissionList, + userInfo: state => {state.user.info = Vue.ls.get(USER_INFO); return state.user.info}, + addRouters: state => state.permission.addRouters, + onlAuthFields: state => {return state.online.authFields }, + enhanceJs:(state) => (code) => { + state.enhance.enhanceJs[code] = Vue.ls.get(ENHANCE_PRE+code); + return state.enhance.enhanceJs[code] + } + +} + +export default getters diff --git a/src/store/index.js b/src/store/index.js new file mode 100644 index 0000000..ee4e41e --- /dev/null +++ b/src/store/index.js @@ -0,0 +1,31 @@ +import Vue from 'vue' +import Vuex from 'vuex' + +import app from './modules/app' +import user from './modules/user' +import permission from './modules/permission' +import enhance from './modules/enhance' +import online from './modules/online' +import getters from './getters' + +Vue.use(Vuex) + +export default new Vuex.Store({ + modules: { + app, + user, + permission, + enhance, + online + }, + state: { + + }, + mutations: { + + }, + actions: { + + }, + getters +}) diff --git a/src/store/modules/app.js b/src/store/modules/app.js new file mode 100644 index 0000000..e7912e6 --- /dev/null +++ b/src/store/modules/app.js @@ -0,0 +1,126 @@ +import Vue from 'vue' +import { + SIDEBAR_TYPE, + DEFAULT_THEME, + DEFAULT_LAYOUT_MODE, + DEFAULT_COLOR, + DEFAULT_COLOR_WEAK, + DEFAULT_FIXED_HEADER, + DEFAULT_FIXED_SIDEMENU, + DEFAULT_FIXED_HEADER_HIDDEN, + DEFAULT_CONTENT_WIDTH_TYPE, + DEFAULT_MULTI_PAGE +} from "@/store/mutation-types" + +const app = { + state: { + sidebar: { + opened: true, + withoutAnimation: false + }, + device: 'desktop', + theme: '', + layout: '', + contentWidth: '', + fixedHeader: false, + fixSiderbar: false, + autoHideHeader: false, + color: null, + weak: false, + multipage: true //默认多页签模式 + }, + mutations: { + SET_SIDEBAR_TYPE: (state, type) => { + state.sidebar.opened = type + Vue.ls.set(SIDEBAR_TYPE, type) + }, + CLOSE_SIDEBAR: (state, withoutAnimation) => { + Vue.ls.set(SIDEBAR_TYPE, true) + state.sidebar.opened = false + state.sidebar.withoutAnimation = withoutAnimation + }, + TOGGLE_DEVICE: (state, device) => { + state.device = device + }, + TOGGLE_THEME: (state, theme) => { + // setStore('_DEFAULT_THEME', theme) + Vue.ls.set(DEFAULT_THEME, theme) + state.theme = theme + }, + TOGGLE_LAYOUT_MODE: (state, layout) => { + Vue.ls.set(DEFAULT_LAYOUT_MODE, layout) + state.layout = layout + }, + TOGGLE_FIXED_HEADER: (state, fixed) => { + Vue.ls.set(DEFAULT_FIXED_HEADER, fixed) + state.fixedHeader = fixed + }, + TOGGLE_FIXED_SIDERBAR: (state, fixed) => { + Vue.ls.set(DEFAULT_FIXED_SIDEMENU, fixed) + state.fixSiderbar = fixed + }, + TOGGLE_FIXED_HEADER_HIDDEN: (state, show) => { + Vue.ls.set(DEFAULT_FIXED_HEADER_HIDDEN, show) + state.autoHideHeader = show + }, + TOGGLE_CONTENT_WIDTH: (state, type) => { + Vue.ls.set(DEFAULT_CONTENT_WIDTH_TYPE, type) + state.contentWidth = type + }, + TOGGLE_COLOR: (state, color) => { + Vue.ls.set(DEFAULT_COLOR, color) + state.color = color + }, + TOGGLE_WEAK: (state, flag) => { + Vue.ls.set(DEFAULT_COLOR_WEAK, flag) + state.weak = flag + }, + SET_MULTI_PAGE (state, multipageFlag) { + Vue.ls.set(DEFAULT_MULTI_PAGE, multipageFlag) + state.multipage = multipageFlag + } + }, + actions: { + setSidebar: ({ commit }, type) => { + commit('SET_SIDEBAR_TYPE', type) + }, + CloseSidebar({ commit }, { withoutAnimation }) { + commit('CLOSE_SIDEBAR', withoutAnimation) + }, + ToggleDevice({ commit }, device) { + commit('TOGGLE_DEVICE', device) + }, + ToggleTheme({ commit }, theme) { + commit('TOGGLE_THEME', theme) + }, + ToggleLayoutMode({ commit }, mode) { + commit('TOGGLE_LAYOUT_MODE', mode) + }, + ToggleFixedHeader({ commit }, fixedHeader) { + if (!fixedHeader) { + commit('TOGGLE_FIXED_HEADER_HIDDEN', false) + } + commit('TOGGLE_FIXED_HEADER', fixedHeader) + }, + ToggleFixSiderbar({ commit }, fixSiderbar) { + commit( 'TOGGLE_FIXED_SIDERBAR', fixSiderbar) + }, + ToggleFixedHeaderHidden({ commit }, show) { + commit('TOGGLE_FIXED_HEADER_HIDDEN', show) + }, + ToggleContentWidth({ commit }, type) { + commit('TOGGLE_CONTENT_WIDTH', type) + }, + ToggleColor({ commit }, color) { + commit('TOGGLE_COLOR', color) + }, + ToggleWeak({ commit }, weakFlag) { + commit('TOGGLE_WEAK', weakFlag) + }, + ToggleMultipage({ commit }, multipageFlag) { + commit('SET_MULTI_PAGE', multipageFlag) + } + } +} + +export default app \ No newline at end of file diff --git a/src/store/modules/enhance.js b/src/store/modules/enhance.js new file mode 100644 index 0000000..e7c254d --- /dev/null +++ b/src/store/modules/enhance.js @@ -0,0 +1,37 @@ +import Vue from 'vue' +const enhance = { + state: { + enhanceJs:{ + + } + }, + mutations: { + ADD_TABLE_ENHANCE: (state, record) => { + if(!state.enhanceJs){ + let obj = {} + let arr = [] + arr.push({...record}) + obj[record.code] = arr + state.enhanceJs = obj + }else{ + if(!state.enhanceJs[record.code]){ + let arr = [] + arr.push({...record}) + state.enhanceJs[record.code] = arr + } + state.enhanceJs[record.code].push({...record}) + } + let arr = state.enhanceJs[record.code] + while(arr.length>16){ + arr.shift() + } + Vue.ls.set('enhance_'+record['code'], arr) + } + }, + actions: { + addEhanceRecord({ commit }, record) { + commit('ADD_TABLE_ENHANCE', record) + } + } +} +export default enhance \ No newline at end of file diff --git a/src/store/modules/online.js b/src/store/modules/online.js new file mode 100644 index 0000000..de6b26f --- /dev/null +++ b/src/store/modules/online.js @@ -0,0 +1,25 @@ +import Vue from 'vue' +import { ONL_AUTH_FIELDS } from "@/store/mutation-types" +import { getAction } from '@/api/manage' + + +const online = { + state: { + //存储对象属性 value,text + authFields: [], + }, + mutations: { + SET_AUTHFIELDS: (state, fields) => { + console.log('fields',fields) + Vue.set(state, 'authFields', fields) + } + }, + actions: { + // TODO 如果没找到可以尝试请求一下 + xxxxxx({ commit }, userInfo) { + } + + } +} + +export default online \ No newline at end of file diff --git a/src/store/modules/permission.js b/src/store/modules/permission.js new file mode 100644 index 0000000..0f9d720 --- /dev/null +++ b/src/store/modules/permission.js @@ -0,0 +1,87 @@ +import { asyncRouterMap, constantRouterMap } from "@/config/router.config" + +/** + * 过滤账户是否拥有某一个权限,并将菜单从加载列表移除 + * + * @param permission + * @param route + * @returns {boolean} + */ +function hasPermission(permission, route) { + if (route.meta && route.meta.permission) { + let flag = -1 + for (let i = 0, len = permission.length; i < len; i++) { + flag = route.meta.permission.indexOf(permission[i]) + if (flag >= 0) { + return true + } + } + return false + } + return true +} + +/** + * 单账户多角色时,使用该方法可过滤角色不存在的菜单 + * + * @param roles + * @param route + * @returns {*} + */ +// eslint-disable-next-line +function hasRole(roles, route) { + if (route.meta && route.meta.roles) { + return route.meta.roles.indexOf(roles.id) + } else { + return true + } +} + +function filterAsyncRouter(routerMap, roles) { + const accessedRouters = routerMap.filter(route => { + if (hasPermission(roles.permissionList, route)) { + if (route.children && route.children.length) { + route.children = filterAsyncRouter(route.children, roles) + } + return true + } + return false + }) + return accessedRouters +} + + +const permission = { + state: { + routers: constantRouterMap, + addRouters: [] + }, + mutations: { + SET_ROUTERS: (state, data) => { + state.addRouters = data + state.routers = constantRouterMap.concat(data) + } + }, + actions: { + GenerateRoutes({ commit }, data) { + return new Promise(resolve => { + const { roles } = data + let accessedRouters + accessedRouters = filterAsyncRouter(asyncRouterMap, roles) + commit('SET_ROUTERS', accessedRouters) + resolve() + }) + }, + // 动态添加主界面路由,需要缓存 + UpdateAppRouter({ commit }, routes) { + return new Promise(resolve => { + //const [ roles ] = routes.constRoutes + let routelist = routes.constRoutes; + commit('SET_ROUTERS', routelist) + resolve() + }) + } + } +} + +export default permission \ No newline at end of file diff --git a/src/store/modules/user.js b/src/store/modules/user.js new file mode 100644 index 0000000..a7fd032 --- /dev/null +++ b/src/store/modules/user.js @@ -0,0 +1,222 @@ +import Vue from 'vue' +import { login, logout, phoneLogin, thirdLogin } from "@/api/login" +import { ACCESS_TOKEN, USER_NAME,USER_INFO,USER_AUTH,SYS_BUTTON_AUTH,UI_CACHE_DB_DICT_DATA,TENANT_ID,CACHE_INCLUDED_ROUTES } from "@/store/mutation-types" +import { welcome } from "@/utils/util" +import { queryPermissionsByUser } from '@/api/api' +import { getAction } from '@/api/manage' + +const user = { + state: { + token: '', + username: '', + realname: '', + tenantid:'', + welcome: '', + avatar: '', + permissionList: [], + info: {} + }, + + mutations: { + SET_TOKEN: (state, token) => { + state.token = token + }, + SET_NAME: (state, { username, realname, welcome }) => { + state.username = username + state.realname = realname + state.welcome = welcome + }, + SET_AVATAR: (state, avatar) => { + state.avatar = avatar + }, + SET_PERMISSIONLIST: (state, permissionList) => { + state.permissionList = permissionList + }, + SET_INFO: (state, info) => { + state.info = info + }, + SET_TENANT: (state, id) => { + state.tenantid = id + }, + }, + + actions: { + // CAS验证登录 + ValidateLogin({ commit }, userInfo) { + return new Promise((resolve, reject) => { + getAction("/sys/cas/client/validateLogin",userInfo).then(response => { + console.log("----cas 登录--------",response); + if(response.success){ + const result = response.result + const userInfo = result.userInfo + Vue.ls.set(ACCESS_TOKEN, result.token, 7 * 24 * 60 * 60 * 1000) + Vue.ls.set(USER_NAME, userInfo.username, 7 * 24 * 60 * 60 * 1000) + Vue.ls.set(USER_INFO, userInfo, 7 * 24 * 60 * 60 * 1000) + commit('SET_TOKEN', result.token) + commit('SET_INFO', userInfo) + commit('SET_NAME', { username: userInfo.username,realname: userInfo.realname, welcome: welcome() }) + commit('SET_AVATAR', userInfo.avatar) + resolve(response) + }else{ + resolve(response) + } + }).catch(error => { + reject(error) + }) + }) + }, + // 登录 + Login({ commit }, userInfo) { + return new Promise((resolve, reject) => { + login(userInfo).then(response => { + if(response.code =='200'){ + const result = response.result + const userInfo = result.userInfo + Vue.ls.set(ACCESS_TOKEN, result.token, 7 * 24 * 60 * 60 * 1000) + Vue.ls.set(USER_NAME, userInfo.username, 7 * 24 * 60 * 60 * 1000) + Vue.ls.set(USER_INFO, userInfo, 7 * 24 * 60 * 60 * 1000) + Vue.ls.set(UI_CACHE_DB_DICT_DATA, result.sysAllDictItems, 7 * 24 * 60 * 60 * 1000) + commit('SET_TOKEN', result.token) + commit('SET_INFO', userInfo) + commit('SET_NAME', { username: userInfo.username,realname: userInfo.realname, welcome: welcome() }) + commit('SET_AVATAR', userInfo.avatar) + resolve(response) + }else{ + reject(response) + } + }).catch(error => { + reject(error) + }) + }) + }, + //手机号登录 + PhoneLogin({ commit }, userInfo) { + return new Promise((resolve, reject) => { + phoneLogin(userInfo).then(response => { + if(response.code =='200'){ + const result = response.result + const userInfo = result.userInfo + Vue.ls.set(ACCESS_TOKEN, result.token, 7 * 24 * 60 * 60 * 1000) + Vue.ls.set(USER_NAME, userInfo.username, 7 * 24 * 60 * 60 * 1000) + Vue.ls.set(USER_INFO, userInfo, 7 * 24 * 60 * 60 * 1000) + Vue.ls.set(UI_CACHE_DB_DICT_DATA, result.sysAllDictItems, 7 * 24 * 60 * 60 * 1000) + commit('SET_TOKEN', result.token) + commit('SET_INFO', userInfo) + commit('SET_NAME', { username: userInfo.username,realname: userInfo.realname, welcome: welcome() }) + commit('SET_AVATAR', userInfo.avatar) + resolve(response) + }else{ + reject(response) + } + }).catch(error => { + reject(error) + }) + }) + }, + // 获取用户信息 + GetPermissionList({ commit }) { + return new Promise((resolve, reject) => { + queryPermissionsByUser().then(response => { + // 路由菜单数组--前端维护菜单数据 + const menuData = [ + { + "redirect": null, + "path": "/dashboard/analysis", + "component": "dashboard/Analysis", + "route": "1", + "meta": { + "icon": "home", // 菜单前图标 + "componentName": "Analysis", + "title": "首页" // 菜单名称 + }, + "name": "dashboard-analysis", + "id": "1" + } + ] + const authData = []; + const allAuthData = []; + //Vue.ls.set(USER_AUTH,authData); + sessionStorage.setItem(USER_AUTH,JSON.stringify(authData)); + sessionStorage.setItem(SYS_BUTTON_AUTH,JSON.stringify(allAuthData)); + if (menuData && menuData.length > 0) { + //update--begin--autor:qinfeng-----date:20200109------for:JEECG-63 一级菜单的子菜单全部是隐藏路由,则一级菜单不显示------ + menuData.forEach((item, index) => { + if (item["children"]) { + let hasChildrenMenu = item["children"].filter((i) => { + return !i.hidden || i.hidden == false + }) + if (hasChildrenMenu == null || hasChildrenMenu.length == 0) { + item["hidden"] = true + } + } + }) + //console.log(" menu show json ", menuData) + //update--end--autor:qinfeng-----date:20200109------for:JEECG-63 一级菜单的子菜单全部是隐藏路由,则一级菜单不显示------ + commit('SET_PERMISSIONLIST', menuData) + } else { + reject('getPermissionList: permissions must be a non-null array !') + } + resolve(response) + }).catch(error => { + reject(error) + }) + }) + }, + + // 登出 + Logout({ commit, state }) { + return new Promise((resolve) => { + let logoutToken = state.token; + commit('SET_TOKEN', '') + commit('SET_PERMISSIONLIST', []) + Vue.ls.remove(ACCESS_TOKEN) + Vue.ls.remove(USER_INFO) + Vue.ls.remove(USER_NAME) + Vue.ls.remove(UI_CACHE_DB_DICT_DATA) + Vue.ls.remove(CACHE_INCLUDED_ROUTES) + //console.log('logoutToken: '+ logoutToken) + logout(logoutToken).then(() => { + if (process.env.VUE_APP_SSO == 'true') { + let sevice = 'http://' + window.location.host + '/' + let serviceUrl = encodeURIComponent(sevice) + window.location.href = process.env.VUE_APP_CAS_BASE_URL + '/logout?service=' + serviceUrl + } + resolve() + }).catch(() => { + resolve() + }) + }) + }, + // 第三方登录 + ThirdLogin({ commit }, param) { + return new Promise((resolve, reject) => { + thirdLogin(param.token,param.thirdType).then(response => { + if(response.code =='200'){ + const result = response.result + const userInfo = result.userInfo + Vue.ls.set(ACCESS_TOKEN, result.token, 7 * 24 * 60 * 60 * 1000) + Vue.ls.set(USER_NAME, userInfo.username, 7 * 24 * 60 * 60 * 1000) + Vue.ls.set(USER_INFO, userInfo, 7 * 24 * 60 * 60 * 1000) + commit('SET_TOKEN', result.token) + commit('SET_INFO', userInfo) + commit('SET_NAME', { username: userInfo.username,realname: userInfo.realname, welcome: welcome() }) + commit('SET_AVATAR', userInfo.avatar) + resolve(response) + }else{ + reject(response) + } + }).catch(error => { + reject(error) + }) + }) + }, + saveTenant({ commit }, id){ + Vue.ls.set(TENANT_ID, id, 7 * 24 * 60 * 60 * 1000) + commit('SET_TENANT', id) + } + + + } +} + +export default user \ No newline at end of file diff --git a/src/store/mutation-types.js b/src/store/mutation-types.js new file mode 100644 index 0000000..f58bdd9 --- /dev/null +++ b/src/store/mutation-types.js @@ -0,0 +1,27 @@ +export const ACCESS_TOKEN = 'Access-Token' +export const SIDEBAR_TYPE = 'SIDEBAR_TYPE' +export const DEFAULT_THEME = 'DEFAULT_THEME' +export const DEFAULT_LAYOUT_MODE = 'DEFAULT_LAYOUT_MODE' +export const DEFAULT_COLOR = 'DEFAULT_COLOR' +export const DEFAULT_COLOR_WEAK = 'DEFAULT_COLOR_WEAK' +export const DEFAULT_FIXED_HEADER = 'DEFAULT_FIXED_HEADER' +export const DEFAULT_FIXED_SIDEMENU= 'DEFAULT_FIXED_SIDEMENU' +export const DEFAULT_FIXED_HEADER_HIDDEN = 'DEFAULT_FIXED_HEADER_HIDDEN' +export const DEFAULT_CONTENT_WIDTH_TYPE = 'DEFAULT_CONTENT_WIDTH_TYPE' +export const DEFAULT_MULTI_PAGE = 'DEFAULT_MULTI_PAGE' +export const USER_NAME = 'Login_Username' +export const USER_INFO = 'Login_Userinfo' +export const USER_AUTH = 'LOGIN_USER_BUTTON_AUTH' +export const SYS_BUTTON_AUTH = 'SYS_BUTTON_AUTH' +export const ENCRYPTED_STRING = 'ENCRYPTED_STRING' +export const ENHANCE_PRE = 'enhance_' +export const UI_CACHE_DB_DICT_DATA = 'UI_CACHE_DB_DICT_DATA' +export const INDEX_MAIN_PAGE_PATH = '/dashboard/analysis' +export const TENANT_ID = 'TENANT_ID' +export const ONL_AUTH_FIELDS = 'ONL_AUTH_FIELDS' +//路由缓存问题,关闭了tab页时再打开就不刷新 #842 +export const CACHE_INCLUDED_ROUTES = 'CACHE_INCLUDED_ROUTES' +export const CONTENT_WIDTH_TYPE = { + Fluid: 'Fluid', + Fixed: 'Fixed' +} \ No newline at end of file diff --git a/src/utils/JEditableTableUtil.js b/src/utils/JEditableTableUtil.js new file mode 100644 index 0000000..d18d858 --- /dev/null +++ b/src/utils/JEditableTableUtil.js @@ -0,0 +1,122 @@ +import { getVmParentByName } from '@/utils/util' + +const FormTypes = { + normal: 'normal', + input: 'input', + inputNumber: 'inputNumber', + checkbox: 'checkbox', + select: 'select', + date: 'date', + datetime: 'datetime', + upload: 'upload', + file: 'file', + image: 'image', + popup:'popup', + list_multi:"list_multi", + sel_search:"sel_search", + radio:'radio', + checkbox_meta:"checkbox_meta", + input_pop:'input_pop', + sel_depart: 'sel_depart', + sel_user: 'sel_user', + slot: 'slot', + hidden: 'hidden' +} +const VALIDATE_NO_PASSED = Symbol() +export { FormTypes, VALIDATE_NO_PASSED } + +/** + * 获取指定的 $refs 对象 + * 有时候可能会遇到组件未挂载到页面中的情况,导致无法获取 $refs 中的某个对象 + * 这个方法可以等待挂载完成之后再返回 $refs 的对象,避免报错 + * @author sunjianlei + **/ +export function getRefPromise(vm, name) { + return new Promise((resolve) => { + (function next() { + let ref = vm.$refs[name] + if (ref) { + resolve(ref) + } else { + setTimeout(() => { + next() + }, 10) + } + })() + }) +} + +/** + * 一次性验证主表单和所有的次表单 + * @param form 主表单 form 对象 + * @param cases 接收一个数组,每项都是一个JEditableTable实例 + * @returns {Promise} + * @author sunjianlei + */ +export function validateFormAndTables(form, cases) { + + if (!(form && typeof form.validateFields === 'function')) { + throw `form 参数需要的是一个form对象,而传入的却是${typeof form}` + } + + let options = {} + return new Promise((resolve, reject) => { + // 验证主表表单 + form.validateFields((err, values) => { + err ? reject({ error: VALIDATE_NO_PASSED }) : resolve(values) + }) + }).then(values => { + Object.assign(options, { formValue: values }) + // 验证所有子表的表单 + return validateTables(cases) + }).then(all => { + Object.assign(options, { tablesValue: all }) + return Promise.resolve(options) + }).catch(error => { + return Promise.reject(error) + }) + +} + +/** + * 验证并获取一个或多个表格的所有值 + * @param cases 接收一个数组,每项都是一个JEditableTable实例 + * @param deleteTempId 是否删除临时ID,如果设为true,行编辑就不返回新增行的ID,ID需要后台生成 + * @author sunjianlei + */ +export function validateTables(cases, deleteTempId) { + if (!(cases instanceof Array)) { + throw `'validateTables'函数的'cases'参数需要的是一个数组,而传入的却是${typeof cases}` + } + return new Promise((resolve, reject) => { + let tables = [] + let index = 0; + if(!cases || cases.length === 0){ + resolve() + } + (function next() { + let vm = cases[index] + vm.getAll(true, deleteTempId).then(all => { + tables[index] = all + // 判断校验是否全部完成,完成返回成功,否则继续进行下一步校验 + if (++index === cases.length) { + resolve(tables) + } else ( + next() + ) + }, error => { + // 出现未验证通过的表单,不再进行下一步校验,直接返回失败并跳转到该表格 + if (error === VALIDATE_NO_PASSED) { + // 尝试获取tabKey,如果在ATab组件内即可获取 + let paneKey; + let tabPane = getVmParentByName(vm, 'ATabPane') + if (tabPane) { + paneKey = tabPane.$vnode.key + } + reject({error: VALIDATE_NO_PASSED, index, paneKey}) + } + reject(error) + }) + })() + }) +} \ No newline at end of file diff --git a/src/utils/LunarFullCalendarUtil.js b/src/utils/LunarFullCalendarUtil.js new file mode 100644 index 0000000..e68eb63 --- /dev/null +++ b/src/utils/LunarFullCalendarUtil.js @@ -0,0 +1,107 @@ +/** + * LunarFullCalendar 公共 js + * + * @version 1.0.0 + * @author sunjianlei + * + * */ + +import { getRefPromise } from '@/utils/JEditableTableUtil' + +/* 日历的视图类型 */ +const calendarViewType = { + month: 'month', // 月视图 + basicWeek: 'basicWeek', // 基础周视图 + basicDay: 'basicDay',// 基础天视图 + agendaWeek: 'agendaWeek', // 议程周视图 + agendaDay: 'agendaDay', // 议程天视图 +} + +/* 定义默认视图 */ +const defaultView = calendarViewType.month + +/* 定义日历默认配置 */ +const defaultSettings = { + locale: 'zh-cn', + // 按钮文字 + buttonText: { + today: '今天', + month: '月', + week: '周', + day: '日' + }, + // 头部排列方式 + header: { + left: 'prev,next, today', + center: 'title', + right: 'hide, custom, month,agendaWeek,agendaDay' + }, + //点击今天日列表图 + eventLimitClick: 'day', + // 隐藏超出的事件 + eventLimit: true, + // 设置每周开始日期为周日 + firstDay: 0, + // 默认显示视图 + defaultView, + timeFormat: 'H:mm', + axisFormat: 'H:mm', + // agenda视图下是否显示all-day + allDaySlot: true, + // agenda视图下all-day的显示文本 + allDayText: '全天', + // 时区默认本地的 + timezone: 'local', + // 周视图和日视同的左侧时间显示 + slotLabelFormat: 'HH:mm', + // 设置第二天阈值 + nextDayThreshold: '00:00:00', +} + +/** 提供了一些增强方法 */ +const CalendarMixins = { + data() { + return { + calenderCurrentViewType: defaultView + } + }, + methods: { + + getCalendarConfigEventHandler() { + return { + // 处理 view changed 事件 + viewRender: (view, element) => { + let { type } = view + + let lastViewType = this.calenderCurrentViewType + this.calenderCurrentViewType = type + + if (typeof this.handleViewRender === 'function') { + this.handleViewRender(type, view, element) + } + + if (lastViewType !== this.calenderCurrentViewType && typeof this.handleViewChanged === 'function') { + this.handleViewChanged(type, view, element) + } + + }, + } + }, + + /** 获取 LunarFullCalendar 实例,ref = baseCalendar */ + getCalendar(fn) { + return getRefPromise(this, 'baseCalendar').then(fn) + }, + + calendarEmit(name, data) { + this.getCalendar(ref => ref.$emit(name, data)) + }, + + /** 强制重新加载所有的事件(日程)*/ + calendarReloadEvents() { + this.calendarEmit('reload-events') + } + } +} + +export { defaultSettings, calendarViewType, CalendarMixins } \ No newline at end of file diff --git a/src/utils/authFilter.js b/src/utils/authFilter.js new file mode 100644 index 0000000..748a8d4 --- /dev/null +++ b/src/utils/authFilter.js @@ -0,0 +1,277 @@ +import { USER_AUTH,SYS_BUTTON_AUTH } from "@/store/mutation-types" + +export function disabledAuthFilter(code,formData) { + if(nodeDisabledAuth(code,formData)){ + return true; + }else{ + return globalDisabledAuth(code); + } +} + +function nodeDisabledAuth(code,formData){ + console.log("页面权限禁用--NODE--开始"); + let permissionList = []; + try { + console.log("页面权限禁用--NODE--开始",formData); + if (formData) { + let bpmList = formData.permissionList; + permissionList = bpmList.filter(item=>item.type=='2') + // for (let bpm of bpmList) { + // if(bpm.type == '2') { + // permissionList.push(bpm); + // } + // } + }else{ + return false; + } + } catch (e) { + //console.log("页面权限异常----", e); + } + if (permissionList.length == 0) { + return false; + } + + console.log("流程节点页面权限禁用--NODE--开始"); + let permissions = []; + for (let item of permissionList) { + if(item.type == '2') { + permissions.push(item.action); + } + } + //console.log("页面权限----"+code); + if (!permissions.includes(code)) { + return false; + }else{ + for (let item2 of permissionList) { + if(code === item2.action){ + console.log("流程节点页面权限禁用--NODE--生效"); + return true; + } + } + } + return false; +} + +function globalDisabledAuth(code){ + console.log("全局页面禁用权限--Global--开始"); + + let permissionList = []; + let allPermissionList = []; + + //let authList = Vue.ls.get(USER_AUTH); + let authList = JSON.parse(sessionStorage.getItem(USER_AUTH) || "[]"); + for (let auth of authList) { + if(auth.type == '2') { + permissionList.push(auth); + } + } + //console.log("页面禁用权限--Global--",sessionStorage.getItem(SYS_BUTTON_AUTH)); + let allAuthList = JSON.parse(sessionStorage.getItem(SYS_BUTTON_AUTH) || "[]"); + for (let gauth of allAuthList) { + if(gauth.type == '2') { + allPermissionList.push(gauth); + } + } + //设置全局配置是否有命中 + let gFlag = false;//禁用命中 + let invalidFlag = false;//无效命中 + if(allPermissionList != null && allPermissionList != "" && allPermissionList != undefined && allPermissionList.length > 0){ + for (let itemG of allPermissionList) { + if(code === itemG.action){ + if(itemG.status == '0'){ + invalidFlag = true; + break; + }else{ + gFlag = true; + break; + } + } + } + } + if(invalidFlag){ + return false; + } + if (permissionList === null || permissionList === "" || permissionList === undefined||permissionList.length<=0) { + return gFlag; + } + let permissions = []; + for (let item of permissionList) { + if(item.type == '2') { + permissions.push(item.action); + } + } + //console.log("页面禁用权限----"+code); + if (!permissions.includes(code)) { + return gFlag; + }else{ + for (let item2 of permissionList) { + if(code === item2.action){ + console.log("全局页面权限解除禁用--Global--生效"); + gFlag = false; + } + } + return gFlag; + } +} + + + +export function colAuthFilter(columns,pre) { + let authList = getNoAuthCols(pre); + const cols = columns.filter(item => { + if (hasColoum(item,authList)) { + return true + } + return false + }) + return cols +} + +/** + * 【子表行编辑】实现两个功能: + * 1、隐藏JEditableTable无权限的字段 + * 2、禁用JEditableTable无权限的字段 + * @param columns + * @param pre + * @returns {*} + */ +export function colAuthFilterJEditableTable(columns,pre) { + let authList = getAllShowAndDisabledAuthCols(pre); + const cols = columns.filter(item => { + let oneAuth = authList.find(auth => { + return auth.action === pre + item.key; + }); + if(!oneAuth){ + return true + } + + //代码严谨处理,防止一个授权标识,配置多次 + if(oneAuth instanceof Array){ + oneAuth = oneAuth[0] + } + + //禁用逻辑 + if (oneAuth.type == '2' && !oneAuth.isAuth) { + item["disabled"] = true + return true + } + //隐藏逻辑逻辑 + if (oneAuth.type == '1' && !oneAuth.isAuth) { + return false + } + return true + }) + return cols +} + + +function hasColoum(item,authList){ + if (authList.includes(item.dataIndex)) { + return false + } + return true +} + +//权限无效时不做控制,有效时控制,只能控制 显示不显示 +//根据授权码前缀获取未授权的列信息 +export function getNoAuthCols(pre){ + if(!pre || pre.length==0){ + return [] + } + let permissionList = []; + let allPermissionList = []; + + //let authList = Vue.ls.get(USER_AUTH); + let authList = JSON.parse(sessionStorage.getItem(USER_AUTH) || "[]"); + for (let auth of authList) { + //显示策略,有效状态 + if(auth.type == '1'&&startWith(auth.action,pre)) { + permissionList.push(substrPre(auth.action,pre)); + } + } + //console.log("页面禁用权限--Global--",sessionStorage.getItem(SYS_BUTTON_AUTH)); + let allAuthList = JSON.parse(sessionStorage.getItem(SYS_BUTTON_AUTH) || "[]"); + for (let gauth of allAuthList) { + //显示策略,有效状态 + if(gauth.type == '1'&&gauth.status == '1'&&startWith(gauth.action,pre)) { + allPermissionList.push(substrPre(gauth.action,pre)); + } + } + const cols = allPermissionList.filter(item => { + if (permissionList.includes(item)) { + return false; + } + return true; + }) + return cols; +} + +/** + * 将Online的行编辑按钮权限,添加至本地存储 + */ +export function addOnlineBtAuth2Storage(pre, authList){ + let allAuthList = JSON.parse(sessionStorage.getItem(SYS_BUTTON_AUTH) || "[]"); + let newAuthList = allAuthList.filter(item=>{ + if(!item.action){ + return true + } + return item.action.indexOf(pre)<0 + }) + if(authList && authList.length>0){ + for(let item of authList){ + newAuthList.push({ + action: pre+item, + type:1, + status:1 + }) + } + let temp = JSON.parse(sessionStorage.getItem(USER_AUTH) || "[]"); + let newArr = temp.filter(item=>{ + if(!item.action){ + return true + } + return item.action.indexOf(pre)<0 || authList.indexOf(item.action.replace(pre, ''))<0 + }) + sessionStorage.setItem(USER_AUTH, JSON.stringify(newArr)) + } + sessionStorage.setItem(SYS_BUTTON_AUTH, JSON.stringify(newAuthList)) +} + + + +/** + * 额外增加方法【用于行编辑组件】 + * date: 2020-04-05 + * author: scott + * @param pre + * @returns {*[]} + */ +function getAllShowAndDisabledAuthCols(pre){ + //用户拥有的权限 + let userAuthList = JSON.parse(sessionStorage.getItem(USER_AUTH) || "[]"); + //全部权限配置 + let allAuthList = JSON.parse(sessionStorage.getItem(SYS_BUTTON_AUTH) || "[]"); + + let newAllAuthList = allAuthList.map(function (item, index) { + let hasAuthArray = userAuthList.filter(u => u.action===item.action ); + if (hasAuthArray && hasAuthArray.length>0) { + item["isAuth"] = true + } + return item; + }) + + return newAllAuthList; +} + +function startWith(str,pre) { + if (pre == null || pre == "" || str==null|| str==""|| str.length == 0 || pre.length > str.length) + return false; + if (str.substr(0, pre.length) == pre) + return true; + else + return false; +} + +function substrPre(str,pre) { + return str.substr(pre.length); +} \ No newline at end of file diff --git a/src/utils/axios.js b/src/utils/axios.js new file mode 100644 index 0000000..de27d4c --- /dev/null +++ b/src/utils/axios.js @@ -0,0 +1,37 @@ +const VueAxios = { + vm: {}, + // eslint-disable-next-line no-unused-vars + install(Vue, router = {}, instance) { + if (this.installed) { + return; + } + this.installed = true; + + if (!instance) { + // eslint-disable-next-line no-console + console.error('You have to install axios'); + return; + } + + Vue.axios = instance; + + Object.defineProperties(Vue.prototype, { + axios: { + get: function get() { + return instance; + } + }, + $http: { + get: function get() { + return instance; + } + } + }); + } +}; + +export { + VueAxios, + // eslint-disable-next-line no-undef + //instance as axios +} \ No newline at end of file diff --git a/src/utils/browser.js b/src/utils/browser.js new file mode 100644 index 0000000..97f232e --- /dev/null +++ b/src/utils/browser.js @@ -0,0 +1,38 @@ +//判断是否IE<11浏览器 +export function isIE() { + return navigator.userAgent.indexOf('compatible') > -1 && navigator.userAgent.indexOf('MSIE') > -1 + +} + +export function isIE11() { + return navigator.userAgent.indexOf('Trident') > -1 && navigator.userAgent.indexOf('rv:11.0') > -1 +} + +//判断是否IE的Edge浏览器 +export function isEdge() { + return navigator.userAgent.indexOf('Edge') > -1 && !isIE() +} + +export function getIEVersion() { + let userAgent = navigator.userAgent //取得浏览器的userAgent字符串 + let isIE = isIE() + let isIE11 = isIE11() + let isEdge = isEdge() + + if (isIE) { + let reIE = new RegExp('MSIE (\\d+\\.\\d+);') + reIE.test(userAgent) + let fIEVersion = parseFloat(RegExp['$1']) + if (fIEVersion === 7 || fIEVersion === 8 || fIEVersion === 9 || fIEVersion === 10) { + return fIEVersion + } else { + return 6//IE版本<7 + } + } else if (isEdge) { + return 'edge' + } else if (isIE11) { + return 11 + } else { + return -1 + } +} \ No newline at end of file diff --git a/src/utils/commonUploadFile.js b/src/utils/commonUploadFile.js new file mode 100644 index 0000000..eaa6dbb --- /dev/null +++ b/src/utils/commonUploadFile.js @@ -0,0 +1,52 @@ +import { getFileAccessHttpUrl } from '@/api/manage' +const getFileName=(path)=>{ + if(path.lastIndexOf("\\")>=0){ + let reg=new RegExp("\\\\","g"); + path = path.replace(reg,"/"); + } + return path.substring(path.lastIndexOf("/")+1); +} + +const uidGenerator=()=>{ + return '-'+parseInt(Math.random()*10000+1,10); +} + +const getFilePaths=(uploadFiles)=>{ + let arr = []; + if(!uploadFiles){ + return "" + } + for(let a=0;a0){ + return arr.join(",") + } + return "" +} + +const getUploadFileList=(paths)=>{ + if(!paths){ + return []; + } + let fileList = []; + let arr = paths.split(",") + for(let a=0;a content(arg) + ' | 北京市'; // export 箭头函数也可以 +* +*/ + +/** 字段默认值官方示例:获取地址 */ +export function demoFieldDefVal_getAddress(arg) { + if (!arg) { + arg = '朝阳区' + } + return `北京市 ${arg}` +} \ No newline at end of file diff --git a/src/utils/device.js b/src/utils/device.js new file mode 100644 index 0000000..6bf15fc --- /dev/null +++ b/src/utils/device.js @@ -0,0 +1,23 @@ +import enquireJs from 'enquire.js' + +const enquireScreen = function (call) { + // tablet + const handler = { + match: function () { + call && call(0) + }, + unmatch: function () { + call && call(-1) + } + } + // mobile + const handler2 = { + match: () => { + call && call(1) + } + } + enquireJs.register('screen and (max-width: 1087.99px)', handler) + enquireJs.register('screen and (max-width: 767.99px)', handler2) +} + +export default enquireScreen \ No newline at end of file diff --git a/src/utils/encryption/aesEncrypt.js b/src/utils/encryption/aesEncrypt.js new file mode 100644 index 0000000..07638cf --- /dev/null +++ b/src/utils/encryption/aesEncrypt.js @@ -0,0 +1,6003 @@ +import { getAction } from '@/api/manage' +import { ENCRYPTED_STRING } from "@/store/mutation-types" +import Vue from 'vue' + +/** + * 获取加密字符串,并对结果进行缓存 + */ +export function getEncryptedString() { + return getAction("/sys/getEncryptedString",{}).then((res)=>{ + let encryptedString = {}; + encryptedString.key = res.result.key; + encryptedString.iv = res.result.iv; + Vue.ls.set(ENCRYPTED_STRING, encryptedString, 7 * 24 * 60 * 60 * 1000); + return encryptedString; + }); +} + +/** + * AES加密 :字符串 key iv 返回base64 + */ +export function encryption(word, keyStr, ivStr) { + + let key = CryptoJS.enc.Utf8.parse(keyStr) + let iv = CryptoJS.enc.Utf8.parse(ivStr) + + let srcs = CryptoJS.enc.Utf8.parse(word); + var encrypted = CryptoJS.AES.encrypt(srcs, key, { + iv: iv, + mode: CryptoJS.mode.CBC, + padding: CryptoJS.pad.ZeroPadding + }); + // console.log("-=-=-=-", encrypted.ciphertext) + return CryptoJS.enc.Base64.stringify(encrypted.ciphertext); + +} + + +var CryptoJS = CryptoJS || (function (Math, undefined) { + /* + * Local polyfil of Object.create + */ + var create = Object.create || (function () { + function F() {}; + + return function (obj) { + var subtype; + + F.prototype = obj; + + subtype = new F(); + + F.prototype = null; + + return subtype; + }; + }()) + + /** + * CryptoJS namespace. + */ + var C = {}; + + /** + * Library namespace. + */ + var C_lib = C.lib = {}; + + /** + * Base object for prototypal inheritance. + */ + var Base = C_lib.Base = (function () { + + + return { + /** + * Creates a new object that inherits from this object. + * + * @param {Object} overrides Properties to copy into the new object. + * + * @return {Object} The new object. + * + * @static + * + * @example + * + * var MyType = CryptoJS.lib.Base.extend({ + * field: 'value', + * + * method: function () { + * } + * }); + */ + extend: function (overrides) { + // Spawn + var subtype = create(this); + + // Augment + if (overrides) { + subtype.mixIn(overrides); + } + + // Create default initializer + if (!subtype.hasOwnProperty('init') || this.init === subtype.init) { + subtype.init = function () { + subtype.$super.init.apply(this, arguments); + }; + } + + // Initializer's prototype is the subtype object + subtype.init.prototype = subtype; + + // Reference supertype + subtype.$super = this; + + return subtype; + }, + + /** + * Extends this object and runs the init method. + * Arguments to create() will be passed to init(). + * + * @return {Object} The new object. + * + * @static + * + * @example + * + * var instance = MyType.create(); + */ + create: function () { + var instance = this.extend(); + instance.init.apply(instance, arguments); + + return instance; + }, + + /** + * Initializes a newly created object. + * Override this method to add some logic when your objects are created. + * + * @example + * + * var MyType = CryptoJS.lib.Base.extend({ + * init: function () { + * // ... + * } + * }); + */ + init: function () { + }, + + /** + * Copies properties into this object. + * + * @param {Object} properties The properties to mix in. + * + * @example + * + * MyType.mixIn({ + * field: 'value' + * }); + */ + mixIn: function (properties) { + for (var propertyName in properties) { + if (properties.hasOwnProperty(propertyName)) { + this[propertyName] = properties[propertyName]; + } + } + + // IE won't copy toString using the loop above + if (properties.hasOwnProperty('toString')) { + this.toString = properties.toString; + } + }, + + /** + * Creates a copy of this object. + * + * @return {Object} The clone. + * + * @example + * + * var clone = instance.clone(); + */ + clone: function () { + return this.init.prototype.extend(this); + } + }; + }()); + + /** + * An array of 32-bit words. + * + * @property {Array} words The array of 32-bit words. + * @property {number} sigBytes The number of significant bytes in this word array. + */ + var WordArray = C_lib.WordArray = Base.extend({ + /** + * Initializes a newly created word array. + * + * @param {Array} words (Optional) An array of 32-bit words. + * @param {number} sigBytes (Optional) The number of significant bytes in the words. + * + * @example + * + * var wordArray = CryptoJS.lib.WordArray.create(); + * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607]); + * var wordArray = CryptoJS.lib.WordArray.create([0x00010203, 0x04050607], 6); + */ + init: function (words, sigBytes) { + words = this.words = words || []; + + if (sigBytes != undefined) { + this.sigBytes = sigBytes; + } else { + this.sigBytes = words.length * 4; + } + }, + + /** + * Converts this word array to a string. + * + * @param {Encoder} encoder (Optional) The encoding strategy to use. Default: CryptoJS.enc.Hex + * + * @return {string} The stringified word array. + * + * @example + * + * var string = wordArray + ''; + * var string = wordArray.toString(); + * var string = wordArray.toString(CryptoJS.enc.Utf8); + */ + toString: function (encoder) { + return (encoder || Hex).stringify(this); + }, + + /** + * Concatenates a word array to this word array. + * + * @param {WordArray} wordArray The word array to append. + * + * @return {WordArray} This word array. + * + * @example + * + * wordArray1.concat(wordArray2); + */ + concat: function (wordArray) { + // Shortcuts + var thisWords = this.words; + var thatWords = wordArray.words; + var thisSigBytes = this.sigBytes; + var thatSigBytes = wordArray.sigBytes; + + // Clamp excess bits + this.clamp(); + + // Concat + if (thisSigBytes % 4) { + // Copy one byte at a time + for (var i = 0; i < thatSigBytes; i++) { + var thatByte = (thatWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff; + thisWords[(thisSigBytes + i) >>> 2] |= thatByte << (24 - ((thisSigBytes + i) % 4) * 8); + } + } else { + // Copy one word at a time + for (var i = 0; i < thatSigBytes; i += 4) { + thisWords[(thisSigBytes + i) >>> 2] = thatWords[i >>> 2]; + } + } + this.sigBytes += thatSigBytes; + + // Chainable + return this; + }, + + /** + * Removes insignificant bits. + * + * @example + * + * wordArray.clamp(); + */ + clamp: function () { + // Shortcuts + var words = this.words; + var sigBytes = this.sigBytes; + + // Clamp + words[sigBytes >>> 2] &= 0xffffffff << (32 - (sigBytes % 4) * 8); + words.length = Math.ceil(sigBytes / 4); + }, + + /** + * Creates a copy of this word array. + * + * @return {WordArray} The clone. + * + * @example + * + * var clone = wordArray.clone(); + */ + clone: function () { + var clone = Base.clone.call(this); + clone.words = this.words.slice(0); + + return clone; + }, + + /** + * Creates a word array filled with random bytes. + * + * @param {number} nBytes The number of random bytes to generate. + * + * @return {WordArray} The random word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.lib.WordArray.random(16); + */ + random: function (nBytes) { + var words = []; + + var r = (function (m_w) { + var m_w = m_w; + var m_z = 0x3ade68b1; + var mask = 0xffffffff; + + return function () { + m_z = (0x9069 * (m_z & 0xFFFF) + (m_z >> 0x10)) & mask; + m_w = (0x4650 * (m_w & 0xFFFF) + (m_w >> 0x10)) & mask; + var result = ((m_z << 0x10) + m_w) & mask; + result /= 0x100000000; + result += 0.5; + return result * (Math.random() > .5 ? 1 : -1); + } + }); + + for (var i = 0, rcache; i < nBytes; i += 4) { + var _r = r((rcache || Math.random()) * 0x100000000); + + rcache = _r() * 0x3ade67b7; + words.push((_r() * 0x100000000) | 0); + } + + return new WordArray.init(words, nBytes); + } + }); + + /** + * Encoder namespace. + */ + var C_enc = C.enc = {}; + + /** + * Hex encoding strategy. + */ + var Hex = C_enc.Hex = { + /** + * Converts a word array to a hex string. + * + * @param {WordArray} wordArray The word array. + * + * @return {string} The hex string. + * + * @static + * + * @example + * + * var hexString = CryptoJS.enc.Hex.stringify(wordArray); + */ + stringify: function (wordArray) { + // Shortcuts + var words = wordArray.words; + var sigBytes = wordArray.sigBytes; + + // Convert + var hexChars = []; + for (var i = 0; i < sigBytes; i++) { + var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff; + hexChars.push((bite >>> 4).toString(16)); + hexChars.push((bite & 0x0f).toString(16)); + } + + return hexChars.join(''); + }, + + /** + * Converts a hex string to a word array. + * + * @param {string} hexStr The hex string. + * + * @return {WordArray} The word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.enc.Hex.parse(hexString); + */ + parse: function (hexStr) { + // Shortcut + var hexStrLength = hexStr.length; + + // Convert + var words = []; + for (var i = 0; i < hexStrLength; i += 2) { + words[i >>> 3] |= parseInt(hexStr.substr(i, 2), 16) << (24 - (i % 8) * 4); + } + + return new WordArray.init(words, hexStrLength / 2); + } + }; + + /** + * Latin1 encoding strategy. + */ + var Latin1 = C_enc.Latin1 = { + /** + * Converts a word array to a Latin1 string. + * + * @param {WordArray} wordArray The word array. + * + * @return {string} The Latin1 string. + * + * @static + * + * @example + * + * var latin1String = CryptoJS.enc.Latin1.stringify(wordArray); + */ + stringify: function (wordArray) { + // Shortcuts + var words = wordArray.words; + var sigBytes = wordArray.sigBytes; + + // Convert + var latin1Chars = []; + for (var i = 0; i < sigBytes; i++) { + var bite = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff; + latin1Chars.push(String.fromCharCode(bite)); + } + + return latin1Chars.join(''); + }, + + /** + * Converts a Latin1 string to a word array. + * + * @param {string} latin1Str The Latin1 string. + * + * @return {WordArray} The word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.enc.Latin1.parse(latin1String); + */ + parse: function (latin1Str) { + // Shortcut + var latin1StrLength = latin1Str.length; + + // Convert + var words = []; + for (var i = 0; i < latin1StrLength; i++) { + words[i >>> 2] |= (latin1Str.charCodeAt(i) & 0xff) << (24 - (i % 4) * 8); + } + + return new WordArray.init(words, latin1StrLength); + } + }; + + /** + * UTF-8 encoding strategy. + */ + var Utf8 = C_enc.Utf8 = { + /** + * Converts a word array to a UTF-8 string. + * + * @param {WordArray} wordArray The word array. + * + * @return {string} The UTF-8 string. + * + * @static + * + * @example + * + * var utf8String = CryptoJS.enc.Utf8.stringify(wordArray); + */ + stringify: function (wordArray) { + try { + return decodeURIComponent(escape(Latin1.stringify(wordArray))); + } catch (e) { + throw new Error('Malformed UTF-8 data'); + } + }, + + /** + * Converts a UTF-8 string to a word array. + * + * @param {string} utf8Str The UTF-8 string. + * + * @return {WordArray} The word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.enc.Utf8.parse(utf8String); + */ + parse: function (utf8Str) { + return Latin1.parse(unescape(encodeURIComponent(utf8Str))); + } + }; + + /** + * Abstract buffered block algorithm template. + * + * The property blockSize must be implemented in a concrete subtype. + * + * @property {number} _minBufferSize The number of blocks that should be kept unprocessed in the buffer. Default: 0 + */ + var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm = Base.extend({ + /** + * Resets this block algorithm's data buffer to its initial state. + * + * @example + * + * bufferedBlockAlgorithm.reset(); + */ + reset: function () { + // Initial values + this._data = new WordArray.init(); + this._nDataBytes = 0; + }, + + /** + * Adds new data to this block algorithm's buffer. + * + * @param {WordArray|string} data The data to append. Strings are converted to a WordArray using UTF-8. + * + * @example + * + * bufferedBlockAlgorithm._append('data'); + * bufferedBlockAlgorithm._append(wordArray); + */ + _append: function (data) { + // Convert string to WordArray, else assume WordArray already + if (typeof data == 'string') { + data = Utf8.parse(data); + } + + // Append + this._data.concat(data); + this._nDataBytes += data.sigBytes; + }, + + /** + * Processes available data blocks. + * + * This method invokes _doProcessBlock(offset), which must be implemented by a concrete subtype. + * + * @param {boolean} doFlush Whether all blocks and partial blocks should be processed. + * + * @return {WordArray} The processed data. + * + * @example + * + * var processedData = bufferedBlockAlgorithm._process(); + * var processedData = bufferedBlockAlgorithm._process(!!'flush'); + */ + _process: function (doFlush) { + // Shortcuts + var data = this._data; + var dataWords = data.words; + var dataSigBytes = data.sigBytes; + var blockSize = this.blockSize; + var blockSizeBytes = blockSize * 4; + + // Count blocks ready + var nBlocksReady = dataSigBytes / blockSizeBytes; + if (doFlush) { + // Round up to include partial blocks + nBlocksReady = Math.ceil(nBlocksReady); + } else { + // Round down to include only full blocks, + // less the number of blocks that must remain in the buffer + nBlocksReady = Math.max((nBlocksReady | 0) - this._minBufferSize, 0); + } + + // Count words ready + var nWordsReady = nBlocksReady * blockSize; + + // Count bytes ready + var nBytesReady = Math.min(nWordsReady * 4, dataSigBytes); + + // Process blocks + if (nWordsReady) { + for (var offset = 0; offset < nWordsReady; offset += blockSize) { + // Perform concrete-algorithm logic + this._doProcessBlock(dataWords, offset); + } + + // Remove processed words + var processedWords = dataWords.splice(0, nWordsReady); + data.sigBytes -= nBytesReady; + } + + // Return processed words + return new WordArray.init(processedWords, nBytesReady); + }, + + /** + * Creates a copy of this object. + * + * @return {Object} The clone. + * + * @example + * + * var clone = bufferedBlockAlgorithm.clone(); + */ + clone: function () { + var clone = Base.clone.call(this); + clone._data = this._data.clone(); + + return clone; + }, + + _minBufferSize: 0 + }); + + /** + * Abstract hasher template. + * + * @property {number} blockSize The number of 32-bit words this hasher operates on. Default: 16 (512 bits) + */ + var Hasher = C_lib.Hasher = BufferedBlockAlgorithm.extend({ + /** + * Configuration options. + */ + cfg: Base.extend(), + + /** + * Initializes a newly created hasher. + * + * @param {Object} cfg (Optional) The configuration options to use for this hash computation. + * + * @example + * + * var hasher = CryptoJS.algo.SHA256.create(); + */ + init: function (cfg) { + // Apply config defaults + this.cfg = this.cfg.extend(cfg); + + // Set initial values + this.reset(); + }, + + /** + * Resets this hasher to its initial state. + * + * @example + * + * hasher.reset(); + */ + reset: function () { + // Reset data buffer + BufferedBlockAlgorithm.reset.call(this); + + // Perform concrete-hasher logic + this._doReset(); + }, + + /** + * Updates this hasher with a message. + * + * @param {WordArray|string} messageUpdate The message to append. + * + * @return {Hasher} This hasher. + * + * @example + * + * hasher.update('message'); + * hasher.update(wordArray); + */ + update: function (messageUpdate) { + // Append + this._append(messageUpdate); + + // Update the hash + this._process(); + + // Chainable + return this; + }, + + /** + * Finalizes the hash computation. + * Note that the finalize operation is effectively a destructive, read-once operation. + * + * @param {WordArray|string} messageUpdate (Optional) A final message update. + * + * @return {WordArray} The hash. + * + * @example + * + * var hash = hasher.finalize(); + * var hash = hasher.finalize('message'); + * var hash = hasher.finalize(wordArray); + */ + finalize: function (messageUpdate) { + // Final message update + if (messageUpdate) { + this._append(messageUpdate); + } + + // Perform concrete-hasher logic + var hash = this._doFinalize(); + + return hash; + }, + + blockSize: 512/32, + + /** + * Creates a shortcut function to a hasher's object interface. + * + * @param {Hasher} hasher The hasher to create a helper for. + * + * @return {Function} The shortcut function. + * + * @static + * + * @example + * + * var SHA256 = CryptoJS.lib.Hasher._createHelper(CryptoJS.algo.SHA256); + */ + _createHelper: function (hasher) { + return function (message, cfg) { + return new hasher.init(cfg).finalize(message); + }; + }, + + /** + * Creates a shortcut function to the HMAC's object interface. + * + * @param {Hasher} hasher The hasher to use in this HMAC helper. + * + * @return {Function} The shortcut function. + * + * @static + * + * @example + * + * var HmacSHA256 = CryptoJS.lib.Hasher._createHmacHelper(CryptoJS.algo.SHA256); + */ + _createHmacHelper: function (hasher) { + return function (message, key) { + return new C_algo.HMAC.init(hasher, key).finalize(message); + }; + } + }); + + /** + * Algorithm namespace. + */ + var C_algo = C.algo = {}; + + return C; +}(Math)); + + +(function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + var C_enc = C.enc; + + /** + * Base64 encoding strategy. + */ + var Base64 = C_enc.Base64 = { + /** + * Converts a word array to a Base64 string. + * + * @param {WordArray} wordArray The word array. + * + * @return {string} The Base64 string. + * + * @static + * + * @example + * + * var base64String = CryptoJS.enc.Base64.stringify(wordArray); + */ + stringify: function (wordArray) { + // Shortcuts + var words = wordArray.words; + var sigBytes = wordArray.sigBytes; + var map = this._map; + + // Clamp excess bits + wordArray.clamp(); + + // Convert + var base64Chars = []; + for (var i = 0; i < sigBytes; i += 3) { + var byte1 = (words[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff; + var byte2 = (words[(i + 1) >>> 2] >>> (24 - ((i + 1) % 4) * 8)) & 0xff; + var byte3 = (words[(i + 2) >>> 2] >>> (24 - ((i + 2) % 4) * 8)) & 0xff; + + var triplet = (byte1 << 16) | (byte2 << 8) | byte3; + + for (var j = 0; (j < 4) && (i + j * 0.75 < sigBytes); j++) { + base64Chars.push(map.charAt((triplet >>> (6 * (3 - j))) & 0x3f)); + } + } + + // Add padding + var paddingChar = map.charAt(64); + if (paddingChar) { + while (base64Chars.length % 4) { + base64Chars.push(paddingChar); + } + } + + return base64Chars.join(''); + }, + + /** + * Converts a Base64 string to a word array. + * + * @param {string} base64Str The Base64 string. + * + * @return {WordArray} The word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.enc.Base64.parse(base64String); + */ + parse: function (base64Str) { + // Shortcuts + var base64StrLength = base64Str.length; + var map = this._map; + var reverseMap = this._reverseMap; + + if (!reverseMap) { + reverseMap = this._reverseMap = []; + for (var j = 0; j < map.length; j++) { + reverseMap[map.charCodeAt(j)] = j; + } + } + + // Ignore padding + var paddingChar = map.charAt(64); + if (paddingChar) { + var paddingIndex = base64Str.indexOf(paddingChar); + if (paddingIndex !== -1) { + base64StrLength = paddingIndex; + } + } + + // Convert + return parseLoop(base64Str, base64StrLength, reverseMap); + + }, + + _map: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=' + }; + + function parseLoop(base64Str, base64StrLength, reverseMap) { + var words = []; + var nBytes = 0; + for (var i = 0; i < base64StrLength; i++) { + if (i % 4) { + var bits1 = reverseMap[base64Str.charCodeAt(i - 1)] << ((i % 4) * 2); + var bits2 = reverseMap[base64Str.charCodeAt(i)] >>> (6 - (i % 4) * 2); + words[nBytes >>> 2] |= (bits1 | bits2) << (24 - (nBytes % 4) * 8); + nBytes++; + } + } + return WordArray.create(words, nBytes); + } +}()); + + +(function (Math) { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + var Hasher = C_lib.Hasher; + var C_algo = C.algo; + + // Constants table + var T = []; + + // Compute constants + (function () { + for (var i = 0; i < 64; i++) { + T[i] = (Math.abs(Math.sin(i + 1)) * 0x100000000) | 0; + } + }()); + + /** + * MD5 hash algorithm. + */ + var MD5 = C_algo.MD5 = Hasher.extend({ + _doReset: function () { + this._hash = new WordArray.init([ + 0x67452301, 0xefcdab89, + 0x98badcfe, 0x10325476 + ]); + }, + + _doProcessBlock: function (M, offset) { + // Swap endian + for (var i = 0; i < 16; i++) { + // Shortcuts + var offset_i = offset + i; + var M_offset_i = M[offset_i]; + + M[offset_i] = ( + (((M_offset_i << 8) | (M_offset_i >>> 24)) & 0x00ff00ff) | + (((M_offset_i << 24) | (M_offset_i >>> 8)) & 0xff00ff00) + ); + } + + // Shortcuts + var H = this._hash.words; + + var M_offset_0 = M[offset + 0]; + var M_offset_1 = M[offset + 1]; + var M_offset_2 = M[offset + 2]; + var M_offset_3 = M[offset + 3]; + var M_offset_4 = M[offset + 4]; + var M_offset_5 = M[offset + 5]; + var M_offset_6 = M[offset + 6]; + var M_offset_7 = M[offset + 7]; + var M_offset_8 = M[offset + 8]; + var M_offset_9 = M[offset + 9]; + var M_offset_10 = M[offset + 10]; + var M_offset_11 = M[offset + 11]; + var M_offset_12 = M[offset + 12]; + var M_offset_13 = M[offset + 13]; + var M_offset_14 = M[offset + 14]; + var M_offset_15 = M[offset + 15]; + + // Working varialbes + var a = H[0]; + var b = H[1]; + var c = H[2]; + var d = H[3]; + + // Computation + a = FF(a, b, c, d, M_offset_0, 7, T[0]); + d = FF(d, a, b, c, M_offset_1, 12, T[1]); + c = FF(c, d, a, b, M_offset_2, 17, T[2]); + b = FF(b, c, d, a, M_offset_3, 22, T[3]); + a = FF(a, b, c, d, M_offset_4, 7, T[4]); + d = FF(d, a, b, c, M_offset_5, 12, T[5]); + c = FF(c, d, a, b, M_offset_6, 17, T[6]); + b = FF(b, c, d, a, M_offset_7, 22, T[7]); + a = FF(a, b, c, d, M_offset_8, 7, T[8]); + d = FF(d, a, b, c, M_offset_9, 12, T[9]); + c = FF(c, d, a, b, M_offset_10, 17, T[10]); + b = FF(b, c, d, a, M_offset_11, 22, T[11]); + a = FF(a, b, c, d, M_offset_12, 7, T[12]); + d = FF(d, a, b, c, M_offset_13, 12, T[13]); + c = FF(c, d, a, b, M_offset_14, 17, T[14]); + b = FF(b, c, d, a, M_offset_15, 22, T[15]); + + a = GG(a, b, c, d, M_offset_1, 5, T[16]); + d = GG(d, a, b, c, M_offset_6, 9, T[17]); + c = GG(c, d, a, b, M_offset_11, 14, T[18]); + b = GG(b, c, d, a, M_offset_0, 20, T[19]); + a = GG(a, b, c, d, M_offset_5, 5, T[20]); + d = GG(d, a, b, c, M_offset_10, 9, T[21]); + c = GG(c, d, a, b, M_offset_15, 14, T[22]); + b = GG(b, c, d, a, M_offset_4, 20, T[23]); + a = GG(a, b, c, d, M_offset_9, 5, T[24]); + d = GG(d, a, b, c, M_offset_14, 9, T[25]); + c = GG(c, d, a, b, M_offset_3, 14, T[26]); + b = GG(b, c, d, a, M_offset_8, 20, T[27]); + a = GG(a, b, c, d, M_offset_13, 5, T[28]); + d = GG(d, a, b, c, M_offset_2, 9, T[29]); + c = GG(c, d, a, b, M_offset_7, 14, T[30]); + b = GG(b, c, d, a, M_offset_12, 20, T[31]); + + a = HH(a, b, c, d, M_offset_5, 4, T[32]); + d = HH(d, a, b, c, M_offset_8, 11, T[33]); + c = HH(c, d, a, b, M_offset_11, 16, T[34]); + b = HH(b, c, d, a, M_offset_14, 23, T[35]); + a = HH(a, b, c, d, M_offset_1, 4, T[36]); + d = HH(d, a, b, c, M_offset_4, 11, T[37]); + c = HH(c, d, a, b, M_offset_7, 16, T[38]); + b = HH(b, c, d, a, M_offset_10, 23, T[39]); + a = HH(a, b, c, d, M_offset_13, 4, T[40]); + d = HH(d, a, b, c, M_offset_0, 11, T[41]); + c = HH(c, d, a, b, M_offset_3, 16, T[42]); + b = HH(b, c, d, a, M_offset_6, 23, T[43]); + a = HH(a, b, c, d, M_offset_9, 4, T[44]); + d = HH(d, a, b, c, M_offset_12, 11, T[45]); + c = HH(c, d, a, b, M_offset_15, 16, T[46]); + b = HH(b, c, d, a, M_offset_2, 23, T[47]); + + a = II(a, b, c, d, M_offset_0, 6, T[48]); + d = II(d, a, b, c, M_offset_7, 10, T[49]); + c = II(c, d, a, b, M_offset_14, 15, T[50]); + b = II(b, c, d, a, M_offset_5, 21, T[51]); + a = II(a, b, c, d, M_offset_12, 6, T[52]); + d = II(d, a, b, c, M_offset_3, 10, T[53]); + c = II(c, d, a, b, M_offset_10, 15, T[54]); + b = II(b, c, d, a, M_offset_1, 21, T[55]); + a = II(a, b, c, d, M_offset_8, 6, T[56]); + d = II(d, a, b, c, M_offset_15, 10, T[57]); + c = II(c, d, a, b, M_offset_6, 15, T[58]); + b = II(b, c, d, a, M_offset_13, 21, T[59]); + a = II(a, b, c, d, M_offset_4, 6, T[60]); + d = II(d, a, b, c, M_offset_11, 10, T[61]); + c = II(c, d, a, b, M_offset_2, 15, T[62]); + b = II(b, c, d, a, M_offset_9, 21, T[63]); + + // Intermediate hash value + H[0] = (H[0] + a) | 0; + H[1] = (H[1] + b) | 0; + H[2] = (H[2] + c) | 0; + H[3] = (H[3] + d) | 0; + }, + + _doFinalize: function () { + // Shortcuts + var data = this._data; + var dataWords = data.words; + + var nBitsTotal = this._nDataBytes * 8; + var nBitsLeft = data.sigBytes * 8; + + // Add padding + dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32); + + var nBitsTotalH = Math.floor(nBitsTotal / 0x100000000); + var nBitsTotalL = nBitsTotal; + dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = ( + (((nBitsTotalH << 8) | (nBitsTotalH >>> 24)) & 0x00ff00ff) | + (((nBitsTotalH << 24) | (nBitsTotalH >>> 8)) & 0xff00ff00) + ); + dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = ( + (((nBitsTotalL << 8) | (nBitsTotalL >>> 24)) & 0x00ff00ff) | + (((nBitsTotalL << 24) | (nBitsTotalL >>> 8)) & 0xff00ff00) + ); + + data.sigBytes = (dataWords.length + 1) * 4; + + // Hash final blocks + this._process(); + + // Shortcuts + var hash = this._hash; + var H = hash.words; + + // Swap endian + for (var i = 0; i < 4; i++) { + // Shortcut + var H_i = H[i]; + + H[i] = (((H_i << 8) | (H_i >>> 24)) & 0x00ff00ff) | + (((H_i << 24) | (H_i >>> 8)) & 0xff00ff00); + } + + // Return final computed hash + return hash; + }, + + clone: function () { + var clone = Hasher.clone.call(this); + clone._hash = this._hash.clone(); + + return clone; + } + }); + + function FF(a, b, c, d, x, s, t) { + var n = a + ((b & c) | (~b & d)) + x + t; + return ((n << s) | (n >>> (32 - s))) + b; + } + + function GG(a, b, c, d, x, s, t) { + var n = a + ((b & d) | (c & ~d)) + x + t; + return ((n << s) | (n >>> (32 - s))) + b; + } + + function HH(a, b, c, d, x, s, t) { + var n = a + (b ^ c ^ d) + x + t; + return ((n << s) | (n >>> (32 - s))) + b; + } + + function II(a, b, c, d, x, s, t) { + var n = a + (c ^ (b | ~d)) + x + t; + return ((n << s) | (n >>> (32 - s))) + b; + } + + /** + * Shortcut function to the hasher's object interface. + * + * @param {WordArray|string} message The message to hash. + * + * @return {WordArray} The hash. + * + * @static + * + * @example + * + * var hash = CryptoJS.MD5('message'); + * var hash = CryptoJS.MD5(wordArray); + */ + C.MD5 = Hasher._createHelper(MD5); + + /** + * Shortcut function to the HMAC's object interface. + * + * @param {WordArray|string} message The message to hash. + * @param {WordArray|string} key The secret key. + * + * @return {WordArray} The HMAC. + * + * @static + * + * @example + * + * var hmac = CryptoJS.HmacMD5(message, key); + */ + C.HmacMD5 = Hasher._createHmacHelper(MD5); +}(Math)); + + +(function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + var Hasher = C_lib.Hasher; + var C_algo = C.algo; + + // Reusable object + var W = []; + + /** + * SHA-1 hash algorithm. + */ + var SHA1 = C_algo.SHA1 = Hasher.extend({ + _doReset: function () { + this._hash = new WordArray.init([ + 0x67452301, 0xefcdab89, + 0x98badcfe, 0x10325476, + 0xc3d2e1f0 + ]); + }, + + _doProcessBlock: function (M, offset) { + // Shortcut + var H = this._hash.words; + + // Working variables + var a = H[0]; + var b = H[1]; + var c = H[2]; + var d = H[3]; + var e = H[4]; + + // Computation + for (var i = 0; i < 80; i++) { + if (i < 16) { + W[i] = M[offset + i] | 0; + } else { + var n = W[i - 3] ^ W[i - 8] ^ W[i - 14] ^ W[i - 16]; + W[i] = (n << 1) | (n >>> 31); + } + + var t = ((a << 5) | (a >>> 27)) + e + W[i]; + if (i < 20) { + t += ((b & c) | (~b & d)) + 0x5a827999; + } else if (i < 40) { + t += (b ^ c ^ d) + 0x6ed9eba1; + } else if (i < 60) { + t += ((b & c) | (b & d) | (c & d)) - 0x70e44324; + } else /* if (i < 80) */ { + t += (b ^ c ^ d) - 0x359d3e2a; + } + + e = d; + d = c; + c = (b << 30) | (b >>> 2); + b = a; + a = t; + } + + // Intermediate hash value + H[0] = (H[0] + a) | 0; + H[1] = (H[1] + b) | 0; + H[2] = (H[2] + c) | 0; + H[3] = (H[3] + d) | 0; + H[4] = (H[4] + e) | 0; + }, + + _doFinalize: function () { + // Shortcuts + var data = this._data; + var dataWords = data.words; + + var nBitsTotal = this._nDataBytes * 8; + var nBitsLeft = data.sigBytes * 8; + + // Add padding + dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32); + dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = Math.floor(nBitsTotal / 0x100000000); + dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = nBitsTotal; + data.sigBytes = dataWords.length * 4; + + // Hash final blocks + this._process(); + + // Return final computed hash + return this._hash; + }, + + clone: function () { + var clone = Hasher.clone.call(this); + clone._hash = this._hash.clone(); + + return clone; + } + }); + + /** + * Shortcut function to the hasher's object interface. + * + * @param {WordArray|string} message The message to hash. + * + * @return {WordArray} The hash. + * + * @static + * + * @example + * + * var hash = CryptoJS.SHA1('message'); + * var hash = CryptoJS.SHA1(wordArray); + */ + C.SHA1 = Hasher._createHelper(SHA1); + + /** + * Shortcut function to the HMAC's object interface. + * + * @param {WordArray|string} message The message to hash. + * @param {WordArray|string} key The secret key. + * + * @return {WordArray} The HMAC. + * + * @static + * + * @example + * + * var hmac = CryptoJS.HmacSHA1(message, key); + */ + C.HmacSHA1 = Hasher._createHmacHelper(SHA1); +}()); + + +(function (Math) { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + var Hasher = C_lib.Hasher; + var C_algo = C.algo; + + // Initialization and round constants tables + var H = []; + var K = []; + + // Compute constants + (function () { + function isPrime(n) { + var sqrtN = Math.sqrt(n); + for (var factor = 2; factor <= sqrtN; factor++) { + if (!(n % factor)) { + return false; + } + } + + return true; + } + + function getFractionalBits(n) { + return ((n - (n | 0)) * 0x100000000) | 0; + } + + var n = 2; + var nPrime = 0; + while (nPrime < 64) { + if (isPrime(n)) { + if (nPrime < 8) { + H[nPrime] = getFractionalBits(Math.pow(n, 1 / 2)); + } + K[nPrime] = getFractionalBits(Math.pow(n, 1 / 3)); + + nPrime++; + } + + n++; + } + }()); + + // Reusable object + var W = []; + + /** + * SHA-256 hash algorithm. + */ + var SHA256 = C_algo.SHA256 = Hasher.extend({ + _doReset: function () { + this._hash = new WordArray.init(H.slice(0)); + }, + + _doProcessBlock: function (M, offset) { + // Shortcut + var H = this._hash.words; + + // Working variables + var a = H[0]; + var b = H[1]; + var c = H[2]; + var d = H[3]; + var e = H[4]; + var f = H[5]; + var g = H[6]; + var h = H[7]; + + // Computation + for (var i = 0; i < 64; i++) { + if (i < 16) { + W[i] = M[offset + i] | 0; + } else { + var gamma0x = W[i - 15]; + var gamma0 = ((gamma0x << 25) | (gamma0x >>> 7)) ^ + ((gamma0x << 14) | (gamma0x >>> 18)) ^ + (gamma0x >>> 3); + + var gamma1x = W[i - 2]; + var gamma1 = ((gamma1x << 15) | (gamma1x >>> 17)) ^ + ((gamma1x << 13) | (gamma1x >>> 19)) ^ + (gamma1x >>> 10); + + W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16]; + } + + var ch = (e & f) ^ (~e & g); + var maj = (a & b) ^ (a & c) ^ (b & c); + + var sigma0 = ((a << 30) | (a >>> 2)) ^ ((a << 19) | (a >>> 13)) ^ ((a << 10) | (a >>> 22)); + var sigma1 = ((e << 26) | (e >>> 6)) ^ ((e << 21) | (e >>> 11)) ^ ((e << 7) | (e >>> 25)); + + var t1 = h + sigma1 + ch + K[i] + W[i]; + var t2 = sigma0 + maj; + + h = g; + g = f; + f = e; + e = (d + t1) | 0; + d = c; + c = b; + b = a; + a = (t1 + t2) | 0; + } + + // Intermediate hash value + H[0] = (H[0] + a) | 0; + H[1] = (H[1] + b) | 0; + H[2] = (H[2] + c) | 0; + H[3] = (H[3] + d) | 0; + H[4] = (H[4] + e) | 0; + H[5] = (H[5] + f) | 0; + H[6] = (H[6] + g) | 0; + H[7] = (H[7] + h) | 0; + }, + + _doFinalize: function () { + // Shortcuts + var data = this._data; + var dataWords = data.words; + + var nBitsTotal = this._nDataBytes * 8; + var nBitsLeft = data.sigBytes * 8; + + // Add padding + dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32); + dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = Math.floor(nBitsTotal / 0x100000000); + dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 15] = nBitsTotal; + data.sigBytes = dataWords.length * 4; + + // Hash final blocks + this._process(); + + // Return final computed hash + return this._hash; + }, + + clone: function () { + var clone = Hasher.clone.call(this); + clone._hash = this._hash.clone(); + + return clone; + } + }); + + /** + * Shortcut function to the hasher's object interface. + * + * @param {WordArray|string} message The message to hash. + * + * @return {WordArray} The hash. + * + * @static + * + * @example + * + * var hash = CryptoJS.SHA256('message'); + * var hash = CryptoJS.SHA256(wordArray); + */ + C.SHA256 = Hasher._createHelper(SHA256); + + /** + * Shortcut function to the HMAC's object interface. + * + * @param {WordArray|string} message The message to hash. + * @param {WordArray|string} key The secret key. + * + * @return {WordArray} The HMAC. + * + * @static + * + * @example + * + * var hmac = CryptoJS.HmacSHA256(message, key); + */ + C.HmacSHA256 = Hasher._createHmacHelper(SHA256); +}(Math)); + + +(function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + var C_enc = C.enc; + + /** + * UTF-16 BE encoding strategy. + */ + var Utf16BE = C_enc.Utf16 = C_enc.Utf16BE = { + /** + * Converts a word array to a UTF-16 BE string. + * + * @param {WordArray} wordArray The word array. + * + * @return {string} The UTF-16 BE string. + * + * @static + * + * @example + * + * var utf16String = CryptoJS.enc.Utf16.stringify(wordArray); + */ + stringify: function (wordArray) { + // Shortcuts + var words = wordArray.words; + var sigBytes = wordArray.sigBytes; + + // Convert + var utf16Chars = []; + for (var i = 0; i < sigBytes; i += 2) { + var codePoint = (words[i >>> 2] >>> (16 - (i % 4) * 8)) & 0xffff; + utf16Chars.push(String.fromCharCode(codePoint)); + } + + return utf16Chars.join(''); + }, + + /** + * Converts a UTF-16 BE string to a word array. + * + * @param {string} utf16Str The UTF-16 BE string. + * + * @return {WordArray} The word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.enc.Utf16.parse(utf16String); + */ + parse: function (utf16Str) { + // Shortcut + var utf16StrLength = utf16Str.length; + + // Convert + var words = []; + for (var i = 0; i < utf16StrLength; i++) { + words[i >>> 1] |= utf16Str.charCodeAt(i) << (16 - (i % 2) * 16); + } + + return WordArray.create(words, utf16StrLength * 2); + } + }; + + /** + * UTF-16 LE encoding strategy. + */ + C_enc.Utf16LE = { + /** + * Converts a word array to a UTF-16 LE string. + * + * @param {WordArray} wordArray The word array. + * + * @return {string} The UTF-16 LE string. + * + * @static + * + * @example + * + * var utf16Str = CryptoJS.enc.Utf16LE.stringify(wordArray); + */ + stringify: function (wordArray) { + // Shortcuts + var words = wordArray.words; + var sigBytes = wordArray.sigBytes; + + // Convert + var utf16Chars = []; + for (var i = 0; i < sigBytes; i += 2) { + var codePoint = swapEndian((words[i >>> 2] >>> (16 - (i % 4) * 8)) & 0xffff); + utf16Chars.push(String.fromCharCode(codePoint)); + } + + return utf16Chars.join(''); + }, + + /** + * Converts a UTF-16 LE string to a word array. + * + * @param {string} utf16Str The UTF-16 LE string. + * + * @return {WordArray} The word array. + * + * @static + * + * @example + * + * var wordArray = CryptoJS.enc.Utf16LE.parse(utf16Str); + */ + parse: function (utf16Str) { + // Shortcut + var utf16StrLength = utf16Str.length; + + // Convert + var words = []; + for (var i = 0; i < utf16StrLength; i++) { + words[i >>> 1] |= swapEndian(utf16Str.charCodeAt(i) << (16 - (i % 2) * 16)); + } + + return WordArray.create(words, utf16StrLength * 2); + } + }; + + function swapEndian(word) { + return ((word << 8) & 0xff00ff00) | ((word >>> 8) & 0x00ff00ff); + } +}()); + + +(function () { + // Check if typed arrays are supported + if (typeof ArrayBuffer != 'function') { + return; + } + + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + + // Reference original init + var superInit = WordArray.init; + + // Augment WordArray.init to handle typed arrays + var subInit = WordArray.init = function (typedArray) { + // Convert buffers to uint8 + if (typedArray instanceof ArrayBuffer) { + typedArray = new Uint8Array(typedArray); + } + + // Convert other array views to uint8 + if ( + typedArray instanceof Int8Array || + (typeof Uint8ClampedArray !== "undefined" && typedArray instanceof Uint8ClampedArray) || + typedArray instanceof Int16Array || + typedArray instanceof Uint16Array || + typedArray instanceof Int32Array || + typedArray instanceof Uint32Array || + typedArray instanceof Float32Array || + typedArray instanceof Float64Array + ) { + typedArray = new Uint8Array(typedArray.buffer, typedArray.byteOffset, typedArray.byteLength); + } + + // Handle Uint8Array + if (typedArray instanceof Uint8Array) { + // Shortcut + var typedArrayByteLength = typedArray.byteLength; + + // Extract bytes + var words = []; + for (var i = 0; i < typedArrayByteLength; i++) { + words[i >>> 2] |= typedArray[i] << (24 - (i % 4) * 8); + } + + // Initialize this word array + superInit.call(this, words, typedArrayByteLength); + } else { + // Else call normal init + superInit.apply(this, arguments); + } + }; + + subInit.prototype = WordArray; +}()); + + +/** @preserve + (c) 2012 by Cédric Mesnil. All rights reserved. + + Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: + + - Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. + - Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. + + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +(function (Math) { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + var Hasher = C_lib.Hasher; + var C_algo = C.algo; + + // Constants table + var _zl = WordArray.create([ + 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8, + 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12, + 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2, + 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13]); + var _zr = WordArray.create([ + 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, + 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2, + 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13, + 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14, + 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11]); + var _sl = WordArray.create([ + 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, + 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12, + 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5, + 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12, + 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6 ]); + var _sr = WordArray.create([ + 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, + 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, + 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5, + 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8, + 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11 ]); + + var _hl = WordArray.create([ 0x00000000, 0x5A827999, 0x6ED9EBA1, 0x8F1BBCDC, 0xA953FD4E]); + var _hr = WordArray.create([ 0x50A28BE6, 0x5C4DD124, 0x6D703EF3, 0x7A6D76E9, 0x00000000]); + + /** + * RIPEMD160 hash algorithm. + */ + var RIPEMD160 = C_algo.RIPEMD160 = Hasher.extend({ + _doReset: function () { + this._hash = WordArray.create([0x67452301, 0xEFCDAB89, 0x98BADCFE, 0x10325476, 0xC3D2E1F0]); + }, + + _doProcessBlock: function (M, offset) { + + // Swap endian + for (var i = 0; i < 16; i++) { + // Shortcuts + var offset_i = offset + i; + var M_offset_i = M[offset_i]; + + // Swap + M[offset_i] = ( + (((M_offset_i << 8) | (M_offset_i >>> 24)) & 0x00ff00ff) | + (((M_offset_i << 24) | (M_offset_i >>> 8)) & 0xff00ff00) + ); + } + // Shortcut + var H = this._hash.words; + var hl = _hl.words; + var hr = _hr.words; + var zl = _zl.words; + var zr = _zr.words; + var sl = _sl.words; + var sr = _sr.words; + + // Working variables + var al, bl, cl, dl, el; + var ar, br, cr, dr, er; + + ar = al = H[0]; + br = bl = H[1]; + cr = cl = H[2]; + dr = dl = H[3]; + er = el = H[4]; + // Computation + var t; + for (var i = 0; i < 80; i += 1) { + t = (al + M[offset+zl[i]])|0; + if (i<16){ + t += f1(bl,cl,dl) + hl[0]; + } else if (i<32) { + t += f2(bl,cl,dl) + hl[1]; + } else if (i<48) { + t += f3(bl,cl,dl) + hl[2]; + } else if (i<64) { + t += f4(bl,cl,dl) + hl[3]; + } else {// if (i<80) { + t += f5(bl,cl,dl) + hl[4]; + } + t = t|0; + t = rotl(t,sl[i]); + t = (t+el)|0; + al = el; + el = dl; + dl = rotl(cl, 10); + cl = bl; + bl = t; + + t = (ar + M[offset+zr[i]])|0; + if (i<16){ + t += f5(br,cr,dr) + hr[0]; + } else if (i<32) { + t += f4(br,cr,dr) + hr[1]; + } else if (i<48) { + t += f3(br,cr,dr) + hr[2]; + } else if (i<64) { + t += f2(br,cr,dr) + hr[3]; + } else {// if (i<80) { + t += f1(br,cr,dr) + hr[4]; + } + t = t|0; + t = rotl(t,sr[i]) ; + t = (t+er)|0; + ar = er; + er = dr; + dr = rotl(cr, 10); + cr = br; + br = t; + } + // Intermediate hash value + t = (H[1] + cl + dr)|0; + H[1] = (H[2] + dl + er)|0; + H[2] = (H[3] + el + ar)|0; + H[3] = (H[4] + al + br)|0; + H[4] = (H[0] + bl + cr)|0; + H[0] = t; + }, + + _doFinalize: function () { + // Shortcuts + var data = this._data; + var dataWords = data.words; + + var nBitsTotal = this._nDataBytes * 8; + var nBitsLeft = data.sigBytes * 8; + + // Add padding + dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32); + dataWords[(((nBitsLeft + 64) >>> 9) << 4) + 14] = ( + (((nBitsTotal << 8) | (nBitsTotal >>> 24)) & 0x00ff00ff) | + (((nBitsTotal << 24) | (nBitsTotal >>> 8)) & 0xff00ff00) + ); + data.sigBytes = (dataWords.length + 1) * 4; + + // Hash final blocks + this._process(); + + // Shortcuts + var hash = this._hash; + var H = hash.words; + + // Swap endian + for (var i = 0; i < 5; i++) { + // Shortcut + var H_i = H[i]; + + // Swap + H[i] = (((H_i << 8) | (H_i >>> 24)) & 0x00ff00ff) | + (((H_i << 24) | (H_i >>> 8)) & 0xff00ff00); + } + + // Return final computed hash + return hash; + }, + + clone: function () { + var clone = Hasher.clone.call(this); + clone._hash = this._hash.clone(); + + return clone; + } + }); + + + function f1(x, y, z) { + return ((x) ^ (y) ^ (z)); + + } + + function f2(x, y, z) { + return (((x)&(y)) | ((~x)&(z))); + } + + function f3(x, y, z) { + return (((x) | (~(y))) ^ (z)); + } + + function f4(x, y, z) { + return (((x) & (z)) | ((y)&(~(z)))); + } + + function f5(x, y, z) { + return ((x) ^ ((y) |(~(z)))); + + } + + function rotl(x,n) { + return (x<>>(32-n)); + } + + + /** + * Shortcut function to the hasher's object interface. + * + * @param {WordArray|string} message The message to hash. + * + * @return {WordArray} The hash. + * + * @static + * + * @example + * + * var hash = CryptoJS.RIPEMD160('message'); + * var hash = CryptoJS.RIPEMD160(wordArray); + */ + C.RIPEMD160 = Hasher._createHelper(RIPEMD160); + + /** + * Shortcut function to the HMAC's object interface. + * + * @param {WordArray|string} message The message to hash. + * @param {WordArray|string} key The secret key. + * + * @return {WordArray} The HMAC. + * + * @static + * + * @example + * + * var hmac = CryptoJS.HmacRIPEMD160(message, key); + */ + C.HmacRIPEMD160 = Hasher._createHmacHelper(RIPEMD160); +}(Math)); + + +(function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var Base = C_lib.Base; + var C_enc = C.enc; + var Utf8 = C_enc.Utf8; + var C_algo = C.algo; + + /** + * HMAC algorithm. + */ + var HMAC = C_algo.HMAC = Base.extend({ + /** + * Initializes a newly created HMAC. + * + * @param {Hasher} hasher The hash algorithm to use. + * @param {WordArray|string} key The secret key. + * + * @example + * + * var hmacHasher = CryptoJS.algo.HMAC.create(CryptoJS.algo.SHA256, key); + */ + init: function (hasher, key) { + // Init hasher + hasher = this._hasher = new hasher.init(); + + // Convert string to WordArray, else assume WordArray already + if (typeof key == 'string') { + key = Utf8.parse(key); + } + + // Shortcuts + var hasherBlockSize = hasher.blockSize; + var hasherBlockSizeBytes = hasherBlockSize * 4; + + // Allow arbitrary length keys + if (key.sigBytes > hasherBlockSizeBytes) { + key = hasher.finalize(key); + } + + // Clamp excess bits + key.clamp(); + + // Clone key for inner and outer pads + var oKey = this._oKey = key.clone(); + var iKey = this._iKey = key.clone(); + + // Shortcuts + var oKeyWords = oKey.words; + var iKeyWords = iKey.words; + + // XOR keys with pad constants + for (var i = 0; i < hasherBlockSize; i++) { + oKeyWords[i] ^= 0x5c5c5c5c; + iKeyWords[i] ^= 0x36363636; + } + oKey.sigBytes = iKey.sigBytes = hasherBlockSizeBytes; + + // Set initial values + this.reset(); + }, + + /** + * Resets this HMAC to its initial state. + * + * @example + * + * hmacHasher.reset(); + */ + reset: function () { + // Shortcut + var hasher = this._hasher; + + // Reset + hasher.reset(); + hasher.update(this._iKey); + }, + + /** + * Updates this HMAC with a message. + * + * @param {WordArray|string} messageUpdate The message to append. + * + * @return {HMAC} This HMAC instance. + * + * @example + * + * hmacHasher.update('message'); + * hmacHasher.update(wordArray); + */ + update: function (messageUpdate) { + this._hasher.update(messageUpdate); + + // Chainable + return this; + }, + + /** + * Finalizes the HMAC computation. + * Note that the finalize operation is effectively a destructive, read-once operation. + * + * @param {WordArray|string} messageUpdate (Optional) A final message update. + * + * @return {WordArray} The HMAC. + * + * @example + * + * var hmac = hmacHasher.finalize(); + * var hmac = hmacHasher.finalize('message'); + * var hmac = hmacHasher.finalize(wordArray); + */ + finalize: function (messageUpdate) { + // Shortcut + var hasher = this._hasher; + + // Compute HMAC + var innerHash = hasher.finalize(messageUpdate); + hasher.reset(); + var hmac = hasher.finalize(this._oKey.clone().concat(innerHash)); + + return hmac; + } + }); +}()); + + +(function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var Base = C_lib.Base; + var WordArray = C_lib.WordArray; + var C_algo = C.algo; + var SHA1 = C_algo.SHA1; + var HMAC = C_algo.HMAC; + + /** + * Password-Based Key Derivation Function 2 algorithm. + */ + var PBKDF2 = C_algo.PBKDF2 = Base.extend({ + /** + * Configuration options. + * + * @property {number} keySize The key size in words to generate. Default: 4 (128 bits) + * @property {Hasher} hasher The hasher to use. Default: SHA1 + * @property {number} iterations The number of iterations to perform. Default: 1 + */ + cfg: Base.extend({ + keySize: 128/32, + hasher: SHA1, + iterations: 1 + }), + + /** + * Initializes a newly created key derivation function. + * + * @param {Object} cfg (Optional) The configuration options to use for the derivation. + * + * @example + * + * var kdf = CryptoJS.algo.PBKDF2.create(); + * var kdf = CryptoJS.algo.PBKDF2.create({ keySize: 8 }); + * var kdf = CryptoJS.algo.PBKDF2.create({ keySize: 8, iterations: 1000 }); + */ + init: function (cfg) { + this.cfg = this.cfg.extend(cfg); + }, + + /** + * Computes the Password-Based Key Derivation Function 2. + * + * @param {WordArray|string} password The password. + * @param {WordArray|string} salt A salt. + * + * @return {WordArray} The derived key. + * + * @example + * + * var key = kdf.compute(password, salt); + */ + compute: function (password, salt) { + // Shortcut + var cfg = this.cfg; + + // Init HMAC + var hmac = HMAC.create(cfg.hasher, password); + + // Initial values + var derivedKey = WordArray.create(); + var blockIndex = WordArray.create([0x00000001]); + + // Shortcuts + var derivedKeyWords = derivedKey.words; + var blockIndexWords = blockIndex.words; + var keySize = cfg.keySize; + var iterations = cfg.iterations; + + // Generate key + while (derivedKeyWords.length < keySize) { + var block = hmac.update(salt).finalize(blockIndex); + hmac.reset(); + + // Shortcuts + var blockWords = block.words; + var blockWordsLength = blockWords.length; + + // Iterations + var intermediate = block; + for (var i = 1; i < iterations; i++) { + intermediate = hmac.finalize(intermediate); + hmac.reset(); + + // Shortcut + var intermediateWords = intermediate.words; + + // XOR intermediate with block + for (var j = 0; j < blockWordsLength; j++) { + blockWords[j] ^= intermediateWords[j]; + } + } + + derivedKey.concat(block); + blockIndexWords[0]++; + } + derivedKey.sigBytes = keySize * 4; + + return derivedKey; + } + }); + + /** + * Computes the Password-Based Key Derivation Function 2. + * + * @param {WordArray|string} password The password. + * @param {WordArray|string} salt A salt. + * @param {Object} cfg (Optional) The configuration options to use for this computation. + * + * @return {WordArray} The derived key. + * + * @static + * + * @example + * + * var key = CryptoJS.PBKDF2(password, salt); + * var key = CryptoJS.PBKDF2(password, salt, { keySize: 8 }); + * var key = CryptoJS.PBKDF2(password, salt, { keySize: 8, iterations: 1000 }); + */ + C.PBKDF2 = function (password, salt, cfg) { + return PBKDF2.create(cfg).compute(password, salt); + }; +}()); + + +(function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var Base = C_lib.Base; + var WordArray = C_lib.WordArray; + var C_algo = C.algo; + var MD5 = C_algo.MD5; + + /** + * This key derivation function is meant to conform with EVP_BytesToKey. + * www.openssl.org/docs/crypto/EVP_BytesToKey.html + */ + var EvpKDF = C_algo.EvpKDF = Base.extend({ + /** + * Configuration options. + * + * @property {number} keySize The key size in words to generate. Default: 4 (128 bits) + * @property {Hasher} hasher The hash algorithm to use. Default: MD5 + * @property {number} iterations The number of iterations to perform. Default: 1 + */ + cfg: Base.extend({ + keySize: 128/32, + hasher: MD5, + iterations: 1 + }), + + /** + * Initializes a newly created key derivation function. + * + * @param {Object} cfg (Optional) The configuration options to use for the derivation. + * + * @example + * + * var kdf = CryptoJS.algo.EvpKDF.create(); + * var kdf = CryptoJS.algo.EvpKDF.create({ keySize: 8 }); + * var kdf = CryptoJS.algo.EvpKDF.create({ keySize: 8, iterations: 1000 }); + */ + init: function (cfg) { + this.cfg = this.cfg.extend(cfg); + }, + + /** + * Derives a key from a password. + * + * @param {WordArray|string} password The password. + * @param {WordArray|string} salt A salt. + * + * @return {WordArray} The derived key. + * + * @example + * + * var key = kdf.compute(password, salt); + */ + compute: function (password, salt) { + // Shortcut + var cfg = this.cfg; + + // Init hasher + var hasher = cfg.hasher.create(); + + // Initial values + var derivedKey = WordArray.create(); + + // Shortcuts + var derivedKeyWords = derivedKey.words; + var keySize = cfg.keySize; + var iterations = cfg.iterations; + + // Generate key + while (derivedKeyWords.length < keySize) { + if (block) { + hasher.update(block); + } + var block = hasher.update(password).finalize(salt); + hasher.reset(); + + // Iterations + for (var i = 1; i < iterations; i++) { + block = hasher.finalize(block); + hasher.reset(); + } + + derivedKey.concat(block); + } + derivedKey.sigBytes = keySize * 4; + + return derivedKey; + } + }); + + /** + * Derives a key from a password. + * + * @param {WordArray|string} password The password. + * @param {WordArray|string} salt A salt. + * @param {Object} cfg (Optional) The configuration options to use for this computation. + * + * @return {WordArray} The derived key. + * + * @static + * + * @example + * + * var key = CryptoJS.EvpKDF(password, salt); + * var key = CryptoJS.EvpKDF(password, salt, { keySize: 8 }); + * var key = CryptoJS.EvpKDF(password, salt, { keySize: 8, iterations: 1000 }); + */ + C.EvpKDF = function (password, salt, cfg) { + return EvpKDF.create(cfg).compute(password, salt); + }; +}()); + + +(function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + var C_algo = C.algo; + var SHA256 = C_algo.SHA256; + + /** + * SHA-224 hash algorithm. + */ + var SHA224 = C_algo.SHA224 = SHA256.extend({ + _doReset: function () { + this._hash = new WordArray.init([ + 0xc1059ed8, 0x367cd507, 0x3070dd17, 0xf70e5939, + 0xffc00b31, 0x68581511, 0x64f98fa7, 0xbefa4fa4 + ]); + }, + + _doFinalize: function () { + var hash = SHA256._doFinalize.call(this); + + hash.sigBytes -= 4; + + return hash; + } + }); + + /** + * Shortcut function to the hasher's object interface. + * + * @param {WordArray|string} message The message to hash. + * + * @return {WordArray} The hash. + * + * @static + * + * @example + * + * var hash = CryptoJS.SHA224('message'); + * var hash = CryptoJS.SHA224(wordArray); + */ + C.SHA224 = SHA256._createHelper(SHA224); + + /** + * Shortcut function to the HMAC's object interface. + * + * @param {WordArray|string} message The message to hash. + * @param {WordArray|string} key The secret key. + * + * @return {WordArray} The HMAC. + * + * @static + * + * @example + * + * var hmac = CryptoJS.HmacSHA224(message, key); + */ + C.HmacSHA224 = SHA256._createHmacHelper(SHA224); +}()); + + +(function (undefined) { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var Base = C_lib.Base; + var X32WordArray = C_lib.WordArray; + + /** + * x64 namespace. + */ + var C_x64 = C.x64 = {}; + + /** + * A 64-bit word. + */ + var X64Word = C_x64.Word = Base.extend({ + /** + * Initializes a newly created 64-bit word. + * + * @param {number} high The high 32 bits. + * @param {number} low The low 32 bits. + * + * @example + * + * var x64Word = CryptoJS.x64.Word.create(0x00010203, 0x04050607); + */ + init: function (high, low) { + this.high = high; + this.low = low; + } + + /** + * Bitwise NOTs this word. + * + * @return {X64Word} A new x64-Word object after negating. + * + * @example + * + * var negated = x64Word.not(); + */ + // not: function () { + // var high = ~this.high; + // var low = ~this.low; + + // return X64Word.create(high, low); + // }, + + /** + * Bitwise ANDs this word with the passed word. + * + * @param {X64Word} word The x64-Word to AND with this word. + * + * @return {X64Word} A new x64-Word object after ANDing. + * + * @example + * + * var anded = x64Word.and(anotherX64Word); + */ + // and: function (word) { + // var high = this.high & word.high; + // var low = this.low & word.low; + + // return X64Word.create(high, low); + // }, + + /** + * Bitwise ORs this word with the passed word. + * + * @param {X64Word} word The x64-Word to OR with this word. + * + * @return {X64Word} A new x64-Word object after ORing. + * + * @example + * + * var ored = x64Word.or(anotherX64Word); + */ + // or: function (word) { + // var high = this.high | word.high; + // var low = this.low | word.low; + + // return X64Word.create(high, low); + // }, + + /** + * Bitwise XORs this word with the passed word. + * + * @param {X64Word} word The x64-Word to XOR with this word. + * + * @return {X64Word} A new x64-Word object after XORing. + * + * @example + * + * var xored = x64Word.xor(anotherX64Word); + */ + // xor: function (word) { + // var high = this.high ^ word.high; + // var low = this.low ^ word.low; + + // return X64Word.create(high, low); + // }, + + /** + * Shifts this word n bits to the left. + * + * @param {number} n The number of bits to shift. + * + * @return {X64Word} A new x64-Word object after shifting. + * + * @example + * + * var shifted = x64Word.shiftL(25); + */ + // shiftL: function (n) { + // if (n < 32) { + // var high = (this.high << n) | (this.low >>> (32 - n)); + // var low = this.low << n; + // } else { + // var high = this.low << (n - 32); + // var low = 0; + // } + + // return X64Word.create(high, low); + // }, + + /** + * Shifts this word n bits to the right. + * + * @param {number} n The number of bits to shift. + * + * @return {X64Word} A new x64-Word object after shifting. + * + * @example + * + * var shifted = x64Word.shiftR(7); + */ + // shiftR: function (n) { + // if (n < 32) { + // var low = (this.low >>> n) | (this.high << (32 - n)); + // var high = this.high >>> n; + // } else { + // var low = this.high >>> (n - 32); + // var high = 0; + // } + + // return X64Word.create(high, low); + // }, + + /** + * Rotates this word n bits to the left. + * + * @param {number} n The number of bits to rotate. + * + * @return {X64Word} A new x64-Word object after rotating. + * + * @example + * + * var rotated = x64Word.rotL(25); + */ + // rotL: function (n) { + // return this.shiftL(n).or(this.shiftR(64 - n)); + // }, + + /** + * Rotates this word n bits to the right. + * + * @param {number} n The number of bits to rotate. + * + * @return {X64Word} A new x64-Word object after rotating. + * + * @example + * + * var rotated = x64Word.rotR(7); + */ + // rotR: function (n) { + // return this.shiftR(n).or(this.shiftL(64 - n)); + // }, + + /** + * Adds this word with the passed word. + * + * @param {X64Word} word The x64-Word to add with this word. + * + * @return {X64Word} A new x64-Word object after adding. + * + * @example + * + * var added = x64Word.add(anotherX64Word); + */ + // add: function (word) { + // var low = (this.low + word.low) | 0; + // var carry = (low >>> 0) < (this.low >>> 0) ? 1 : 0; + // var high = (this.high + word.high + carry) | 0; + + // return X64Word.create(high, low); + // } + }); + + /** + * An array of 64-bit words. + * + * @property {Array} words The array of CryptoJS.x64.Word objects. + * @property {number} sigBytes The number of significant bytes in this word array. + */ + var X64WordArray = C_x64.WordArray = Base.extend({ + /** + * Initializes a newly created word array. + * + * @param {Array} words (Optional) An array of CryptoJS.x64.Word objects. + * @param {number} sigBytes (Optional) The number of significant bytes in the words. + * + * @example + * + * var wordArray = CryptoJS.x64.WordArray.create(); + * + * var wordArray = CryptoJS.x64.WordArray.create([ + * CryptoJS.x64.Word.create(0x00010203, 0x04050607), + * CryptoJS.x64.Word.create(0x18191a1b, 0x1c1d1e1f) + * ]); + * + * var wordArray = CryptoJS.x64.WordArray.create([ + * CryptoJS.x64.Word.create(0x00010203, 0x04050607), + * CryptoJS.x64.Word.create(0x18191a1b, 0x1c1d1e1f) + * ], 10); + */ + init: function (words, sigBytes) { + words = this.words = words || []; + + if (sigBytes != undefined) { + this.sigBytes = sigBytes; + } else { + this.sigBytes = words.length * 8; + } + }, + + /** + * Converts this 64-bit word array to a 32-bit word array. + * + * @return {CryptoJS.lib.WordArray} This word array's data as a 32-bit word array. + * + * @example + * + * var x32WordArray = x64WordArray.toX32(); + */ + toX32: function () { + // Shortcuts + var x64Words = this.words; + var x64WordsLength = x64Words.length; + + // Convert + var x32Words = []; + for (var i = 0; i < x64WordsLength; i++) { + var x64Word = x64Words[i]; + x32Words.push(x64Word.high); + x32Words.push(x64Word.low); + } + + return X32WordArray.create(x32Words, this.sigBytes); + }, + + /** + * Creates a copy of this word array. + * + * @return {X64WordArray} The clone. + * + * @example + * + * var clone = x64WordArray.clone(); + */ + clone: function () { + var clone = Base.clone.call(this); + + // Clone "words" array + var words = clone.words = this.words.slice(0); + + // Clone each X64Word object + var wordsLength = words.length; + for (var i = 0; i < wordsLength; i++) { + words[i] = words[i].clone(); + } + + return clone; + } + }); +}()); + + +(function (Math) { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + var Hasher = C_lib.Hasher; + var C_x64 = C.x64; + var X64Word = C_x64.Word; + var C_algo = C.algo; + + // Constants tables + var RHO_OFFSETS = []; + var PI_INDEXES = []; + var ROUND_CONSTANTS = []; + + // Compute Constants + (function () { + // Compute rho offset constants + var x = 1, y = 0; + for (var t = 0; t < 24; t++) { + RHO_OFFSETS[x + 5 * y] = ((t + 1) * (t + 2) / 2) % 64; + + var newX = y % 5; + var newY = (2 * x + 3 * y) % 5; + x = newX; + y = newY; + } + + // Compute pi index constants + for (var x = 0; x < 5; x++) { + for (var y = 0; y < 5; y++) { + PI_INDEXES[x + 5 * y] = y + ((2 * x + 3 * y) % 5) * 5; + } + } + + // Compute round constants + var LFSR = 0x01; + for (var i = 0; i < 24; i++) { + var roundConstantMsw = 0; + var roundConstantLsw = 0; + + for (var j = 0; j < 7; j++) { + if (LFSR & 0x01) { + var bitPosition = (1 << j) - 1; + if (bitPosition < 32) { + roundConstantLsw ^= 1 << bitPosition; + } else /* if (bitPosition >= 32) */ { + roundConstantMsw ^= 1 << (bitPosition - 32); + } + } + + // Compute next LFSR + if (LFSR & 0x80) { + // Primitive polynomial over GF(2): x^8 + x^6 + x^5 + x^4 + 1 + LFSR = (LFSR << 1) ^ 0x71; + } else { + LFSR <<= 1; + } + } + + ROUND_CONSTANTS[i] = X64Word.create(roundConstantMsw, roundConstantLsw); + } + }()); + + // Reusable objects for temporary values + var T = []; + (function () { + for (var i = 0; i < 25; i++) { + T[i] = X64Word.create(); + } + }()); + + /** + * SHA-3 hash algorithm. + */ + var SHA3 = C_algo.SHA3 = Hasher.extend({ + /** + * Configuration options. + * + * @property {number} outputLength + * The desired number of bits in the output hash. + * Only values permitted are: 224, 256, 384, 512. + * Default: 512 + */ + cfg: Hasher.cfg.extend({ + outputLength: 512 + }), + + _doReset: function () { + var state = this._state = [] + for (var i = 0; i < 25; i++) { + state[i] = new X64Word.init(); + } + + this.blockSize = (1600 - 2 * this.cfg.outputLength) / 32; + }, + + _doProcessBlock: function (M, offset) { + // Shortcuts + var state = this._state; + var nBlockSizeLanes = this.blockSize / 2; + + // Absorb + for (var i = 0; i < nBlockSizeLanes; i++) { + // Shortcuts + var M2i = M[offset + 2 * i]; + var M2i1 = M[offset + 2 * i + 1]; + + // Swap endian + M2i = ( + (((M2i << 8) | (M2i >>> 24)) & 0x00ff00ff) | + (((M2i << 24) | (M2i >>> 8)) & 0xff00ff00) + ); + M2i1 = ( + (((M2i1 << 8) | (M2i1 >>> 24)) & 0x00ff00ff) | + (((M2i1 << 24) | (M2i1 >>> 8)) & 0xff00ff00) + ); + + // Absorb message into state + var lane = state[i]; + lane.high ^= M2i1; + lane.low ^= M2i; + } + + // Rounds + for (var round = 0; round < 24; round++) { + // Theta + for (var x = 0; x < 5; x++) { + // Mix column lanes + var tMsw = 0, tLsw = 0; + for (var y = 0; y < 5; y++) { + var lane = state[x + 5 * y]; + tMsw ^= lane.high; + tLsw ^= lane.low; + } + + // Temporary values + var Tx = T[x]; + Tx.high = tMsw; + Tx.low = tLsw; + } + for (var x = 0; x < 5; x++) { + // Shortcuts + var Tx4 = T[(x + 4) % 5]; + var Tx1 = T[(x + 1) % 5]; + var Tx1Msw = Tx1.high; + var Tx1Lsw = Tx1.low; + + // Mix surrounding columns + var tMsw = Tx4.high ^ ((Tx1Msw << 1) | (Tx1Lsw >>> 31)); + var tLsw = Tx4.low ^ ((Tx1Lsw << 1) | (Tx1Msw >>> 31)); + for (var y = 0; y < 5; y++) { + var lane = state[x + 5 * y]; + lane.high ^= tMsw; + lane.low ^= tLsw; + } + } + + // Rho Pi + for (var laneIndex = 1; laneIndex < 25; laneIndex++) { + // Shortcuts + var lane = state[laneIndex]; + var laneMsw = lane.high; + var laneLsw = lane.low; + var rhoOffset = RHO_OFFSETS[laneIndex]; + + // Rotate lanes + if (rhoOffset < 32) { + var tMsw = (laneMsw << rhoOffset) | (laneLsw >>> (32 - rhoOffset)); + var tLsw = (laneLsw << rhoOffset) | (laneMsw >>> (32 - rhoOffset)); + } else /* if (rhoOffset >= 32) */ { + var tMsw = (laneLsw << (rhoOffset - 32)) | (laneMsw >>> (64 - rhoOffset)); + var tLsw = (laneMsw << (rhoOffset - 32)) | (laneLsw >>> (64 - rhoOffset)); + } + + // Transpose lanes + var TPiLane = T[PI_INDEXES[laneIndex]]; + TPiLane.high = tMsw; + TPiLane.low = tLsw; + } + + // Rho pi at x = y = 0 + var T0 = T[0]; + var state0 = state[0]; + T0.high = state0.high; + T0.low = state0.low; + + // Chi + for (var x = 0; x < 5; x++) { + for (var y = 0; y < 5; y++) { + // Shortcuts + var laneIndex = x + 5 * y; + var lane = state[laneIndex]; + var TLane = T[laneIndex]; + var Tx1Lane = T[((x + 1) % 5) + 5 * y]; + var Tx2Lane = T[((x + 2) % 5) + 5 * y]; + + // Mix rows + lane.high = TLane.high ^ (~Tx1Lane.high & Tx2Lane.high); + lane.low = TLane.low ^ (~Tx1Lane.low & Tx2Lane.low); + } + } + + // Iota + var lane = state[0]; + var roundConstant = ROUND_CONSTANTS[round]; + lane.high ^= roundConstant.high; + lane.low ^= roundConstant.low;; + } + }, + + _doFinalize: function () { + // Shortcuts + var data = this._data; + var dataWords = data.words; + var nBitsTotal = this._nDataBytes * 8; + var nBitsLeft = data.sigBytes * 8; + var blockSizeBits = this.blockSize * 32; + + // Add padding + dataWords[nBitsLeft >>> 5] |= 0x1 << (24 - nBitsLeft % 32); + dataWords[((Math.ceil((nBitsLeft + 1) / blockSizeBits) * blockSizeBits) >>> 5) - 1] |= 0x80; + data.sigBytes = dataWords.length * 4; + + // Hash final blocks + this._process(); + + // Shortcuts + var state = this._state; + var outputLengthBytes = this.cfg.outputLength / 8; + var outputLengthLanes = outputLengthBytes / 8; + + // Squeeze + var hashWords = []; + for (var i = 0; i < outputLengthLanes; i++) { + // Shortcuts + var lane = state[i]; + var laneMsw = lane.high; + var laneLsw = lane.low; + + // Swap endian + laneMsw = ( + (((laneMsw << 8) | (laneMsw >>> 24)) & 0x00ff00ff) | + (((laneMsw << 24) | (laneMsw >>> 8)) & 0xff00ff00) + ); + laneLsw = ( + (((laneLsw << 8) | (laneLsw >>> 24)) & 0x00ff00ff) | + (((laneLsw << 24) | (laneLsw >>> 8)) & 0xff00ff00) + ); + + // Squeeze state to retrieve hash + hashWords.push(laneLsw); + hashWords.push(laneMsw); + } + + // Return final computed hash + return new WordArray.init(hashWords, outputLengthBytes); + }, + + clone: function () { + var clone = Hasher.clone.call(this); + + var state = clone._state = this._state.slice(0); + for (var i = 0; i < 25; i++) { + state[i] = state[i].clone(); + } + + return clone; + } + }); + + /** + * Shortcut function to the hasher's object interface. + * + * @param {WordArray|string} message The message to hash. + * + * @return {WordArray} The hash. + * + * @static + * + * @example + * + * var hash = CryptoJS.SHA3('message'); + * var hash = CryptoJS.SHA3(wordArray); + */ + C.SHA3 = Hasher._createHelper(SHA3); + + /** + * Shortcut function to the HMAC's object interface. + * + * @param {WordArray|string} message The message to hash. + * @param {WordArray|string} key The secret key. + * + * @return {WordArray} The HMAC. + * + * @static + * + * @example + * + * var hmac = CryptoJS.HmacSHA3(message, key); + */ + C.HmacSHA3 = Hasher._createHmacHelper(SHA3); +}(Math)); + + +(function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var Hasher = C_lib.Hasher; + var C_x64 = C.x64; + var X64Word = C_x64.Word; + var X64WordArray = C_x64.WordArray; + var C_algo = C.algo; + + function X64Word_create() { + return X64Word.create.apply(X64Word, arguments); + } + + // Constants + var K = [ + X64Word_create(0x428a2f98, 0xd728ae22), X64Word_create(0x71374491, 0x23ef65cd), + X64Word_create(0xb5c0fbcf, 0xec4d3b2f), X64Word_create(0xe9b5dba5, 0x8189dbbc), + X64Word_create(0x3956c25b, 0xf348b538), X64Word_create(0x59f111f1, 0xb605d019), + X64Word_create(0x923f82a4, 0xaf194f9b), X64Word_create(0xab1c5ed5, 0xda6d8118), + X64Word_create(0xd807aa98, 0xa3030242), X64Word_create(0x12835b01, 0x45706fbe), + X64Word_create(0x243185be, 0x4ee4b28c), X64Word_create(0x550c7dc3, 0xd5ffb4e2), + X64Word_create(0x72be5d74, 0xf27b896f), X64Word_create(0x80deb1fe, 0x3b1696b1), + X64Word_create(0x9bdc06a7, 0x25c71235), X64Word_create(0xc19bf174, 0xcf692694), + X64Word_create(0xe49b69c1, 0x9ef14ad2), X64Word_create(0xefbe4786, 0x384f25e3), + X64Word_create(0x0fc19dc6, 0x8b8cd5b5), X64Word_create(0x240ca1cc, 0x77ac9c65), + X64Word_create(0x2de92c6f, 0x592b0275), X64Word_create(0x4a7484aa, 0x6ea6e483), + X64Word_create(0x5cb0a9dc, 0xbd41fbd4), X64Word_create(0x76f988da, 0x831153b5), + X64Word_create(0x983e5152, 0xee66dfab), X64Word_create(0xa831c66d, 0x2db43210), + X64Word_create(0xb00327c8, 0x98fb213f), X64Word_create(0xbf597fc7, 0xbeef0ee4), + X64Word_create(0xc6e00bf3, 0x3da88fc2), X64Word_create(0xd5a79147, 0x930aa725), + X64Word_create(0x06ca6351, 0xe003826f), X64Word_create(0x14292967, 0x0a0e6e70), + X64Word_create(0x27b70a85, 0x46d22ffc), X64Word_create(0x2e1b2138, 0x5c26c926), + X64Word_create(0x4d2c6dfc, 0x5ac42aed), X64Word_create(0x53380d13, 0x9d95b3df), + X64Word_create(0x650a7354, 0x8baf63de), X64Word_create(0x766a0abb, 0x3c77b2a8), + X64Word_create(0x81c2c92e, 0x47edaee6), X64Word_create(0x92722c85, 0x1482353b), + X64Word_create(0xa2bfe8a1, 0x4cf10364), X64Word_create(0xa81a664b, 0xbc423001), + X64Word_create(0xc24b8b70, 0xd0f89791), X64Word_create(0xc76c51a3, 0x0654be30), + X64Word_create(0xd192e819, 0xd6ef5218), X64Word_create(0xd6990624, 0x5565a910), + X64Word_create(0xf40e3585, 0x5771202a), X64Word_create(0x106aa070, 0x32bbd1b8), + X64Word_create(0x19a4c116, 0xb8d2d0c8), X64Word_create(0x1e376c08, 0x5141ab53), + X64Word_create(0x2748774c, 0xdf8eeb99), X64Word_create(0x34b0bcb5, 0xe19b48a8), + X64Word_create(0x391c0cb3, 0xc5c95a63), X64Word_create(0x4ed8aa4a, 0xe3418acb), + X64Word_create(0x5b9cca4f, 0x7763e373), X64Word_create(0x682e6ff3, 0xd6b2b8a3), + X64Word_create(0x748f82ee, 0x5defb2fc), X64Word_create(0x78a5636f, 0x43172f60), + X64Word_create(0x84c87814, 0xa1f0ab72), X64Word_create(0x8cc70208, 0x1a6439ec), + X64Word_create(0x90befffa, 0x23631e28), X64Word_create(0xa4506ceb, 0xde82bde9), + X64Word_create(0xbef9a3f7, 0xb2c67915), X64Word_create(0xc67178f2, 0xe372532b), + X64Word_create(0xca273ece, 0xea26619c), X64Word_create(0xd186b8c7, 0x21c0c207), + X64Word_create(0xeada7dd6, 0xcde0eb1e), X64Word_create(0xf57d4f7f, 0xee6ed178), + X64Word_create(0x06f067aa, 0x72176fba), X64Word_create(0x0a637dc5, 0xa2c898a6), + X64Word_create(0x113f9804, 0xbef90dae), X64Word_create(0x1b710b35, 0x131c471b), + X64Word_create(0x28db77f5, 0x23047d84), X64Word_create(0x32caab7b, 0x40c72493), + X64Word_create(0x3c9ebe0a, 0x15c9bebc), X64Word_create(0x431d67c4, 0x9c100d4c), + X64Word_create(0x4cc5d4be, 0xcb3e42b6), X64Word_create(0x597f299c, 0xfc657e2a), + X64Word_create(0x5fcb6fab, 0x3ad6faec), X64Word_create(0x6c44198c, 0x4a475817) + ]; + + // Reusable objects + var W = []; + (function () { + for (var i = 0; i < 80; i++) { + W[i] = X64Word_create(); + } + }()); + + /** + * SHA-512 hash algorithm. + */ + var SHA512 = C_algo.SHA512 = Hasher.extend({ + _doReset: function () { + this._hash = new X64WordArray.init([ + new X64Word.init(0x6a09e667, 0xf3bcc908), new X64Word.init(0xbb67ae85, 0x84caa73b), + new X64Word.init(0x3c6ef372, 0xfe94f82b), new X64Word.init(0xa54ff53a, 0x5f1d36f1), + new X64Word.init(0x510e527f, 0xade682d1), new X64Word.init(0x9b05688c, 0x2b3e6c1f), + new X64Word.init(0x1f83d9ab, 0xfb41bd6b), new X64Word.init(0x5be0cd19, 0x137e2179) + ]); + }, + + _doProcessBlock: function (M, offset) { + // Shortcuts + var H = this._hash.words; + + var H0 = H[0]; + var H1 = H[1]; + var H2 = H[2]; + var H3 = H[3]; + var H4 = H[4]; + var H5 = H[5]; + var H6 = H[6]; + var H7 = H[7]; + + var H0h = H0.high; + var H0l = H0.low; + var H1h = H1.high; + var H1l = H1.low; + var H2h = H2.high; + var H2l = H2.low; + var H3h = H3.high; + var H3l = H3.low; + var H4h = H4.high; + var H4l = H4.low; + var H5h = H5.high; + var H5l = H5.low; + var H6h = H6.high; + var H6l = H6.low; + var H7h = H7.high; + var H7l = H7.low; + + // Working variables + var ah = H0h; + var al = H0l; + var bh = H1h; + var bl = H1l; + var ch = H2h; + var cl = H2l; + var dh = H3h; + var dl = H3l; + var eh = H4h; + var el = H4l; + var fh = H5h; + var fl = H5l; + var gh = H6h; + var gl = H6l; + var hh = H7h; + var hl = H7l; + + // Rounds + for (var i = 0; i < 80; i++) { + // Shortcut + var Wi = W[i]; + + // Extend message + if (i < 16) { + var Wih = Wi.high = M[offset + i * 2] | 0; + var Wil = Wi.low = M[offset + i * 2 + 1] | 0; + } else { + // Gamma0 + var gamma0x = W[i - 15]; + var gamma0xh = gamma0x.high; + var gamma0xl = gamma0x.low; + var gamma0h = ((gamma0xh >>> 1) | (gamma0xl << 31)) ^ ((gamma0xh >>> 8) | (gamma0xl << 24)) ^ (gamma0xh >>> 7); + var gamma0l = ((gamma0xl >>> 1) | (gamma0xh << 31)) ^ ((gamma0xl >>> 8) | (gamma0xh << 24)) ^ ((gamma0xl >>> 7) | (gamma0xh << 25)); + + // Gamma1 + var gamma1x = W[i - 2]; + var gamma1xh = gamma1x.high; + var gamma1xl = gamma1x.low; + var gamma1h = ((gamma1xh >>> 19) | (gamma1xl << 13)) ^ ((gamma1xh << 3) | (gamma1xl >>> 29)) ^ (gamma1xh >>> 6); + var gamma1l = ((gamma1xl >>> 19) | (gamma1xh << 13)) ^ ((gamma1xl << 3) | (gamma1xh >>> 29)) ^ ((gamma1xl >>> 6) | (gamma1xh << 26)); + + // W[i] = gamma0 + W[i - 7] + gamma1 + W[i - 16] + var Wi7 = W[i - 7]; + var Wi7h = Wi7.high; + var Wi7l = Wi7.low; + + var Wi16 = W[i - 16]; + var Wi16h = Wi16.high; + var Wi16l = Wi16.low; + + var Wil = gamma0l + Wi7l; + var Wih = gamma0h + Wi7h + ((Wil >>> 0) < (gamma0l >>> 0) ? 1 : 0); + var Wil = Wil + gamma1l; + var Wih = Wih + gamma1h + ((Wil >>> 0) < (gamma1l >>> 0) ? 1 : 0); + var Wil = Wil + Wi16l; + var Wih = Wih + Wi16h + ((Wil >>> 0) < (Wi16l >>> 0) ? 1 : 0); + + Wi.high = Wih; + Wi.low = Wil; + } + + var chh = (eh & fh) ^ (~eh & gh); + var chl = (el & fl) ^ (~el & gl); + var majh = (ah & bh) ^ (ah & ch) ^ (bh & ch); + var majl = (al & bl) ^ (al & cl) ^ (bl & cl); + + var sigma0h = ((ah >>> 28) | (al << 4)) ^ ((ah << 30) | (al >>> 2)) ^ ((ah << 25) | (al >>> 7)); + var sigma0l = ((al >>> 28) | (ah << 4)) ^ ((al << 30) | (ah >>> 2)) ^ ((al << 25) | (ah >>> 7)); + var sigma1h = ((eh >>> 14) | (el << 18)) ^ ((eh >>> 18) | (el << 14)) ^ ((eh << 23) | (el >>> 9)); + var sigma1l = ((el >>> 14) | (eh << 18)) ^ ((el >>> 18) | (eh << 14)) ^ ((el << 23) | (eh >>> 9)); + + // t1 = h + sigma1 + ch + K[i] + W[i] + var Ki = K[i]; + var Kih = Ki.high; + var Kil = Ki.low; + + var t1l = hl + sigma1l; + var t1h = hh + sigma1h + ((t1l >>> 0) < (hl >>> 0) ? 1 : 0); + var t1l = t1l + chl; + var t1h = t1h + chh + ((t1l >>> 0) < (chl >>> 0) ? 1 : 0); + var t1l = t1l + Kil; + var t1h = t1h + Kih + ((t1l >>> 0) < (Kil >>> 0) ? 1 : 0); + var t1l = t1l + Wil; + var t1h = t1h + Wih + ((t1l >>> 0) < (Wil >>> 0) ? 1 : 0); + + // t2 = sigma0 + maj + var t2l = sigma0l + majl; + var t2h = sigma0h + majh + ((t2l >>> 0) < (sigma0l >>> 0) ? 1 : 0); + + // Update working variables + hh = gh; + hl = gl; + gh = fh; + gl = fl; + fh = eh; + fl = el; + el = (dl + t1l) | 0; + eh = (dh + t1h + ((el >>> 0) < (dl >>> 0) ? 1 : 0)) | 0; + dh = ch; + dl = cl; + ch = bh; + cl = bl; + bh = ah; + bl = al; + al = (t1l + t2l) | 0; + ah = (t1h + t2h + ((al >>> 0) < (t1l >>> 0) ? 1 : 0)) | 0; + } + + // Intermediate hash value + H0l = H0.low = (H0l + al); + H0.high = (H0h + ah + ((H0l >>> 0) < (al >>> 0) ? 1 : 0)); + H1l = H1.low = (H1l + bl); + H1.high = (H1h + bh + ((H1l >>> 0) < (bl >>> 0) ? 1 : 0)); + H2l = H2.low = (H2l + cl); + H2.high = (H2h + ch + ((H2l >>> 0) < (cl >>> 0) ? 1 : 0)); + H3l = H3.low = (H3l + dl); + H3.high = (H3h + dh + ((H3l >>> 0) < (dl >>> 0) ? 1 : 0)); + H4l = H4.low = (H4l + el); + H4.high = (H4h + eh + ((H4l >>> 0) < (el >>> 0) ? 1 : 0)); + H5l = H5.low = (H5l + fl); + H5.high = (H5h + fh + ((H5l >>> 0) < (fl >>> 0) ? 1 : 0)); + H6l = H6.low = (H6l + gl); + H6.high = (H6h + gh + ((H6l >>> 0) < (gl >>> 0) ? 1 : 0)); + H7l = H7.low = (H7l + hl); + H7.high = (H7h + hh + ((H7l >>> 0) < (hl >>> 0) ? 1 : 0)); + }, + + _doFinalize: function () { + // Shortcuts + var data = this._data; + var dataWords = data.words; + + var nBitsTotal = this._nDataBytes * 8; + var nBitsLeft = data.sigBytes * 8; + + // Add padding + dataWords[nBitsLeft >>> 5] |= 0x80 << (24 - nBitsLeft % 32); + dataWords[(((nBitsLeft + 128) >>> 10) << 5) + 30] = Math.floor(nBitsTotal / 0x100000000); + dataWords[(((nBitsLeft + 128) >>> 10) << 5) + 31] = nBitsTotal; + data.sigBytes = dataWords.length * 4; + + // Hash final blocks + this._process(); + + // Convert hash to 32-bit word array before returning + var hash = this._hash.toX32(); + + // Return final computed hash + return hash; + }, + + clone: function () { + var clone = Hasher.clone.call(this); + clone._hash = this._hash.clone(); + + return clone; + }, + + blockSize: 1024/32 + }); + + /** + * Shortcut function to the hasher's object interface. + * + * @param {WordArray|string} message The message to hash. + * + * @return {WordArray} The hash. + * + * @static + * + * @example + * + * var hash = CryptoJS.SHA512('message'); + * var hash = CryptoJS.SHA512(wordArray); + */ + C.SHA512 = Hasher._createHelper(SHA512); + + /** + * Shortcut function to the HMAC's object interface. + * + * @param {WordArray|string} message The message to hash. + * @param {WordArray|string} key The secret key. + * + * @return {WordArray} The HMAC. + * + * @static + * + * @example + * + * var hmac = CryptoJS.HmacSHA512(message, key); + */ + C.HmacSHA512 = Hasher._createHmacHelper(SHA512); +}()); + + +(function () { + // Shortcuts + var C = CryptoJS; + var C_x64 = C.x64; + var X64Word = C_x64.Word; + var X64WordArray = C_x64.WordArray; + var C_algo = C.algo; + var SHA512 = C_algo.SHA512; + + /** + * SHA-384 hash algorithm. + */ + var SHA384 = C_algo.SHA384 = SHA512.extend({ + _doReset: function () { + this._hash = new X64WordArray.init([ + new X64Word.init(0xcbbb9d5d, 0xc1059ed8), new X64Word.init(0x629a292a, 0x367cd507), + new X64Word.init(0x9159015a, 0x3070dd17), new X64Word.init(0x152fecd8, 0xf70e5939), + new X64Word.init(0x67332667, 0xffc00b31), new X64Word.init(0x8eb44a87, 0x68581511), + new X64Word.init(0xdb0c2e0d, 0x64f98fa7), new X64Word.init(0x47b5481d, 0xbefa4fa4) + ]); + }, + + _doFinalize: function () { + var hash = SHA512._doFinalize.call(this); + + hash.sigBytes -= 16; + + return hash; + } + }); + + /** + * Shortcut function to the hasher's object interface. + * + * @param {WordArray|string} message The message to hash. + * + * @return {WordArray} The hash. + * + * @static + * + * @example + * + * var hash = CryptoJS.SHA384('message'); + * var hash = CryptoJS.SHA384(wordArray); + */ + C.SHA384 = SHA512._createHelper(SHA384); + + /** + * Shortcut function to the HMAC's object interface. + * + * @param {WordArray|string} message The message to hash. + * @param {WordArray|string} key The secret key. + * + * @return {WordArray} The HMAC. + * + * @static + * + * @example + * + * var hmac = CryptoJS.HmacSHA384(message, key); + */ + C.HmacSHA384 = SHA512._createHmacHelper(SHA384); +}()); + + +/** + * Cipher core components. + */ +CryptoJS.lib.Cipher || (function (undefined) { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var Base = C_lib.Base; + var WordArray = C_lib.WordArray; + var BufferedBlockAlgorithm = C_lib.BufferedBlockAlgorithm; + var C_enc = C.enc; + var Utf8 = C_enc.Utf8; + var Base64 = C_enc.Base64; + var C_algo = C.algo; + var EvpKDF = C_algo.EvpKDF; + + /** + * Abstract base cipher template. + * + * @property {number} keySize This cipher's key size. Default: 4 (128 bits) + * @property {number} ivSize This cipher's IV size. Default: 4 (128 bits) + * @property {number} _ENC_XFORM_MODE A constant representing encryption mode. + * @property {number} _DEC_XFORM_MODE A constant representing decryption mode. + */ + var Cipher = C_lib.Cipher = BufferedBlockAlgorithm.extend({ + /** + * Configuration options. + * + * @property {WordArray} iv The IV to use for this operation. + */ + cfg: Base.extend(), + + /** + * Creates this cipher in encryption mode. + * + * @param {WordArray} key The key. + * @param {Object} cfg (Optional) The configuration options to use for this operation. + * + * @return {Cipher} A cipher instance. + * + * @static + * + * @example + * + * var cipher = CryptoJS.algo.AES.createEncryptor(keyWordArray, { iv: ivWordArray }); + */ + createEncryptor: function (key, cfg) { + return this.create(this._ENC_XFORM_MODE, key, cfg); + }, + + /** + * Creates this cipher in decryption mode. + * + * @param {WordArray} key The key. + * @param {Object} cfg (Optional) The configuration options to use for this operation. + * + * @return {Cipher} A cipher instance. + * + * @static + * + * @example + * + * var cipher = CryptoJS.algo.AES.createDecryptor(keyWordArray, { iv: ivWordArray }); + */ + createDecryptor: function (key, cfg) { + return this.create(this._DEC_XFORM_MODE, key, cfg); + }, + + /** + * Initializes a newly created cipher. + * + * @param {number} xformMode Either the encryption or decryption transormation mode constant. + * @param {WordArray} key The key. + * @param {Object} cfg (Optional) The configuration options to use for this operation. + * + * @example + * + * var cipher = CryptoJS.algo.AES.create(CryptoJS.algo.AES._ENC_XFORM_MODE, keyWordArray, { iv: ivWordArray }); + */ + init: function (xformMode, key, cfg) { + // Apply config defaults + this.cfg = this.cfg.extend(cfg); + + // Store transform mode and key + this._xformMode = xformMode; + this._key = key; + + // Set initial values + this.reset(); + }, + + /** + * Resets this cipher to its initial state. + * + * @example + * + * cipher.reset(); + */ + reset: function () { + // Reset data buffer + BufferedBlockAlgorithm.reset.call(this); + + // Perform concrete-cipher logic + this._doReset(); + }, + + /** + * Adds data to be encrypted or decrypted. + * + * @param {WordArray|string} dataUpdate The data to encrypt or decrypt. + * + * @return {WordArray} The data after processing. + * + * @example + * + * var encrypted = cipher.process('data'); + * var encrypted = cipher.process(wordArray); + */ + process: function (dataUpdate) { + // Append + this._append(dataUpdate); + + // Process available blocks + return this._process(); + }, + + /** + * Finalizes the encryption or decryption process. + * Note that the finalize operation is effectively a destructive, read-once operation. + * + * @param {WordArray|string} dataUpdate The final data to encrypt or decrypt. + * + * @return {WordArray} The data after final processing. + * + * @example + * + * var encrypted = cipher.finalize(); + * var encrypted = cipher.finalize('data'); + * var encrypted = cipher.finalize(wordArray); + */ + finalize: function (dataUpdate) { + // Final data update + if (dataUpdate) { + this._append(dataUpdate); + } + + // Perform concrete-cipher logic + var finalProcessedData = this._doFinalize(); + + return finalProcessedData; + }, + + keySize: 128/32, + + ivSize: 128/32, + + _ENC_XFORM_MODE: 1, + + _DEC_XFORM_MODE: 2, + + /** + * Creates shortcut functions to a cipher's object interface. + * + * @param {Cipher} cipher The cipher to create a helper for. + * + * @return {Object} An object with encrypt and decrypt shortcut functions. + * + * @static + * + * @example + * + * var AES = CryptoJS.lib.Cipher._createHelper(CryptoJS.algo.AES); + */ + _createHelper: (function () { + function selectCipherStrategy(key) { + if (typeof key == 'string') { + return PasswordBasedCipher; + } else { + return SerializableCipher; + } + } + + return function (cipher) { + return { + encrypt: function (message, key, cfg) { + return selectCipherStrategy(key).encrypt(cipher, message, key, cfg); + }, + + decrypt: function (ciphertext, key, cfg) { + return selectCipherStrategy(key).decrypt(cipher, ciphertext, key, cfg); + } + }; + }; + }()) + }); + + /** + * Abstract base stream cipher template. + * + * @property {number} blockSize The number of 32-bit words this cipher operates on. Default: 1 (32 bits) + */ + var StreamCipher = C_lib.StreamCipher = Cipher.extend({ + _doFinalize: function () { + // Process partial blocks + var finalProcessedBlocks = this._process(!!'flush'); + + return finalProcessedBlocks; + }, + + blockSize: 1 + }); + + /** + * Mode namespace. + */ + var C_mode = C.mode = {}; + + /** + * Abstract base block cipher mode template. + */ + var BlockCipherMode = C_lib.BlockCipherMode = Base.extend({ + /** + * Creates this mode for encryption. + * + * @param {Cipher} cipher A block cipher instance. + * @param {Array} iv The IV words. + * + * @static + * + * @example + * + * var mode = CryptoJS.mode.CBC.createEncryptor(cipher, iv.words); + */ + createEncryptor: function (cipher, iv) { + return this.Encryptor.create(cipher, iv); + }, + + /** + * Creates this mode for decryption. + * + * @param {Cipher} cipher A block cipher instance. + * @param {Array} iv The IV words. + * + * @static + * + * @example + * + * var mode = CryptoJS.mode.CBC.createDecryptor(cipher, iv.words); + */ + createDecryptor: function (cipher, iv) { + return this.Decryptor.create(cipher, iv); + }, + + /** + * Initializes a newly created mode. + * + * @param {Cipher} cipher A block cipher instance. + * @param {Array} iv The IV words. + * + * @example + * + * var mode = CryptoJS.mode.CBC.Encryptor.create(cipher, iv.words); + */ + init: function (cipher, iv) { + this._cipher = cipher; + this._iv = iv; + } + }); + + /** + * Cipher Block Chaining mode. + */ + var CBC = C_mode.CBC = (function () { + /** + * Abstract base CBC mode. + */ + var CBC = BlockCipherMode.extend(); + + /** + * CBC encryptor. + */ + CBC.Encryptor = CBC.extend({ + /** + * Processes the data block at offset. + * + * @param {Array} words The data words to operate on. + * @param {number} offset The offset where the block starts. + * + * @example + * + * mode.processBlock(data.words, offset); + */ + processBlock: function (words, offset) { + // Shortcuts + var cipher = this._cipher; + var blockSize = cipher.blockSize; + + // XOR and encrypt + xorBlock.call(this, words, offset, blockSize); + cipher.encryptBlock(words, offset); + + // Remember this block to use with next block + this._prevBlock = words.slice(offset, offset + blockSize); + } + }); + + /** + * CBC decryptor. + */ + CBC.Decryptor = CBC.extend({ + /** + * Processes the data block at offset. + * + * @param {Array} words The data words to operate on. + * @param {number} offset The offset where the block starts. + * + * @example + * + * mode.processBlock(data.words, offset); + */ + processBlock: function (words, offset) { + // Shortcuts + var cipher = this._cipher; + var blockSize = cipher.blockSize; + + // Remember this block to use with next block + var thisBlock = words.slice(offset, offset + blockSize); + + // Decrypt and XOR + cipher.decryptBlock(words, offset); + xorBlock.call(this, words, offset, blockSize); + + // This block becomes the previous block + this._prevBlock = thisBlock; + } + }); + + function xorBlock(words, offset, blockSize) { + // Shortcut + var iv = this._iv; + + // Choose mixing block + if (iv) { + var block = iv; + + // Remove IV for subsequent blocks + this._iv = undefined; + } else { + var block = this._prevBlock; + } + + // XOR blocks + for (var i = 0; i < blockSize; i++) { + words[offset + i] ^= block[i]; + } + } + + return CBC; + }()); + + /** + * Padding namespace. + */ + var C_pad = C.pad = {}; + + /** + * PKCS #5/7 padding strategy. + */ + var Pkcs7 = C_pad.Pkcs7 = { + /** + * Pads data using the algorithm defined in PKCS #5/7. + * + * @param {WordArray} data The data to pad. + * @param {number} blockSize The multiple that the data should be padded to. + * + * @static + * + * @example + * + * CryptoJS.pad.Pkcs7.pad(wordArray, 4); + */ + pad: function (data, blockSize) { + // Shortcut + var blockSizeBytes = blockSize * 4; + + // Count padding bytes + var nPaddingBytes = blockSizeBytes - data.sigBytes % blockSizeBytes; + + // Create padding word + var paddingWord = (nPaddingBytes << 24) | (nPaddingBytes << 16) | (nPaddingBytes << 8) | nPaddingBytes; + + // Create padding + var paddingWords = []; + for (var i = 0; i < nPaddingBytes; i += 4) { + paddingWords.push(paddingWord); + } + var padding = WordArray.create(paddingWords, nPaddingBytes); + + // Add padding + data.concat(padding); + }, + + /** + * Unpads data that had been padded using the algorithm defined in PKCS #5/7. + * + * @param {WordArray} data The data to unpad. + * + * @static + * + * @example + * + * CryptoJS.pad.Pkcs7.unpad(wordArray); + */ + unpad: function (data) { + // Get number of padding bytes from last byte + var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff; + + // Remove padding + data.sigBytes -= nPaddingBytes; + } + }; + + /** + * Abstract base block cipher template. + * + * @property {number} blockSize The number of 32-bit words this cipher operates on. Default: 4 (128 bits) + */ + var BlockCipher = C_lib.BlockCipher = Cipher.extend({ + /** + * Configuration options. + * + * @property {Mode} mode The block mode to use. Default: CBC + * @property {Padding} padding The padding strategy to use. Default: Pkcs7 + */ + cfg: Cipher.cfg.extend({ + mode: CBC, + padding: Pkcs7 + }), + + reset: function () { + // Reset cipher + Cipher.reset.call(this); + + // Shortcuts + var cfg = this.cfg; + var iv = cfg.iv; + var mode = cfg.mode; + + // Reset block mode + if (this._xformMode == this._ENC_XFORM_MODE) { + var modeCreator = mode.createEncryptor; + } else /* if (this._xformMode == this._DEC_XFORM_MODE) */ { + var modeCreator = mode.createDecryptor; + // Keep at least one block in the buffer for unpadding + this._minBufferSize = 1; + } + + if (this._mode && this._mode.__creator == modeCreator) { + this._mode.init(this, iv && iv.words); + } else { + this._mode = modeCreator.call(mode, this, iv && iv.words); + this._mode.__creator = modeCreator; + } + }, + + _doProcessBlock: function (words, offset) { + this._mode.processBlock(words, offset); + }, + + _doFinalize: function () { + // Shortcut + var padding = this.cfg.padding; + + // Finalize + if (this._xformMode == this._ENC_XFORM_MODE) { + // Pad data + padding.pad(this._data, this.blockSize); + + // Process final blocks + var finalProcessedBlocks = this._process(!!'flush'); + } else /* if (this._xformMode == this._DEC_XFORM_MODE) */ { + // Process final blocks + var finalProcessedBlocks = this._process(!!'flush'); + + // Unpad data + padding.unpad(finalProcessedBlocks); + } + + return finalProcessedBlocks; + }, + + blockSize: 128/32 + }); + + /** + * A collection of cipher parameters. + * + * @property {WordArray} ciphertext The raw ciphertext. + * @property {WordArray} key The key to this ciphertext. + * @property {WordArray} iv The IV used in the ciphering operation. + * @property {WordArray} salt The salt used with a key derivation function. + * @property {Cipher} algorithm The cipher algorithm. + * @property {Mode} mode The block mode used in the ciphering operation. + * @property {Padding} padding The padding scheme used in the ciphering operation. + * @property {number} blockSize The block size of the cipher. + * @property {Format} formatter The default formatting strategy to convert this cipher params object to a string. + */ + var CipherParams = C_lib.CipherParams = Base.extend({ + /** + * Initializes a newly created cipher params object. + * + * @param {Object} cipherParams An object with any of the possible cipher parameters. + * + * @example + * + * var cipherParams = CryptoJS.lib.CipherParams.create({ + * ciphertext: ciphertextWordArray, + * key: keyWordArray, + * iv: ivWordArray, + * salt: saltWordArray, + * algorithm: CryptoJS.algo.AES, + * mode: CryptoJS.mode.CBC, + * padding: CryptoJS.pad.PKCS7, + * blockSize: 4, + * formatter: CryptoJS.format.OpenSSL + * }); + */ + init: function (cipherParams) { + this.mixIn(cipherParams); + }, + + /** + * Converts this cipher params object to a string. + * + * @param {Format} formatter (Optional) The formatting strategy to use. + * + * @return {string} The stringified cipher params. + * + * @throws Error If neither the formatter nor the default formatter is set. + * + * @example + * + * var string = cipherParams + ''; + * var string = cipherParams.toString(); + * var string = cipherParams.toString(CryptoJS.format.OpenSSL); + */ + toString: function (formatter) { + return (formatter || this.formatter).stringify(this); + } + }); + + /** + * Format namespace. + */ + var C_format = C.format = {}; + + /** + * OpenSSL formatting strategy. + */ + var OpenSSLFormatter = C_format.OpenSSL = { + /** + * Converts a cipher params object to an OpenSSL-compatible string. + * + * @param {CipherParams} cipherParams The cipher params object. + * + * @return {string} The OpenSSL-compatible string. + * + * @static + * + * @example + * + * var openSSLString = CryptoJS.format.OpenSSL.stringify(cipherParams); + */ + stringify: function (cipherParams) { + // Shortcuts + var ciphertext = cipherParams.ciphertext; + var salt = cipherParams.salt; + + // Format + if (salt) { + var wordArray = WordArray.create([0x53616c74, 0x65645f5f]).concat(salt).concat(ciphertext); + } else { + var wordArray = ciphertext; + } + + return wordArray.toString(Base64); + }, + + /** + * Converts an OpenSSL-compatible string to a cipher params object. + * + * @param {string} openSSLStr The OpenSSL-compatible string. + * + * @return {CipherParams} The cipher params object. + * + * @static + * + * @example + * + * var cipherParams = CryptoJS.format.OpenSSL.parse(openSSLString); + */ + parse: function (openSSLStr) { + // Parse base64 + var ciphertext = Base64.parse(openSSLStr); + + // Shortcut + var ciphertextWords = ciphertext.words; + + // Test for salt + if (ciphertextWords[0] == 0x53616c74 && ciphertextWords[1] == 0x65645f5f) { + // Extract salt + var salt = WordArray.create(ciphertextWords.slice(2, 4)); + + // Remove salt from ciphertext + ciphertextWords.splice(0, 4); + ciphertext.sigBytes -= 16; + } + + return CipherParams.create({ ciphertext: ciphertext, salt: salt }); + } + }; + + /** + * A cipher wrapper that returns ciphertext as a serializable cipher params object. + */ + var SerializableCipher = C_lib.SerializableCipher = Base.extend({ + /** + * Configuration options. + * + * @property {Formatter} format The formatting strategy to convert cipher param objects to and from a string. Default: OpenSSL + */ + cfg: Base.extend({ + format: OpenSSLFormatter + }), + + /** + * Encrypts a message. + * + * @param {Cipher} cipher The cipher algorithm to use. + * @param {WordArray|string} message The message to encrypt. + * @param {WordArray} key The key. + * @param {Object} cfg (Optional) The configuration options to use for this operation. + * + * @return {CipherParams} A cipher params object. + * + * @static + * + * @example + * + * var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key); + * var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key, { iv: iv }); + * var ciphertextParams = CryptoJS.lib.SerializableCipher.encrypt(CryptoJS.algo.AES, message, key, { iv: iv, format: CryptoJS.format.OpenSSL }); + */ + encrypt: function (cipher, message, key, cfg) { + // Apply config defaults + cfg = this.cfg.extend(cfg); + + // Encrypt + var encryptor = cipher.createEncryptor(key, cfg); + var ciphertext = encryptor.finalize(message); + + // Shortcut + var cipherCfg = encryptor.cfg; + + // Create and return serializable cipher params + return CipherParams.create({ + ciphertext: ciphertext, + key: key, + iv: cipherCfg.iv, + algorithm: cipher, + mode: cipherCfg.mode, + padding: cipherCfg.padding, + blockSize: cipher.blockSize, + formatter: cfg.format + }); + }, + + /** + * Decrypts serialized ciphertext. + * + * @param {Cipher} cipher The cipher algorithm to use. + * @param {CipherParams|string} ciphertext The ciphertext to decrypt. + * @param {WordArray} key The key. + * @param {Object} cfg (Optional) The configuration options to use for this operation. + * + * @return {WordArray} The plaintext. + * + * @static + * + * @example + * + * var plaintext = CryptoJS.lib.SerializableCipher.decrypt(CryptoJS.algo.AES, formattedCiphertext, key, { iv: iv, format: CryptoJS.format.OpenSSL }); + * var plaintext = CryptoJS.lib.SerializableCipher.decrypt(CryptoJS.algo.AES, ciphertextParams, key, { iv: iv, format: CryptoJS.format.OpenSSL }); + */ + decrypt: function (cipher, ciphertext, key, cfg) { + // Apply config defaults + cfg = this.cfg.extend(cfg); + + // Convert string to CipherParams + ciphertext = this._parse(ciphertext, cfg.format); + + // Decrypt + var plaintext = cipher.createDecryptor(key, cfg).finalize(ciphertext.ciphertext); + + return plaintext; + }, + + /** + * Converts serialized ciphertext to CipherParams, + * else assumed CipherParams already and returns ciphertext unchanged. + * + * @param {CipherParams|string} ciphertext The ciphertext. + * @param {Formatter} format The formatting strategy to use to parse serialized ciphertext. + * + * @return {CipherParams} The unserialized ciphertext. + * + * @static + * + * @example + * + * var ciphertextParams = CryptoJS.lib.SerializableCipher._parse(ciphertextStringOrParams, format); + */ + _parse: function (ciphertext, format) { + if (typeof ciphertext == 'string') { + return format.parse(ciphertext, this); + } else { + return ciphertext; + } + } + }); + + /** + * Key derivation function namespace. + */ + var C_kdf = C.kdf = {}; + + /** + * OpenSSL key derivation function. + */ + var OpenSSLKdf = C_kdf.OpenSSL = { + /** + * Derives a key and IV from a password. + * + * @param {string} password The password to derive from. + * @param {number} keySize The size in words of the key to generate. + * @param {number} ivSize The size in words of the IV to generate. + * @param {WordArray|string} salt (Optional) A 64-bit salt to use. If omitted, a salt will be generated randomly. + * + * @return {CipherParams} A cipher params object with the key, IV, and salt. + * + * @static + * + * @example + * + * var derivedParams = CryptoJS.kdf.OpenSSL.execute('Password', 256/32, 128/32); + * var derivedParams = CryptoJS.kdf.OpenSSL.execute('Password', 256/32, 128/32, 'saltsalt'); + */ + execute: function (password, keySize, ivSize, salt) { + // Generate random salt + if (!salt) { + salt = WordArray.random(64/8); + } + + // Derive key and IV + var key = EvpKDF.create({ keySize: keySize + ivSize }).compute(password, salt); + + // Separate key and IV + var iv = WordArray.create(key.words.slice(keySize), ivSize * 4); + key.sigBytes = keySize * 4; + + // Return params + return CipherParams.create({ key: key, iv: iv, salt: salt }); + } + }; + + /** + * A serializable cipher wrapper that derives the key from a password, + * and returns ciphertext as a serializable cipher params object. + */ + var PasswordBasedCipher = C_lib.PasswordBasedCipher = SerializableCipher.extend({ + /** + * Configuration options. + * + * @property {KDF} kdf The key derivation function to use to generate a key and IV from a password. Default: OpenSSL + */ + cfg: SerializableCipher.cfg.extend({ + kdf: OpenSSLKdf + }), + + /** + * Encrypts a message using a password. + * + * @param {Cipher} cipher The cipher algorithm to use. + * @param {WordArray|string} message The message to encrypt. + * @param {string} password The password. + * @param {Object} cfg (Optional) The configuration options to use for this operation. + * + * @return {CipherParams} A cipher params object. + * + * @static + * + * @example + * + * var ciphertextParams = CryptoJS.lib.PasswordBasedCipher.encrypt(CryptoJS.algo.AES, message, 'password'); + * var ciphertextParams = CryptoJS.lib.PasswordBasedCipher.encrypt(CryptoJS.algo.AES, message, 'password', { format: CryptoJS.format.OpenSSL }); + */ + encrypt: function (cipher, message, password, cfg) { + // Apply config defaults + cfg = this.cfg.extend(cfg); + + // Derive key and other params + var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize); + + // Add IV to config + cfg.iv = derivedParams.iv; + + // Encrypt + var ciphertext = SerializableCipher.encrypt.call(this, cipher, message, derivedParams.key, cfg); + + // Mix in derived params + ciphertext.mixIn(derivedParams); + + return ciphertext; + }, + + /** + * Decrypts serialized ciphertext using a password. + * + * @param {Cipher} cipher The cipher algorithm to use. + * @param {CipherParams|string} ciphertext The ciphertext to decrypt. + * @param {string} password The password. + * @param {Object} cfg (Optional) The configuration options to use for this operation. + * + * @return {WordArray} The plaintext. + * + * @static + * + * @example + * + * var plaintext = CryptoJS.lib.PasswordBasedCipher.decrypt(CryptoJS.algo.AES, formattedCiphertext, 'password', { format: CryptoJS.format.OpenSSL }); + * var plaintext = CryptoJS.lib.PasswordBasedCipher.decrypt(CryptoJS.algo.AES, ciphertextParams, 'password', { format: CryptoJS.format.OpenSSL }); + */ + decrypt: function (cipher, ciphertext, password, cfg) { + // Apply config defaults + cfg = this.cfg.extend(cfg); + + // Convert string to CipherParams + ciphertext = this._parse(ciphertext, cfg.format); + + // Derive key and other params + var derivedParams = cfg.kdf.execute(password, cipher.keySize, cipher.ivSize, ciphertext.salt); + + // Add IV to config + cfg.iv = derivedParams.iv; + + // Decrypt + var plaintext = SerializableCipher.decrypt.call(this, cipher, ciphertext, derivedParams.key, cfg); + + return plaintext; + } + }); +}()); + + +/** + * Cipher Feedback block mode. + */ +CryptoJS.mode.CFB = (function () { + var CFB = CryptoJS.lib.BlockCipherMode.extend(); + + CFB.Encryptor = CFB.extend({ + processBlock: function (words, offset) { + // Shortcuts + var cipher = this._cipher; + var blockSize = cipher.blockSize; + + generateKeystreamAndEncrypt.call(this, words, offset, blockSize, cipher); + + // Remember this block to use with next block + this._prevBlock = words.slice(offset, offset + blockSize); + } + }); + + CFB.Decryptor = CFB.extend({ + processBlock: function (words, offset) { + // Shortcuts + var cipher = this._cipher; + var blockSize = cipher.blockSize; + + // Remember this block to use with next block + var thisBlock = words.slice(offset, offset + blockSize); + + generateKeystreamAndEncrypt.call(this, words, offset, blockSize, cipher); + + // This block becomes the previous block + this._prevBlock = thisBlock; + } + }); + + function generateKeystreamAndEncrypt(words, offset, blockSize, cipher) { + // Shortcut + var iv = this._iv; + + // Generate keystream + if (iv) { + var keystream = iv.slice(0); + + // Remove IV for subsequent blocks + this._iv = undefined; + } else { + var keystream = this._prevBlock; + } + cipher.encryptBlock(keystream, 0); + + // Encrypt + for (var i = 0; i < blockSize; i++) { + words[offset + i] ^= keystream[i]; + } + } + + return CFB; +}()); + + +/** + * Electronic Codebook block mode. + */ +CryptoJS.mode.ECB = (function () { + var ECB = CryptoJS.lib.BlockCipherMode.extend(); + + ECB.Encryptor = ECB.extend({ + processBlock: function (words, offset) { + this._cipher.encryptBlock(words, offset); + } + }); + + ECB.Decryptor = ECB.extend({ + processBlock: function (words, offset) { + this._cipher.decryptBlock(words, offset); + } + }); + + return ECB; +}()); + + +/** + * ANSI X.923 padding strategy. + */ +CryptoJS.pad.AnsiX923 = { + pad: function (data, blockSize) { + // Shortcuts + var dataSigBytes = data.sigBytes; + var blockSizeBytes = blockSize * 4; + + // Count padding bytes + var nPaddingBytes = blockSizeBytes - dataSigBytes % blockSizeBytes; + + // Compute last byte position + var lastBytePos = dataSigBytes + nPaddingBytes - 1; + + // Pad + data.clamp(); + data.words[lastBytePos >>> 2] |= nPaddingBytes << (24 - (lastBytePos % 4) * 8); + data.sigBytes += nPaddingBytes; + }, + + unpad: function (data) { + // Get number of padding bytes from last byte + var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff; + + // Remove padding + data.sigBytes -= nPaddingBytes; + } +}; + + +/** + * ISO 10126 padding strategy. + */ +CryptoJS.pad.Iso10126 = { + pad: function (data, blockSize) { + // Shortcut + var blockSizeBytes = blockSize * 4; + + // Count padding bytes + var nPaddingBytes = blockSizeBytes - data.sigBytes % blockSizeBytes; + + // Pad + data.concat(CryptoJS.lib.WordArray.random(nPaddingBytes - 1)). + concat(CryptoJS.lib.WordArray.create([nPaddingBytes << 24], 1)); + }, + + unpad: function (data) { + // Get number of padding bytes from last byte + var nPaddingBytes = data.words[(data.sigBytes - 1) >>> 2] & 0xff; + + // Remove padding + data.sigBytes -= nPaddingBytes; + } +}; + + +/** + * ISO/IEC 9797-1 Padding Method 2. + */ +CryptoJS.pad.Iso97971 = { + pad: function (data, blockSize) { + // Add 0x80 byte + data.concat(CryptoJS.lib.WordArray.create([0x80000000], 1)); + + // Zero pad the rest + CryptoJS.pad.ZeroPadding.pad(data, blockSize); + }, + + unpad: function (data) { + // Remove zero padding + CryptoJS.pad.ZeroPadding.unpad(data); + + // Remove one more byte -- the 0x80 byte + data.sigBytes--; + } +}; + + +/** + * Output Feedback block mode. + */ +CryptoJS.mode.OFB = (function () { + var OFB = CryptoJS.lib.BlockCipherMode.extend(); + + var Encryptor = OFB.Encryptor = OFB.extend({ + processBlock: function (words, offset) { + // Shortcuts + var cipher = this._cipher + var blockSize = cipher.blockSize; + var iv = this._iv; + var keystream = this._keystream; + + // Generate keystream + if (iv) { + keystream = this._keystream = iv.slice(0); + + // Remove IV for subsequent blocks + this._iv = undefined; + } + cipher.encryptBlock(keystream, 0); + + // Encrypt + for (var i = 0; i < blockSize; i++) { + words[offset + i] ^= keystream[i]; + } + } + }); + + OFB.Decryptor = Encryptor; + + return OFB; +}()); + + +/** + * A noop padding strategy. + */ +CryptoJS.pad.NoPadding = { + pad: function () { + }, + + unpad: function () { + } +}; + + +(function (undefined) { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var CipherParams = C_lib.CipherParams; + var C_enc = C.enc; + var Hex = C_enc.Hex; + var C_format = C.format; + + var HexFormatter = C_format.Hex = { + /** + * Converts the ciphertext of a cipher params object to a hexadecimally encoded string. + * + * @param {CipherParams} cipherParams The cipher params object. + * + * @return {string} The hexadecimally encoded string. + * + * @static + * + * @example + * + * var hexString = CryptoJS.format.Hex.stringify(cipherParams); + */ + stringify: function (cipherParams) { + return cipherParams.ciphertext.toString(Hex); + }, + + /** + * Converts a hexadecimally encoded ciphertext string to a cipher params object. + * + * @param {string} input The hexadecimally encoded string. + * + * @return {CipherParams} The cipher params object. + * + * @static + * + * @example + * + * var cipherParams = CryptoJS.format.Hex.parse(hexString); + */ + parse: function (input) { + var ciphertext = Hex.parse(input); + return CipherParams.create({ ciphertext: ciphertext }); + } + }; +}()); + + +(function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var BlockCipher = C_lib.BlockCipher; + var C_algo = C.algo; + + // Lookup tables + var SBOX = []; + var INV_SBOX = []; + var SUB_MIX_0 = []; + var SUB_MIX_1 = []; + var SUB_MIX_2 = []; + var SUB_MIX_3 = []; + var INV_SUB_MIX_0 = []; + var INV_SUB_MIX_1 = []; + var INV_SUB_MIX_2 = []; + var INV_SUB_MIX_3 = []; + + // Compute lookup tables + (function () { + // Compute double table + var d = []; + for (var i = 0; i < 256; i++) { + if (i < 128) { + d[i] = i << 1; + } else { + d[i] = (i << 1) ^ 0x11b; + } + } + + // Walk GF(2^8) + var x = 0; + var xi = 0; + for (var i = 0; i < 256; i++) { + // Compute sbox + var sx = xi ^ (xi << 1) ^ (xi << 2) ^ (xi << 3) ^ (xi << 4); + sx = (sx >>> 8) ^ (sx & 0xff) ^ 0x63; + SBOX[x] = sx; + INV_SBOX[sx] = x; + + // Compute multiplication + var x2 = d[x]; + var x4 = d[x2]; + var x8 = d[x4]; + + // Compute sub bytes, mix columns tables + var t = (d[sx] * 0x101) ^ (sx * 0x1010100); + SUB_MIX_0[x] = (t << 24) | (t >>> 8); + SUB_MIX_1[x] = (t << 16) | (t >>> 16); + SUB_MIX_2[x] = (t << 8) | (t >>> 24); + SUB_MIX_3[x] = t; + + // Compute inv sub bytes, inv mix columns tables + var t = (x8 * 0x1010101) ^ (x4 * 0x10001) ^ (x2 * 0x101) ^ (x * 0x1010100); + INV_SUB_MIX_0[sx] = (t << 24) | (t >>> 8); + INV_SUB_MIX_1[sx] = (t << 16) | (t >>> 16); + INV_SUB_MIX_2[sx] = (t << 8) | (t >>> 24); + INV_SUB_MIX_3[sx] = t; + + // Compute next counter + if (!x) { + x = xi = 1; + } else { + x = x2 ^ d[d[d[x8 ^ x2]]]; + xi ^= d[d[xi]]; + } + } + }()); + + // Precomputed Rcon lookup + var RCON = [0x00, 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80, 0x1b, 0x36]; + + /** + * AES block cipher algorithm. + */ + var AES = C_algo.AES = BlockCipher.extend({ + _doReset: function () { + // Skip reset of nRounds has been set before and key did not change + if (this._nRounds && this._keyPriorReset === this._key) { + return; + } + + // Shortcuts + var key = this._keyPriorReset = this._key; + var keyWords = key.words; + var keySize = key.sigBytes / 4; + + // Compute number of rounds + var nRounds = this._nRounds = keySize + 6; + + // Compute number of key schedule rows + var ksRows = (nRounds + 1) * 4; + + // Compute key schedule + var keySchedule = this._keySchedule = []; + for (var ksRow = 0; ksRow < ksRows; ksRow++) { + if (ksRow < keySize) { + keySchedule[ksRow] = keyWords[ksRow]; + } else { + var t = keySchedule[ksRow - 1]; + + if (!(ksRow % keySize)) { + // Rot word + t = (t << 8) | (t >>> 24); + + // Sub word + t = (SBOX[t >>> 24] << 24) | (SBOX[(t >>> 16) & 0xff] << 16) | (SBOX[(t >>> 8) & 0xff] << 8) | SBOX[t & 0xff]; + + // Mix Rcon + t ^= RCON[(ksRow / keySize) | 0] << 24; + } else if (keySize > 6 && ksRow % keySize == 4) { + // Sub word + t = (SBOX[t >>> 24] << 24) | (SBOX[(t >>> 16) & 0xff] << 16) | (SBOX[(t >>> 8) & 0xff] << 8) | SBOX[t & 0xff]; + } + + keySchedule[ksRow] = keySchedule[ksRow - keySize] ^ t; + } + } + + // Compute inv key schedule + var invKeySchedule = this._invKeySchedule = []; + for (var invKsRow = 0; invKsRow < ksRows; invKsRow++) { + var ksRow = ksRows - invKsRow; + + if (invKsRow % 4) { + var t = keySchedule[ksRow]; + } else { + var t = keySchedule[ksRow - 4]; + } + + if (invKsRow < 4 || ksRow <= 4) { + invKeySchedule[invKsRow] = t; + } else { + invKeySchedule[invKsRow] = INV_SUB_MIX_0[SBOX[t >>> 24]] ^ INV_SUB_MIX_1[SBOX[(t >>> 16) & 0xff]] ^ + INV_SUB_MIX_2[SBOX[(t >>> 8) & 0xff]] ^ INV_SUB_MIX_3[SBOX[t & 0xff]]; + } + } + }, + + encryptBlock: function (M, offset) { + this._doCryptBlock(M, offset, this._keySchedule, SUB_MIX_0, SUB_MIX_1, SUB_MIX_2, SUB_MIX_3, SBOX); + }, + + decryptBlock: function (M, offset) { + // Swap 2nd and 4th rows + var t = M[offset + 1]; + M[offset + 1] = M[offset + 3]; + M[offset + 3] = t; + + this._doCryptBlock(M, offset, this._invKeySchedule, INV_SUB_MIX_0, INV_SUB_MIX_1, INV_SUB_MIX_2, INV_SUB_MIX_3, INV_SBOX); + + // Inv swap 2nd and 4th rows + var t = M[offset + 1]; + M[offset + 1] = M[offset + 3]; + M[offset + 3] = t; + }, + + _doCryptBlock: function (M, offset, keySchedule, SUB_MIX_0, SUB_MIX_1, SUB_MIX_2, SUB_MIX_3, SBOX) { + // Shortcut + var nRounds = this._nRounds; + + // Get input, add round key + var s0 = M[offset] ^ keySchedule[0]; + var s1 = M[offset + 1] ^ keySchedule[1]; + var s2 = M[offset + 2] ^ keySchedule[2]; + var s3 = M[offset + 3] ^ keySchedule[3]; + + // Key schedule row counter + var ksRow = 4; + + // Rounds + for (var round = 1; round < nRounds; round++) { + // Shift rows, sub bytes, mix columns, add round key + var t0 = SUB_MIX_0[s0 >>> 24] ^ SUB_MIX_1[(s1 >>> 16) & 0xff] ^ SUB_MIX_2[(s2 >>> 8) & 0xff] ^ SUB_MIX_3[s3 & 0xff] ^ keySchedule[ksRow++]; + var t1 = SUB_MIX_0[s1 >>> 24] ^ SUB_MIX_1[(s2 >>> 16) & 0xff] ^ SUB_MIX_2[(s3 >>> 8) & 0xff] ^ SUB_MIX_3[s0 & 0xff] ^ keySchedule[ksRow++]; + var t2 = SUB_MIX_0[s2 >>> 24] ^ SUB_MIX_1[(s3 >>> 16) & 0xff] ^ SUB_MIX_2[(s0 >>> 8) & 0xff] ^ SUB_MIX_3[s1 & 0xff] ^ keySchedule[ksRow++]; + var t3 = SUB_MIX_0[s3 >>> 24] ^ SUB_MIX_1[(s0 >>> 16) & 0xff] ^ SUB_MIX_2[(s1 >>> 8) & 0xff] ^ SUB_MIX_3[s2 & 0xff] ^ keySchedule[ksRow++]; + + // Update state + s0 = t0; + s1 = t1; + s2 = t2; + s3 = t3; + } + + // Shift rows, sub bytes, add round key + var t0 = ((SBOX[s0 >>> 24] << 24) | (SBOX[(s1 >>> 16) & 0xff] << 16) | (SBOX[(s2 >>> 8) & 0xff] << 8) | SBOX[s3 & 0xff]) ^ keySchedule[ksRow++]; + var t1 = ((SBOX[s1 >>> 24] << 24) | (SBOX[(s2 >>> 16) & 0xff] << 16) | (SBOX[(s3 >>> 8) & 0xff] << 8) | SBOX[s0 & 0xff]) ^ keySchedule[ksRow++]; + var t2 = ((SBOX[s2 >>> 24] << 24) | (SBOX[(s3 >>> 16) & 0xff] << 16) | (SBOX[(s0 >>> 8) & 0xff] << 8) | SBOX[s1 & 0xff]) ^ keySchedule[ksRow++]; + var t3 = ((SBOX[s3 >>> 24] << 24) | (SBOX[(s0 >>> 16) & 0xff] << 16) | (SBOX[(s1 >>> 8) & 0xff] << 8) | SBOX[s2 & 0xff]) ^ keySchedule[ksRow++]; + + // Set output + M[offset] = t0; + M[offset + 1] = t1; + M[offset + 2] = t2; + M[offset + 3] = t3; + }, + + keySize: 256/32 + }); + + /** + * Shortcut functions to the cipher's object interface. + * + * @example + * + * var ciphertext = CryptoJS.AES.encrypt(message, key, cfg); + * var plaintext = CryptoJS.AES.decrypt(ciphertext, key, cfg); + */ + C.AES = BlockCipher._createHelper(AES); +}()); + + +(function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var WordArray = C_lib.WordArray; + var BlockCipher = C_lib.BlockCipher; + var C_algo = C.algo; + + // Permuted Choice 1 constants + var PC1 = [ + 57, 49, 41, 33, 25, 17, 9, 1, + 58, 50, 42, 34, 26, 18, 10, 2, + 59, 51, 43, 35, 27, 19, 11, 3, + 60, 52, 44, 36, 63, 55, 47, 39, + 31, 23, 15, 7, 62, 54, 46, 38, + 30, 22, 14, 6, 61, 53, 45, 37, + 29, 21, 13, 5, 28, 20, 12, 4 + ]; + + // Permuted Choice 2 constants + var PC2 = [ + 14, 17, 11, 24, 1, 5, + 3, 28, 15, 6, 21, 10, + 23, 19, 12, 4, 26, 8, + 16, 7, 27, 20, 13, 2, + 41, 52, 31, 37, 47, 55, + 30, 40, 51, 45, 33, 48, + 44, 49, 39, 56, 34, 53, + 46, 42, 50, 36, 29, 32 + ]; + + // Cumulative bit shift constants + var BIT_SHIFTS = [1, 2, 4, 6, 8, 10, 12, 14, 15, 17, 19, 21, 23, 25, 27, 28]; + + // SBOXes and round permutation constants + var SBOX_P = [ + { + 0x0: 0x808200, + 0x10000000: 0x8000, + 0x20000000: 0x808002, + 0x30000000: 0x2, + 0x40000000: 0x200, + 0x50000000: 0x808202, + 0x60000000: 0x800202, + 0x70000000: 0x800000, + 0x80000000: 0x202, + 0x90000000: 0x800200, + 0xa0000000: 0x8200, + 0xb0000000: 0x808000, + 0xc0000000: 0x8002, + 0xd0000000: 0x800002, + 0xe0000000: 0x0, + 0xf0000000: 0x8202, + 0x8000000: 0x0, + 0x18000000: 0x808202, + 0x28000000: 0x8202, + 0x38000000: 0x8000, + 0x48000000: 0x808200, + 0x58000000: 0x200, + 0x68000000: 0x808002, + 0x78000000: 0x2, + 0x88000000: 0x800200, + 0x98000000: 0x8200, + 0xa8000000: 0x808000, + 0xb8000000: 0x800202, + 0xc8000000: 0x800002, + 0xd8000000: 0x8002, + 0xe8000000: 0x202, + 0xf8000000: 0x800000, + 0x1: 0x8000, + 0x10000001: 0x2, + 0x20000001: 0x808200, + 0x30000001: 0x800000, + 0x40000001: 0x808002, + 0x50000001: 0x8200, + 0x60000001: 0x200, + 0x70000001: 0x800202, + 0x80000001: 0x808202, + 0x90000001: 0x808000, + 0xa0000001: 0x800002, + 0xb0000001: 0x8202, + 0xc0000001: 0x202, + 0xd0000001: 0x800200, + 0xe0000001: 0x8002, + 0xf0000001: 0x0, + 0x8000001: 0x808202, + 0x18000001: 0x808000, + 0x28000001: 0x800000, + 0x38000001: 0x200, + 0x48000001: 0x8000, + 0x58000001: 0x800002, + 0x68000001: 0x2, + 0x78000001: 0x8202, + 0x88000001: 0x8002, + 0x98000001: 0x800202, + 0xa8000001: 0x202, + 0xb8000001: 0x808200, + 0xc8000001: 0x800200, + 0xd8000001: 0x0, + 0xe8000001: 0x8200, + 0xf8000001: 0x808002 + }, + { + 0x0: 0x40084010, + 0x1000000: 0x4000, + 0x2000000: 0x80000, + 0x3000000: 0x40080010, + 0x4000000: 0x40000010, + 0x5000000: 0x40084000, + 0x6000000: 0x40004000, + 0x7000000: 0x10, + 0x8000000: 0x84000, + 0x9000000: 0x40004010, + 0xa000000: 0x40000000, + 0xb000000: 0x84010, + 0xc000000: 0x80010, + 0xd000000: 0x0, + 0xe000000: 0x4010, + 0xf000000: 0x40080000, + 0x800000: 0x40004000, + 0x1800000: 0x84010, + 0x2800000: 0x10, + 0x3800000: 0x40004010, + 0x4800000: 0x40084010, + 0x5800000: 0x40000000, + 0x6800000: 0x80000, + 0x7800000: 0x40080010, + 0x8800000: 0x80010, + 0x9800000: 0x0, + 0xa800000: 0x4000, + 0xb800000: 0x40080000, + 0xc800000: 0x40000010, + 0xd800000: 0x84000, + 0xe800000: 0x40084000, + 0xf800000: 0x4010, + 0x10000000: 0x0, + 0x11000000: 0x40080010, + 0x12000000: 0x40004010, + 0x13000000: 0x40084000, + 0x14000000: 0x40080000, + 0x15000000: 0x10, + 0x16000000: 0x84010, + 0x17000000: 0x4000, + 0x18000000: 0x4010, + 0x19000000: 0x80000, + 0x1a000000: 0x80010, + 0x1b000000: 0x40000010, + 0x1c000000: 0x84000, + 0x1d000000: 0x40004000, + 0x1e000000: 0x40000000, + 0x1f000000: 0x40084010, + 0x10800000: 0x84010, + 0x11800000: 0x80000, + 0x12800000: 0x40080000, + 0x13800000: 0x4000, + 0x14800000: 0x40004000, + 0x15800000: 0x40084010, + 0x16800000: 0x10, + 0x17800000: 0x40000000, + 0x18800000: 0x40084000, + 0x19800000: 0x40000010, + 0x1a800000: 0x40004010, + 0x1b800000: 0x80010, + 0x1c800000: 0x0, + 0x1d800000: 0x4010, + 0x1e800000: 0x40080010, + 0x1f800000: 0x84000 + }, + { + 0x0: 0x104, + 0x100000: 0x0, + 0x200000: 0x4000100, + 0x300000: 0x10104, + 0x400000: 0x10004, + 0x500000: 0x4000004, + 0x600000: 0x4010104, + 0x700000: 0x4010000, + 0x800000: 0x4000000, + 0x900000: 0x4010100, + 0xa00000: 0x10100, + 0xb00000: 0x4010004, + 0xc00000: 0x4000104, + 0xd00000: 0x10000, + 0xe00000: 0x4, + 0xf00000: 0x100, + 0x80000: 0x4010100, + 0x180000: 0x4010004, + 0x280000: 0x0, + 0x380000: 0x4000100, + 0x480000: 0x4000004, + 0x580000: 0x10000, + 0x680000: 0x10004, + 0x780000: 0x104, + 0x880000: 0x4, + 0x980000: 0x100, + 0xa80000: 0x4010000, + 0xb80000: 0x10104, + 0xc80000: 0x10100, + 0xd80000: 0x4000104, + 0xe80000: 0x4010104, + 0xf80000: 0x4000000, + 0x1000000: 0x4010100, + 0x1100000: 0x10004, + 0x1200000: 0x10000, + 0x1300000: 0x4000100, + 0x1400000: 0x100, + 0x1500000: 0x4010104, + 0x1600000: 0x4000004, + 0x1700000: 0x0, + 0x1800000: 0x4000104, + 0x1900000: 0x4000000, + 0x1a00000: 0x4, + 0x1b00000: 0x10100, + 0x1c00000: 0x4010000, + 0x1d00000: 0x104, + 0x1e00000: 0x10104, + 0x1f00000: 0x4010004, + 0x1080000: 0x4000000, + 0x1180000: 0x104, + 0x1280000: 0x4010100, + 0x1380000: 0x0, + 0x1480000: 0x10004, + 0x1580000: 0x4000100, + 0x1680000: 0x100, + 0x1780000: 0x4010004, + 0x1880000: 0x10000, + 0x1980000: 0x4010104, + 0x1a80000: 0x10104, + 0x1b80000: 0x4000004, + 0x1c80000: 0x4000104, + 0x1d80000: 0x4010000, + 0x1e80000: 0x4, + 0x1f80000: 0x10100 + }, + { + 0x0: 0x80401000, + 0x10000: 0x80001040, + 0x20000: 0x401040, + 0x30000: 0x80400000, + 0x40000: 0x0, + 0x50000: 0x401000, + 0x60000: 0x80000040, + 0x70000: 0x400040, + 0x80000: 0x80000000, + 0x90000: 0x400000, + 0xa0000: 0x40, + 0xb0000: 0x80001000, + 0xc0000: 0x80400040, + 0xd0000: 0x1040, + 0xe0000: 0x1000, + 0xf0000: 0x80401040, + 0x8000: 0x80001040, + 0x18000: 0x40, + 0x28000: 0x80400040, + 0x38000: 0x80001000, + 0x48000: 0x401000, + 0x58000: 0x80401040, + 0x68000: 0x0, + 0x78000: 0x80400000, + 0x88000: 0x1000, + 0x98000: 0x80401000, + 0xa8000: 0x400000, + 0xb8000: 0x1040, + 0xc8000: 0x80000000, + 0xd8000: 0x400040, + 0xe8000: 0x401040, + 0xf8000: 0x80000040, + 0x100000: 0x400040, + 0x110000: 0x401000, + 0x120000: 0x80000040, + 0x130000: 0x0, + 0x140000: 0x1040, + 0x150000: 0x80400040, + 0x160000: 0x80401000, + 0x170000: 0x80001040, + 0x180000: 0x80401040, + 0x190000: 0x80000000, + 0x1a0000: 0x80400000, + 0x1b0000: 0x401040, + 0x1c0000: 0x80001000, + 0x1d0000: 0x400000, + 0x1e0000: 0x40, + 0x1f0000: 0x1000, + 0x108000: 0x80400000, + 0x118000: 0x80401040, + 0x128000: 0x0, + 0x138000: 0x401000, + 0x148000: 0x400040, + 0x158000: 0x80000000, + 0x168000: 0x80001040, + 0x178000: 0x40, + 0x188000: 0x80000040, + 0x198000: 0x1000, + 0x1a8000: 0x80001000, + 0x1b8000: 0x80400040, + 0x1c8000: 0x1040, + 0x1d8000: 0x80401000, + 0x1e8000: 0x400000, + 0x1f8000: 0x401040 + }, + { + 0x0: 0x80, + 0x1000: 0x1040000, + 0x2000: 0x40000, + 0x3000: 0x20000000, + 0x4000: 0x20040080, + 0x5000: 0x1000080, + 0x6000: 0x21000080, + 0x7000: 0x40080, + 0x8000: 0x1000000, + 0x9000: 0x20040000, + 0xa000: 0x20000080, + 0xb000: 0x21040080, + 0xc000: 0x21040000, + 0xd000: 0x0, + 0xe000: 0x1040080, + 0xf000: 0x21000000, + 0x800: 0x1040080, + 0x1800: 0x21000080, + 0x2800: 0x80, + 0x3800: 0x1040000, + 0x4800: 0x40000, + 0x5800: 0x20040080, + 0x6800: 0x21040000, + 0x7800: 0x20000000, + 0x8800: 0x20040000, + 0x9800: 0x0, + 0xa800: 0x21040080, + 0xb800: 0x1000080, + 0xc800: 0x20000080, + 0xd800: 0x21000000, + 0xe800: 0x1000000, + 0xf800: 0x40080, + 0x10000: 0x40000, + 0x11000: 0x80, + 0x12000: 0x20000000, + 0x13000: 0x21000080, + 0x14000: 0x1000080, + 0x15000: 0x21040000, + 0x16000: 0x20040080, + 0x17000: 0x1000000, + 0x18000: 0x21040080, + 0x19000: 0x21000000, + 0x1a000: 0x1040000, + 0x1b000: 0x20040000, + 0x1c000: 0x40080, + 0x1d000: 0x20000080, + 0x1e000: 0x0, + 0x1f000: 0x1040080, + 0x10800: 0x21000080, + 0x11800: 0x1000000, + 0x12800: 0x1040000, + 0x13800: 0x20040080, + 0x14800: 0x20000000, + 0x15800: 0x1040080, + 0x16800: 0x80, + 0x17800: 0x21040000, + 0x18800: 0x40080, + 0x19800: 0x21040080, + 0x1a800: 0x0, + 0x1b800: 0x21000000, + 0x1c800: 0x1000080, + 0x1d800: 0x40000, + 0x1e800: 0x20040000, + 0x1f800: 0x20000080 + }, + { + 0x0: 0x10000008, + 0x100: 0x2000, + 0x200: 0x10200000, + 0x300: 0x10202008, + 0x400: 0x10002000, + 0x500: 0x200000, + 0x600: 0x200008, + 0x700: 0x10000000, + 0x800: 0x0, + 0x900: 0x10002008, + 0xa00: 0x202000, + 0xb00: 0x8, + 0xc00: 0x10200008, + 0xd00: 0x202008, + 0xe00: 0x2008, + 0xf00: 0x10202000, + 0x80: 0x10200000, + 0x180: 0x10202008, + 0x280: 0x8, + 0x380: 0x200000, + 0x480: 0x202008, + 0x580: 0x10000008, + 0x680: 0x10002000, + 0x780: 0x2008, + 0x880: 0x200008, + 0x980: 0x2000, + 0xa80: 0x10002008, + 0xb80: 0x10200008, + 0xc80: 0x0, + 0xd80: 0x10202000, + 0xe80: 0x202000, + 0xf80: 0x10000000, + 0x1000: 0x10002000, + 0x1100: 0x10200008, + 0x1200: 0x10202008, + 0x1300: 0x2008, + 0x1400: 0x200000, + 0x1500: 0x10000000, + 0x1600: 0x10000008, + 0x1700: 0x202000, + 0x1800: 0x202008, + 0x1900: 0x0, + 0x1a00: 0x8, + 0x1b00: 0x10200000, + 0x1c00: 0x2000, + 0x1d00: 0x10002008, + 0x1e00: 0x10202000, + 0x1f00: 0x200008, + 0x1080: 0x8, + 0x1180: 0x202000, + 0x1280: 0x200000, + 0x1380: 0x10000008, + 0x1480: 0x10002000, + 0x1580: 0x2008, + 0x1680: 0x10202008, + 0x1780: 0x10200000, + 0x1880: 0x10202000, + 0x1980: 0x10200008, + 0x1a80: 0x2000, + 0x1b80: 0x202008, + 0x1c80: 0x200008, + 0x1d80: 0x0, + 0x1e80: 0x10000000, + 0x1f80: 0x10002008 + }, + { + 0x0: 0x100000, + 0x10: 0x2000401, + 0x20: 0x400, + 0x30: 0x100401, + 0x40: 0x2100401, + 0x50: 0x0, + 0x60: 0x1, + 0x70: 0x2100001, + 0x80: 0x2000400, + 0x90: 0x100001, + 0xa0: 0x2000001, + 0xb0: 0x2100400, + 0xc0: 0x2100000, + 0xd0: 0x401, + 0xe0: 0x100400, + 0xf0: 0x2000000, + 0x8: 0x2100001, + 0x18: 0x0, + 0x28: 0x2000401, + 0x38: 0x2100400, + 0x48: 0x100000, + 0x58: 0x2000001, + 0x68: 0x2000000, + 0x78: 0x401, + 0x88: 0x100401, + 0x98: 0x2000400, + 0xa8: 0x2100000, + 0xb8: 0x100001, + 0xc8: 0x400, + 0xd8: 0x2100401, + 0xe8: 0x1, + 0xf8: 0x100400, + 0x100: 0x2000000, + 0x110: 0x100000, + 0x120: 0x2000401, + 0x130: 0x2100001, + 0x140: 0x100001, + 0x150: 0x2000400, + 0x160: 0x2100400, + 0x170: 0x100401, + 0x180: 0x401, + 0x190: 0x2100401, + 0x1a0: 0x100400, + 0x1b0: 0x1, + 0x1c0: 0x0, + 0x1d0: 0x2100000, + 0x1e0: 0x2000001, + 0x1f0: 0x400, + 0x108: 0x100400, + 0x118: 0x2000401, + 0x128: 0x2100001, + 0x138: 0x1, + 0x148: 0x2000000, + 0x158: 0x100000, + 0x168: 0x401, + 0x178: 0x2100400, + 0x188: 0x2000001, + 0x198: 0x2100000, + 0x1a8: 0x0, + 0x1b8: 0x2100401, + 0x1c8: 0x100401, + 0x1d8: 0x400, + 0x1e8: 0x2000400, + 0x1f8: 0x100001 + }, + { + 0x0: 0x8000820, + 0x1: 0x20000, + 0x2: 0x8000000, + 0x3: 0x20, + 0x4: 0x20020, + 0x5: 0x8020820, + 0x6: 0x8020800, + 0x7: 0x800, + 0x8: 0x8020000, + 0x9: 0x8000800, + 0xa: 0x20800, + 0xb: 0x8020020, + 0xc: 0x820, + 0xd: 0x0, + 0xe: 0x8000020, + 0xf: 0x20820, + 0x80000000: 0x800, + 0x80000001: 0x8020820, + 0x80000002: 0x8000820, + 0x80000003: 0x8000000, + 0x80000004: 0x8020000, + 0x80000005: 0x20800, + 0x80000006: 0x20820, + 0x80000007: 0x20, + 0x80000008: 0x8000020, + 0x80000009: 0x820, + 0x8000000a: 0x20020, + 0x8000000b: 0x8020800, + 0x8000000c: 0x0, + 0x8000000d: 0x8020020, + 0x8000000e: 0x8000800, + 0x8000000f: 0x20000, + 0x10: 0x20820, + 0x11: 0x8020800, + 0x12: 0x20, + 0x13: 0x800, + 0x14: 0x8000800, + 0x15: 0x8000020, + 0x16: 0x8020020, + 0x17: 0x20000, + 0x18: 0x0, + 0x19: 0x20020, + 0x1a: 0x8020000, + 0x1b: 0x8000820, + 0x1c: 0x8020820, + 0x1d: 0x20800, + 0x1e: 0x820, + 0x1f: 0x8000000, + 0x80000010: 0x20000, + 0x80000011: 0x800, + 0x80000012: 0x8020020, + 0x80000013: 0x20820, + 0x80000014: 0x20, + 0x80000015: 0x8020000, + 0x80000016: 0x8000000, + 0x80000017: 0x8000820, + 0x80000018: 0x8020820, + 0x80000019: 0x8000020, + 0x8000001a: 0x8000800, + 0x8000001b: 0x0, + 0x8000001c: 0x20800, + 0x8000001d: 0x820, + 0x8000001e: 0x20020, + 0x8000001f: 0x8020800 + } + ]; + + // Masks that select the SBOX input + var SBOX_MASK = [ + 0xf8000001, 0x1f800000, 0x01f80000, 0x001f8000, + 0x0001f800, 0x00001f80, 0x000001f8, 0x8000001f + ]; + + /** + * DES block cipher algorithm. + */ + var DES = C_algo.DES = BlockCipher.extend({ + _doReset: function () { + // Shortcuts + var key = this._key; + var keyWords = key.words; + + // Select 56 bits according to PC1 + var keyBits = []; + for (var i = 0; i < 56; i++) { + var keyBitPos = PC1[i] - 1; + keyBits[i] = (keyWords[keyBitPos >>> 5] >>> (31 - keyBitPos % 32)) & 1; + } + + // Assemble 16 subkeys + var subKeys = this._subKeys = []; + for (var nSubKey = 0; nSubKey < 16; nSubKey++) { + // Create subkey + var subKey = subKeys[nSubKey] = []; + + // Shortcut + var bitShift = BIT_SHIFTS[nSubKey]; + + // Select 48 bits according to PC2 + for (var i = 0; i < 24; i++) { + // Select from the left 28 key bits + subKey[(i / 6) | 0] |= keyBits[((PC2[i] - 1) + bitShift) % 28] << (31 - i % 6); + + // Select from the right 28 key bits + subKey[4 + ((i / 6) | 0)] |= keyBits[28 + (((PC2[i + 24] - 1) + bitShift) % 28)] << (31 - i % 6); + } + + // Since each subkey is applied to an expanded 32-bit input, + // the subkey can be broken into 8 values scaled to 32-bits, + // which allows the key to be used without expansion + subKey[0] = (subKey[0] << 1) | (subKey[0] >>> 31); + for (var i = 1; i < 7; i++) { + subKey[i] = subKey[i] >>> ((i - 1) * 4 + 3); + } + subKey[7] = (subKey[7] << 5) | (subKey[7] >>> 27); + } + + // Compute inverse subkeys + var invSubKeys = this._invSubKeys = []; + for (var i = 0; i < 16; i++) { + invSubKeys[i] = subKeys[15 - i]; + } + }, + + encryptBlock: function (M, offset) { + this._doCryptBlock(M, offset, this._subKeys); + }, + + decryptBlock: function (M, offset) { + this._doCryptBlock(M, offset, this._invSubKeys); + }, + + _doCryptBlock: function (M, offset, subKeys) { + // Get input + this._lBlock = M[offset]; + this._rBlock = M[offset + 1]; + + // Initial permutation + exchangeLR.call(this, 4, 0x0f0f0f0f); + exchangeLR.call(this, 16, 0x0000ffff); + exchangeRL.call(this, 2, 0x33333333); + exchangeRL.call(this, 8, 0x00ff00ff); + exchangeLR.call(this, 1, 0x55555555); + + // Rounds + for (var round = 0; round < 16; round++) { + // Shortcuts + var subKey = subKeys[round]; + var lBlock = this._lBlock; + var rBlock = this._rBlock; + + // Feistel function + var f = 0; + for (var i = 0; i < 8; i++) { + f |= SBOX_P[i][((rBlock ^ subKey[i]) & SBOX_MASK[i]) >>> 0]; + } + this._lBlock = rBlock; + this._rBlock = lBlock ^ f; + } + + // Undo swap from last round + var t = this._lBlock; + this._lBlock = this._rBlock; + this._rBlock = t; + + // Final permutation + exchangeLR.call(this, 1, 0x55555555); + exchangeRL.call(this, 8, 0x00ff00ff); + exchangeRL.call(this, 2, 0x33333333); + exchangeLR.call(this, 16, 0x0000ffff); + exchangeLR.call(this, 4, 0x0f0f0f0f); + + // Set output + M[offset] = this._lBlock; + M[offset + 1] = this._rBlock; + }, + + keySize: 64/32, + + ivSize: 64/32, + + blockSize: 64/32 + }); + + // Swap bits across the left and right words + function exchangeLR(offset, mask) { + var t = ((this._lBlock >>> offset) ^ this._rBlock) & mask; + this._rBlock ^= t; + this._lBlock ^= t << offset; + } + + function exchangeRL(offset, mask) { + var t = ((this._rBlock >>> offset) ^ this._lBlock) & mask; + this._lBlock ^= t; + this._rBlock ^= t << offset; + } + + /** + * Shortcut functions to the cipher's object interface. + * + * @example + * + * var ciphertext = CryptoJS.DES.encrypt(message, key, cfg); + * var plaintext = CryptoJS.DES.decrypt(ciphertext, key, cfg); + */ + C.DES = BlockCipher._createHelper(DES); + + /** + * Triple-DES block cipher algorithm. + */ + var TripleDES = C_algo.TripleDES = BlockCipher.extend({ + _doReset: function () { + // Shortcuts + var key = this._key; + var keyWords = key.words; + + // Create DES instances + this._des1 = DES.createEncryptor(WordArray.create(keyWords.slice(0, 2))); + this._des2 = DES.createEncryptor(WordArray.create(keyWords.slice(2, 4))); + this._des3 = DES.createEncryptor(WordArray.create(keyWords.slice(4, 6))); + }, + + encryptBlock: function (M, offset) { + this._des1.encryptBlock(M, offset); + this._des2.decryptBlock(M, offset); + this._des3.encryptBlock(M, offset); + }, + + decryptBlock: function (M, offset) { + this._des3.decryptBlock(M, offset); + this._des2.encryptBlock(M, offset); + this._des1.decryptBlock(M, offset); + }, + + keySize: 192/32, + + ivSize: 64/32, + + blockSize: 64/32 + }); + + /** + * Shortcut functions to the cipher's object interface. + * + * @example + * + * var ciphertext = CryptoJS.TripleDES.encrypt(message, key, cfg); + * var plaintext = CryptoJS.TripleDES.decrypt(ciphertext, key, cfg); + */ + C.TripleDES = BlockCipher._createHelper(TripleDES); +}()); + + +(function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var StreamCipher = C_lib.StreamCipher; + var C_algo = C.algo; + + /** + * RC4 stream cipher algorithm. + */ + var RC4 = C_algo.RC4 = StreamCipher.extend({ + _doReset: function () { + // Shortcuts + var key = this._key; + var keyWords = key.words; + var keySigBytes = key.sigBytes; + + // Init sbox + var S = this._S = []; + for (var i = 0; i < 256; i++) { + S[i] = i; + } + + // Key setup + for (var i = 0, j = 0; i < 256; i++) { + var keyByteIndex = i % keySigBytes; + var keyByte = (keyWords[keyByteIndex >>> 2] >>> (24 - (keyByteIndex % 4) * 8)) & 0xff; + + j = (j + S[i] + keyByte) % 256; + + // Swap + var t = S[i]; + S[i] = S[j]; + S[j] = t; + } + + // Counters + this._i = this._j = 0; + }, + + _doProcessBlock: function (M, offset) { + M[offset] ^= generateKeystreamWord.call(this); + }, + + keySize: 256/32, + + ivSize: 0 + }); + + function generateKeystreamWord() { + // Shortcuts + var S = this._S; + var i = this._i; + var j = this._j; + + // Generate keystream word + var keystreamWord = 0; + for (var n = 0; n < 4; n++) { + i = (i + 1) % 256; + j = (j + S[i]) % 256; + + // Swap + var t = S[i]; + S[i] = S[j]; + S[j] = t; + + keystreamWord |= S[(S[i] + S[j]) % 256] << (24 - n * 8); + } + + // Update counters + this._i = i; + this._j = j; + + return keystreamWord; + } + + /** + * Shortcut functions to the cipher's object interface. + * + * @example + * + * var ciphertext = CryptoJS.RC4.encrypt(message, key, cfg); + * var plaintext = CryptoJS.RC4.decrypt(ciphertext, key, cfg); + */ + C.RC4 = StreamCipher._createHelper(RC4); + + /** + * Modified RC4 stream cipher algorithm. + */ + var RC4Drop = C_algo.RC4Drop = RC4.extend({ + /** + * Configuration options. + * + * @property {number} drop The number of keystream words to drop. Default 192 + */ + cfg: RC4.cfg.extend({ + drop: 192 + }), + + _doReset: function () { + RC4._doReset.call(this); + + // Drop + for (var i = this.cfg.drop; i > 0; i--) { + generateKeystreamWord.call(this); + } + } + }); + + /** + * Shortcut functions to the cipher's object interface. + * + * @example + * + * var ciphertext = CryptoJS.RC4Drop.encrypt(message, key, cfg); + * var plaintext = CryptoJS.RC4Drop.decrypt(ciphertext, key, cfg); + */ + C.RC4Drop = StreamCipher._createHelper(RC4Drop); +}()); + + +/** @preserve + * Counter block mode compatible with Dr Brian Gladman fileenc.c + * derived from CryptoJS.mode.CTR + * Jan Hruby jhruby.web@gmail.com + */ +CryptoJS.mode.CTRGladman = (function () { + var CTRGladman = CryptoJS.lib.BlockCipherMode.extend(); + + function incWord(word) + { + if (((word >> 24) & 0xff) === 0xff) { //overflow + var b1 = (word >> 16)&0xff; + var b2 = (word >> 8)&0xff; + var b3 = word & 0xff; + + if (b1 === 0xff) // overflow b1 + { + b1 = 0; + if (b2 === 0xff) + { + b2 = 0; + if (b3 === 0xff) + { + b3 = 0; + } + else + { + ++b3; + } + } + else + { + ++b2; + } + } + else + { + ++b1; + } + + word = 0; + word += (b1 << 16); + word += (b2 << 8); + word += b3; + } + else + { + word += (0x01 << 24); + } + return word; + } + + function incCounter(counter) + { + if ((counter[0] = incWord(counter[0])) === 0) + { + // encr_data in fileenc.c from Dr Brian Gladman's counts only with DWORD j < 8 + counter[1] = incWord(counter[1]); + } + return counter; + } + + var Encryptor = CTRGladman.Encryptor = CTRGladman.extend({ + processBlock: function (words, offset) { + // Shortcuts + var cipher = this._cipher + var blockSize = cipher.blockSize; + var iv = this._iv; + var counter = this._counter; + + // Generate keystream + if (iv) { + counter = this._counter = iv.slice(0); + + // Remove IV for subsequent blocks + this._iv = undefined; + } + + incCounter(counter); + + var keystream = counter.slice(0); + cipher.encryptBlock(keystream, 0); + + // Encrypt + for (var i = 0; i < blockSize; i++) { + words[offset + i] ^= keystream[i]; + } + } + }); + + CTRGladman.Decryptor = Encryptor; + + return CTRGladman; +}()); + + + + +(function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var StreamCipher = C_lib.StreamCipher; + var C_algo = C.algo; + + // Reusable objects + var S = []; + var C_ = []; + var G = []; + + /** + * Rabbit stream cipher algorithm + */ + var Rabbit = C_algo.Rabbit = StreamCipher.extend({ + _doReset: function () { + // Shortcuts + var K = this._key.words; + var iv = this.cfg.iv; + + // Swap endian + for (var i = 0; i < 4; i++) { + K[i] = (((K[i] << 8) | (K[i] >>> 24)) & 0x00ff00ff) | + (((K[i] << 24) | (K[i] >>> 8)) & 0xff00ff00); + } + + // Generate initial state values + var X = this._X = [ + K[0], (K[3] << 16) | (K[2] >>> 16), + K[1], (K[0] << 16) | (K[3] >>> 16), + K[2], (K[1] << 16) | (K[0] >>> 16), + K[3], (K[2] << 16) | (K[1] >>> 16) + ]; + + // Generate initial counter values + var C = this._C = [ + (K[2] << 16) | (K[2] >>> 16), (K[0] & 0xffff0000) | (K[1] & 0x0000ffff), + (K[3] << 16) | (K[3] >>> 16), (K[1] & 0xffff0000) | (K[2] & 0x0000ffff), + (K[0] << 16) | (K[0] >>> 16), (K[2] & 0xffff0000) | (K[3] & 0x0000ffff), + (K[1] << 16) | (K[1] >>> 16), (K[3] & 0xffff0000) | (K[0] & 0x0000ffff) + ]; + + // Carry bit + this._b = 0; + + // Iterate the system four times + for (var i = 0; i < 4; i++) { + nextState.call(this); + } + + // Modify the counters + for (var i = 0; i < 8; i++) { + C[i] ^= X[(i + 4) & 7]; + } + + // IV setup + if (iv) { + // Shortcuts + var IV = iv.words; + var IV_0 = IV[0]; + var IV_1 = IV[1]; + + // Generate four subvectors + var i0 = (((IV_0 << 8) | (IV_0 >>> 24)) & 0x00ff00ff) | (((IV_0 << 24) | (IV_0 >>> 8)) & 0xff00ff00); + var i2 = (((IV_1 << 8) | (IV_1 >>> 24)) & 0x00ff00ff) | (((IV_1 << 24) | (IV_1 >>> 8)) & 0xff00ff00); + var i1 = (i0 >>> 16) | (i2 & 0xffff0000); + var i3 = (i2 << 16) | (i0 & 0x0000ffff); + + // Modify counter values + C[0] ^= i0; + C[1] ^= i1; + C[2] ^= i2; + C[3] ^= i3; + C[4] ^= i0; + C[5] ^= i1; + C[6] ^= i2; + C[7] ^= i3; + + // Iterate the system four times + for (var i = 0; i < 4; i++) { + nextState.call(this); + } + } + }, + + _doProcessBlock: function (M, offset) { + // Shortcut + var X = this._X; + + // Iterate the system + nextState.call(this); + + // Generate four keystream words + S[0] = X[0] ^ (X[5] >>> 16) ^ (X[3] << 16); + S[1] = X[2] ^ (X[7] >>> 16) ^ (X[5] << 16); + S[2] = X[4] ^ (X[1] >>> 16) ^ (X[7] << 16); + S[3] = X[6] ^ (X[3] >>> 16) ^ (X[1] << 16); + + for (var i = 0; i < 4; i++) { + // Swap endian + S[i] = (((S[i] << 8) | (S[i] >>> 24)) & 0x00ff00ff) | + (((S[i] << 24) | (S[i] >>> 8)) & 0xff00ff00); + + // Encrypt + M[offset + i] ^= S[i]; + } + }, + + blockSize: 128/32, + + ivSize: 64/32 + }); + + function nextState() { + // Shortcuts + var X = this._X; + var C = this._C; + + // Save old counter values + for (var i = 0; i < 8; i++) { + C_[i] = C[i]; + } + + // Calculate new counter values + C[0] = (C[0] + 0x4d34d34d + this._b) | 0; + C[1] = (C[1] + 0xd34d34d3 + ((C[0] >>> 0) < (C_[0] >>> 0) ? 1 : 0)) | 0; + C[2] = (C[2] + 0x34d34d34 + ((C[1] >>> 0) < (C_[1] >>> 0) ? 1 : 0)) | 0; + C[3] = (C[3] + 0x4d34d34d + ((C[2] >>> 0) < (C_[2] >>> 0) ? 1 : 0)) | 0; + C[4] = (C[4] + 0xd34d34d3 + ((C[3] >>> 0) < (C_[3] >>> 0) ? 1 : 0)) | 0; + C[5] = (C[5] + 0x34d34d34 + ((C[4] >>> 0) < (C_[4] >>> 0) ? 1 : 0)) | 0; + C[6] = (C[6] + 0x4d34d34d + ((C[5] >>> 0) < (C_[5] >>> 0) ? 1 : 0)) | 0; + C[7] = (C[7] + 0xd34d34d3 + ((C[6] >>> 0) < (C_[6] >>> 0) ? 1 : 0)) | 0; + this._b = (C[7] >>> 0) < (C_[7] >>> 0) ? 1 : 0; + + // Calculate the g-values + for (var i = 0; i < 8; i++) { + var gx = X[i] + C[i]; + + // Construct high and low argument for squaring + var ga = gx & 0xffff; + var gb = gx >>> 16; + + // Calculate high and low result of squaring + var gh = ((((ga * ga) >>> 17) + ga * gb) >>> 15) + gb * gb; + var gl = (((gx & 0xffff0000) * gx) | 0) + (((gx & 0x0000ffff) * gx) | 0); + + // High XOR low + G[i] = gh ^ gl; + } + + // Calculate new state values + X[0] = (G[0] + ((G[7] << 16) | (G[7] >>> 16)) + ((G[6] << 16) | (G[6] >>> 16))) | 0; + X[1] = (G[1] + ((G[0] << 8) | (G[0] >>> 24)) + G[7]) | 0; + X[2] = (G[2] + ((G[1] << 16) | (G[1] >>> 16)) + ((G[0] << 16) | (G[0] >>> 16))) | 0; + X[3] = (G[3] + ((G[2] << 8) | (G[2] >>> 24)) + G[1]) | 0; + X[4] = (G[4] + ((G[3] << 16) | (G[3] >>> 16)) + ((G[2] << 16) | (G[2] >>> 16))) | 0; + X[5] = (G[5] + ((G[4] << 8) | (G[4] >>> 24)) + G[3]) | 0; + X[6] = (G[6] + ((G[5] << 16) | (G[5] >>> 16)) + ((G[4] << 16) | (G[4] >>> 16))) | 0; + X[7] = (G[7] + ((G[6] << 8) | (G[6] >>> 24)) + G[5]) | 0; + } + + /** + * Shortcut functions to the cipher's object interface. + * + * @example + * + * var ciphertext = CryptoJS.Rabbit.encrypt(message, key, cfg); + * var plaintext = CryptoJS.Rabbit.decrypt(ciphertext, key, cfg); + */ + C.Rabbit = StreamCipher._createHelper(Rabbit); +}()); + + +/** + * Counter block mode. + */ +CryptoJS.mode.CTR = (function () { + var CTR = CryptoJS.lib.BlockCipherMode.extend(); + + var Encryptor = CTR.Encryptor = CTR.extend({ + processBlock: function (words, offset) { + // Shortcuts + var cipher = this._cipher + var blockSize = cipher.blockSize; + var iv = this._iv; + var counter = this._counter; + + // Generate keystream + if (iv) { + counter = this._counter = iv.slice(0); + + // Remove IV for subsequent blocks + this._iv = undefined; + } + var keystream = counter.slice(0); + cipher.encryptBlock(keystream, 0); + + // Increment counter + counter[blockSize - 1] = (counter[blockSize - 1] + 1) | 0 + + // Encrypt + for (var i = 0; i < blockSize; i++) { + words[offset + i] ^= keystream[i]; + } + } + }); + + CTR.Decryptor = Encryptor; + + return CTR; +}()); + + +(function () { + // Shortcuts + var C = CryptoJS; + var C_lib = C.lib; + var StreamCipher = C_lib.StreamCipher; + var C_algo = C.algo; + + // Reusable objects + var S = []; + var C_ = []; + var G = []; + + /** + * Rabbit stream cipher algorithm. + * + * This is a legacy version that neglected to convert the key to little-endian. + * This error doesn't affect the cipher's security, + * but it does affect its compatibility with other implementations. + */ + var RabbitLegacy = C_algo.RabbitLegacy = StreamCipher.extend({ + _doReset: function () { + // Shortcuts + var K = this._key.words; + var iv = this.cfg.iv; + + // Generate initial state values + var X = this._X = [ + K[0], (K[3] << 16) | (K[2] >>> 16), + K[1], (K[0] << 16) | (K[3] >>> 16), + K[2], (K[1] << 16) | (K[0] >>> 16), + K[3], (K[2] << 16) | (K[1] >>> 16) + ]; + + // Generate initial counter values + var C = this._C = [ + (K[2] << 16) | (K[2] >>> 16), (K[0] & 0xffff0000) | (K[1] & 0x0000ffff), + (K[3] << 16) | (K[3] >>> 16), (K[1] & 0xffff0000) | (K[2] & 0x0000ffff), + (K[0] << 16) | (K[0] >>> 16), (K[2] & 0xffff0000) | (K[3] & 0x0000ffff), + (K[1] << 16) | (K[1] >>> 16), (K[3] & 0xffff0000) | (K[0] & 0x0000ffff) + ]; + + // Carry bit + this._b = 0; + + // Iterate the system four times + for (var i = 0; i < 4; i++) { + nextState.call(this); + } + + // Modify the counters + for (var i = 0; i < 8; i++) { + C[i] ^= X[(i + 4) & 7]; + } + + // IV setup + if (iv) { + // Shortcuts + var IV = iv.words; + var IV_0 = IV[0]; + var IV_1 = IV[1]; + + // Generate four subvectors + var i0 = (((IV_0 << 8) | (IV_0 >>> 24)) & 0x00ff00ff) | (((IV_0 << 24) | (IV_0 >>> 8)) & 0xff00ff00); + var i2 = (((IV_1 << 8) | (IV_1 >>> 24)) & 0x00ff00ff) | (((IV_1 << 24) | (IV_1 >>> 8)) & 0xff00ff00); + var i1 = (i0 >>> 16) | (i2 & 0xffff0000); + var i3 = (i2 << 16) | (i0 & 0x0000ffff); + + // Modify counter values + C[0] ^= i0; + C[1] ^= i1; + C[2] ^= i2; + C[3] ^= i3; + C[4] ^= i0; + C[5] ^= i1; + C[6] ^= i2; + C[7] ^= i3; + + // Iterate the system four times + for (var i = 0; i < 4; i++) { + nextState.call(this); + } + } + }, + + _doProcessBlock: function (M, offset) { + // Shortcut + var X = this._X; + + // Iterate the system + nextState.call(this); + + // Generate four keystream words + S[0] = X[0] ^ (X[5] >>> 16) ^ (X[3] << 16); + S[1] = X[2] ^ (X[7] >>> 16) ^ (X[5] << 16); + S[2] = X[4] ^ (X[1] >>> 16) ^ (X[7] << 16); + S[3] = X[6] ^ (X[3] >>> 16) ^ (X[1] << 16); + + for (var i = 0; i < 4; i++) { + // Swap endian + S[i] = (((S[i] << 8) | (S[i] >>> 24)) & 0x00ff00ff) | + (((S[i] << 24) | (S[i] >>> 8)) & 0xff00ff00); + + // Encrypt + M[offset + i] ^= S[i]; + } + }, + + blockSize: 128/32, + + ivSize: 64/32 + }); + + function nextState() { + // Shortcuts + var X = this._X; + var C = this._C; + + // Save old counter values + for (var i = 0; i < 8; i++) { + C_[i] = C[i]; + } + + // Calculate new counter values + C[0] = (C[0] + 0x4d34d34d + this._b) | 0; + C[1] = (C[1] + 0xd34d34d3 + ((C[0] >>> 0) < (C_[0] >>> 0) ? 1 : 0)) | 0; + C[2] = (C[2] + 0x34d34d34 + ((C[1] >>> 0) < (C_[1] >>> 0) ? 1 : 0)) | 0; + C[3] = (C[3] + 0x4d34d34d + ((C[2] >>> 0) < (C_[2] >>> 0) ? 1 : 0)) | 0; + C[4] = (C[4] + 0xd34d34d3 + ((C[3] >>> 0) < (C_[3] >>> 0) ? 1 : 0)) | 0; + C[5] = (C[5] + 0x34d34d34 + ((C[4] >>> 0) < (C_[4] >>> 0) ? 1 : 0)) | 0; + C[6] = (C[6] + 0x4d34d34d + ((C[5] >>> 0) < (C_[5] >>> 0) ? 1 : 0)) | 0; + C[7] = (C[7] + 0xd34d34d3 + ((C[6] >>> 0) < (C_[6] >>> 0) ? 1 : 0)) | 0; + this._b = (C[7] >>> 0) < (C_[7] >>> 0) ? 1 : 0; + + // Calculate the g-values + for (var i = 0; i < 8; i++) { + var gx = X[i] + C[i]; + + // Construct high and low argument for squaring + var ga = gx & 0xffff; + var gb = gx >>> 16; + + // Calculate high and low result of squaring + var gh = ((((ga * ga) >>> 17) + ga * gb) >>> 15) + gb * gb; + var gl = (((gx & 0xffff0000) * gx) | 0) + (((gx & 0x0000ffff) * gx) | 0); + + // High XOR low + G[i] = gh ^ gl; + } + + // Calculate new state values + X[0] = (G[0] + ((G[7] << 16) | (G[7] >>> 16)) + ((G[6] << 16) | (G[6] >>> 16))) | 0; + X[1] = (G[1] + ((G[0] << 8) | (G[0] >>> 24)) + G[7]) | 0; + X[2] = (G[2] + ((G[1] << 16) | (G[1] >>> 16)) + ((G[0] << 16) | (G[0] >>> 16))) | 0; + X[3] = (G[3] + ((G[2] << 8) | (G[2] >>> 24)) + G[1]) | 0; + X[4] = (G[4] + ((G[3] << 16) | (G[3] >>> 16)) + ((G[2] << 16) | (G[2] >>> 16))) | 0; + X[5] = (G[5] + ((G[4] << 8) | (G[4] >>> 24)) + G[3]) | 0; + X[6] = (G[6] + ((G[5] << 16) | (G[5] >>> 16)) + ((G[4] << 16) | (G[4] >>> 16))) | 0; + X[7] = (G[7] + ((G[6] << 8) | (G[6] >>> 24)) + G[5]) | 0; + } + + /** + * Shortcut functions to the cipher's object interface. + * + * @example + * + * var ciphertext = CryptoJS.RabbitLegacy.encrypt(message, key, cfg); + * var plaintext = CryptoJS.RabbitLegacy.decrypt(ciphertext, key, cfg); + */ + C.RabbitLegacy = StreamCipher._createHelper(RabbitLegacy); +}()); + + +/** + * Zero padding strategy. + */ +CryptoJS.pad.ZeroPadding = { + pad: function (data, blockSize) { + // Shortcut + var blockSizeBytes = blockSize * 4; + + // Pad + data.clamp(); + data.sigBytes += blockSizeBytes - ((data.sigBytes % blockSizeBytes) || blockSizeBytes); + }, + + unpad: function (data) { + // Shortcut + var dataWords = data.words; + + // Unpad + var i = data.sigBytes - 1; + while (!((dataWords[i >>> 2] >>> (24 - (i % 4) * 8)) & 0xff)) { + i--; + } + data.sigBytes = i + 1; + } +}; + diff --git a/src/utils/filter.js b/src/utils/filter.js new file mode 100644 index 0000000..7974e8b --- /dev/null +++ b/src/utils/filter.js @@ -0,0 +1,29 @@ +import Vue from "vue"; +import * as dayjs from "dayjs"; + +Vue.filter('NumberFormat', function (value) { + if (!value) { + return '0' + } + let intPartFormat = value.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,') //将整数部分逢三一断 + return intPartFormat +}) + +Vue.filter('dayjs', function(dataStr, pattern = 'YYYY-MM-DD HH:mm:ss') { + return dayjs(dataStr).format(pattern) +}) + +Vue.filter('moment', function(dataStr, pattern = 'YYYY-MM-DD HH:mm:ss') { + return dayjs(dataStr).format(pattern) +}) + +/** 字符串超长截取省略号显示 */ +Vue.filter('ellipsis', function (value, vlength = 25) { + if(!value){ + return ""; + } + if (value.length > vlength) { + return value.slice(0, vlength) + '...' + } + return value +}) \ No newline at end of file diff --git a/src/utils/hasPermission.js b/src/utils/hasPermission.js new file mode 100644 index 0000000..4674770 --- /dev/null +++ b/src/utils/hasPermission.js @@ -0,0 +1,133 @@ +import { USER_AUTH,SYS_BUTTON_AUTH } from "@/store/mutation-types" + +const hasPermission = { + install (Vue, options) { + Vue.directive('has', { + inserted: (el, binding, vnode)=>{ + console.log("页面权限控制----"); + //console.time() + //节点权限处理,如果命中则不进行全局权限处理 + if(!filterNodePermission(el, binding, vnode)){ + filterGlobalPermission(el, binding, vnode); + } + } + }); + } +}; + +/** + * 流程节点权限控制 + */ +export function filterNodePermission(el, binding, vnode) { + let permissionList = []; + try { + let obj = vnode.context.$props.formData; + if (obj) { + let bpmList = obj.permissionList; + for (let bpm of bpmList) { + if(bpm.type != '2') { + permissionList.push(bpm); + } + } + }else{ + return false; + } + } catch (e) { + //console.log("页面权限异常----", e); + } + if (permissionList === null || permissionList === "" || permissionList === undefined||permissionList.length<=0) { + //el.parentNode.removeChild(el) + return false; + } + + console.log("流程节点页面权限--NODE--"); + let permissions = []; + for (let item of permissionList) { + if(item.type != '2') { + permissions.push(item.action); + } + } + //console.log("页面权限----"+permissions); + //console.log("页面权限----"+binding.value); + if (!permissions.includes(binding.value)) { + //el.parentNode.removeChild(el) + return false; + }else{ + for (let item2 of permissionList) { + if(binding.value === item2.action){ + return true; + } + } + } + return false; +} + +/** + * 全局权限控制 + */ +export function filterGlobalPermission(el, binding, vnode) { + console.log("全局页面权限--Global--"); + + let permissionList = []; + let allPermissionList = []; + + //let authList = Vue.ls.get(USER_AUTH); + let authList = JSON.parse(sessionStorage.getItem(USER_AUTH) || "[]"); + for (let auth of authList) { + if(auth.type != '2') { + permissionList.push(auth); + } + } + //console.log("页面权限--Global--",sessionStorage.getItem(SYS_BUTTON_AUTH)); + let allAuthList = JSON.parse(sessionStorage.getItem(SYS_BUTTON_AUTH) || "[]"); + for (let gauth of allAuthList) { + if(gauth.type != '2') { + allPermissionList.push(gauth); + } + } + //设置全局配置是否有命中 + let invalidFlag = false;//无效命中 + if(allPermissionList != null && allPermissionList != "" && allPermissionList != undefined && allPermissionList.length > 0){ + for (let itemG of allPermissionList) { + if(binding.value === itemG.action){ + if(itemG.status == '0'){ + invalidFlag = true; + break; + } + } + } + } + if(invalidFlag){ + return; + } + if (permissionList === null || permissionList === "" || permissionList === undefined||permissionList.length<=0) { + el.parentNode.removeChild(el); + return; + } + let permissions = []; + for (let item of permissionList) { + //权限策略1显示2禁用 + if(item.type != '2'){ + //update--begin--autor:wangshuai-----date:20200729------for:按钮权限,授权标识的提示信息是多个用逗号分隔逻辑处理 gitee#I1OUGU------- + if(item.action){ + if(item.action.includes(",")){ + let split = item.action.split(",") + for (let i = 0; i state.app.layout, + navTheme: state => state.app.theme, + primaryColor: state => state.app.color, + colorWeak: state => state.app.weak, + multipage: state => state.app.multipage,//多页签设置 + fixedHeader: state => state.app.fixedHeader, + fixSiderbar: state => state.app.fixSiderbar, + contentWidth: state => state.app.contentWidth, + autoHideHeader: state => state.app.autoHideHeader, + sidebarOpened: state => state.app.sidebar.opened + }) + } +} + +const mixinDevice = { + computed: { + ...mapState({ + device: state => state.app.device, + }) + }, + methods: { + isMobile () { + return this.device === 'mobile' + }, + isDesktop () { + return this.device === 'desktop' + } + } +} + +export { mixin, mixinDevice } \ No newline at end of file diff --git a/src/utils/permissions.js b/src/utils/permissions.js new file mode 100644 index 0000000..e4b60bc --- /dev/null +++ b/src/utils/permissions.js @@ -0,0 +1,8 @@ +export function actionToObject(json) { + try { + return JSON.parse(json) + } catch (e) { + console.log('err', e.message) + } + return [] +} \ No newline at end of file diff --git a/src/utils/portal/constant.js b/src/utils/portal/constant.js new file mode 100644 index 0000000..cadf2ba --- /dev/null +++ b/src/utils/portal/constant.js @@ -0,0 +1,20 @@ +/** + * 功能模块 + * @type {{LEAVE_EARLY: {text: string, value: string}, LATE: {text: string, value: string}, ABSENT: {text: string, value: string}, NO_SIGN: {text: string, value: string}, NORMAL: {text: string, value: string}}} + */ +export const FunctionEnum = { + EoaCmsBanner: { path: 'modules/eoa/cmsoa/modules/EoaCmsBanner', formData: 'carouselImg' }, + EoaCmsNewsInfo: { path: 'modules/eoa/cmsoa/modules/EoaCmsNewsInfo', formData: 'newsInfo' }, + EoaCmsRuleInfo: { path: 'modules/eoa/cmsoa/modules/EoaCmsRuleInfo', formData: 'ruleDownInfo' }, + EoaCmsSignNews: { path: 'modules/eoa/cmsoa/modules/EoaCmsSignNews', formData: 'signNews' }, + EoaCmsUserNotice: { path: 'modules/eoa/cmsoa/modules/EoaCmsUserNotice', formData: 'userNotice' }, + EoaCmsPlan: { path: 'modules/eoa/cmsoa/modules/EoaCmsPlan', formData: '' }, + EoaCmsLink: { path: 'modules/eoa/cmsoa/modules/EoaCmsLink', formData: '' }, + EoaCmsCommUse:{ path: 'modules/eoa/cmsbpm/modules/EoaCmsCommUse', formData: '' }, + EoaCmsMyProcess:{ path: 'modules/eoa/cmsbpm/modules/EoaCmsMyProcess', formData: '' }, + EoaCmsApplyProcess:{ path: 'modules/eoa/cmsbpm/modules/EoaCmsApplyProcess', formData: '' }, + EoaCmsProcessNotice:{ path: 'modules/eoa/cmsbpm/modules/EoaCmsProcessNotice', formData: '' }, + EoaCmsProcessChatData:{ path: 'modules/eoa/cmsbpm/modules/EoaCmsProcessChatData', formData: '' }, + EoaCmsProcessTypeChat:{ path: 'modules/eoa/cmsbpm/modules/EoaCmsProcessTypeChat', formData: '' }, + EoaCmsEmail:{ path: 'modules/eoa/cmsbpm/modules/EoaCmsEmail', formData: '' }, +} \ No newline at end of file diff --git a/src/utils/props-util.js b/src/utils/props-util.js new file mode 100644 index 0000000..9c94200 --- /dev/null +++ b/src/utils/props-util.js @@ -0,0 +1,115 @@ +/** + * 该文件截取自 "ant-design-vue/es/_util/props-util.js" 文件,并对其做出特殊修改 + */ +function classNames() { + let classes = [] + + for (let i = 0; i < arguments.length; i++) { + let arg = arguments[i] + if (!arg) continue + + let argType = typeof arg + + if (argType === 'string' || argType === 'number') { + classes.push(arg) + } else if (Array.isArray(arg) && arg.length) { + let inner = classNames.apply(null, arg) + if (inner) { + classes.push(inner) + } + } else if (argType === 'object') { + for (let key in arg) { + if (arg.hasOwnProperty(key) && arg[key]) { + classes.push(key) + } + } + } + } + return classes.join(' ') +} + +const camelizeRE = /-(\w)/g + +function camelize(str) { + return str.replace(camelizeRE, (_, c) => (c ? c.toUpperCase() : '')) +} + + +function objectCamelize(obj) { + let res = {} + Object.keys(obj).forEach(k => (res[camelize(k)] = obj[k])) + return res +} + +function parseStyleText(cssText = '', camel) { + const res = {} + const listDelimiter = /;(?![^(]*\))/g + const propertyDelimiter = /:(.+)/ + cssText.split(listDelimiter).forEach(function (item) { + if (item) { + const tmp = item.split(propertyDelimiter) + if (tmp.length > 1) { + const k = camel ? camelize(tmp[0].trim()) : tmp[0].trim() + res[k] = tmp[1].trim() + } + } + }) + return res +} + +export function getClass(ele) { + let data = {} + if (ele.data) { + data = ele.data + } else if (ele.$vnode && ele.$vnode.data) { + data = ele.$vnode.data + } + const tempCls = data.class || {} + const staticClass = data.staticClass + let cls = {} + staticClass && + staticClass.split(' ').forEach(c => { + cls[c.trim()] = true + }) + if (typeof tempCls === 'string') { + tempCls.split(' ').forEach(c => { + cls[c.trim()] = true + }) + } else if (Array.isArray(tempCls)) { + classNames(tempCls) + .split(' ') + .forEach(c => { + cls[c.trim()] = true + }) + } else { + cls = { ...cls, ...tempCls } + } + return cls +} + +export function getStyle(ele, camel) { + + getClass(ele) + + let data = {} + if (ele.data) { + data = ele.data + } else if (ele.$vnode && ele.$vnode.data) { + data = ele.$vnode.data + } + + // update-begin-author:sunjianlei date:20200303 for: style 和 staticStyle 可以共存 + let style = data.style || {} + let staticStyle = data.staticStyle + staticStyle = staticStyle ? objectCamelize(data.staticStyle) : {} + // update-end-author:sunjianlei date:20200303 for: style 和 staticStyle 可以共存 + + if (typeof style === 'string') { + style = parseStyleText(style, camel) + } else if (camel && style) { + // 驼峰化 + style = objectCamelize(style) + } + return { ...staticStyle, ...style } +} + diff --git a/src/utils/request.js b/src/utils/request.js new file mode 100644 index 0000000..18a5ece --- /dev/null +++ b/src/utils/request.js @@ -0,0 +1,172 @@ +import Vue from 'vue' +import axios from 'axios' +import store from '@/store' +import { VueAxios } from './axios' +import {Modal, notification} from 'ant-design-vue' +import { ACCESS_TOKEN, TENANT_ID } from "@/store/mutation-types" + +/** + * 【指定 axios的 baseURL】 + * 如果手工指定 baseURL: '/jero-boot' + * 则映射后端域名,通过 vue.config.js + * @type {*|string} + */ +let apiBaseUrl = window._CONFIG['domianURL'] || "/jero-boot"; +//console.log("apiBaseUrl= ",apiBaseUrl) +// 创建 axios 实例 +const service = axios.create({ + //baseURL: '/jero-boot', + baseURL: apiBaseUrl, // api base_url + timeout: 9000 // 请求超时时间 +}) + +const err = (error) => { + if (error.response) { + let data = error.response.data + const token = Vue.ls.get(ACCESS_TOKEN) + console.log("------异常响应------",token) + console.log("------异常响应------",error.response.status) + switch (error.response.status) { + case 403: + notification.error({ message: '系统提示', description: '拒绝访问',duration: 4}) + break + case 500: + console.log("------error.response------",error.response) + // update-begin- --- author:liusq ------ date:20200910 ---- for:处理Blob情况---- + let type=error.response.request.responseType; + if(type === 'blob'){ + blobToJson(data); + break; + } + // update-end- --- author:liusq ------ date:20200910 ---- for:处理Blob情况---- + //notification.error({ message: '系统提示', description:'Token失效,请重新登录!',duration: 4}) + if(token && data.message.includes("Token失效")){ + // update-begin- --- author:scott ------ date:20190225 ---- for:Token失效采用弹框模式,不直接跳转---- + Modal.error({ + title: '登录已过期', + content: '很抱歉,登录已过期,请重新登录', + okText: '重新登录', + mask: false, + onOk: () => { + store.dispatch('Logout').then(() => { + Vue.ls.remove(ACCESS_TOKEN) + try { + let path = window.document.location.pathname + console.log("location pathname -> "+path) + if(path!="/" && path.indexOf('/user/login')==-1){ + window.location.reload() + } + }catch (e) { + window.location.reload() + } + }) + } + }) + // update-end- --- author:scott ------ date:20190225 ---- for:Token失效采用弹框模式,不直接跳转---- + } + break + case 404: + notification.error({ message: '系统提示', description:'很抱歉,资源未找到!',duration: 4}) + break + case 504: + notification.error({ message: '系统提示', description: '网络超时'}) + break + case 401: + notification.error({ message: '系统提示', description:'未授权,请重新登录',duration: 4}) + if (token) { + store.dispatch('Logout').then(() => { + setTimeout(() => { + window.location.reload() + }, 1500) + }) + } + break + default: + notification.error({ + message: '系统提示', + description: data.message, + duration: 4 + }) + break + } + } + return Promise.reject(error) +}; + +// request interceptor +service.interceptors.request.use(config => { + const token = Vue.ls.get(ACCESS_TOKEN) + if (token) { + config.headers[ 'X-Access-Token' ] = token // 让每个请求携带自定义 token 请根据实际情况自行修改 + } + //update-begin-author:taoyan date:2020707 for:多租户 + let tenantid = Vue.ls.get(TENANT_ID) + if (!tenantid) { + tenantid = 0; + } + config.headers[ 'tenant_id' ] = tenantid + //update-end-author:taoyan date:2020707 for:多租户 + if(config.method=='get'){ + if(config.url.indexOf("sys/dict/getDictItems")<0){ + config.params = { + _t: Date.parse(new Date())/1000, + ...config.params + } + } + } + return config +},(error) => { + return Promise.reject(error) +}) + +// response interceptor +service.interceptors.response.use((response) => { + return response.data + }, err) + +const installer = { + vm: {}, + install (Vue, router = {}) { + Vue.use(VueAxios, router, service) + } +} +/** + * Blob解析 + * @param data + */ +function blobToJson(data) { + let fileReader = new FileReader(); + let token = Vue.ls.get(ACCESS_TOKEN); + fileReader.onload = function() { + try { + let jsonData = JSON.parse(this.result); // 说明是普通对象数据,后台转换失败 + console.log("jsonData",jsonData) + if (jsonData.status === 500) { + console.log("token----------》",token) + if(token && jsonData.message.includes("Token失效")){ + Modal.error({ + title: '登录已过期', + content: '很抱歉,登录已过期,请重新登录', + okText: '重新登录', + mask: false, + onOk: () => { + store.dispatch('Logout').then(() => { + Vue.ls.remove(ACCESS_TOKEN) + window.location.reload() + }) + } + }) + } + } + } catch (err) { + // 解析成对象失败,说明是正常的文件流 + console.log("blob解析fileReader返回err",err) + } + }; + fileReader.readAsText(data) +} + +export { + installer as VueAxios, + service as axios +} \ No newline at end of file diff --git a/src/utils/storage.js b/src/utils/storage.js new file mode 100644 index 0000000..b3c29ab --- /dev/null +++ b/src/utils/storage.js @@ -0,0 +1,78 @@ +/** + * Set storage + * + * @param name + * @param content + * @param maxAge + */ +export const setStore = (name, content, maxAge = null) => { + if (!global.window || !name) { + return; + } + + if (typeof content !== 'string') { + content = JSON.stringify(content) + } + + let storage = global.window.localStorage + + storage.setItem(name, content) + if (maxAge && !isNaN(parseInt(maxAge))) { + let timeout = parseInt(new Date().getTime() / 1000) + storage.setItem(`${name}_expire`, timeout + maxAge) + } +}; + +/** + * Get storage + * + * @param name + * @returns {*} + */ +export const getStore = name => { + if (!global.window || !name) { + return; + } + + let content = window.localStorage.getItem(name) + let _expire = window.localStorage.getItem(`${name}_expire`) + + if (_expire) { + let now = parseInt(new Date().getTime() / 1000) + if (now > _expire) { + return; + } + } + + try { + return JSON.parse(content) + } catch (e) { + return content + } +}; + +/** + * Clear storage + * + * @param name + */ +export const clearStore = name => { + if (!global.window || !name) { + return; + } + + window.localStorage.removeItem(name) + window.localStorage.removeItem(`${name}_expire`) +}; + +/** + * Clear all storage + */ +export const clearAll = () => { + if (!global.window || !name) { + return; + } + + window.localStorage.clear() +} + diff --git a/src/utils/util.js b/src/utils/util.js new file mode 100644 index 0000000..857d071 --- /dev/null +++ b/src/utils/util.js @@ -0,0 +1,589 @@ +import * as api from '@/api/api' +import { isURL } from '@/utils/validate' +import { JSEncrypt } from 'jsencrypt' +// import onlineCommons from '@/components/onlineForm/onlineForm' +// +export function timeFix() { + const time = new Date() + const hour = time.getHours() + return hour < 9 ? '早上好' : (hour <= 11 ? '上午好' : (hour <= 13 ? '中午好' : (hour < 20 ? '下午好' : '晚上好'))) +} + +export function welcome() { + const arr = ['休息一会儿吧', '准备吃什么呢?', '要不要打一把 DOTA', '我猜你可能累了'] + let index = Math.floor((Math.random()*arr.length)) + return arr[index] +} + +/** + * 触发 window.resize + */ +export function triggerWindowResizeEvent() { + let event = document.createEvent('HTMLEvents') + event.initEvent('resize', true, true) + event.eventType = 'message' + window.dispatchEvent(event) +} + +/** + * 过滤对象中为空的属性 + * @param obj + * @returns {*} + */ +export function filterObj(obj) { + if (!(typeof obj == 'object')) { + return + } + + for ( let key in obj) { + if (obj.hasOwnProperty(key) + && (obj[key] == null || obj[key] == undefined || obj[key] === '')) { + delete obj[key] + } + } + return obj +} + +/** + * 时间格式化 + * @param value + * @param fmt + * @returns {*} + */ +export function formatDate(value, fmt) { + let regPos = /^\d+(\.\d+)?$/ + if(regPos.test(value)){ + //如果是数字 + let getDate = new Date(value) + let o = { + 'M+': getDate.getMonth() + 1, + 'd+': getDate.getDate(), + 'h+': getDate.getHours(), + 'm+': getDate.getMinutes(), + 's+': getDate.getSeconds(), + 'q+': Math.floor((getDate.getMonth() + 3) / 3), + 'S': getDate.getMilliseconds() + } + if (/(y+)/.test(fmt)) { + fmt = fmt.replace(RegExp.$1, (getDate.getFullYear() + '').substr(4 - RegExp.$1.length)) + } + for (let k in o) { + if (new RegExp('(' + k + ')').test(fmt)) { + fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (('00' + o[k]).substr(('' + o[k]).length))) + } + } + return fmt + }else{ + //TODO + value = value.trim() + return value.substr(0,fmt.length) + } +} + +// 生成首页路由 +export function generateIndexRouter(data) { + let indexRouter = [{ + path: '/', + name: 'dashboard', + //component: () => import('@/components/layouts/BasicLayout'), + component: resolve => require(['@/components/layouts/TabLayout'], resolve), + meta: { title: '首页' }, + redirect: '/dashboard/analysis', + children: [ + ...generateChildRouters(data) + ] + },{ + 'path': '*', 'redirect': '/404', 'hidden': true + }] + return indexRouter +} + +// 生成嵌套路由(子路由) + +function generateChildRouters (data) { + const routers = [] + for (let item of data) { + let component = '' + if(item.component.indexOf('layouts')>=0){ + component = 'components/'+item.component + }else{ + component = 'views/'+item.component + } + + // eslint-disable-next-line + let URL = (item.meta.url|| '').replace(/{{([^}}]+)?}}/g, (s1, s2) => eval(s2)) // URL支持{{ window.xxx }}占位符变量 + if (isURL(URL)) { + item.meta.url = URL + } + + let componentPath + // if(item.component=="modules/online/cgform/OnlCgformHeadList"){ + // componentPath = onlineCommons.OnlCgformHeadList + // }else if(item.component=="modules/online/cgform/OnlCgformCopyList"){ + // componentPath = onlineCommons.OnlCgformCopyList + // }else if(item.component=="modules/online/cgform/auto/OnlCgformAutoList"){ + // componentPath = onlineCommons.OnlCgformAutoList + // }else if(item.component=="modules/online/cgform/auto/OnlCgformTreeList"){ + // componentPath = onlineCommons.OnlCgformTreeList + // }else if(item.component=="modules/online/cgform/auto/erp/OnlCgformErpList"){ + // componentPath = onlineCommons.OnlCgformErpList + // }else if(item.component=="modules/online/cgform/auto/tab/OnlCgformTabList"){ + // componentPath = onlineCommons.OnlCgformTabList + // }else if(item.component=="modules/online/cgform/auto/innerTable/OnlCgformInnerTableList"){ + // componentPath = onlineCommons.OnlCgformInnerTableList + // }else if(item.component=="modules/online/cgreport/OnlCgreportHeadList"){ + // componentPath = onlineCommons.OnlCgreportHeadList + // }else if(item.component=="modules/online/cgreport/auto/OnlCgreportAutoList"){ + // componentPath = onlineCommons.OnlCgreportAutoList + // }else{ + componentPath = resolve => require(['@/' + component+'.vue'], resolve) + // } + + let menu = { + path: item.path, + name: item.name, + redirect:item.redirect, + component: componentPath, + //component: resolve => require(['@/' + component+'.vue'], resolve), + hidden:item.hidden, + //component:()=> import(`@/views/${item.component}.vue`), + meta: { + title:item.meta.title , + icon: item.meta.icon, + url:item.meta.url , + permissionList:item.meta.permissionList, + keepAlive:item.meta.keepAlive, + /*update_begin author:wuxianquan date:20190908 for:赋值 */ + internalOrExternal:item.meta.internalOrExternal, + /*update_end author:wuxianquan date:20190908 for:赋值 */ + componentName:item.meta.componentName + } + } + if(item.alwaysShow){ + menu.alwaysShow = true + menu.redirect = menu.path + } + if (item.children && item.children.length > 0) { + menu.children = [...generateChildRouters( item.children)] + } + //--update-begin----author:scott---date:20190320------for:根据后台菜单配置,判断是否路由菜单字段,动态选择是否生成路由(为了支持参数URL菜单)------ + //判断是否生成路由 + if(item.route && item.route === '0'){ + //console.log(' 不生成路由 item.route: '+item.route); + //console.log(' 不生成路由 item.path: '+item.path); + }else{ + routers.push(menu) + } + //--update-end----author:scott---date:20190320------for:根据后台菜单配置,判断是否路由菜单字段,动态选择是否生成路由(为了支持参数URL菜单)------ + } + return routers +} + +/** + * 深度克隆对象、数组 + * @param obj 被克隆的对象 + * @return 克隆后的对象 + */ +export function cloneObject(obj) { + return JSON.parse(JSON.stringify(obj)) +} + +/** + * 随机生成数字 + * + * 示例:生成长度为 12 的随机数:randomNumber(12) + * 示例:生成 3~23 之间的随机数:randomNumber(3, 23) + * + * @param1 最小值 | 长度 + * @param2 最大值 + * @return int 生成后的数字 + */ +export function randomNumber() { + // 生成 最小值 到 最大值 区间的随机数 + const random = (min, max) => { + return Math.floor(Math.random() * (max - min + 1) + min) + } + if (arguments.length === 1) { + let [length] = arguments + // 生成指定长度的随机数字,首位一定不是 0 + let nums = [...Array(length).keys()].map((i) => (i > 0 ? random(0, 9) : random(1, 9))) + return parseInt(nums.join('')) + } else if (arguments.length >= 2) { + let [min, max] = arguments + return random(min, max) + } else { + return Number.NaN + } +} + +/** + * 随机生成字符串 + * @param length 字符串的长度 + * @param chats 可选字符串区间(只会生成传入的字符串中的字符) + * @return string 生成的字符串 + */ +export function randomString(length, chats) { + if (!length) length = 1 + if (!chats) chats = '0123456789qwertyuioplkjhgfdsazxcvbnm' + let str = '' + for (let i = 0; i < length; i++) { + let num = randomNumber(0, chats.length - 1) + str += chats[num] + } + return str +} + +/** + * 随机生成uuid + * @return string 生成的uuid + */ +export function randomUUID() { + let chats = '0123456789abcdef' + return randomString(32, chats) +} + +/** + * 下划线转驼峰 + * @param string + * @returns {*} + */ +export function underLine2CamelCase(string){ + return string.replace( /_([a-z])/g, function( all, letter ) { + return letter.toUpperCase() + }) +} + +/** + * 判断是否显示办理按钮 + * @param bpmStatus + * @returns {*} + */ +export function showDealBtn(bpmStatus){ + if(bpmStatus!='1'&&bpmStatus!='3'&&bpmStatus!='4'){ + return true + } + return false +} + +/** + * 增强CSS,可以在页面上输出全局css + * @param css 要增强的css + * @param id style标签的id,可以用来清除旧样式 + */ +export function cssExpand(css, id) { + let style = document.createElement('style') + style.type = 'text/css' + style.innerHTML = `@charset "UTF-8"; ${css}` + // 清除旧样式 + if (id) { + let $style = document.getElementById(id) + if ($style != null) $style.outerHTML = '' + style.id = id + } + // 应用新样式 + document.head.appendChild(style) +} + + +/** 用于js增强事件,运行JS代码,可以传参 */ +// options 所需参数: +// 参数名 类型 说明 +// vm VueComponent vue实例 +// event Object event对象 +// jsCode String 待执行的js代码 +// errorMessage String 执行出错后的提示(控制台) +export function jsExpand(options = {}) { + + // 绑定到window上的keyName + let windowKeyName = 'J_CLICK_EVENT_OPTIONS' + if (typeof window[windowKeyName] != 'object') { + window[windowKeyName] = {} + } + + // 随机生成JS增强的执行id,防止冲突 + let id = randomString(16, 'qwertyuioplkjhgfdsazxcvbnm'.toUpperCase()) + // 封装按钮点击事件 + let code = ` + (function (o_${id}) { + try { + (function (globalEvent, vm) { + ${options.jsCode} + })(o_${id}.event, o_${id}.vm) + } catch (e) { + o_${id}.error(e) + } + o_${id}.done() + })(window['${windowKeyName}']['EVENT_${id}']) + ` + // 创建script标签 + const script = document.createElement('script') + // 将需要传递的参数挂载到window对象上 + window[windowKeyName]['EVENT_' + id] = { + vm: options.vm, + event: options.event, + // 当执行完成时,无论如何都会调用的回调事件 + done() { + // 执行完后删除新增的 script 标签不会撤销执行结果(已产生的结果不会被撤销) + script.outerHTML = '' + delete window[windowKeyName]['EVENT_' + id] + }, + // 当js运行出错的时候调用的事件 + error(e) { + console.group(`${options.errorMessage || '用户自定义JS增强代码运行出错'}(${new Date()})`) + console.error(e) + console.groupEnd() + } + } + // 将事件挂载到document中 + script.innerHTML = code + document.body.appendChild(script) +} + + +/** + * 重复值验证工具方法 + * + * 使用示例: + * { validator: (rule, value, callback) => validateDuplicateValue('sys_fill_rule', 'rule_code', value, this.model.id, callback) } + * + * @param tableName 被验证的表名 + * @param fieldName 被验证的字段名 + * @param fieldVal 被验证的值 + * @param dataId 数据ID,可空 + * @param callback + */ +export function validateDuplicateValue(tableName, fieldName, fieldVal, dataId, callback) { + if (fieldVal) { + let params = { tableName, fieldName, fieldVal, dataId } + api.duplicateCheck(params).then(res => { + res['success'] ? callback() : callback(res['message']) + }).catch(err => { + callback(err.message || err) + }) + } else { + callback() + } +} + +/** + * 根据编码校验规则code,校验传入的值是否合法 + * + * 使用示例: + * { validator: (rule, value, callback) => validateCheckRule('common', value, callback) } + * + * @param ruleCode 编码校验规则 code + * @param value 被验证的值 + * @param callback + */ +export function validateCheckRule(ruleCode, value, callback) { + if (ruleCode && value) { + value = encodeURIComponent(value) + api.checkRuleByCode({ ruleCode, value }).then(res => { + res['success'] ? callback() : callback(res['message']) + }).catch(err => { + callback(err.message || err) + }) + } else { + callback() + } +} + +/** + * 如果值不存在就 push 进数组,反之不处理 + * @param array 要操作的数据 + * @param value 要添加的值 + * @param key 可空,如果比较的是对象,可能存在地址不一样但值实际上是一样的情况,可以传此字段判断对象中唯一的字段,例如 id。不传则直接比较实际值 + * @returns {boolean} 成功 push 返回 true,不处理返回 false + */ +export function pushIfNotExist(array, value, key) { + for (let item of array) { + if (key && (item[key] === value[key])) { + return false + } else if (item === value) { + return false + } + } + array.push(value) + return true +} + +/** + * 可用于判断是否成功 + * @type {symbol} + */ +export const succeedSymbol = Symbol() +/** + * 可用于判断是否失败 + * @type {symbol} + */ +export const failedSymbol = Symbol() + +/** + * 使 promise 无论如何都会 resolve,除非传入的参数不是一个Promise对象或返回Promise对象的方法 + * 一般用在 Promise.all 中 + * + * @param promise 可传Promise对象或返回Promise对象的方法 + * @returns {Promise} + */ +export function alwaysResolve(promise) { + return new Promise((resolve, reject) => { + let p = promise + if (typeof promise === 'function') { + p = promise() + } + if (p instanceof Promise) { + p.then(data => { + resolve({ type: succeedSymbol, data }) + }).catch(error => { + resolve({ type: failedSymbol, error }) + }) + } else { + reject('alwaysResolve: 传入的参数不是一个Promise对象或返回Promise对象的方法') + } + }) +} + +/** + * 简单实现防抖方法 + * + * 防抖(debounce)函数在第一次触发给定的函数时,不立即执行函数,而是给出一个期限值(delay),比如100ms。 + * 如果100ms内再次执行函数,就重新开始计时,直到计时结束后再真正执行函数。 + * 这样做的好处是如果短时间内大量触发同一事件,只会执行一次函数。 + * + * @param fn 要防抖的函数 + * @param delay 防抖的毫秒数 + * @returns {Function} + */ +export function simpleDebounce(fn, delay = 100) { + let timer = null + return function () { + let args = arguments + if (timer) { + clearTimeout(timer) + } + timer = setTimeout(() => { + fn.apply(this, args) + }, delay) + } +} + +/** + * 不用正则的方式替换所有值 + * @param text 被替换的字符串 + * @param checker 替换前的内容 + * @param replacer 替换后的内容 + * @returns {String} 替换后的字符串 + */ +export function replaceAll(text, checker, replacer) { + let lastText = text + text = text.replace(checker, replacer) + if (lastText !== text) { + return replaceAll(text, checker, replacer) + } + return text +} + +/** + * 获取事件冒泡路径,兼容 IE11,Edge,Chrome,Firefox,Safari + * 目前使用的地方:JEditableTable Span模式 + */ +export function getEventPath(event) { + let target = event.target + let path = (event.composedPath && event.composedPath()) || event.path + + if (path != null) { + return (path.indexOf(window) < 0) ? path.concat(window) : path + } + + if (target === window) { + return [window] + } + + let getParents = (node, memo) => { + memo = memo || [] + const parentNode = node.parentNode + + if (!parentNode) { + return memo + } else { + return getParents(parentNode, memo.concat(parentNode)) + } + } + return [target].concat(getParents(target), window) +} + +/** + * 根据组件名获取父级 + * @param vm + * @param name + * @returns {Vue | null|null|Vue} + */ +export function getVmParentByName(vm, name) { + let parent = vm.$parent + if (parent && parent.$options) { + if (parent.$options.name === name) { + return parent + } else { + let res = getVmParentByName(parent, name) + if (res) { + return res + } + } + } + return null +} + +/** + * 使一个值永远不会为(null | undefined) + * + * @param value 要处理的值 + * @param def 默认值,如果value为(null | undefined)则返回的默认值,可不传,默认为'' + */ +export function neverNull(value, def) { + return value == null ? (neverNull(def, '')) : value +} + +/** + * 根据元素值移除数组中的一个元素 + * @param array 数组 + * @param prod 属性名 + * @param value 属性值 + * @returns {string} + */ +export function removeArrayElement(array, prod, value) { + let index = -1 + for(let i = 0;i=0){ + array.splice(index, 1) + } +} +/** + * 前端加密方法 + * @param publicKey:公钥 + * @param message:要加密的字符串 + * */ +export function encrypt(publicKey, message) { + const encrypt = new JSEncrypt() + encrypt.setPublicKey(publicKey) // publicKey为公钥 + const txt = encrypt.encrypt(message) + return txt +} +/** + * 校验数组是否有重复的元素 + * */ +export function isRepeat(arr) { + var hash = {} + for(var i in arr) { + if(hash[arr[i]]) { + return true + } + // 不存在该元素,则赋值为true,可以赋任意值,相应的修改if判断条件即可 + hash[arr[i]] = true + } + return false +} diff --git a/src/utils/validate.js b/src/utils/validate.js new file mode 100644 index 0000000..c8edcac --- /dev/null +++ b/src/utils/validate.js @@ -0,0 +1,31 @@ +/** + * 邮箱 + * @param {*} s + */ +export function isEmail (s) { + return /^([a-zA-Z0-9._-])+@([a-zA-Z0-9_-])+((.[a-zA-Z0-9_-]{2,3}){1,2})$/.test(s) +} + +/** + * 手机号码 + * @param {*} s + */ +export function isMobile (s) { + return /^1[0-9]{10}$/.test(s) +} + +/** + * 电话号码 + * @param {*} s + */ +export function isPhone (s) { + return /^([0-9]{3,4}-)?[0-9]{7,8}$/.test(s) +} + +/** + * URL地址 + * @param {*} s + */ +export function isURL (s) { + return /^http[s]?:\/\/.*/.test(s) +} diff --git a/src/utils/vueBus.js b/src/utils/vueBus.js new file mode 100644 index 0000000..95235a0 --- /dev/null +++ b/src/utils/vueBus.js @@ -0,0 +1,5 @@ +import Bus from 'vue'; +let install = function (Vue) { + Vue.prototype.$bus = new Bus() +} +export default { install }; \ No newline at end of file diff --git a/src/views/Home.vue b/src/views/Home.vue new file mode 100644 index 0000000..a264fa9 --- /dev/null +++ b/src/views/Home.vue @@ -0,0 +1,33 @@ + + + + + diff --git a/src/views/dashboard/Analysis.vue b/src/views/dashboard/Analysis.vue new file mode 100644 index 0000000..fc30e1b --- /dev/null +++ b/src/views/dashboard/Analysis.vue @@ -0,0 +1,9 @@ + + + \ No newline at end of file diff --git a/src/views/exception/403.vue b/src/views/exception/403.vue new file mode 100644 index 0000000..e9fc399 --- /dev/null +++ b/src/views/exception/403.vue @@ -0,0 +1,17 @@ + + + + + \ No newline at end of file diff --git a/src/views/exception/404.vue b/src/views/exception/404.vue new file mode 100644 index 0000000..bc747b5 --- /dev/null +++ b/src/views/exception/404.vue @@ -0,0 +1,17 @@ + + + + + \ No newline at end of file diff --git a/src/views/exception/500.vue b/src/views/exception/500.vue new file mode 100644 index 0000000..a36cabe --- /dev/null +++ b/src/views/exception/500.vue @@ -0,0 +1,17 @@ + + + + + \ No newline at end of file diff --git a/src/views/exception/ExceptionPage.vue b/src/views/exception/ExceptionPage.vue new file mode 100644 index 0000000..0550d5e --- /dev/null +++ b/src/views/exception/ExceptionPage.vue @@ -0,0 +1,88 @@ + + + + + \ No newline at end of file diff --git a/src/views/exception/type.js b/src/views/exception/type.js new file mode 100644 index 0000000..ece3936 --- /dev/null +++ b/src/views/exception/type.js @@ -0,0 +1,19 @@ +const types = { + 403: { + img: 'https://gw.alipayobjects.com/zos/rmsportal/wZcnGqRDyhPOEYFcZDnb.svg', + title: '403', + desc: '抱歉,你无权访问该页面' + }, + 404: { + img: 'https://gw.alipayobjects.com/zos/rmsportal/KpnpchXsobRgLElEozzI.svg', + title: '404', + desc: '抱歉,你访问的页面不存在或无权访问' + }, + 500: { + img: 'https://gw.alipayobjects.com/zos/rmsportal/RVRUAYdCGeYNBWoKiIwB.svg', + title: '500', + desc: '抱歉,服务器出错了' + } +} + +export default types \ No newline at end of file diff --git a/src/views/result/Error.vue b/src/views/result/Error.vue new file mode 100644 index 0000000..e69de29 diff --git a/src/views/result/Result.vue b/src/views/result/Result.vue new file mode 100644 index 0000000..e69de29 diff --git a/src/views/result/Success.vue b/src/views/result/Success.vue new file mode 100644 index 0000000..e69de29 diff --git a/src/views/system/DataLogList.vue b/src/views/system/DataLogList.vue new file mode 100644 index 0000000..78ea7e6 --- /dev/null +++ b/src/views/system/DataLogList.vue @@ -0,0 +1,138 @@ + + + + \ No newline at end of file diff --git a/src/views/system/DepartList.vue b/src/views/system/DepartList.vue new file mode 100644 index 0000000..3f35dca --- /dev/null +++ b/src/views/system/DepartList.vue @@ -0,0 +1,662 @@ + + + \ No newline at end of file diff --git a/src/views/system/DepartList2.vue b/src/views/system/DepartList2.vue new file mode 100644 index 0000000..4b15b0c --- /dev/null +++ b/src/views/system/DepartList2.vue @@ -0,0 +1,260 @@ + + + + \ No newline at end of file diff --git a/src/views/system/DepartUserList.vue b/src/views/system/DepartUserList.vue new file mode 100644 index 0000000..70a4266 --- /dev/null +++ b/src/views/system/DepartUserList.vue @@ -0,0 +1,221 @@ + + + \ No newline at end of file diff --git a/src/views/system/DictDeleteList.vue b/src/views/system/DictDeleteList.vue new file mode 100644 index 0000000..d033480 --- /dev/null +++ b/src/views/system/DictDeleteList.vue @@ -0,0 +1,138 @@ + + + + + \ No newline at end of file diff --git a/src/views/system/DictItemList.vue b/src/views/system/DictItemList.vue new file mode 100644 index 0000000..4ab21dc --- /dev/null +++ b/src/views/system/DictItemList.vue @@ -0,0 +1,225 @@ + + + + \ No newline at end of file diff --git a/src/views/system/DictList.vue b/src/views/system/DictList.vue new file mode 100644 index 0000000..58da628 --- /dev/null +++ b/src/views/system/DictList.vue @@ -0,0 +1,208 @@ + + + + \ No newline at end of file diff --git a/src/views/system/LogList.vue b/src/views/system/LogList.vue new file mode 100644 index 0000000..6d0d050 --- /dev/null +++ b/src/views/system/LogList.vue @@ -0,0 +1,231 @@ + + + + \ No newline at end of file diff --git a/src/views/system/NewPermissionList.vue b/src/views/system/NewPermissionList.vue new file mode 100644 index 0000000..19a85c8 --- /dev/null +++ b/src/views/system/NewPermissionList.vue @@ -0,0 +1,229 @@ + + + + \ No newline at end of file diff --git a/src/views/system/PermissionDataRuleList.vue b/src/views/system/PermissionDataRuleList.vue new file mode 100644 index 0000000..5274e0f --- /dev/null +++ b/src/views/system/PermissionDataRuleList.vue @@ -0,0 +1,188 @@ + + + + \ No newline at end of file diff --git a/src/views/system/PermissionList.vue b/src/views/system/PermissionList.vue new file mode 100644 index 0000000..0f8df79 --- /dev/null +++ b/src/views/system/PermissionList.vue @@ -0,0 +1,196 @@ + + + + \ No newline at end of file diff --git a/src/views/system/QuartzJobList.vue b/src/views/system/QuartzJobList.vue new file mode 100644 index 0000000..cd54b07 --- /dev/null +++ b/src/views/system/QuartzJobList.vue @@ -0,0 +1,284 @@ + + + + \ No newline at end of file diff --git a/src/views/system/RoleList.vue b/src/views/system/RoleList.vue new file mode 100644 index 0000000..071f44b --- /dev/null +++ b/src/views/system/RoleList.vue @@ -0,0 +1,193 @@ + + + + \ No newline at end of file diff --git a/src/views/system/RoleUserList.vue b/src/views/system/RoleUserList.vue new file mode 100644 index 0000000..8b6b8f2 --- /dev/null +++ b/src/views/system/RoleUserList.vue @@ -0,0 +1,547 @@ + + + \ No newline at end of file diff --git a/src/views/system/SysAnnouncementList.vue b/src/views/system/SysAnnouncementList.vue new file mode 100644 index 0000000..4f8a369 --- /dev/null +++ b/src/views/system/SysAnnouncementList.vue @@ -0,0 +1,297 @@ + + + + \ No newline at end of file diff --git a/src/views/system/SysCategoryList.vue b/src/views/system/SysCategoryList.vue new file mode 100644 index 0000000..157b2d0 --- /dev/null +++ b/src/views/system/SysCategoryList.vue @@ -0,0 +1,336 @@ + + + + \ No newline at end of file diff --git a/src/views/system/SysCheckRuleList.vue b/src/views/system/SysCheckRuleList.vue new file mode 100644 index 0000000..75a96d8 --- /dev/null +++ b/src/views/system/SysCheckRuleList.vue @@ -0,0 +1,178 @@ + + + + \ No newline at end of file diff --git a/src/views/system/SysDataSourceList.vue b/src/views/system/SysDataSourceList.vue new file mode 100644 index 0000000..0ccde8d --- /dev/null +++ b/src/views/system/SysDataSourceList.vue @@ -0,0 +1,188 @@ + + + + \ No newline at end of file diff --git a/src/views/system/SysFillRuleList.vue b/src/views/system/SysFillRuleList.vue new file mode 100644 index 0000000..1989c2f --- /dev/null +++ b/src/views/system/SysFillRuleList.vue @@ -0,0 +1,187 @@ + + + + \ No newline at end of file diff --git a/src/views/system/SysGatewayRouteList.vue b/src/views/system/SysGatewayRouteList.vue new file mode 100644 index 0000000..669d267 --- /dev/null +++ b/src/views/system/SysGatewayRouteList.vue @@ -0,0 +1,111 @@ + + + + \ No newline at end of file diff --git a/src/views/system/TenantList.vue b/src/views/system/TenantList.vue new file mode 100644 index 0000000..fcf8642 --- /dev/null +++ b/src/views/system/TenantList.vue @@ -0,0 +1,165 @@ + + + + \ No newline at end of file diff --git a/src/views/system/UserAnnouncementList.vue b/src/views/system/UserAnnouncementList.vue new file mode 100644 index 0000000..3b69913 --- /dev/null +++ b/src/views/system/UserAnnouncementList.vue @@ -0,0 +1,192 @@ + + + + \ No newline at end of file diff --git a/src/views/system/UserList.vue b/src/views/system/UserList.vue new file mode 100644 index 0000000..69e3266 --- /dev/null +++ b/src/views/system/UserList.vue @@ -0,0 +1,375 @@ + + + + \ No newline at end of file diff --git a/src/views/system/modules/AddressListLeft.vue b/src/views/system/modules/AddressListLeft.vue new file mode 100644 index 0000000..028a411 --- /dev/null +++ b/src/views/system/modules/AddressListLeft.vue @@ -0,0 +1,99 @@ + + + + + \ No newline at end of file diff --git a/src/views/system/modules/AddressListRight.vue b/src/views/system/modules/AddressListRight.vue new file mode 100644 index 0000000..67be2b7 --- /dev/null +++ b/src/views/system/modules/AddressListRight.vue @@ -0,0 +1,211 @@ + + + + + \ No newline at end of file diff --git a/src/views/system/modules/DataLogCompareModal.vue b/src/views/system/modules/DataLogCompareModal.vue new file mode 100644 index 0000000..e02bb02 --- /dev/null +++ b/src/views/system/modules/DataLogCompareModal.vue @@ -0,0 +1,163 @@ + + + + + \ No newline at end of file diff --git a/src/views/system/modules/DataLogModal.vue b/src/views/system/modules/DataLogModal.vue new file mode 100644 index 0000000..c9f1e9c --- /dev/null +++ b/src/views/system/modules/DataLogModal.vue @@ -0,0 +1,153 @@ + + + + + \ No newline at end of file diff --git a/src/views/system/modules/DepartAuthModal.vue b/src/views/system/modules/DepartAuthModal.vue new file mode 100644 index 0000000..92aedf0 --- /dev/null +++ b/src/views/system/modules/DepartAuthModal.vue @@ -0,0 +1,192 @@ + + + + + \ No newline at end of file diff --git a/src/views/system/modules/DepartDataruleModal.vue b/src/views/system/modules/DepartDataruleModal.vue new file mode 100644 index 0000000..77298ac --- /dev/null +++ b/src/views/system/modules/DepartDataruleModal.vue @@ -0,0 +1,116 @@ + + + + + \ No newline at end of file diff --git a/src/views/system/modules/DepartModal.vue b/src/views/system/modules/DepartModal.vue new file mode 100644 index 0000000..b0b2662 --- /dev/null +++ b/src/views/system/modules/DepartModal.vue @@ -0,0 +1,223 @@ + + + + + \ No newline at end of file diff --git a/src/views/system/modules/DepartWindow.vue b/src/views/system/modules/DepartWindow.vue new file mode 100644 index 0000000..1a8d781 --- /dev/null +++ b/src/views/system/modules/DepartWindow.vue @@ -0,0 +1,185 @@ + + + + + \ No newline at end of file diff --git a/src/views/system/modules/DeptBaseInfo.vue b/src/views/system/modules/DeptBaseInfo.vue new file mode 100644 index 0000000..af1418f --- /dev/null +++ b/src/views/system/modules/DeptBaseInfo.vue @@ -0,0 +1,129 @@ + + + \ No newline at end of file diff --git a/src/views/system/modules/DeptRoleAuthModal.vue b/src/views/system/modules/DeptRoleAuthModal.vue new file mode 100644 index 0000000..d84845d --- /dev/null +++ b/src/views/system/modules/DeptRoleAuthModal.vue @@ -0,0 +1,213 @@ + + + \ No newline at end of file diff --git a/src/views/system/modules/DeptRoleDataruleModal.vue b/src/views/system/modules/DeptRoleDataruleModal.vue new file mode 100644 index 0000000..f3a1211 --- /dev/null +++ b/src/views/system/modules/DeptRoleDataruleModal.vue @@ -0,0 +1,122 @@ + + + + + \ No newline at end of file diff --git a/src/views/system/modules/DeptRoleInfo.vue b/src/views/system/modules/DeptRoleInfo.vue new file mode 100644 index 0000000..3c982c3 --- /dev/null +++ b/src/views/system/modules/DeptRoleInfo.vue @@ -0,0 +1,191 @@ + + + + + \ No newline at end of file diff --git a/src/views/system/modules/DeptRoleUserModal.vue b/src/views/system/modules/DeptRoleUserModal.vue new file mode 100644 index 0000000..b09a4b3 --- /dev/null +++ b/src/views/system/modules/DeptRoleUserModal.vue @@ -0,0 +1,200 @@ + + + + + \ No newline at end of file diff --git a/src/views/system/modules/DeptUserInfo.vue b/src/views/system/modules/DeptUserInfo.vue new file mode 100644 index 0000000..69d9b8d --- /dev/null +++ b/src/views/system/modules/DeptUserInfo.vue @@ -0,0 +1,349 @@ + + + + \ No newline at end of file diff --git a/src/views/system/modules/DictItemModal.vue b/src/views/system/modules/DictItemModal.vue new file mode 100644 index 0000000..420753a --- /dev/null +++ b/src/views/system/modules/DictItemModal.vue @@ -0,0 +1,187 @@ + + + diff --git a/src/views/system/modules/DictModal.vue b/src/views/system/modules/DictModal.vue new file mode 100644 index 0000000..2de7e66 --- /dev/null +++ b/src/views/system/modules/DictModal.vue @@ -0,0 +1,151 @@ + + + \ No newline at end of file diff --git a/src/views/system/modules/GateWayRouteModal.vue b/src/views/system/modules/GateWayRouteModal.vue new file mode 100644 index 0000000..2a9b9d4 --- /dev/null +++ b/src/views/system/modules/GateWayRouteModal.vue @@ -0,0 +1,303 @@ + + + \ No newline at end of file diff --git a/src/views/system/modules/PasswordModal.vue b/src/views/system/modules/PasswordModal.vue new file mode 100644 index 0000000..f9f897e --- /dev/null +++ b/src/views/system/modules/PasswordModal.vue @@ -0,0 +1,142 @@ + + + \ No newline at end of file diff --git a/src/views/system/modules/PermissionDataRuleModal.vue b/src/views/system/modules/PermissionDataRuleModal.vue new file mode 100644 index 0000000..05a8c2c --- /dev/null +++ b/src/views/system/modules/PermissionDataRuleModal.vue @@ -0,0 +1,179 @@ + + + + \ No newline at end of file diff --git a/src/views/system/modules/PermissionModal.vue b/src/views/system/modules/PermissionModal.vue new file mode 100644 index 0000000..f531ee0 --- /dev/null +++ b/src/views/system/modules/PermissionModal.vue @@ -0,0 +1,423 @@ + + + + + \ No newline at end of file diff --git a/src/views/system/modules/QuartzJobModal.vue b/src/views/system/modules/QuartzJobModal.vue new file mode 100644 index 0000000..e1154a2 --- /dev/null +++ b/src/views/system/modules/QuartzJobModal.vue @@ -0,0 +1,190 @@ + + + + + \ No newline at end of file diff --git a/src/views/system/modules/RoleDataruleModal.vue b/src/views/system/modules/RoleDataruleModal.vue new file mode 100644 index 0000000..bb5b75b --- /dev/null +++ b/src/views/system/modules/RoleDataruleModal.vue @@ -0,0 +1,120 @@ + + + + + \ No newline at end of file diff --git a/src/views/system/modules/RoleModal.vue b/src/views/system/modules/RoleModal.vue new file mode 100644 index 0000000..1ea4410 --- /dev/null +++ b/src/views/system/modules/RoleModal.vue @@ -0,0 +1,168 @@ + + + + + \ No newline at end of file diff --git a/src/views/system/modules/SelectUserListModal.vue b/src/views/system/modules/SelectUserListModal.vue new file mode 100644 index 0000000..2cb0413 --- /dev/null +++ b/src/views/system/modules/SelectUserListModal.vue @@ -0,0 +1,290 @@ + + + + \ No newline at end of file diff --git a/src/views/system/modules/SelectUserModal.vue b/src/views/system/modules/SelectUserModal.vue new file mode 100644 index 0000000..58c68e8 --- /dev/null +++ b/src/views/system/modules/SelectUserModal.vue @@ -0,0 +1,287 @@ + + + + \ No newline at end of file diff --git a/src/views/system/modules/SysAnnouncementModal.vue b/src/views/system/modules/SysAnnouncementModal.vue new file mode 100644 index 0000000..4b0418d --- /dev/null +++ b/src/views/system/modules/SysAnnouncementModal.vue @@ -0,0 +1,359 @@ + + + + + \ No newline at end of file diff --git a/src/views/system/modules/SysCategoryModal.vue b/src/views/system/modules/SysCategoryModal.vue new file mode 100644 index 0000000..b007513 --- /dev/null +++ b/src/views/system/modules/SysCategoryModal.vue @@ -0,0 +1,182 @@ + + + \ No newline at end of file diff --git a/src/views/system/modules/SysCheckRuleModal.vue b/src/views/system/modules/SysCheckRuleModal.vue new file mode 100644 index 0000000..60f0b44 --- /dev/null +++ b/src/views/system/modules/SysCheckRuleModal.vue @@ -0,0 +1,379 @@ + + + + + \ No newline at end of file diff --git a/src/views/system/modules/SysCheckRuleTestModal.vue b/src/views/system/modules/SysCheckRuleTestModal.vue new file mode 100644 index 0000000..6da0842 --- /dev/null +++ b/src/views/system/modules/SysCheckRuleTestModal.vue @@ -0,0 +1,58 @@ + + + + + \ No newline at end of file diff --git a/src/views/system/modules/SysDataSourceModal.vue b/src/views/system/modules/SysDataSourceModal.vue new file mode 100644 index 0000000..c7984b9 --- /dev/null +++ b/src/views/system/modules/SysDataSourceModal.vue @@ -0,0 +1,251 @@ + + + + + \ No newline at end of file diff --git a/src/views/system/modules/SysDepartRoleModal.vue b/src/views/system/modules/SysDepartRoleModal.vue new file mode 100644 index 0000000..ac982f8 --- /dev/null +++ b/src/views/system/modules/SysDepartRoleModal.vue @@ -0,0 +1,162 @@ + + + + + \ No newline at end of file diff --git a/src/views/system/modules/SysFillRuleModal.vue b/src/views/system/modules/SysFillRuleModal.vue new file mode 100644 index 0000000..f1344f6 --- /dev/null +++ b/src/views/system/modules/SysFillRuleModal.vue @@ -0,0 +1,158 @@ + + + + + \ No newline at end of file diff --git a/src/views/system/modules/SysPositionModal.vue b/src/views/system/modules/SysPositionModal.vue new file mode 100644 index 0000000..b05af5e --- /dev/null +++ b/src/views/system/modules/SysPositionModal.vue @@ -0,0 +1,186 @@ + + + + + diff --git a/src/views/system/modules/TenantForm.vue b/src/views/system/modules/TenantForm.vue new file mode 100644 index 0000000..7cf0090 --- /dev/null +++ b/src/views/system/modules/TenantForm.vue @@ -0,0 +1,187 @@ + + + diff --git a/src/views/system/modules/TenantModal.vue b/src/views/system/modules/TenantModal.vue new file mode 100644 index 0000000..0fbe34d --- /dev/null +++ b/src/views/system/modules/TenantModal.vue @@ -0,0 +1,60 @@ + + + \ No newline at end of file diff --git a/src/views/system/modules/UserModal.vue b/src/views/system/modules/UserModal.vue new file mode 100644 index 0000000..0d0c187 --- /dev/null +++ b/src/views/system/modules/UserModal.vue @@ -0,0 +1,709 @@ + + + + + \ No newline at end of file diff --git a/src/views/system/modules/UserRecycleBinModal.vue b/src/views/system/modules/UserRecycleBinModal.vue new file mode 100644 index 0000000..0e04220 --- /dev/null +++ b/src/views/system/modules/UserRecycleBinModal.vue @@ -0,0 +1,193 @@ + + + + + \ No newline at end of file diff --git a/src/views/system/modules/UserRoleModal.vue b/src/views/system/modules/UserRoleModal.vue new file mode 100644 index 0000000..48b8f97 --- /dev/null +++ b/src/views/system/modules/UserRoleModal.vue @@ -0,0 +1,200 @@ + + + \ No newline at end of file diff --git a/src/views/system/modules/icon/Icon.less b/src/views/system/modules/icon/Icon.less new file mode 100644 index 0000000..5e37187 --- /dev/null +++ b/src/views/system/modules/icon/Icon.less @@ -0,0 +1,35 @@ +@active-color: #4a4a48; +ul { + max-height: 700px; + overflow-y: auto; + padding-left: .5rem; + i { + font-size: 1.5rem; + border: 1px solid #f1f1f1; + padding: .2rem; + margin: .3rem; + cursor: pointer; + &.active, &:hover { + border-radius: 2px; + border-color: @active-color; + background-color: @active-color; + color: #fff; + transition: all .3s; + } + } + li { + list-style: none; + float: left; + width: 5%; + text-align: center; + cursor: pointer; + color: #555; + transition: color .3s ease-in-out,background-color .3s ease-in-out; + position: relative; + margin: 3px 0; + border-radius: 4px; + background-color: #fff; + overflow: hidden; + padding: 10px 0 0; + } +} diff --git a/src/views/system/modules/icon/Icons.vue b/src/views/system/modules/icon/Icons.vue new file mode 100644 index 0000000..4b18ced --- /dev/null +++ b/src/views/system/modules/icon/Icons.vue @@ -0,0 +1,123 @@ + + + diff --git a/src/views/user/Login.vue b/src/views/user/Login.vue new file mode 100644 index 0000000..1b06ea1 --- /dev/null +++ b/src/views/user/Login.vue @@ -0,0 +1,472 @@ + + + + diff --git a/src/views/user/LoginSelectTenant.vue b/src/views/user/LoginSelectTenant.vue new file mode 100644 index 0000000..5f1d353 --- /dev/null +++ b/src/views/user/LoginSelectTenant.vue @@ -0,0 +1,210 @@ + + + + + \ No newline at end of file diff --git a/src/views/user/alteration/Alteration.vue b/src/views/user/alteration/Alteration.vue new file mode 100644 index 0000000..d2b512c --- /dev/null +++ b/src/views/user/alteration/Alteration.vue @@ -0,0 +1,69 @@ + + + + + \ No newline at end of file diff --git a/src/views/user/alteration/Step1.vue b/src/views/user/alteration/Step1.vue new file mode 100644 index 0000000..7cace12 --- /dev/null +++ b/src/views/user/alteration/Step1.vue @@ -0,0 +1,183 @@ + + + + + \ No newline at end of file diff --git a/src/views/user/alteration/Step2.vue b/src/views/user/alteration/Step2.vue new file mode 100644 index 0000000..a8db118 --- /dev/null +++ b/src/views/user/alteration/Step2.vue @@ -0,0 +1,204 @@ + + + + + \ No newline at end of file diff --git a/src/views/user/alteration/Step3.vue b/src/views/user/alteration/Step3.vue new file mode 100644 index 0000000..57b614c --- /dev/null +++ b/src/views/user/alteration/Step3.vue @@ -0,0 +1,132 @@ + + + + \ No newline at end of file diff --git a/src/views/user/alteration/Step4.vue b/src/views/user/alteration/Step4.vue new file mode 100644 index 0000000..59999d7 --- /dev/null +++ b/src/views/user/alteration/Step4.vue @@ -0,0 +1,55 @@ + + + + \ No newline at end of file diff --git a/src/views/user/register/Register.vue b/src/views/user/register/Register.vue new file mode 100644 index 0000000..5846423 --- /dev/null +++ b/src/views/user/register/Register.vue @@ -0,0 +1,380 @@ + + + + + \ No newline at end of file diff --git a/src/views/user/register/RegisterResult.vue b/src/views/user/register/RegisterResult.vue new file mode 100644 index 0000000..389e140 --- /dev/null +++ b/src/views/user/register/RegisterResult.vue @@ -0,0 +1,52 @@ + + + + + \ No newline at end of file diff --git a/src/views/user/third/JeroThirdLoginMixin.js b/src/views/user/third/JeroThirdLoginMixin.js new file mode 100644 index 0000000..ff4f173 --- /dev/null +++ b/src/views/user/third/JeroThirdLoginMixin.js @@ -0,0 +1,211 @@ +/** + *第三方登录 + */ +import { mapActions } from 'vuex' +import { postAction } from '@api/manage' +import { timeFix } from '@/utils/util' + +export const JeroThirdLoginMixin = { + data() { + return { + //第三方登录相关信息 + thirdLoginInfo: '', + thirdPasswordShow: false, + thirdLoginPassword: '', + thirdLoginUser: '', + thirdConfirmShow: false, + thirdCreateUserLoding: false, + thirdLoginState: false, + //绑定手机号弹窗 + bindingPhoneModal: false, + thirdPhone: '', + thirdCaptcha: '', + //获取验证码按钮30s之内是否可点击 + thirdState: { + time: 30, + smsSendBtn: false + }, + //第三方用户UUID + thirdUserUuid: '', + thirdType: '', + url: { + bindingThirdPhone: '/sys/thirdLogin/bindingThirdPhone' + } + } + }, + created() { + }, + methods: { + ...mapActions(['ThirdLogin']), + //第三方登录 + onThirdLogin(source) { + let url = window._CONFIG['domianURL'] + `/sys/thirdLogin/render/${source}` + window.open(url, `login ${source}`, 'height=500, width=500, top=0, left=0, toolbar=no, menubar=no, scrollbars=no, resizable=no,location=n o, status=no') + let that = this + that.thirdType = source + that.thirdLoginInfo = '' + that.thirdLoginState = false + let receiveMessage = function(event) { + let token = event.data + if (typeof token === 'string') { + //如果是字符串类型 说明是token信息 + if (token === '登录失败') { + that.$message.warning(token) + } else if (token.includes('绑定手机号')) { + that.bindingPhoneModal = true + let strings = token.split(',') + that.thirdUserUuid = strings[1] + } else { + that.doThirdLogin(token) + } + } else if (typeof token === 'object') { + //对象类型 说明需要提示是否绑定现有账号 + if (token['isObj'] === true) { + that.thirdConfirmShow = true + that.thirdLoginInfo = { ...token } + } + } else { + that.$message.warning('不识别的信息传递') + } + } + window.addEventListener('message', receiveMessage, false) + }, + // 根据token执行登录 + doThirdLogin(token) { + if (this.thirdLoginState === false) { + this.thirdLoginState = true + let param={}; + param.thirdType=this.thirdType + param.token=token + this.ThirdLogin(param).then(res => { + if (res.success) { + this.loginSuccess() + } else { + this.requestFailed(res) + } + }) + } + }, + // 绑定已有账号 需要输入密码 + thirdLoginUserBind() { + this.thirdLoginPassword = '' + this.thirdLoginUser = this.thirdLoginInfo.uuid + this.thirdConfirmShow = false + this.thirdPasswordShow = true + }, + //创建新账号 + thirdLoginUserCreate() { + this.thirdCreateUserLoding = true + // 账号名后面添加两位随机数 + this.thirdLoginInfo['suffix'] = parseInt(Math.random() * 98 + 1) + //this.thirdLoginInfo.operateCode = 123 //测试校验失败 + postAction('/sys/third/user/create', this.thirdLoginInfo).then(res => { + if (res.success) { + let token = res.result + console.log('thirdCreateNewAccount', token) + this.doThirdLogin(token) + this.thirdConfirmShow = false + } else { + this.$message.warning(res.message) + } + }).finally(() => { + this.thirdCreateUserLoding = false + }) + }, + // 核实密码 + thirdLoginCheckPassword() { + //this.thirdLoginInfo.operateCode = 123 //测试校验失败 + let param = Object.assign({}, this.thirdLoginInfo, { password: this.thirdLoginPassword }) + postAction('/sys/third/user/checkPassword', param).then(res => { + if (res.success) { + this.thirdLoginNoPassword() + this.doThirdLogin(res.result) + } else { + this.$message.warning(res.message) + } + }) + }, + // 没有密码 取消操作 + thirdLoginNoPassword() { + this.thirdPasswordShow = false + this.thirdLoginPassword = '' + this.thirdLoginUser = '' + }, + //获取第三方验证码 + getThirdCaptcha() { + let that = this + if (!this.thirdPhone) { + that.cmsFailed('请输入手机号') + } else { + this.thirdState.smsSendBtn = true + let interval = window.setInterval(() => { + if (that.thirdState.time-- <= 0) { + that.thirdState.time = 30 + that.thirdState.smsSendBtn = false + window.clearInterval(interval) + } + }, 1000) + const hide = this.$message.loading('验证码发送中..', 0) + let smsParams = {} + smsParams.mobile = this.thirdPhone + smsParams.smsmode = '1' + postAction('/sys/sms', smsParams).then(res => { + if (!res.success) { + setTimeout(hide, 0) + this.cmsFailed(res.message) + } + setTimeout(hide, 500) + }).catch(err => { + setTimeout(hide, 1) + clearInterval(interval) + that.thirdState.time = 30 + that.thirdState.smsSendBtn = false + this.requestFailed(err) + }) + } + }, + //绑定手机号点击确定按钮 + thirdHandleOk() { + let bingingParams = {} + bingingParams.mobile = this.thirdPhone + bingingParams.captcha = this.thirdCaptcha + bingingParams.thirdUserUuid = this.thirdUserUuid + postAction(this.url.bindingThirdPhone, bingingParams).then(res => { + if (res.success) { + this.bindingPhoneModal = false + this.doThirdLogin(res.result) + } else { + this.$message.warning(res.message) + } + }) + }, + loginSuccess () { + // update-begin- author:sunjianlei --- date:20190812 --- for: 登录成功后不解除禁用按钮,防止多次点击 + // this.loginBtn = false + // update-end- author:sunjianlei --- date:20190812 --- for: 登录成功后不解除禁用按钮,防止多次点击 + this.$router.push({ path: "/dashboard/analysis" }).catch(()=>{ + console.log('登录跳转首页出错,这个错误从哪里来的') + }) + this.$notification.success({ + message: '欢迎', + description: `${timeFix()},欢迎回来`, + }); + }, + cmsFailed(err){ + this.$notification[ 'error' ]({ + message: "登录失败", + description:err, + duration: 4, + }); + }, + requestFailed (err) { + this.$notification[ 'error' ]({ + message: '登录失败', + description: ((err.response || {}).data || {}).message || err.message || "请求出现错误,请稍后再试", + duration: 4, + }); + this.loginBtn = false; + }, + } + +} \ No newline at end of file diff --git a/src/views/user/third/ThirdLogin.vue b/src/views/user/third/ThirdLogin.vue new file mode 100644 index 0000000..63c31a0 --- /dev/null +++ b/src/views/user/third/ThirdLogin.vue @@ -0,0 +1,118 @@ + + + + + \ No newline at end of file diff --git a/vue.config.js b/vue.config.js new file mode 100644 index 0000000..1bb32f1 --- /dev/null +++ b/vue.config.js @@ -0,0 +1,98 @@ +const path = require('path') +const CompressionPlugin = require("compression-webpack-plugin") + +function resolve(dir) { + return path.join(__dirname, dir) +} + +// vue.config.js +module.exports = { + /* + Vue-cli3: + Crashed when using Webpack `import()` #2463 + https://github.com/vuejs/vue-cli/issues/2463 + */ + // 如果你不需要生产环境的 source map,可以将其设置为 false 以加速生产环境构建。 + productionSourceMap: false, + //打包app时放开该配置 + //publicPath:'./', + configureWebpack: config => { + //生产环境取消 console.log + if (process.env.NODE_ENV === 'production') { + config.optimization.minimizer[0].options.terserOptions.compress.drop_console = true + } + }, + chainWebpack: (config) => { + config.resolve.alias + .set('@$', resolve('src')) + .set('@api', resolve('src/api')) + .set('@assets', resolve('src/assets')) + .set('@comp', resolve('src/components')) + .set('@views', resolve('src/views')) + + //生产环境,开启js\css压缩 + if (process.env.NODE_ENV === 'production') { + config.plugin('compressionPlugin').use(new CompressionPlugin({ + test: /\.(js|css|less)$/, // 匹配文件名 + threshold: 10240, // 对超过10k的数据压缩 + deleteOriginalAssets: false // 不删除源文件 + })) + } + + // 配置 webpack 识别 markdown 为普通的文件 + config.module + .rule('markdown') + .test(/\.md$/) + .use() + .loader('file-loader') + .end() + + // 编译vxe-table包里的es6代码,解决IE11兼容问题 + config.module + .rule('vxe') + .test(/\.js$/) + .include + .add(resolve('node_modules/vxe-table')) + .add(resolve('node_modules/vxe-table-plugin-antd')) + .end() + .use() + .loader('babel-loader') + .end() + + }, + + css: { + loaderOptions: { + less: { + modifyVars: { + /* less 变量覆盖,用于自定义 ant design 主题 */ + 'primary-color': '#1890FF', + 'link-color': '#1890FF', + 'border-radius-base': '4px', + }, + javascriptEnabled: true, + } + } + }, + + devServer: { + port: 3000, + proxy: { + /* '/api': { + target: 'https://mock.ihx.me/mock/5baf3052f7da7e07e04a5116/antd-pro', //mock API接口系统 + ws: false, + changeOrigin: true, + pathRewrite: { + '/jero-boot': '' //默认所有请求都加了jero-boot前缀,需要去掉 + } + },*/ + '/jero-boot': { + target: 'http://localhost:8080', //请求本地 jero-boot后台项目 + ws: false, + changeOrigin: true + }, + } + }, + + lintOnSave: undefined +} \ No newline at end of file

    @PG#ltJa!+O)5C?1rdN)Hu9NMA6)0ttuZ zc7kUFm>E{Dgv*mU6@o6P1yi1`RX!7gXy(hq4^tvkB{l13JPe6==x#cj|E2m|!9^(^ zmCEY?%n_8L@`w8c0c17%DBA}_6}nqp2l>@&DjrhcXH|!P_p&SFAv$Sux+RItAM#G! z${PW#G{AXxE-2j26}{LR(Nc+P!Gw+%%OuyPkUbLn`LYjIdIZ`T7=5W8{+nZTId$QC zZLYU@Mae8GSx7ig)$ra}AR8DWeYgk-E~m|)s4G-uL_+;f7l5D41D~1VA?{mijRV=( z>H1>wL%xSH5PrCR$5;|VvXA7wsQ#$*ptTaMrnnxe8`vt)SN4m#9@18c1Ortb%(CE` z{5*AGJyg|`tO5LgT<WFV$T*C<%YJFIiU3}>SW4;MT7Y8#0-TW8 zRA0%QWHwuyK-98!6zeM5$OZMH?CnW5L{u1-#KI01J5{J~ z;GRk6TzTCl?y;9^T-6S=mm=A~KXqn$sl93|6|S;-{_gjhhDAJNM2K$Gl)IO974m`o zWG(xp9pa&vE;8)b@JLOJmS&j@pnmBbo&dPzflD2ayM+YLtHAvHZPdQ;4cC379QO5n zWj=pMQ^;4Qefql*BOcD+7)tn-Pw{Q%gnT%H1TBV{09XVWHQ*kSpmNB!@f11Cr>wC^ zaSS<}=y;rl$6i`^!(#y+w@Ew{I{5XWkMa0Z!2jM4k&J&61yr#+;rsF^q%F)MhdGR4 zZdBpXs&KG^O_C0i%_jCG2@X=>prO(4l5}tm2i10I-L~!V9NgdYS>x3!1Hj|yTn(4* zyuj_pi+DP_ETM^eCd-&C7f{M2C{R`&g$42BR?`vT3)Z{#c)+!Mibg9%zL;QQqJ)Ec z$8qxDBz8~GDQiVexh)!M%Pswue83Lzu&ufq#|t<9HT7{9Iki^fnAbZi|3&i6$}24g z5|B~Awy5%dh_c{e^=_L>%!z;p0IP@<&?yZ7JVBSb_`t4MH3;CUR#XIH%#ug<#KXGe zp?q$3P*CE5_se_b51%=K2Ie>Xr0Vdi8gQ){!XvW@StnjofUuyK*$52dES7+J320P+ zb_J*xfrSLP=zxEg0N(|$SA78Ef@!-^J|lh=F^iWi;4yO?X!BGLVWA`)Xtl)f=%AvrD=Addg!Rmem+>cdKu^Qri@*YHSq}`VPO`waF+s_(_SiG>R|6VQFJUy?w zFek=fx&o#If7xaXk7n5QiSZB~eRc{sGZFrKZ!z>KelNk{xa!!jd$uKs2WC9{n(N)WrT0qg^MA|B$5hj^Ze39tyM5+c`>5_7^>l<*9fJ zmO@lJ5P+xJ#R#XEFB0c2s$EhiYY=lBXoGaK1qqQR0qr|9XN#0ZIu2R=MS_h)+aaz$ znrB4ffr>j?Ix%O+&NtRg_)jDr{>+F6Djo>O7P zI9~9g_9O9dy5MnGaxTJrN77M56FTI?YE9LKPumXnI=~&VRbqH_P-BpU%(9(g#)j9; z2IRkyh&QVx9V#1!OK+6%Fu+5tjRz@4Q5B%&AW7)5W}`^=8bE(vZ&Mco#@v&0z7+)$ z_vGEd#{=FSu9_E=d@%bZ3!e@^uXf2k*85oPz+xBvZ?QP!Ml22Es6*m`^S7!5`T@Xg zJu%|OY?YYjz;)Yl9fEpuYl@2XhM|z&8FAxeT@_+u+NI=X1cnIJ+Ga%X>+|TFnsMEpoat8}9U!ryKq8$IcWA)R{ zPfsn-$28p2=lyoS$b0uG;2!+~$Jzya)8+6jczgnf{UjVj!UNoOz)d(@VXi}`gLW~8 zu{6a|IGg|phXm7d7DzEe$&d56;~gI46FeKA!`#354(d|kr$h(Ihsq)<%LOEPhh|zr zYx!qr{qXO*80r|>v+>?@DK4>I1;A9hjU)Ly&ZH^M03hMO&}b?g_67MUrNRA|i}>qnPjU7BEFQjCl3?kBQx!~)l`v7tqms{y^-`#!wje$JcanMct!N=u zHtF$V77w^utBu)eLn@CdV?`X>KaLMi?!$p;I!}d-&1)+%N7XF z+8aG)jst^2>%gTN@PMAQ1c9k?Q1CK7*;shA0W1v4q{870Lp%w@(qmis0D0~PI1y}7 zqGQ23Jf*s!4cuq~*EKwp-%9|7-}}lYAWPj;c3VofqY^qX2UkS||0X~^?r@ZfhY^KK z_tUQ|zky?cz(81IL;nyzrs++;lgMS4ON0&Zx`N7s{2ER0j%;MZv1jlh!63q~9gLm3iR*V8+7> z;N~JQyB_htL9dgDjcLwDyI93d-+o#=jd@V*aj=kz-3@;)ncG%vs$ia2OHp0bVo+`( zISyB<4iDIh19xh>1qcbRpVo{vc+1BS&cSx6_OVvs$WXxb%1km!{=aIwIns zdp@wXi1z`4Av6DheV*$eZ5e5=MPN`ZtTIrR`}Y_e-^4yZe8*)S>I#>p;$ha|v#yMj zRrj!J0EcJGOrHrC$mdff1~+@0r_EN;V|SwYLOQH4g}n(dSJGJ ztcR)!&8|cDLR9?`$S1jQrUG2302jw;V-%D?#NbU~Bk$EOm-QHdV9yi}8xarj0VuOt z3Rff<9VI80W(RU%eZC;JN?yp9y(Czp{At_Anf)O-gLxjZ8Q4ubrKZCb=DbLzkwc9c z8ZA})Se8osP{deY|G|hk9e4bnTO}U4vpf1(WLa(IyViS8yg#<$Bd#-Y2C!m}9#OBDc;FZpaj23@wl0_o z+w7fsRhq1PcCb$}vVnVd7EuWg%=V1Vqo#1(N}F}}8<{^?Y;HaUmvuoVM zvb0f?Z_nRvlN;^YD|UE{kb?09i|}}wh63;#E{ChdM2>iK&F83|IkOW!-A~8raSHC| zBY&G;>)ofH!rl9OIOKBp2noLC9e$Sz0056Y@W4m}7l%iC$vrsZfJ5G6m)bEsg~M%l zeBnB{JGloh|IKkn#l#!`QH2Bh4)>$nlQB4YH-aO@krX(ARBV+_I)~#LD&5z0k76FO zO-iesqS|cX*3)_X^vV-lzBhwMGgVpe_KcUXyHdbJserL!9_3sPr9w{B5B$57%SpAG zNa%DYyaH@?)AFe-F07K^pM`20j~A9v@1&?yia2>_65l?52*>tLXfpsX)cRP+zBObUhwZcsPyZM|;r7yz9)g-x6aiw8*9G78p8T_+@HOorT z+uPK0q+a;f9Pm#a z@I4X_6a}cV!KMfyJXmcl)uln%aH}4G7?J=41lRKJ7Mwo`6{HNsJY4WNkq6EcfwM)A zd?6muNz@cZds-3cL@t9^O8o&@`Z0gS@Xbyq(}p6`4e z$IF<*(Tc+-W5D;vfFFzj$43<|y-r8UEF9Q3qU;0C4g4Js^75x1LTJPM705SMO^ZDR zD{UhM%Aou0Fh4IlpeiA2b3(Zo+JnUtRDLYg12Id0LqcSw%Fz^20iaip9I7%X7ADm@IiG~$KX z08goMAkbP5ZE(HjBve~6FnG)e_0c#0O`>9x@&{ZVA5IM-Os6Fu``@Y>pyS#C)bsn6_o#HOS7Q_bh)Y;UKCp$q5N+PzFfze-G1AiQjL;i;NAPS(;&g z!oOK8vRqFk!;O8$t~XYF45UCrRUT4^H6+DDOgz}547gLUT(Us)K%lSeL+!PrK5q}Y zyY>8e+vG;qyA0NsiTc6gj*t%yw>>2P;c0yq^RuT>{Snal)Qu)fx97IqhA$lWytWPR zam1J8-9NvC>BQsR)Zwi6xS(gP;IpEY`%``k7n^V*Pr3~qdB}-tfSFt2Vx!0>g$PpMP9r^Jgoa5N8Rn#A|A30oF1e^*`RXa#0B+3sCuN= zd8qi5@L&S(R_#ogtG-9Z=%{aO3&SO@*pc&zR^AE$lVv#sA|`}T(=#@t($KGUCI5j3 z>eZXw?W}-!g?Q*F@jxJw#6u1E-{)BEsdf@wZOlN-_s4+`#(DC`=V1c;M*#mt z%{*uIeKGNHfZz}VMb*|x$PTqsx>^T*wH$)12?jF9fgaKXYvLa}l+x0IzSYNbz}b?= zSqYE!IK)6%5+wROC39DOw8ajaiWb^A(M!J#eAxm%7Yhj|HckXzq{4ZF781VP>kvmCsHw@=f*KbMB#7y;tK6{@uq z=a-kQL~<6|)JY*RLz@9ww6TIX% zTr2}83+Dj=%m4r&07*naR9?mhiD~19;y!2@2AuEbQYWN0t(0yy9PW#yQs@Wbre^}1 zSNdNFYd&5M>)=PU8e_0}5!g*-fdZ2@2D@#>Ol8LQq{{D4=766r0$(f!5+t)ST4w^Y zd*Zq}oe#EB42?ch^f;@QPoWL`DvrRGCL2QeDVCNr?v*Uf7TQSNHRL<=?x;QTOlHA|C9~ zO5fA(xAjNdG&ah|8C0j(PM_1mdOM2CU6*+9Xv3jKaj%jP_r1gCzJqHWhnvXZ>FhMB z-*7wG4;wwJAum50ef?MS_y71aKTfMw6mSq79Fe=s;SoAgfKtpk?DZa}J#gGRAstxo zu>gk$?GCP_z?bDQ-2H=h-TZcGAyqk;!l7K_S_|y$bZ|sf4OBPqo@lSMC%f)VPAHpv zTVKs(8{hd_19zV-;mU(q{Nl@JxczJa3(GAuX&RqZiLg2_hcd~BLQV*WN->8@p@4Ee z3FHIS5X^#5q9T`LD0LWO456ZjW4qHqwbj95qlp(w4LqK&qU}AVC(F2SY#M+2{UbPg zc(;UF^K*8HhrS-^)?d6sJgnP>qZpU*1#}Y+@d4NlpcXjFN*x{yxS``%<0h7#&kQLO zA5{fogn$sB$sy6|9;@KndIuWqC#5`eJ) z?)45$qrI!OzpWSI;Sc8>J}2?82Ix;<<-gtqd}ksM5VSL5hU7I5{BJ4n7tD!ZUV?r- ziHCpYfbTkBkNR&D&|z>i^Arg9+@`fs4fwnsavY?pPb<9TW6XzNJ+ztCus^3c4)pFW z5NHbC-3;zD4$La9`4O!0lpKdNRFghraJ5u(I$Ui!Q9kgXCbukX#X3(*29%b{T2eMw zbs}6uSL{bnJ0&LgkvS*8=qD3zK3saezG!XFTjBvu07eZ54Fl- zDn+yGgYD4i`@Dv@-*Y?@Oy^w3cHq+$AeJ^f^;h#BxL2V?2mcoPB?YdnR~Qk-c}1!e zX=PKVO=Tbq#A>Ow+G>fNlHH2eFxTr;d9xf@`O zhl5q|l5lud2OiN*tqNRS0Dd*gU~QnPpi(GV4L@u@b2B5sAxaO1S(m+d>7U}?l~k^U zN+@|wW?Q1bF^B3>Cz1RJ&NGi_rBipfR&#hcX)$O$7N-P=Jt*tj>cO%x4kp=L@*u7fK%P@K~=bX~KMXn$bqY8L%Mv2F#c*bZM^ois_DZx`5~Yy|-Xg2l?)H#9mMRUHWAvxm>{d=oOI3aeJ(XUzue|c$$a1+s#cVYu=#da1cbG* zS+a=|MEA#Q*)PTYJP-w8y__fU&<^uO*e8cq(%Oy1JiEpM@zDJf-yiRts!Prr{481@ zvLJ~6o~;$VOgufe{OYZss5~R3C;Kb+1rkoKmXm#abl)#Em4oyF7C}(mKpV(9uv{a- zlZJdA&9o4b#0sefbS}@@SwA;?MpOYwhJSq^`rmy9CeS<@k8j0asiHw~`JXK6-@tAN>fOPe0vJKD_P`40xK`#FPFC zzU2ph?(@g@pfpuPx!MNRtP`CSQ@K12rNFz+MeE< zm|3jj+M`)qx;ukk-F}V-FPBkow$VwwfD%%5DjT^Zc%AA2g{p?Ip-E86Cz1g%Udo9Q zLh>LA2?|M0-p|i!wA)y2l5}Wcq29t`y@jPl3xz@s2X|F){^&Hm_ugS49(IoxMMbeg zJZ$wT_xSz+Z)`@&c7(+L8x^tsotbOUzT6arFc^)h{{pLT%TE#Oikgh#(caEjW6yorq-_Lz8dS94;+6JggD00BUU~Ags9qSvw1`nGZHb%!(kvaB&xKVHa?2 zBB&n5NKz{ZXJp?h(m@G~V2v5ZK1l^CnjThx%L~BudEnL}b0vT|s>=wdn0QX@tawda zSIUXU?g9j8K3Va&FwXGk5N^LaAA+MzabZJP@KRMdEwmXN?Qoq+4-y`Ahi4?#J5DSr zTFlzu8^lv8vQD#`6LpiWm^P6LBNC~b_!N0!A|XCGPK;a`5$|m+vR>)>aQ4;@ZTme`XmEUBrWtPt3+3*v{O7_sbB% zfyz6Et4DZu=2j#MPFm~<0qq2AztsY6G#qZ!3BHHwekyI&%Jkv*w;YFqRM%C2kEr-l zyF6Md@sLU!-o|(anA-j-Qs2nf)LbRz8Zpo4$5cC1fv0t<4c50>;&`9P`Hv0Q}VP`a=6w$F>7V9YV5L^OBC8QjMX~Wl}~WU=WsGf@J{OS4!nd%b8A1(%m=|fQv7N@kB9GHM0>k1TeUwb46mgEU-y%R64I zml(XsDlQ9}wKkB7XUV__gz9!{gVzxcb+uahn;Ni|;z7KR6X07@z<+lD`0hj?90-8q zJaE|q|K0;X_7KxfW<2n_J_hjn4)}nFCfcenN1>_V(N*9cz4KcE9LyTaJmob6(`=Ov zNm!=GIRRP_!ZHa0Xd`Ey@+wH+!JO&}+A7hjo7PIVT28#XAE~X9SUL6kkc7$WA|8mU z5Qt$(EPrp-EF>L>^soYJ;_V_HvUw`XJ|IBAszk9=(Mra}YN))kYSggi8!4&dA*!P9 zX_DMVFN%pU&I6);(6D&|0gYxLBCFK^j0i}imEvYaVUz#&ytFvsD-Byf5%gh?}4+N@8^^1~jP4JT;_B^`KQ zv``|b`k)5fSp=>v0=E}6(}Ae4U58atDp*M}VJaVNl@3$sL4`xb<4h&Rp%O5mY8-yAuDG(=Y_nJ`~vL@hQo0! zm`_PIJ3OM&uEhXpR`>_dea_y*D^$gsf#vK5lT;OGjswZAb7kQDv7mUME7Nx!)BPjRwe@N<1&c5LLqokHAPQ6&}k7xc83>0 z_JbAdEIivH@gT=Wo!erIA)8-@S?wPKsX~0I^^z#zNW7{t$jFCb1Dr-a2gw8jC{5zxDGy-F5PS*rb83L5nM5bTw8KC!7(i4~HalHs5# z!7Qsz_a;NRRa4q3xh~mmxuD9R3Xs-{R%kVp@7MKH&TIOtX?e!n1{QqKVv5BMR5^(C zmagZfa2U!p#R1PkvL;#9h3s+Hh(;Tx)soz!e(5TrNOD)S8z#r+p}K3@wN4WejR z(adMqv|MERiYLMgU>P7t^E*5Dje=5ZS4oz3^-qC4%=K>WEyRdt_ zw4->~($nqp%{#1>fu1dHW2HjVmP2MaM!Akw~GQKCLRcQ@-WAr zHHn9)QB3jhtx4ct9{|2H4hgE{qD5?>n|R=Ek^g?d1OH759HyOv0)98E4Dk#=5PjZ> zRb-Y9`kk4jMFJdAaOEO{LJMA054+S}nup$O(In`km94bOpp67WGHD%gs~JcR+Gr4b zVZKD>-M!JMU5l8Ay(@S!w2TJ=GW;>(fhZFZA69abc$nCJ;nEx3e*Ak;HK+8>JwJQT-iNTH&5?XleQSg3orb}F_g9EbPo2`()GKYr;X)b&UOI6cM+e_9IxQ-w5OdipGEJ(0>% zer}qGs^A4JWNN_W#RT`LD3JV=(EnLx*1h@SHmywc0By@y%{>X6p8`JE6>=PyD?t*3 zRwD)wt!1lZzvG%i@RJr#v{m|YDOf6fF&D^&#RkOEhU5S(yW~f=ib8xV&^%3$xf~P@ zRCzGOcTX`D!a;z)sH)pI1W`G35@`eGINT)Rvg}0huuSsYD%%Y-$)It0n7oN0J0(lRXN`k%-iz?6_Y2XH?i(`eUytwlVrnSWk&_@9+{ zV80}%%iIK7DxIahUOCt*9V&R~2L%4DAJ|t&=&IO^Ik7I1OrNI1ZwT7#2# z+}?J-Bs!)UR$T->V1T*?M;|HB<|(X!=FDeZDF&)}E$jx;HPY~Xvu)sE6JV~1u5@Xc8iR zo-#-2^9Xr6!Gcfbp}6wB-(rS-7U2kx79LcsmrMacHAF_v^!d5{yxjI(94n&i(*SNE zW+LT}xgD5#AttJAd|36oJY!Y2SdK%J84fznP&r|Wmsg%kKNr8oYgdh1y?!B8nBlzEq?8~Zx@TL)T7Pf9A-;3Jr|;eqI_UPW3tJ%$!X$3@9iCa} z=oaK1-;51`p%V{XEhyg?*+B6cMZvG?6q(z2d|;Jt z$aM&nRs^mIIPg$lVRzh^O4uZ=MpW|3P2aGqzcGZvzFyTEqkYjRXM0rB^8)qV_W4;hPh{zuX_Jmc}*2nG4-j z5B#AA{xS_24+J;IJa9AxK5PP&I(_AVhjoA+^R#owexfQWeir);LD&NcaJ1lYssx-- zz=>6!1e(~Mrf@LjK5-GbkCX%h@Sq($t8XyCT1f{2F!A^H)Fsve5#lOPJ9)*Z55I>O zNJ2`3LfyE-(J_ZlD!}*0fFFzl$MXTt?6$h;>AFVzq8QL&f8abI{>D`Ju##6p4n+ac z3RVAJR%*3l5in9g$Zawn`fWnnpV+>~)DHqYX)X>)2dPACcmdR{+Kzi6l96mL+L(}d zSmGbC>sD>dFs&pVKOl1aNW0@{2 zD>9~q6A&BN$O)?mXSg(phqV+B1t4Xy4eyCoGg3vny@-d{y2UJ3BxE+xya0}S+5^>S z0TN1(Nj9*3MIog70n0^-BXqin2V&MFjebeR!>q%Vx|8{yYJ;Q9Fd*qr@;FrtYXgZJ z{)ocCD!!w~IoEL^)2HQR4Y=6^F4JO*Ro51N9(732<7T)q(5vkZ<&WgkYR05zUQ~WkE~BB;*>Agg+?((n0xm zBoN5M*8p1=OaZ}07)CpE6Lm&BWJ-`OB4#}<#^x9S+Kouj;AE;BXzR$i zCFDuh{8e1rBXhqIEQ_fv3W^2ymr`2iQ1e>2db^>X?Et4t>=*K zlw@9$hZochMm*RYpIJL~!8~u2c!;<8mN8@Y-m1#37SYT=^ReNq3j&yk>YBa;{Q7_gPZ@u572p2(j4zSk1b;WrU2~g04H<6`)P{P zF2RA+OU5P@4$OL3+gho+o%$TfeZIV>r?S?IRu*87`_C8g(<@IT-{I=RIm|6L1oY3d z9I%fc!G+`oUR6Wb$7CG4_(qd>NHJb6;>6x@eDKab{H=?Jar)pC%Ei1K;!L9Z%4LkI zq58Q0xB8_!#6wSyZ`9q6<7HFCL)YEdrcXcIdMbIasNFN4~-~X zT8SgxYd7)0N>mmGGac+dq`;3;;07xKmuzuh*s>& zq6+u7MFFv@vM|cP5bFv4?_4OFAYejE8WIbf8>k9l0Aslne29tjiPcgoC?1&OKtVZG z0IbF)iNN`0x{!+13xQryP+7&R0<7$YqVQ=YlHG7^Il&!PQP+T%v@&Cc0j(Nh07}74 zf@ZAh-b=z^EGQg)XF3oM`xpRQ3?M)6&F;Hflt%<6(`QEUVh)wJbAVNG+AF)_~8dzW5uinCC4EUZ48TkkJ&~=j}wJJLS$JM>~1=baxZ2a8p(g=Hr#7N$oDHsz>s{e zrB1ReL}`=-U?_Soq#MiPbV3tiE+W-L!N&{-ZH(>-iNEKMDTXw+AG`kXr2!vFbajj7E&iuAlUXoH=0R+~G%TPzY7{x+ zno>Y*m&~51TOrWrZl~v$XZvIFwiY^X_Df1EuUW&P&&tBGNiaxtzmg3c*V&q*#QAz8 zM$Z?##`w26iey8XMFMK4WJ*P`>KWosc#c7d%s-q*7i+1gs#)aJ>I9o=*(*gGkzrj{ zSeKKaD%OHeDOk{czp5#=8S$`E?;2Xi_82R9T|t4GwcW59aftn8)kklW^Yj)kqv1Uk z0o+KvST6lCU%>TaQ|{%cn(=MPWk&M5O{rNU7`W!Au20|iRq5CYR zoOTpxr#}2rhOYoCJ7jW-WDYP4nCz#qPaT`WqDX)=)!@*7mhmpe(2b^*q z7XTauu*(O+p}(I#M{=Jp@9$dl)wU4P=egrO?mb(?UtWHM&+fdyjmPttuQnyGA#cdS zroLtUH-##v6zw#{RHcM>4^H93lY8;Ki-+;f{wb+eV71{6@i2tOU+W_WyvrX&KORxb zywUx^pooW6m0sMKvw~TJHEA`pKnZZmgB55U-OiDK2tKf^_EjI)w{^wT4r$nxSxNAq z$wNR^@lEe*1D}L!hyplO0Ws{Vsn_-E4T*>P8W|5U@h}PeOSM{};z2@f0bEOg|0@N4 z(xRP30Qsf}wl;uSk`5#wY<^I{kAHD_;G#)Dhau6l&Y%i_p4IQs&pjVJy@`SF?Pfj} zcJ2TGAOJ~3K~yzuAI0ie$#F=7Up6f?7$8k+rCV($>WA*MJE^`@T!aTnE98`_$&Dri z11rr+NxU9(^%uX7sB>Gns|KgKyc4UOZ;t`r8w36hJ;Do`QN7XkZo}Wl#FsaI@<0pyotv zKmu@8c8Y>voU;gq?`9}3fz>hK-6`PwLRROa`F@yTZ=h0)Q1Y`xs@4+5ARi?hve z9So1Yw+P%=0zR7$Bm}EgGfTBDAAJJ849lG^gd7L@=$~PxMTPcKsZ^iyhai;914^O@ z;gA9hjwaCjq#4KtS}R?tIXtgJY$`lo$UppE36ECv#K4l6c;EzKB|$dc`Fj!z)}DM{ ztcbAR+kC+Hnc~4YX-g^|&TGcQhnn#)uEYb^MpHa+t(5g)n{I$&1+pn2rP5m!JCcDU zYRCX=6995lIw?8Hs$uhUr;P~h3JDtX$8d1Y;eW9dvKMG8bebe|$;(<`k4)AA?GFMx z8{xnV1IbTtxY+W+OgSTn*oqobRF$k;Q#-+fBpsOHK!roW3jx7EX%cYK zWyNk*$ER`wBphZsz(ci{y4MVO7GE-BNtkyXy_qebRswKB;tj}2R)e8+e;3$&mFBS# z`7kX!S_Y>65z8`NMXf4Uk7$k&jCZYm80!^}r%7vsKbsk^UY)pCh@?m-lxq`f4K{$j&#KDQ-Vqz)!C}#%Fh*bL_|$%Ua_#_*?PIJ)7@DsIlSa`{n`+&+^i3P0cKzMg zSM~9X`o0E5Jj74WHsgZdsONV=uXh4atZZ+1EY-r{M=B!;G|~%Ks=-z&|6_n<)a}w= zZ+!LDHV3{^`RPODr+}^+1jo6mTue}4{(~OKsDOwi`J+%k^hG?xXAD((FyrB09RNNV z4;7dEJYo%Bc7Q)?0l%P)L=~8+1HKt#^8{h!02u?9`d)&cw5>Rr2QG+>Mo>90NSXze z1Yp+m?q)yp!B*)(Cny|#)1al2lZtAR5v(*NzO(AAr1wFhgO#MjS6Fe%Ds8@x*BS%0 zYxWTtP+9?Pss~=An9l2VkoPL5e+6uKzhx)h`QI9M_%4ZuiWkrFmUHMtGXG(KBwOw4 zy}Uome^8LgvJa$Koc3DPU>CqS!ch@L0Fr;SdNpK1tpJMyUQT+sg)P6v=0yQn)oO+{ zFa*P>dXP}adH_{8ZrD9im&(Dn;sfXy50&ox0wdn2U|6D^5Cd{)BeV?MTxNJP?Ngkn zi}?95&d8fHpqM~D$pzXdeLM}En*!b$2lkeN!ofVc*_&feZhl4#0ukWjwJd0G{Ou*+ z*K@$ldEoIf1o)RM7gnuyW9bU`mJ<&GzVFbtzY?-6nB%a!5Hb)<=@CC1aWG>WP+ieZ zBsBU`HH2}~VrjPN#LkVG8D5kKipuhah<37}EeM_;Y*sVIDqDDNtYETDC;v88MC==6 zY>3TsCJ7>WL}Il^tEKHuJai8dQvq_ki%AQT|5&o9u5P{Zfh|4Kz2`#BZ`@pnNn zXg_RTg6AX;_>4(5a4lfJq{u}2pjvHlE)kWD641;rpp_DdX9hJtYimDX6?peqK)V4y zmud#)IGh^;J|+oQ1`ZZOt^}VQ_c?M`ip|HQgH=IuoNzhdA1W)TYG8)Lua|?R(o74O zqmoHg8Qm4jY)5uYW=9;!1Luk!XLwDtR4N2ZC34#mE28~UxNU6%D*Ct{GC%2No9m&I zHkjvkYPO54hr;+P%V`9cStLpSSLB!{+xYip8_0exjHojB;c;ugl1e=IZ$?b$y#9*f zLGO37#DfJJ$BHYf`WNMgDj-Y|F|2j+k%b7kHfHng7sZ{@j0Y5l|vy9kc3p?nT5( ziPn*_A6cExw&jh%Yd*m4QTXbPN4*`02CBxmXKJ;A%3&A^hq!RU)^)o~X&;$nlmw5q z#TmcwmJtst(gszo>omuGr<`H448LJL?IC~e5XW;rSH6|YkmZ&C=P>JlyJ?D_xfFkV z{2;D!h1nq=R-VKT@z77N+~~Ecc$hwoiB1Lky~l9}yz3l}dEkHo_{6)P0l4BFt|h>Y zfBU|h+32GO@q1M`*tU&ZGm;8>MdbidIGhA<-g%q=u-^mYTmIfYM{=Jp-_+&V!cDb7 zwb90{C$w66j4$rJz`d7CSgtiu$mNh5lH$QCqqu$HwH(|%jt@@k!AB?e;cKV&;n41} z?2xcSJZ$O__y48=BSoX=$Nk^r*55Je`x*xEV25xEnkAUdgBA}O%v>SBxEuivg4Ku( zNvI;?-xgYJhm=vb%T}M{>ncAb14Hbm=zUF~F?hWvRDDo|rGR9p2%{hN@O@+B1BH0e zr+QtTa0tsX9!&8NTP;NvQ{S8f{>1^{>tg|6qHP0xtFM!EXaUz)d0h)Zwp4ux;gFp| z!+&zoB;i1uo)${t-JSP1FQfxW2ru9Zf8y$9{%_)kyjBKfz7UYb;SQ}NnxV3lR!amO zq%TD~vsb*kwUU%z2$d29YY5_s=e51>bvrvF9;^bC7b!`&>WR(oHbn$qLqv#`nG*?) zjsf4S0H2hBzeS(&BG6HwM}YbP94pHGCwoF~#;D$jO z#z?S)7DgQZkEBpCuGsod&e zAxZ_6a~ZK9UmQs-Y$6l3O`n)aYhxr*2Xv-*sCfMCT^cUUfb2D_mfkkv!N$EP$rNxE z8#M;^TchMCDDC;~@P{2{Ar0hBebt=rJ=4nhw_+ z2*Js1C+k!86K4sjZ6C)2RRzp(AlY!C0$da|N>JhPdyTNL@vzp^WZj2Z4bN%uN5vg& z&+5SEHAuf?pS1h8H6~Wy(MoJjLXrVEnfJI*3TlrNg|Hs-TBHlA%EQ(}5`U88z|d-D z8-W zNbZvv4<(P^H>;%q5D%i5v*#LxE?ZWB?knz#F#(gNkb!GyQfE4R5{Tap< zz(}8P7SZdH=j24GNaDfNSiRihW?y4x2O)!4B+v=%P;GfEX@Q1?M`zp7K{rS=Zo++Z zOBPm0hj=^vRUjV1{m>XC+#`#?WGUA@xYZ17_W8b%_YGwb_kSmYxD3`3z~cpgU%=y! zI?MRY$&*-i&hZGi^RxPRyVD*6X#wxuKm8K>Tth;bKk^>ma5?PqDPF+gE*!3)gZuE9 zaXHK_082l7-*p!^4&+k0Kg4@)!O>L4lXRek()l#SSA$^YI zK3~46%d?GBvz=n8*2I@j<|X6d@`D*Xnpwtjy%oZxhebTdCNf3h5~(CUws!)*b80`{ zKd}cFj_$^u$?^{Iu&F1zg*WXG4?Q*BD8^@eA;Tgb;sZil>D!%sz^Z@RuJ8{JfB|%f zDxTF^LiW{^-jBM0dU|T>zsTl8JJ4A5H*bd3oUG`g*Eie{KnOA z!)OLM1olciM7PZM@wt9|9QY@Dfe$J{DZr}EUoHpx2v%3VJ3M2xHLI>!;k-tWBHNT$ zB5@GfXj~w`#6P8gN&d15{Dxt^HQyFA4gJd zBEj)-;2Q=0@%TpKrLxr*5+tSulH3rj{MYXr21qi1F2C+atOO8-rZHs{iK=R;UT(M<)n@Jd}sAL1J_zADH0S~;K52zBDuX`-iJ<@g>vRvaar@0DJNv*1Z zm#qYk>$Fn>zE~#M@5I)u+ICX)orRQZ-w~S|T9q-}n5u#?;G^BZMcOJ&0td^$I7wr* z%Hi8&8IQ(M419iH585z^z5#3CR!juBUp409S@*sM?5QaaSHV#E{^! z$HfWYL^%XW?<%BHVNMIT7@RYwB+f0%?F3Iqc1mD$AYGm}92QtLtKx>#F4~9(vp|y0 z_!^reBOb&*PKgJbh$N|3%h~OoINmK>T9_q8!+A6|_KDw>tb|LSSK`5}mPkBwTq0{g zX0=38{w>TvlI7c!TS_R(JYc@%HtwroA5bdte84{9#X{?KKhh7Z!k>LyGky3t2=af~ zboi3$0_KWnWj_grwK9E#5Y+611GF$I1HUsCES0EuU>~H)hL1KT+H^>)>XZC8Q#nYU z0xkX;z~@!qMh$q_2>(XQC9ajRl1c7WuZ0BMz8r(Ifis%r@J`W-RNh2%v9Ly#9_7Hy zX7CQzLs}{+*)Y>_SYVfJ1HR?q=?}oQh&N@#n+-A{6;!%t1dxTNv;Xqd=XYxc|r=Qpr=!iDEazN_w+j>cv)ZlZ#}`JI3?Btu z7BcL=MVTT+K`S``LwqFJ^PokwkPVHHi&Ir4WGKuCSq`htaa+8oxKN6pEBh`fN(dPa zEHmdk921*1r`s5o_t`~tU(YtPTCxju8Oz(%p87wtHOqp!Sq!FaV`tJqkB6ar-Y^b~ zo4C*cT?QkF<^g=+Qv8Vreq92d95~=;wZHQ-r1|l;w_&|^p91dAWgKvATyzQEcMczV zkGylZh8!+ChcDVCJYN18T0i{zZq2;NK{cQ%90ae?KO_{U+ie_h4u_q?J4kTGdz^9* zYb9np4ECqbk=*CYH+8LcC~UMkn5{N&^U*y1%he~i`fwJHXRD|-m3UZ5_}SF=yzWgM zwOFE^)6{qorw&fxo9`aLg=5n=zJCH!mEsQZFwhq7;lp-_haMVfNYzE_eDko02m9&_ zYoWB78+xsVV1O-pz=W^ z)RFCk*-nW+u(roAH@llA9<*wj6`_A`Hze@+WgEEN2w|CbH7ql$G}e=ftP{*rNP=hl z?gTiHrypS;9SF3XA;`kRpS~x~T95;>Dl3@d@Jzxo9d1fkrjzPUf<3PJ6 z+A1BUS9mdmh0@ZA-r1~{{qtquua<$&mV>=Vtdv;Q&EkVrTz1R{Zxb zv=TZv)aabROc?cm&+;Gid2YiYzwRZ)z=3$+YX%1AMe(C=c+Ay2W|uu$%{17k7}=y) zANxPSc7`TDZ6;DV{ji$gCabBd1l$2npDrCctJFoDhYP@11vpR!PBEZ&0{Ge#aBdPf zJ_f0{C+H(%E{ZU)kISlf)wW5LQO)qZ4{9Ma`U**h1>nJQAX73cm*}$0N1r(kw6$S) zG|2|$IGi10t^Po z)N7Lj@CZRMa>7_kPDFCSI-Z48U=5zK8aCd|_r^+iEr3@uT>|44KC4ooosY)_B_22j z9Vw+k`gD*W;d;q%T_N8>9>Q?SkcU5tY#kJTcMX~4{m>GX`+)f>0XHvm949#{fx3x@ zm~5~d2R1vgbICB^cxVF;nhrOqE|5QKXZo-|vO5qbXOQ|n&2czU4ur!;V<9}6>bveN zq4+EnPyg&PoZd-ra1D`sp$2fh4qVdpaE7WTQxMpCsDuW)7S}@tWs`)bs)3eDRQ$bL z^zv^cB>0^|;OS#Cw122bF`( z8N+xELVlX9j?PC^HINA6T1*0h&u7>_rnnIm4ha|LSTqCSAnIu5K+zh|2Nwq+rnX2n zbl;QBt0DY53G=fQJ~^bRlcFeQ)tO3Wt@-b(Mm)q@C+RDyLJ$8v{EUx*^}A63e?466 zfG(p6FK)Tl0sOgZSmJ z?4PXQ{IT8m_PK*Ndu$i>O_Wh77P5o%dKgsL`rW+V|01pgf&>o{b9(!OIp7CEbwqcA71GBk3K+lXZi@SQM%BspeQ>n~UYDp=T z+9@tUG9sSwJNKO6Whf{Hm!PC9hComx-*Vr5cRk2rknqEO8Uzw>7yCx zyO3IX-l{Hwf|1=ByXJlwpqEAJ%9n?vTQM~yowAE z-bK^_&qR~KND?rXKx}Ki(*-FBIGa)z44;++%i-&$^wHBoH)aYwXrdKgSidm9t#`0z zyhYw=MA|VS9oa2i+>uPpFO8Ou)oC1`+PAsk1*#JYYAQI|CHrf%AZAZYmSOA2YM?7ZZbMKe;9o z`S*)59yo}Bi8Kt4*T+l!bX%#{C!|BQjxkXH9td#MZTwH*gGm)_eB5c%hlGA!P_#It zm6-p@$S3#~=F&^rpZ}1nW#M7)jWZnHn{`hgJPelc^ogK1j2>7v%mr^wB;#nLm5@|o zE`VjjtBPSilKdkmW#4@+rWwI5BKZFe5`VL>Z_?KtfEDILo-aIBvWMcG8sn!b9j-YL zK3eKbJ+a>~2{a3m9{He zinta5&}{&3NKpu)5@*udjwauXuG*r6i?T z&^Jt%`#i@mI%}-`&3ro;5Y7ZK*1=}roqlij?~DWC!4Y058~xlSrQ`D*>x#rYDN>?` z13!bbx%HGQKnK=%1oo2$-Xhr0Y9${BYl_|;H@r-qJOtp-AR%G2Pyg^MnXtlMsnALct zrgCB4q;2p0Z*LXT!!3bjAxSEIHYXt|@olF^yE}@INmrnk4YLA}0d~WMhIFan zpo0hX2-1Aol>QCC!?g6tAizTeA|vHB3eRc*G{&=^bM0=VI{;aDen6Ywo+x!;OgcDP zsM;y@7~r9qZhkU$55 z&44e|!xuA!9>OjNbix1ur<+;O)Nh_gkps!3VddP`1ZMOk}b zy!U?3yPmTETreS@oy09L>WTX1VSpD;tI!Q(w&tXdnuW0*x``C=F0=0h)aoPBKEUUC z0^X2T0)Rd~D(&$18!B1-GJFGs;JeLB?KJlRIuP{#Y*zY`z5(cvD^Pp?wE57%b^MkA z!w>s>c-H5`qqPJ^0Df?Z@W8PEvDbmgIRQE>Fb@L47j{orP{@p>v~fo^+#{*mM+|`Q zwx0uYU4+l+B>c>|^dTCjk5zUqphCz8atxKnG4Y8xF+3i~C@?TS1vdHbTO+0Z-gv1W zQujR`4{HS;de=w>IQU#i@dNzgS0P(RKo#H%8BEro-HiVsNiYTWX+dyb7Xv)d*9~;d zq{%je{m{i?nTOoOoi=BRbiuG0Qi4)|*)W}~-ZvQS=t@|*JgAL3?lF;ohr-694G--1 z3}G=Y@tyX@csD=K8pnZ$W@pg{Et9F+knN0j%UB}VTw?5wip@vJypE3)8XHOVK_9XC z9tN=`hLvjKz2QD>)+RD-5gRtYr@#ZzzX$-@Qoz9n`(4!Q%NX_D?7+e@4Rs@mfkJUn z7~$3X{MdXe)XX);FP9_j`*534QLC!eSNz~D;9;N_xY^Bavw?@a5@MXNz=H?UEx=Z$Y^PZ?kUaoT zy<##k13SZ-x!9m+GHBdwK-h9I}cez+ID6{o5RaCvj2G${>a zW%i6nGOsAq-P3ir~LZ7>j z!*>K|JB9UAGk)$FWC>zn*p95yHpD)6NK?C{)hv0j&Z?t2&PR`N*yBLJ1(7@D0Ozc)S-GufPw%H29$Uo z<9R|7g)W6;)3@^#ebp@V;dG&!%@ovq+A1v5oMS9Hz(ep08j7(Uyz@mycQ*^$fdd{i zyctaD$1Bok9UgVeB$5`5qr=_UkMBk%{H1cAq#0&kVVaJV)qzpG1d^fj`9@-T?5=jY zJ~k=JQAuX&u>Gi;dSO|qA%kI=-S(1R!3i+0vIyk(@5ugz0g2Xm{-G-A3%pt+{Q#Wb zpDT22t}q`VfG3y*yt3ZD(3L15*ocJJHtEus^tT(*JB+`z#I(x^Y5^`p73ckdrbSu0 zo)XRE2lT;=bc3LOJ28`t_1A-3#N5x^0|0-#=JVlbsgulyWcp|JK)ib^iwA$14`Dgn zYo|K6x*&bBQ0V4DVLB8uFpZeUky4`4!kdAIi%+nDVh|3|;5ek)`FdVd_?z%+cHLpL z5(62G2>MV|o<%NsX%2v}OE&PLNHSLy>FtqHe|Nmp+n9GdE`g@NS{M(krPBJyb?3d0 zbb$tc7a@OXGp&0X1khxj2Y?R_Ktvbj*o|gD#E`|cBYdcGIpv=LYO#vNTX|oN$3e$Tw zC0JN{>vR&h=>xyjjFA-%=84Cs*j`BI`3 z3>ErIe4b&be2*9p)<{1G2Q% z13WBSrOqH=qemOQW^wVZXhGEAo~J< zc$gy%84zM@5)W#aj{|ZVql?l?NNWIgr(d}I(yIu<(5y`I!-0opv$VAg z{Rf7@!}*Fnoi6kr9~Js|5_zM-q>OTgLkxw~g=xjp&c~(g6HlnL%)=p)T_f&4l`%bTH49@nd@@_;F7rb!<>tWv3x*Pb zbnZEiLbA$_2pyZ@l?0Le6scq2=9iMuj(|Io15A^h`)`? zjpe`t)eGPNn*lk$+xRyuB>6vB1~6d^c*;KEhhv$|$c)vbc|2tr(%884!-n+tN2MRr zHa%M`B>Lh~`EVbIl4z4bmk-7db3qLshveVz`bYvD zV8Oxqi@7jZ4ndwl&gr4o!!7)jm=6KtTZQmDvJc||^H4|}(RL%EA0QR&HqaB!36B%N z@;D|3&Nzm~m;(>ouS-p2k(MzcY(n)2H2??&XUv|csE(9NrO+-|9#!dbz0@D#?E>?~ zyX$(Smb$=0NRzp&r#+6>Q80&MEgG5VHs?mhzsn7=1`Qb^Yp=s(KzQ|An{|&b>+3v= zGlXMY9qx?mY_qVWLV_xQ2xla0q&({q;33Sd*RglBe(U>#SYO*d!vU>P)(qxjFkF^H z06Ee27}Mr0u_%Fqc)a0lwcy6lIUu&7@7MPj<||_Rt%@48#Bw01%gnUhnDkIu~}(8R{6eqhn}6nN+u8{LxvJYj|exfmv2_`Y#4NWvQRntNQmJZ)7kBL^P7c`&2TZava34S0B>M>F%nblT)1hQN5Rg*xWa z?T+?tYv}dkdklE^oePI_bk9ULOJl{g%w|;7s%rHWKX}CoAME+Qudn4rJ=co{9^$RX zn6V_=*%ovu^C=eSlVtvf_dzXVKt$kWb4K668tWR4vUr_mBC$D0@vlTXXR~5iMs7Ms zmx2-v`yrR#h(HT7(P|hF0|5_6Ej2v=mOtMzQEsjo8I8wk(xs8oCmk|f^qZ?>Edo_`wr>RxO8nq`c*}`=L^=iCH*~shav+WJXzU1B^*P0 zx&ZKzm<{hemcDo@-I+>e(n!ppqOv3i<>d(}mAxY}Ii>UCr7n(_IyNfps!Q7mwr6ak z7z09ro>(QaN;k}$x6rlO!u%v2E)?Xp&RIJR9KQfO}aO)60t* z>QMDs(%hbCBnFguA0T7bOz(yMp8CB5@I{iw=mtDq_6EPq0KuyOcmQY&kB79jmk6}~ z)pVgxnt;&AEEPg-iR}MgrjAK9`s~_)W?!F z5AX(4n)}e^Z_P3~0K%>5 zWOZY)eP>s2Z49gNH2Pq^&~^7xn(P!tC_v%NKAb@30C+IajI=qYb3`XIi6lRc-+}&z zxpXe2WQ+!{6s|)dY3E&}&{-7@h(ALavA&c%PE2ZWRN7uIbf6-gt|rFc#kzE^TAG(d zS5j!TjE5|X+tyF+*VL8RaZqo5zOfao3T);rPl zyzBTehO1Z;0>Cp4n9q?XC2;JfWa-B%c6lJcUZki@>)#8!n)PPCD(kXNU_3bEVm(zG zebXNl7_9A9Cz0YZq;n&-GIqVpK$}4& zF+D0Kr8F_h{E-qia#mxsDfShV1OK_M^p!D3(jLHALGHtaG#;Kx_B;+sMG^vQfcz8B z*4u8M`F&3%^!~kj*=3IFZ9Cojby?Wiz?>c2y^sH{d-+(?#If0Z^D(A^u7=y9QZ6zBqcC59@ZJoEq8gSEShNk+YG`2(9Dd~Wu zBOU3u03J%cQAme(IEuko~16|f6D%+Bl9{b_yn&Eo_-+K4XM3V5aG++8hn z#JwB{u3V%n7Kkh@$&}cpW$y!0gpWgPaxx|iy3bS?o4siyxTe!a&zLZ-mu>C9*+6+l z=PH}SOL2HGAOd_rgP8tat)vXQ$*IJMnvYET$O!d%q(4|TI8XBmj0sDC2V@wUm~3|p zn1l6my;;$_PYV6(dxbuq3Ut7O3$!0(jB3(ejMB%Yi`%91+odx*rE;6}MNRskkp2RH zlrrgszEep5bs_yY10F09+GCag4)>8anw7qpmcE#hK71m5{Zx8Hupt1sOk;pCoHElF zx4Vx6K*Ra5QfHA?8tVua636g~r057Phe>p%DTnj&+Ct^M% zo}cCd=};9jYZwmF`4Rku66nCO)@;2k*!s*R1OeKagYE#t&nE-vj~5EvA@~>C`*}SC zQbGG-q#ROX0lWb`fZA{_w8Q`&_&M4?$HZhw8Xl;9NGSy^BftsHGf$(%S8H95 z?xWI9-CZwq2nHgoKjuRR;kOs1VHUBMGh_8Z&82<(3)U!eWj|@6U=MN+GTxbQDWBmY ztuj@WuPY;%XlnukCLDP1HApu&J|xeBoB>FGHctXThs+m@HDI2dKJ1CxBzH3K!P=^0 zTgJp(M_u#+4{KplL>Dly#w8oOOk!s^1RG|Ub!F>WpEgpvNn_b8<9E|#&=xw@u40TB zMtQ6roGpWSG;1h8hcSE{Fm11;jD5;W`wtl{n|}Zv46G}Y#GCKWSYHO1z&->v?%Z6G zUTU^da!ePXi}^QuxNcy-cifJtxO>3T8tFanWda^zH)E2BE{$kO0KO-+CFo|aL0?p0 zVVQ=!A;l@wCjUy(txlm|sjXjBtNP1hdy8Ac=s&OGH8;DNy^3}8QkB_R4s7p7XJko= zs3KTWMyI1QMMe8NrS=r2luPc+3tHc=u?Mg5v{k*Mm_#Q59_~%+({CQ>S6|%KHGqfd z1x&$rSUuT2c)Y-wLHjo7avF?)7R_M|Mx>tZ5T-o0lbb_mL#YmON=fmc9?iZo6JQ{4@yLxO6+LU2FonoVrI z^;;8u*ao^WVDtzjq+6sLVT2%Eg3>iQB&BdjM6Fv(Jry~Th8>iS%)Ksh`_yHmcQ`jyJ@;k@a}dcU8nBFjO; zW9M++QOXciGMhHFbgr{bA2~a=hjqzU zUR!*VJnm?NlOmn@RardtNa;#ab>Hktw<71=Gm zp>f7vecr0>$zLX|unBkImDBH)2D{MKD$iz~gKvz*N$GS6`g8zC%)?4L$u~kPO0Ssa zAsocX^$jO7d^rcY_MLflMO~!uh*65~&#z?8$;v=>wjE7*_DRL4Jp*K(6c1`|!J<6v zO}%um{QT~IQ)^lflu`H@B83Eb_6;SkydP$2ZLfxMW{x{Bm>8$RnJf%f!?*Ii!>SIs!&-W)!#CY3fu(OEL(Cc z#nlY}<13Q_yftOI~QVQ#p@D8sF`M9b`6K4*<=j6&7%6S@_HIDF+ zF3)no(2@QioJTP4p2OTS5b81e+h;J`=IxwduN@`RLPwW%O1Pn-Inq*@iGy!kJkX}v zGV(1O?H`3Q+ezNOr+%}Iu0CT1fVY&28{mFuk2h#3+nhQ-1*kIJHoRC8eP2&R*cdim z6jiyXG!1k;_kt<&p8+@{fv?(joWSh>*(Z+~tCv5ERysR9y5vN_zYL!ra3)Gm)v&hb z+GAH7z^PYm5Llwkl-y4ueI0_`Y?Xcm|KpJu`Eig^5uMi1C7Gzg zRq@{?Em&*kjn&mfqugw5l3w2 z9yYJeh@kIol(-Fg(zTR1*#`O|Waf>juZ!e2s)Dd&EpSy}RoXLGb~*!>2NM#u0NRV4 zrS+V}b|(*fbPa3PQdd|LJYrjS%LX+Zgq0uB9^ECEoD!pi$5gT({Cw+Ayno-ZGCL3AM`CCM>>&r`rPf>z{=` z&|3*fp~2R2GFRP&q2Rr9=tC-d{B%TjtQo<$&c6v$mc)z&AcrfUVu{24g#211pwaAhdpq#f2v-ioWFkYP)QC z1BU>ieeK-ZNikRn82bd6aP(&Kr!d~Zcji(SlaI&{UzFW|z@M;$)c2R$<0K=U4hqxJ zT*+*lbqge;f0=}p8-23jNCAxotR(1&o7tMa@B|Ez1&c1R3&eyi00%=WNxQI5wavJm zIMd~f)M;rMCj7Fd#b4oy5BM34rxrGRdmkCC$erv~KKgdF1-S#lPex`% zr~p4Q+tqoG`IJnyx_1EWqhHu9!}U+Q*{n=GsHmrbL&hvPqjhEpHiQ8HC030D!!5p9 z3lx?mCDoro3sdv;jV@@SexY(A@8d)ee=HF$_k#^CT}wtQNe<~}GE!@|7#}avd6*{y zmcz% z{N%o`ok6f~Lnz83oCC4-$sKhN_|-r#ZS=3f56XyKT~&6@rzWW$ja(k@5K@W4pDQSh zPz%SsThhOt`JX=1G@3cXIzG0t(U?2bKu%>rP!+sKd+6he`z!om03@<;ani2pTh4}X z%&f!Eqf0?CdmZ;^(;`NtzH_bf#=!)Ku;F)yZGDqc$l-L{7~S+Q%Qnw|$B$moF^)h; zgV(Uh+INRvWXBQrJcl0GT@wv(wpA^!p<1;*?Q(6Q-3?*zoEXb%qB0@z8Ki<}g%}VJb*<}H z2`Lv26SAbJ6yjTyK#5$ZlL9GgUs#DTS9r8>2MXw=m!A>ViccP*yG2;3#(ub75-1mO z9=kP9#IHE8(1UBgTuW+C1I7C=e3W6mW}lt%CFe1_;9gg^>PYD^B_)4`YYSkB47;Cc z(If(Q)6exE20?_O{i_mYqW;&Z-nr`|fsxnx#se77KVdm|&EgG*AA%G6?w%b9-GBla zCs*DE1ETR>@(BH1aP2Akd^S5pZZ_S*AM+aatM=6RoH+(EbQUVkK#5N*M?0^uAZb3L zcFJlUf(GyDs#yba@-|GgXeig?lg@*=!RqBnDThv$g2kb{W0j;=m~$vqyESj-^omjF z4}NHqWLIynj?z&wf-;a~`KA<6nuNI3B%SBO%?gLpb~jcY8R?-2v==X{4a+z9XxLP8 zs0V}$7o!xrKS&W(dtkbUG8{H6e5oEIZxwi(?m-9}R;$=inc;0}F+jZt$|qlInJEVyrZ}(y4`+jumbC5W6s6fD(tYFdXHja29eBik0hN4gFg~y- zGi3{jCFq|}9N2b6tErv@9$_}3^fSjZ2-^Y8)4S=WqB;yb2e&ER~4kJ@_PRe#TDy1fFZ$N1=D zOW?O81eGVkA2jnmf9k)pyrtdDj;C}~)!QNiJU$ISJdo$be|zp{D*x8J+YW~%ENfko zl*~en=Vg1CWzSXF9~pF$&dNh>hU%Z94F0IAPJfxTJQ))vPWivU4=PFo7$P+pM6+f` z0qN4ItU}X8PJDCUlrM@e$<|s~t@y^i$4?UR-P>U+EHKHCs3|7ur*nEmvoa7NCo*U(#~Uv4H_a5wIevUZ4!N$SbSIZTyTFO1`@H`u@j7 z(I+c5$@ zY{Il$g5!kcJ6k#~f2O6J#2*<2wk7sgSEIBOPDR2AiHO_*hVpI8YZfCZ#oYGNIt9UV z&UQrEaw{e%5Kkw6MR26LS47HXzR^BfryaWkWL>2cpynwe`vhpsw<1=Lrgmr?cY zT21+j@7ztj>Bk*xs{c)QK9u8ULv(7izB{a5gpbj$l+)))7vU>Bbd*%Z5<-5U4858qoLh z+IVOys2VHO;&S^Bv!slPCT34%#cb}OgEvo709>j5tBvI!SR;pGQ8oYibIuU9?udv% zd)O8YaL!SlB656!e&|#|VK@I;ESas!V^+8lw^n~v|3cmu$C)w5X>r*(F@{5+_D!h* z-qfdYOIhDP{MfHiV3Ca6kp3gJP%MV(j8M)cQGLjFm90mWdzO-t;3mGYso?qo5n{-hshR=>Q)FULK(z4rYUXrc7PVt5}j;*B_ zR5&kxK$1^Ce9T7s;{uiQC|KFi66Ow4CO%AA2vj^)w>o>u_~%h!Ba4BzY% zN%d*fu@MwaDdG!j-n4>oab8Q-FPk;QLQJe24!PfXWOYazrPm|2>poE#c!PJX0i7LB zGeHo+Am*v%6VkfHMNA0&l{Kkf zre^LGd@|P!t|r4G&^r)g+x%^zEw?-D#Ds%3IQEIrjYq$2z!V4cmbEyzK5M|-Td^=MSP{qBr&KltF zOy|V)CQV0N_xs+thT^s=vL4TfcYPf|mebs`m8JOooy+_EA@r@U7{PVzPvMiEIi=^F zw@U`5b6(1tMj5N(=QMs(kThzY0gLI|dDmM8yxS%^oH&dmF}jpW4}HmBK9u2W9{bKD zT+qHtuC0(C%wsCuY9!s_siUS-mBs(;or#}&^8SPNz{y*{ z6B(XC`(Ii-QSLP@=oTXk39}K3)>^<+2p|}*TCEQFAtOq^@-}n%Fv?4``&zIN@yAm6 zcjRqm5cG1?%7e+7^njgL^)7aPv)v1E7&KmI=rY0{i9a>rb?}!pFxemAthBht_Qp=v z>=_4|_)Rg_x1Ifx6P?|tWwi5Nm6yXFlJ_DhkBN=jH)X0Gxv$6{EXNE%B-|d42OtFu~0ir=jOTepQWrFJM z6W4gDbRLg7gB|`gq^!A2WCF3@VcUKiQZyG_(UJRm z0S3)DD1<1Q{Kd~@fEbJ>5U*rFESDVD;}eqKla_;C=)kbG{*&BmX!^LX>=PC!CQOp zJ%HTir_%+{tz^VMfQ$OQl>BiF>onp$8j>I6>DPd9;F02B?V|m<46Jl)#DE~ezfM^@ z@)|;pA!874*?PYD%4G4j+QFV6YS`vk&O=-gLPU@Ki;Sz#`$bT+X!VdWU=Vhh%c4lg?neRx#tUF4a}<%b1r4Z2GYqcMwD6@m##AKPQ@XA3y*F9m8mWr zaNc@9kgwocI?FmCAP!K1R`l&Ka1|`uRNB`zuB$?ZC!HS-RoFDxfX`6vdsf$(_8NsjNjWsRL7{c z;B{YmoZj*O?m6Yi{Wg72Tj;H`WA@}0b;57o@%&3lqe{i|lZwC{PP!GJ22N?-z_=n( zf{A6N=gQ(s$esG4DEWe^Vl_kiTh+(S{~b~~GbH%=if`R-{*I9aen9_q0}pbYSNt6+ zKmCJ8=z{xY6>q(wk*AT8;x(2_MQI&@(89Ry($n|lB}04#M)OBghb(IrU$y3b1d_D| zSbPuiJBc5oTP#0OFgaJT{@=|M{J+gq$O|{Y8|%(cE+E}vl*f7q-aQ87w4vr!yofU`vY0M`D_ZrkYNG6a8ajl_v728=bPJkbEyO{cPffMG!}fZxK0v4$a)}bBO2=k zg{R->Eu6ttRKJr79X@h2nPW4;H(fW8kXzOQ#umRCW$Cm!SPX06C)c-W26LIR;MAF} znd<={iY#dLSIk2+cr%sn_p%5tZDxvwrs{z*vTgujlD5ZahuGVYxgOjNUk@vq=uYT! zl+nhSSbtqucyL}xZxiB$Ar#FT4TMmb#R6?L)vhc38jXWqi~mkibe-M~jRLfVATm?z(ee<~_q=htQKu8C=jTNazrt3Iyk zsCUqiOcT^}*A{|2jLUZVX{ZjxSTWwEZfUyvU;=6_EeUc+^Tpucn{WIVtqJch>%6dy z(@re=M-VKD0%vp*Us}e)6nX2w+S2`?S4*sPkb6qVCzKHx;xXVk5Yo2*{QBP70(w_* zYS7=ysvOLPB!q6l#79)~##HizisNjG+u$kuT~-HN7WRWU7y?J%*}9Niz{>>fQs6o; z!6%M~dW!I;fM|21_!(n#Qx-l#Pl`fd03+Oc^(;T(BaIJEf0()~L3Fi?RrN3tl#fHM zfv*<_{6uL0-=r_S9)>xoCq_`8gIjG%IovI9b(~bqM*N_!BMyd}_A0g2Uq9mtbDIgR zf4LCK0AC+Sl+~!nw+nDL z6Z>lY?GYl)q}N(>PdIF4W{{}L{0jja%X`WGJf1dQea0+UCCx9>zn{#t<)oHcc z`Vbw*3zGHTNnrI9PdZ?{BZN`af3GYEdil%mi#G=VTb~G@Qi&IUVzV!X`Ba{ek4thx z#v=A#(3!%WEtzoxWGouy!p!4qH$P}$?=bqJjgH4Y(2rkZIh3w))@&zLDkVsv09w*B z9>VMf!(U@D<1WzSHL9mraL_sa?JTFQ+@GT;JT8<_W6W~}102x{uMkOt@(SyMP9E`_ zx()CbUTph6oyr3QzBqU4-+nhpSA-F9J*tIMEhsBfh|`+9k^la*IMyRE0+grIBM(|=l)B}UiGM9ptHm_B9#KLu>A??p+sRDF~{6b`2ii#JGQ%66& z-b8q7rho5^xqW+cJ=4~DYt?U+ynF0$8$fzIF?;cY4xvq57-Z=D z<)c4WVRAo&##1t$jT!fXyl>3VI&soYC|F)ZbLXU_Z?>pZW#U);N>=29x@&{N#OM9s zVVq|V3fA+&PdA(}-!cQ7p187zWnV~!T?7j{Wl!8Gl6F5wR&Oj~(TOWJegSaP<0HI_ zAX~+c?`tQ#t7LsBe~KiAaz#u!qM6?3KfeSO;~53AT^jKMI~W4_(u!E(s~9Sh2yFk- zx6|W$i0{DTdb2DMd(O`SlL0x_;8K01j``g*bMj6>0H$Un7ILEm#SvcMt~^W~N$9c9 zp-KTh!B?cQkU-b5cgeRpN)Z*uwk}OS4@t77q#*Y=P+F}gn>h7Vy&>g|@-h!ChOLYthp942pUz=lk^sF)a47C90vLj4?+}G)P&46L85qub9G)s3*;s#(uJZ z5C#nWpEG3#C`I1j31v{IEE6s;@6?lE8T=ETC4ds&RVZUa_cgRt14F<wtO$H`$zo!(Y|!#jHg?`F5M=~4elq5t{0mEPVj2^V8_MFOY< zN!7K}`6er%7x=O`DQ0t{CP#dSxo}*Nc+HAS7?RQQCF4mjUruy=x!zBPAaDP2d`m=# z;Q+?$Kb5X9J&h3{N&KF`BIRSu`MWPCc?9oPd`R+re-;md z9F3_wZn_Di9X2^*_*@MDAb;LYoWop1o@Dbn3;ZvZzhbpTU?>c3AcM zzuAzQhhQ&8xLia9Vz1DdMl!JroDL_?0`FgLfSy1sJy|Z&@sC}7f~zMyqi0%d*+;=6 z6rkW#G%m8$kHrlJKdf5c`AFlk^^!J*4aZX*liz&7^?5%3HU;6u@=eX+jh}nbbc;9) ziU_kl)yH!`Q)?Ltov2YgUIcj9m%`aPlm^+u6Uh!p1U;vc&H6V&=C^3}vEa;eDBCC; z91?=hD_mDQ7wu9QFa4dXfL%Dv5!>CQk6*ERDA^?LJmmWioS^}nP+WZec znLFy)hG60|?J~OTdJzTTplvRVQl7fM%LHj!OBR7;1lJ*deXnxUlQHMX>O4ZuUrTvc zAEponctF2a8Nq%qa{s=uX8B=EK%+m&0`D1qZqhI0TiNjWWh|$_EWa+a-aMuc)$epxe)bQKe zD2WQ*$;;d57ze4sX8Wv|4*|JX%@iIdjVS;gtNCZz9T1 zYxM9I0Dav_H0mazmvD{il>X`XtzG9C$4<{*UW`Mlq|AU%)Oww}WL}uY+*6~1oeP^0 zEBjL!$w0b92{vvRbr_RG5XUhLp=8%LuKH--Sknb%OGvk|U{jxUaeU3x+%ujX<|dTi zQ%KZ0^Qps`l_L_ejUPy@jkypCHH#+W!D!A{a+ z?Y-ZEozSgr`?E&Qlq#)c`w4l`%E5eW_v^2J)6gcL5TB>Mw>AoPJp$D#U3Xz;GLb!F zQ*M*Ny={gSA?Z$@-VQ1CIr)|wH= zjm$~`dnla_&P#}l`GJ6P6UBPGHn6-KW=$C>qnvUUoT%Qp2uM7-wkVkxsQZ-Li0>o^ z4*oe!fAIW#7V`l>YncLocG(!Eo~#9qmkQqwp~jZaKCM+K4>zw|O*?+;wHnO23Bpq= zd653hGGOCzX}T6NN4148Su>}KL+eI@H@iTdXqomSsXH>(LuW`eq}$I$wN;FL#-{ka zAi~?~AhA13&w-pzpg-l;KA=5Okr??*@a=fc`cS$_~J8!tFDt`U5420=3ybp~7hu>%m^aioqaoz#LwPN-0Hy;xf=y%o^*~|T#{eL%CMwbI zhcnA`OK`!Y!&2Ks2|>SUe;z!x(|U^2$mh)V95i`f)J(kHIVbOJ@)opKguL6C`hv=P z*I?XCZB&97Z;aQIjQvq9^7vKbFhK{yqf3wgzTTjr=bcFAUYjueHQ*J(QcxmM!V;hZt%sWF;`LH8GCC-w#|cXFm~M>p1YRw8*M1$NER z)NGEE?r!rxUtH_r$U_Fjb2vEk)XL^x$VLd>Ln7^ykW2miERs?xh13#Z@dE-J0crI> zKz!)Frhv2@^#!Yc$qYF=d=;lP9Gh!Df@t9mUnSW!NrXeEocx(f7lv{cRqd#3A{z#F zA8WkQE22mM9?%El1d~PiYqX~5@vLM=P5uKIa}h{Qo|t-0cKQBbZsj>I_3!(w3e`-U-(7Q0pv^6FImi=pd}YGW7>;J)DGu)Hx9?afX{4!mQQ!>( zeQXt>&yEx4$zj_Agow02S&dET$oCm86N(3xDwL1pC461oc;D_gaCs5Y_dz8DqxKw! zX6+M(#20Y}9EmMDO14)Gkp!R7OHUO!rcpFu9th>GPvbd0&Y#$xqB4ix~)y}RXS_Po2ZC|TH31Wh`I%h>T+c6$IOVEg8XB$ZJMNZ0|<^Tru zCvUsiL`o?qySXef?3y)=<~rvZQ>G!=0slEsnkBUOBxmGGP7{ zq1<00xskB`YH-?fF#kIau4p=4v;>3#PtuCUnH^bV0)UVeKlEQ{yJ#pW>f%CCv4JOt ziLV-l`}?lOp-TC7rXpYfr4zMkMje|Zc?gnXJ^_qPcauB`2Se!^Z?E>hla?0;FDUo# zuCDR-_z%R^a_HC;r-F#!|I8nL_JM}xNcpC4YT2jkwu%t~4;g88ru8Z5q-WPL7eSpS zJMYuI@a=g*J-s`Ve$u3eec)j8ub)vM{;A(QV7*-SIT&^|I%932$II^;a{084Et{dq-aqGfi;u&-G z9x5P7vuGsK<04nh8uAG$LQ$`S$ni`wezafnv z2DOSA1JplPOg@56QCc5;#1%zewUM+`2Wvs0R3s!wMJju1fP0(!L=8iJ+%vUh`ERlP zoYzS`kABk~;(v%)+4+;+aNxsJo9FlPifC)Y%_Y8$NnpK^V5iQLkxiq#O6>5LY|c6! z9TU7KG{~(F3>+`{MN5|p3$ev%jyyc7wI{D@r?J3H1p8*15k3XHuoNt_f9rdG_47N@ z>De;_O>`O3y|-qoQ=$-Cp;h$4j9&|xx#`(XrLc!h`qTGAT+kyz3&iLwnLev1O1ER1 zw=!7;erv;JQvPmVep>@#pESo`UUDxn;BkE=)gI`V7vymWCpw@DRxon^|BkB9L9az- zlR=Ol7=HiQd1})~r@B0YB`2&h9^E;PWdTyiW&ivc5z$<%R$N1Ls6(_TO)}V+dvDwt zXI`coP(UhUY<@XqVr%#rs= z@jFvpvfB2g{_@#0zv`b+MOiTf!t+DGY|Ke0-x;zH%|qq2bL{T9m&msmaCfxlW%jZb zmc<$_o)4(0=}g=d9Mehix}=f;7g-zEiHBB^STT;tF<@oH9;sNdz}`J+T~uL1_^2e) zSRsS$pK3=x5f^Vf>5?n6JpSAr#22p0YF!D0j*O%Vu&Gf~)w0N^-pOdU;T$`oA;;Y0 z{%x*9CH5@AVVErO7Y2gPye!UhN=-^DyU(#1wklg8uV@_;AH#qU?9Y5sFOLBm=5N*t z7~30EZzL3ph9#`A#{uDHnyPu4s`MHvW*W*(d46jR-eHFf_#vHcMOhA%@7U?V^Mq;r zDzsGUwJP-m@iCDFJ-cK!TGaXZ77H6!lmQxDfsGRfEwV{1_R1nel#D8_Q$)=%Hfe0^TYH*DpPJQ z6@U;vvUEM4mwFP2$K}KzTy)p5G?;G725|$vczc=DpbE!4<8!t7GwEj^-HGp+vB?0a zzb3u%Aw7Ugb<_Md23(c(Ii2R6apr&=K;*g@ zNxilR=k$@#x}2l+xhm7ysb1a4@hg7}`Z^tlTPY5=+@F3$1-ai%c;9xHW&OLi#PvdM zZo`TU@L8XeYJQp8brsV$Hy}MuMoL*!In!1vh=V0lcQylh9(Edab*@!Iub+IGJQg83^Fpzgd%< zj39eczq7$7$eE<)FvjfGzLP|HmNY6UlJ*nO-^+;uoflzoB@QkZx#&Ndt>p;T3i*@^ zw5a;!x<5JXhL3D5GV^+Ild^bop4x{vEj%{N{Ovb@T5Ue_w@Oj^*e8b0u&g?hFA!zT zseD&o%GEGzKm;JWaGqUcH1%QqUb|KS4KRtL2;rE=yOId-xDQ!*ya_@3bICIT0GRUF zP}pqH5;}faRFvdtsB^gW*Bqg{XkxVzXw>OAxY!(rias0wf zv~TIHJh7d)euC-uwA4u74xTeNnKp?~gBC+oOvBIT`QtIs{b^3f_G{U>McgZ&XfN-C zn=E zx8ML3udh=p@jRNz*kajsO1BEXry(Xi+&9@(olqZzwS>k8&$s=qS03Lcs#;jcgr_vP zB5V)$sGVyQ68Od2)%|SKQ2k!WCCm!a z5={fA)T1SFed3k5sgC(_;TlQKABYJcq*+Nc1e6|*u`mT_kX8Sw;70J3G(d*fhaI5A zhq$>{N@S$bg&p{+hCdC7VE?pYG-m9Vg^IgW?Ti`-tAkM5d`HA)l4`4)jj6{;eA=?oDD=Y|7M)MJj0MeT{=rmUden2VB(6XP z!54V$ePIoo-GDWW;}1U#9oY55=U&BswjdJ0Vox*d8(6PMhn&;`()Ww})-F6on;eQC zIzW&=0W@Fl(KQL_31{xJoIltJ7Z}gZPKus%7*UVUQuG>*UD(_)``b`GR=v}!K+f%P z6pn^;&{>%l#;WIXTV_{n--Knq-&05<$H&GLFh(gB9dPyLIX%p+CsCuAc}PoV3b9@>EuZ}nOBae#vwn0 z<@iPa|Id^H(G5QIvN$nvS2}g?WghVg?78KCFet=1n@a!A=Bl@KVK6S2&>nqC|RGgi7xw!mJXeQ_4~9jeQA z{C6~cnw_`hg&}jHUeNT{_=|KMR{tDmDAcTmo+27t6d-OK3W$8Kf@eVwxk(Ya51>j`CfSVfI%@ z-eCtbx9*mhhWYJa7c7y5W8}|3qb}jrr^Wg-8wFT_>hymWAf~p|COb4f`c}{)m|UXa z3)Eo|dI|}mk;jvIGqpHPm$V>%O+1@b7q+hTFm{AVqkUj#DzFdMr)svOmqx@~CB$Zu z`P|bXdNrj#7pFuEC5OM*>Lz5_b^l3rbz~^Iurr&(!@6+-G{xusns3j0`F55?UjzIM zal((hyTFA0Y*g>BZhpymUnhacla8;3>a?z?klExjwG0NumVu99_KoE}C{TT`dRwkI zC5LB_vAF1$KJ9Y3LE~l-zp-YO_wyeaGihi&;q^58-!f$9vXWbBt{WuE!khhAe`pi< zP~xuvyBa*!7=fmRdjPtxhlL$&_bdG~$wT;SH~?CMM-k1|*jB8TC47s*Ker#|j3CFy zg-!_RMc$K~AdNO51|O+WkX|~z%?SmPcfp!qa5FC(8t70A{Hw&-&TqKu!|fX=Lo>Kt z49G**IrjqSBd~BY+BLU}c`4E+M0ABtzYx979sKPD z3)BzU403lHKVI3K_04Q_lDYDDXlues3mY`4nRJ;7Ph9B6!8 zyaMDS5-dmX%r(h3#x zTFNP#s8s1KaVh_*`9=GvVwzWDpV!$%`-j=WAGAzb&d)O=4%EvB?`2fBm7u)`NJo5~ z0E#AUxeW4wyZw|Su@8vl{GuDoy#9xTz30`djKoK_vDe+KErJ4%&jSNp??Voya!G=S z2si=Y=-+VSNQD0GPOj5U4nCMbsM*J{so-X=Bk)_C%hH^gS$oCas^rX)tVG5un`m4R zojC2xx2NjSvmU2iMEA!d|6_^!PtRTLRER#5wXW=lYy1~$^6ls7ex7d#h7USlu{MLn z2SA?~ZfCfokh&=YIVGikLR~)ZD1RZ4i#<3})11q)*1T3L_~vdP@lj6n`1GskH1^DU zQ?QAkR+|W0qZJ`}zlvNU9)m@Trs$w-xO>*=V)vX5~X0t%R3pF=hcq{czC`ZY=D?ajZrvmq#jK{53iE{@F2&^tW=(r(En^o|`j#Tn`~k`F9fB}B33h=WxY(aM zpl{bHwN*a_Atu88pwRCNn;DPmEVbN?6(@@b%voppp}DCE&{dio?g9wCb0Fyq$>?nL5mbTQhz z(QDbsWT|W(k3f+hPmbN-NEpJQJt-D^gS*Mhe-TEDC_X@ZIzZZDoJb6!DwWJM*w@x= zA;shVAradLHO=3DP+ff}ihi!UGk=M*3;Nl$E2FzB;5qT!bDppP4VTOuAUA!?ZvLSW zfGDLh6VDRxYQnp(L;#8HZL&hPm*lnx&8tYUDQ0-Y@J7078a75l6d?xP&xf?=$HPaM zL7laIh~}0QhH52fu!ji3G7FkLx~)J_?}dam;+M zCBR9e$8+B`UzQH;hsmTLg$AnOm+n8FIVU}4-u$NkBgU^t`? zKX&~xc;D^ZiVAdW&z z&?zwYEeQS3j4cWQ)4+JTVDnqGDsUopaoTp>C#_r=z9_FmO1;*523m{a_dnx1|Brb+ z$)bjbn+1EC9R&xjrbE2*)co-ZK#)fE*ItqGX6mIEE`pK8!|a#HX`pEpT7}IK_+cX? z=;4=1VBlrB%{B!Wb(1#3eY_2%dh#&&S@~@Jdm|HDqW`gqOrWhI9*(ObPW03Z7<9Ae z3UhA%UCQ44bFz6H!M6%YYUG-@n+^eo9+%wiW{kCLoz+lufOKZXiN0X{m~1wYm}NQ7bK!f=>C?)&8A5DdWs_cxNX#rS92nr()E#8WIyeqDJqZF&<>z;`wnlwnS?L$s`i@sdJ8+jV=uN<5Bb3k0N;A{o&?e8p8Q%K#!g z(7qX~RV}V?N8Hv$x}DJaZ6z=+x-;T8lOw#WxY7130@L>hc>(o3j=`SQ$hWnmTR|bz z$AT5B@X|4U0f2ttU2u#1>Fl$%Lv zzfPh)l_Bk>2y#y0IHNxbgPuwEW1a;M-o4RvbmT<>`6WL+QBT)L&;!bkJ7vOcehcR$ zSy9!B67`FLm=-Vm=%?V|@n)el^J*a~=Fk<*oRbL(pBni&3+%60SSE69b3&N{ADa0C za9Bv+(Q4r!LcB&1aG;U_j!Hm z8EyPy-iUhWuD?R!^?3#^@_-ic%SqWL^7MF}gfi>9n(`w}e;5ctsU|&VERGS;7$`s7 z8yA=SLGu;ffj9gqeC+;QTk)jUE}7{n7~{Cm@YznHt;e6tsk+wD@e-Z+d3Q43m+5qr zbK?|jF_wA8h#@#Qt=4TdGN=m_9pNN=oY*H2dIG;xftye#_)=?Anj|ggn*7++59A0CjCc!tw>Rq=V_HdrFhXS{g5s(E z4w7}8GaN{Sgn#-vp=R(*>OMy$&?Nb$$YjQL)W9V0UjGEvE3tZs3Y9a?4Agw@m@)97 zi}B|8V^MpehNt+}I@}F4Su2zZB8WK2t$L_UIZs3l&vcIbFNx}aE>HoX0q6+G&bz-7 z?cN6+QXSVatCIF?>aw@rDE|Q4`z8%_+L}Z?4v&fM$KFSHob2!je#C|~d%76rt@xGw zml`>DC^b1{ql$mfXg`j942TNd6H;(kY-=w#i||Gce5alG#N6iLI+xzBxVKD*`r`Kg z9_zn6?P%S;>gdR&xHh&q4fo>6$`;9J96Iavfc`1|CSUMF!9r%@$kg+?IN)TYhg;zB z?S)r4kwL4*kK7Mc-sAz8hLas^XJWU6%|isiP^Jawnkq)lwX{9 z;*-56nBpdT`RjgvN={4B^Y0sBtaP3^)trhHah2IK0VyK>?<8>`*XF4NDds^d0a9h% z-}UHxsypLyk&L3HY#78&rRde01o9SC{`0eSrNq>mp?TNh)Lgwhs2N@*uMO%M^=EVx z$p|Yf){lK7FNUAs^Nw@{^^jRd;hCeWUP0Ezp^9e33AWfm%k`TG3WFMj@*jzj!$rVushGT)KGp)W- z{67E=LGix!|Hq7hNV>USwY{3iEGIe}fmfqXBvf;W)Y7&DdTa*pVDq4Zjxi5XBzxbK zAK+^N>9rJyYj;wAH-l3Lu9Sm z4)ESsvd;4N$~WFKbHSz2QWxFFf$+-{lYB}IFaW?Mzym%iFyg`J=%+C4szu*NHVyg}JRY9cPHo(G6L0etP)8ND?Y@mh z%~-#H57A$S)#kg|=5DggnmmlCbMyLP-M@ET3?O3(1};t2%kmj!Ifi|0YlS{f*;;?D zR17V!1jT6nMz5oo{QN0fb&;U?FR?%M~M74#sqlCd-cQ zl!dMq(yz;oSt8w?pV!0AQ9XU5C_=PzSl!`!bKODu==bJfhw&hpq>{;Q;z22Czq1<7 zbvn9S6guTV1b<)E=OyWvt17b{yvl;F^6=G{Cp#lH@V6gL8({F>wR`&b<|93rY&u|& zq>|blQ1p%_8g(7pyG^ej->u(1cTi^z?a;1?QO&p8y8UoQpWS?w2T>IC+CtZkyST*YVV= zKJ`UD7r;Xp^RcmH;TfUpHzWd1t?f>9*}Jv`9prgFy2 za_K1~D6CF~yfIjHLt5(zo`7hX-mRs;LjVrl?EY4vYo5{h{z7413Lzuiy}hq|ESoVl zu2re5OV!Z?JiI+3{c&CTEo2>>o*2o=%RL5Vv3O#cw60CNdrtajE(JT#@qW~YsX?G7 z0!#!H(U3k=Ep-ZMr5aKarH+&R?XpUFIRYnO)eF0V`(hY+tyLKC!0H&8B|r!J5a=;& zZ3h=vxe&b~*cfwn1R=R-r8G@#BxYU|@Q~Mc1R*UG8m0z8NWiE$>G2d9aiwMbTXtwR zCPa4Rt1Q2idtjL6Kke0njs#+j5!IBM7%MU^y6*$yVT_9*;kK5pxNhJfZrW$(L2#8o zC#J>7s2pvSx;QSqHi3b1Y2FUGd2uvnrf>pZWOV~9;9>AB9xk)e$1{a)z>FbK!GV1; zuL+`%)ep;I*NAj-TzbQ$m0sU29UOHpTa(^gT-ru|y)vCK9snN9D`A=1&4CA_X1RN* zr7tHL8Qv)w=DX|ZnNKxJ{a{Qw-AK$2%9-Ib-HcZPfq<%vg8&Se1moiX)8o?_>E2vn zL2|1%&*o0LT}~5=K_ybWoq5qUm&W5^lYxhBa|zZH%s!Xw;+>QA3+V7!a#UqITXo@f|~^6!a9#%f%y;tWPk_iIXoUhYH2mV15>S=G_PgM zU9z3-lq$-OYHFLzSYxExmAbJx&y1*t%YX>5nEu9?6aEjzy6gpY*ZRN%oY!SU!MHNU zZ%RzqNK@k+0EqsT55DocNLU=8*ef2wylt#PV>$TR2J`5JWTH%veVCt+$f-E6U;vjh z9FSOoc{A+9rjWNzUKXY1=Q}1TIb~iy33ymQo=^$wTZ!S&TVGqiL#mNs0uTB1yWm4F z17gT+dC-2+uNY;awo0{71cf+Sl)9rrUv)}-R;lX!cA;CRc4@jOiY02jgWmHu`M53M zVI6NjGmj=u117_6e2QcF789@Ke@t+UjoN zN5@3<&BJN^)s=7c>#y$Vlba9qXll-U7-}w}+3IvO*J^9m_^5#eZ=T$%AD!E;u*;P7gSi@7?<~yu zBf*Ao&;0+s1l~jTAZI|NfJ4%{283WiPSBB!39JXQKKbfu;jSJJUR~oK^3k!Wggpkm znhh_XNZ2K~^5@M$pUf2&c)#a?7lQEtPUJ<5d0-n-6=PD-knY!|CY$$)^ma}9Z!6MI z@Otn##B#tx1b^5xBIQId<`XxKrd$Lg2?7B~%;)+!QJ{`Qz-N0U0SuRsw5XRBTsg$= z(b)EYRlaD8_zm~~J`P{Ek&}`>XcfBAN^&Ys2|_vEU==}Nh)M}Y155`3J^?&Lg%T9v zi$1rl(9wxPKiO9355}ZFY;2CyQokk@@2xA1#5Vh0-8^Od!&O zm_u%^L%)1?Ob8~9$%2#?$RyB(8Smsw@`B*CA!GT@ob=gjp)Y0%GmrijV7BcZ25zO$FC}@$ zh;$4Om+jJ9JCb=ceiC~C0P3k<_THC!KNoly#FzLcb;?h;gm;V@h1`dnc@KcXJy)BK2(PghDNqSi5p|q7 z=F&S#T^>VXXZTV}y;T@Jhps@hG-_!14{ZN5WG6bU1|1hfDi0O@xF7_j@kzuw0$n!p;k8a${veQE24cfHh1Z z0ldKSdy{&oNoVngsgx!;74xC1wk?qw1XKZVxY14whxgq?8@VawLn2At^i%^L9EfLv z=EH;wI^>BP20VDiX~StL)3Li3#>nVeG>KAErOHE#hA>5Xg_@DT66ht%DdA-0;fvQfwO4$W*C z3-J3=Q<82L6@5?^`mE^at4c+8n$nXqyKP(5E{bBvy>g?T^5wbCTKeqEQ~DQFlCm`0 zDHAAgz+s=8N1t(q!&ym3+{a;ErQC?M%DM`$+LPB<;5DAM+R}9gTPDtL9z500KD(=5 zeRWS)Za&h(>83_lxOIVtw&q$L?cd(e+ouoct+s%fs#gll&b3UQ>5JP>^z$#i z)#u+l)_0Qt53MD@0|3T+yQ3Xrb)7k|U2mS;r=PxlSf>u|RHI%oKZq^hVNI`c{U>ek zl(CuZc>NDQ_!VB%a|Q5V3vib-uuX<%KC(k?lIc91G~bOG;ow8}I09Cl0X_H=znn)# z&^4Z)?`#&x{3PH)Mi2oQ#<$4$BrBXuPz%)bm`=W&Puagzw$VnysFQ$)&~ycFBA7yu z<)2Lz`ZbawctJ!|uIF;Z69{CIF-rF4#Hdsmm!6JF*K5)fmr!`Skp5vI{hk94O!mFN zg9T!h%s>fhkVSc8LHcY?`q-HccUpZ+qy0T_zG-)Jk4k9)9@Flwm-hW2<;zxSIe@}_ ziP;cLx{sGdNBWY?)>ffUTZQiChJ*P^FHB^^7=oyZ>9%-9#f7;z6-!ySS9Ekj`pLwL z2Ojd*X~DMeL#d^pESplY;Ttu!7__j)|cq;<`5BGe&O zWEstMm<7o=84rioC#0ip9?dwGYqnEX%V>7FGK`|{%@?|kVf%EUubR@WW?`n%-A~s3 zMP8je9sw!S?+0jINbC+wv_F|mz7|uRA_24!+zn|p_itE&s2Fv`XZq+^1bAUz z0EWPL*#6>xhj^DU2ikk|KF<(Fdw~65W}~xdUd;P_*9*!ewFYhTy~oAkq~>0{Da3SC>wVCTS&r2LO-5Xu3PtV16u~VQlrFJ_iyzG=5Y9X_ z0-=ezw~IL%!v$heHXSoxOBK=&@OT(2^`m-XU<@p^w2{C=-k!=*CG5Te|G)%3)aw;v zwuRTxumK2))AfG{^J(({O8qa!&tdH!x=XwsRxouDOu)6W5pv*x%zK_CSk%41gE6bt zIIeUVBs4)}Fp(7kbO0=FrFCv^z;>l!Wwn0~9~om~;o|_UqJ>nR@_nbF)GZ?vNFq1VI5Rs{jyPSLO zS)b>9pQjTgr5f#?mKuHA)8J#(?qv$bcx)ZE+#?>+IG!5HphnX#D-PR(@6#`9FbTug z8P$%r{x&z-+Mho@&8NgL(8O#SQP5*$x{IVz$n-^uC%b$8NVc%`JO0Ogh28MZU#d5d zGml0#=|r!mce70I6bgDP1f5D!OE?dMQxL@5{)wUakl;7y*k;l~&-yqR?S z@q&JN@q7L5+9O^1ZdOm1S_9(2450(j#C`K~_}SaX_3@iW^xo-%I=X+tB1#&qo*peU zb?xp`eRB1_Wj=iWw61!qqjIq@$ar{`IZ@HM69@G18;A8r@14-=NB70Zl(cxG4%WoM zUsOeHxMp9{6V|No^*z_`>ucHR=Ncv+ygY-*e+SZ8u(I(TbZdhjO^NgItA&qiu7(WjmE#=)1q{-DBZ}UrwJ?l;Tpt)V{>>l z+)1XP0N0z7qSdwgr&-POz<6Gko`;1*i%R?<;Ha&pr#hOo>~xu1LZbzX`;`g^b-TrbLP@Jl<|=7NA_-V{ts?y&7bi*p^XFH zK|(;p184!rPEDqapDY4}n^^~VU$e}+B(=nSjd#Zcmr_9L>h7&=`FL}7=qobKe&fMPrBHS-bNTl-|b{E%PvLt=Xtn%k(g&r0PNSK zkI4L~Mjwa6jFb2{q-K(q7z1e&hX6+s58hx`8vOiXo^8M~B}wC9Vtu|8^iG+qKm3(~ z4rVb40b+*cJN(}Gf9AtSJ?Y!7^jVq@A9TqC%rw`D88LzO?Zm?H?mRyyx|UR)cp&4U z7WC7UeMA@HV_qz)c|0WIVH^@UnC|+z$owBdFM1wS3#yi);X8qC)`P`r1b3PVbkzIt#j?9+Dj6R!9MpK1!V@N?D~+<{r;+)L( z*nifVmDg@DcA4ZQWnNkKoCOQc%CD#FZbP@rzh^skjqmdkL(Aqbf2qTdlm6c`;s&lU zE8QnubntchWu^PBSl*!rU#XTi;_H(9?}$Vs_Or}ZLGaes#FjAV%h1!! zP}JkPwD8VhHL@%lC6+tB!u=jzdF#FS_pnliA1UYKfLzjyq=U)F0q=(QLeM#kq|@Jh zJ+>`1GuBCGTS_=|kxdqOlc#O?3Gx$%XFPoN?L%FcAIy9|6 zI)6eRzj@dUp%3jt{4+B0vr8>~`~94LedWGg1No+Iq|0G zugENr0fGO6fslnrI>Zc!82SJE=>Nbo0c4xZ3Q?bEqGGxUjzkok`#+c|Ulzf&muLmx z8|-|>1AlX0gI~9#zh2DrC4kR}hD(+Mpawwa+kiV&=?`ksVp;k(lKw%`btD>6mmftu z*ycLnbI7w3T?xs6cf*CY^jR}zJfO2q1nQ_zHItA)gApBVw7bhe9}?M$>1ZjKtP=p! zN)i%)TTeqY%S2iUDUC0Y(;(v4@x>K)4hda$U2E!zWAm~r{EbF4Fq_RxhU!!;)6c5X zAJ=wPYH6hrIS)LrarTJER$H3G`=AwNn0P#ZchiD5fFl01jG*-m_q+BeUaNTmr)Y38 zAb4Q3pQ zt@Qq6&>NHV&!EZD^BE4-?~)lied|$2`mUAf+j{gc_@4o9mI_+8I@=W8~?;vhLL%u9d!K>F=d=}tqMUt?QJ-zJ;FvaU)&$ID16 z#Y~TPlDrgk1b~=mfPs#`)qRqR0Z{$EEz9tLc)8J%9<(z9ng^hWy|6?)I1|Ib&mfef zWCk7&d~d`=pT}nJG1967@AH4k%HR~BaZKP7DcQc*Nq8T%5fds5=q(gf<&Jz#( z&Af@7c$mxdS!;FT!HFx3k(mpQ6@$%9WH@|K4SKBA0YPx`NDk2I~ww`ph%R<$sXoI>fnw^4QBeHBi*))sLaNEo6D#$ zIxQE=OAGq*QEq1klCk=-jE5ZYfYg&`JnSU#unt9pE&WcLWPfuc;I&1|CZO+ zYC=#~nGj{2?*~23f^G%rk_x(5kS^Z8p$C8SH|qVxU+hULt*=JcK5D1l_1Y!dMMs1X zY_E{WhPNf1>-Tj&%k-M0SCWqdSOQ`N+ghjNoTJB5#hWbfCQsYcBlyDk?vrFL{cSRr zUTE58#0FRQTnIt09-7fVI)7Xry>VD?pWLrkW+L%`$HQE`t?T#Z^qZ>>bm7($-FmdB z#b#UOVo}9HAx43iNp(+$r)&D)^eg(|n@9Br=Z@**p{Zr01J_&;2Y-rbkerX z*8xByi+LixE!ugYeH{T9>hNXAfY=c6FrrmsjQOWiF{+c_PbMj&Tax~-ApM6mhzBNk zW_Jh&^Hab}p&@3a2hR*d<3XRq9&uz471;A zGMC<^#Di~MTv{Rd^&0s|eG&-`c?khASC83I00#IzxF?MDqnC6l%NKi~eVs@MmsleU zgy%-OfH4uUg9k=hfy^*uPKG@MmR)xX!~=B;;11dF9v%i}8jY_*1mG>pA&uktfI#EH z`jO1L*Uro|`imv$Ml&=2f~URg8PPZV?$WqOEHKT(uGCo(>dvvPo!&05eP=>e8o>cN*6)8AS?CWR4~#3^5JkfnA{DdgTDjs z|JHuZJUSCm+{h_iZf3gDgn+@rA!d4zVX^=%6H>BF$RuyY8i0PE z_dr_f{pZJ+brBD%ToCY|_YJ}DVKwMn1wW6N0e2wDZ~1HT%lPJ!SIHc7trI;AzG}%l zeUSP?dXG8EIi%qtFvpN(LuL(gA#zG*@Np=o`=$T}C%#8?sX^u_+!Vo zN;V^DvK-QN$N7Hz+SCL4p&H{i(n@5=7$G};(t$ECeqtKkX!VU~U|rViW+t;_o))wf zCbDgAD}(7dtu-tVZ7<^?HjAAi9`Xym?FLa-=}hUiiwe4rT~WyNdB}7{ZQbn^^r+m{ z{9pd1T7U5umLs#xE%8P4^4)olwZ`7vS?U*1s+8pb20$53Nq$NQUbV=Jm3R@WcQX}-}`rC3yHdK^+jXE)PV zoy^D%q$Lb1S!*Td-&==DX(E8m?4BVUhyeA_T0?ph2x-JaP*%!xs+K$+b}{jguYZqd z^T-moGU!z# zo*-S2@fh*S0m|`lnCoSF#Mslybh#lT9f)#=d@%_bf9Xyf#9Vtg?rMGL+56S#N+6(Y>$h3T=^%#Gr%RzFH@pri;{ktXUw@Z-_gAjR+z0Eaj zQ~F|K&6t49Qz05?zk`=WiT|e#f^lCoS?}JqmrD1AgnZnW?)If`JDI*hcCEuaoHBm$ zJ90OFaQQ$|EHKhwVDg9Yj0hfxKby&QA|4VcX&w(rYH1@G50*Tb#?5Y+j!*kRc}V(0rTiiKT8JM<1B^GgK?O0;-Ro7wX|cz zgL?;gw&FP7K26YeIH*wu&1ISH^@FZwL6?;2i*`@9!ZFRgon@_!w(q^;*H;7Me81}} z!7e;1C#{5}5)w*p_xpOE-?Plf2L6tZ1EKFjTeIzXpfS%u+f&FFrX`$)a=^{G&KpLz@i|_zllS zCdH**)b755rh7Ltc?}2$^NjU-uCSQiWM!|xcODE#tn|h2^JXn&>lHo8BbZ!bi z1L;sDm~K6wHbBsD6E!I{s2af9c_x|9_kx0T}F8z`a4_1dc{|A#9GDMN!i`T?{`@{4-tS76yD`(_5|V3V{E-nw9rQw+ z554X4JAd#DJ}2k${w7AWr}++}2qzvO;)l(pH$gmjggdvuH!uRsYfaW`jZEwO-ZCIU zlHbFKnhXfqdC@$6UKIIYJ_*UQfO(hoH*<{v?(2M%tsItL7hAv)Z9YjcaYfbaERo~I7^TNSQ5!%-R%>;2ac>d3x5;$d^GWgE}hBOX?*%oo`&M-_y=x?bWTe?AK& z*Ewfn!9O-Sn3f?sg!~W-UGqgC@*mHG6#eMn`!=?+9l6w?4$Rvkf)||>!9@lH1PmY| z#|^Zv0b3pX80!qT@hXV`M6fb9+EEL48S&7T{(4~q@sL2MpH52u(?RKHlaX|AS)*a% z0dr}t`+=lCGZUwn_Klarrx@9`qo)Iak43%>J&Fe$lf|$}(omFbLbv*QFVlr2C2@m@>rv5hYrU%+5H(1n@bFj&2MX&EdoT$gOAcrf9XVal zsi~ClFd_Y?FA4GR+?e2olL;gsYJag2Jz?-cC@=;jlT!c+^MqN4_rbyFy?xUA(^2BdeQnm$UEH)6QUUP)I|#>l>FY)5i+Sm8Q);gwjbY~5M46X^ z4q;|(84l6U0n&j8bBnOgH3ggR7z0e7KAL6Y;{fS!rJ3nsGt+&D^Zb3?TmXQT>=9mu zX;vk)+ojdKzjKr1->^(>$x*dI=0rT-G9EDeoe27qnV=6=kXkB3*6lLsJ|`gDY!;x6 zz5tj=zsLK9j2~<3^a*~tCVq|#S~iX(Vq;Xs18w({ru0|ynLcagGJd=*Bp;uTsxiX< zG{(sz%*=U3u8_qwX$wU2Gw(n^<74z43UoGDv|JHJ&*~wLQ$;Wk#Paxf3y(Hy!vbr6YZcglrItR z!x;`njwbVL=DquU>1HR>CFI6B($#JzOy(o1ohD-@VA^-`w~1(R&fAEG;=4TQMg;&z zG4Js)sij0bBqC(984sOqUyVjrt#)5sIxZOp<)TWJqDj2uBdy0ZE0_s&Kd7jlN~NG$ zIT8;x*S$dhhbUhZ*W!$wMq;y$N^6=IvEQ(DaU!0{GBY9~5ls1re_Pw7@-kjHSwhyN z$+=~5euQwqAHj*^Ja*u6Oc4BBBN7kKOt;7NzWutM(cx<&LomPz5YyvTkzssc7kJaDZ+ z)MJuO8Aw|9LL@UfL34{y>z!37#DhgHRU$xT8}eQGR@PrAm-HT(-?>R+^1xsdWRaid zff0@6(0ZS6?dwzlyP_W0@Zki8PJJh{cgP2<0C|UBk0Ks&k)}pGyn;``>cqob!tP%0 zOF!>O2RhQ7whREgm$Dq(#CcS`m~m$oEF<6t$VZgp??k$yTTKRp`?~s@^o5vdcO&^^ zQJqn{`bICa=d&yaR?q8y{i6db2S7{$YurfFff(0(H?!FY&}37YPEBO`S#9^4ORuL| zmPJC-$9ZNzT-sFfe=zTZlw{3#P^-r1KtR>shmV5|%RMlHk!u8A;QO%9h>?i2M*!ui ziOj|Y2u#*25H(XAxj* z;N#Ge$d%e3m zvRDWAyP2*xrLU=jW~>9uq{(vd$aVusctH-B^8b*B!=wTg>!SZ0V<>P!roByb4A(Jo z0!H4DwP-F~j#(>~@c{8K5u@~xvFaI!8i6;+s@+CB_&UHy>jXFsWQ-X8y3zBbjP)0F;lKGUa(cwo$bqa1XO3>>6w!x!}c03ZNK zL_t)>%E2U+0RG8#NrCnGrem8-2nGC0ZZZ$FrOWO3J02fI_>c7T$wiI==G#4yHmgMg zX|f*dz9Z(K;jzu1(@-1AVg}aI#a7I6z}w*=85b$*51!gS`9{t7kw^!!{2<JRUYFwY0d{*8O`+nt$3k#LAoicYk=2+{$nH6I59_MK z7uhdI6=*BOgI~`<2a8}%`mU@xTgYTAMZkd#0UHTG6hDsWN0(<=S7q(ugYpE#a{q^@ z^*%7$O&c)N!ZrVg=zrmnxjWe&dcD57t*)7c_Og-!8pS!OrC+T@JWQpGheSNMeNF6)6c3e zH}Nn$CJej}3K1xPghK)V;2nT~$jE1r|Ic*be=j7M61mEFK!0b9zhk6_rkfnim zf_QwOd&=VE$9yN6 zN8{swhXcgJjk+`kh_u4m0e}?{mGaD#qIbjlWO~$MwgXY;X5N_|#sOBlFETNGq?4j~ z^ewU+8kxRcl5V#$%O+`griU}=gOFSR)pSw7REy@$nMZr5x`)Oa5}b$yM|+KA%sCP} zc>(c|qT`nl59LTaFa{TPIq@*)^G-sW&r_V!0F(hg>GNbl;&}oXMn;fH4-yfb=0TqW zoxB<*9-OcJv?={B^O-KSGVRL%`-9%b!=NgiuLSc`7?xCWpxu*GFe%5s=WaLC)vokK zD>DxRd>oM18hmmM+q{HQW(8ReWEH%Zq?OLsBI)2}&8z9jd%I*_qDdenXr2;eTePJM zE$PdqbQj4g#({k2Oy%JR&&ZtjN)~jeC^L<=`4EDTK9ch^$@fpMNAoqp#{m=VZl-S% z5r5C;L)t&{luHNFhH3Xq#K!I?;=xSQ6X{^bq>Kjlc<}Q30Kos}iHFoxeo)$+#{{3vr*jJ?l z@sPaF3bD<<2ni<31^|f9nNRaOe_tk{w}r=D?NrABOo}Y+4Wh@>vt+U1S25@}xpwaN z7!1dWL}}yYkYwE;=pk6f{jsqr{fqN@3?{-9n|HikW9_Y!GiHg9T@bUAkz>qDE4BM% z7Ce(R+RD9FJD0T#(q_F*U+q>`jm3_Z7Mf}-w$y5NR4f&>@4$o(9GcXjW0Teo*<0)p z4=W47Z71=NkK-A~h{vnXGInp#CM=U~7cyP!_H{{RT`2F@y%RCCs<)TvFs@!W`nuzI z-!JwFws5x)0)zwE3}?u2C=@Ky;nghD(L_W{<;`}e{+ABJjOse;Yhb^_X&7ZtSJglqk zcA|d{?_)P3wKV*2gH1+~|0M&!26RAdHnK!Jx1$NOOE2L4fc7(>oJB^b$iH<}+%7!G z>%h{)a~>F`Wec#CqMeEUWTV6m#v`3Ep96SVF~WD;&x<@pv!{i*rXV1ylT{TfrDw!L zkbZ^7!(yf{Tgx{!PCWf|4dUUGAkATBOBM*gb4x0rL!2Znz${iX?>ttJ-nWQO>CJM` zDU+3uY1y0d$&h}#;r*F}tn}S}W*XTy05`MC*FXqwP^{h-rAv=IE zE~{cdWG>XyHL=rXIV(%2D$>ttnf|yY{b#l4@!(On<9_|)xW2cG0kP(?H%J3mMpTq$ zBSH^w5&+UNAS$sh@a}eceB5fi3Gi$ny20pkQDgah|2 z#?d4V!`}cG0Yi=K%o)XcHW_{DF|sX<%z*Zbb%1s<3Nm3J3jjNc=%eBd*sMrrFpWMS zy*neF!8pDqGpvRHu*{-W`iFl-JwSkP&s&WsrF3yYx>k>pN*Fj>#zg|f2KDY22vO4J z)mqRSHR;?$(Cf*^;XpF(CA!!-1J37n+7M&PTsPBq_{UHWt>_3c>Z2@I+tTNaXd-<(kso-kK$OvBhUXbh# zQU-)u3VD6feEFT^90(S&{=VpBx|-(0$H~iKFdsVc;L?E1S+s2k1s>Kb6=H&P4Eg{+ zIfe)UCT0IP+rfm!$E62(-&-Ue+MT`;4s&x&%|32e)OD-F9#a-&4FR$Ll?hEwS5>Q( zRV)*wz15L@jq}qD%>RTp7<#rQtd$DU^UN}R*0ZqKd^sJc_tyyNK>sr-rWa+noEn{H zo4F(#W3|bXCJ=u;Pie_#1g9kb7>EbvMu<#LBwNpQHgk+G2WhL68;>do2MZuVD)9yR zI8b)>Pt9i6G8`<63_m$CK6s~=?J>r7MO1`s)S|2z5@+>=mgZ*bYAm&kfS_H|&nEZP zwEw`QruSDhIR*JgzuO}od>kIt4u^?{kn^RojeD?ife?#sPn0SKi>^8@u=lNBibuvDMN2*}A^@?x{Yxd|y|; zpVQ-orkdSuBp!(V$O?jZ_<158-aI~|gHz9l2L|GMvvqy??IZo}>O*~U?Y=OroZ@1qN28?ws+}8_K1gdy_lVD zcJ$TlARYz}8}amk|AQNwvLGhf8O>+R&lvt88_a->MSCv#f1Ckn>v}0$JZM0|q$n>} z)nK!S!K_DrQYWVMo+LB|k)Iw_wejJ8^Cd@yrQXq#M|IoGP42I$QY$Yf9$Kq-JQSp# zPQ;7{%%zFMw1CJUT?o?u-IG4UuodtzNzIt?UD^PTD!3~;a4i5OBs4y*NasozX9gWi zY9{Vg>I(`BtV{q4VAB0wrf+*uyZftdW}qV>I;QqBV)em&J)pA#V7eM0J5MvdR4x;&c)&rnT7L=7UohnOzP|Ng>YSKThN~gIi zaj8)Qz5=-9@OL}Ur&q_e^WPiMnV>bCXeA~?QWg|)~0lY$h28-xUeU*x( z^CKaXH;#5Q0Lo_wnzQTa^*gfX<+lkix5F{SJY_g}R)uT9;qls?ngE1)G+PHOqb-^IV)8s;UC%ouq85@Kg3h--ROOwH^y_A3 z827uCpi_YDfVw%UuY9|tFCg26eA2_7bfc4*j}XKIvO=>+(0I^8?nL(zB6IHmq(fPH z9nz~NeN2{3CF1K~@T;v^d|u)nG&QCM<|SkWzs0~gNh=|=4P9kpKEGyp{X{Diy+gO2LwfSX=19XYOQ1$5cof2>6+u3Up>n$^azma zt5z;VusV4b*!*VgcJ#AtS2wjK2d^jjKd|O!o^V;B7ZLE{^9%3OhzCd+_g~4adGpU~ zK|2hc2CB#L!sSaX!y&!6alJq5Luo%_+1UiSl%nA^#Dk4lY24YacQt&S=+6Y$sr4NebVWJuhTCp z-FGEoVEFtM*G*o&bfL`>4=Y`Ni*3~W%as|SFkg`FOS&cLvI_dV(a_CSS+nmQF~!=j zM>uS;wzqKlnBM;uN;Jk(LkMW(Af1GS()<0s-j?)wp`c?S=%A!&GDOqTB|rX*u~efk zJdJk6bLXiZ&ev6Mb)&=x`n5(p%;@Lu z9=D8#H;&Edz!359;Aul&-gvCvU3;K^xO`9do<1WUSd5elMNQR8I(>9TKZ1BTeMk@( z2PXH3hi!SGo4Lpy@vyF1+ll@;ywKZL;vu(CGc^jp!xa5!;6aLd^hn=&Gh(wuI}+*4 zKR^nbI9~#QWu=$wW1xYiIS-6{9a!XN(x_!a$OeWChzU$ulLXU?*bv$?IPvhXZky4m zwTOq@gY&FBqZ1Fmn2f*yWe4o}sw4evTl%yW!4`lqXJRM~2nF6ha)`>JPXzY_I{_d<27|~{ zB2<^{npS%Gd1(sH0jMDi)uku$Kn>^_o9>BBCu^C0Qk8yDmHwm((ISO1#(+DR3A3(I zZ0&=*KiHU%wBW6eC;taP1S2LJQBxdA3^w*tc%iUqO~AxXkC$sd>FP(gOoQ2exCcfW z7a?DeUs`HKG6Fqh%lsHJNKV~#&=kG>``?ibdeF{vttov~kJ%27l7|5q2MLc`UeKhX z0w{E1Li%VXnnu4pLzaQ`3jF~|i3Aj__LTmv>Hpx6_&8ixi2sl_BIAJ!2gnFOR^y?E z`&NiR^1)KjX*BdFgK6j=PhJ*`4Ui5twhqlX4)8uAqP-b2J%}d%t{o%WsUO2g9Sn8A z)Iy{gScZrPmr~*TsZVZf6`3Ozyl)yYoET7F&~YOt(Ji|#MR~c$gQIiK>M+;wker7rcbdTY z-(?;TdEy~Om`_$#As$TEAK9ItPP=PS*X>qEjfIvLo;FplchyDus8rD8OjR@cYT8Ez z#8kzyA7TL8R!8>L&j+!yYD*aq1x%<5LA5FpP|^Q^V7zgDoP02!@Dv?SpK~*6PuLn~ z8S>+Sdm%tT3}lM(wjhagzzeC-hM13;l8gs#m_4qtdPa^^I&GV8=WyUWAW>&#hTO{eI8LJcx$5r^uSMjC{aQ8X^xuZ)&Ed+EhiA zT1k~k%yOt;^v)VCNkRJbXFt~<7FGoES0VsXKOP492kpdx{Xr%{q#lNoMEv~WpI)Bb zLOkT>S$_BVbsUjOF0B-#?DtEFdHomnp<9>}$7m2$G>t&@`QeThnjYw;3ZPMkvkblx~pj7^$Lkjqa||U6Rrz z41^y@cb7Dh(%p#kXn}Xn^BnKruw(c4zOUj58zx=W3q7+T5frIzt)J&Se!%&aZjX@Zp~JP=D8%5j?a2lMcyIxKq3sfR zEa~Dc-M*Waxgr)$SdlK4oNZcEE2TE`+B_J!wkuLN`oN^q}_WP?7QP%Pov;kUrk492dteqKR zDkZcsH8nEjtS%PB*P!5-S@gWzq(J@T=NkGaUW%I$!}K%2HgyAyzX90}UOE7T@P*E& z6cAJXSz?mD&HOU??=+xy4;Qy(>CM~WiH|97ou|Lpcrz!b6-gENnwm;dt25-aP+bo{ z3)|}im&tp2^Q!*xhK#~tP?yRA!3Q8f%Ze7`JtsZwp464x;Ee7G0_N@Y?4$Or~U7>1iFGB;t00tyC z0Lp06KNgG3{}`@Pwz`<>jqoe2P(Kob15=Fi0cs(6J}x`f6h&FGAQevD8rpva8QErq zZh3wzL{Hng@Kjv4JMSbZAeiORvE=zQ{harc zi~y(gmAg4z5PuNcKLKVsUM}Myaa!`=ac`KWs+qY%eyTnNJ(#S37HmUW{AV>GO@c4C z?C;cZxt_EAsY*ZOJ1Ob1BII=}`bUAROQGHPcZ)H;q`7QxG1=2|$I$Y1x47tXiXt4NDGJmP4tG6#+aqB>+)iqqMHm~@E&Jpa-5e-9x_;fu{Uu?073d5Ka7BzY9QuIC`n7aA?~B}V^@ zFdW5!s-5|)ZGCmImK~lHH}(qoaSlp^!is+cKXzW;*KM-I10*NZ#E+ zq0JiN7f(qmLizhYVaAbvr7UYl-?0vMkHkjhGL)p-wm-93iNZd_$z$&4YCg_L2{0&! zQ(-9P9_#f6@>Av`!k+_l~l(q(-RBg-ke z#RDm6d?V(kL7^a{Bm-XMV4FbRd%GA0|ML-sS(Z*uPXW3xuY2?`}Ci- z;*q!>{+$R!bqG1b-$7G}5j+<$IlKQ1>In*9Bf?W=-`WZ8AgF57En0SoE7or1zCyLx#1u!-SVUVA(tPV6{Nu&-jW%!u>Dn6P0 z1k*ZyWlg)CDx7f>k13q-ix6apY_gqK5l6Dg$LZfR_vO;U%eg%oL>6XNVedI9vg*jb z1(^2n(UyYd#{Z??f1MO^Hc9VZA5I#OMjea9V=vFB3!tSh0^GC=Bkjg9|0c+_4zRHz z-|_>%{Goe%u}&f<17RvSTX9xhucujlsn<619aMQZuAQ|!Ki2{`BFa=Y0%$?I!ue$g;r_v2qHBJrwB;s*YR%=t-5JE_6%Q*v|9D& z&@L@glY1)WN2hz%J})tT(_N$<=r{c_d^a4J!tq^xktD4g5;Tq}vm41p(}!W9m;avH z2}|y!o5;0R=kelsKYZ9-N6om(BLqh9tIpoZVg*Y^Gt7e_mCHJ->-5&MGwI0qTQSRz zbds0rZr#Vp7nr8LEu_=+eFpWxT|+sl;~qS1tB1c8J`*UMn2rF9GFOyEqsC4ZXhp6oM-Ou zNtgD&K58`Vs7u^pXf7We6jguW-|4Nes6kP?RFlW6jkZpBRWpc68TN4)GaH|h5IIHn zVlZcZ=oJSZd$p|#-DP7&A%8UC<@zTHzg^DYd9n+~w$n1gG?fcQ8o}SaSW90g(k+*K zkweYTDBbVBK94jYROu+J%vXK!l73FSz=m=R=B}RUUPtpt7-H?a2W#(R?wJP1+1vQP zat)N(L&4!AvPxeXLwHiwFg@dIZxX`pt&K|8jN;+IV0=A%sY->I;sCw5u4iOc7uFKY z_0KOFb7O0_RMC^{P&9Wv$Qkev?}4b(DO zP1r)Vk&eDs@B9c&-kwAD1Co>#1=^FTvrVFDVd>(gkd%<|GDDBUF=NoZnDnpSL1=zA zIpXyhCj7fj_wBwy4vNS?#V&6TyPhcC(b!K&Gtnmg7LQ%7{PQoqsWLTOHx{^5&yX4N z-W-qn*Za(ZrdrWxD2GO!nh!wEf|c|R?`Xz6P4~ggxNR0v+S$eIk|xk7&f_=M!is*v ztzvB_BbCWGDZ2?%@{cA$TAY1SBt zOzFW?Cn=vLt6iO!#Y7V^S->bx0M~n-GQhf+>_mY?9TiFjhH)v*|IY#>0_u7H_!rSr zv#Xpfgwlf7hkDw{1U|~wOP9)lE+WS<-HVRjcaK*ZsNO`MOeO4=%fc}y#Dx?etI%Nk z0BYj`^pjbP)bEqm8kY!L%k;+me96fW&lnn6-9#_N$Nq+YECirN*7|Vo&4t9 zyN>Vz!th5=ECTpfeOHZekHR&4?qpwPwKgPY($6Y(2-OqAAuQOJ!)?goey@!o-Xd5F z{Ta+F=>GeMu@yPkhtiC8LcAm1<)Q&=8E#3>=!~(2hV~eb#hV5V89~3Ts z#FLBYWlY{sTfp8Z3h|urpAt62j8i?*LrD$t(rU4`cp}@*5BN03>yUs+XhT2J*__U) zKwe*|#gpP>*Y@Ah6M@&8)c1Aq-{w99v~iyBT$pBaltTjM(<>>pMwKmax-*h~%gtXh z(SrYK=X#LQeH65zFtBCpZK9&K)TeiqKwD#Kr$aN+(I$Q68L)BkU*LZH1g^g^zQtjp zLFewBRs4^12jT;kE1RZCCB{w$y~zHhK$Ge>uf$SdRHdJF&l-FY`iae716$`ChaR3V zaJqW?n@bM6lK0Km0;eW0uO42wR)1SB&>XG!U-{`f>oH#W@qTx&K4o zNO31d3i_s0`U5rTGR}w#i6Iux7hEhDt+L8(^kiODyJzPnAtv6Rp0F)G#S zBs`jrC0B1c7>m4a2~X7!zDX(qGUET9Shvj@zvd|fq0WgEW-%IyqY7xMhAUTf7{@G; zypT;bvR6b=Ov!fA9@_a@F&)S!i(O8Hp?3gkT2KZb-dX`umFR&1rLqvrZ&Z zk%)43wKk3wd;nSLG)HOXiOx?iEiDKHv=0w!1+6J+@c?h-Nkq!TrV2FoTdCx-E(b#KYDB611HETBb7Yda~*ePeNg(8^m3Qz{PJ)s?4~d~qK-^GWiZeb1ZM^y^9-z_AqUvIa()Wj z{@p=b#C#LByf{25=en2-`;>oz?IO>7m&d}*E*F&J=>+E!vM`2seEDKIRRS)DIhBoj zg+nT7_EF)3?5K;vr0XBmw`+0ED6^Y-QVBr+-KB+J4SJhsU-qsUYf*x%J|GSC3@7m)h-Y8T=e?X+hD`Olg|v9&a&x6R%cr z_4*td&PpURGSrJbq^^E?EQVbuWmCSMK#rd`j*8DS`-O2zgr6$2X*-PGclb7+_L#2 z3g_XL^z_f{aUx=3?Ym!F1Mjw3*YwN;X57QWjm6W$CD5o_s@ku@f|e;-_lMz3Z&vKO zc$bNk3OR@cq;6N*^gpjPZV&$dd#&03?`zF}dZ2%Ey)`1u_Z{Pj*Pk$D8u}N`KeYue z*^KSb>~kv!jo^&Qeqv%OeqpAWQS2S_rF%KGK=W&1ny~0|bAb)xbo4sv6n^Bb2Ukud zn6|t9&v2PK!vGp#9_A};*}aJ(1Vd^{(ihsd@(6$Y9e&dx1~KAtl$I;%73{`;D}->uTferF4!wE zN?!V$XRv5s)hS~*AIkf6q@gX@n|^F(=wnvQ>9d^`JdPaS;9YbI6iTQsZ_ISGUpoAf zvGzi@@zv;7^eh17qHYma-)>2W%n}LA`luJ@g6{cHh>gYrhJ$#YTyYec1?tzK$6o9pJ#j4!<4qgu*irM=|VG~$Ag`qpT2%9ynowVE#YTVz^C$b z0bad%#Iwp6!G9VbK5#MU2rv$PUEX)11N)VX*J03s?_#WpB5s%!T*uloeTL73Be73E z4h1J%lM{nR_}*{kWFWM%x{x5e;A@2Mx9`VmOcG-5gC8Dl;){m_@0@l#heQ+{EZ7!W zK41Zk7_lOeWXYI^NS>uwIyBuXWwM{OyP5RUFy6YY#gkhYDb2waCC42GXrn2`pkMQN zVI`3iF{XBVebfy4AL1mRqlv>UOF;bjhb316%Rt_cTAPo*Zg-oT=Ei!?EUdFah=MaS z`h%L7fYI#I&Ld*heaPce$$RFL#25gK1I6=%vQ8m;qJ^;nAPKL;Fx8ZkISrJRo=RKN^$*I*aI=Di+bi zk(kUUX?CA=pvCNoZKjWi*839OrUZ0$9C`KU|2UtnWiNfmE>`c=hhuX}AY%GS>(ywf zAH?3{`{A_~Ls@Y|H}!bHAO5l{$XBhOShp=BzY+^#S*P^YGK{u5ai)r7b21M<$2>b2 z1HyT&6~qjZvxFJy!^cz6O_`-W^Bdz5_T0Dojr!P()v@U!d|YJv>Zo-}TEp0+nP*-j zVZPTmeE_y{kQ$+>n4{G)?S$|6!z|`1-d#Pv{9U^JM>J~H+(1S>i7+)F3PZFE@p80 zQ_@}E2l0E6b1|g}^d^&@ci)&TKiW1CNyI$c>OJU*ei<3ZtQcv=dywthu%!t8_sM{W z96#-VB%Er=+ouvahkqlszrF6S*;FI_Eq@Gi^e1J!0-~Ig=HW5b9-H;nc_1Axa z!(Dnik1~l=RvW}iQ=FE6Na^oQPy7b1z207!DyZksPI`Ryp4^cB-m4RCq{h6KfoOcy z28Vn~JJL8j(&n^z?gcik`)lTLgwd@%{=K32?EP*@9h3qo&U*Z=&w28e#Ix?hjHq%H z$E@f$T-z0rqFQ13?X+}AUpGCY>DJ-@CQKU{KuPZcj-yW*bYSqGW2CUr<=Z!+Wxr!a zFi8&eTHcT2OX}#T$F`fN_Y-x>R0JSP>iqJf6XHiiYIEXI-g`{Xe?8&M705?hQ`c02 zp#ze-{p5H8eL;AxX%K;oRU~zN8tN&B>yGHIeF!clBIk-y^Y5hy0Fn+}ZB?Ti3YdGO zs}8W}ndA?~fpjC+9YuazO+9#gT57G*hkG zx7QjIB{$eR^NW{^-vqrFzyQ9WDiihoyja0=pU;e{AJc`Y?>>-wwiznyK?^R*#dyYd zA`vrWRGWn?uLb8>kIp2%ooWAixD%Y4`c@5h{%!;TV?>59zZK_8Xo|NCd&e?PuxHhc zlv2LEmpf0b;(2y{kdoto+yTngF5?t+vZ0F;{qr=wVUOb-?Dd&hNt(0FC4R8`O zHv!K;l)jpjJ|z}XbHWYGVM)RIpRkWS;G$#EuhI!oKgdaFVUGQy(Rm^FH*3DY5N|dM zG0Nv81U)TkkhagPX_QWqz`JuMJj(OS^C78GaXp^Qw7+?{s#KMj;YZ}(ND-D;J0vh-HpSR`b`m{r~e2(bjz6R2R0wU80!9g#~C+bm>+ ze#s~i=1HtV?|hHbH=c1;`Ly36;oL4C3#_C6?q1DlHlR`7sU`NdKzhDqcEN@(pDtfw(4%bf`?z9U_Z4yoLiI`tvo$ge5(-lLy}zEPAj)w1<7`q(ewJIzh)%r4V&OM+jP?9)5waW$FBIKu9exclm(a%25T_)XF8VQ1nSn<}3q_ zOhA<=OJ*qyYo!BkugiZz2OoxUWRt8PV*eIs;1bw~^z3JOqdYg5EmxEf!Bys&7ZKD% zUND#}B0drso3BH5jO739KFF0X)7u(P_Br(bRVz>>KkWW^1Zi}$3I`61xrP#s$^_}) zrvp?>Tx%R9z@TF$a4sYs4Q;@ahx+k;sq`tw9|^ZC)q6wIgqJ|6k3|g-$2#Z?pMu)Y zSg_g-JuNMD*;t@(Sy~;l%K~hdE}DgEJQ%(B(>iV@rgCfLr0Y+@da#d;C;zqVO$W!8Q0F4nCBvUL zOka^ehS*6yMZy=P)FH>7@?Khz04{4upW^&}R*(VA-dJ>>zsnzl@kqjL@eqdB`wk+G zh}CJ%ERWOn;u@nf$rJi;QWuZ8GFbb)q_A94IM=s6KO#tr1x>IHay5!T1KOeo5QcWK zz4m-ER@3zOlt=R-^5w5TykE$3fYc?67vEy%Z2(pXN96mI^}}0F(8KrKcR0~+;A9v zH1dIyKDJ3M@MM*0a!F0?wQFA6RDBbpLmd_P80M2X)tdTvJ?pOIdAbXrUg^&D`RsmD zm-?oWv$1oGtIjIIxw2#B+E2(Y&lR*u$vHV_=Xg@=+qEVwen&CJM4IndxvjA={wo^n zppu{w|4Lqbf9$9vE{*ep^W@(EIA0d5!a-+ zz7gdjrF&)bxm=m$ePn-Ys7GnEmp9Le(+9Sm(D688lxbwCVwRP`&(|UL$v(=igtakW zqzK*0xd{Y^T4x3M%*=JCnxK6S_Q&gYKQW}C{{d6`itryC)_0imYfY;N$1|I>;ld-hA>o&UA?)e?%8p~NGPINlh3Hi`sQE%`ybceQatKNCW!=NR)6Lvlp>*WW}*~P#>ClBd@!I&PI@OmRfg87 zpDdaA%CDF?Il!ZZ%A=61xQ#gdc6^Lp@QurK)QA9uN{Kz^kp|0bu?C|I&ueh-ME}HC z(lQl!5)HJBQ7&orHWC4{WM3@I;a?CGnCV^01#p8-_h+d19k}uyE_&%NoqC^>w}NSY z@$yOV;A$`)ZW5x5r^Zvb8zOFE2un}$AM?sykBh4ZtEwvLfMi-XR~wKil)& z$lIM74qZ9I8&5gPA?YK^urraty&KciD*YdFVs@QIX3vTlSp|JrJM5lz+NY}`L>!0J zy38w)^wW$hzN|BhUCjLn$0Pd=s_{?ssvO8=7LkS&t439-{-7rBVS*duMiwZGGBZP* z&~y%_Ofm#ZI%Q;IsuQo`rMcnD0j(_z@5@mtr*sg)QBN{^ryvDUUEjBDx^w#nYz7aG z$XIY~cJgJnlhK^GPU5jPaw^Gj>gS|7P~&0I8~jmkRI><^q*yU3!i075q=)%wO37l& zk_O4lO2;NU)YCink-B(`4nRJ(sgPd%n`OJS3p0E`@JaSK1o#pa(L`dE^WQ={^F45y zNAUe`L`Wupm-nM~s}2u}SLM~K0lA)+-USq>45CN#t2ce-5fUd=yCA@1Pl$ z#*m&&egDIX5zu4{#`Gx;LGoBox3Zk4F>8#QLgx%WdrJ{A??zGDsovKlL~p(%^jD@g;~m< zMJjJQGb|Nl&%NiN8X_G@bqUAJl!pa7?0th(?IWm2XfNTbV?;5vd^=JRJ4r|FBtCzD z+~uv$GR3Xyb6-r^cq43T%inHH9H+j$^}Ii=?6U52@NzKB|L>y*bR&FS)Kfa>{D!wP zz^(hsX|-+9CC8501a<(+TRQ_g{|qDO#4D55j$-2o?%;*1G||7VyIaLGoS)iHMKCXr z;q>+xpYx}>Cy&Bp)bL0 zyBr1~D|r}$M8sbrwq<6#Byk=Ts+|kUIaK2ipF(_fJ2vHRW0s2^bJV}6@xYlaG`O6K zSk$;STPB>~C`Dyk6!rNCJ@{*8oeJ_B&R{nERnplSqi$8LP8IvT{>?Is5a?yTsljF? zO#1`v!ljPtO=6Gyr6Z@5@f|Xr4;Gv0R@YHOf$U!-asQ=A7;I=y{wUj?6CbBDHKcIl zSY#MyMtfv7%8`E}1AkACjP0!#8^`?9)ZXe+Ic1u)^q3+Y38!fn3^946ttRS2^kp=U3E>S7^!n9l*qXq1LZozU(~n(;I}7w+C+6)fXRvi! zM+4OzUr&P2r}Qrx%Fdc^Fg_eJ7o6fK3B@`MJR(lPZT#dovB5Mg4I8uLGINTGP!13=PWV>I{h(@UP(Ee>mG zQI=}gN!}{g$wqMri%cJs%paEQ%t#9O_mS+B${>BJZr>17WCT2n|nNefO}oM&{zLTFySrn%zm?cgcgLk#^zb)C*BVw~ z@15m$gjE+-=*eWn%8F4#z!TLegd19_Rkamj6BC@JOBKu<=R6bL|h2fi1*O&fzGf zwnraciu_tyZjyy@#6+sN){8MzR2yYIS}hu!*UUnMk!;LbM2exat_*)nAWYf$qX zmBgsJ*3g;|V{VMZE~hWAZ^i8@wI$5$O~sL;#2!(ECA5fEOZX4|cB;+wiAJZ)KfG!b zbV~xGvNZeCZYaM=xSF^$Y-ifpYV}T;h5e$G(2o_Lmdh*i1l>6?&jst*m=Iqi+{$ou zdQ~RdTKLJ#?;HBD0w(d}bDo`qQ@BfgH{z!^<^a=%Q0YP=d*0BPn$L}yIZR+hgg;8U z+|R-VH9qW^`n^KppI9iJvgvYtg5v+p0uy|hS0|=^D7HVUa?dtadEn?_H?)7caNS&r z&K(q>I4T1D$2$vn!FrB#W%;aPEJJTXgHU2XA-ciR1=d`>2*6E*N~(D?yhPJ~^MTz8 zQ*FITLw|jRO5#_)LE0+uT(M%rx%i{)AOm5?Z3nmfKs=AzUY=cv2dSEv5^Cx3i+6kw zWsth2A_xoq*}=KV03%-=L2jaXKFgHZA%!x9q~kqnv=T+g>)4_4h0}9>|33?$H{c*T z0X#ke<*;se<@VKcA~T4iKA#hOYNVljvCJh>NWGO!0peGK2b_eTwrdh@A|r+<`CoIy z{!GKmkkQdf8v?oC*n|C}X0Qzo8paw9Imk{`TX`L(k+g*Z;3LF?^J)+FhnG1?)84vW z+}cXusmws zGGJv_<#sqw?#Ohhv6u`(pvs9{fh9 z${Bt$d4X0s8c=C%8mMXfe_=B1p4g1bCHw*FO?gM&I%_5AL`l|R$;6=5fyJlYh?M<; zvUgvxaM=NH6e~JkihI=D)&gW7EvzEETAQbvg^!qyQJm0XNzCOPl1bxQ$74K2_iUE{ zT8{*lannl8&aaBM-3E+tm1(4LJepYrO$5%{?TK`k28wox3h_a(j0QP|yMEAR9$W;` zo-=1_R$qk(Plq@LrHimKQ0bIX+H0l~s4^~E#cd7%?XxGK;vzRr>Vgye(=5}E+u}APk z_)dzxD)V%>+Dgli&m?RqL-pw}S(ay>b-Q=)Q%d(Rqbe2K0I(am&k3S=KEia&^ND6? zy8XCbZ{n`z=;pcoO?}%T3F(2UmYv$;m`#W;F*DEY0-D} zNWBzsfY(z9xq|SDkwK5Nct@avVvxski=>GAXJ@LM>5!2>D70n-PTv0670sSc&mDp8 zdtF@XenpgtB-ah=bs_$xy3-e7sbZju^Iymd-*&KZFD}w%x0rq_0!#kZ6FV&vbR6F8FV2h}hFsYs8Sy??a87F-yvJq~LkiB-?pV zJ^x*aLj48(Wl*icoHd#efF>rqDIwEZihwYkUuuQ(x@+2Mx3@)Hc=|6sYu2f-4*xY7 z^=MO=`m0N-)0duoy6P8+%XI@<@V_UNzYM7^;fL#dV2l~1y~5d_nIR~201`7=|0?db z*Me`&Upz^oAlG2_zDGjCcZEP_9jYyKmKKJ~99RWiqW8ks+-K z27#=F;!Rm==i8m#7^2gL|$UI?}yd6 zQ%eJFKr2}Q6@`zgkB5EVQYU^d!}p`(l0&m|F~!Ec4rywIY=9J%4 z+kKU{q1>}uieM)elr~wBc?iOEXoDO*cj)1XnP7`W4B=Qvr$y7?FH^-!y?$G8fnuiE z1k}T8FxwZVnM65UbyypYa_SJ0M^CYsKbYVVZ1SxxT@wdAh&jH#=sEreXM6gM?2gbc zE^!*>=@s5JRDW>gOqqhNOpw4|KFw6SOhE=Hzvi=mzwib64{G+!9(iZ#ZX7CJ*(hVe zztW=7V%SLb+q36~)CLC8Zzam~WWYgVz0inrR}_cI$%rr421TLtvI8(5eoGM;kZ>^- zTnsuRmnz1n`KRVZgLzi*tK*TE3;WP7qG@H4Qt5lw)>By5jwFj=f7MxvMhvVt>}>2q zr4{`#TFTl%{}og+ogmN&isbl^6bRSHu zUNie?l+GWCe5T2W6aq z3gIiBqnsGOPB69rR@8&}801G5-hYj;_Zg6rL`i1og=x_#K&`)=@f^y=s*4M-3_ba;$IGyF`AGG05vJMoCsg-_pA zk;S}l+4C8R8Tp9M@dp4lcR&U3Vtc(QHgQ~(=eT4a>1uKp068`ZF@Ad1fgSt1j9!8( zB+P;r{FVTObS{gucs1_?IpM1SIQrV9U)PRTQiw7^ij#lSrp%ljYgfEA6X3!_zu}AW z^45H)V+xr60`H$NMx=YbOeCL4By+JOPqV5VB&~=<(h3{A6h7=6LcHc}1 ze*w4Ye8q92F@t}l;GVzq0*<=H!7)+9(4aRZZSdn5AF^LQ!9I7+({0vNwrbvVEBkOY zH6PUhj;Qa*I1&e8Bnv{I94uSkMS|FePLUTq0yf5yU(4%Y5wI5Y?g19@__D>akky>i z!{Y)J#Eu=*`{WC$;S+6MKP7wLT?C&?LPyvcaqO39xCqT#c>mv07Xg< zlea2T*-6H7R^_jsh@I3Pa*#6mH_=g2zo0vUJ6vb|`z21}ZY@&-;}k*3$`~AeH)}2u z^mO*U&oV=CWXx*L8KK59RdBn~5F zi9@pzYroeT_q)!JQbUOwp9PVPr>-H&L>WH%lyQic_3O{j6zA5nuJ*u#cLxn2$3L)c z4G2pOz%HBOX2vAca=OjYv@1*?At8- zoJt=ETOZF#;BH8|8kF9uqnUUCEv-k@|J{*S(N4l;Em2|==Pm;$Fi0&iidy*98Z+Z$ zpv`+w!853lg#B2(aw^=r@k?W4X^oS6E5|5b;X zP&;mmMirM9;>R|Tp2uRl@{(0V4Y0>=w94mrMhbxZ)(_Y$LOtIeFH^@7s!Cr7j)_HC zfQM8qMKa4fY8Zg$o(C*cyI5yCHO98sQ(DeS#^y0yhP9ZgM!6yIXQ$evG*>C&Z~8|4 z|Nc^0S?61L-LTE;W=z`&Cr?1N*)w>>#bRrx!!k2PqDMyL$jB*)v1=TJ7>G0)RdFiD z@Hn{VYY^r}Wa4PE^!X;E#Ui^hQANX%zBHJA)dcW;r7p*5?>>{2$x8|4^yGu+L%iMr zf-@s43tcyjKMzOtBiDBd=fN{RZGd<@k0}`jwQ@#2u$2+qGYuhXpaRFTL9T{!;PYbNKupiiKPc07YrpF*lAL_F6$?EXcku6@c$7zvSJ{ zm4e=DY~)j2^=@;}r)Sn{kBx(;#;|z9fy_S-B*ygXTJ!zh+G`>lGD6 z9g|*35<3)+bg-R$TL1_f)_Fh?)8DQ}rm6fdy|m(n10F`@FUk2^|@1IXuk6 z(xdgd;m4e#Zvn#CVyv6A6ka98Kfggdd6w@K0&9|! zf(ul|kyZ}9xH=NBOCcO%qH-kga9-nswgL(|Do)W_9>X~*tOtdWiLvFd?(aX^7RI_o z{Lc&0sXm`I|C@^xn=(c`ya z19;sDC$nmLzv0_H2CL)+dcz+N1xp8a!ehbee>}fqFFpSvwOhyOAZPeTPeKXLGAL~# zKcGOhWi3}3IX{yJ`%;hHq=!rZeawx=U3t!sCcjS#QDc@-_2|)wKmg|0=BpLGBCTTb zze4#0g~>&A>x;&EiQ8wJOIjqA1cQl9x6psiGmn_t_kD0(Qc>G0Ce%r>=P1Q>XY=li zO@bkwY_*CZV30K$2>{$=E}qn@h4GxKvN_bBe=%5_C3D)2e|La?N4YTKQ#dpdl#Cuo z1;G4F_p7;kh;!1ZW&OMdD1(VQJ5bp6JBKF_%5^SHe9)hWgMY?;*K6875ha8<;?8ax ze8mw!f4JgOp+F$n_d_@Q`zx3;-=qfjt{8?wCl3xKDu{y?rx%s1jJYQ#-(heDql2kO zZu3oVVBfFFGi=r^pr5FS*}wP$2C5OU+|mxB1O8F9Wb6TNLXUnIyy}k|+Rc4Fn`HgI z6(*Y@4m|+iM2a3K`ei&n#=~)ADVb(9$3iWlDD=9q6xzi9n5!emU?EV*6$_n+e37GF z?25~q=-I#(w1VgI@mmOde%PfMd3jBe8`7w#pj_|PXCV~&hUukR zwEa&+{*&zX#4CB$t{7(WZ_jm#hEkarI^wOKzo6?by}Q7=xYWvRUSQ``@uOYrsfOd5 z=KMkMKO^#@%_65N~4Ow z=U=d2cQ5pWCCFijB{d?K7$C>W13B1>twOTH$~*)6oS1klbypmflRV)m-T{yIW^j^e z#1IK#E9~(;@4pZUsz3hKEC*BzolsFoV~CpGCJZ+h!$sUpL{&ji@QaXMiLfQj{G;5B z&u-U=8IT0lGwWA5aRRDG2gpRSTpiOlBXZvHx4f&zt)tC8Au9osfeaD9vpL1{O@=-- zTmLM~mIPf@2xjqMi|6ueZauN(7Gx)FbjHL-aVB4a?ZhQA7uy>Z%Dy{4KnRWa$39wW zXFlhxaknZTv~ESx8Z~?|HT_&B&B7~Mx?<dPfF)=j@zew96teuoDz{ft<;E}$<0K^;M$pDL$gTZ#L>K4rk_n115e$BD z73^zP-@pd(s)?O3)|}%56ZL5BzN^4T*!2iTQsT+0O$j{2zPKcYP+NKNoiAcoWlgIL zMq-!~nIe1pV8$5xQs!Qs0Fj(q<{79#bY+UF+V@`cilDcNwl@6CJAw@oE87&kktF9G zd+PEdEt|YKeBHUKw$X4Rez80ri93FNBR$M*Ho}@8vfMas1qbFdhHdKoT270_%Fyy* zihI{ye#JHwNXbe{BLF}vK)_~-TK@d62&$PXBYuY7H^fG=gioIgH8UOhuSH3rea-0? zcYs6%5NHkwjU}~`4z2{*aaMoaQl}xjAthR?)-H*)Eo@*7y=TflY zlG0bULNt5&{~u9b85PwV^~*58&_g#vmvq5!pALSX0_KthmikdQI}2?>=L zx=WOf0i+zVH2b*0a|6bk5%U*}tmbLn9BT5g=W`J9A_VuFx&BR~^989QU0Y zs>ILs=j!{C|F)?+&nMsh?GIwMZ|9fG=L66VK83yAa#1Gp$v0a>CN`eQRM4-U$Mc&!%ybf zeg{U0$z|!1ZpJUk+`yL@wbHz~@aE=zuAc+s<5b*(%!ZR^C(aX+Ct-1)B$#)Tctj91 z*x;4aL97p?A}V*`GWWiFP8)(M_%CBFKYVh+iF`xA@7MP(Y+GpV1h=$GWLzDsl7ZD*&l!sG@zPS+Z1T}PmgetMRTY#ynfBz0nR2Z9#FBaQ z^bEHXoN_FuaBv1mQrA_c3b&*{1$zRn?2(`CiQ~KVqIZMNiAG-lfnZ_Ew>sBvos=Z< z1pjP37?nK$B~KJ?ip^d0ihP}UlTwb@xk)oc1@Kw}|521=v>uxt0}c}cm12F`os?qt zoTVZ|I(E+v*Za=%x!XB+$4%)&b{=eruLM=dfRKD_umvLI-276zU=}@ncAKLdAJU3# z#x=!r!I&<@K3Tk!0IOU#SM$MRN_%tZ=zr~wQ0LbZ_PRJQfHnt!z$^p?ht+GbA@!+Me0&04kAeR{)1T-xNO+g4nKo$XJ4@QY3wYvDbT=LfOl zSJdEJo!M7$b-Nbhb`@bilpfleIPRqUJ_>-+o~Podh$i7FVtcV+Ck`Dl4d(XM|23^s zatn($K7;~Vij(ARJ3vs6|DJS2*t<30mDBP!pTP*)+r%T~C;782J{L`JU{FRnCF__s zcGNbDIbG5ho0z*2+Q%bZsp(52avts&Z$3L{0ujcjf4}O_Z|*mqc}q)dhD8nhhvktU zieB@>T`XGLJyF=gSqM^<#u_Y&MnnnHyjd-UC~#b5)X;%G0BX!YHBPU1H)AaP5|i9W z-}t2p6$3$lEKJ`Jn_B$6!$PUSKesZVY@FKl+oSLBpr%({XnESv)cs0&TgA0`JBLM( zmFaTk(FbQ6y=4DyOPFfnVtMOsDKDBobqS`5)VoDf#}K+d+3UgO0|g;RvuZT>?*;e` z1cp5wp(36gh_PuBbhuf?fI}2H-hwYFi-~z0O074}(@&ZOG^GF}Oz`mPk=Gknc`x=& ziX%nrV#r_{_CQw7xTEK`wwXF zm~x^z9tr4|QRO2F$vr9RDx_8@A`e>goTe-NDN!$c1bD`cQ`V0UeeU|SMHyeythZgn z4pwp?tyw-=vkbtu2VS`wz9fm%MCta_v-0Zn`VXLp>7VUMFUfOZq5?^{|KLGIyqhPMP z&_K4l87U5PqVcyj;(THG6jSzJst6^#2;*a$mIN}gepc6D`m*3N{Qth7?ii45{Xk|H zz6!6J!zn-`V_Trfq;TCpCkkXQp52&&q@*ElREY|2!V*kk3r-xk4K8xaMG=%HGN7s#x<$1+Z@W0VKjG1QeP_LnKukCWLUg+|qhRc0Ejwc{Kp zU{GQ0<|nM2^D^`DcgpzAkI@z79nv3{O(-H=@?a4Xp+BzVaBA4?o#cCgh_M*N!#Nrc zW9$6}8~o4-cqjx`%fA*fu)XZUzr4X3ZD{#U%hle-%{qm(K@hEn_3T%K#zRI%r-K+d07-U?0!DV!CZz5p(3gHxl^xpcGydol#Q@K$222Gi&E#UVF0< zWpef_p&nxz`!ueE1R7DOx%%gPwd!Qb659!%!`^=j-epa90Pa@U?4r924oiO+nN7Cp zOOzjx$RRbbvz#cco#H$a&b&1PInel}U@VM^)OooB8-$bZ@pit4Gd-47& zaKE=z)(Go6d1%U~e@6n~vV+DR#@g6;@;AVWBI+1$ywGD-=T7;I-FZl5U>`{i zOG}?Iduh?SUOfl#gajJt^eTUb$}fQ8Z8|#3p9}Z= zg5k5fJl>LJ$I&@ae{OlsK6GrFr!BYg;6)mBskK3x`KtcQ%jUt1FD0A5`a#!ZYq|Q8 z@^Z+WQy)u=W3;A8x2R>M-4#r*^I32_-=U;kdCJ&4g?BKaodpoV z%gN8GxPAt?Ok>AvzP%@b^Ns!w7XT3hGogcB>D1`WM|LNt6R1zFn)4sej{EU+B&V>A zMHNfXkLi6+TTVxQNg_>k9~GPzfFVCU0B_XZ>KA=+!u96RrPK|w6{&G|Y{@GPyXNg< zjq$gKdZ~?|<{J}0XYiswzbn=rgR>AIY;&Aj2sso7<41Y<1rKVCyECM033%s+l57=@ z&DN?=p%n`eL%};%V1Qfx&c=&oC@Pb=1+-1 z6!LVYPhWw~BYWlK7q)^wn?Ak7qsw-T*-Cas|0Poy+S*|4N!ptKDv?(8RR)WD8jHLC z`^Ws}0|U+7*Q`Ux-^QzJWK+nc#53b~D!|&0n56AH@8mg;OWsWhe46RlNWaM&f(!7 zuy9D8S)657>RF~|*a{VXq}LYNla<$t4qld7`e`LW209pxNlHRkLW zz4L?siw3N1DPjs+#iz2xEg;6x4TZJ+nrot?Hl3-42&RPX`p<$t@D2HdwZQ}tUhK7{ z2`naBsp)^18E#&NX8~;5ap1N=Ubast8a;}=of9N*m|@3YM2wMZC6x-DQc)7nOLnuA zbQBiyL7SQGVG4dyB7Z;9CzqkiXMc4thKJ3(F z9dSaVZzNVz3>Yq?o{oGJ~0iF;7fylzdm2d8R8L_DE;zSRXe)%VsEA#x%VfB zp|O+|W9ab|HQuZka>@)+JjvOBit|(EMebIcWt~p_K1FO!9EkckzwMO&-i3iGALzSU zO$RA^KdbHcEAh)hdc~|mww98ybgCx3A87%sDu9evx~~C zo`~qmY8+SrEb%baC#WtqZm?@=1c>Q;rT5r@p{p%)0YIdPb`dt|8Tipi|3z}%)bi`f zK|R;)@dk0Vl2vCt?d~UuJl^#>ncz1};kWlxLWQzX^;%lE+BNztX+~&`f!xcTQGvFf z((%g+d0mg@IuK{h&}%flBJ?q2LI~3HqhyVak2-nGNy-i9^%0C>e7Z7^>?Z4)NJ6Re zTL1NE<6PzJD*r&P@!~jH2nMBAajMgAZA%aRI-6y?wlK=ZO@Ik78}}gG0Wn69QbyU5 zq(V@sZlye@r#K$dOP~Z0(ett?>tDY?jX(Q$_ph#*yl&R|9RU>@q{chK>(z8x_v3^BYd!!OJH?^n(Xcd!R(7VMy7Mf_VLx zKiA{~%p;ehfDv;_y^|O87Q<^D(MrACj;~_dfk2+k`lp;poS1J%3Ez_qC@ifU_q)eGn-5X1*kI zr%4TOB&-w$kbI^H^f6dbQ!@s?=wb;O{~%!ZGmwpU>GewAp9HGz!HDSGG`cJryB-HmQ-HK$#^J~)E3 zG7`_L39=H@mFGg4up%mf8{WQ!35aGE%0jH+f}zPr}2+HdBEM_h-1QzIdH#GO{!2WedwG7daLFD70LGaq8tFYjixCJp2h&4hG<^AbK&d*93E`oVd?mgrw472vzKGf$0QvaeX8 z8d-}X2X6*Kc*)rh`8&$zIue&$h!4&$Fza#1DA`-r8&Xb1 z4?Va6IFM6vRT{F{Z|Tzu`>b!WmAT?xB|3J(l)l&g{7tseHE0aX&;{?9&4jLl+zpMNBN;eXETX#^REw;iTGcIdX1^6xZ_`onJu`iAGOrHTi>02 z_Gma5-+UK%bEWVF*-Ags^htS>X+3>3O_Jf}u!0?(jZIpzvo`)iX=&~KpS<(xi~Y58 zGmIj5Ic*w-QY-n}>r;jdo*cSdAK7fazQiqPG3^VgiZc!aq1i;xIc8tbc{eAQ`>nFK zJ5vc*BkK(+QV-^I89XM`d++y`?<79O7e)=C*M5S!z z&)x)#dw&r6z0vN5Qp4|U8SJ<=*eaZoY6c`Hn2e~-eM3hojN!HVafEfZ>um6dKfDNw z&3V9KYZej83fWMSmPoyF*`1MI*EkbZomZWvxjSAg=o4!jxk2K=3A?{D8c4kSYRtj` z8syESdppywT0YzpG5B%^8pBWnGoypI&YjYi|Cub0ljJHG?o;W# zeA6w6&CP*s6)>o09)0YpnUU8r*hZmk1t(m8HRC1lp@CZCh{3wxyA#NL(9zW%6y=`X^n$A3$ZcJW({!f+|(uBb#v zAYMwOkmd&t9?4v~HlhaUJUoO_+C>Ci!qmyL_wdQ~?X0}^R^b8=K^U*7vc4_vCh(E~ zQ$x4n=)mDS#b^Ws>7u~B$o6pJ%L$q8y=;}kJZf~FB${>?RrN%~upNAU$Iz$2$Rr1% zpByWAqB@*9meqnheclo0C?APQry`uyv}3ez4FpF9`=QIPWF$BQ8mYX*i{zPL>1OKZ z0|R21D_-@81Rwn*H|y|1$7#j^R`U(dcQl#oV;<5mb!2ec5}K@F4Lmw>#}xv7G8f{< zl0XRa6RE$$HY3H2S(8X~WX4e>rO~2daT6uDI83mnX&UgdwUTK4PSGmByQ}6;kfeY@ z`walWEadS1;N&g@XmBm(hs1op|DE@*qr!M|g8c2vF)3jJ5DegmOj*&MOL0)+84w8_ zRuT?&Zk_7gF*e8!=qZNQy|oNL7n6Sv|K;+pEc1Q^Al%S>G;0b5W8HqGyQBs#rvKr% zGzZO*u&QCjF0tcuMwo^k3y2zVVpVVtWF4bq#hB^}0{a5vRN#0Evs724!;v{%8jGT0 zH~@NQIs6>p;=fn*0`N=h))(16*R^(X*_tezRr%H)&=idH* zV!R~lT*db85dyIkgX{T+PEX=91sbgzfgTK_KjKeqqT3xyOtE4^3R2ycY;4C+Am-)S z&h7`5K1KlR^XNF=g73;6Sp;h;)F}0zi3xHMrE)RxQDcyyCuZ}j=1Ah0Ggpi3k0f=B zuzfTj!|0_;T8m-U#elcu$4U<1fk&O=lkA+Zcks?+N}yYc-+!lHv}VZ-_WOHcSy23kzu~-_Yy2MoWBZt5FB2P;D#8f$da{XwrP9Y`vU`5&#Yg;9^wY}{ z*Q=((U>xS-7Mq%Cy~4uh$a~u)inM2(ek;=h+*Z6d$mdLsSwGKu9oUB-H^Ag8{{OtP zxPN=WX)-XK??3u%ejC5tHstF#oq`5U@7|NNqpe2*!V-NFhg`T#lY5l;G_IvAIejIt zg_3bUw`cuBRY&*+H^&80E{{Bp$%;fvn=8S`Utk|u8)OoneU|h-yb`-V@Ab6|ZAO4j z_)Whyh@_9L>`jQ?Uf$VXYSV+)9)aEDtuq%)6mbkcm=-httNwC6Z|vxwhK7C_X#yR_ z3*V+i{;l}qFb(ft7bB#gGb|d478J2MM@NLkX|Ca2vJ#bG4lUK`mF?1vaJeYvz7^Qt z?AX5k7fvjdY*9;oJDkl_kS#si&?&%@xA*V2+;Qo*Uw_;8A?=2!NWsd8yMcn!NKe{O z%IgY28G5*NRiLSWLb*0%|rfs_FvPBoI>K}x_0Bk+@OoNN0>p! zZ=rTXtK9+q7*cRK^i$-DB>3C#W%Xa=Iw7!n>7wkJTT!EN+AyYeppK3snk9bn=;!LU z+_{?Ux`8K;p9=zlx7@@b>RF!D6;Vg1|F>KC)opad5$Uy>QC-~J3{0{m52VN!gcYGe z(yK2}la>&!0_b`ldnF@sX($+sm+K6AN`9J{ffx~v0jYy;(E!lI4+Lynjq1K8$O zK_b!bQ`abhigv8b7PWnbbcayORO z?A`y&?G{HpOL zgZGkq;b>b{XXSUfT#-@O;9E0LBe9uq`sxteb_E|etbva?F3>f2cK^P2Vq^W4AM4)B zR!NeQ3X8`wWxfa$F(i#ev5; zmC^=MC^io;`#$1nA$TM>Mfmc)I2 zfeMt)QRPYR_4ShiL&LR|JNahcyI^P- z9DL$iZ~CpWcz@2Ar8Pp8F@+Qx>S3psV93<{gNSAAw#U%>D3S%;|A&u?hznLHTWI^a z&T_jL#*gmU$T&U9-1>(E6{0dK=}qDQd59Q&PR-wyngstS-z0x~Pvee?tjsdOLis0v z08BI0a4>)cx@FrtDGQ={b;vl;K-wAl6mAoWKO2B!O$tbH5&t-8Kfe`Z8by<}>-9;U z{3RAN(cW?Z=3TPyrBv9bA56c?W2n0{ZLzkM^?5fm>;OW#f(=ao$N~d3!VV-%*ov!OAbtNwdX$;3|(GR_Wj2)GpU$8XUNcpV_M9WNs z!lz?4VFd-4Nnyd30}Hf@TVEZ+USVVG_}k81Ear&vR-U`+!uUF?XZ|Z!snZV?z4EkI z!{-j@k=~TM>?0;@z0$?`^6YlnF{50ZcMp+SkS|TG{|L>Vcfph&Bg*DV`JRL;o!$IQ zBH2Y)sc_=IF}34v$iDAU?Empo(|7wz%SmL+5HI+1@W0;iY}lN+qc86_by+rD?s54Q z?#R0;{4rip3gGUOuiyE`$F4V`p^v+ZBtlg1us^9ODRJ9)!n;0?vz0=+|6uxWFNzZI z$`Y!jp=gxYGm8)O<-|BS>Al?1z)1clhi`Hy`EcZ zsGB9D=q`n;08T&UK!R5!mA-w>#F47EuSC2BA}PDb+j#dA{}?v~iHVFV;}=H^l@@Ep zsca~TBk2=h?QAD1E#PBDmAE?@$mP`=dx#`fuUNXquNJDeojP(fPa0|kTSQOzErZv$9Y752<4~$y zzRPNH!nywz@UroSZOjW^v6UmEb&{^&L-%nRajpiucDLlJf7M98LSB~d3gd$-MgDM% za+u=l%X_*$nCKYv2|q+;4-iw|g~|~Nr9!;L!-NZBwVUC2{>SEyEKsxz$r(vcO!$(A|crrf<=W^JJN_yLS$ETB3?M|0FG zeu^ZvC9#38aqObI1^VI;!l$pghsQa$GDIK}T}{*eP5YOIU`{(ZPm!>h16gSbIO{Gf z_RjkI?VVmYH8DN_Li0uJDd`~&^ot#o~x;O+h=a3D8B6zl5sC~lIuwQij6c&k4r zG9cm@2KGFr_}xP@|3ZePju~3PLFtQ6Ez+TaU-3+{gtgJ z{yxRg;DaJBbX~hQF1+jJw5}iinui%rI^pf z7(1+u?WZes&AE#KQ^8rsyJY>y&?-~h*i<(N+fKA3-+TdH(h}(-sHO{?m{-|Iab$cS zlwjWQ_UsIA>g7&nR1r&*n>>}CEb)69QBgArn(lEg70ztfGR@wzV1A85Em4vEyhI0A z`NId)^{7L47JE8k=Wei-h5n!n7a_6%+)c9StS-Jy&Qkana`PpW$rM}c#gmN8y?EZT z?rwpI1}5=anHjF!C3{ISZPv8nS$A891?E*4g8jL8K2*$ zaXov|+e?aGc$?(4a%XsSU#3L1UG^$YkqiQ_(FhF+{4mUHHMPhb{1pW?Tcv7jA~hSZ zc%E^}!Z_4P7uyr|6VXwZFe&E8AvY(Nv^)<>r<=igs2^_aXvK$8@$F6nAGbcRN^o}f zQmF-Cn$@hTuYCN(jx$>0@jiwb*J!pAh_R#*=dyJPgZw3;y`|U{94g*)z54+5%B%8u z7~9QXQ!EVj!X`|A%3iV}pb|sZtesZc}KDDANV@gpfKVCafkcedyFWeC#rOU?{#R*;AZn zQE&e~sa6U?emfjl$&#)(f`wUeBWsJs*K9U4Q;mL?qptXk!IHwm?oP7Vo_JRkSZI8l-_% zB~3L8La2m|gnWO+3HT*cORHyF{!%LPp((Fmg|&``Sn9KXlk?!bmb8{C^WWhqzFf`C z7RLtX0Fzgd9h<1q+%wdWw!29jQ9LPpBYT8lg%Cg|InK@6734avR#TMFEHcw|m@Y>b z=k-b(8Pj>7E$AUH&3MxRBa%2N^yTV9X81Yw+`L;Yf2YhT&M`o&TQ_@dLz{fzfYl1{ zdIU@Ekd<$CWW=%bFmDCO&Os0k&CJsdTdC&UqdC0q)5@5qFB-Wp$!FZdRtk{s3Y7V_ zs9SY{ORw%oYQrxm2@+pM)R$T&<9(YsMKdV05MeW+bAE@5cOOqS`OkPNFf+23)4}B1 zF6)4^C&0G~KZ#*U`8tStb-QLJF>2k`{Ws=HL%6WcI$hwSSt$J_j0zr(BV&Qbd(>Tv z6o?5|B)SbDXnt|z^I9QPy+o0&%7Fr(y|fa9%S{I@N*^^%Y@lYA zYIa3#O}kom);OV&MG^g6pZ`$sSaFCkU{IvP!kP9mk@^!!XYN@7V-pD=OCd7E${0+2 zC!`C=c|`TSom3I&}1 z;`%Uu&7~tUxnkQi=Ly0jYaa)FwjRoU{U_Jd%EQ*!2#LIaO#cr*H1q( z$}(way&nz)L(cNrds^kCqqdEzDsgu`aYNSsjb`JAr&SXLxBtGUnvwBB<1d9inA}|x z$0X*fE80+j@q`<`>x>852QF|WdwMgcy*Lj3YU_zVsT@3Iz*uL!d ze`Hig`;SJFc+@d>1~4xOFM}|w*i^+KpUo}}#wjkA9h37RbOZOUk zQ^YNX)))VOiE!>7ks8+{3(dFa680QMOJCTa=bd)5t=!nM23Al1iQI49vV{b>V$&wQ zw|(`AHIHS!@>;`)6Yp;mi}32N8{f;b51Vkgc5WhE>_?4T(&`;$3}*H%Up_lV+2p6b zCISQyRrOa*_U0yze&aBk>u%`ErM%nqLhao?h6au=wY9zITXU%U#p~-|XB1r9$z|^^ zc4L;~3HPZXKaV&O-w&g*Q?iD_zs|WGcmub>&Ku!IcE6~dcgw2%ce4`{UgNSh$EIt@ zNh=7B+`0#@nR!aky>V#d+b!me9t-{C|36%S`ZkHUXSbfz2h>)5y|DNWuIM>(qpy;+ z%`;@n$Ou=rn4Z+^4|t1o5|;Kwt<)<3aXA-?0hIlo!Ka*z0eurkES|4+%x>=ky`zrV z|HO@|oKDg&$m9S?UC91m%iAfD*h|`#i>~pfSF_e5e?OJpT2s~`N&9X@xoI#cw(v#- zod$U7m_57WrMTAJhs>!y4XELKmi9t)-!rA+V>)FA-bAG%f&fmZm0GNe)mRR%Hy%QOQ7JKtA}?# z)tvkb#3C+pFDotO={Vl?p1xw&$&bC~)=(1qU1_3E=`n&y1qP3y)OZ`ZgLk5{4`DK! zk73!#lUfMP)pS=o8~t~*>1lwoHR75{ksmnuLUQ`lbhoE1hU{E8TqXMo~uu?T>ruBp&+6 z_OD@!&@@>`XH3PGbdweGZ+dZRMFYL6wK2Fd&oJ#J$VQyphKD*x=dizSg@T7BTsyfQ zu<%+PK8H~z?$gGG3yKk_>M-(ag%P3c_>*F?upk0P8K=P!M1;+=`I_{q)vY}?QJQ}U z)06L{OG67ihOwiAYf0(w;rQ%Er?}VPK845NDWI6rGwVaXS!v7NPf3xuij(#uFg&>Q zW_Q;LGcKgx=P|JKI5=OJxLr(`Z8U~y*J&T1%HIqT^Vh%Ci1at zGT*ZwVnDyJpdv2ZF7rDCpn?IdQb?RJIR1Kw0)n>5UbKk&rdW5X%N)qh zZ&35$QcJYKlTQMw4kE#OC$2I!>p!hrLWGR#(`N znx>8vt(~6(eG+7$Z-j9gv)^R1I#6zdceTZWla%nqXLL+i@4 zHeFtYx$j5_h2Pp+!XNBge9zf?c}OQl%nXmf_50^$X4vPXIPMJ>6j-FphrHSR>v-~5 zU}lS3lCd)b++7gd*-2roxU5Jm+rsrCO=<)2nfynW@L$LW!!E}xu3zDnDluuU ztf4vpdx-z9tTZcY*Zz@$aEXA2S+B5q*i22c@bak*q zHpJHn&yeQjM528{`iV@aGZU@hQ$mc_Dn{m=?CS+CdSW|=Qe|A++u-o~=Sc@mkvvo# zr+%l)+i{ZV=DHCYR=PKtM>ReCoFrm6e%PPihb>zjzK3mc*aSQf>-CeEsIAjvuUL3o zqvY$u2#Kq4a~>9m?u20X^Q$S0jNdeNr0o`9v6=jS;{=K#&y2*|2%yQGhJn&)ijNb! zeEXU7CVp^CUEKJdlxIX%)(*Q$hTuB6sE3hKX9B+1?dKsVV{rZRL2b*|fh2A_GL&8- zZ__YwTnBx)22+Q@qyLbF8%RSU)NFp1r)@M>nwW=uM&`M;Sp0W^gm}?rt%ukcL3FTW z5;s3&^2`CU#gR8c0te!=;FBN5s6` z7Kb!EZffH`+$Bxe>Q!y@MAe~Z@r-G>1D%*P`%iggLeyDHm3^Ib^=c~_^}!bQ1fHLA zc45Bb0!u?rG@2JN9iAyK>WYfl((#}*A&Ur5u3o?i98U1LtZIjk{vqRzrjEg0M-fvX z{FPcVpSF-dSdI5i5vJ<;#=U7u!U7wNsZ15#-8mu?gG8Wc6p;6CW`+b7Uqk~tyn;%# z(Mm6jj!x|?j97{(Wn;kfUSnzqP~G9ynk}JvV*!jsnk9xIdyyqBE4j3UB9;)AA%_JI z<#S(Nn3-(J-=m2*IF(?(L`i9*^G;SKr7+?DA#KK43qmVd&>ak4pS6~nxB!T;Xes|& zUhbPYI7vY~Z2FM0I3a!0Uku9d#RvY1veWw-DXBa|Y&b_=-6Tnmw2$IqlK?nzPYJ|4 ztxSzo?o}HFf??3)XB`O5m_Mn5*8XmjD{y`avq88>vLLaS1;&3|RIa66ROuHsSOqHs zx#lmgSwErK@H^daYR-rGE59Fr#aY5qz@g_&E^(~gQFuSwfBkU_M(lo$yD?U|R3ntA z4LQ*>$p=tk%G*ku0l{tc7QA!YHL5liaP%jE)un~evAsH>1tayM@5T)q3QW1)QI7NC zOd+?n7tYH}@+WWcNC zky>MNzI%;ZY6+F1Y+*a+Q>^l*1zo{eihZBOX}$k#d8fx{s^q+IdDxL}p~NItQok4c zp#9`Zd{UQiz?^eI8OOulBwy{JQTBdfcKikxVonH+{qZJCv1@mIyEx+*KE9DfHZ#{4ZhPZvZ>17XoMOIg+0U z^}0~{NIJ>2xnUf2YfeO6zS6*v&pfs^Hb#x9PzoEgRPeIfS5f@!+o}V3 z7(vOeYc^kQ#HeVww(4!Pw`DEPwCt<;k-mxJJW2Z#GLQB`4sQN;=QL<2@#(Dk7_u;) zny6UmgHwkjD2u{-GO#N@aE-hB(d_lBD-8oqA;K;$7~cW25f44oEMTb#Y1_5$&p9_c zHfL>&tkYe!OCGJ9`swh?F4LDA{JieZFy6g24TW=23^tH)n>DknJp_dEu&4?=0x~ zv!aS~yqfwY(L+@zG?Uo5j&%miK7d{Mj$W{oCH?OM!d_Jj(!vL{1ZQM&ij?o5r1Dy# zTvpOZ{zcZ|INWj<+IM=*Mt*14D)|;rMEv*rkMDud(z48-B9P8KtH+-2UMDxs@`**M zAfU4*FdSdT0wB@EVt6-O>qcb;5q#@+JAn+7lMRg3aufULbhfi3;$*b8vg>n8)^sq>CJv5FKA>COGR70w zI?F8$4ZRJ~HfxvnINVe&vdy$seIm|#V&{x61W*DeBxk4;-7K8!N2!y6M7Q~jFNb;_XKGB;Es-+?(QjFbZ6 zOTBbKv8pbsSn4ggXA4r+A2Iyi|BTm1k<>5limZs>xx; zV-4FkesmPJl{k>$UbG z7v*t*EtAefE3KA5s_v;b>rlL}-1PmQrWBN-7-P@u+dfBX6UVsV*sCl0kcSazY^Y`X zy@I1-`Gor;$X^>ln({p+L@K^m6{6OItr@TJ@6*3=&ypqAVqKt%#~Yka$Fszmgt+>| zBzEqr_`T&z9oaePtd3ksdk-@LeEUc=R`3)Bk!nByzK`(*t)0=`qK7; zlM-SIkTJ>X#fn0m*Ti$A^xzS9PBA?^C}(JzuY8*Mw&;va+mL*il$8y4u&r&cru~nG(ip#<$&&q_u)U7YeOu(2s$N zV@EJg`oEftYGq7MSs;DEJmA&I6B8M4FD4DgcV3<3RU;nPef-s*now#N$|^w}wRw-I zeL*VgZgsIHCCWG*7G?ZnPJ%Py45t=*oOQ1iZvQ&Eg zhkuax&x;ERE<#-b$z`!<-fA5~1h@DH?u5~rEgE%RYVuxODAD)M?Z{RKM))7)SOTO{}T z+oAsb7uUwh*(CkHD~V0c8FiM&H*?J`PL=x|kS)5_F~OH*I+;hdS~SLs_r(=*&YoPX z2@@lZ5KZ=zr5~hT6K)1l7+<5jPDCr6B6QI)OFs{b&SAMeBSh8 z*UBXm%|31GQ}qNv$2ps5R)(n2PHY&mrHUa()P~a0b8-&*m=cXM5xS4xDM-q!VqAQ( z7llK@BN8RFJtu#41k1o(%Cu)RSMA6U#B4K$C}jCw41pJMAPQ+sDv?wm06zyN*-j!u_)aRIjU)S_aQj21fO4Ukc!R^?)q&G%Wo6VTnGdClqslJq!v|^F{D*1Wn=_Ux@EDU#n?*H zMT`+Y(Xlk|Q;NX6YJ6&P{L@JV^NhDibG$=rh>MjP=c6?@o1GTA0}5dvPV&5`t9=_T zda{b)1rYgF@<2i)c9k=66qtl4l1p^t4Z0;U!nVzAT6P+)x=)aY6*!D@sEqQ5r!1fx zqCXO{p*Gn6<=a25T@c7&JY9aP(mlFaJeblalE?<7AdcHzLd*#vMvxvn9|$$=a|oO@ z#POaGZu~*+J)EiX;e^c_ADbz^0AC_R)jlwXk(snk7-w!|D!oT6BI_mQ;Ro>G_gDl< zjY&rgtE?>Q$lhIzlEjRsH6n$iRR#$uu^BPyE$)IMYOU=M5!i@Rv8;Kl@yS?hYtWY?TjWh#9Vp z$V-_m^JrVslG*b(Dt%5?v~nNO$&OK`TA{(KU4~>&T7tY(tkH#&&C87@o0Xl6*WNc% zlEY(4wDsF0=#IRMtm8m^Qj(ReEs>`QN%p1BqkNx7Ior3+s(v*XRZDPBSK-U+asC`T zFhQPRP@sHt`HPn+5cC6R(x0J~T!M|&k^cPG_Bn$GNw>H5xr|s_K#*)Hi_~ZSJG&-i z4D53n4zZkGGM&0Fa~TTwXa%?DzN z#h90#kwqYId~x-COuu-bubj}77n}2Q|L@{{TV~^^-B2>zEg)U~6(#M9x)4U>2_yQx zqFhIcf4^bhM?u$lzjb%ZH*!boz6zZ(xC&kumVlsH2CX_T+{ro_+1XLk5M6f z!fWqxG{nB1d}AbUbJKjaG|b8gl>a!JZyhPaGG3&wAq)CLq$~)2?yJlJ{PU z?Mu8#72W2FAdz^l_#gIDYUaexF@R8}VTsx6{PBvjTs?_~YOQ7)o=E_<6x7Z5n3n>D z^woM45+C&q1ZsBibS?EE-9eB38Udi=r7q;6YQ%EKE^K1&^61K(QjiZ^9R zU{8U|S-z3sv!)?E{67HjKo7qN%KGa<(yFS>;RFlkjQo?t3idjeMRvfLZ|UJ6DA1FrC*`cQo8!A&&yg;15F7wB9b0{ z9Z+X`Z~1wU^MqvZGDtrhi4iqr2>BwDfO9YJDRoQ-@G!Q6xpbF>l(k`Awp-GX_w?}q z!~0|$!k@A?J#Yxxf%`f;9x- z$RsELmkPkUWZUF`<1{l@&`abC0uM933jz;hJZuX*q?y5dctgq<^k*aH3pM%%05bbH z7m{&7nZeT;C%z7xizz`!pwjjhHYf5n1RR)zK!D*oL3sYm{t-vw?;!J`-ZBX&i#}ms zVjY;KSRHSYS_*(jF|p40WDn}go0+W?Fcs_vOajJl(}sHm z9yVWs(w^Mky2SsXvfdCA>dLBTLbRGOvYbnX@)$i(76!!FgqL8-F!--bybcD$0R64o zDNH|-*Y7<0f$yE~Ae)I%$Yng>C;){28ua6V0KeClEc?_XAn$#;-lloaC~A61$tPLrQB=_Q=PYwX@^M=`5el{ z5~9(=s2@Cw`q&g2!w1mLl_ba>iQ%PxsszB&2a|AgAnl09P)bbgZ1`Q)`|5Mz*SH>N;MgH!4C}y} z!r;w(`{v?MjUp_7!)T0~$l?yS8&M0-D=jPzwXuHZ4w^sxDcWy+9D43~zt;!$)l{8x zTz3$3po|h_l|E33C4vqU%7RF*(QWP>tfJqP2-sky@B6HM`?!4;ywAh?uE+EVoUBAr zw*|~qf!oW#l||soIpFpZFtg^freqPXi)(Hw+2GGk06#em{K0YH@+5G$ydnEy3qvk$ zJmX;%S066mm$zndcX}DiYYmk0*~H_)0}o>;6!Knb=`HZkvA_rcBAHKZgwoYjqFoqF z_~E-w&fj9eksk0w>L|RAU2LoK_4mo2)2qJV?;QhSmyy;34gv7+(ye^=F7T@R=T;?W zwK0G|c^I;k_>n-PdLP(=omudd9a>qBCGgG+M+VlI1C zcE4;CH1o6O86e&RL)i~GWk0aaRP#RRSNjEs;n-biVqvx-&oz2r19%{~!0gU%n!x{7 zjqpt?@-h^z| zY{a=CHBgcQ3`~lk1Wm2(uvYcbOEP|Dl^JG1GE()^je45_nLsdoRw!%3Ycps_aF=~f z7!L#SW{(cz;Z;9SXr4hM3|NHUN~&u0KeNIL}c+Q4)(62ReB z&3}K+d4T4dsuSG-vT9SOR1pD5;s;~EdqdvWfkAfjaR`B#jygBcQGtj5bq@HO zCEzwa9=b^_rR!6J3hZ(Wpt2qgQ%Z^DDLPy%Ih-u`409UkiseGkPB{jec0KEzUKS4; zp5bs;%%dX-zA^|)z(H~qE!t{SFTMbihe_m?bV4xwDjLhu44lT+#aHL?uw4%dgHJvH zqkWilB64fK-xGA>nt|`IRPvrDZ2KMl4+A8{8Sp@}*WoeGyknWX)F1GrF&^mg(Bnc% z%Ba3QlNpCYIWKW^IqyVPi2r7=-R6R1+EgcdZH!4WUIIlvK|AONcnJG}+>4B* zFo|G?_BAN*5YCCB(;vsE*IL4OpzPA}Vhsc$>h+d9XL-0N=F{T`N*Ef+qg2j{|3Z`z zW&h+cdhHK8&7d2P?a>(N503InvB)kF*dYVL{1=V!w9|Dr4buUrX&{36`k zWouK4DVr^zQJ%o!*hwr89l=_01dU7qS;{zd0Ul&|VhI2YybDOOAu|+qWBa*V*VuL7 z!N5nout+9lJ%fQPYFl^{P$BS;r4*nxpLPal?d)W9dcxs|?M$@bmj4p`s;PaEi^+D2ui z2|Qf~ZY~2~EdV!`fJdtU<(4?;OQuoY8<^2VaJ=9*rl)BxcnCN%>OqI$Tz4k@@_HSQ z=hkrL(IS3+dmcBQu3>(yiF_u5bCbikbYcRZo;`w7hsKas;DM9(wu`Y>Sy4d%J}r~E zB_Lpddz(Ddfq8vnZy67rP1oqyi3GqvEqm`ydd1Cd%LfU82W}dzTvC4;csD5`E||Gk zr%W0pB^ZFH)&1I!(hH>`rB@=^6x!Zlw>Cn1_a?euSpu#m!DJweupd?N5xZCWQFm1diIS3=*AED*z=mFbu0w=jr8sigw&MefZ4 z9{i4Nqc50LzW6!7%P;Xu{2wUCLPK_uAM(L>G9c27sJ`0en{x0D9vIA;WHvYxFE}n( zK$a3rC4#esNV4c`VBB(C+=}s#QQ)B-01qMK!RpBnRGOyefeQtPv-DL^mcvw`Q&!0W ztj20#5!v78nh_q?H#`iU)ERt_uteD%W{9S<$<0V5101Axgfbk?mOaaX_ditd-U(zm zbR-R=g42?@8OZ%yT?hWjj0YYbRv~5B_QN`ey)O9>gT2)5FFKqpIGil<-%eN#3DZL_ zCRx?GzG}HhGT0wA=wm^!0eDEJR})yEakNTHwb=ieabv&(uf@u=jBY**%VTmk9IW^; zqkvq5avtKX@umO|+T}L_Q7V^b>wE^ftlzWGlL5h`BF=RNx>>&;WF3$O9`Y*r$7*Kq zzc1i{%09wY@={uym(FLsmj~tb$TlGOL{P%OXPFa>kU}{j0)A>7O^LmGEpHsnxqv{3 z`A4L^g!t+U84ot_zQS-I0H`bn-j@K}hM?g_s}B1mS$+Sy3jDkp01uKKu|q$w2)Y(* zDC5LSh4-hN64?%?BG2-eRAX&3iZq4;>w(i)1zzHb;5+BT`>{8X=I@rsgkj=J)4|mp z9484f{5Xk+9|J<9j~KPX2b6iAPfTj53-CaOyqrdv8U=tw_J_U$!QP1D>UO|G7zo}} zd+N_%aa4FOaiH_HL$i?$NE|mHPXt6*OaniK0Q8J z!srAgm-i*D}vowf6vTdh6)kmfJqz%)o18TJv)|MMsS!!Tqxq*fGMNCgW zz_TZ}@#x8SSX_LDMx%mu+?0B0#4)OkCJqh{cj( zFjJCi{O?RIvX58Z)1ll(Mh-1FAx&R%5Yy-f0G>nd%{E=Po@Kz4fJv#=P~Y<0bX16c!~*vpf>dB^O##~rZ11D-a}3$qQ$ zaszm<=GhM4y#OAq0V`q-?HAZ13N{GfkoTa&!IB3Xrpmw=H|eBsrgo*t^(zfLoU7p5 zCu{i2+sn8zUBkj!3#BN+`SAiSPmSR7vj_0b!66ii1T&+Q%~4Loo$X${5#?~?VX!6J6%HiK(zuZy}`^?^nP-G%+2{tx1P5G>x_ zl;_>)l?IRRtHHG16?~9=iOMfA=(1k-><0#3c`!i-X63OytPaBLwl}sOb^sn09Pq0K z@K35G;jKupi3{@Wo{w+*KmiKAiM9%9|Q)HC^CNdld zIxxeN;ENenhX#mAU0Agk@L(?65`hXLSz$nk$FOhZA_<1QX^e-kKO`H}4)%kuJo7_Y zS$D#o60kzS2gy(+5T`(9$OhV}KfWn{Pl8Sx3OSzrU`C4y!Vq}jcu=kT>`ERZ*`cb3 z&rNOUi?a!U*amo@+z%y>er1e@6!0LxA7g$5KpEUDIJ{r>vO;G{z!7?^WL$^55ueL^ zRhY0(>7;pj7|@$by&MQYyl6+DJUfFn;T*yD!~1f5M=7Jx0z}H_;}PJ!5rDwMR1xB- zLP;Uhtxtj$8`Dh^=;q&qZA6fd?51_#|Ck59UIS+7x3f+DAKRAD#v|(VI{`sX6@g14 zt;9NT0ys#(H06*2`EOAErp!{ zRtvcDp*U!9oG`jCfd?`kvcLz*c(_~wj;jwv%nVHRQ4uDQ21i~Mpl?fYV?Bt>jfUzd zE5-J}_D%)_88G}XTUNZF^432#+Pui(?9i#Z0S_z(v73H?2Uao1`jL#oaK;DyKg~Ow zSLOkw_r^3nZtYU06eS4|P#~}{O+TMjBnHyA+L8D;kbTFwKmhO5qJgiT_oa6U=fpF- zZxMJm=gp+)oj_2W$5{eW*dGj2u)k4i>Hn+(zo-J=)x58gw4oh>q=I)VgMs~l^C9m~ zFN+Vd8}p%fO6Zu*pqzpDY|d=!Ov$Ch;r(`mt8EDIKyQnM*yC-Ksgak%_RUJ;P0iED z=ETs~h!4w`qq=71EAmO!;V<$IKT`Gy`>_Q7IloZOkASwxfRSx0YfbO{U>fvNcY)MW znBXNvN!3}nl9AVF;Dfze{kO<3b!oV}0X&4kbYVY;se2o>Dg)JZtnh24hFYa9S^Hu> zJyyWzSWzS~hlg{>7wNx{O-zZci@o$XVTlyUTFXl>k^LZCfr#eElwHmGWSf*1z;<2T z`i?OC*ro|wDyXEd!kZwg+>O=KP7F!`j+EWNp9wguS6U(uM-PX#%lP&rllseQDRn+! zvcFcjIkL9eEwWkKsL;#fMGY&0+d8_dn#$9iQMaoj{P?+u`< zttJkSjNk{SkK;$DPvS?XPvMx<^A9kY<+C~YetmQ{ATR!H2hr*~Z9&#e% zb?zTn0OTWwH-#Wg<0lPukODcfD!?FrG zWZK@Z!GH$>4g?=$eQh2NLDGYaC6S+-WL{HwCENGy_S(}qG@}UXktfJ4qm73y!Z!eJ zH-Kl2Iu_y+Sp6`HEInbji}3b(zb7@&69nv>qk;7M3OEpWI1gY_y%0OR9JZ>rofdPO z&g=Vx-;Fo6?;d-=0uOlFz%QBe0ki!UYF=t-rUtB1H&GXh%yQ!wb#$2(%PcQ$RJlPO z%B!KD8Cj-EVGEAMN*lN5>-g2vI{xLIIOP0w2SsiUJpf_XeCdtQP7kyPf48J1s{>iE%0|>@eu~z+dOtAp zk7J$$!19qWAgD`h8{l;P?m=+}yW|eQ1LYN%Y5I?q@z4=?)A8k84*0jqzz>Q5eTK#xD^54xH2hMC@^(KDjF z3=`wBlwc|qfO64GWyog>BhCR!_DWCNG$zo`K{dBq^nf56jGi#m#3xIN;B0oo6Q-b4 z{$xA|f|uQ-mbi8jsU>AR{O^=nGT=c`5eD~<6`cgy&y!_Pbdu3ci6P1=G4OAheimru zzuB(E!=T~il3;Rp3?yxV{E_Ujd%hyq|=aScf2=wk3Hdl+nq1@KYEL1qShf zV|j-ITz9Ihk_0Tm%=XCF0iXGS8b_1q@QBi(46N7vy+yxYf*C=;N+v_qX0i*16cXv@ z+L6r|n88^+rW^2ZGVjg4+pigTNUt3&PA8z7{*i%F&U>8y8)De%r5l9_sf-^oBKdBu zy>GV;=nHsA_xhkwF^m5~-uwBS$~&A=Umvnv82BehXTfFl*K<2SEvbnD$Dx-@hW`fqkI? z%=ZX9Ft*QWhZ2MDXFT9S(`e3z^l>2Q!uc;`cWf|zfcaoPyd47%;t0w_}l7 zs#aTAUuy^hVtu6v_7Ad42t<~L3m6$MV&Y&?fQV8lClWjs)bElI|MK&sN-v4~A|-B! zA+gTY1A_N26f%-IzTHOvKJ}4HOzR8&J@NrK4|46m%aAolUx}SS2i}jt{#q?YqZOm+ zG6Ig)8Z=|}3zz~Mn~}JiDUTa*c2`uJBlM?Bf@qNZw+}4 zLmT|h@_bPiYxz;k4jsb_0Uo^6k^v90kIPUhOWD~bsi&Pn>N$|sWM4?$W&lP=JL5Sj zQD(rhy{Ddm2fd#F3!Eo1Dy5_h2V)jX8JOcmsie@WL75JeQL=u`A7!rAAs_)-OhU@m zCAvqI^LmQd4%}Fl;P8;cDuBC@!+n>FI2ss8_jLEZ16qBb&{Hwq_=EP{V-Hy10Z$wF{mDej08P_ps_~19 z3NxtV9*YaX@H=V9T(E@elWu`I+vLwwVthZ_!e2j)@w59euFpEOYLP6U&knWl*%9E+ z&*X4nGK&(apP8%}FQqf|l7|c?sevE7&l8ggIW;n*fc%XKQ2$^7`1Emh`(%O-7R2F1 z`a2IiSoUI~NgOJl_W6?b@bFjNFL!#Boqz{hP+P1;VkJ_?UK3NYQ`zS=^Phn>p2J`} z84%2Rw9TRQ<6x=0Q}JH=-^1XT2edRRE6G+QMc!xq(QKE2R>`bVxfupp%>yGbI}Czm zZ%ljW5qS8YY7xF`1*Wz^2GJ*Z;4emj9~ZrR1IJ|scWyY~pT@vncL5&$OEs6KmL%H} zGf5fvqlPvEF8663O}2r`DoKN|aa)7n44&{_2O=jjN@O`)&Ox-hndK=)nQW69Xkhir zriAgp$Y-?@?4UvBwRVKtZ7(G;LydbEN$_XOPq!7G2;>LG6I|sn;$+ejVfH5jH7pmU zmWsd^$3qA_knup^ z;dV7bUQKK1<8Xv}^(Ek3+2K8A%~RTl+1?DcGbk5Gl9|_QjZ!HsFB@~e9^qOAcu^34Gr!gn76ZXpwrb;H0O=RtZPg-l4!f8zhZHqQ)G3tXA`e5$+c1U&p&Js!TM z$3xgI)z5>V0>8)_xkQ=0ybrijYH6J9b|cw78G0lDsu}*A3m%f;K=WjJdkE+qiNszv zFCk$Xu?;fbp7T;h9~C|LKrbOmEz!K3e>WCs$Z*h@TZd%>n+X992Klcwfxn`^LmhbB zBF$^K6Jh6nRwG@DJ4Tv}af zV0ERA^_4mrjaY*F#o-*r4wNu9UcktRH=kx;n|@=-Msn9d{x0%M%7EZJPx&V?Ce~oC zH=*wA=mI=&UDqIU+DVdNQRK5Ukzbh$OkNr(`vjhDfng7>P)5m1p^EGy&7&!K=pvCq z<(x_{hom*^Qh?cl*~vhneiE%#3zhX2mKW*QQOEL94Yg_;1e3D49EL~f)ltOoSPlyd zkMY%){||26`Uca}4^fC)c=yO*92pxG|H`ScQM`NP5Y8T)#HopKjF(FrrrsTsp?}E) zSK=s#)xtPt%SW+TI*7Hx2%1?BJY*27q>z`#GUjGdCBdeTYc%-;zyo6u_8t=8fwwmB zA$ZL_0S^W`WPmmq4*HrrxEGiP@?QiU$Z!zwK@Fujj95LSVmgV;lC?u+sR}zs5)}eA z-p$jz!oP2kg7Y9ovj)WhQy(4uAI@;QVBSi0LpX zjn0mhy{$mIWW8)x2``I?zXcw&cGJL%{W|^oG@aall^}@d>7xHXdvE?@*O}(`eb3!% z$uPhn-Ho7ya_K?K#Y)ZNZ*t<>x2mi#gvs=LXca=m%&d>yhgWN^N=Y zoy!0~p!wV;@Zj$=>fyN6$6hZy+EvbesBi?bJ$>T?_>eL{Q$r=#NC0Mm%ujSjJrY+f z-1oZi-Tb@11ayU0KH0L(ARZ6xPEwzaK!hq%OpkC>1q5N zYSN?iq~A^8g&ET)L%g#=|iL9%kzxpUUF99AF!)lR>}jk(<%yQazp`qr6?}@wW6>tMo4!-~bE66RT}Q#q$SlK-VLn48ZV? zc{wDu17_ODxxu_3m_9g2crR$(*_=I9QHTYbc^Vz0T8!J zEgfgz!JE6)dw^z@yo!&_)^?o%XnN`d0+GQ09Kr*sm4d^ZA4x%Z{OoqXLuD?#S?J}y z0}tM?kW(VCj@%#F{RI6V18~682X?iCZ-M(5fL5eo8h{x|C1W@M!i|!g5W#i={o&(~ z2imL>@U3&N2=fwh(`byVVHOzR;64s{kUyKoZm|F&xDVKVX_)52*Z4lbQz3zG^xd6g zmMnf(BxXf0901>u7(8DujeQ6pL$kHSXC^!^FR^USldV0W~vtQPM{-o_-D@PIG_>RJMW+^82xtXT#`s01NT zxb9MIIh1H^v{sn>^3q&-uRDDbID`KjK2tCq(q6{qFB`TK104o!;=y?Mh&gkNqWj(UAs0ZffwAgN|-Dunr%1HH+fQLy@H$R6B10EjH&CVHZwH7q0 zHPtL8s%v7b7)u~?;4k7ax6s`)woqPgRUE_z53Aq6qMRu-^{!_2@d36PxZv|3ehd@T zqXOM_W3jBCewiaF(Myhn??Emy15{6)8rNfC#|GxDHR<=?m;UGj z>H8l_AFN8nP&(Hx_2TJLFFjJ~*B+OiSn@rfXL(FXa^zW7`>mv0erBg0z2EBucs~u| zZwD^?>8B=jGm1)om}Nawi&X!?=hAd+_0M*8LKHn`O;q>tg+Z`Ss$*vdv?$ANz`@M% zX0Ejpg>kp@XMcYi;DPJLzMjm53V1k31N@AS-EUL*tcpc-Thar0 z0)#F(gD zj0fThCUdUjp7y(?^v4c7toq{T3zGg;Aw52kJ{gf^D*X(fAmmLvyRwol$i@X0PGn}F z*04mNsV;q~QR=z6bb&0-nkzYYpfLg~5%*&^fXM3Ak^oB~3`3DtxMaPzt)ugI$HVn0q_v}y9mCAj|2VO z`ZdC~Zn#Y5|7I`s2gU*$6Bt8aK+I;I9k+pUm#&ous%*a;S@ppTL;4^*Fh)rW-@peX z>1Y;h2V{LrU_51vLB6ezRFk)(U_2m!^rJ254_8x${sT>d?$Q_Lr6=2^9&D6?{a|Lf z8H<8)5`>|-0jgn~%(Y(cNpJNET^V91O<=P~TK&-hLRyQgZZeUPEo(~`@Q#?5zPOYC zj|bc7ZvFsWkeOd)@2x+CP{s|bhcs!6TKgD=}F@QOF{j>LY*mXw9Oi8WH zJDb`3W!(cQNu0=%5b#1`I0SSct2ySt&=imMK^5-?Jn-JYf4<+B{^!j?KO7VmL??0H zJbmh=Ng6$k)E0gUHR(*fw0VNp!K(-l17q3v*D7cfDSj9 z4>1nMI6Ab}sB|WH+IjR5WBoX|#tj0Ph(ZQ9;S9e@<0%4vHR&t0g98s0h8JzHme!eb z?bOz6&B^>a12C8@zE58H6kp9}*?ueU0~Wl`Fczyr_b6cPOBdgdoalb1w`zUpb16ag z0rE>*1h~nh?`vbDuioa^=34w8=9gLqJRrf8{2v;s*J_sCU48c9wQ``mkjY&8GJdm)1WN9$Wye^C}F)AI{NA7K6@`l3+ zJ`M?Rs5EN;2oCf>yB|E2d`LZxON}OD4Z35ktqts*Ag#2yF*2zv8egl^Fj=hmrH%m) zt#(80c0t8)u;T4=YE zpUJLIk{aK*sB2K`Xsvx(*A^bpTI;lWt$9uA4K->LHwLFYY@1&jv%x(Z^06+~by+we z^`)6OK;Gte+C$E^_iEe253G6Wg(d(GHDscEkA;jEdnac%B*4MH4CLC~<|blC*51s& z!I>Sg7;vWxhP0TjgAsa%&4g~)S7FvT*9+;YO0$XkNo}l4lbSwlJ*d@JrT%w|;#jGu z-r;kfoPLaIV8^kpEKB?k&q!kL{cFy6IPV722Vy$Jv+j2y%O{>=R8M!kC@iJGaU{+P9Ly89rSSC*S>&<9WES+DG_wA zci@`>WJWC0*Rq_G+z5ScMBS?~>!5X(A7Ay|&w>mhpf-5Z(v;KgNVP7*QC~&YI`mtNw7< zL1D%NBjjjo<=}EOj0cR51Y8L6)8_$dc>a0U!XHi&@X$4hpCnUBpZH{$m;v}Z5FCHR zFpkjiNd5?t`7?{Y^E&6@QD+=?&;eE@E++% zUtCB&4o}P_6X^@>#D3tu0d(Y57lFJ0t2u^uj`jeON-!MW>ZUKA>q<|$;ebQfBFv77 z1Xv$zmL?^IoYIqcIW+Ns zRZ^|qA9%G$iQ%8}c^D3`EAZ&4OAj}sW&G@X{+aCyF{M~g)!Qb`g0jG9cw>-22mFmN zH%9^urV}bfhFRqZjbHq9!8}+R!z1Ry$BRFVvZx{eUhCR%OH9R1O>UIalG;B0$7U({8rjr;Dr&?;yHBA1<=AuY4I?DOg zu9Yrm-Ve@x2&P@LQL}eKzfaOj>0PiUPUAw7Ev?8XKFsnC6M&T7Hj!QG048M@NhR}D zOOi@}7s)g_c{$9k)ek$ZSLa1?0ReJrM-z27hc2nq)6JE>wl;@WHh`X1yQwxThXuYj z)b6y5`B2a<>qs5dw7IdWEAPLnx8MAUe)`Iv>BcATtD%XWd+@CO`sbe2S1z8{W2cvO zYOYNhVtT3_HwsDbXjnAVYbJv@7C*juU6BQ?uu3# z4fWr;sNt`iupI8VE1q0n_Zrv@c)(2hc}ZWF^ed8{BZt7J<3rWwfji8BPdHSuj?GE; z?c*M@;D zDN~Laz~(Mr59RVEk+u@`ln4E)y7Sr6l4CNh&uo2Ffe?9p=RfZ_0PG;|6hYj4fnz^= zWY(^eF(vZkl{jY>T!>kE3gnmt7UGY)Fdp)WzPe9!qgxjOw=DEn0K{TrwlZcGG`C#e zp8r;jRx6V)03&leg5Jlf0q;C;xmO5@myh1j( z`#4N#%6k9@FoEll;e4Sky-+XpY|S;akWYCOm?yY0E}v**v(E*5lgUEwq)q;U~I761lD zlu6uq@GUptHP!=}#*;Lz(vArRt_-DX!_+X(8Q_q-9KypOs*L7m8O;-E4Sqi|GQ9*k z@P)+C&2bVS1{j*H<~H64_&A_Z-*wS6LsvzHsIg;0E!|v&~W$+tL%QQlCR!s_B{S&h)6V zx;;J<((?px0Ua*GaOf8%uk^vN&~=zNfI-|h5R#bKVgYG`5(rVIH5eJVv|%bS29R(E z4xKB0Pe9fTc)f#!R8ue>8qy2xQolT3nm@oT9uLP9c$i)9h5Qn0frwdIfX)r5VLlk+ zCnW+~zYiuPYdNa7-%G#)0n{9L2*BW#f%Lmug~{>ZVL-tB3ofnnV7)YXBie~s>ST@D z&d-2!jKhC6D$G3k@+8SB!2|+yn0+pq1#=K!###4mfLX!2dK%ChpAPqN2$GA(&9*bR zvvogzv%ZOs1E%q#B=huBK*1rBN87$eJI#mq8rghUNau@E&m;3x2atD(r=m=;|JXu= zERZ)vnk%3KApAR%LO*3b1n4LW!2ki2APAYd)cI4wN9|7;(Xt+^;BhZsx3WdnCw0_05u zhAY6sm;iVryX`S&9coI;EF02X3IH)tAL%9hA6Ch>?`msnpdtPbjhe~%EG#DgVqpns zpPHJ@Mhg6!FjD#)dBTg+8It@Gb&C8F>wbdmk%7J~zf{Rp`JO%Yc)^5B``yyU4SRP6 z%ulq1M3c>*g+{7bo3%B_5i%UAeYZCRlZYCPP2#G%Inw&tKr7dJ=DorHhwkIho^NSk zv7@>9rkZn2W24j?cu%Gz#nirP8uYrldGngyedksE=m&qO%a>l&>go+$JhiA_|Kf}K z)>Dt`xrZLmgA4O%ZMEAAvpOGZP-|+deO9ZTvszg=r>*v~O3e1mOgaHV20G-4h6Mk^ z3&X&N)G}h9U3n!q7zBVf#r*Jgly#*_dTA$Bi#%3gz{AW2-dGOVbKU|vWSugPF9iF} z5)xff34NI{h(NKO0}!N6#xL3><2u9IA^Rl?bX`JKEYWI(E>9+Ur7ZNOhWenjpidrN z)M`-_x3!DAU)K01djHLfa(n}6NoOAsDcH7z8KJ9@!%z;lh{*`^Z z65h9ud&q(x^0Z_1k|Thz(wE*^mHy;o>0exyUinno+Dw^kPo0&%@o=fXaZ&p61JVN> zsZ&pTJb;HPZsF!f@rxWhh=UsH^SZ2vMvDXdPMp0IXW#8sN2Gc_F9RC&jbdsmCX z$a2^*2$sF+JQ|$cXX>;(DwmhVGu5hJ`AIS1=fAJ67st#jI?{?I*7KgB5t$Wn>@ESl zYB4i&?YMu?Jk3-tvOBXZ)8pRmk6Zbu=EE``^5zq-ll7wo+A@#~?Nfq{mg(!8H2zN; zG3kXCawB8_ZC`OGy6&+WoOUQoj8_J(gdCL*I90IGGe0fMi|j0dikRnF#&^olAx2olLHUo@j!6oZAt%fBK-*&ox^0t2_`53q?S!T!%D2XSGnMwMi9C={mGpeEhRHKjNW~Ypc#t0+B-!!TT z(5AISsw?08dz+z+T2?3VJD5{s>X8i}vG7cHpHnbu#>e4(vZ(QL=u7YQrH==N8A@-C zipo2sS`S6%t0iFJbMw+O_(v=xmctXsDgijSar7)bJ70nX(T8WJ?AP&b35LT~@^OHD zajh?HQ4hhmm>B>d7+_TWNK<;IT^iuK2DxEz?pvwhgj=V9~o85btyXLG?wCa?7Iq%esig7LR_3Avv*uj}Ea^aB17 zEt#Yfo(?eWkoGgf>K)dhd4Hf>!MFfq|JXrrfN)q2lnco-B%Uh9#SUu#rjiGp>4Cfx zrqNH-O7oNe{9x|QnGHeGq4{kp?wgn%@0QYg?r*WexDp21!T71zI^kF3npIKBJYZ;- z#mQ6zk-Qj~!rz3+maGFlOzLjF!g|R(9u6V3lFef7PaA6klfDAj|gG)L$*V3;_V{2NRZOl( zT-l+|WW9D9^zhCVo`VKn`o z_0&?zzGLFaCzo45hFHw+QAxL)m&*`DKxBs+y9ME|*b>vbh`4^fFr7Y^<=I{+e0qr4 zb;vCXf+%M;`%gVzwou#k-0WFxV9Q3gTNdXP(2!|sX7|`}F`q9McM10G#&nojj~}ac zoEPS}^~<9I9xU_U+k|cQa?NLB3?&2VkXqU3r9KM#fej*Nlcock1uCpvAKN!MU9h~* z#JEKrSisd6{D6-kH`7JG9k~@UKhdd1>%EzzsMuUYJCD2E^?KMZszTW@S)$B>=F#B$c{Y9K*DEOKh@kG0WhzFh+|CL0|PVqF4^Gy zG%gmkkV6Rhx@{@8s9Te3i2#5vEh5HEAQjL7py8cfp*MOd(;rp=9uI?Yu`MCv&5~=) z;nM)q0mco|N{iCx=cT6?q(|JxA(wNiq%6HoEAZ7NYLL|-)`-j#0LV{ZH~>1pa_A>n zB>&I75ZQ#d;Yik34Fk` z9_@OVcs2;oUkRGpK%99qRE&nqJURv^)3Nf0j%@B2$0&S&4lZFarTfW^EHa$F&((f@ zfQP(mQJogVbuTDedge^Xfwa+`VL~CwWE!d8v zP)O`W86shyA(poA5v&3{4DgEskeeiPar5+<4e)z2V6%=vIi4Ypx1_IN^qv`Y(1KKmwQ>9bI<{%#pmnHjncWI zv^p^Bk?>gYX9_P1fEU0Hz!sYiCkco_S_&Y<(s84}Q=pr(6>M;JWN*qiC1dmiI9E|l zd_oSk12^Ix#)wFLU^n1_KN~5KfWBqA?=f&kVAO#J)|LT0#T;aTTa$|MtoR6S`}YW_ z#u|3Veag(sv21;p(X@T1k7rYRx0!c(6zjQsjTrJvcnXj}0`Rc0in;MXeKR*s{tx&* zES+j=`BYnT3r#iKb@N`B)|@&*21GolnE{h+pG1jk8XMry;rw z_y7)@-LV1n6VtS***Y>2)ppLnKkQULl>lcz62Qkq!`@gM8$+$!=xXiez}OD`{=~)) zd>iH$+nQShaA+C;fvghpRslJbGZS55=+?ygz{elHryu^{kM!EBFYD5KZ`-{0%g;Td zm!5oFUpfDf&YxOL9uGE<<^xt$$@aLt)}n4MJfhY4b6TG}twFQnU_+kFuru%wfI;qo z5@SNXj!WR(4xjMVbg65Y6E+?4eqc6a>jWEaV(lLNaAwS$MeL$K#(CDBSX*UA=KM^1 z2>%-MYw{&`?$HuMoq1Osfbl?cZ~|(tKpD2wN60Fv)LUxk&9cyy@rtfL`J^^ZjH3_R z15eJolNy+sx5~1_*WqbN-<0$pOZwbl&7@}wb>NBYz$e^EHQf7i@7u>cV8IV~_`QEI zyObcGU@mV+e|S~;gDcV>yenPrN{^h9zWku{s~4rOJt#f3oFtYidUt>XGr>!{ZdB49 z3t2mCrwMki^Zfc#@50sz*>84vQPWF^w1dcRH+|an|8@f&c74G!Wy}Yv*~P(b*T|`s zJ0)OL?=aVhnpt?d%Akq48>6&-7fw zaF%T66nJ34OSZ~f2Re2#m1A+6?OX1XH@scU$abzgFnpoSCI-s5WjhZNRXp_WE#PJu z-$^bYDA9MF{cup=A$uFVYx?51JJNsWzylc;1Ud+=yh4WRSb7c9=&?*s-hv6U{yRQ4 z6FfmW=8;;GkAUHTj{{k)5Bny8>yvaD!L8&*k%Bf!QmHU0C1f=4ad?kFEYIix7Sry| z=K>Gx5MUyM7J!4;;)mlTd%@Q_yO;g2AHp>^ZbIQmQzf#?Co)7qGbk{7&xM-Kccia1 zq;D0aeo5$c7pk=j)sW?KIh#C_^1kX2nGU>VpN5PDna~*{%78gz0HnSTC|P;JWOaXE zG9YF|oo77T0r&P3LF_1P?Y-6Bo6_2&MO%B+-qhYft%_Q;ckQA!MG>{P#@-aEomjPb za^KJM|39BkUgkw!{C+3roa0d-=KE(2OcKwdwS!dx5b;I%AEJ8v)8B+!wxtwX zcACZ10!Y*>5L5Hp~pTIqDt z!%r@QNQ^-j!Y6o1f4WsJfUip9iC+KHX({tu`Y-Uupf)UTC+K!%5(wtF>}m>4fB#94 zeXCz_U|5D3AuEw1ce`y=vF4g~&90DO1?{Jw2cuubKOe7m5N!e0pfAg3t@66_u)cEH zJ80r1bPZfKaO|w3xU9qR5{(m=4V~(2#9{|AyAA21C1+JfqD*x$UaOUXKKk6bDEO zc166cOq<7%lRLX6C%gm+5%rTBQ^3=B?5Ic#NpAopi|4OqSNccGhmIg|)|j^@HE-7K zUsGpTLXW}AYFEUYONr5q?b>;fshxl#*ON@2+$w&Qm(o_6eW>`m@4JYln!VvvjkfEd zH@r^e>GWo^6ytom6;p9i(sQ~jfV59!bP-QQ-X}IodP|pi2k-uzMULASH5I(>$jl(| zLVikZ5=L9B%o!Z!@#bk;agrSE z+}W;e#W}?U)n{q$@aBNW@h4l<9HO-o)a7mQ8a%S>yEUrU%_BUrZ4>(k{_|mf8$kKB zc8@-v1OL;1)~U#v#i(#X4DYN z%j@ZLwH%@TjcD(yY73CxhuiE4v|~F7VeVsXwt93(|AubVb>6kLtZT>_SXYD7VQ%*= zgDO>4>`|SV$mx<7Kg;OU2=FW%S`>0cK+gsB%;60U*ZV2DV)B`b*A zM%r!4_QIfj?QqU#eg7{Z1~`b!%=a=7tGJX0bgth4NV~&xi6KOIOEReSFpqbOlh2`G zarP=Pg1oW2__Q+!rtpjD!9iMA43Lt1l9D;R_0vvMZri7-g`bJsUnR#$yyG9^JjK~M zo1A8U_G4Zwj1d1vOd#pV+AkjR4rlQZ)`s(y*t16gv#JhTDT-ogq>YB(Ifh`TA@Z!E zKg6giYREXL*<#CsfsjX&u(NkxX*L?iUMhVW67ftlZsdKJ3Os&^FYu5ptC6amqr zW31iV-AOWf2j4N4QSl2|os2yQ-@wy60f&2ai=3g(bB$_m;HJ7TNOXZn#*z|Jf3VAS zbf3p2K@ZlaF+&Mk%4xa(`h(z8ij-ta7NI=R&^{eOB4snjR~e0n)aRDxSW`XWqjmNIhuq??>oi^XUr??g9zGDLvGs|7 zWG3@@+cpfDffgUzeXEjw@n-L1HlsxX4wJ&(yQhb`YkixApg}2+3>??Flre6|bD85# zE;iGylOH?ER69{H2WERMdkE~G2xys}oqZKCcK;c!M6_WdmW-<03aSaAc`G}aU@212 z;{@6js#o`;^h;z|mwq4xL-?6kNAV6q>)2$Y!~9t?f5@-PDILX`_-Ac}RqYhrenx@- z^+HLjn2Q21-LlNJ9_8~)9v!(d>P;1V13%LKmmSk_=hn8tg>M&wDCJ15t~v3%O(-UT zX=_fKtfKaCLKwpnWQ(q{&6rR~xUw}Q$>G&;D1DwbB|QWv^Fn0{#fX2Kt5bZhB41~p zpWS%l_ZB0&>#mJb^4tLFoefTX9e`>?rDFzCvpR+}IYU+AlZfDf(%V1(QY_XtRY_#@ zk1?u9`J&Sx{}un|wi{)D`25F9Mk1{chpMsoFtNdL^MOl0i?B20B3oSrjWSCGk*1g{ zud+hrqN94n)vrGG*}ftvwpr@fzp9T!A7$Oc2&><=$wxEw&F?47fMXaahFp7*iVWBZ zWX>@i1hJ&|-{*?}e+1|=s}N(Ivu~S&X&ukoqzGM3-7}2sv#ZFe$Y32)H_)ZmLv#m5 zF17Rqf6v;o+d>Y>tE)_=;+wLK@|<@ya_dw95_8`jhJv411QLB}i>j5=Z2aV5`&F%| zLM>3OW89&7Lbg1_$@;=k#@8b5a@iijf;gY(DaQ z?iZ@R>4Zx{F1}bcjZlab8;N~8zxp__LgTKH^K9I`AYs6zy2?!Vf@Y0#T{kaC+i^W_ z2I@@%rpx$j{^hKN*6YV$$c1(*({%Lz+yZF$?BE|va;!SUqQ?F^zW=v;uKt7tuZoH_ ziO<8otD~yaQEQqU@*(O0f4*p%?K;~Tn~SpN{^;9EbTB87(*ps^kn4{GT!<=HbG5%=<)LNeQ2lF005 z!q|(Z$w9yT$Wb8iLgfALd{j0(?j1~YMKhe6%=1#Tn_}eJtHT$LC!}E5NbbIU^>@)> zgMM=v}#}m8XD9By0|Lr(~1I!D8yA_rao*czB+Hdyc4AXAt)< zv92W|4cpSChY-oS?160iX7E3|<}D2S3V+r%oCA=gZRCg}CXaBp%GL5csW?U@Tlt@d zj*356Gu~Mw0%CM9F@;+ZMlnOS*Ue8q4sAbE9e5x3%awZF^82Ko%WnIa?iyEd&9~`= z*hZjm|A?bz#y=9xj7_of1G|HvTLvDhHDPnfCvZyzr0^X)h?KwzJ4tq)skmd9B%(WD1V_=Ys z+fB`~hLJbxl;%O62o}1`phv*Z6Ju%#EhVSb*!_mOCom!_dKtWb1VE3YmxiknppA;; zv!s<()z#j&H83^sWwCuTH1y(CDoT@wFZfFaoL^;pqkR<237_9{Dx0|o@>?-)D5q+~pJszQGFOhwr4@juCl zer7zpkKlqW>x99iABpQr$b?b_Vqq%^#WX6M{&huRr2!; zwKDeKK&-d+r(X0wDJ+=Xfr&&?M*99xlG|L57#b|~-j6vAbbde+erT+P);u#u3T5%} z+Z6xg_p;pUVa9^|@Ta2CkvWsw@kNa%3z`XJo(Y-1ndkmk^zkBF+s7~{M-r}bLpQK- z4G!K$fnA@)$lA>#@7_bA6U40H(1WEl;DxVeL3~r8*ere?WDJ_+JCo^Tzw4zk0wuMR zV(r0Hc2*hc=I|IhzWrB`kT^R8=p4L?vxw5mA{*I(cGWQ z-fN~1b>J;uHPJ8ojrj0dZ%J4LK$oGT+n}+%{KRi?b#Sn`mqhOuG3d>0PS$>s-E%Oe)eAQWnom;MIiOVI4Z|a^59J>M`%~OC@DOG zZKk!XXD#VWbSo}5F;Im~;wQ;4eXYag#dpb+Qrf*mqv;v$7pxk0QiSO2#0vR6%8^#v51 ztq!s`hTZ47!9qD#ziu$}cFITAp==P?)&u;(CF1d;=prFZJRn-&%YBPsLNt$`I{ZEx zn}=|hAWVVvQ-3|tl%rB!yc@Q*0h+vraR+2^%=VLZP|Vv6-1zR4$ZknfI!1vMe~6fp z*ezbq_L*TW>ISv0sDk^oL%++HkTC*>s#_Z@(FyYrFP*XXZHM7bpl?9C6S%Rh&lQ~B z^()D_PVFe!#$rYPQ=zY;PFKD8Ca6Y@(x_IyI=Mm)JQ;!*?Nb#%7-K1F*zMDI~NlXx>?JC{LU2{`B4Ws<-(S zJndrg(E+3&e#Yp`4-`0#^~fm2t6ZnfoVxp!frA1_WcZ5&^M#S1~K;0X|#- zKHUS^2g=Rx`$JfqN>)jpi(VAA1Sz)M6lXP0;Q^VI+(lysr{RiU3nRZM=NYaXiPG6E zVT$J-<{-6o1{7hd%J}l7Q9$K`td}D*HNE&I3YYtbxkiEfBTEvUbU@6d>~9#Sm%uYl z=bsuW&gzD1)^qtz>io^>cPBxZjqE`@B7?y;P*>w#C9Q8o6>wJdqAz&rT)2XW@S2SF zGl23iB!?1WO+oI?TJ+<&-Gm%aqPM1;#VpL914hsh7acaj9W248xtier=P3$1p@!Vf z?%p5Uuq*9MQ|~%w^`lFe3(=7Y85op&l6L0= z53Qp6YN~6&ow)XQ@r{gypD;F>)HyF^`VBPvoxp&HW=74HMW6uC-{XzErjyhn78235 z!hMdQ6QF+|Y~u{R@QbN(auPQ@Xj3n)JJ&aQSK=?K5U1blyz9QN=}xn5=@={plFJy~ zdR@KZlaY`0vtEdlk-ZLlx=Rd=4#P~qL{LED`c$5iV@O5Gc7uy>VV=2thTZcqqQn*o zalMT0N275_phY&Ia|)Y-T~I>7ELQ57W7cCn;I@#GN~Gx4bKh*N(NNp3tFx+3(0p-l zn}0{m`FWTizn}Ru{%F+IcCVNH<|fp?FDh3 zE)7&V+(_Ho?3|ez>(Alil_`Kom7TpVDw;7;3Z9v+6rXl!EKxQ-Jue-9>@CZ>t7+&s z^k$lDux{n68==gLHSfIuD-nIW+KSnN%6{l?Woj`1^&U4zZ2=^u9s8=79-S*k!8jJ=$t8uRB$%$=;m0o{U;9~2I!e_p{@sD? z7c~`=#-1f|JLioj^Hz~b6*~WsbW9u>q0wj`KQ%;tNfo3-Ie9Bv89!&yYi{w2c|%JPNV=M&nC_APmM|Rs7xrhwkh-JNnuIA0M!~8 zhu)Sux;`oLinLo0mV5lcJz-lFJ5Q=am5fYhHo2Ir00(o+*ybua$IPg2!~QZ#Hz`?I zo{JD9Hi&%jEE{zxV50Ou!$sWaPsf=}+{x?|{#ukwdpUvM;OU^`YxW}zVdZaJ(CB=) zUyPt@ORn3kT=5s?F&QB>{1?g(=;8@~Hvh7TIgQ{7uHb4eS(U`ts*o)eytZuGcL+re zsDi0g|EenoV|a)?>Y?1`(UC29@J;B?Rc?iG&}()Tq+tS#a2mL7tqK7uQi6WT2qgb= z7ri~OqHP;V@U0yIH^BFQ3B8H7HVar^-jB0j3qa??2uz=A<3S=rEc?giq9VnBe5UQ4 zS;-xI0{SkDHee+$vn=Dpr$E|8M2&cg2VXFNQ9#bnv$~#ur9pZaYx1=qZ5v`c@9epF zrZG$KiwE)8qD)_`b+kg|bkWY=mSPU068Z?2-<;>r{hhygkGxpgNDGCmQxaVQ+zbp9 zE=&~?EDI|IWcwr8JQ8qAl(S3J3BR?$bgeyA0wgFfr~mX)7q&5Qjqe@|JN~L{9@-`> z+%jPHOGzl<6v0rV%_P80YG;z~e7pJVT)U#o$Y$7npc_#l@`D&gc^zEI=1mKY5q&ut zq4MO5w85tA)^Fg)*5Nk-A=h_xyX7F6S!t~&FCrQsZ_F3Af57OI)d3`5Fb=h#}IM zV6=kg+{j3v(dLq9i&J;Nvp_!?15;b8xDN7^J+J1s{ohCCOdsVyXxXi^oVAejR^3^g zK_RU#yL=(*Om0#e&uF)aWg4^EeG?nyttaZIO1ss(E;Qn!ORghczn5QssExWsOakyS zd@kijdBwc3{3%~D>&cVa$I-$Hb!Ie(D0(I}Ot41aGqQ9{OpZjAyJ-{>kuUf;iV9@!o#8Q8 zN>=NP8ey4f98S%+L8|A{)$IL>zi9dyq7{D><+vI4Tj#q^+Sv&L=g$5Zcvsw1TzTFc zFRL^oQa+>qY|n_(QEFsS7hz>nVW+-p+4Dq$rV>p;ki7Q!d?%*2H&gK^3|U*&SN+C2 zVBhhdcr_EzJ{|EMZ+u)^!1-q}<2dT+rL5ZdT2`*~sYMR-y4Yj2(mCs^PrcaQQA#_S z)T_I}2`2-KjQ@z9Be9%`tK|E~@qX4fbrVR0^T5WhIQqswa$+GifM9_ z#Q4mn3phV<37zLQkEERHIIe3uF+#zZEdK3P5P0BEy2 z{8Ckb_hrikW)I!IizF$!*knnFz0(zfAqp1?28%I{mZcojH<8%F~Y`xb{ zCVT0|S={vbd5fk*8dnB@YifT&O9S(5jH8p4GE}mCE?BQ564gHCkOK!6Oaa*hM;cGL z%qjK|6geA!OK25Yz=8nd5B>>70dQvd!#WJy*h=g-Pw2IddMv`M8HG@*k5;GAKML~^ zcP7~?$@`{e{wgVX=?&B0{F`#aRYE1{dk9vu4)mW%gqWJ%GjWyalGrH#cs2e#`#p{Qfv> z)ZYB3ua)d1Dk<}%*c$7KftavkHf42(tu#W7Af6D!`fFa~nsv=`Fi{p_VVIvX?C(&^ zI3vY{CRjgjp+Si6fLGt`bV-iCjTanuXQT)H@FVsw%KMK4i8uYtwO7Vy5&kujfsj?A zR^=hIz;F-CcJ@$rqWvc#VhoX7vRg(=^IWP^B`B1bA)2XwA=2!SZ5;^Tpg#Ea+VWT{ zPWza&AaRsoV~rH91i-R9bH%0X){jyBkuLYSPF1Vad;t{Hn?&(}btrh1Z!C0_2-7%G)hu`=kKm zm^3DAnd!wAEXY%@a2pW(a23Di&o*>)?uP(?n#C?^UFMZ0gAf-9*4w-p?RA1W8QHbsdTmDK z_PsXXhoOX-b+kW)#S%h~EnbIB`|2}Nfvj238>q8BX2Hu#)SP3<{i$t5P3xD(6G5*M z!28!EGPU0c$fh0-CJrsW?5Y6ZL;PkdJCXfO|89(_T4vJ>_F>6hZ}^%Tr{MB9a@HZs zX(FUnL!Gv;JBBX}3{|oX&9tAV_dh2epHVN|sp1ohQfukEJcd(Qk;^*aId8Yr4 zyvLfbzD%%!`}98U!xBq;=Emydl_S<_UqMH)Z@+&pvx2Sq0d#=dyQDT_tLmC_@4En< z{YsFFOS}j*8Txz0jG8m4LiFdMSE8c>VO?}zHeQ99WS(R!;B^~t7FQb;YL`v+Z7cqb zu9WgU{Pgsl+-sL$t-e}2;)9|{n~q!f=Jn}z^qI<`O^0FQ3>^jjI^-!uF^d``tt2n` zY`cEC0r$lh<^`Nm_#rfUYdNtT`cg7!h=;f>3&p-(II|}7?Yj2&bonfzcJ^(JWKI0P z`ha-Jc!h5ym~E_lm4X789_Fuar=?4|PAVxY$R_+&L1-(^G8RcDVVBrSw0?YzKWjoc zftqhq@9`8siX}i#zvzh)w(v|piTI05mpOC zmY(6dx2UFg;?Jl5Z3Y|4uUT3LT#xfQ@-DFbB$D^mZkRdXJ*(a#ML~5nCjf}ukRXqO*@K*q-ZO5x z#|P!x*(f(YDkmA1yJPzK$}glJTcH)Zm(@_r>cz__6M?TJixmG1r`tbdbhRgC9+5p} zA{22c1=6`n?4YA*C{-!gpSR*Fjm~s@Q;Ek|l6P%S+$0F+YZ1jci<(*S2kRrY(%)6TQGTiIvOt z@Ur#{-0EhRqX;MIN=;0vQ@j)nuU3FhH}2+2KL5xf)U%m^hxl-)8j(Ok`x}#B`l0BL ziZQ}UKsKu+UgPh6$+$>zQj1MU7OOedd{2fjEW_m%{1Xm}^`C6&d&X68Q!y5(@(Hk8 zAV1yjI6+2YMCdXz^Z^Z-z~CxasWBjPTC^bLX4xxB@~C%m+q;{9kC`eBZyi)wSjQ~1 z#Y*_aio2!~J6|rnK-!mD{k?qo(^2L0K>25AFtW_6LvR!HBv3B6th3Z zDr~qUt<#N=28Y_GJe=UsMN^%~gQ_C^y{g*3t{7v>p_~@3OhE48pNGAbM#f}w(Dj!A zTGy^DY|NypA}B{;#x;@yln4@6f+}>0*e|B*9V51<)?oK#+cTX%cxoeGJaSv>y&puI>vtz5aK-^@fYS83GMMlWM5g9Fx^kbDzX6Rsh4Tz9l1(sijxoh7-$6a$w? zy`Hi(cgu6!MYej{(ui{rs0W`&R)lT71HClFgewIbBHUUlMCvteU0V$H!t(x1@;*#* z(3krSAlGmHc|Z)%Ao>vJ)d@44%tM}=;BoSG%bG0NuU+{7$j!IGyXK`}(*rz`MF<++ z4*}U1hYrHo0OOvdXXbf2KwbOAAZIJ2p;cXJ{N4WN?EcZ(&!-=h6s7`vD+-Ix&9Y{t zpO;%RQfB6JN$BlfT*rSlHbpf%d>8BOyc&}g5J+jb7GGy`SS5ECUGc@@s($SE$#b6Z zU0`g4JstxP{pxV%HtZm{e%^y2+S4{M6N|?>lgyc8QtwK_8a4KwnV!ZZHQP(O_}$6~ zFq5rV1W!53$5)e7o7n9u#7x5iH|tygA3&4m#y%Or7&^#ZM=>UPu(^r}WNxxXBBTZB zeT@2ECiY=BrSL2SmDLtJV;tyH45%~P!z>}_J(?r^4gC_6F6G9 z6i4&0n5l)p;DN~s8h@j{MxA%v6bg?*-=v*C4dJ9ez!&&@fLI0KK83ILQb^@7rSr_hKku! zGNAu*&ThlK9L*MU(&g;cQt2iUMOEs~kvbhVsad z`GAc9g^*bCc1z%$ZZUzWEdneoaz^9Gr&wB1t6xyRoj zjU)l&;3wnu;dr7VErbA4^J;R2?H8&xwXQ}jnF~^f(iuwsbi-%X$%&t&(o}k`s3WQx z#kAjE$iNtYKfheR*ZMW_C$0%Gi~Z!t7YtWYxEmeIgKjB8rMpP@=ih`NHAxTb<~uEqb~QHgW2BV)yR- z_uIJj>cJSB`LuW|SH(h=Q%GI4WT!xa^4p3?53k@rA_;{s+W`{caNAo>$Lk;Lrd-7% zO<7UIyBp1CSN^*c>4dVzKHiSoQBrd?YI6X3u{WOw_IP<6&VR>UA6Ix@ziYy|yZT|H z1`x>cp?@1?u!AohuuQNPTIi##KYWkn|(5 zoUUMIzpKo}Ay&ba?L_$Z&Q_}#hv%G-=6_(di)EpQp;ac~kswIolVccazLBAYU`@pr zR@J`z(2WHp`9*mHdH`ENzcl-A(Q5kQyMqSxpC{jiL)rlllV~`@iE^mmm-~f+$!C|Y z%SV#82~W{L6UH6$XJZ<`Lq{ysAon8+OTow4ktXfg21Dwxue}OK1ZeTl1*TfiKJv^m zp`3=3M$>OVd^R}lsG_B0hL3oE>fpE^j}QcV)Rk25+x>+qZ+vk+QE>vuZyw)yut+z| z#7{QoPbU5k>X9PNH9~xNm==>&mh#4q8a@&~I7IMq7y1#G>H+%dRzCb`|3{|N zHDCpR{)hr?`ORV5I|cY?`iT&}OxHP14dfb|A*INH-Qu%{JvV7!&cH`Z-k^{GTeXgW z8{ZiP4FZL!eE~J9tN2ev)>bX}lUrBP=uxT@6B;_BBdqbtF1xyV*M>~N`LJExr?GHDJ(@VGff4}dHo~!P;R5!jL2Gxx zRtVNPpT^g0A+2hcJ;W(4lTjTH-W&<0{Z2v{yiQL7AVFE2$nj{l(8I$3+St3*xF3LM zZt^8#{o?q6iv`W2Nt@U%PwIgTxeiG2&ln5Yk4WtdjlWWtPcyV0=>uN%(*}X^9Mb~o z-|TsaC-#p-7Wk*7ghf9tNPpAx{zprd5ks^+fp}&*I+>E4AzD1zA>`M9<;dSslW#oz!h}C4 zN(8Dxn)8sX2BA<0Mm8Ro*rDkEU1&UhBT9a*du@^YlV|m$HL>-0O3m`3gkS%n}hjy94kn>?H0d~6<6S-rfc_gcWtXeytx7m7;*6<1S%bXqr?WwcaH68;YFmrl zrtuSDFo>1bJ*0vJg8O1{*~Y2m2hutGy08ME=ahjCrL0`**|)Ixpp;D$d>Xa`0RYvT zjJ$byo0|OEs<(ydczHyVAM5svacARJ;a?UXCm1wh>=%0Js`2l)CBjGpFK4GMFU7Wbe z@7QMaxXtMAL!?~kz9>P*55{0mv+HgD-K+QIkwIVeQxm<5vl~yto*sHjc9Lw z55v%^&-Y%_)A`PfvKjsh)~IyRe_U!4mDBvvfMY*HBeKzQ&Z?XGIaT1@FKDE;n_l&O zsZ<0ph{-XfE~}_>aq~ZjEHw*f>{pOIp)!Ih+0|Om28xZ*3>ig5HyD z6c;zJ^Hdwl-6p<=j#rRFJZ3x1<-P8%XDm=GQ;_~m;VLWlJ(TTMy+faH7^ zbq`s*&0Q1Z`vWwB%ZUYXMCVMyAI$;aApDo+iD%}j*Y6Fa>1KjSRzM`de_p5FHgt?* z_)%bCx>r4PNaRN6)>Ct;hWsY73b*mssCkXN;8w)-w|qM2t?L zLj_Xf=AG$VKCP9Ie9iD@lyY&O!rusco+cjEj#2sG3N>kel|KyBuli!*nF)DzT#1`b zcGGZz(#A(C;_J#l5Nz2_3U~w!(a{+mtqlA%Bi=>UIa;0bId) z%^~#>S$Yc@cTWZ^CV#>|Vl<{SnKy;_HQ~>~*Mr1i@~4*K^M>aeDH%3IC2?89#+zo`j#J zvhCJMI&^ZG)?g-;Vg}V~PcRy<{$4SO62kAlo~nRz$nfT|0SUu-iFo@iVOr02=h<%s zBZgAAuh9MS5lt_R!_6sR%6nI_a+;8CH}h=;q1Nt3saL64RDeQo7-^}`Myp@Jrqw~2T&~OWi8PP`Tr_D!7?TgZf#_Ro!_B z$6^Hruq|YXBD-uYCqkQFXN3t`^qh`iOUX=gMh*pU+iY|zgCLkIn?zEL`fz-Ev40zk z=QoLrtbW!+5=c8c?d>Y1{R^-|+{KOoG&*(PRKv?a1_wRaI7c&cd-Cdftv&Mo!z+Uu zqSHwccnMtJ?;0)uJiFtLTGraVi}Gsa>(Eo33#JD8UDgopQp91bGK{}pkgq=g&>LLG zZ6Fc>zQmyL$gl&1^WBG#zDq9kT)`fDN;ib?5x>_svIKz~!*l2hlHfxGAM=OLpxd%l zKyvFg#}0-WbA8i(^gZECrU`x@0OVmMve&?{tyf_HLVcmv52_5vJI_vH+|>lENc`Ym z7SiYs3bF@MmKlvMxT8V#sNVfcE+~ZzFTw6>5UuW0AFmomX%EWvu)4K@8^eEx)03#f zzBcL8Scv775wJn*(q{s8TKI}`VC8| zv$G<*|3tnfH5ohR$X2J0|1^825jtD5yXLGee^es+>oG`Tv9Y*JfA8I}F2;1CXh^V| z3WP_9f1vSH#|Y-gfPJH#YKP9QZ?m;d^pN-=Ogs|^@~yIW6KhD@S*vcTP73+cSOud{jR)C= zZ34K^y1F}yPnU7^-$Nf>zjF(^yNxaDF|(Q*T1(KuG?KSv$yaT+ZJ`qb#nODcOn-B4 ztZ)Jbni_(`l;)-$rEMsrOIe3O{1?MM`N-4$w4=Q({`&c!=#k+DxP4_}e_zsdqR-m; zx%5=xgorIm+Q$vUuIZ+1a^YaPCjBXsXKJm*aC?O5+VTf-d$NtJ$TX=)>aiEOwxZG6 zPJ^ZseAvEDRQ~7=#FFEWH)o#9FsY7#64DKQHQ5Xp8 zVFDmRYQ0gJBqWVrYY^p`Hbd*k_61S_t4#TY#q*;TD3Q3J_A0uIsVX4OUqq^=ld8L1 z5+f@+8?f83P)VqS+tPoF_p>^96W<(P*kIRmZ_RVJ6n1uJnS5p;t_y@nAG+TjT0M1K zTzQE&2pR4ydtfS*``y+Cy1QUfRA^~s1jj9A z^50IlVVtiHrZqSF8ALd#nC5x~lMIhA4x_ee?Lx4TTKj{V0m<0bUjX_;>D$uc4|eD+ zB{giC%#kYB$uzfNqzM$f=ssG+)Q*eSO>4oUP?^zt!gM(-quO46RA-L6yn-5PUuD8T zBytI<(4;jf$Csfi+-DEOxyLEy_>)Vr!Sq%n_UaRs%PWZi#Jf6dceRPDoFzIPcfT&L zZbWy}0mH#TB(qHC%H-F0&5z6oYH6d$;62eSyGRM(cJI76(N%+X)4HgE8A}b3;c-92-GtMr!Pf~{3E)T zBN6V>*Wg~$>&vh>opHvY>$`pO;bVx4hO6L1vx3KT4Kh$P{0$v@&pDp*xw|J*i#(aP$2Ah!+Y-P=urE0++E{b=t@px zAb3W7o>Mf%fSRRYdZ&CY<6TRWwPy6#zprY%@zh!%dPn5x`b`)0gU)HnAwHcfz=BSf zfdqHSfbswrsZJJPqFr$UJ#iJ2KI=2%V0d~eYsV^~pRCm|>|V0UOK|tRdh$Ye(f-VgF( zwJQ8InDwK)&42Vh`*fd|=9P>UsV2yY@ahkkcQ6`HNi!PGNQqMRwv{;~iW$slY0O(7 zm?!ju9t$i|`7x3_x5#(yXA^h1SL_fW1#D`DXEGI%hJ1OWT*jf#-t!6`rKm~^lwo86 zjsVAnQH!5)aHwJn-OUY%R5N8}Ri%CpI+A)RzQt#;8-8*Smgt$FrIv^D>s+h7U2~xr z!1I85b$zUQJrB~9#)M~M`|;qu0xCy4_)<)6Yn*;jXvrcH9@Yqs^mlU(`6`1Pvj7fZ zJoS*qVyJc66-vm&R)!GpNHfD@FVOjVkseA^y@L03-W!!Zp7=y`Q3zP7+DN4QI7Ec~ z`SxhJb#L}OBo^lnJ*A}R!;k51dU((Fy~rjLn0{wJj(AsN1hFQ=5ge!%(3X+`wpQ$X zqaI4IBfyl(k7EY%y9^Y?cl;;A18&^Q-G-)vlo6K_%ap3dFkyeIGe%lyu0Lgg-U{cr zrb@st5FCC85m8SuW%<54uZ(c{2d!2cf|WdTrM~m2nY20e;5@h(TwMg|V=VLjghTyk2EQMR zJpbhlRtCBfN5T@G-9R-eAxo~8FXX_lmEY0)1xbrkLRujIlzl=_#w5@H%okDVKP&58 z<67On$z5PXRtngj1P|K6(;d4O6qEs^``TydzA#q$Eb;jgS-MAV#9=^l!uM<2sz6$= z+O{EJ49ijP47K3wW50Hs%i7twJx3j58W1t=X5%>KLea9qX1(Xn2Mtfc3?Xs-XLzeR z7ZV){8HVd&D%F&j1W(kfLg3Sd{G2AiUxbCyv;B(-mEvF{!|s;%77Ex-L&}wf<0cxX zBXnc@BE-Q7J@A@|1F)U-8LjXs-z+B}p?K)OZR@PQIMgmD0C=iaX2l3(rskDoy z0Li?&#-51K<_rTPR$?!NLd}tV)stDV#)bgXF(WNrIIQq2FdLEYRg%Ba@;KRExQC?_ zVa}s*7p@-M&g1?2!!I%m+-KJM%@;Uzg-e~(+k{hd^sg*oXde6=HRDNhI5$MGDLe+ge!jhhjD^b3wPKpzqh$A~_ z5Hu<*snxPz6FKP4`hzU__tPnbJh(VSwbdjavprEqky%ic!7#jGYb)?bw@~Hg69WL- zU39!rEj1obk{bSecW_Vb;-8NTS62d0s269!Iok?8T;23ovNfMm95`Ww!&0fgv#S5Z z^q^tZBXW9Qkk5cSXiB45dh1V8gS9p48*KD0(itAl(C#C+;==CY>wTWcp z{UtxvYry3F9S}bX%)fWp16{h=E76WB5*|XnFOLRSJxSSF%ge!2YhnOlwd4(89j|GV zDaFN^}4VoeRecZY7fyOa<2N`a5Q=2-|NuIRuo@Na1rhbA@@i>4#Sw(Mv&y?2Dk zTegf;w}S}Q1vt;XgT1e)n)`;!1tKZJ+fzdxv=5?gBe&ZtCy|9y;J7dvVZcJ~1{CWz z$yW@dlmHln$Ne-uzDtjkz&Z5vKSgw%b^R~7Dwkw?SR3>(vPu`qx6Hg{&EuEC7DrCX zL?eP@G)SbS+zc2Ptwx$}x%?c)JNN%`yxjjV{JXX1ZL+?xCu5K5QQs%@;h=Gw*b?Db!O5c6ln56ygcq5!M@ zN7wzVg2a5?J~SF`uw;+3fgaYt7oG(}lQN}ylW(F1kt%CGBF!=}r`UhZ4`;i*VV zArQ|;K`+g`$8wtdJjoPDgxcpJRtf3I@r^_5p2Ea1RKlj)mQV!p@C%O8d(AEz8V|ra z(_W8Ik+6c4P0hsg+s}+!FZ!K>Vi`YBB9Q%!OdjTS2?s#L%ZLhVSZ`5==C7OX8XKY* zm_vVc!j@dfT}2!B%0pOPiTHFs5?-8+QJnW&Nk+xPbQ<*Le!bVwu#>V??5Ldr4{ zBdCMjaC6BoTKzYwRRh7pUjCv#or6CE@kd zXm7M7In3K-abQDW^N-k0;-`S3#MN(40*cIb$}&{v2wa}5MwiVf9%2hTC-d$6ofP7v zcKs}OD?vHkCb3nH`+SizbIx}}G570aq_XstN)m!-RGPD>l>li zXTF(ioebNw9%$>PO=@8KNX?)BO?uy6d^q6m`hR0}$${a<&40#fC&};s**`M5eAina z$GZMrxVoQi?hxq^kQP+BrMsoOYXD(HK~g%UrMmYGZv;cutyxo2=adSeNm0TH9C^Xa`u*v@jX?BzE!5MtvIcbebjt}pSZ|6 zurnODF>%H()N#ze)YeD_D;d;*GyI4+77$~LsQqM{=w^vkmRBwPK;=xUQvEm5Hl4(E zgaVqk9AiZ4PWkuv%X{W(pcLZs7$>^pYluy<0!3cvJiP&W{6+ns3HA}d6+Mh42~IcK zv=c(U4uY&>#f9&wFbkS64{QKA;kZNHZr)W#b4!I!Xu!S$;fH;3N0P!EC@g|VwAenq z^*x(Z(oqOK2cHW8;+N~{XVv)F;`lJ=Q34T70aczA6qD_t)noMyljOifw0vapuHj(9&JM@UwI7i5atS5c?SHK)>Q z{vlee30ERWcYx=x6vLS{A!H#~VDP!b&*W^Uuk3A|`jou#NQob>Ec59o5Y@buu?gjq zRCi$U+!WY^n}<>At?60R-b6d4VMp61WycKgZ;mN1JTyZfy)W-KDMIJhOqZ_QYq-QD zm2$|LFA5zD(?BGFa_mWr=6F*g;dFTksM^K8FIAZD(3W>G-RZzQM&Ueo47RnYm>L z>|B(jAJursSOPGCJrV?~H)Z_H5c>M&59uQjZpZE;?uH)J1`_MqPh%aC9>VIE1d=@s z-w&Z!6vSwB_^6zKL%Eo>bTx*>_MJ#c0F5$1{WibPuA>v73keMlu`}z=ADkYg5@6?Pn%K-J0r(sIR?EaJ632ELZ%Z}$Q3zI z({F$}Esx6~!4Ffx{4J|dL~nE+D861Vy}riOyr*oFsC7+`#GYC#omBd8K?-~G>b$zU zCld2_@&qXD7jL^fbCXJ0pbkz>4Jq}a7rB*OlI0bf2}9rVqU^uheG6-e@+(%=G%)a> zILQk791e}PPRe1Q57c!3t=)&4L6okukD+SGqVqy4HkA?hNl1Rs$$smQcb@iF|D1}k z<_W2g+j0}GPozxSsMClFgs6?Bn_@EZuq ztaHE!iDBm&0SJ)|uy3}1OG4r)LZ8hj2-d`5`>}!zw}c#+ zyO&w{w*~Xvl!-Zg7X}7}luC={B^vn0hU{h?B+Lva*^g`j+bZ`Bs5s%3Al;?Au@qPU z5Uf0TLt>s%%!Yd54L_cA_>K6_IO}-HLpVqh3Qir7>K>1Z@jsOa&atJ+Uyg|sf`=>E z=^@z$-^a};Rwolq{i=P<8%F=hPekMdYk7w)>k1jh^IL4uuwk)`5>xL|iN4LZaQFB2 zaRWXcgFbVsMG8us4R!Qj+USH^?|Dd zgnDfH_NlA`OfQBW%pvHm+K^3SWhCIkQ)5lS5`3=Wai=`r!!OaJE4|KJiOZ%xF^ z2=kL}sZ28d=FP#{@P#Z zx?gFM$2(yL02DUa%_uzO8K&q9FL=ml7Y?f3YpuPR4f0Ucel~JKNc>)KaFf1P!K*DJ z!O&je{OK?Am)(z`V&V#Gu=~A-ZgVAkHTy;LLFeJx$M&OI@_Wuuz#!|ZYCIAF>5+(Z z58o57+w)&Hn}fPMCq!x5U)P|OJ^%L>AZp-g{D4fy#eu}dh;3E->~$t{L0|SsFr*BK z?3!hT^I|Fy{fSL_a&4gfAk2ww~c*Iy+U5LjEhFe4`# z4)r=VhIhHe&&sCYq_y^Dlc{{MiC zX47WtDNg-7GY_OQJmM0UB)nSU6Mrao8rSO%+OZuI8{ZNCH*{kMUt!yWf4*CYQ$ISY zw!Oyl>o95^2`?fOVVPM36)EuZo$Hn6u>wEh_Rzh9osZ(`2{@_X9C{FU7dPbN^Y5$R zhn*R*`i5GvljhT(ixtG|q(DIUXQSQGOYDiV=V`T31*U`rVl|r%1lktU7Y4x_OK;=Ep z#HC02s%uKpMJ$?1)Fww(^a4`WG?w@2w{-t{k8?#okAw^*2T~jH{8DRBuf*fVxTss6 zK&z7=`wl0Pxcj@<2V#HUH?PqR@3MxC;r#Zk{=EExYTw8iQAho2^&S88-?(Mm352p1 z9AZI4^;c(FhJMMC6l`Kbtq@YIOD=yTU7?(yXp_pmEGNX2)(I8-z$OczT_SU`$0$^k zCKRkipjRRHIQe1HwqvendfVDP3?#)8m8o=rnm>&k!Vq(5aO<*|D49dFx41&sjG#<}C6*POS9 zZ3_a7?Faw6xMis88CP!=i5ojBn4u|cVc+*GJb^G6k>wps182C-@gaanuCpgasXYwXU{2e|>?s?vYk>N6^GyvY?7m6^V z8e$BU6k)m^w0e3GGnON^{4cvLWR~}+u|d(mNzsR5J`VXb>V`|I z!M_-f^7YW$`eTAc>kC{6Y|)~0*vR(B!Z1apDnk6xtafpSI4R%eH+M;M^T!{+t9n%w z54;RpH-zq+A$n@Fe=%7?>%z|c;4wMPoc}#$#Ds^+M*Qub`$gRU&71_K+loefHY!9LHx*3;X#rX zut--@EPa#Ma7v|Lc=Uo%HAlcWOdOf|LE}OdZ{5X5;?@Ce0L{&=oZpS#n*)RMST0VDGL9Ouy1t@PF^%p^-i= z>nnzhGFPlq3Hq^)C4NapkKKM3Lj6>ER|&wZ{*1;9*RSRAswy(Lylh6&cFaQyKvqMj zeYf&JOh|IGN>#0c4KT+e>KLaa?AviBs&Dxv%!5r>(o}WUyNb8hq_cw~TJBQswaK|T z#Y=dkK|fC?RyV!Jm(wM}J18Pl7F}b5Mf>}S0x**SCp_MNxu&ra>a}g5t6Oy%X33ZuaGfreMJP1#>He5cyuVLA4X^YJ?TM=CF&LqJIS^pDcgAlTxBD$- zL_1%zQ}p>+Z|G@@MyVJ;Tjk#~FZFr+E`O1^J3T6~r_%?&|yd;_h;3W3&o z|CGw|rAmi=0ZPFI`|pD2JQJ!61z`mm)|38g>t|P|0w#_xzPkx&nBNHfOcJ)pkv61{ zvPGjLb3t$T(Rr0_VovcLct;b?yS)LkpJSoUEmJ;f4rt$5021XB6x)4GRer<7vES{n z*=;IP`)wtGAZxzgxE8Gxyq{b@8uMeD{m7Nc!Dp!9?~?TR^O@p?2im#6>Db~up@2aW zfr@<=>CjCZCcHSaNurL@jT0+yenlqKyOeCCG+r}ojaV9T!7@O% zg6G%pno0*A-A^gIf|m=L2#?kQK!)B_Lx`MybA0vo3D!s%qEGGiNc^eb{davj6a;m6 zbQ>${G#hI>8juH}*_><`DRH0mVOxd0tc~kA?vbR5RfznI6oXv!1mc=81Ek4c0kL%c z{!0|1<$p=}Sr`E(rMQK|c~+8U6q?WJGjQK@P^BH4QLM-CeMG!c@^8l6S{BeA zI3|%XW7zz(Pzv8(FWksL5l%ugzc=F61Z{KOOT-EFM>PB-#o&eXIL>}~+x_!$u=$Y&zp+E2rri$V z{TsLAdcwpje?xS48=I42ZtxBZ4Yxx*X^zkU5#>i9+OXp|hcw%-$A2){7Sz525|IGR z`Bfmqj)Vo?64^5^a+OgZiGc#S%P#bU>-^-Yt5K6Wd|X&V0a!J^t$|jvVhymp%wzN; zzf64}ud(0vbFe>;cz2uXG=g8@CWvqzsdx0^nJ#5r|7XdJK}GFY2|V$mUy2SrPjzMg zv03%VoGt;_A*|h?h|eJLBMSUpkY2IsX+(@oLR|OLb#o+6YAjS_Nh8TZqFfEIMWB)| zIU94#EAQCu`^G~VMd!l2&H&rk%!c8Jr``r7VAo36F{8jAcLHhwjNkS`L%CbW4og3C z26u4W)bBlkEm##@kX-5yk$(-3zh2h(r^DO$>R-rKhECD+!8B2zp48$jMWR`^ZJv2_ zIKC@#=Et)Sac4ajZTW?tOd?*SLMIRB2-**_pE(&m^Go2U;U+!Tk=TeXlZ!dd{w=d+HtTr>d*o6g`#7D$UZw4iRxD%rme|#6PK`%0-J#q{{|**c3GrA^{t`5o)s;l67;)Lv082WP5#>)iTBES=sSRDW2P_8c9}oVb%hanU$zu1&40C`CE>>}!1<_%$GtJ~0Zu(oivZAAF#! z!jWZMX9RT!JRj0&rG53picVnh(F%fq|INE*5x_S zBh7r-WC0N}A#}o;2H=9XOIzDMGc$$$zybj2KBeXbtt2w@b;t_+w#~Onj?xi&cwpcs zB@JhEM=K8kB@Cv9RYxLiDcOvNXoM&NiD^jti*GB7vg}z zB`18?6Ujf&nlf8bAL3d?9JqY-Z_Gks9PM#_&H35V2yu*7QNK1A7_6SEz(a^=@}J}x zV5NK9YEMg@-I5a{w&|=VyX&>>DAs@%igutSJ{Vna=)uIBu~N)(g{j^uW5J4c$-<=w ze%S2MZ8DK`jlWO~u#rZvW#Dz_=GX~KX;98a3VN%XwFlR*c*In-$@f^JUP0_f8h=HF8=eKRRzi^UEm44fbKd zLCW=p`@&^ag>=TB%(!Ru%uLX}LT;C2GUWQ9I0ukL4@_02FvK$67^$e@O%(77bdr!X84iYt_!{eEj-)#~1GV&;wxtDbioK=4EKBuus=<)i>W z>_@|rh%!D8cajug{&uH=Qx5qyaM?I-=##t8A?B?v;?w_K6aWj3i*o#~02?wB`Orh^ zq=w!^xg}V2(}KZ2tR6hL~gNPASjMjFH>e0;#bpFkL&Hr|~D2A(wx$*?3O5Z>V={B<90T z?o@7ktujbLpt2?@1M-tlybpY?UjQHd%nHmn5q9%>esNn9`?ag#bXdLs`sQ}7AUE0T z&pt{y#%gZo!>Jnw@=||_IoemgO719T3}`fOxqV%uee~j5*pW6m-*6CxUehUMTL3@{ zuO1Pby@-_UbI<*f%EWCxA}QbZ^Y9cygpg}3nuvJy4+E4sP#7c@rTq5@))>#5Kx?XG z7_HknDJHRfXOiHs@Dw}@`UHToK3ZQPRK|b8g@XK`Q1t!OQY_VH>*(ZO)Q^g(O?cNW ze)CE?#Q>ilK^@E-K2^WA?i#F@s?ZMPL3JxjOVK{r)NWr_rs@b83x$xwa$MN9v){lG zcFTkOqFMW-oR3)_lRLqWMjpyR@GmtuSRyzlcJ527<$0ZtkK!1Zf#T?6fIKqY94X6w zw}Q#sd`408Ez0?s==kA!w)gNqj&cK8TF7dQoRJ0bOBSm}y_9Yd(L;luY$XD4HbBfp z|D+*{iA)6Fz8>AE(bAl3qSN@~s;vD4);82adn8w%wAg9ycQ<#+YZmkxAYn5gbVyK? zHhrA8PN5+oW7WM$a{JH^un!AuFtFzc3!g&A0 zi?n6%%{ziVKvZt~{;0RWmFZWQS}+|dV$~Xt*!~=_Qz&DmnZs6gx&LjV)1K@)-yly| z-^Vr-U=$Z*9b&jTFJ5KqpJ6~pC4g;2bXKdoeOX4R z{oj6TZ(+Y0TNI;_8HRfVKVb6J%D#R1pMLA{@5k^Y*)$j%qa7p9##w_AHaFonS>2OvSf6}Z`sA>z6+G-+*+RySiGU<4sb9H^>~El9+eKmJ>recu z{j#(*Ax)1pI(AFH^&>obc1&6f0E^iTg-9_`sMnXpW$;HamXVge7u1gD_g|)fl3Qa* z(sR6O{9B)DZk53J`BinI@}%wVq!!r6h=n=kR>FdzwxR=1AyXL;?%+Y>noPy(Sr zfDa+00IXqj<|1D1gxc!r}za?d5QhCmyRMcEkg!l8w+{O1sa#2RGJVCKcj4pB#MXo|ogZ>^U_I zHyUqgJRRPh%xRPLcVxl-I+zq_r{(V?=kG&ryrpC~F!rYS3~1FcC=UZ1b#ZocQbdN| zh?so~)U6X#$TPcqZ6nng<$<$xbdOZY4~SUl>o-@|o0S6k=%PznL(l4(c|u2%Pt(4f zo_;!=w!a>05-NNujIo{IO{Wt00$g!F2xL}X?bpJ!J-h44#T8fCr+ZLcg76$lnSSyVz?|2me4Wj zSz4%?@S901Cm3U9;z3Np%&2&w;)|=%%`}eX_{o0P6Os-uwmU=#5t?cMX~BXUdpx+! zGQM?XT&3mv2sUhoQA1x5GunMLXryyEIznN)+KjU6GE`$=rMF9bR$wFV+*fK(HxVda zO>g+%JqvqG3`cw%i}>;_Vm?>!l6iu&d^zS1z$CB!04Q3`8iHfTvePq%5^$y+J=u_i zB1Y>opZemer~1Q63x^PUIJ~sy@7iv}m`%$FeQ}xWZ(P$0Mo&1gY8s`^_%=xgO$7e_ z(H+uDmSLRuVkgJzUCiyHZq*(u5x$Y5PN2H@qO$I z;yQO_R#?|%?sHb1e{sWirL$xTDZ|wvVNWG*7yt)}C?3)@rTcna7=Mavo~GD|a(_C> z_9jnwXEOFv{K}O4U2WC*`x3EXO<3tfT|*JAouHR(S?SqZt}JX|MV4LmMvXUtZ_=IU z=6rQ^o+6>LYqtevsejGi5TQ(Un0Ap8vhs(xU&T(3=d}G;{$W@S)P7WWLm%{bu5_78 z|4*^0SVd@t0jBSAxu%Jw_Dp^9A?>>Otd%HJh&!##Voh{EpK zKPN=b#AQ`Nr_=KItv@oWV$u1ktCJnjNkXg4wmxP5NWqS?`u7e92=f*Ol7&5wZ9~Wc zpnnr+9VZXYg|d;{HjRNvQdq#Gc1pSAAR|gN04bL&VYwr}`DG7je@9Os-&dzcp8ywB zCQsR9Jd&+u=6^6}b94QyHx!@bWK%)&6LMY(N=$JZwI`5)PGvqN{Ak6W4Zy8GA5EHT zx2ilrii81pSE2Q?xxd!q&W(;`68h?H_zEJIkL1gyEx}zG3Kk#HW!89`oRo*1J;FcxLgvV! z>?pb-R6r2c4~4cB?JRGi(7XFGqV2IFPg5~JIq{$I*#_}xI;*S6l3Pj-=!Da(vZyO$ zkWI&TjZ@@br_A8sq&IDgF>o_{4 zFGAs2L`pA5P#_53xNA7{xR<;bBgF!&BfyltKPp{Z22W9fchyfngz=c)7$ z!FPZFFactH`MWN=ax6oY>UH*nnvQ%&Z)FYfr#g!9it zicTR!@Pk_%ve|5`hdeuw+2ZtKCSetaB&3?k(fB#@JgkQMjaGWWE8gItZos9_@e9hr zGveydPN2xV|5m7Eo69*hP6w#94(G+x3-i$*63TNjjP^y|G62}A%kKKvHQzNtO*8U~ zh)6$Rb3FHkRWA8l8V)T-TvGgku`Y}OHVy%iFL!xnQTaQxpRr(#K^~GIJ9<#&MBEY;pM)|YS>H~$STjVQ%hNJo9kqBw2dy`oFe-x zy7|0Fc+)ab_iTgF&?Si0>|l*va#=Il5+J9@pV-NVoMocq)aHFg81YW-_#rSh{Og z6+a=OlI;*_rRU%Q;Am(`#JXAPXQsW58galUmz=aRD9hzbtV5fs z_fXtqb@(e^vk&#$`!a^kM4o@#=Y+1xsAw9bgIS@Qk3597S#({IVryA$@q`(JTb{{X z5%ZUe3V}_p-9#9a2+e>J9^%wyBE)EdDSH4WyzA@#y9M|dzri}-_HiJ@!yNz!)duFT zX+vmmr*rdF0JzfM?0G`CgR$4cYE!*^7$mfq^G6Va|2&OdhK4Utbpm0WelLqua9+v- zacygVZ6Xq``KzX3TC;pWXZTAHEvKPNCHp2CcJ<=lUtyf+3yi+#!y0{+*G%CgMRU!G zYd2DGdI%t3%JpNm77y#s^oo-Bb9(PWpC5o(dlJ9qfBUX;`ip`FOWfC%q39;#e)7m9 z?6tZM&#j_`*kg4iT8I`VAK-m9sIfbXYx}2a0$%F|AtDwS zLOzPcxf#S`NDFG-1^uE5_S@WjuZ;ck+3q@X=x|CX^i%{XX-_`0HY^1-yw%!lKBw>XZN0NYz)H0Zq`ELZR#ztb?~qC>Qfi|iJ; zghXM|TxG5;l&*PZ0qzNzlWp7;ANq;S1n)>%s^W<1fBVs=)<_dSN|yb1s*oUaNr>6p z4tE8{h{LTnsQMeXl5eYNJH)u7jV~z8fJg|Z*e#PdeR3@1gap42wo4R^HH(To^_0b8 zhFJO8(ceuMv~GfF8CmA3ZS9ohwk%Ibk)S7CzZLQ;=cdE#6s2o66@YIn=&^dFHYUU2 z&}pp$>)MH>6rN9z(^wP$h7)HCJpP0&XbpPQJIF$O605D%_u4Ayp}~t36NmG9V>T2q zFGewuQ^Wn6)-O&7j!%vPzU35gED9Ef&|OM{-S$@r1n05n+Q(9et_n>qrOYH_AU!kL z{&(?Ti)YI1&XkAYh=!PC1vak$CMPGN0laP#Y9nn zydX(65DpX}7X2pA`-pSIQl1PqTjS@WXAR}epYGx|a&T`o$xfumSqIrnk{|6`W7;&^ zXx*>J;<`K{l61A<2Vf957NL}Ky#wpFukuo65;pOc-;CSplJhJz7cfgw;6+5MV$R-f z0ni_G_^h+cP)S#sg)9K9mIwd^zsPoAP6j3@%Ims*{AfQ0x^Gb9yz+oWa4e|H}XrRbgK{+E%QDi8aRF*kgikui{)6bj&*7d=BDXpk7oOPhwoHt#M zm|fl7c=JJn>=MV=p_W!AnF~t_7`Yk!Oh8sA0gnE)DBoqB{Roi_Bg3Yxz2aVo|6r{L zj;33HQl#yQYa3}s=U!x0#~2Kv0FfX#NUCXOm{}pt_OJiZC)C3ez1QK79UtCEVK12; zD$&76P+fbZ{AuCRcO^U{-w*k1B2MS+Ekt_S4|7c!IyZ80%}}fD&+Zta5hfOH)bgND z&4dvje!oV~u+oliez6<95k*64H7^oIp_T>uI|{b`X0B=^&1XcgXA3U#ft5dFbqVjE zxDZX9STf$N(T_@uh{-Q}4cBD(YJRO#iPyy}Lgb5ETF7K2t_;mHyX#F=3uO$H zR@$w=_Rah=Q4$b>IF`++D!j0Wb$y5OWI&q_so>2%TxoA-8~oGY<^2ek*k9xGZk^be z{VFX=VsL?UbydqLwvUQI#PchIXA9{^UvF|Qf@f1dH{!4$f%;Mah~*sv-)5*h3cxx< zIQ1-r&;MJRav4xekLeh3sT;K27PS3Fd9WA=OAHPC{L%JVOWN!uxtYbs3#K4)^=QX{ zKt6*A+Dc55<_&US$OQq!(c*wW+Vf0XiKV)D-a&>#VF5w>6l_|(3>h+>)iUEb<3LL- z3|EOhp!xD|aDql6Qg+ODAg9H^foVQ1lo6=-Ej$|QJp-uU#k zR`^JHQhj0dB7o_{0j}TXRZ%rM+Hp4;xO^0%XZO8iZd&g9Ao5e5-|!5jSA(cZMdk6- zDSQaH3yfKbM7@81*w%>@8Ch^N+n3Te(bB4 zTMIq;nLj^ceeqC#zP^5KbOM06(OaOJX3pT^30QZUx=l(1Lz!Y)Q_ue?c2NDz1%|It z!hw?tXUrN2g6lrN@WB`6?*N?Ya%B~agH$c`;oDRh2(ZmWVfrR24yzG-Pc~X!Gcq1W z!?-Odz`*>mo1vdy@}~Ai|ERYv>&mgvFNfy!_war5zMmLu;|%OBjgw$Nf>#7!(mMYl zXk`<8WY)zpzQsHcW(C&Itm^VSQr6sv!O&x|{-yNZTBICGl7hu^N|ZYFQ#wA@lXOYd zeis)a(N}pi{ZZEBNskXbgES;eoWagqbRi!c4G4axm1O#%nc(786Q#Y7e))Ty{AHCm zY<40{rX?~K_Z^qmmzT^$=CjBhhQtnG9hDaq8TtVh#2=Dd`P_{r-;>2PIyMd7gj(OI zVq6#6n-Ra$CgAR=HB7xd1cMBHHGJ5ac#rin&O@y^?0-QF{sqKWjLe}x5r6Sr<3-WG z;*l1rfY-hGNIm+s(6w6Tua0k%ms?$LxCq3R#ZLRtYd&D5)DuACfQ`3ZA!O0&5+q)L zyjfP+Hfk57LkyvM`yT<}N4x+}U!q79y~6Xg-J`B*c@iPg8?0-gSHQkSC!%dnja;pgNFXcuYc4+O18GT|BDwr& z6r7=&I=ygvS1XzKyn+Aamsjc_bOb%GG|J&_!@8?;P#%#bQ{?{y{bG4?+y(hLWGV4JHzySa!GiI@{<*$V zVhn@)HlM~noZyp7i8`KIgTz(nr>68yHE60``}>B(@4#!pAh+?>R^*a{mTXarT4YGV zUHZK!;gK1CHk5NOEjH|Gz(|atU$7-dobyOMUP7P~LM4!`{b-#HPIU927t1kN)O*o# zGh-`xf7QeXzKw-&{Tk-}`-EzOgTLl^|H8tKgF{{MD2Ie`o6y9$&Z?enCTR&kI^_I! z{;}TK+hy|RT`H%O2;OAbVms+K%r>bARFVw0;eo`>93JfRZJKX6^H27>_sn-{?J}#B ztUSqgaKxr>`PXB0wF{v$L&F^M#kB(swcY$suBYMODjm*RTi+N_ipE;L36c4p>yMAg&^VH)o5$6@H9&!&nKu7K#e_p zXCQk`u-`NENn%w7y$-Zo-h5~J97IZVB-Z53KPZ>_T@nGIr|$Xu3^w-st>XbGF31KsbU;jr{$F&hgeTv{3HYj^*@#pp8t2HvQ0d?e1Lm0V|=LmarIr$C5J zpc;!?j!C2c*iL^q_5G>At9&@;*$Ow@oN}stk{R9%MS}QQlU0fyAAwToFXd)gLSw!7 zd$SCj+!`jzeWcA+;HFkxJq$0PT~bTWOhf+X1n>Wg;}1L@jV^fki5(g-`HT z#>G1O8bub^06@)~gcFBrIW(b{ePQ+nKI1u|a_FaPnHt>pfce}t>e?mVjwtPxMYUKK zEfZbeR~8Jaq<8ta2=qoT^_ivh@k>6FuS~=9_Vxuaf9U-{8(5wG{n!Vq5B1u}RrqK< zH#6%HPlWNM950!=dz=-bJcRLXlRkPz_Fsc?ke^0rc|H~`>+W*sTPzds{U|DQ)rqA@ zmV-i$iBHy*?*cQn%b?G1t0y47FHaL+9dfkG(47(_x^;uo&6M6hmt(7GY2nTaR{@}a zFAKkJ{6UUOq`nkGF{t$k-R&_Ba@@5OOwySsMI$2M2s3e4^P)N%^I&YMvz}&v84|Uo zu#rt!cwpyi6R`QmB5gl=dHm1B{KLHU*SL51CtGUQ5i`J(G5E169lGNYKxjdoRdFBI z7B-^oE52lgHeblp1RftWJf_Io%13}12yqR^CE_xy2&N21Dark>5jMAR>^~$X3JJt; z0xNU&^@;?lCia4Z>F=PlnDbi|$v7nd!&JXNP@YUmYmOyxP6+^tZexqnao1;=#iD|Z zoeMa5u3o4o>xFms1Jk;6k1mhS5H)5dGNb`kiRWc(-Z@ty^rahwkRdljo#Xs-H?`TO zkcE_vnUr8b*b(tA&3-Q`qbKF!0sqyn3Xxec=@0-;0d_nFzo)aq0I_tGFiQ9nHy&Od z(&vgjZ_&xd&ZkS`o71f)fsbamwmIto^e=sG5MA`>5gBNkHV;LxFAEGx^~NflgQq6; zN-yA#8QPPO2-&{$i^puUTc3cBGOE}Czs*yQe=O~>nTZfy53t1$c{aNjRyobXmU~>$ z5iLOwI>cG>?6_xr?QH!AgnylL(NcisUa{juGP?)ijL6du?{sHO^fh0-WA(s7qUeYU zI$OE!f>%}0#aS`HHaVtc$(?P1c9o!@n}qCLr=7g6FMg7OOWD-RbY>sTHKq#RYIVLZ z-(uSrxJJ!*_*XQ1AN5xX5H@ab2q+j(6JB~$D@)+04Ia9JmBEOdyH8V#xTohyVnVGYgw-1 z7AQRsV~j0$-G9QUG&fZdocX_{=xl2F=q3kKihg{WB1&Gq+|&A@<{%}BacmMF!2^3( zL#LQYWvfSTVU$s$(tt0rgkAn{EUc&0oIvVAz~}!QJjYY3$x^iShwdT=_O#j zTiHi0Nn+nsWmh7*GZ~5qfa(g{UDBKjX?HR|>kydu^I42Fr^ee*jtj%2uPxumI+6{$ z9diZ1r44>Rj~Ed3rA9O5Pt`{5PUdnuS-g`w7f?o|pXN*#RK*4DQ{?u@|Ld6+F>&|1 zA5#DjIWY?YqwSTol@fs5JN%?n{GuATz&DO=wVt0WvRO3G5>i7-tPd(U8 zcw2Bsw1xu-!8**w8+}N;8~+=F2Zmdi;7QVwu_O5~-5`ke9+pT;z6nW0P5_wgw3J_s z-gL2)BtZH|D55Z}>0(-oXXX-{%hx>i`a-@y%E7X=6`j)YdcH~(N$92M(ywP+L&C475@10;4=!4Lv|Be?T+URIhyeH*rpor zO{KQc>JP%CEWOVzAO8l`>oF?f$YTg9%AS8R@H`>}Z2kEdnJOcCWGZsRt8H(GrPsvM&xmtmmX5HN zQJE!}NiCBg?-E$imyi9uCQXyNm+MKln>PnUB`Uopt{(cGV>#CN{YZ!xZEj?cFt|CU z*YK@Kpe(}AFXD8vpx`GaB2*wG$AX;3QWQd4zQDTq6I1SaQ*0bZQm@OTy-g%7eG5r? zJJ?2wrvCcO%~&TV+l^|6!btZ8YYN5qvDTSESQt&oC3U1&_-5f3rJW!qU9`~KxNKL! zz|N_n@NJvPRjaR#S@69Sa<+zVg+7J6MZoZT5DO3#2haWXDcSOtL3Dq_CQLFwyr>Fae3i=*Q(JZzC;mxcnVIaPXW zvGDqVNeUC9N=<{9l-<6Qp3#$we1g!dX?$~$ zf0halx+?y8Tie}t7f+vUWOb-IpnGO8H||pIIuFK~0kGl^jW@T$$|W<-n?2g=|FBJ3 zvy(gj{0#K?pCK-veVwmk=s!(~()L%(xMc6m|2M)htv@O)#62gq`rwCT_cx7srqQ za^9;0oxB$X4ojpjYYjL*3d(`rL7=M}3wbmAGg`?46suxER=SLzYwFf^)|J^vgIK3*l^Y~ocj(A_4$tub}&!Q_ZyIBlM zDm0C7@YDpvB#M>XSUk@q5cDQG!9bZTW}Iz-j>3 zmcm3TJp-+LBN;1kSkzD-wv$3+trD{i66J}V1p3TJ>PxQJS!Ya++i~bSbQ9rIske%E zi*jZ6NJU%zPV2>Pp%nO!QO{T7cZ(~;LV}H6(zsT*ZfxaLJP~8AK zNtCmcqU2~?k>X;mb?-~;+*UwTe1v9v*9|Q!EQQs7EuDTeeuX1EYyq_16ae!|qve#{ zxGQmKZ`+G6e5UV^(mGE!JJ<1^-2h?J#vS#vp3#FW|A(iuerv*i!~Mp9(L<1i(cKKm zQ6fkqph$O!bT^C^rMp8yk?w{eN(cyyMpBRlMweW!9v?e}JLm{iAPOWc;EwiQdT|znQ$w z{i`VH_7pYg2cNYNLVebj{v-=ZS`by%FpX-L)P^7GfFONWqtw%{B=2UY_Hwa_0Y21_ z2SotnAo~&sHQK13eI9(L>#Nt>?QLeh++Ou5Ah*MD{*|URg%%whWt7ibO=q#34kO2% zvJ0BK{`0`|yBXN^=Y`4U08jt5zE6-XNouX$$)p}9`8N)+G7qJK!Hk7DmX;6We*Sd@ zHW?u$>~{{x>wv|~&g-op;zCVR9|6yEg>vrGw#&Of7p$>`pGe#X2KDW#vQUrrqDlSR zWdL{(KCd+Dv)R;$ZN;iy@%CJ4t7~sJ^2`6b*wx@-;-xrLNm8IEtIzB8`4Z(PuXGU*1-63CDrD=z3#bR-UiU+!+cn+g%@kX^4`e4FI8U8ol+e%bi(1 zOeB6L(U}o`;rtcanUgW6xCU9*}nx4l@{W1 zU-jMWJF2Q#pFH7Jta{66FCRHsHC*0i^3`R)_as!P&NdH;E1xKFAeQ$@hW$eLwRt-` zqsQ9%*TG-21@3RcjS6M$0a-0&pXbPnY)43 zeZ81fwvZAvC$mphQ6>?Gesn)}*1)~nwQolrxeku*?<{#7$$Ta5fH&OtUE?87OREUK zXq_7jg?>pdFOE+H6%x`MM1lCovklL1Qa5+YWP7FTF7GMHy(}Ocmgq7pCqBj-jl}f z;_zSt!r8ano|*E}Aq0>)^;E+S!DJv$FR(wBUX-~``IKdSup=Tg$)6zoR=_Ly+>H$F zvqiMeT!nQM7%H>-(bF6NJ|f%!;H|NZyoEnQXE(5}pN$6!G(Scvk_c&30#-hmMhk@q zHEBA@$~zA*>P8@#w58DKx|GEJg^x|`tab1G=lb7<{y}-z5fRECt}qR`(QYI*KibtW zZYpa|pSJgdAjPh=;HY>jxCV~%ZTVDr#$C9W{+K!zWJ$mtfPF=JV;tCAO>4+LGPxqaS(p%3D8! zZ-K?NFk&yWnej#dgSr1%zJS+SFTuVN+R{%jT})%e=#G6lNhTB-BG|PyIS{ z!~x}i$Gt0Razaf{hu!+@d})^V!(sr!22x|aeL(P*Vyf}`&3Cb~k_$hNAC7Z-D5{z* zUQ&ZT>}T@4-luJS(ad}9$}|(N9I$&F_&$*`xMpe`qcORE#`tL-w784^!tQU9)Sm@Z z`EyKHP}H4KB`SIgm_`3@3<;Vga~{zB$DzNi(_6Ewc`sYD0Yk(vKyvmL>CAexqxGrB zj*8BY`jiO;jEcI25RoEEDYH6n%*SV(@;BK2#{x`d+)c>Ffv>^Y#x^oCaw+%vy%Qe_ z96CN}2exqa;6svC)sk@T=A)ZlsXRPIT~1UA)PkY+r69-~)fivAFbE0!N+L;zU>?0^ z5U>zT@0VynN~4?Z)B3lH?}#(|<+C@wa)xOc3;0)vXfd!-Y0+qRq6SMWo`X>8%e}G?jnzLgbc_PSiWw4d&~R7~hwWPqQWuKxv}-abaHQpdepQ_& zv*zJ%pHbkfWkt1%751?!h)JRr6^KPXYHr2|=W~9; zmt=MlX(_;ZGsCu(RN@YE*<%8*cV5`Y9Dv|%g5hhJMaX32MlS5Z^XN5T1Q^}F;T)Hm z8UqaT8`&wakPu3s-pAHm;)K>J^lN;T1bs3CP}fbOwRaW>~nUJopC@LtIW~X zJEiqn@r0#<||7|XwiZYYHJmk?q+<`YhpYHOV z%}q(N8?tR1EHqO}2zpsyy`&9-a)D>SjfYXiXW~8_h!_w{e-&@tGTv=&tfy%}bcjys z&=HurjwqB7^6J48bgcb!u{JG)1n)_P?8ii;N0AAM{Gq=n_%T2f@1ULoOANk&i15dk z-sLEhj}!YGp*$$-lt8_g(;EwYJhpLs>GV?>D8oP3wJ?jBIbv-ayUx1~_} z=|H~?N1)jUVZp!IH;~U;Wf)YS=FF1sa1=}z7_$1MKrwpQHj_tQuErO8vTUy%7W#4C zdd%j4zn)85ouHvUNgPQwT0x^8ncjre&Vc>JAe3;r1PI9<1nH{Rd43Xsh6BrVF&>%g zpvx~kEuN~O*Ngr#Q{Cmw4Ye7QU_$lZYv$b_%ku;D|fr&*>*FYK&i|6O~zIR-JZpFAI5B z%r>*NAc*@9J3cQJ$I_DAiIkPAcUSWL3d^Op(#8&HfohtSoLy#Hiy zXAA_@&U4+CFb;qQ*c`@R}lz+#&6@rRdj zCC$9Ne$%k11i~F3(BI7%XGBLvQl4yXkVKX0fEE0r;m}PPIg7=>J(3eql)aY1eNbL& zXGOj6$>PGANW=r$>;d^dQ@$g>ce_Ro27t^i6c`xwCc=ndRSdC?^QK!`C12zN`m zKAH%N85UKMD+NjgRdC;lpeSyW77W?^%U1cz;f;t-+_lM}6{ZFeUP*Yib;XG!sww6r+ z?)bgly8M$J zZdeBn8VScSveUP~XSs33_8zML z+;e&aewlSa^8=bG_r80)>EpnQ*i-c?1>E0!^}>da{V>sY6mZ&|d&}46J7zPz!RK8) zZJw$SNQ?KcwnD(8%ANWECDYvajGkT(t=`UKL{Fnn=ZYLw1v~Ha?5*hM^RQ_fJ_`dP zIT{MFOYh(s%iz#*fjfQU>luBKY>s-)6jDm(zX0g1-y38^y?VD?Orc_vX55&}oyQN& z(+fK&M4t8DnN8@@vQap5YyZT_)VA}n-o5cgz1f7y!`gb_IZW0_UPm@Ke-?@V<-eDa z0jeaWXT3KwYq2KuciHo=D08?%a{W(F=>f;D+ZgxH;;RLxF3Al&`0|lIC1c7d@`8qo4$F`{xz~O2i@R1_{Q1kD zUy*4z=w&0Z*>VAtNxb2Gbp)P8$t0|-5T_h$Jvp2+JQRy1=$$1;H#T;3Sq(O*Um>aS z4c(2m-R0MPIUNQqlYnsf_vwLoST)kvbjild69+Mhsl;v^xC)y?w@rT;T1kY#Xn7>K zqKq--o65^n#-z{+fxAHG-Aeui=4ikOjjEg=ra9$CMb9QKMvxK}YL*(ZECX$$UnpZ_ zasc*QMz-fix^r@3c{Sm~U*$Bozc}vyK@-l6oynKm*aRSq&IXXAMIbh9g6s&Qg_{F6 z!DSNk*_n#s^|U(=O2V^?YI}3o%M#xcEdQKM+3(D4`nAwLsqTN{=JO0&U}qKE25+x$ zStZ5tx%-t_dGGkOmI_-Ww$9n%W-ww<-Jy?j6RRp=EKY3q1Dy)BuC9B@h8UFOGeSn; zDfszmoEx=HdBiwescwWp+{&=!lbHSb%Fu>@Wf_%pB3B>DxD{BCwCM}#@9uwGD zu{{Zjx8ZkfMRm=3f%f2S68?$%h?t)OX!#d$-aEce-wyvRG><^a70CKp(jOxF?P<$w zZ#FiNfoJL?<;0!DY$pTwFA&4%di9%bDW0?F8v^D_a6dEAD^41@0a1^CY*{{tzvEb5 z)OZ<3gl$?6AGXJZgLu_vtEqj{a9qnm@qbxnQLEIs*QncMz2iam)xBlgEPD1U7t0pfCBXxjOX z!(s52YwOGpee1^x%+EYYvf8;vt($+&E$*Il&c`nf zF7jvCNRBRb+8Cbc)YgB>JzsYC3q~W(ewi<8ZJ~x54hQ|-If}k|tE4CcUz&U^Cb<6} z4et1>aA)$q93A#K-HCo+vF6FSyW^`><8IT?n^Dm9$`8qW*QVxRYR_G#Ra=izS-HLj z>-b<_zIEqkA{5Uh=iiS%DV6)BV0McN-lM>=^8QpiMJplsA20C9 z#BO&r{Y+!vNNQS-uRDqF?zl1>bGGCSa&8R|8;2cy zuUGcTkuU7F;{$04UPw!OZGt(bemr~IXKO!tT4ZQ2D*z?JW;w8U18zihF$#q#>qi?$ z8S>Mly0;O{0&>266Xa_o8kV_|T3{%DzHTG6LL}e2 zHZvbG{6m-1bgt6Ce9K2fV6V!_29ExA3|CpT=RaT#Ed>OXxQgiS;CajAj9-=YPRjXD zQsFmDwz4+n7e)FPoh38V8W%dYrhWq5Vf7E;tqI{Kzw9Fq2i&>iK!e`b1;op156KD@ zXnMTET%d6kRDGEs_#y@I*Yy#hl++!Q%eS9v3c)5U)VWxdyClV~2}JQ@#sb5Xo=;CA zRkPPJh>vh8u?)dN(4JQQy9nMWv%gf7j}e;kNe^NA6`vL{?Z(A+6@j_jMPq%7RvSm= z$ll>=*4#%6A0c29UYy0y$xI+=mZ~{%Jl2mbhyJwGHJQHmzxGi1hc@(gURM%cXkC>* zVZoLSyd;#HeP7{4Navwj<$)nMdjM+RbT_`{%#I2-+KW4jWI>4~M4ObRmO$fUauW~} zXRUy|RFDVnAweC}p|>vtj>bGghG3A?DwHt-Vw1u8M3^tG&x%$rNFwqRzsI4rLbgZa zdwD&U24_5N4R}vdq($@GA9pbH%RiLDxy9{Ek8o%Zdj!K;vio?~a}liI9RHu2TSVCE z8zFKJF%bx`O`SmurpL{6ea4|c_NN#CJunEg0}V_LczsUqz*LtoZrwbT-B@NH_^w>?hE{Yg0ou{gf|PTTI4->o`SXv z%zR_5-SO^x907u*WF#5=UIlWYZx8yVl%<~qc)os5YJnB2wblQlN|qYZ3h;XuFb|T~ zaH8i^TrIP58u!IUMmWQ)HP1rq?$}C?g9N+52z2nlk$q6yzXEUl+@Arx1Uq(DZ(j+X zI+fckTl~IrC>jsXY&+Tzp0!$${L=lL1b%z&yqhbt3s)6s{5jB5UO;z#?&oW4zR+GJ z*ZZ%yVBc(V!P5Nj7(sz%sdbRAoV_fyDuAsv_^yrU>+QB0Wjp$xN z-SUAQp8W1tnX;>x!Aq4p+)K=~y5;Zs0N?4=DE@LWj93WnoTW#Cj6Js0HVwx5d3awg zec)JI06G{)DRW^}P9(D5d2NCQLnKJ? zZBxX;s}G~6n|Bs}XMBl6IRkgAGz17UI&7X}LnXsF^bTzJoQ(dm@z?Ko7AfB>!tyIV zs2csVV*T?@E*NhuET@cQDDt{i3N@Fke|(^o^Y2sH*@K1<^y;T))LACMu3_RY=IUoY zoDGzWM5$UwPsWALYnpE+-q@&9YCIi0VYU~C>+zmjB%f6QWuG2K3JyHkqWLh>SICsC z?qDcCHr2T^$WadyAhVd$UNas-M-C1PxMd80=BN_}D3hFLQg^*N^KHJdyt7o}$KLg* z-e+|=V(m7u`$28jgr=ufj3s_H;AizL>T`oXBl4|>58n9RaoWo!f7)FY#@}eF4{>?} z9b@?S@}ufD54eO@FQwMP!MGlt0?%!gFJ9p~Tg7Rp@iX6?MmX;lx=>yhnP&x&*-avd z>*%4bmh}A9vuY!IE%VVJ*SxL@%mar?8RKy4mj3TBCbv%!&};t2F%64DT9)I~sQy_< z11R}RpY+$hXij}Hw8iCE5dB9PV)!Ycl0}^R@GKAw5}SI?ahR4xj3B8!WQ*n0sEYm9 z@6k}LJS&KoQq?I8Lp@8x*ia4;psfXaLst`z=myfOvRkkId>u;-i2T?kE@~gNJ7!tj zdW{+^`HDqpqeeRtmRq7ofs9~gScr=4ikyG)r(_+!iuU_AM)+KV@U=EI!D9}+S3n4F z=N4*E;q7jbjt-6@XHXJe#v?DgWqVWmkZ-=RxOKAMI`$m{g+86gHZWqaM$8s>8}DLC zgm{0vfoTl34u3l^S%!0ODY>*h7Dl9-mA1IF_v1B&@Bg>@oM0l`r#6lt7;hfgp&~cd z9r-!UonU2Z6hq&VEI}m6vPkNPM%CZ72QmJ|HWoJ>T%s-xk^Av#nHk6viD=nD2Uj}x{ zg$u`boSh>cYe179HBIWwg;gvK?TTRF^%6E(sGaW_I@oYP@w>oKBaz5LiHx3BL72Jb z8xlD64xlbA#lcS1(JXT&pS6C;i!2TT`1%0-Qry{h#wMLpL%3==7bzv*(_iK0-~IaG z=h!FC@bQ@T%$a|Wsvittug>-A=@Yot!-T)X(IsJLa+vJVRE-^Ikw-5l4cxoMNx!nNWb=@ER?7HH|D5`(<`-h~p6udVecg3aZv$^9NcxCF?0-hI5F4YNk zKHhXDH&>!Iipm(}+FCmPWU43k-vBa@kxGB=U+;F;LxD{6!+6!!`1izeAXKciQ=8t? z7ck~7Xk32BiHPx$T1ohz>zY6qO#Z6Z$5?QsG32dC_cOhMkUy0F<>47(?%*cZS+}Ul zKkTV7+uctklwMq6J}!AtsW-Qn-6G}4-z@D7Vj23W#rJNyMv|OKPP#r8=LJGdd!W|# zhZrF&mSZO?ybYgeZI#|k5^nXh4NDr?&DaKB*nGXD$P(wTH{eFVX6Ta-qNb0WB;C5P zbQ$*L63^LHQOG(=9g)j&Xm&gqpVB*3e2u9A`!EIh*`>XeD=caf@*d-J#d-7r>!tfD zJ~gQia+E~AwW@Fw1dq!*Ub9d;14_3^VDgBhQFD8{FRbb%RRyKdh{66}Llsx;x59IU zT`|3n0NFuk507DLR-@HTw8$;iRqLTr&v1{cNYZdF_IlA04vbAs7Gda6Pxk0Kj zw%Ep$@C~N|68{f!FiEIJ6z+@SbpbBC`8+1KLY&BRP<8njG3xi zBxfA#BVQmDV4w+2euXr#4UvL+!F*n`j`^SAlYB!MtkdWusO^*Iy7=5q)tu#zJ(d`3 zU3+9eQjOY-N}^e;1Jr`#LUzP5BJ9;e!`(%pxX^>pL9C-FReGIro?r7Ykv=EQ)`GZW z{S@JV0Hpu|xfq}8ha2Nq|Gts5D33qPwN-d63kK-8i4OxcNoL+Y{lB`u`T1eA0lXRB zTuvaphSsM7BuQx+)G-ZX)Vpb~1dddQ7X6whHq;lt^L8}Z`6^M*yF$y+@3IFX-Rjq= z7q_s9-+p8%p!_(S0Dl0KKLd?cdiTSVnDK*zbQ@AJvXOo6BPsJtWV=@|V+A`k>nI5O zlS^{@S;&++1$CVKXCMLovl2CpfLM(yGo$T@e^!0=SQk~}k{g_KXBh22;cu5v3IJ+G zU)~Hzy3w*phtDT``dV_Xds%FFbkF*-y?Shgis&r-@VD7h6+n-wxtk$-774&=X5>cf zyQm<=a2Dw5IaB4?&DW<>J)WW;@LNwU%j-GV#6hZMxe&K)6i$c{=Y4|V)SY^He zlBlVOw*kr%Mp6})^}OE$fbg$V*_y1%tABq3vD0!P`Y=I*Wuf>{9TB{tmj6ll_5 z?u$L(3(eWTmMuC1UHqktkg^AFkDta>~o~u?BkPh%S>#;P0v+ZMF3v>1GFkT{*xKjw4Zj-6u ze7Vd8zM)PIh!Ixh1ej%5%iAK2w!U=HOYZ#oX+wPoE0e9aRxkcrIni5FIOTY`ejLox z?!{_!a+V`rgweVs0_8Y&1y!$kR0Gt8!Ri9QiZnvVR#dMW=jtT~02I?i2p_*p(@?CGo+$?T+5aTeV(>J3)fw_h}p z{)O5LP(MsB&l$_XIa%2KlXfM;&j8k&2di+ot8h%!Cx?^1mUu^!av7mBGucu*()?FX zlr_9L4M&m=s|%a!*VwnXHH3qquglxmJbap6da+?q&dL-}jp{-hX6by84eMh0_tdG1 zo!lHN*r$f`Mxdm6+!H{shO|k)?SxZZ9(2y$wB(K%DZ>>2Q-P~8eyF zFuk;uu+M*Qz-Ty%tvj?AMBnnPdb%Xa3nJBo$=+MY1AA{(jPUfVfgf87X4!d*h;kzA zX!fy5fY2O2$x@``;jqF4K(vc^=ajb6ur_;?sxSSGIVR#gXeXh1m9^cbd>a}mj^99! zm-`8Qs#!07sF&>Tu+euDfaOMZ<1jdgeF{hf<5734Vwd1if6vOXzg=zu8*eI;$YQU`fBM7Uqam*VpsD z4!cl61UT`v#}T1e{5oJ*{$CKIdDK^tP8!cw!S~3kX-w_8(@ct2<8gt3c-A?eZ(eb->pXU+g2{o_n)y>iJj>)bt?f8CUJ5I zu%fX@=FL*O#Aw-M(AxLFXLY$zG?t)@qjNu%zWid?egYj@$eC+C19=l(T`X3ezBTrE zBZO0AmEn!%XdU(tc)y}Ef3(a22FtW7zF?vX{vF7=>l+ZI3hCnkxYZTO=>|6IUScIl z9+B(QG21I=hEMAKlSorV{Y{LC^2dL4YtMIZOqOG?%_GQsw2uJw9#j36neE>3T@nmw zBl5NyrCVJkeGEeuYnUn5Vo4x70NAXKi+vfg0|(^kE^&o1zhDs)b$&p z*ja(05Yu)_AXJ3h>-zB>x5ik>-sjLtaA6(~#x$@zK%2q&`q_=9o%ic46s|1afL|7s z-)E`mNPS=IY3rWVQ+Rf$(pcX+c(Qf!AE%Q>oy1wWFYiukoaTz>4i%3gc$bDAbY`ZC zKe|jg@*!dhiOL?FIsM^X(rPQJp1l%{ampQ@^E1H_1yFjQW-%x&+O2*PWnBFv*u>Sb za+V1zWFEb~^!;Nk=#A`hTF-3C{Zr$BmgEe<_sJ1NGaFJW+1?+%Z=^5eJ+4^%PM5a`ATu zih5SdVU|DVpV<_$tN$&39!rHEa0mwaFD~RUIf=6K4Xeh+AnBJa`bK+I;!PbZvwPVY zI9O7Z#7~U9XXs+@NbezY*?qQj6Q=$pkNwoiG_q6z>%KOWrh1Xd0}BUFfu^@?x#f4I z+W%t#(!x`*F)p^E#6&6_T@sVTH8*-6yd`(Q7JB$n;)+A{6E?P+vke&@Uab@;!pTXj z0f>h-g^lK0y1j0$9T7JiXoWGc%;$*or1FJj`+3Trk84i_j5pT17(HZz{QN@lFs0jC zBbfBs2^C#+^O4dFJesI!l&|_O>-f`;u0V;ZjyRq4$!sM&77JB0HX}HQ6+oX<&(wy6 zM#P@UK;Qf}TVGX6veRGwV?QCG0~2?Wch~R*S5AfDnn`X|G-yX#)9yR&O&^jX zd{{^}FCQC(?1G52$A6vzZ09}p+VNN(C8QSp;~A?u;%6Rf;gn*neiw;2urPQT$Aygf z=BLVz`zXRwBnr{tjrMY|{Y@(0w*iEJd};=d0H4^6jS+c;^b)L;#=-J!W?i4@600 z95FU_vzbEd33tzYfKvq=jSPw-9bV=o)7Jd4e522E%Z_6H0Oo1#Y03G(Sfn_chwu}5$C=wq3@(G2T`wjwDMLr7J^sMJ6k(+0~yU)4uF` zgFAxU2e(en8yT7n&@jkfIjHJ`xtzaX9c9u2WCUo)j&+3nfS+gFJ3>u@2{#aPqB6i4 zaFNH*1ZLipM1_{lKS14&46vueXF#c6sYzUz;xnHiNYXPWp1t5RcXSFt`0H`hF$h6p zKcUl$LRp%z>8yR3=Na_YHxTW-b_+Yza=ZJ?Ot;G_P>R@N>w!^WPCf~IqwMzRz_;~O zAfZ3sd+_VHwzw`l02;?1<%BY;YuPNI69xNdE5?>)Sd0JBMWZ)p+xq7_qPu0nf3PcA zHxJFkfHBz30_Rtr>RZo-ABoN90eQJ$>`G6=ilCzyMCpbrCB24#&zJm9@d4XaIh@ zH_ggp)DXH>Z=xWBhX=jLX zNp9~HoiS-xgg~}?9XTJYK_%NKQ+%+z))luE*W@vWF&5X?ib3QD4XhaAw<%)oo^t^N zq9qF2q-pzPSDM+|_Zka|qvU{u?KprHeSk%XK}#dU8u@8NVF@OSy0VE$?gVm#ZE_ib%C0wQ$)0AW^#9tX%8FcBQi@{RnnAR?w$CZi{&1rDUZ zI-{pIxy(}}SeQ-4*zSt)LRO+xMHiN%B4heDp0K5-jN){p-#ENsG%$aq>~j6s+3ti1 z%C!H;LgC}be74T7fJFeF?3^~RS<2{IjQAEH|JVM<1vm@CSWyTgCpD1hG5~55yK{$4R+@ z|9f|DI-;*!J1h21#_K^l6LLcFDL7lCy%SRBIqh5xY9&CD-ygTs({MZS&3MqF=(M7$X{VnYR~N){Aqv%9wy(QzZ+rg@{C5IGwbx! zzQz8$2uP;D^ZCpCjVz+y6tiWq7Eh%>2cP{KdCruD zsGA9c(X+JSP4t;~uE4DcVAT)Yx?0rsrz@o8ide0hiD7DNUq&LWK;!C9*$toN0DJex z>NwNkY-ubWG`nd)cx396Ugt-P-GiTi7$*$n46Vev?^E-7cL-qp#7p0HO-SI0I4x0= z_d?`FQw|Wa{#^dW{Xfg%d|`mRgF77`fXR?l%q&Wk3d z$Ew92`RBs!0Y(5h45AMI#h%GW=kIG+c&!2ZRPQ9zsLxDcZ$|Q%WNSUZ($QK+opH0b z%3J7ubR@>YOy=+xGM)&}!;Uv4%J`RqxvyQb0KnHQ`RvgFvaJs1JdxUuI%8OmXtlxM zp+w87o1p#k?cHz@aiMLmjjq)ee+D(AF=Nj*EXF~B^h z;h#aF))wI-1IG+*K?a0L* zuxoQJ;k7k`f&+$ZV*UJ0Nx+=|PH$k$X=~zvM^8NP)Z9Oius0@5!2D?Ubh58Sy{Sw7R0&QMKm5i>_M@_P<%M;{hg41&WK0@-cOg}yMwJH0B``#L^v_ZB{MSi zy5aJ91b$PLX?W~KJrTUL z@BqdwA2iFJ)u!c*TWGyn2v)8f)gJF@jA*5Mq<7H+W1N>~o$2?~6`1Psjm^pRnH{2r z&{K=k`>iG8qmk10N1_9YLv$+FYW-yyw4K+pHs1GMe0Ll58XtF4z+r712aw-x|EOav zc!#R)m)23M72`svTW9>U7ILH?LlH7qYgZdhRE?T~oc{eqLf zoLhE*WXB3i2 z;VtYe5ol7glN;=}CJ|mGp@_ZADJ6OsYnNOX_^sN1^77E_D0_^42;Yo_J2D37gjJf3 z*K+!>jo$+PO4V`xtoXR3cg#0B)H-oFqsY!ve08%G%QtLFid93x1|6ZyT^!&uBXq^~lRuZ9Q zR*Lb7s%h6M)gO3*wH`~7T+hSfxocOkdXRQ~i@nh&?+vrm-e3xs7I!8UbZ52R^~BTjq4kgVnz13+3p`6pRATuGzQutWqGeVfQ@CGJ=W3Dt z_tN%;2>!$JE}r}eieau_w{VYgq7FxQ~9wN`oHYql}-Ax(NF3u}4 z?TTL}THikv^!7cwc&l01b=wfIdZnD~-bLxMJ0+NhsaL2B13;aeRIbBIA6}p`li4nM z`Mpo0Kt_b2mK9bExq|<{EoQ!HPKRO>Q?KwPC+}41c^z|u=5=1Hv;(6w_qc70KoCjX z9j5E{#b$;;Flr{9*VMFoaqePEetBic=RAL=Tz|ZY9~RHwbpE_VE--*nzO_bj<(h?A#5JnGiBcI5E5bu=SnMcSo_fz^P?+qaXmjG z37n+q@?C6W7oj!4FM^$+;2M_cCEwZ)Gx`E`dhaOUPL2gx2vFJO&&j>f^`D<7iRtw$oLcwdXT1F-YnIG|1jj_mW~o#JVdcMTJ-aaG3N2 zOTYdW$`g@){d(tl?78AZzT?-kVvRF}R03FCzos#)JTbmHRis`68qy!bLZU|p{F(6r>Nlw@aV!T zr=>AIOUf?S^2w+bWK%n5@DLovgMErTOW?dF@$N9vMt~ZWgy;$k(+iALw;oX;+6q5lbdTI~p~+*{fEVn^{w zV8Y2~rhU6>dwKQmX>bAOjd_9$uO1nYCAyaa(SM_O>3*e?^}H9BBn#~{d0ZdTU!cCm z9F8|6VVQO((V%9!`!A%Lvjf$?&Zvl-Ysz6=(~u$kyV*lM6N)!4lpJD(i%J*f2gtw6 zH4+M!gg+u6=wo!rB2%Twu6yTRB>BusHFI;_$F!)XoRwnoQH^*cKk6?m>G45L`H9|T zSiROjh;aaOX@=Tb*qWAuz}SOe<9%Mlk&9BDh08@T3u~e5_;m~zfm6lXu>X9q8&-#j zJ8SxqKJ)nOq_w!C5n?Y_=Pd?Mzn~Pt1yESbck8LkW$OnJS5#X_W@Wx0GqmFwjvI;4 zd7i}h5M7J2hL+syL4JD52=C3wZWng+H~gI$CrM4k7?p@2B;>LruH*~57<$OI>P75( zz6}EZv1wE#Q)7GimA~4L1+aL?@O}E`4;bj`vAE+7>7#cFF=R~9)|&r##pho91D0c zpr@q2Pj@=6{)c-rOEfNNX-rgSzaCof?kpr@yjnRocmrpQW?I(LB#Z&Q5^@o1zSr-KNoWx_E2dd z+@_}!=NJz3TR(-4(%ps%WVVQYGSNkR@p5xXHzRImT~@bxj%PRK%USI&=k70IvVLci1Rt0FY&YQkG$p2|e(P_F;%;upot;UV zo7-zO=OMTM{4CZ$3-6Xgp7ZX@q?#J7?nndbXLUYd0?=t**{;lJ*md$UFNB^To{?T` zNDJsqx!i=!!bw>abNacmlM%q|SI?1IfNBS|++qvc27byR70JA$*A4Qr3*LvFO%EUd zZtg-GE+QP#05}p}UmJLfp!_hgdw8BObSpY#HRXS~Mrd2F>6^tuhKL4Q%0El~o*uKU z$FTbx2tnZK?Ot+t!l5b0FH~3eR6;*#zj*ev=eK>bshU1#sL;f>O)(XK*)1NE#~UU< zD`m%wQv$rQah8f#oRobHrmYxQ9FPTs;w4OI@32m{+q-t)x7!M8!4WA){QyWC-!oeU z50M%Cf%zx6x{;!K)UG*&ibHtEt+sDwTv)p5kLK*7xtVCk%iwWzHheoDaGxO~W2;bS zvVKVW{irW~$sbOV9Dyt#ihjULv(-+!--l3|4F`$_hNHQsc2z*nM?qr;Ka~ms&1$l3 zpFLS<7oyX6k3BK6AJ#5#^E{*1$@jW?m?z2?3jiv>@uTXp<^$VA!AV_{ePrEFw9pa$ zwk5nW(dJLh0|Z7(fQ&+}(SIhM8-*3wP)lv)=>I%2q^w!@uj3W^5W?C;Z$@|B>&jA? z$^B0Fo}0`)3^Rw}U>Q6x4k{;D?fu4qg-8Lj8;I}bKQ@)oL#bG6z2 z`^U_D51 zS;;_a=VhAtoWQ%{^gsl-as^X>_HCHM0B0nDNlsUJfG4ai&F|l4O zwA|1f$2>_sM<0I?y8sn2GvWoXU)8_3p#m*X*IGhl<}-mrK}n=GW1bZX_9csp4k5TC zU5#=eKLCA;FbzWXQb9M>r^~%rWZ=t;-bkN6wV?4YJxxx%^K1U*rtLtNraFECKLAcmI$*-!sPFmrsxa?#r2T;}EGBR3@GoDe z*Th1AN_2y%_~}o=^I{yq-^+A-4&`PE9pB+=>(Gf}fQWW#v%5{Z743KjZtl&b!L>OU zHscg#^1o=%Gb~($l$NoFB+%oBI1U=|PLJdcpIu>tFkuuNz-HwVPdD zq3GW3CW=lb4)Ax+9_~dLgNV}Y9a?&7CPM4v(G@ykOkN!Jmz567M{?!rSGG=1F?6<2Y?zbTpv|7S_u9 z$8l#Pt~e}V;gahGkk_L`lL=`Ve-f}0Y+Dl*EkXTnH{JNGmvtUB+z&Z%dM>||xK6LB zm8P};AK*y{c7!#Lxn}>P0W1E96J`awd!-4lvf*j6la?~CZQ>66Y>9qj()3@Kj*0XjU7eyh*^bbz z;qi*|2%Jw3dhL8jQJ4+Hp6Do3PYnUaXpkGdwM1`_j`pen%gbWd;`TW;eyMt}Ov3{^^lJFMA z^&~-qQt+-ZFG~D%scV%=A=rX_XuMc9TuM{Sx=VN1O=aWFsUF~9KGTf(s)4t=Wjl@# z@O=4dM#s6W4KzJU4a1ARg{28}=Tv~AnH2E5_%w{(8tvxSkIcS+ z0EGS~@*JkTVz__QVq5=Hzw~XnW%OM`lFE-%IuP#@x;AXDQm>Lt`)6wJ>`r}GBHp?0 z8f0Tmo$GeJFuB+tdpZ6`j@?GR9lHDbGMD57?3F{&TUWbI+D<;|v^r|MlU(1Y{M}N?A@B+(Vk`Qjf*)Dg z=VTwb-w0s+!=CAxPBwGu>>}Hm*KG+EXs{&)gYIY!fIr6qbMFKl=1 z=ipXg>mrcdKIdeSzE8KM2$W?j^0?HwNBz6M$cGVZ+9#`Xf7#fo_18$YyXTty_+5W- zs{O}+u^OJz>%Ey~;lPLcBGmsO>aD|?e4zgSjSU78BNRbkfRqZzXpj*K(ikA!Fgm51 zjT$Q59ZE{K^bkLEx8xA%mhSJK=enNX@9+ECf4k59KIgp8`{l&;(Q6TfnYCEaF;Cqt zl3jbX_GGHtw_eTEDkNmI#$l81WWnH4-*8h9o^EDrN}_Yvz5T0W#om05D@FVFz>lbc zCoeG{5URhMG74z`O0>F{dV@jan7X}zcTUgykDj=$zgOZ>O?;rAte4JPxvgBGX6N7T zxHw31)uHlMzgyX=uUHAv?j1P?oeYS;HQ3gfInfemJDW#Mh z6?&k4x%uhL!Q3illb7~OzeQzo<{U~IW`$2dZP4xMgP@J?OWQO1Jucig%%8#_L?CNG1NoZ8-rj?iH`POr^57(BSADmO1;r5vl8@_v!#w-CX`*OBWDZ29cm-`9!zL*qc9vPfY6^K7*0aTt`d~J4=f_|?K1m>yz*=v z{(bap0DMCjNdh=Pjc&9-ym$(1{JXANt=xRzZQ?=;o?K$}$r-bR7L-5PF=JOOW)bkW zs-%o8&#Ucu`CH4=n`&5i$ihcTq;^o=wxLqN48rKdAmA(iJgS>hBd_KA9V`@U0PnR- zc+diNDRGg`XN0MdW9D&^aK_u9S@qU5ZeP{Cpj`9|iYihMI!;fqt8^YzR=;J@dyl)1> z)^4OKmT&PkP?>Q!+qcfzV0s)T2Zz}ntUl>7En54IaW>u@LkuT?)uphtO< zz`D}|{r-&BMfn=-V5QpJ7i71}1xnU+V&Ju!V14>e2v4aMxir`JVYio7zx*aNkV$^} z2#-x5z@Y|MQis8;#^guVG7w}=+S@AFqZNhQ0lr#4NhDM431tNdAWo42Pg^IP?)>dN z+Jsn&mZR88k|e(pjQ0)x7@DV^nWbT*H}!OiTR&O#5%-yyRD@14UVc^le34YGw!@?n z7PZ@;#gwDC_Wi_8$GEDvkr~%<`C*wu4mW^ZtvIz ze$YtQjxq67E3wq>YuBw8jEL>OReq7X`hQ-4_l78QXHAk*kV1NLiE@ROMyrwg$&lMu z=xLtX!o=kLE83rb-g_EO|wigw$o;MgY^vm@1p&_@kKz&3XSn=M1j_o=a_7S{sDLaza|;Dn_L|J`zgVCtG7WNbX+=BA)qkg94K> z{FV=T`d8bF6JtW~0GWNXFI2cHvz_V|FhYc7sf1H5j ztDNcJS?*Yvcc@pOtNBOh4p|sHRIjONZ+05Nx2gb0-msfb_a%s9d2O~&c}8@8AcL%A zdCVd_cSoC+C)M%giId=2-kmI6i25`mA~F}bbKfa?bfNDCmUEl^Hmun2~zx+4q$Mdf04H9Z&Upf z!E3my!gre2e$Se&^c#1+%}J@e3zBV|oWJ;%ST{enhA}`OCZKZtZg~G(7O^<+?aM#9 zZ-uM!lXME^v^T16FO}b3sy9rrp^{$`=iI2go6hr!aZS_WED1@N;AY$E=pb5Ss-7c} z|HkT6Kye=nd-NU&0B*B)Xt4zK*ZJjW>9~Cxajyw?d9G~3N!dOeCXO2UC8<94Nxv|c zaQZzhD*JhkY?(sy9^1jIx0jX;Qx9ihbY_{XVq;!teIieR=5Rx1hZXtpf}pb+isUQXn1qaJEHzxdT}7Lg6N;4LJM zmnlZDoa^*+B)UlE@l-Mc*e$0!LkoWV?Cdz@XC?h5^{FmgJdwE^Q%HH!FJqj?%q4ZE zTBxBvez4!<^WVBb++!VC`sjgP3E!c6Ep4MB&R-)MS($s#+4r+b{B-LfV+6e-vbBrBXCU?{a+0$XaFwp4Jk@9j{a!pYZ_>06mu<21t8GZtS&K$rNC)nlTJRB%hyWnESpE-U9@F=p(0GHgGskPzjBCYPaDom z{}15ZC_su~`@V`h2_nPH0_I+#f-}wi-1cPU2##ZgGH_^S0=ArmriM;ubfAiSrZTN{ z;$wS5Jwd;2ghewvaJd!S+E;oVce!)*!Q6!tVL&Q|%K^*2&uU8~f1Mp2ym6B{l#&AO z{8uMC&COxqFjaXPhF%7w91onq1uv0TZm_xOOd@Epa<-8H^qhbf!)_o1u09*KL_^7$ zo>^)qP(`BWY9inFDOh6q1;fhu@J`3~for6Bq(`;V4U4eg;f^fntI!<^v~5tChqE-f z!{QYf)(7fGH@t-si-?($`Kvv*L3<0OX1txto(%|#EwHif&VJ3oo@OQgUz!1R+9cc{ z2-qnMMp$>=V~M;Jl7>LDMv?~xTE6t=L*!JaX9q+`z;Ac;l0P){`{gjxe84>tcukV> z(TRXtTa``XFBdT)v=9=fH;<8dLjbi5qZbgHst4$HwDI@y$;3S2^Y5s2Y~Dk^TKX0( z^80hQXNRl%fA*ZU49W_eLMOBX)UzZ+A?TpLc6$EalwaD(!$}Y9_SUWpT2HQj>cq8H z4a5io4^CvbtL#+Mmte|E%s)(zxW7Hii+Hxp0HLGkpbOIdWe~2gfB89>!c!}+iO+CT zX~|mU4hZ7~V3JxlSNK*aEh4(#EP&nkoncB&I}**yW$5EenM;z0FL_)#AsdeH&e{tg z(;VK){Vn99&<@ePr*L(otl&jE$slF(O~T2k51$ao#OZ{fB&g%S0N8fi*pwvXM- z)O2mMn?{Ql^uKM>pH2YBUWmTxe8F*IJI<;+u9khIrrd>y%s4bh|47{#CLNiC0z!z0 zv7C%R#E$-*(@E3!9N`DdX~9y8F?SAMB_lq~rV{eKedbT6GrmJBeD<)52QH^FYo}yv zqZ0Uy_r^uR2NoT>alo-CBtg5w$c&%yvvOHyQJ*WZl>EAjwrHbHF%ZqRW`o6&L0Y~@ zeW_5w$1NZb3*S%Z>~r8D!gnY$H3Lh>n(l7Wzl#KL0KGt7R0>~3X;U{r@55e~&`5yB z@KkFR2@t@!z*|(SQ+8+yoy+CFf8lSWajx2gf z$b~M59#9VCSl;QClM|kg>;zgt2KlkS9%E&-+HWN1p5m>X<2hD9#9y}zU!TC6=7M$+ z%>65_a$ggi?0Y2$cHHdF`e@F++Zb8n&rD;Q^dG^LAXb((l>==7!m-jr*N0YE(IHVa zO>N|JT4M}~G(USDUHGN>2M1I}9UCZI60(1YHQ#wrk~&~xu9%k`T&DIPYx$4J%;hyW zYz+vte9SaQ82?_mGFK-`<*}J~dG#l&X3*V`13EMJ@iZ!X6&5@h>M0EO`2?NgpS(f;jS0|sT&eN3w2Tz7PhFpbc(+6^_?TAy~1f! z;%%r?{~~`b-&Hn9OifL-IWEmlm+4>4&U)NIDEc!U`{|(C%zEQpb!}SHzIwVg>HNa< zOKR`77ya#M6j^8bSyS5^7Y96=VLQS!Q}FXuZ%$8|f6B#bs)r;dzhC;ai(qpiLlhdS zv2dVDn+i5%=ihrprm91Zchmd69#1i~V6a#W&4vm|!8XGl$1>5+voxCLW4b%ejB8Hh zDJC6fF}0zhXOoj4^vhEbp_q0#qZ8`x}RJ`pXLSDYi@R5 z?K#1VO1hXEpQ`_wsc_F%crj+~zq$2&LN8uwPf6NQ#WO~}IM28!@2)nkO(o2n@l_hn zRnO>V&y{p22U%bIEP(Y^~xkj{IS8lBj|IK$JpF~kqy!?#wo%b08CRa#%eieb_2?JZ>)GXhiN02 zkIea|a()d5-M3jG?`4+>JyRW1y6n}typ{8TEX8gJG^6zs-Kj$!nri~;*#yrGG#QTe zRd}EJGwKMcjPRkOzHK#->7@78>`waa;yUr4Rns-@ zb+(OiEZc?r7!zrLiI~LCo~LWEe_5!>-cNO*`5O=_8N&9y!~Oq8gdxlWeo57X8QgD3 zy`Hp^7ik>zDN$O>*SmP^^=;-|OH}aVSgBtryKcrE#`vFQd8Buutj*eMY!*mRjMZ5W z&&wOecRDT6k(O6$iE!?U2?HZPzEq{7t@VH|KMm`tWgSfcWP(}m@_#qVA;=Ap#iZ&V&bToGSn-V(F&{!mEw?+WSB z*ftPb_4WV+nFJVCV3+4P2=LD8$XEmnre5NfBAD046QWe?rOQ&3m417>Sgi8)U(F$s zO=MY_dYj^oB$hb%S8RDU``x&{%OsvYv(b)GEA(l=&)f^^j5N!#>-BspnsTFI@u$x% zl85?b&g0)lb)ql{20rp*6=BQA$p<=QBsH?X<@(7YK$?Dk_>2a^nkp-rksZk`*JdJX z)cI{-SW;2xRihhPty`ese{e8g{uy->Kwq2tOwBIH@~7H2H?ui7t=zyTcJ)CZRu7Lb zj~V+qeLcf{(H%VRs~kvqQ|Gv`Ijmyw8KeOILp*i)TQsP%tdF3>`XC;-&?79@^}?Pg z&$WlvBQ-sSNU?E0O7MZ0%n_%JkQypAhgn)p9t_+_U{Mq_CCGZp^oH_kHVqOmAo{g@ z7mKW>qY`tZ(8iE`=7c}O$n5>+X-e|rce#oj{Rnl3*1kT>x{FR69X@tvy3Fs@hYcoN z2ws&z5z>lpxV>MTmrjOAhG7WU=6IbZ;EQNPZUp61e;q5iy@;s?Mbkzx(P|FCr6hv+9_3*le28}Bi0-;wbA7}q3zdMKwB(`b`h z)lj%L2q9NXfMZR?*D9U+FWlUIKx5G%k{?>^}f1(B+@`sa#AqG1dY4( zORBYp<^tm1dd>DZpKkCx?~*Z>pjwe?wNM_v(AZ9fZpd@$*NTpnMW2;Yh?JKXK@1B` zIy#)sZ$2F>zzqu=VdMZAW?tzC-;%3m1G%p6&7_=^I+JQAB&>M4I6M=3Acdk%`}e)kCVJlo-Dx&Tk=tB zneISjslu{!+>y1wW}onIDn*;rpAKyM?}tF16s}+4x1x1<7;d|v^Uh|{8>)C-#;YaH z;SbFTEZeZSkYmGSWbA3!*qWBZRT8Em_Ier6Wdnll(Nh6rsj&6T|23HiTJKr)vv^Kj z3=CUNtH%>W{7M30K}*@dcm0<3dm40CmS?N`HD-u`7AxePbHx<@$MFwrrYpMN^|y z*kOCn=q+Jl?%G@Jv0Fl{C>sE_I zf`Lgn5c;i#o)65^K@uIgX{zo5|9*6-hMckKGm&rxNq`f4V+S48MG`HV;;SI2mtBU7 z5EB9>Zz*uyh2&W?cZZwy7U2ajAZmgl{oiqlPB%iVnhc6uVI1dwBAss5e;Wy?O$;eL zi%qA9KXk~V<ZHoq4RieW{>0nl{P{hEswLj~>ng)o|8(02sh;!n%3gDuzFI}L z`%&Ne`$w}FHC{F7)5~l^9+Fqlt+y9Bf@;{TK;1Pi!2Mm(s4*wV^mL|dYPp&!9@5c;lK7xFY5mAZ$`gnLEfqMOjbliPc`P;fazRe02+g{F z^Y@T+#Uj?^2e}Ca6ax`w<*fS)By0B{R*bi39+Lw&FS&8g_+IY}p)t=;5WKpAyzQfx zVT-wwd+Xz&c{%l9bMwLGXjbib;%#JJpr%S7i|9(I&2gCt0)R+CJIqhXe>4}I#Co=Jk|Fc)Gvyng(L00N?O z*?Iom%|3jwLb&OMpT&fvd`LQpLiiV#yS)`0`DD3JrE<{0c^V<`UxU?PKKTiGF-N*} zFu^N12`b*bSR-op5fS3~xCay)Gejn3gQe%2St^D&3$#6=6p? zN}VMHUn27(eajXxC9!-KBtUgH1O_rZeTbab(7OJLm-sa%XI&@FSkO%n_=Z{4K;_1_ zg9qguGxL5NLcK#m&xXaXyvyp3KXSCr#W`Y6&om!x%Mi&}AGqAgKtR;2`MV{+ep;yUGO6DrwX3i1~iB zcYpPU=_>Y~khkjPH3?r-K5&M-&=aL8@!lTjnIOujU&N?Xv>X8mP`4Ti3mT{)ZL_c4tGP7}tIA zx3e3t$6clmT+{6Sygz%9?_Fjp_RGK~fa2r+%G#St3d8fss$&NH2_>FuuiJcn`?F}7 zURwuGmpCg)}%Y>(@#f9_fAE6iGI`4 zPCmG3MNke#D>tFxCm#X@J^ych;VO#j{Jib0(Jl8Fubw>sTDh|2%B(hId z=WVql$%3Z^uTQlRb$&vVwgzaIFq}(cgErFdkN4RsWCrN(dT>)XcqR}19<;tC!lHxW z5M2tn)M5qaF5zWKfGP`pYhchI@}F+KFX)L_3f7<42qfeT?>GebRTx@X6nObYw@u(6A+=p5E2baD@JOv zu*IfLUf&>*4_9+%DZnaV?SGQWl+Ok;i{ls23>g(=EF@IBvd*kJY;YuiY?e2VBTsXd ze>NuP%L%;<867n;kotVP@gcD)!B(=JNF?iW*!Y50|K)>SwQQXEP4wySvs*JPs3RFn z@pZRf)`8wc)b>&pJ95oMpwmb8k<4uq0%sXJW08nTf8NaZ$>Nqd?)523D}qLnbA4Fo zRD?)wLRR@-Lcw7Y|C^jXieXQ3RsUO1Soi?KGfKR_RMrmXpJ>+Z#v~qs3R?0b+``hqzVRQlQn$&pR~S+ zS^S+W1ylAFB!gU*RAmsj{TTIF3ge@!#ddeFC)xUQR$tkCiMSGtC@cEWehYUR@m6GVuN zJLz5K1BCE1!(GK}yXI1AGK|$LEfPLbe7+URvjOYua z_AJH0oV;7xv9mL=MzYj|k{+tXWjC3JN1l3P+2(^mAK!Upj7+L3sf?BB`8*7aH4!&q zycwHlWdg`OSwj22rxPWpWV1PS?s-;4AvO0sau+pBl>@R^(?$9Bmtrmu++5V*qnMQa zNXef*L}G(EsV`!(dLPz%@)PNnIi!5M(n!v=Z@?!{pA1~b{N(%O4vprC$9|SfK%WD7 zbpC|ycKe~m-gb`{H|-{sgW*nlr5!LNuYsWPr_TJ2v^+F^rfP{s6)Zk}|2Uu5mAt-8 zo8NKhp4StMC5b>{PVl6qftMCm*7dF^1#C(&p>OINf8uH4c)`Awsv%}V|3j;1T$l%A zcIQ4(l8EiRTqu(s*=+JE?bqsEUMQE%c{*C(4c=+5w4Xl|ZcH%M%i}UMs!=6pgdp;k9z6r2 zD3*v%J0C*Lr82y-Bo7}ZdoLWh?*4y^yh8L)5j%d7N3XfF{lm*e>!DQe9Zmp7OOgvsse~yCIIUK%XDO4%zl#M0x-Uom!aklCN0iIbZ zoCvffh2~QYlmQgtW~RzmYpO*_tPC=V#}b1K=%DlDfR)P!P@U*=U9fDYesiy%bUE9q z>5NP$;PF3`K2|9Z0l0~m)_M$K^l&hnxJd-E_d7})gupWl(A%GM{Zz4q_yu_QOS5;O z^qekKJ@N>BCBAxF5HnAw_>)bplaD>s`ZDG_?y3uERW*biFw^Rx19?PtE*a-d*TI)3I0^JP{o{Rfq0y>zphHD0nSlKhgI+7Ep}~Sz+)~ zS^e0$3|MiE=Kk(B8~p0jl;x#moxXJVtx4xMj~w&v>KxObUJj{;ZmA?pCLc7y@Ek2B zF(KNpT*q=1?Bs7~lG+!@FGsJ+kStNoc^jSG6OnJ?enwl%Pw;eUXkaDV&83!wfC7he z=!ao>?aSG;W4q~mV}s-@0yk@4-0`5^<((~aH$L;(h{o%Dj(1by;|4C~&DzQw_?o|R zG2Upwodr-4+Nz|;C_Kt_#~f6s_>4;NhOui@a`QC+lXa}qOe+8d#B-7x!~N(i6QIy9 z5{m1pjDK;%cCs?zecAd&^i1MbYlENu;9VUoLQiGo&`$yJG2|m7p31?*>e|ccqMQ;` zh(9oc?576>`497Zu2`~ZbNbvPs+-4>)!r!i;Ee`H_>r_;_YAM_IPXRZu#zk;kDu#g z$`v&M2nA3zX1SAk%h0_Ar)cbbz8F{w05lw+p9F_=TO7g~I5SuG*MU%>r<-{arLyLm z`-CgG-qC;Z)F??jdIgy_?HowdTy;3p6ORMO@9Z`)3IM3KHR;qXHr_-4uC+*}OAUZv zA=oP3sc!5K%RG={tE+spR)1av}K@D7x!C6g-l#vfHS ziwYC+v)CQ*r;wpVp_LTVxI*@s04y10xSM!)5e^9O1zq!TZ%NhgvQ=C5zr66>g->M~ zP(!=9tYX%>t`J9y)NbO+pP;;7Qo9i-OsQX=$?m&LsewL0+eZZpG}Gq;}fQ8Xe~{7&LruTX*L1>A&-? zYocfQc;wzPLib)_qnje{P2Gb{x;cXt0DuLcB=_<|Gcc$|?v}wX{>j-04MjN|Q=jKl zZ$QK>3oFz4N+7aB0Q#w|m~s-S6Y0CK&=~uZ-Y+>mSp`*8mgKw?T|MH;TN8 z`=+#_j{nsfYtDYR^Z$_Br@ehbn{xKS>8;+Sv&Gjz<{QPU_J7=(#LK+;49U~RQ`qZA zI@XWMw_gkv#2Q|f=dIsc3w8)jM|CLKT}p9n#7mvVUoQS%Ny`45eK=aR5%kohXKu$suuXx=suzBVz7_6J>MiumYt%7ogwypb0W4Kl#(DfXU0!MKc z9VdJOkiqD$cViN)n8!s`+pJz_mP`t0*j`fYLVh6CX=y8S$qTk(ek&DNBZKv>IG@m} zLi!8RNla#j|4lGZKR|MWf(BthyG!qrEoYfj=_owG5hOBA;4dl;$o4}3^0c|oujZH*0NUQp zb<>3p0k6NM{4($iy_;3Tc>4{LC+$uMz?yG3-x;%6>#GEYPpE@6fS}&<+h~%{>V@W; zw6hmiW7}6_44^Z&^G%ticyxkTofZ7^p;Hbditjz^q}NVD>z4C%4<*xUvbf-V5Ey}ajRWae=oT+I4*+%!!-i~1 zKfn^00$q8Cu*C0v9=E+x51X6575?i7+Y;+J_#kSLI5J*-LJ4@K+P0=fl_Jk(2y~`$ z4PJN=x!S1^CeC_e)OV3BQ^}7Ddk(RFbT!)G-}(_iupi%iPB8KxeI5ol+$6MoWXu1Yflz2ziK{@@m0dy<5V3_?d zCHV;QdKd+**>#=8cG^oRR2!$c{$hoE&JeAJB`4~=AUhX(2YvrAf5291{{ss1jY6f6 z7%^jR>CdP>Wv^seok^l@YlBC}zPn_~OL`Ts3w)EVAdT<({TSLtV{dH%P}IHS#0D+_ zOV;X-JgM+nfI>F1?Os>Xh20?dAlkS6H9fR@q42{0I5vY%#X~0uBi;aizUsneIDHQPtCK$bx5db=q5L@4wpC-&M=jB)V$R1EG3s05zc3NyvFNSPx$md2qH@~# zQ*!y=Pc~bVTz@&kY5UMvFFzp}%tH=;8a{a?(LbK2DKyXsn!rP|`u+baNDuMJ=}%5L z4l3m=7KZcjTIp4t=libpVj%QAH#z9*n)By~QMoI;x7-2hzCQG>K?+7kW9H;kItnhk zR=%0cDqqy$Cj!g-dUgxtc9b!^l%9DZR%mt<6Y^n*DGwCZR=h^(WAUGGrPAwVO2?Nz z0@pFGzhA$zN4-)c6-v!ZIS+FKqy{ohG)7UrH|lI9cKheYp7sw0hkEg4VeV7l2qCUP zs|+O+_k_?J)~MIjW$Mqva@1|I<~F#Zk?JyQ8kD7wpdoN}1W9bzG}YgM$k$Kn5+X3( zcuMQ*g?OqCU?}-L`BVV;QjzV|)o4tNi3ZJI4521I`*4vjb(I9#~py>ApOSto3c9M>IqbR;SM2_e zewp5MKed0vOJ-_r?owYIHuU2fvmjNIuz%N{59)YRzq+sOI>2*FZy%q+$3 z@40}6v`C4e+9|x~upk^rcOJO}61%R`yZoux)Vg1-yfl}%xadhs5J0NLSn1M@%d7b4 zB+wv@uNL6c8}OW|xSQRP2Mgs}dDG(DH*=%3J>&LoxPfBV_bbiWZw}jz_lm05SxZ1q z__<958}=-@$hHA>3g6YByo}r`PDH10z`bkq1=cKNXlI%=G#+C%L$sC$j1i~u;DV^IUW?bIZuea!O((%{?MJs-r?P+ zkHbFkrCfqV`?NQb-HP(od+P??L@R%v;Lrhwz8nYetLx7^hMUsH?gzjcx4&{an33jl z1&z%HD>|rG#V;|gvTh%O?8Yiscia9NMUwn3pyHHSszit%0;uciQz7Xob z2K`(PFonxWe$30#itISaSR2|^IpRK>cCj2$LStHVgGxx=@!dlVC_h}#*rR7VuzV9q zdL*tZU2}u<$duy7vBopH%<}2#U6%q`sVl|ZOeHM8_MrX^tih*OeNnNmMPglH-ZENG zBfqUQ(JWT;CwCpKe#L*$XtAIj?lpGyPdZKzKupK2sgya>v&gLEvTs*}Fw5?jS;;(& z&yWY_=>azC6`K~c)p(oH-xizIr{P~(*z|*H9bW{mMijfMPtIzqG`p8EO_bSgc7H$a zL*|KIN#2x-P7dw|8aF48saTB?1peD=q&$e3RG${+8Sb8`3E80@!0S^#7R9eDRclD< zy8a=$hb?9QH$rO1mHGG`;D{3wa`dl%k)`If<}r>`nl$)1P=Od)T+>litB zwp?GuLPR7_7VfC&DAn4uIGtGH_^P#jv4O?D8G}z}<6|00%(NkdDZuG_>4PR{b2=Jw z*O!i1_^HJMde-9OKsJj?r;WXnA*FzHgFo+(x68j}4x|Lhc>5C~&fYsfobnP4+ORc~ zc;+H=&?>T*p$B~if>AT^asLPJ|3oM-l74%iTIM<1s&1J**&Y!E;!0Ssd50cMVFCzQ z3!E{K8+rLCq#LxaPXJX^is8S3&{!d^`H2!xJV@n`H^LA)0^VWGx=mZz$+eN6tek?r z$uQE;J@F2~;T<=&)iOh9Q+aMaEC;yzDuzO4d8)vwC0$j0E|m&wW|DiLBm#1<`ZPeq z_b^Z@5wlN`WBHa((Edi z*cmQ(6;%YZJM8%AN3G?$aT*$KZy5vK)T2CxGn+PNwxySE&IH^#9wkU zjClqh0>otIuOnkpFFKFCitm0UN@xUjLaJd!X%0<>Gu?({5m z0HLu^Wrsy*)=pC`b+yW|XhE+0P*9aZz1Tko#i@vAt%4r7W%r<#&c1*ET;ms^9t5sq zfb#LHSh7&0fU`f|%=MRMl=$oI0F}7-ny~e?vzqaDcph~4Au+Y0qU2|^2c0tk!mm+d z`~BKWY->@lfX>gd`cYtai^Nti2zK@|X=rU2`2m{%-(&}zH~asZs!zRO#@=Hy87Kt) zBDod7%v>|uOHE0{GjIbMUVlG-X;=e4fIB&s<{57(-rb}f_ZvzJ)o9fLsBAZ(@UmJHwYE zq8_zl+Yg{nJK&v(;0*l$hd)i?cprjq=F%_x03ubQ@R7b$IDly2)0*smS7A{Cp;klgj#U4F9QXWefC;3e0&j@0;S@2$k`af_dRSQ+hG#njrEP13 z8(;Rk^&&6=xTT5Lr5YAYGvD6cle)hzP!T9}_B=hXcMv(1%FBEG4Zsxl+Gp%y@OX?{ zG`*b|+c_;U);+8LsKSekt{cq)|E}1ikGm+()zHqu{Ph!d6 zP4vdLRQQzsCBadR$puEzmFJ4%NA-@xbASJQea+o|WzFqDtuoQ=;>EQ3)#%d&jSCcRxFYMYl#Tb|6pwH3PW z`-ZQ@xx)7+LH2>&dhO&Jqf&FLjsDLsyjO>=)~X(~&9D4Vs`>lH?NSs5AymmT+b4{-AC+YTlrNq_xf^Zj zO;ijqj!r0wZziw6!Dy6FK_;@1CShF)TyOe>vQ$_+=s<-fJ`Dhaxa~#OzNQ%&1iYIT zyd^dOA?S!r0O3x5HPkUO0Q^&j;Z&aj5zMtvh$BS?sT)gwSNdTf?o;Z?8{LKxFU~{J zV5-;)hnE{-?;jl;bd(b+DC2+*yADcswvTUySNaIVtP@vO4ko{g@Im|-;gPSK{v(k5 zND+B7P^CKP4FnT#OhAnb=KbasI#*eE;HJM@Sd9tIJCHFMRLk`3p4^nhOtTWHP!H#) z9EpDd6rYtHx4s3?S_HDN$YR3)(kM(7yXv3r8kyZ4NpsjjMt6V28v>qqy{q6V4-ffS zOR{;!6u!PbWqnbY?&ylK&h(}H@GQKhE-LMPKj4$aNulbONQnwkko_rRhVnj?RGtXL zB3M*5MZ4kIKX?FLv)$^L;X|fC*m`{4z;ys-rz1ZhC=)?7!{s|O&iS*xQN)IiB3>0F ztE+%lH*O(xP<_G`)>&Ixuk#`N?#%?@4Cr3zz`IXi@FQ&96FMltlfTZO1IHk29@}%?j1^ez$s~gzGS? zyl{N4RC5$)$vVdv3>01oz@;9l8H-+U8aug^i$NopjciPDXnsT?^L265@lu&mVA6$@ z43J`=RKNYb#LBV)!1#S)59zg9Ud*dh(qPSql0!GFen|aGtxt~c0(fRZtsoB1jX}oN z7e414$Zh~zOs51oTJ}iqwE%$(fCS1e4){LKWXk`D7;XO99v84{c1kiCt}Fj*=V=LJc=qg8lzx zz-dVMBqMdQyArGd?NOkC{>-viG%Ytb(}{NTY2m`|e6VE3gM*me`JFH3tl5b$pLf{K zj!e}a2#jATi|`=EH?{hWB|Y?F-ZyNO|H!?(=FCK;k(N<(iCO)jw=w7vANxE{`@DLB zv4Pg`2`-n-zm@l9)u_y=Ay(Z5JHbvVyT!L8dbY=**ktejKWi!#{j5}hkG*kpL0&xu z_DA|&UK~`htqKIt`YBp*LQV|^!0Tt6Ls3U7vzG}0(jW3Oo2Ilhw<(mhzn}PP`qXjU zlx}T*+vT41EBKCm^ISSvxYCV0!@3E-L;Lv4??5i)O{d?v@~%Dc^>-5mU85n!_HP%V z1|D5Hmzu-V51-HDPv)@rler7qQjI5rRUZ%VRVY;Nx#LIsP`f2 z2o*nnk~&e&IL zhO9=TZemxPWWK22BO@Q_2t!XgCB|v7(_lv3ZO4J_4oix^M5=NobF0LUx3dOb2K@xS z!Mea(Z**dLjV$zfDNK%uz0%2|Afcvjo%vEI?Q_U+iu>Us7Dh<0FnToRk@Bw7?T|@{ z5)JuvCL>i*5Xqme7;tun3-S5yHx52N(K@^LI!8LPrI-(ZB8#GfzeLrobkHn9)vN{Q*^5kPC#|(K_Mg8r z6_5oGt;N2_u#XDmHR`dpuF`iQhOrc&^cKc#IPc|9Ue#?pR-NqJd);ET51ANdzPqc2 zKiip@Dnnmn?$}51s2p$AWl0@13QJy0JTPqB!pg!bqjsSGxvKd*tzF=K@?VEQZF44Y z+4B##8mHSvPa$&rlSug&w;924kwD=up;<0eowbRb?w);lVQm0Y}#SOZvWty#{nq9AUY^SHhSYY$x8(nH( z%2BZY8Ga4|hXG)YUBJsPb;pGq{+u%W*NnGbJgv;SqgridukuJ!W1Hp`nWmUo5E1R` z4_OWX6;qRpZmwqt;YLr9?N_wC}#QmbWC5ik?mrDgYK*gj{ys@M zYN^n%;v$ydl3pANaTaUKoLF+Sf zSQjq=K)99N=9gtcpfAm4-^FNh>AHpG=eO_Y41P>YnWEpG*S&qOa#g~}0BJ8R8h1D{ z=k}}W_SZ{a{n|Pm41hge8+9WSSil<&#WHN|X!ap=lz6ANL_L`&#RPytyZprcBv-S{ zc-M~b4gw$!dZIQvxgaxu4iyd3?u>bab0XEkfT5U26x&H^*##|CxvyVfWJQLTdtvj(+*#Yo(!CmKESEzq{@kt!xSw3k^bQdQn-SPIHljgO92ID%h# z<3x#Gqo`=fN+pA1|HT|S2&l3j$m23_7uN8xwQk?jBmD8BXPX}eI+MbK1!5&tb7t9}#eCRmMm|9M zaJy!hrHPr)c*(dB1aHmiNPz$l&@54tyQ_&RBn5hW7|AW^zg8vezc(r@c{!8DAMnWa zFX6Tz-^wA$@hG%9qhKZT#lcmb2hrm6Bi$(EBA6}_atq14X#cxC)Y?K%y8Iv`M>$HG zpjtnr8uMEWvP#w>PTBGDB!_HLce?Wv9rW+t8H3n9yH`s9vFK z8`#t~&cM1{o-bvaEsjl*B_bw5tXvaiCvMt4RmR(242Q?KRwVox(<)3oU`?aoIj1-C zLYE43Iu!Y5^0$IWhnW0!ND)~D2upV9q{mO$5^XcRbXiH0lgC0w44o30TZ_P#V@ATkqTtKa8PAH_|?Df^oV) z`Ug?cxUh=Og&Do-`<;wq+cnIWi)uQ!h!BvdP0 zZD`{#x!#JjH&Y(;|1D9a{iAvdPkp)W$l@9TNwPDqZ}JO$Vgaw&;j@DWaL$2dJ7E$H zm?l@(90}1gAv(%0@l7}N2-w~x5n&N!#r`L5 zPCE}uFZ@o;yi6SKKL~h$A;PWCI~y(8B4ql=Umh+rcdpWfAT0wjMHgm=zxvnA|Ce-) z{W26F{Ssq&Cn}iFMQg~(`|8}IdOOtYwt8`nw zxNzg{X_6c-tzv%Wk0?6{AU)dDlg^mHkGCf<(>_f%J#4cj&&HVlM@TvQk!KL&jRX#c z(@+(>nLGK=FXcrE4Lm3tBo!l_>S6(Dza@z*S}9qxulV6y;s3wwoR$7XHg+L8GT2ya zVza&v-^|VYKLF!E9KYi}t<7@L-s?dD4`r_?4-?cEH2cjvL-Tzw2E^@wHgE51e}Af0 zr={LXS8E$&!1c`k!Q_`#I_mT~u74dTpxL_5V2ou0lI0wkb}mWdS$oLPB9Ov|`}JtB<UK3PYbI}sZs(qhOe(Z7f0abnq>yJNLfnXJ-753lHRkFV+B z&#vmm^`82@w)fSOOeV#5%v?4CF$9LF1NtYy$E{?-WL8=PER6{hpo@*u1^V83yd=ki zW%9Hcs~(VY=8|XX0wNMnqtEei*|U_O^5EKos)MC~hj|_k-MbzScs)FXoLeouJ(OM^ zO5Y>PeklDM9~8`^_kB)l8aRMX>WFbp7U2za>pRkuomyW;Qiy=F|WM(1V z&P?FtLE;Z44l=wu@eF?ek9Wt?t#M_5!>ool&jb+UxepnW!rO~`U_yNhK(a(B4vU0k zp@{5L7)y1G7h+m#(jr3yI)MjEk9VZX#tnhyO2%?PN)FKBE1g=;!t`jnmjwVp20N&S z+!~Rlh+*f=DRN5gW$`uu&`5fD;y?so4|RB>BfZe8^>6oT{X$p9p1>dCIL5=hXGQ;s z$vfFR<@Lv_d*B+wb=Es){16q&EN=Qd3<#57S`zR+&9R@r17r8fwG~_Usb9Q740xDI ze{Wdndm)$RFMPKI01w7^=-u@i;&A*5j6I~rYU!0=H(;7*j5Z|qCf<)NXj|OR_5&QU zVL-;A8%Zq~f6rI7o(`!&K)Bc{xOB-90DP9d1l~ztu(4@ARNhXo9$@m}SHoJB>%0T+ zw4WEeS1pLxh*5_qsa8aF#o)cDyw^U<6R zmOn~Ap#(GR)+gCREjXzq@bKD1`i-IVJ45Lu{CmzKlD}Y??zs#Akdp*__&V}SmGrsz8PZIqzIfns4oBC6X!Z;D+9xdV3BUFrn&5#xvo?6@IVFTLC+59c9@=8797<3J9mb<`SG5C4?A094Mzl_YxQ~^lU~}m z1_giBz=-}zTis6E*$+ipTp19acL1@&_psI-JORRt8uMV72V}+bF$P1Jb#nM7Aa%tu z>pfdE-+@5p-oOv@+}AVbUA~|(Bd#mUL^KH@GR=D)=ph))K^bW$J^&%+$zW#Co`q=o z-tk%FAeDd%hg?$-3E33Sz(=w{+9cyU#H#@w_BIC=aKG`$s#ey+i8-E`GD_Sx^~Y{10XydhfFjs$EUj|$N zM1$RM^J51bMnusvt8=5T8xO7M#=|Rm=#dp|TKEQgxEFz5$zOvZ``lmST^g1F4{ zE$MT3S+r|C)0Lj@5v-}r(-wSztzte*=lR#k_3PfndqPQSY+NV*>b!>f(wA)%*QF!h=ic+CAtoT=A32BhM*ht zJ1t#ZcLoFyUINfFQ~)T}SDoo;-VtFEZNLN4Y#6F< zur7w#c~SSX?`&QUFdP^c;L-^}fk0 z_1ExraOCAs#zV9f`yvNn3gDpt&YNYsq!bjtpJf^xCGnHvi)T99fmaOx=9tLOX#)@C z<8ohhpe@b_c$l4UtPdAbr@1#isvb>_ED~4Blz1z00q`8S$4p1d{cxH`mwWw1#^K3# z6+Z3(r(qPHXW)VL3U=N%g7NT85(*07VG*2U(Yh>Uw;b4>KOhoxV9jJ12LCVF7Y1Gw zQb|m0DVJnxTJig%+Hm&iIY&3lp!1MiQ)yz-OA@s6?Yh=`5cMXNUahBkrQOv#)s}7z z2HJW0=}YtJ`x&#J_V1nw@Njq2R|ELLaCmegJdXgNp7=i?zm)6;XL~L>Q+&!= z;=;Z52@8C}uYJl|`v|F}%L+Q1w!Q=&j;z;<*6lti;GwC+G$f9|2ti~5wq%BThWNf` z$88TSpxf)WwX)XJ`t=o)URvMiYGt)+^nAP_Y@<78vzr+)7Id}1t279Wf3oBGJz4HB z7zlEcS!iAZp^=T`4qyZ3&`2W@kab;Umu%U`Ogd!;LR*=D0l}X1Ch&m5)B?a8>n#fc z@H;a+L#}D;2YmB>!00$ks|kdbl=MXgc4qH;(EhFlIR7T_gwzZHR|6u*$iF>MD}V*wzt$#_N(7o3^UAw#2bi$C>x_j2b6`FY9OL8l>So^r zSS({Q45Bk&LtO(XAllyd&4W(BG z((40^oTWRKFIVUegpUBDow)o}JX;7#bfu?)-Qb{un@TfOQa{;(l992vH*qswGCg56 zyfv;2D0pimy@RaM%$^|wRH=XjbKrA5>GM7Jk08hoh_XGA{^^$V`#aK)_a$Vb4n5bD zzyr}NqRJG~8a)1PWR^l=Dd-wxZg*ff^`zByrH4B(8l33?!vQ1hr`olF1c6C=hJ2|h zEjIy&%|LJ)c_|_XFAppIoB%J`>Xav=DHYF>9&X(Q9x#|bz<7v0$h_c<8#+(l5bSLq-uJX?z`~(m$U_ zFNbL~a!P<$#=I#$7VL`dVql)6$6Bt3j^qHq!*i`#pF?slnzCFEm)-lNtP(}AH3s&D z0S_*P$6UmE2U`KTLDnh)*Q|G&JIvctyN00s)m7h@q{j#Q7v^*l9Sna*B=Eu#P{;+%K#6y z^f&XhvrzyZa!+t1XmN^COXU`%X^RZx=T!LsfQPaiIbT@9Llo+;`mi-5_D=TzS4GzR zfqqt8I4jqbpu@7`aFMxbcAm&FOVI6&sq|0wrQaG!-^U|nkx2fs4?XGiwS%yL=l~DD z3bQVN2bd7aSUm3b$JJ?qMb_r!xH|%PFgc}=wqq_%**505T(UWL61NSq4byvE&=2A zHJr3ymyCy#*4zodcL_WkS#hU5E)QEsPU|_JIPeg)>DlRQBx_BPzKH`XG<*Pvk3Zfq zIi|th*mU<>9RP@~1#iiY#0LWZhr9AizWZ(JDa~h#*0aodlN|71GXZUajV8eqfJ1JE zInZ->M_$RP{4Pgeo)4inl#)Dv1_S~)xVz*}WSSBP*mv)T>l+^Y&df*N$+EAJzyXZl zkl&XxFt|^Qy9@v?69COapk*pY#y9P5{sVvzTO)n&0hy+iZalJLjEAz{#TnjeF3yRI zPab(dkJL5~W*~ud*UN#H2Z%9AD$BO@ItB>1wK>)Pc&bj@gYs!64fBCJp+QZs29SaP zfMvCZ;j|g3b}I|c5P+er&9FHnm5fyqUKe&ZGVrF}7XY8Q&urkW0Z^g=vcFmYdv9!6 zoXCaU{AfpaZtrVvdt`x|t_4_vtz&>g-%Qhcy|#MYwtG*6TvP@%7O&*RuFQaMN{Tg1 z7&4)e0fPx+44?oY$Z+q%4DldTW>DL!M@5|0Jha#w-2YW&9a!cZ+T;-=p)c*m7^N;u zCq2x!y-#`Ymp*Fe>*(9}U#c>Y<#Ppnnh6m=fPgkx^M9}>{rXmALHH7wB13@CbGig&Gnv>nna7LyE zz<~_%pN=Y%68htzdl>8>?-neFP>pFGZNc5}h`>AHslN2}73ujE5Ar{TcTQV+b6@)P zP3d=cq@N`4a9m|)-%K}3o7f}DkP!{^j40a4Kr>ih!N6K( z{2iG8)BgtvISX|AxZj2m76D%KxamfJ4+ccChE59*o!5*@0S|LFM&Is8|MiMY!<;xU zAkdGe(htVczcyoU4{p&PX}8&}tR1jnGQf7JTvF-lEtgax!w*TND+LJ8JLEl%n+MDF z+Q929ORP!eDP-~@fY-hkz&F4F&{)%~P1v7=WFvc*7+fB7_qp0YRZOYFaN2wtQerXK zl$b%&msp!j+9^PHk|UTCubM=puY;7K0VeQIn2FN+c(~gj_;-y)Qw;|rGmhT6Gt|c) z?rHPRz+?xfBbU$waM-xkGqB+r4A%9Yt&@QBFpsDw_6fZ2VZcKvk(6sc^=0Fx=p)Vl zHqr2y!*l;R(;<)BU(Es!w3ROkGtZq3{GT=OP`t;{eR2kQnH`Xa0v7Wp;N~1LbKBVN zHAxz?!`8}pNI~bdfz3a0eFl*89>G#Jz&m3<) zxzN+@|029>g7JXV5*`l;JfzgpA~?xmb(?KuORLq*(G-GQo^uHXaM+K%2|uGw=`)Sx zQZe5ydlpWxApt2fr;cO^mVYzTjb}ZOzO!g+RvOi{_A1|6Y}3W2Q~jVN{iJT|?NLu3 ztZZuQvB%7g=u&!V(R%$8aNVf_53}`E*EI=kBR`_X-OAC_4L8VOAv}YV5H?VAP zI4{6M9@-j;HXB3&%EPI)w}!fPYtJNWU_k6_k2D~Ay{Zg+FiqfV>HmQIQb*lx+cLKs z{`XA7|2n#6-l<3Vu$!4zt5n! zYbn=um^Vp-NT20rWbDJ9$iNOo;(0JI2*i_dh-?sLNjZ$;4#x-1bm?D^8Q&3b1@PG3 z8S8`h2NsmMaszGc&T&%33wJX+U|7ba2fE1M1hg@I?V(F8xyf;4DlSqQSYS+p}xR{AY#2ik-na~>G^UAFaM zFKa#y07iqcv2>79LLLmS68>N)jieDQ9RRY8>nr~EhJz0Mp4YPl^a(BjZuMLu>Z}5M znF*c2-}Hbm*2lobi#fCsy* zuB{IGn7dO4Ee9RG)RCD-KhvxAXh<$mznR&d!7gr%=L9|u?-SG>OK(mp^Rjpco$tER zjtN$W(=@4_d{XkMGY5D;&WZPjSrR7QhL5n+0e-|f#QbQ%>jniqd_*-%Tg?Af6$Ykx zkjH}4!`jBZnXPAkF_1dOJ>CFe_MM>1S&ZRBfrkKh4wy^NInjQ#BmFHvv$k{#!R(3j z6J)=p(i=!!mFs*FAT@K+0303(kO7v%Gk7_)YCS=JrLRPN(WEEwaiGqcaUS3z>;_-| ze4o+$KD=k}GlDf~?casf;4(-CP{cg|9{>huTk~>YEj76$?;}Vm**;{*nmRS9L4XAq z67&JawlPfy()Lbmz{9mG?&V-|gfSkI?RVJP#Ciy0YlLz1&PcmkLv7#L*Cz5xxAzU0 z=bCP>ZHXc<{cKI#=o`zS*GF2(1Ir~-l=@i+cqq)Jv&{GO(^CK*61+~SB|!T$m$q_d z-8DA$1|87d~Y1Q+I& z^8oM=#KYWU*zy=lWXdWv?1q^NJgQzxz@hYzV4lml+gRl-_p3ub@)K*HqZ%`odDZ$z zwO&@OSErTUY}b05<*hZ+%~nf$@4TboKmNy>{N2A>ol=y`a06=VvJW1#)Q#Yc1wsJPaHPz;cm6mD?-TR_mbS@{3MJn@z1wY}}7Aet%y5dqsIkw`8}EOTic%bO&I_HFo`Dn zn*)DJ4_J_L;NA~tEE5zkL+UU_BajPo!Wa>hu~V4`f$J>0R1<+~?z6M&htjJs96|=c zGx(fYfky!h1p@a-Lg7bYf%5zm0oCJX1nX0w|4mR0KLSi12`Ki~x@r-XI^kzFvy;{# zxN>{Tfrpe-%J%RKPrt^3CryCGGs_JaB0F^KpaN1=Rn;;;#xgQZTETmqiUM*@iWc*f}RAWtlxU^`v~cow`il76s{hk4Z@Q(C5Fdl}|&6J8daPyfOHPe{{!F_zv*@n^fOKnv_{wIAL@X6rz01n70y%OfxKc7_EqK=S{U>v0` z6%`kLIu_;NB>^5fh162N);BsO@K9-J^Oetie3;A7*k>J@1s)awp_{Rv{XOd0K;7CU z?U+LW!SMiMJ|;+=fowCYPQ&%6l#}-NdE?*!@Nm5_m##ha(}0IjrSFwV7sZB&cKizg z+#sv;v#F1rZN@{e9A>)?^WM6o8*)h{JRCScZ)RhK5Y%4+cyN>S*f%p5%${3jfCt)e&W{ew z&@ac(Jm8_s*k}UPnFJpDE?-IFGZX)xm3*4H?4B++8)%xnFJCwSLNxz49pGUutE4F9 zf%3&VSxV&`H-<{!)WE(1a6KMeIqvR@|32TNOpHqZoXuK#dm{a-k@Qao(htMW$I{WG z3pRl6;*UI?D>=VZ4(5NgE&W=r)-SeY06PHpqEbsuVWJ}L%4m7#UN+!Ky_kV?$R6c5 zOvb~3F*4hUi<+5t?#=u1H_L7sXtSP`*Ru~g*T92ULS0WatT33abgQoPVLj2Cs`UM8 ztk+w8y|-KI_MJDh_ucPSv*gm#=|h)yxiB@b>^Quy7pv>~s-!PS`qET-8WZZ4vmwj_ zt9Ae)Nxl!XZ1?qIOMLmHfwv_daWnkge0e4WYy z>hAr3oP!5%xXvUF$XJYQL_8vpPU1eusTlAOW|9QZAHL@IvEX(bvdjdS05FUJ^s9Sr zqHMAY5e1od;GEZC%Ro_PzmA3z?c8z3LwBurU%*4&zhs7>Cw_C&fd?cW01Pr~9H7Qb zz5xu7U}&{G^S|p16Y8FKbE9w1%H#mS@5t^1hyl!}PX!@|MGfnW-=F)%#V3Lh)FWUBwlQQ~exc{jLski& zL>fQvn)QWp-q|76zCEvhfYTK>O{n zvpn7yVI*A{AY&h%nL$qj9pYyEjz-`lhSbs#z{99=c|CyA26*UKmWiGcIjnj1xXPIc z<@|M6pD6bTIsco4T`+!Flkj{2=mu;v&_0-hjYkYjh&hrwC+zyo*Nz1qrqbUV9u7QU z0{vWI=06Duuz9Qy)AkN??`xIxSq{&Y^p#3_u~qBK7$?GZ2@uZ$Sx4B59QocfJ-#vc z0Px&kMUsqwlpu9&08e-@uui4N2I~|OSg<=;n;8>57<$17WX|BbcCU~cG$1tqRKQ|m zRaUUskY)09kFro0+7o$0*4kDpji7z12MB@PmWeL+ykjJVSQhbUqWxW1e{s4<2TprP)Pr8hIZMBl&rQ%_p(xAvu%#?pHv z3x#<$>_B{F0PU9rEf*={aq|zjJ3;p6+R|U?*5-l3Jb68Qa4e@{(NB8vWfxio@h+Z` z?UjsD+fxY)6*EI<|upf|EB1r=f;_Gq- z#FKSxdnvJ&%gr}US@!CIOWfHJkkDOY9@s@Ki<R7$ZQnWxnG5K!Ab(G501w)JWhg zvHRds%%yLCjK@PtE!{PjKCIK{Bg+2H_X(2mGs?z?pvc}pW`;>Q0cebYV4CIbAwYfJ z+VqS|^Hm@#)UxayV4(`pr4)q+SQ@kF@NKYhWAQ%%Yj?An z^L@Pe;;A!^)Tr7$$#=adh}N&y$`Z$d88d zBY+(JyQa}kb!7(5S0l)u#I0uR!43=H0mg%QJn+2Z^7#^Ypy1FB_#1gV=4MRiI}*}T zpKrUN^D|}~T^sX*%trzdmc?3Rw`bNQfs9*tH-wzh4*(uUmA2AD1D232STpJIrA8IM zH@^vg$ZB|NP?lerVLS{~xk{6vIkkI@Fu%k+XMhBLG_ek?0eS~;bRb@F%s9+(pIPG0 zu=KgwBzi{Sdou8#89=RN)EnUDpxYw*l|@GELcqhg()S{WKYLFOw}1uI?KbRcK>VZZD$S!yP=M{MQ+Ka|6+acwaeFHlU15bw7>7kAeIF3@j$n4 z?%8_CK8^XY*XwFyqo*6Jhu3>r+vuv_@2K5w`CcqGc)5Qq_oK#iTo!nU{Z<0vR^~a4 zmzE4?4Lsy>A60k21Hu>{X9YaWtPOcyu^R!BzW_HEuh7`r!Xmsxsqj3~cL5duoQH*qlHeS+cB2XFsi zYeY+Wx+VRUUaep5NMG+r$jUKC9;IMdV(GbgEtx!v*5{(v%{x~dHiqX7ZTf*l=Yx64 z+&Vjl=QiO20uMCDM3wfcTAOvH4=&014N~LOcKen7>Gb5dXV}eDiEz?A`lG}2P81Lf?Tauin?1diKevqwLsWXW*{{Z z3lVi6z>NV8Mq;Gv%|pT?BEuM(_676-NCzC}_XY%q39jozPuno`ujXD?>o@leT)%eT zqUwYvPxy=;5NyNm@;uyg!7@b1$nZKLQ^80f_XsdO=1hxd(j%qOO27!fABP2^Jj+Nb zEvBf=EK498?+odH1V!>`NKzowUC2fNSXdOO$yp3Uj=`c!Gns+4Bb~))&SB*H@VyOw zvqNtWqs&h7aoBUcYKVv3t&Vp0dr2yzQ8B_{Wd$FH6w$e`ctCa`8I~gU(hN~NyqSc_ zWo10X`xX!;i-ZPT^hjumY;s`j+}eqLX#l;EZJ4DWfbaLT|3iQrP9V@Oj7R=94-EPp z(o5~szxsIs&LGAZ>yR%HVPV2OX$%#Ae-iP4fioEoKM8Yb_ijib!Xr;{xe|U1M$O?G zFcm)qWQ3kUQphqLay>})ln1_sB?7kuE9b;dd81UvM;t*kEMm&N%fD;eTm!xON1ai*E+Wr)hO0h2q0+YHm`6A}c zrb{Z-*)Py9Q@c|8DWG9s>nD8$0*UpVb39O!@Dc2E1wUdsBz+i0V$ z?X8aXcG^ZdEG|?{`Vv1Q%lf<4NTfp}5%4BGV|%;951KdeFx;n%yw61v4>7N$h5zu{ zKT1B#O=>9yLy!di_dzwVzd2m}hpMQM5OHXUIfbmw=zI|KP2BegpdV+M;@aT<9tW(= zdhR-DjtUSh+AV?+VvQ(%*T_OQM2^e{GU9Fy5>bsLAM3?`=t%G4b>`;wr=26u^1Wxu zx&Di)^cPj>JNO!vW$wh&W;~=lYifa0CORA`{%CuSZO3DNF=mPyW}xtHA#qiFPLX)H z>!p^W#*TacTzi@Hl`?&lOMlD<`e2ajlalmR*3d?8UHcz?sNRo$q<+Rm{p$0zuYpS; z9@56g$Oni8I#Zn}bc_sFG5D?9ff&hx3a9ac z|3lPayk!wwPeeeTA__6#GzlhYWdR^Nvq*n_4=4+OK-L581MvVj060rS0=^HuA1u!} z5fcy?0OuUWO=I6l2Z#>d`NnF=0D=R2I7<>md%5)!j35EkL+;588mBoRKs@YswPD1A zw0i%7Ndis!6maUKV{7C=uJui_QU-X2ZVuvLDiBL09XuAOF#s` z2q5<^h#$bnLaIN&UGo+Iltb@*8`J55McgB86qyf1f$}kM#0{mnw?*n2xL+`;K4x$n zc!AKjQg+QgJ`US$i|Aax-PG=OTWyS^k@u>VwYZ!-8~|7>yQWcArBX6krKD((qC|_I zyN-A$6fS@>n`2y;x)=#f|J`k-NNDPqcd46XRr)jhUIC<-G!IScZB(|#X2DBdURM$t5+J;nsWq9jRAy1EZy~4D&vd&dZ9qnte2tW& zqY*;c_CU~ke*wx8g3|^VgDSh!Qo&sMm1?dZ)p9{RVDb$(-eTFL^uSvW#bg2L85O>8biZzADJKF^Fg*5fHeSl3(u1jiO!f{UX6^u zARUL9PczCBO(Y(|DH#mf^?;=J@zpJmt#tPQE5I+tp*9idc?kfHm8nxhGoKd zAECUE3J|1_QYKO3hRgJg$Wq}Uv>zYVMAl9|#r@8359ApRw&&_Wjttb=?`d}@$z0yP z)ikn!3{=Qj|!9S&+U?YD!t=5Lk;mSMRpu> z!W8{v`Zu3&Wk~+z%y+r|swVwKP5MD4vjBirK?SgQr-S-9X!LoJ4Kux)H|*%#WPPM? zqvG#_03w@X)LSF=JC<37Jj^{LwREK3a+wNdmYMt#%3hxh2Ks%eq(5e5z1QvPtA&Af ze*b&5ugHg)dfh#H@ig0_bAP#l1ke4^%ypA8AnrBdVb};>f9U{-3=UD5U6a0v><6Tn_!*neTCHq`(_}y_uhdP0 z-;53G6$7qQ#>e<&+vE%kd`W;d^_rws(gqlC0RREuhvymag|t$`jUN5`5iK3MwLBHM zAqWaK!$dR^xflRE5vOD`Ja8?6^cI0nb_Ll5W=idml(m#)K%^v**CtWmDb~@yj_trf zJlsme!`gids!t#u62Ovxu`tu-or&tav)NAs#!AU#k|11+9H=BYiFLdjT;_pn1+?;c z|7AQF@V+3j)1|7oPXKR#x!l9_%>lsn21WqIyBQHwp$-xeL`Cs4YYU6yJZmq)=u zW%{h2OpcSJlCu+NI(QU%G7dN}j~*gXCN}L%unG023Zsk|Sszb4e#e}9v1H>8VA_5TX<>%Gi6EF3#EZF#y0m$lc5~8=dqX_zBNND4XYzqg zvbhvgNR$o9hZ#=7^CBK%e?=Q3zl4_ggHAf&;{fsSVwRha13Zy6Wdt*va-y+y+5MlW z{m52eowPO0CF)`=f^;wkmGb4fsAm8ZXF{ByZVM6AuUXaoE~wYkRXTJfbLX zW3g;|E3zB-gRcWpgBX7}-*wao2^l!^(_N*zUcz|z6>YsF^f6RAFKW5o0k1BXEf(RYT)W2Q`Ep^4bwwK%kwnD!0Oelr#-m~v{PF>}ScsQqu9lhmFe1uwsB!8Su<15wAHZz_Bmu7qJ7YTt@`p%ck64Q=06RN)0c?}z_p%>( z`yDxOd3oaZ7u1{P_LzeVh+GC3chDX7h`i0VWk6s6+-xCmhhaU9R9M0V4l3DHJuy?U9P5?BE&HX1q85fxK_3S zx?}`k>KWR{W|}Q6o7X|~jRbaDABe~-0ElWL9w-Au2<>l?l`g+@?BVeg!~^96aHcM} zKY#~dmjP3I3GgSfGbD`w&ny}@Pm&XWCIMg*HBSE~;{y_hsNMkVO|!a1hJSiGkdqi~CzubAOrhTZ@+-hZ|>Iu_9hkp+R(ck^rW zaagMvxI$Ft;!;hOTFRhFbzC&zd^0Lyk~9o} zrx}9-N+Qd`&s@)XS^#uz6U3Zubf^x7*=A`DW<1dUkiQ`socWotif(!kW)+`TqI-xyafIEHPjiUkj0kfa4rECXGlnoCrWH}5E@qpQohR6x^rBAz=NkhEd zmOkla2DFoWWP$x7bxE1Q(e1ev>8ZN(DsoCS={Y2on2$=yPkGeGp@?xs-5T)Ed_?wC zF1_87{?)ehi>7q5n?V1QB8me{z##hZa?0>{1@fhu>mfIiBm-hJ(}UZ>4Uow}gz9Gl z>Gw`JeB6bA$Sj;NY$I$52;zZ?aRAtE4ALD20bEFUD=!t52P@*&81axDCLSP%kXo|K zP0A=u6iLD_&AZec^PqVxnDkKs|CuMrz#;pNZ!tHoE+q28If|J^L-Z?)Aa^j1pPAo{ z`M#uekBpxH)Xn$B$+yUsnnd(Qp{61p#z`#|&|3Zpm;?cbxgli3Yo%PzWzwTrGBd~H zA>_VdMW1F*8vD3n{|!QbHJAEeU1S}uTc)1-jJszBS%J(KR$tZdFmf`}@WDj9x5?I& z%PHYcfF<az@56#CR zt%t}A?rgMl=Vnto8*T0GbDoFRyL`pVaDT_o_ATq!;yJp z3==UH@E2->ih@%>FkdfHA^izn3mJ<(T^j-w<5JpA31FYxv zj-Kjw^jD3t{&KmlAFM6v;d(6*4^in+7uMkl{o@kR%;I_03=Vv`4b?@82H($I&fmNW zOD+;u)PESu2iXwGi2QBJh?m&cXX;+lbns*|wVP+!g7eCAeW*;o$xHgvAk$~71Fe7g zrCKk)tnQWc(oD5~&s=aWVA_CcH8JOxO zy`~3j%tQLv=F3y=xrZGlkD-f)8+gxxhzJpjIx9qr96Hp@YjO!tb*dVh!$lsE830zV zmo)izw!2z46X3QsH(T1@>#B?Y1DOg-H7%~zjeOvsynqRCqkQ21kTi0Rgu+C-*{>}7 zAOQttI_+Yqfb0+p9P$GgM;4>y;3VyJ-zwV5siI6)%VZf2fOd;6Ct?+idFun-{$yQr z@rX#p18@jJg3UGH1Cfwn<_th(JX=unN%NIdY)ChjSKEG?Dq#;(UHhLBqA77M0B>AeUp(OyJ5@vPRnGxc(-c3q?P5mmdSFsPDE!z z%ga>*St4pQyc|Y*^}S3y@GiqhXv?ya>K+YEWtvpTZfYmX_$m0AnDKPTWJP4>9ESWw z-=auFTBaF>%w*u;$KqoG=_!Ck#(-hbPEZUzFpx$m7>X9(VJ6}Mi658K0heAVNvkd? z^rRam<6-br4UdJ~z<5X!P3tS*mc8d zd>kMco;2?W>E%Z9kwDT3LV|j*=lWa_?_30MjYLG6f=q+Hbh9UY(MuT*f4?Wa+mUve z_l^N72*Pxt^}342Ksgx%o^WU&J(Jb8R7FlK&1L2fQpk!^@(d>5q^- z9qB9D)CiA)>vWuss8mP=UXTeYkc<$pHCDQCjj;hEQcK4W4*=$U%1Y*tXBb%~9P55p zmL(Pvbg}kZHlD8^^gkmfs?zn9M1Y6MW~}$qMli>?H~$CAYDjapWnXlp?fsPX#QbRE zp0&8>`GWC!fgC?++)g4MeuC6eFVioMF_(@EQZtUm(A<3-p30&scI?7C)ys)Q*g`^0@8pC zi9yUWE;r~IRLHPF;9Ky)AbBChJ(!ac`EZc+K>eF%gl9Vxqswh>A8C|i9G$BhzD7G; zlNUt7k~Oip*R$VOYbBFXvh|P*2jnc5k+Gx@>Bf*C{5_PbIYM+Cet7(vdOa_xC41s= z2u-mfChTEjzBUOg+tbV@wNxY?ip2@f2Yz47d>BiBjI`aX#DiTw`mV*BjLh5Tz3vu) z=2@OK%h9FydU0kL*7qEcJG-Y74@eXKtRwv&E$L_MlP-jK@Dm=IY;?}8EoEPPs%JVa z{gbst{pADK^xa1v)I-ZlCh12XW{^g?(?8}=5wkSl=o}P*bG~<=h|Jlxb{FKKSaNL- zR3si;=89l~=-x%^r63*bNOifdIeiVy(7}lZ$}-z7eJSa8%Je5AA##0IF6paQrtQ*} z+D|=|68)}7i0PZ*Zol%b?9O?fGuDW=fq+<%^hm$2=gMV0C+Yb-Hv?)iBgl|otd8?K zy6ftHhH-g!m3_v7&v^OW^{(eonk(Yr94hs=TV4?lQ&n^^63)Kh(ZQh?K0H_*vqIQ* z(IexC^ybh;)GVM1U^yRvZope)Yl!?#k#6IQHr&XE$E6trx{Om{GMVdwRfvw9>wQmZ zfr4}uO34N$_j7gHJ?-uFOe%-SbxeWxcDl*`!Q^tPrpv#2V?oPnH6tNv_3A;So_lB% zBa}zZW!5HLSyN5X*+93?OUpn&~-SkX=4FLTFJRBprF-kn#KVE9dGH5KSHrJhvB&l?5 zwX6kvENG_?2WsQX|rb0b=$*{Q$`tB?CqhP@RYcBr13h>c;Fi z03*nLD0`%+zfVY$S%k3bT@L}?BY@`+KC=3<=-p0VO(HrsJGy-{WjL6RL#uCN1uu%F zrJ4aNXjju;EK9~BI!nVdT8!W0y6L@6JQUw4=CT0b!~cQ)ZCNS+a2^RwAFkF?-z!E! z+nMhKiI1r!+e^I2fC?u(Evk9gtr8IfFi1VLf{d)wzmw!wm`@vtS(r>Lo6ShDg4B{{ zJbYNpctB#zjoel+j>f~l<&<8kNsm@?i}qe(EID2t^8(9;2$Calk1Se8J5SvY^D?56Um~d%F?%Lxt^`$W~6;Tk?jyfUY0n_MC2slfn+&g z1p00-8E5~YD}C0_EMjsGeg0-{^R}Vq5iS|T1CiR zKD|;o@OU8OArTMRkg#E00q6}9z(_A2Q|2Y$=EJrxK;Pf5XAZrwk^pDc7UoIFTFXH4 zK08YWl8tkp=iR<0`4$=Zo;*(&_pEV%?GWBZoE!PzUO(Q4j(hGX@jxU!AKIP_m>)wt z^fUd!gD0Xd1Ykz8AEt)i$fQ@ZTrXl8oyoFY>`?365Z4#i%UP!p)*$MWd$0#f>)Bz6 zK-PHP-8>YWd=0{Y`Jq^L=Ed+@7y{Zx;L9=>f~cp>hmuO{Z9Ll#*+r5c80(Ej+IxWg z2SH@pQ1&s!DCpx}+SYf7)4p1*o_6ufy3^FwotCyX+G>GPnm1F~0yS3F>bid4f>u`R zsx>M`M3hUO^>?t$+IQ|&;$htW^vFJbbSf-lJkTHdXCxkm{b3|P$?EO|d~~$@N8V@T z2gQtsBEEdc$Dq)5aqOFAo|tt!6|XN6{L|iNR!pS$-u9|z$N&IA|GscIu8g)fz^4a~ z2PYo>&zAIaCm!bN@o*eM2V>XgK+#s#Y)YShs?zU%t!G=i`lpXRq<{3xlX~OT=k?%? z`;6q|oM2ve{xXO5B-1v+oUV(uw4g3uUc*9(Y14=YWNv+2kj2UR&fFdu53K9deFVT5 zIpJ+$ZF3Lt4Z~`kt&>~wHi_?SAC>F2q|ZyzyMtVB_e=V)*VCPPS38eCu1=O^qjp_$ zYR#+LTyzaw7~XQ07t8Y;U#)LQdS)=tbET5~`>{MXNv0qmOcw2KAFH#C%d^zloWDC` z!DqaD&V{}EZg)jITu_@_5f4*U^e`wh2nPq)Y%@0@tusl?q{u~!ob6*QoTQc_W5Obe zjXcN=P)L$KlZ)noX9lDiFySV~;WZE&aJ$o~Cz-VDS)}jKjMalmE-5b5N&O3x9lKIy>g@{*n)8_xsMm8$5%n2eZ zBWuF+r2T%p8(=3u#1cfuJctJXx&2)0+qnk)ftHucMiP|ExdAL>dm#0(zKib$G7kx% zrQgwCmlhHb1yEuj8AhcJ%28*QwPDgssV;eM`YUy3*(L3PODd%(PlyfbC%_q#b|`2j zA9r9j(8M7m@0Vixn-c)RR$Wm`5*GRjQQipaxJ=G>#rO zbdHsj2=EkO%7~fF0L7su`>Ds_v zEDg~9p4ccKQ(41#-VM0J0|Szne#-p4-%2Emd0;S)`+GB|gwbor=ouI~fq3{S(nGt+ zbASjxBx4>UvjGnS&p3FxlIt1)$A0iGMs_oOaCk?$>8rlc0FA00#2oj%T_R=yCu6AOJ~3 zK~y;47D3l-Q57l`b@j!V2l4u5qhySTSJn*~l z^X9OMj{`cwNGg%xfW*?Hr6gT-TtAp)4jhsdg}@N*N%ozsah|nk*-jp4!2Mb8sc+_W z+l%0d<0KH0OTGTU=FxhsWI-k-U0BFiKzh-9JA5r)T1pa)met_dmdvv)TNm+iNP!0Y zp?xB0>7+<<^CNT0kamP_^? zkWfiK()T=G$BeNDt+{U^!s1y>AbIh`qB&f z;kRDV>u>QdyIjN;G)Umc#EigzARZ#qAxMXq_gN3ga3jbef(tAb zpb!sW%k43eN*D27bLvj%HfJkv)9glaeUeGP8)SMfE9>J@PhakJwO)HfyH82IfBw%k z`0KysN$ei4KKEh`+!N<1H=mB|2lj3lPk(DL&kG|XmEp*S0lo<;? z8t>59@uZV}~D>^ih3mL1^WUdDBz(JFY2cl&Gn}_6puPS!Ha`_sI zWS`QRC&-5`+P@eW^T!PT4i1VoznprKNd=^QRhNk{iJy={x?u7l8jJ(Fc@T8^>a_dX z-tOp*5fCkHZFfw=*a(Pf$ub_6I8a+;drb>O@>#fj3e`O6fLhEh310_Hc#+K_6(53V z&4GhN6daHQ01VXAjnyQ-5E}@Z0tuVly@5%%gh?`_15uUcBat1*a6m}#;T~qP>;}{3 zxlr&t7wJlp^llPXJ6T)R6xZQN;T^L9&H z>uv4rb&?cUmYGTP(rPtDbV5cg)>NX#%$wa@dq|A696U2{&B4>6c6`+5rM=1N9~>LwVFrk0 zU!@3j4)vym&wTDC)I>=Wxy*cEnL-8mCChklLs}3YfYlxMc=%;Y`ZxQTkp{>I0sMcv zo@9j{DCY*SB7s$04gy0*@y8^E2KYrtzinrF53->r-RflqkXV#pA%H(>geeAZg!|pc zfeeS&8_7QcZwIm*AVP{h4x{6sIG=?=5y1bap5gHGmh=JAJ-tLmn6%O{V}|<><;c4} zR+e7I%fjp8k#cTwOGryGZw#^j;1L{<*yu~2^fSHFlYZ?c+DuPmd6-vppwuA$FcefG z=tdwMkqd5)-2Men5h?(-gVRz<13DluOq4pD%H3Rglz6D5cZ!UM&VarH@SNr?=K5=_ z9}Z%(c9UrU(Z_tuT(Yz%Ekei^BHlxSiG2k{f~ZdSN&T}pg-x?hp;>|evg{qNZ*FAS z7v}$v%Eh=(>rv|O_!TkVF~<()K;LqVBOa(a+6Ael|Dm7h=T4vm>F|)G7fZQb%A}Xw zL>gmpd>q1GB*3j{w>Cwh!QR(@KsFMjqGc2gq@^WksqS7bj$*R6LVAvjKTDLUBy(rW zYH$N+lT#unnMQ_GsFti$F)aeea3s%cqld>a*-c|&Xxb!BEw|T{hsR(Q+ zZt04^gw=`7)4952hVJ%k9bCVI#9-6b!{j4H)><--zJC9LR@dt0YeaBH*?f(T?u&|T zYaJl=t`m^+Avk3Lg)GDKl=I+uko@=p{k$Xn@6B9)-v#~6&gStjT4>WWWsUL- zhyA9i8+TOy;v>~Q|45BbK34YGN9uj~sUE*}P5;>s{zBjX?sxQOZ@#Jr9(d5~AB=by z^EszxE*?K@ZDUVBF<5d#7LxzAY(xK8-*;o^NIqn#4X!_~8}`?NWXnAP$euJ-&d?Ap zz0}EbK|pM)q|Y_bpZd}}ne>NT`n)CW?tY}!zxr3||Mg#AnNQC+ZQV7O-&6fO&vS+BsPW9e>`U^>INyxdMRW5H*<{Bqyz0-kPPUo2d}0Vg~j01NFQeemW>nU^C7+D{tS%c=pi8Gd|jrYuG{Ko;WTP)R-x&)20FU0Uhkf|OGz4jtEL1N7w@aC*oO z%%VTVPoXXSp)LKgoyx{MV)rPVpaOJ*{D9;jOW@&>M0Ur^HR+kM^aP|s_}~;g9JrMk zM|-9Rz7?PMGkw^TnP|V&$@GjEADf1DZ^x0pVE@FffSOMkp=l zN%%Z)U+&{>n8%t+mlLVd%Q9Q{Stm>)iQCqarw{WcS#P#BwA0_r#bx(?FkhbvS#XK$ zV*P;pwdiq(2fQCvlLV8=0|Mmxe0}U1aojxT4Q=BYu7!2p0uIu;1@S<(&+dMDE^|1U zKBW?waZZdxHmA4uNyGzuI>f{O*w6HvK_a@4ReC6sp3bC~vRp5eq-RVXY>!1HcYxBS;nVa$uiRNo)J&&Ol8k6)L5Y$;}~u#C6n}$tck- zWHWe1Ut~g=Bw;zVpY0#qJ16!smPO&RZAC(a{b$NPJjkv+b`9~2+2rHUSF736E*YU@ zINWJ#YpbK(owm(GkPC~8WH>a8fL~)@v|LraUa?FT0|t*-4{i94?(?EuPC(0t#Dlln zMQ1!j9~muTF=Hh5^(OJi+;I+4OQU@?=D;GUT&%0&^@qythV%$M8%l+f%%P8r-$K2PYEm}Aov|5W7wxnTOa3s-5kf|xtI0O17FSWpF{w^ddPtFkewMQXUzqKV!NE^_Y>*Gg#Dwnv zQS2Sph_)aa$6HQQ{@C9eC}C183FJrz>H`8I-sd#WnE5+}NFjUg-oP>)_V#<)LW1d5 z(}3vR-LCq`ACya`8B~8GJ!RK2#`?rzF=@J1Jzd|ObnnZB`K+9 zEA*O zQ%^IW%{&*J;}@b1V(v4Kg$RBxWH=EC&U_0H0^w-puv~1iCk}XeWHPk-C~R& zE8{XlfY%{2kZL;pVXU^u9LS|F2yN?R`cp@ie8c-qvZtr^4vJ+jDowxpA)ej$pgqIz2B97(UktwP6Whl-px%nhvTPkg0c)h zf9L0_xn8VDFIE%T0LTnbPZmU&7!T{f`2dm@ZVfWM--l@6`I#`1=9y;pnG}l-3(5v6 z5))`hBo&2cK}iV3j|v10VP2;4xSl-|h&g{CC+vjfUJ=zy#}N-tFt@u*M{Kzur6BSl z7MRx-=64ZULku(_(5Qi0pVn}NidO_mSsj(+dZ5#91^)RY|w_| zJ~B;WjX`MI2yuzbzb3L#o&{%~K9=!wK!~?nU2WcJTHjs1)=+pn1PAo9zVyHJGrgBf zk7d$xCF$E)Zaxl}igP$M6Y-JpJ;SRU`X=OG^4f|3kF=&xuO@*NszQ;qhP+q7+bMiG zSkDMPu#AK-lcqgONg|Pq7BU`NH{MUrg;$$!}cqzQN_M;j$43qYfo-t2*0)0 z(*OF!hW=x7pwH`z+O9Q{CK#LOSw0pS=1gV3udLNnw!5R+ottWW_OTj9HhiYa#w}I$ zc2sKZE9-UDYqhkuw`;`14}bWV`tJ9>t2f?wO%FZvu$@JQWdAW`Iqlpz>9t~cH90{K zNHAr^LZ=F{!Ll2ivk&57bev9lUh$X~l1}_A_6*a0|H7|3hX%mb&eaQdGHEl*^wA*K zTP5j_{eeDOuITpqy4ue^Yu8{U4rm^J(Ol zFs3dN5SRYG=P*9!Rh=i_XU2lhc=^S=!zDarA`X64QS)t;i4{KE$O9Et~<vW>cO&cJR;g8Vw{*d3qUgMyl`IE z4OMj<(4`*e1I(>}hybwwvKHBA-Y=`vV`e-YFs6od_@F0!(#;HPw@(2)G@^t}eI~8CkHe#66I2u7@a=_^Wr2hZ*M#BY zxNd5|f*V94V|2ThJS9HsO7FC#Utt~%0Sk!heP&oDFB)V51jm|ZIXqd(^^zHBOV5>a zBS6C5D102aM@Tl1>9IMGWi;U9K!(HH-Atd-51nYY7vaT0h$6JIIGBg%vWE%>@xV1f zEbyY#B@;816B!Zld!A7w9$X*7JRUHYE+3dn2l0T9Z%)RbXN4JI3xN}vZA8L%()x`& z&&ne6eVR9HopG5)d`9??A;#FUW~Z3d1Xh~|iFq=lb!eIE%I;NEY?lcG#n$`q*Je#K zU_Dg{fI91)nXN;l8*!b8=@|F?-EDWZwcfOMC=w6Ww{z(a1L^-7WV)HBEC+~(mrJ=G zAv4FLVolNN6l#%0K-roWFsz*m3BW-<(BeY!GD1Qvt?77cNMv)Ff2W^e8e)NBvz-K(XNNfstDDc1Ew;6Og`2``7@x>(#N9%-(E zaWw0p`5NtX(^|NZe6RR9;B>uFNgfWXY2UNFjI>hKq$r2a@Mwy0bM)7ZcsOo-4`PJ< z*SyW8$L=8tK>8?G8dG{2bJj4zhiP@9;;N;9SpSBYFUQE_rLo+edoeR5D=1Hb^ix4T_Gnz@$@W@Jo9(YaeSV+Y{%ZP544s7b)c$nS$RifH(5x2IOKZ>EY65VtHMJ{`t6 z!qsb4Ev!_vay?~0U`AaBoF1APyHv`!j_nMDML2pSC4dCrJ%ID-BES&QtcggV9cTkG z7{J7CtR(3B-eerAR8d ztOxf3P+D0|WB_sy7BOW;(784Vr8X~zlF2R^xa3*o5DJ?+NweCdxGE(pt7%_58Nz!f z-SR{{EG?G&oeq0Bj5fDrpLpE|p=KE^J3RwdZryBZd!uEN5?dNluQ*lzG82AS{aaaAwrG7W5o%Zs5>}2S&pCJrk&tqSEofVEzTL4ddzP z(*`CNz*NJyJ>oS$)}b=cKw2M2A0s8yk$&CD40PWGBz3Q3aB%w+33E3)zK)MWO?s^% zy@X+PJxMt&Ln3)JIbSQ5r*JE~ZIlHtfoCG=^ma2zDj}@|0RbU^WE6P3k=unujekPM zt)bUn&P`J4m8$eiB~O_io)r+rbJ2Y16rDf}vK&6^OTX9OQeuXO7*Ie#!447MO%1>~hpR!rZtW(T|3SjE7)f;vKn1m`i5`;-Q}FwF>Vm zVY`zcb>RdB06oU8beQOpAD{7`dGYX#j5k zaRLswIcoif_ zqK=}ChS`|DcO&Dk)9z`X4A0G$Zhh4>vSDwhqb{0|tcOOxH?*>f$5q4pu8^24m+^8) z{bo4U3tj%We(`lB9)|Dg{eY0eF&*=H1klTJ$< zMA=XK{o#@pQi0x4&(p`@xPBj`g9RRtiB^~1{rF@3&42h$`cI$V(K~DR>(&F0sQbv1 z8mwJU6LQhy=}<*D8jqw>yRFL3wko&3QthkH)%g4)BN-}N>z3U>_Cu-DR@Ut*$)uMa%QEwXK$eN$N4(Iby!-i%&vU5rQx^D?Upt2vxZGP##KEsBYQ7CLvBGD2 z+`Za7hkP6YFrRW$KU)o5{M8XHdEhaTyaPB`ot1!y3?LO;ldBL~(w zRl`_7*z?uFf_mM7TCJXCJlwwBwCMQl&6deA^@;R%^XcW)xY9g$u?+34ECbKas@qnQwKykN|B3sSGvX(TZIbfNTQCr&DMXDj0Ka+7mTLa2K zE&zxTK??C;61Vm}&R!)e6MziSqXDe(95dT=NseM29@j0B3;dwX5WY@i*< zXld^DtUju>l93EZDj}h@veMAvN>#O5<&bIgX|fJZLp&Hbfd0At32zklJ{aGn<}@&g2d>Cjw6W|5_kXacXqRRi1y|0w)aP>hAYiBiNLTt7#`BDu zon|5=855QPAuij-(xta6-n2EC*zs-s?!eZAtI7rOz>tW-l>h)>3(l zpn==~3_z#9Bt2S6q{H)7>7`0;hT0~j*e>gV|;=yIz%$tFiu@HSv2Z4PFjT0UmBGp4;!G9l!SABfWk5G^*{*gfsJ>++ z&Zm{;L_FN9&0`aKK?=QJg>dJIVhmv>11 z59we%Bp^<6^V5FEBg`>&jl+7oUvHa7KmvU-H5RK{bSVO&1Q(Yp23&*A z3?l;zQTWB8MIDnZP~1pk0BRCUcqWhu06iZHPDX}b3ScfzohROAmHtINM=p+hh!d(6w4OHt;clzIelof&s->56nBf6Cf7=_34V4mRZkJO}>8`3Kc3Buv=S~77qEZ(IEiXeaSUI8RnCYML*f7O@%(2{=N zmVVckJ|)7PsBY#V-ZMaYzmfF~msP?z`Wsd0+m&3;S93jHPG-_8o^eq;Tm--XAk96g zgLitF-s#B*hfjN%oubLCfM4J`n`{_pq(y{I6`hNdOPFQEHO#RT8g!eAh(A$?NUz{J z?#VbME6t^phR>pd+rwS>+l8v}cz|GexsvOj)I8&XEH7lq98n|-4*Nax`{^XYAW7yW zKcJ-XpVnoQ^l7>wbw9W9gBf))G)@^40Nkyvv`Z>VDNknAW<>2uQI^G)?!!7_QTJ7{ zB@ziZ>%17_-cslb>pM3}a!_e4W84#s-`#K7n7@8s@>DvsZhF%V!B+p}S@)EX`>dC& zYf09R{+Q4xlbv+J2auU(v!0n36OvR(1!ZU!ZPHfwjx;heo{r20%E#s~C^f40jSHwf=bdgbFK@ygE(e+wCi;2NGj4RA9bLKuWKYCH z+9$>S*?eA35fF9Ou|ydUkq|T9aO~w{esO4Dc#8Ku^LEI~W$R-oBl+LV56l4{e)xg@ z&HwZ7^|N2SrH{V4sXP6?`m5K~yLKb}Szgg#VMzlbY-m6T-+td@m8v^is_bm2f^qcj zwq-VyJ1vzu9U~l=L^BIpFC45!f}i?*>Fe#hqEA{I+S%GtGm#J3oKT@N*V5Gu z3jO+PTN!ztljZQVq-O^MBOad0GBcmP;rLXL_TI6mjouBR;UDZe(KGT%ja zxgs7exH0Cm#N3PhH)NG;BOj@}7c#3|a2t<2jst`px=q{PqbMT-0(qS?0JMPa?6Co( zImjFFK(w!E!XHQo%o1gJ=Gq#G>g4c`G|%RGTkCh+d>Z+s4qD8)YW1pRK3Ig{THOxu z$Q6`p70W;f0^+!GML&vzT4=u;@qmwm8-}9Y&A%=4#3Las60?QmQKtLX(3M73DUkxC z)e}*=v6rMc7BOb7q{zH56*cdL0^@=I!N#q9J20-@zi=qhlx}Xa9B5g4#$6iUP3Y`M@Ho0BX!k)WIk2*=!|kYd&ksiFh!e*`tLcifsJ(BY{QT zZeN}Dz<{g0?Y2o}-9ajAt7C0N)L(6(Vo{yQWRdBxx|$+tA#@Bxa1-#e_Mvg}+i^fq zfO1JEB((``KzYoB-F5#h0^a|9q2uAKm2u4XO@hGtibedo_W^_y***Y}Nypqh56A-X z$ZzXALH^#O^KTJzPu@44;o?!&j5B~oh(5;1aUTxWVBI@?=?)$SefLi2WO}Qcd>vYY z>8)za;PVuKZuQDX2ob(>>9`K@s!xW$DuEM)JZ-L zf9yzqY$pw4r9au9OzR=|KSVSN!~$)n;iisl-C?Rv^m z;MpzO91jIEZcn~CWWZftNhZaRd5kgh4Ql5`EO4J|t7J+S%=@v){J4@7jGwGadqHjrHI(d&%Lt=da9vvku+a zW-S?*mlEq4>$hcjloHX86MM3_SP|Y;tb?ogIjl9bfOnOV@JT|EH8DN`h+h#8sYWiFc!&`j=D4&=k$4Cr z<-nt-UCK{0rjEP!u zfBp-7{O-Hj+}TpUUe{o8S-q8O>MyUTx3HibjW#npBWkCsN~@XVm3FsP-q}*A(@HES z1DHvY42LNuVTgxLr>&LMH9hn6GnV!6o$q~5&pz|4u3cMJy;dJ)#~ruEPuq89xvtpG z(R9To9R7Yxhd8O9!ts;+$R25!sp;oc8@mxBa78?v*ko)mbLopb*9WCcza8XyKWBT{ z(XD)6TM!U$zL}B^ulyfo>HX(-?Ilcu=l3#4CZjwjre~?u(rTljYyG~yQ7-FM$ub}y zB#_^{5cBDIEtD5md;X+T7W|Z7yYSaL?+0EH59eLOBlrIYMm!8B@B+|vD5&IutN$_{ z7sNtDt^;TQig74L4hS$i4j8jWLJkkK5v65@lL;J85=`mfe-Zu`52Ff(Ts;- zh6Wi8P8e+L4wMf{25bS2*rC?}C4duvq;7YhakowNZ-jrw$?dAfS-ppxgO-t1YDmx5rSH^wv$;092OEsUkf@#)F$nzgkXpfz(nz%LL91Q4kqqM$*(1 z2+bHsSqv#lhIuqe?hS)xZJx!KfH}@2m>{m*|AA5Fo(BgeAi+D(ROQ{bMWMXS* zA+=#Nqr&FS88QJ*Gp;6W35wJIwEL_hk+*TO=>_FP3$Io{(u`opCDa_ILn5)WL? za?G-9#6uy=p}2<7Wv((FPHqXd;>wJ}*^{)TT%SlrK>VRB{b{kRo9j2!{-xBrGM}EQ zSD)L(7daK4+e=Kkv71n{JA6peOArtEKjgWdkaWKrQ{(@@mfX%+lkPd|?=O8~oVCDb zoYC*u_dRVrjrrac@i6BKopif@K*Yl^!y%&j3YiX*s_EU07M;#8m*Je0C&7&OxAmLsd>WLuS+)NRK9O{uUKz<3LAmo?UZY)^# z!_rDsjfI*jWIt3~#^?0nj%kxMwE%niUl{Ew#*IpuP~GAR`PXNMcRlA z38n8x02d$`61QQNIldpcj{~~Z`+e>2b+onB)}7n@)hy}nY+6qu=YZvYRls!VX!3V>LIn25v^1on0Jw?&( z&P&{ckuh)M-eqIRdN9-FeaXE~jpR$_^d15HH87waW`Km;Tb=+(%Xo0&!E}l}if_B0 zB!xc1!=Z_BJ)!)NuxwIklpahW-6N{6O5F{4BK6`2x0-5A%OR1s<~dl$l5XIk!M^ z@ZUr-hH*4T!(a3>eF)*vlYZ09^p!_A=4J-Ke|U-(L;%2VoI)8$v zHe@HzANUaYzPgk$#}KGvO|l>Wo0FlQ6Hy(~cjm9d`r-E>Q;oHnkIC{yreQ?wLuli- zLZ*Wwm?pPWPUh9f-a&8}8R}VBjM*uIZijPEaeg$pAs_c-L9|DuM1tgQ*Ft8wirG=EW5PKBv$8*R? z1kAJSHSWXuOBSR_6{a?&J=(^~l~k{1HZD!ligkMA#m51*<{@DQ*2$l0f2U)NT<9Y;JA$)L#S7|b0}I^j*C>>;T%AzUO(YTw2gW4?Ut6UU*60 z``!=q{PWN2(MKQ9!ouP`MLa~`DE5(JfCh<*gzCff7rB~YwH7iS*oRzsJdE%2c1lWY zCtdbVCjD`c>zypOzdtV3b+c5`W_Lw?J*Hi4;Wz*8-O030b$07ZiIT4HjZ?04pe{=1U&)( z5H)xi{tt2BM!EvPpx+y)-R@a*CI|f6H=E`ufN`S%Hnox+@R!$+V8Xn3K?_Ss!T@q& z((x}Mso3hp(CeUqy_X~(%=@9504Dx6nTJ7=&;S%dLIZ%vG7<21@B?Z@!XD{7QxXsH zJtGU;loa_bB55g?McV?5xg>`fJtL3qQWje~?&YwCZgm33A``;S#a=Z>0Q#X%MgoZd zSH$?-#kiS!M{Rcr>)(yDr;h+Vv1!`$>uk zG7Ip}NE)9PW;MROz*n34Q7$Q;d{QvG#Wa49W(%-lNQE!(F6df~PpA+GahXLRz zq@V*#hYr|yBUGf7s#K{FJ)XHw?w7~hRjKa$^n0uHL^^ENT1+_R9FxcdJMUhxA zeXtQ92<~%8q`F`%9TgYOmQG$k{xr&&$y_~MkzR*%Dd&0~sVOIjY?&w}uLZzq=F!L) zL-L5VkU5`umvxu9pZ;Rr4~@*oUjxI3X3hx+CxdFx!}~$HwoGKd6BzC<0{FhO@ALFZ zlE*WU)8}TMhm;TiJW@%FK_j&BesB`v+ zd`vwbYV*jBgfJ}Z8$w=b(h!M99I}cU^I~V&yH6^|a1U9`SQ_)d(eYbsi_r|YX`g$R z>w*`EHEEidl`xl19uNPoe)02P>f=v7G>sZx4kp|4T05O>b7#auuct<%p$G22U(Y@F zqQ3Y2ALyl*UesfcJ*?&BC7bh#84nlH52k95k%AOShvGh^n5B6f@ldQm^BZE$MYhFb z1@4;n9j%m0F4(ZX;l6U)HSI{+P_A3b^nO0jZ}LpXGdGlK5H>DgDdH!se1R^ zFFM;yG56wJ%nkD-!34?hxTIGH13h0V>B&4d^J)AamOc9+lAh08uuC47r!W603x3M4 zoxYrR={K*4hYM<$e;~v|0L(*hd&&r*3u=YC>M;pqND+NOKD7G@Fyqfz45;~TiqJ~H ziA80)1QR;d%WJBP;3lP;wz)-y`J$O9<{3aJ0TIS}d zF%qFVCGjwnTk;5ez;XUYMu6xWBBL9hK<`6Z^3c9OiiqjP)ybowL zfIEOrGH3u#0Y5E}-J-cuM0Z4APn6dPF#Kt?$H$5y6a zx5+TbOwPzYBYb8A-s2%~4LO}!GP&&5rS+P$i|31^S0w%Sne@F(y3dJ+qWVz0IQ7kG z5<3?B8t|0BFq-oGswI8gmA3lFNGfpybp0DKQa}W`%MZh&O zJwjRvABWG7R_aM_^)ewfMVa6khV{Ul!tof5Cs-1)9KxR=NQKBmAbrBkfDM7bV7f>= z7|Y^}PLK}aw(awYRb8jGqsEf{0o9;X5F_kMt10wlj;zFquDxr?QOU0 zeE`c(oAD6qW*BBOSMVI>kK5~gs|UOsAPlH4n`a7=N^L@A>ADa>)s*!BNdd{vI*XSB z1b>o%OJp!)4jBz5&D2W-4uolts>93&&k*G2W=hS#VxME*mjx$;l+(ENg#KWXO&$Od zJ`N$T#2U$`UaM$vwXT(Gb*)~3 zMeH=j`EXJl1>WNq9&iw(+c+tt;{8nOv6l8Y6W4+f0^q!)md-*v#CIuMnC?b~!>j~f zk$i}`^0;=Jw1=73Vi;S}X*APDLE~Z>=6pOo@_Iwy)&Ef>9wyaA5D#QI;PGG?4>I_VAusp$4uY5r~x^qP{%$#S68{3 z%Jf+-{noM|2Kqo1eLm=Gec=J^d@6O`lzLYL#7wPy=8LD?cAfb-chwCF(o4uIt-1u$ zlMoP+zLjNq(&d*H!odElFL24@^7O@@vEVaae)@9VBj3Ct9xkY%=Df4J+xqbl!hveN zA{{1nu0%ehC_n&lBKQCWTW&@Tcotyw#G8$|An-KXC>jBgnFJHSN@y)lyU@<7-yLK? z01)Qtw0mkg7{0lgG?kGz=yv)>E})-`UiAtQ_$K>PSG`d+5FtZ66-j&qkjU8C3=q9*tmBeh?E49`WiAsNPXdlLT7}0 z2oTYvlJCL!JBSCuSuU*q_;BZmK(6Wo=N}h3B&`pXYL6c|C6rtn^y92c)ufk(M=f+5Cb&D zaa#qt?^;QEvYeZV^{X}M>2hx1`!%F$oS2C55dZ^!hgLIEPQUGCW*YrrU;46_S%yQ? zGcXQ4*AQJtA410}{23zTm)}D=P{$w{bQnm7QJEyJA-#iZ_#G$(#6tw)M@B@Xn{a=w zA^a*rlb!qE#}Acry;PB2tmJwgV{hsJqv!(PF(e*rUO13di%c!rnZALCkNG-~9Z-eP zO&JVf49r}O{1Sv69|&KF2Ii6qq&`N`SX3C9m$J#?1My&9Jk=BpZ@xb5M0{H`K2_2` z$Z&%su?!vF)g%9dfS6@=X*ZeUTQ<&@)*7ml0x;``EDx74GD#>WW?8G4KezY#R%Z)! zr0bG~1n*160b|c3l335&XMy#Mcfkt-LYQ|=q(QnLbsUmPw1Z`=vA+76&7Q~%|EC*zpc%NFWk_dR#!|MyS z|3IpbKgrjKcR0Kljz0DXLEvl4Y0ahMy(SS4#d*x?(6fEMF2uvQ_8r!LK|V2U4^se6 ztZDK6dF)$4f@#(vHm~c8^Y#%bvBDZ|2Lq` zKkApi__f}D|2^H=Sl6J>-jyBP`4bN*`?#-4rJ|MP6+QFJv-$%=%mJT=92dA5jAs&)YCF-8JwzEt(CG&sylXAUPuIR(Pfi^zi@+nnNI~9F%MMEP zp>E&E1xSXiO{64{R@&FzZqKEi@NuYWX%$oN1+A{uk|}AeVh48HIFA#@_WC~6rsIUR znuU0X`Nj-LiM-_x#-@g{r-PBnjB#ixr9&40AYdWVLjZz+X94!n24O~eFM{vIYNZ|{ znk{+0q9mt_45`zApOePndHsGI@jw7RCe0sqGyS+F{mp)+ zKbVs4;SS9AIef2S&Wu@fP5NeCdbXZ`=}#-t?=tB><ednNr@CjEC=l3F6;fz7xb z=>32nJ`Q9#AoGNY^;<3J-FEVEz;9x@xUTvD03ZNKL_t(Ijtf(m5u7e#0I>c@DUlA( z*HVQ4BY43$HeUo5c%|SBcxNP(z8pv&;APR1-p53HkjbW)aRWDD>xopbPUHwy(VKzq z2U);1K}>*5#Cz~=gifMy#RO;`5l%eBy|{zQxs=0|Yg`2c9nTmgvA z?*YXF`0WoeBOJ)4Vtt^l65)^{_yYt-O_%E+I`|+xWT3qJ9U!+v8v@v~4lqvXZz{p??N*vaNk?I!$H+7gdloBHOQ)G9c)r5blv7!ShTCtC5I%=JZHf8n;ZP zdBN91_8BeK!;bkkY_8*Nl+2^M-GPzp3(GaFtRnG8f?+#2@j!dozSjd(hJgyF84xFY=SVxx z`Tmn`H#}Yzc(CIBa5#lr5b-c19K7Jg^=Z<(jQ-wybZXKUUwp2=`@6r_uYUC#{qdbY z=+;*^)$Ou}O~Fa?-h+;oBM}ciKP)Wh>8HP`?|=Uv>9yCsrDvc0hOS+^X2b(?dVJ=6 zUYe!uc(%>Wk(A{D5Jo)s-Xyjj5D6^J1Y7WLz83)tYytS#^6mr$(=y98wIo4kt-CV0{Uo+z2 zP=-T+Xt*LA&eoqID&C^=1MEh78cBeH`SdiY)yI`&7zND+(la0cNB|s7qQDP>^F)#3dOI5ENWTmc&EX6Cp4JIwlYglm{6OfF*z~q&)zhOxwGf z$Oj5#pm-}04_T>X9uq`&0%jR_;$@#^ob}x(6WwZnl@!t0wR(hzpdOL2GJxg2hW#5U zDJpLuW8&O$txOp0fT#5gekg2*iI;}Q9vqI#v>cCMz≻Q#3;1Qx((`_~ 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